var CQ={};
CQ.state={};
CQ.data={};
CQ.form={};
CQ.form.Action={};
CQ.utils={};
CQ.security={};
CQ.wcm={};
CQ.wcm.msm={};
CQ.endorsed={};
CQ.themes={};
CQ.themes.wcm={};
CQ.Class=function(){};
if(window.console===undefined){window.console={log:function(B){}}
}CQ.Timing=function(){return{stamps:null,cqPageRenderStart:null,lastTimes:{},init:function(){this.cqPageRenderStart=new Date();
this.lastTimes["default"]=new Date();
this.stamps="";
var C=window.onload;
if(typeof window.onload!="function"){window.onload=CQ.Timing.stampOnLoad
}else{window.onload=function(){if(C){C()
}CQ.Timing.stampOnLoad()
}
}var B=window.document.onkeydown;
if(typeof window.document.onkeydown!="function"){window.document.onkeydown=CQ.Timing.showDiv
}else{window.document.onkeydown=function(D){if(B){B(D)
}CQ.Timing.showDiv(D)
}
}},stamp:function(G,H,E){if(!H){H="default"
}var F=this.lastTimes[H];
var B=new Date();
var C;
if(E||F==undefined){C="&nbsp;---"
}else{C=B-F;
C=(C<1000?(C<100?(C<10?"&nbsp;&nbsp;&nbsp;":"&nbsp;&nbsp;"):"&nbsp;"):"")+C
}var D=C+" / "+(B-this.cqPageRenderStart)+" ms &ndash; "+G;
this.lastTimes[H]=B;
this.stamps+=(this.stamps)?","+D:D
},stampOnLoad:function(){CQ.Timing.stamp("Complete document loaded")
},writeDiv:function(){var B=window.document.createElement("div");
var C=B.style;
B.id="cqTiming";
C.margin="0 auto 0 auto";
C.borderBottom="1px solid #000000";
C.marginBottom="5px";
C.fontSize="small";
C.fontFamily="monospace";
C.backgroundColor="#000000";
C.color="#ffffff";
C.position="absolute";
C.top="0px";
C.left="0px";
B.innerHTML='<p style="margin: 2px 0 1px 0"> Page load staticstics:<br>'+this.stamps.replace(/,/g,"<br>")+'</p><p style="margin: 2px 0 1px 0; text-align: right"><a href="javascript:{CQ.Timing.hideDiv();}">Close</a></p>';
window.document.body.appendChild(B)
},hideDiv:function(){window.document.getElementById("cqTiming").style.display="none"
},showDiv:function(D){var C;
var B;
if(document.all){C=window.event.keyCode;
B=window.event
}else{C=(typeof (D.which)!="undefined")?D.which:0;
B=D
}if(B&&B.ctrlKey&&B.shiftKey&&C==85){CQ.Timing.writeDiv()
}}}
}();
CQ.Timing.init();
CQ.Ext={version:"2.2"};
window["undefined"]=window["undefined"];
CQ.Ext.apply=function(G,F,H){if(H){CQ.Ext.apply(G,H)
}if(G&&F&&typeof F=="object"){for(var E in F){G[E]=F[E]
}}return G
};
(function(){var idSeed=0;
var ua=navigator.userAgent.toLowerCase();
var isStrict=document.compatMode=="CSS1Compat",isOpera=ua.indexOf("opera")>-1,isSafari=(/webkit|khtml/).test(ua),isSafari3=isSafari&&ua.indexOf("webkit/5")!=-1,isIE=!isOpera&&ua.indexOf("msie")>-1,isIE7=!isOpera&&ua.indexOf("msie 7")>-1,isGecko=!isSafari&&ua.indexOf("gecko")>-1,isGecko3=!isSafari&&ua.indexOf("rv:1.9")>-1,isBorderBox=isIE&&!isStrict,isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isAir=(ua.indexOf("adobeair")!=-1),isLinux=(ua.indexOf("linux")!=-1),isSecure=window.location.href.toLowerCase().indexOf("https")===0;
if(isIE&&!isIE7){try{document.execCommand("BackgroundImageCache",false,true)
}catch(e){}}CQ.Ext.apply(CQ.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(!CQ.Ext.isReady){CQ.Ext.onReady(function(){CQ.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]=CQ.Ext.select(s)
}cache[s].on(parts[1],o[b])
}}cache=null
},id:function(el,prefix){prefix=prefix||"cq-gen";
el=CQ.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){CQ.Ext.override(sb,o)
};
sbp.override=io;
CQ.Ext.override(sb,overrides);
sb.extend=function(o){CQ.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]
}}},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(CQ.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(CQ.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 CQ.Ext.get(document)
},getBody:function(){return CQ.Ext.get(document.body||document.documentElement)
},getCmp:function(id){return CQ.Ext.ComponentMgr.get(id)
},num:function(v,defaultValue){if(typeof v!="number"){return defaultValue
}return v
},destroy:function(){for(var i=0,a=arguments,len=a.length;
i<len;
i++){var as=a[i];
if(as){if(typeof as.destroy=="function"){as.destroy()
}else{if(as.dom){as.removeAllListeners();
as.remove()
}}}}},removeNode:isIE?function(){var d;
return function(n){if(n&&n.tagName!="BODY"){d=d||document.createElement("div");
d.appendChild(n);
d.innerHTML=""
}}
}():function(n){if(n&&n.parentNode&&n.tagName!="BODY"){n.parentNode.removeChild(n)
}},type:function(o){if(o===undefined||o===null){return false
}if(o.htmlElement){return"element"
}var t=typeof o;
if(t=="object"&&o.nodeName){switch(o.nodeType){case 1:return"element";
case 3:return(/\S/).test(o.nodeValue)?"textnode":"whitespace"
}}if(t=="object"||t=="function"){switch(o.constructor){case Array:return"array";
case RegExp:return"regexp"
}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 CQ.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,isSafari:isSafari,isSafari3:isSafari3,isSafari2:isSafari&&!isSafari3,isIE:isIE,isIE6:isIE&&!isIE7,isIE7:isIE7,isGecko:isGecko,isGecko2:isGecko&&!isGecko3,isGecko3:isGecko3,isBorderBox:isBorderBox,isLinux:isLinux,isWindows:isWindows,isMac:isMac,isAir:isAir,useShims:((isIE&&!isIE7)||(isMac&&isGecko&&!isGecko3))});
CQ.Ext.ns=CQ.Ext.namespace
})();
CQ.Ext.ns("CQ","CQ.Ext","CQ.Ext.util","CQ.Ext.grid","CQ.Ext.dd","CQ.Ext.tree","CQ.Ext.data","CQ.Ext.form","CQ.Ext.menu","CQ.Ext.state","CQ.Ext.lib","CQ.Ext.layout","CQ.Ext.app","CQ.Ext.ux");
CQ.Ext.apply(Function.prototype,{createCallback:function(){var C=arguments;
var D=this;
return function(){return D.apply(window,C)
}
},createDelegate:function(G,H,E){var F=this;
return function(){var B=H||arguments;
if(E===true){B=Array.prototype.slice.call(arguments,0);
B=B.concat(H)
}else{if(typeof E=="number"){B=Array.prototype.slice.call(arguments,0);
var C=[E,0].concat(H);
Array.prototype.splice.apply(B,C)
}}return F.apply(G||window,B)
}
},defer:function(I,G,J,F){var H=this.createDelegate(G,J,F);
if(I){return setTimeout(H,I)
}H();
return 0
},createSequence:function(F,D){if(typeof F!="function"){return this
}var E=this;
return function(){var B=E.apply(this||window,arguments);
F.apply(D||this||window,arguments);
return B
}
},createInterceptor:function(F,D){if(typeof F!="function"){return this
}var E=this;
return function(){F.target=this;
F.method=E;
if(F.apply(D||this||window,arguments)===false){return 
}return E.apply(this||window,arguments)
}
}});
CQ.Ext.applyIf(String,{escape:function(B){return B.replace(/('|\\)/g,"\\$1")
},leftPad:function(F,H,G){var E=new String(F);
if(!G){G=" "
}while(E.length<H){E=G+E
}return E.toString()
},format:function(D){var C=Array.prototype.slice.call(arguments,1);
return D.replace(/\{(\d+)\}/g,function(E,B){return C[B]
})
}});
String.prototype.toggle=function(D,C){return this==D?C:D
};
String.prototype.trim=function(){var B=/^\s+|\s+$/g;
return function(){return this.replace(B,"")
}
}();
CQ.Ext.applyIf(Number.prototype,{constrain:function(D,C){return Math.min(Math.max(this,D),C)
}});
CQ.Ext.applyIf(Array.prototype,{indexOf:function(E){for(var F=0,D=this.length;
F<D;
F++){if(this[F]==E){return F
}}return -1
},remove:function(D){var C=this.indexOf(D);
if(C!=-1){this.splice(C,1)
}return this
}});
Date.prototype.getElapsed=function(B){return Math.abs((B||new Date()).getTime()-this.getTime())
};
(function(){var H;
CQ.Ext.lib.Dom={getViewWidth:function(B){return B?this.getDocumentWidth():this.getViewportWidth()
},getViewHeight:function(B){return B?this.getDocumentHeight():this.getViewportHeight()
},getDocumentHeight:function(){var B=(document.compatMode!="CSS1Compat")?document.body.scrollHeight:document.documentElement.scrollHeight;
return Math.max(B,this.getViewportHeight())
},getDocumentWidth:function(){var B=(document.compatMode!="CSS1Compat")?document.body.scrollWidth:document.documentElement.scrollWidth;
return Math.max(B,this.getViewportWidth())
},getViewportHeight:function(){if(CQ.Ext.isIE){return CQ.Ext.isStrict?document.documentElement.clientHeight:document.body.clientHeight
}else{return self.innerHeight
}},getViewportWidth:function(){if(CQ.Ext.isIE){return CQ.Ext.isStrict?document.documentElement.clientWidth:document.body.clientWidth
}else{return self.innerWidth
}},isAncestor:function(C,B){C=CQ.Ext.getDom(C);
B=CQ.Ext.getDom(B);
if(!C||!B){return false
}if(C.contains&&!CQ.Ext.isSafari){return C.contains(B)
}else{if(C.compareDocumentPosition){return !!(C.compareDocumentPosition(B)&16)
}else{var D=B.parentNode;
while(D){if(D==C){return true
}else{if(!D.tagName||D.tagName.toUpperCase()=="HTML"){return false
}}D=D.parentNode
}return false
}}},getRegion:function(B){return CQ.Ext.lib.Region.getRegion(B)
},getY:function(B){return this.getXY(B)[1]
},getX:function(B){return this.getXY(B)[0]
},getXY:function(W){var X,S,Q,D,T=(document.body||document.documentElement);
W=CQ.Ext.getDom(W);
if(W==T){return[0,0]
}if(W.getBoundingClientRect){Q=W.getBoundingClientRect();
D=G(document).getScroll();
return[Q.left+D.left,Q.top+D.top]
}var C=0,R=0;
X=W;
var Y=G(W).getStyle("position")=="absolute";
while(X){C+=X.offsetLeft;
R+=X.offsetTop;
if(!Y&&G(X).getStyle("position")=="absolute"){Y=true
}if(CQ.Ext.isGecko){S=G(X);
var B=parseInt(S.getStyle("borderTopWidth"),10)||0;
var V=parseInt(S.getStyle("borderLeftWidth"),10)||0;
C+=V;
R+=B;
if(X!=W&&S.getStyle("overflow")!="visible"){C+=V;
R+=B
}}X=X.offsetParent
}if(CQ.Ext.isSafari&&Y){C-=T.offsetLeft;
R-=T.offsetTop
}if(CQ.Ext.isGecko&&!Y){var U=G(T);
C+=parseInt(U.getStyle("borderLeftWidth"),10)||0;
R+=parseInt(U.getStyle("borderTopWidth"),10)||0
}X=W.parentNode;
while(X&&X!=T){if(!CQ.Ext.isOpera||(X.tagName!="TR"&&G(X).getStyle("display")!="inline")){C-=X.scrollLeft;
R-=X.scrollTop
}X=X.parentNode
}return[C,R]
},setXY:function(D,C){D=CQ.Ext.fly(D,"_setXY");
D.position();
var B=D.translatePoints(C);
if(C[0]!==false){D.dom.style.left=B.left+"px"
}if(C[1]!==false){D.dom.style.top=B.top+"px"
}},setX:function(B,C){this.setXY(B,[C,false])
},setY:function(C,B){this.setXY(C,[false,B])
}};
CQ.Ext.lib.Event=function(){var N=false;
var M=[];
var B=[];
var D=0;
var L=[];
var O=0;
var C=null;
return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,_interval:null,startInterval:function(){if(!this._interval){var I=this;
var J=function(){I._tryPreloadAttach()
};
this._interval=setInterval(J,this.POLL_INTERVAL)
}},onAvailable:function(K,I,J,P){L.push({id:K,fn:I,obj:J,override:P,checkReady:false});
D=this.POLL_RETRYS;
this.startInterval()
},addListener:function(J,T,K){J=CQ.Ext.getDom(J);
if(!J||!K){return false
}if("unload"==T){B[B.length]=[J,T,K];
return true
}var R=function(P){return typeof CQ.Ext!="undefined"?K(CQ.Ext.lib.Event.getEvent(P)):false
};
var I=[J,T,K,R];
var S=M.length;
M[S]=I;
this.doAdd(J,T,R,false);
return true
},removeListener:function(J,V,K){var T,W;
J=CQ.Ext.getDom(J);
if(!K){return this.purgeElement(J,false,V)
}if("unload"==V){for(T=0,W=B.length;
T<W;
T++){var X=B[T];
if(X&&X[0]==J&&X[1]==V&&X[2]==K){B.splice(T,1);
return true
}}return false
}var I=null;
var U=arguments[3];
if("undefined"==typeof U){U=this._getCacheIndex(J,V,K)
}if(U>=0){I=M[U]
}if(!J||!I){return false
}this.doRemove(J,V,I[this.WFN],false);
delete M[U][this.WFN];
delete M[U][this.FN];
M.splice(U,1);
return true
},getTarget:function(J,K){J=J.browserEvent||J;
var I=J.target||J.srcElement;
return this.resolveTextNode(I)
},resolveTextNode:function(I){if(CQ.Ext.isSafari&&I&&3==I.nodeType){return I.parentNode
}else{return I
}},getPageX:function(J){J=J.browserEvent||J;
var I=J.pageX;
if(!I&&0!==I){I=J.clientX||0;
if(CQ.Ext.isIE){I+=this.getScroll()[1]
}}return I
},getPageY:function(I){I=I.browserEvent||I;
var J=I.pageY;
if(!J&&0!==J){J=I.clientY||0;
if(CQ.Ext.isIE){J+=this.getScroll()[0]
}}return J
},getXY:function(I){I=I.browserEvent||I;
return[this.getPageX(I),this.getPageY(I)]
},getRelatedTarget:function(J){J=J.browserEvent||J;
var I=J.relatedTarget;
if(!I){if(J.type=="mouseout"){I=J.toElement
}else{if(J.type=="mouseover"){I=J.fromElement
}}}return this.resolveTextNode(I)
},getTime:function(J){J=J.browserEvent||J;
if(!J.time){var K=new Date().getTime();
try{J.time=K
}catch(I){this.lastError=I;
return K
}}return J.time
},stopEvent:function(I){this.stopPropagation(I);
this.preventDefault(I)
},stopPropagation:function(I){I=I.browserEvent||I;
if(I.stopPropagation){I.stopPropagation()
}else{I.cancelBubble=true
}},preventDefault:function(I){I=I.browserEvent||I;
if(I.preventDefault){I.preventDefault()
}else{I.returnValue=false
}},getEvent:function(K){var I=K||window.event;
if(!I){var J=this.getEvent.caller;
while(J){I=J.arguments[0];
if(I&&Event==I.constructor){break
}J=J.caller
}}return I
},getCharCode:function(I){I=I.browserEvent||I;
return I.charCode||I.keyCode||0
},_getCacheIndex:function(J,S,K){for(var R=0,T=M.length;
R<T;
++R){var I=M[R];
if(I&&I[this.FN]==K&&I[this.EL]==J&&I[this.TYPE]==S){return R
}}return -1
},elCache:{},getEl:function(I){return document.getElementById(I)
},clearCache:function(){},_load:function(J){N=true;
var I=CQ.Ext.lib.Event;
if(CQ.Ext.isIE){I.doRemove(window,"load",I._load)
}},_tryPreloadAttach:function(){if(this.locked){return false
}this.locked=true;
var J=!N;
if(!J){J=(D>0)
}var K=[];
for(var V=0,I=L.length;
V<I;
++V){var S=L[V];
if(S){var T=this.getEl(S.id);
if(T){if(!S.checkReady||N||T.nextSibling||(document&&document.body)){var U=T;
if(S.override){if(S.override===true){U=S.obj
}else{U=S.override
}}S.fn.call(U,S.obj);
L[V]=null
}}else{K.push(S)
}}}D=(K.length===0)?0:D-1;
if(J){this.startInterval()
}else{clearInterval(this._interval);
this._interval=null
}this.locked=false;
return true
},purgeElement:function(S,K,U){var J=this.getListeners(S,U);
if(J){for(var T=0,I=J.length;
T<I;
++T){var V=J[T];
this.removeListener(S,V.type,V.fn)
}}if(K&&S&&S.childNodes){for(T=0,I=S.childNodes.length;
T<I;
++T){this.purgeElement(S.childNodes[T],K,U)
}}},getListeners:function(Y,K){var V=[],Z;
if(!K){Z=[M,B]
}else{if(K=="unload"){Z=[B]
}else{Z=[M]
}}for(var W=0;
W<Z.length;
++W){var I=Z[W];
if(I&&I.length>0){for(var U=0,J=I.length;
U<J;
++U){var X=I[U];
if(X&&X[this.EL]===Y&&(!K||K===X[this.TYPE])){V.push({type:X[this.TYPE],fn:X[this.FN],obj:X[this.OBJ],adjust:X[this.ADJ_SCOPE],index:U})
}}}}return(V.length)?V:null
},_unload:function(J){var K=CQ.Ext.lib.Event,U,V,X,I,W;
for(U=0,I=B.length;
U<I;
++U){X=B[U];
if(X){var T=window;
if(X[K.ADJ_SCOPE]){if(X[K.ADJ_SCOPE]===true){T=X[K.OBJ]
}else{T=X[K.ADJ_SCOPE]
}}X[K.FN].call(T,K.getEvent(J),X[K.OBJ]);
B[U]=null;
X=null;
T=null
}}B=null;
if(M&&M.length>0){V=M.length;
while(V){W=V-1;
X=M[W];
if(X){K.removeListener(X[K.EL],X[K.TYPE],X[K.FN],W)
}V=V-1
}X=null;
K.clearCache()
}K.doRemove(window,"unload",K._unload)
},getScroll:function(){var I=document.documentElement,J=document.body;
if(I&&(I.scrollTop||I.scrollLeft)){return[I.scrollTop,I.scrollLeft]
}else{if(J){return[J.scrollTop,J.scrollLeft]
}else{return[0,0]
}}},doAdd:function(){if(window.addEventListener){return function(J,P,K,I){J.addEventListener(P,K,(I))
}
}else{if(window.attachEvent){return function(J,P,K,I){J.attachEvent("on"+P,K)
}
}else{return function(){}
}}}(),doRemove:function(){if(window.removeEventListener){return function(J,P,K,I){J.removeEventListener(P,K,(I))
}
}else{if(window.detachEvent){return function(J,I,K){J.detachEvent("on"+I,K)
}
}else{return function(){}
}}}()}
}();
var F=CQ.Ext.lib.Event;
F.on=F.addListener;
F.un=F.removeListener;
if(document&&document.body){F._load()
}else{F.doAdd(window,"load",F._load)
}F.doAdd(window,"unload",F._unload);
F._tryPreloadAttach();
CQ.Ext.lib.Ajax={request:function(B,D,O,C,N){if(N){var M=N.headers;
if(M){for(var L in M){if(M.hasOwnProperty(L)){this.initHeader(L,M[L],false)
}}}if(N.xmlData){if(!M||!M["Content-Type"]){this.initHeader("Content-Type","text/xml",false)
}B=(B?B:(N.method?N.method:"POST"));
C=N.xmlData
}else{if(N.jsonData){if(!M||!M["Content-Type"]){this.initHeader("Content-Type","application/json",false)
}B=(B?B:(N.method?N.method:"POST"));
C=typeof N.jsonData=="object"?CQ.Ext.encode(N.jsonData):N.jsonData
}}}return this.asyncRequest(B,D,O,C)
},serializeForm:function(R){if(typeof R=="string"){R=(document.getElementById(R)||document.forms[R])
}var Q,S,P,N,D="",B=false;
for(var C=0;
C<R.elements.length;
C++){Q=R.elements[C];
N=R.elements[C].disabled;
S=R.elements[C].name;
P=R.elements[C].value;
if(!N&&S){switch(Q.type){case"select-one":case"select-multiple":for(var O=0;
O<Q.options.length;
O++){if(Q.options[O].selected){if(CQ.Ext.isIE){D+=encodeURIComponent(S)+"="+encodeURIComponent(Q.options[O].attributes.value.specified?Q.options[O].value:Q.options[O].text)+"&"
}else{D+=encodeURIComponent(S)+"="+encodeURIComponent(Q.options[O].hasAttribute("value")?Q.options[O].value:Q.options[O].text)+"&"
}}}break;
case"radio":case"checkbox":if(Q.checked){D+=encodeURIComponent(S)+"="+encodeURIComponent(P)+"&"
}break;
case"file":case undefined:case"reset":case"button":break;
case"submit":if(B==false){D+=encodeURIComponent(S)+"="+encodeURIComponent(P)+"&";
B=true
}break;
default:D+=encodeURIComponent(S)+"="+encodeURIComponent(P)+"&";
break
}}}D=D.substr(0,D.length-1);
return D
},headers:{},hasHeaders:false,useDefaultHeader:true,defaultPostHeader:"application/x-www-form-urlencoded; charset=UTF-8",useDefaultXhrHeader:true,defaultXhrHeader:"XMLHttpRequest",hasDefaultHeaders:true,defaultHeaders:{},poll:{},timeout:{},pollInterval:50,transactionId:0,setProgId:function(B){this.activeX.unshift(B)
},setDefaultPostHeader:function(B){this.useDefaultHeader=B
},setDefaultXhrHeader:function(B){this.useDefaultXhrHeader=B
},setPollingInterval:function(B){if(typeof B=="number"&&isFinite(B)){this.pollInterval=B
}},createXhrObject:function(B){var C,K;
try{K=new XMLHttpRequest();
C={conn:K,tId:B}
}catch(D){for(var J=0;
J<this.activeX.length;
++J){try{K=new ActiveXObject(this.activeX[J]);
C={conn:K,tId:B};
break
}catch(D){}}}finally{return C
}},getConnectionObject:function(){var C;
var B=this.transactionId;
try{C=this.createXhrObject(B);
if(C){this.transactionId++
}}catch(D){}finally{return C
}},asyncRequest:function(B,J,C,K){var D=this.getConnectionObject();
if(!D){return null
}else{D.conn.open(B,J,true);
if(this.useDefaultXhrHeader){if(!this.defaultHeaders["X-Requested-With"]){this.initHeader("X-Requested-With",this.defaultXhrHeader,true)
}}if(K&&this.useDefaultHeader&&(!this.hasHeaders||!this.headers["Content-Type"])){this.initHeader("Content-Type",this.defaultPostHeader)
}if(this.hasDefaultHeaders||this.hasHeaders){this.setHeader(D)
}this.handleReadyState(D,C);
D.conn.send(K||null);
return D
}},handleReadyState:function(C,B){var D=this;
if(B&&B.timeout){this.timeout[C.tId]=window.setTimeout(function(){D.abort(C,B,true)
},B.timeout)
}this.poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState==4){window.clearInterval(D.poll[C.tId]);
delete D.poll[C.tId];
if(B&&B.timeout){window.clearTimeout(D.timeout[C.tId]);
delete D.timeout[C.tId]
}D.handleTransactionResponse(C,B)
}},this.pollInterval)
},handleTransactionResponse:function(C,B,M){if(!B){this.releaseObject(C);
return 
}var K,L;
try{if(C.conn.status!==undefined&&C.conn.status!=0){K=C.conn.status
}else{K=13030
}}catch(D){K=13030
}if(K>=200&&K<300){L=this.createResponseObject(C,B.argument);
if(B.success){if(!B.scope){B.success(L)
}else{B.success.apply(B.scope,[L])
}}}else{switch(K){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:L=this.createExceptionObject(C.tId,B.argument,(M?M:false));
if(B.failure){if(!B.scope){B.failure(L)
}else{B.failure.apply(B.scope,[L])
}}break;
default:L=this.createResponseObject(C,B.argument);
if(B.failure){if(!B.scope){B.failure(L)
}else{B.failure.apply(B.scope,[L])
}}}}this.releaseObject(C);
L=null
},createResponseObject:function(S,D){var P={};
var B={};
try{var Q=S.conn.getAllResponseHeaders();
var N=Q.split("\n");
for(var O=0;
O<N.length;
O++){var R=N[O].indexOf(":");
if(R!=-1){B[N[O].substring(0,R)]=N[O].substring(R+2)
}}}catch(C){}P.tId=S.tId;
P.status=S.conn.status;
P.statusText=S.conn.statusText;
P.getResponseHeader=B;
P.getAllResponseHeaders=Q;
P.responseText=S.conn.responseText;
P.responseXML=S.conn.responseXML;
if(typeof D!==undefined){P.argument=D
}return P
},createExceptionObject:function(B,N,Q){var D=0;
var C="communication failure";
var O=-1;
var P="transaction aborted";
var M={};
M.tId=B;
if(Q){M.status=O;
M.statusText=P
}else{M.status=D;
M.statusText=C
}if(N){M.argument=N
}return M
},initHeader:function(I,B,C){var D=(C)?this.defaultHeaders:this.headers;
if(D[I]===undefined){D[I]=B
}else{D[I]=B+","+D[I]
}if(C){this.hasDefaultHeaders=true
}else{this.hasHeaders=true
}},setHeader:function(C){if(this.hasDefaultHeaders){for(var B in this.defaultHeaders){if(this.defaultHeaders.hasOwnProperty(B)){C.conn.setRequestHeader(B,this.defaultHeaders[B])
}}}if(this.hasHeaders){for(var B in this.headers){if(this.headers.hasOwnProperty(B)){C.conn.setRequestHeader(B,this.headers[B])
}}this.headers={};
this.hasHeaders=false
}},resetDefaultHeaders:function(){delete this.defaultHeaders;
this.defaultHeaders={};
this.hasDefaultHeaders=false
},abort:function(C,B,D){if(this.isCallInProgress(C)){C.conn.abort();
window.clearInterval(this.poll[C.tId]);
delete this.poll[C.tId];
if(D){delete this.timeout[C.tId]
}this.handleTransactionResponse(C,B,true);
return true
}else{return false
}},isCallInProgress:function(B){if(B.conn){return B.conn.readyState!=4&&B.conn.readyState!=0
}else{return false
}},releaseObject:function(B){B.conn=null;
B=null
},activeX:["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"]};
CQ.Ext.lib.Region=function(C,B,I,D){this.top=C;
this[1]=C;
this.right=B;
this.bottom=I;
this.left=D;
this[0]=D
};
CQ.Ext.lib.Region.prototype={contains:function(B){return(B.left>=this.left&&B.right<=this.right&&B.top>=this.top&&B.bottom<=this.bottom)
},getArea:function(){return((this.bottom-this.top)*(this.right-this.left))
},intersect:function(B){var D=Math.max(this.top,B.top);
var C=Math.min(this.right,B.right);
var K=Math.min(this.bottom,B.bottom);
var J=Math.max(this.left,B.left);
if(K>=D&&C>=J){return new CQ.Ext.lib.Region(D,C,K,J)
}else{return null
}},union:function(B){var D=Math.min(this.top,B.top);
var C=Math.max(this.right,B.right);
var K=Math.max(this.bottom,B.bottom);
var J=Math.min(this.left,B.left);
return new CQ.Ext.lib.Region(D,C,K,J)
},constrainTo:function(B){this.top=this.top.constrain(B.top,B.bottom);
this.bottom=this.bottom.constrain(B.top,B.bottom);
this.left=this.left.constrain(B.left,B.right);
this.right=this.right.constrain(B.left,B.right);
return this
},adjust:function(C,D,I,B){this.top+=C;
this.left+=D;
this.right+=B;
this.bottom+=I;
return this
}};
CQ.Ext.lib.Region.getRegion=function(D){var B=CQ.Ext.lib.Dom.getXY(D);
var K=B[1];
var C=B[0]+D.offsetWidth;
var M=B[1]+D.offsetHeight;
var L=B[0];
return new CQ.Ext.lib.Region(K,C,M,L)
};
CQ.Ext.lib.Point=function(C,B){if(CQ.Ext.isArray(C)){B=C[1];
C=C[0]
}this.x=this.right=this.left=this[0]=C;
this.y=this.top=this.bottom=this[1]=B
};
CQ.Ext.lib.Point.prototype=new CQ.Ext.lib.Region();
CQ.Ext.lib.Anim={scroll:function(D,L,C,B,M,K){return this.run(D,L,C,B,M,K,CQ.Ext.lib.Scroll)
},motion:function(D,L,C,B,M,K){return this.run(D,L,C,B,M,K,CQ.Ext.lib.Motion)
},color:function(D,L,C,B,M,K){return this.run(D,L,C,B,M,K,CQ.Ext.lib.ColorAnim)
},run:function(M,P,C,B,Q,N,O){O=O||CQ.Ext.lib.AnimBase;
if(typeof B=="string"){B=CQ.Ext.lib.Easing[B]
}var D=new O(M,P,C,B);
D.animateX(function(){CQ.Ext.callback(Q,N)
});
return D
}};
function G(B){if(!H){H=new CQ.Ext.Element.Flyweight()
}H.dom=B;
return H
}if(CQ.Ext.isIE){function E(){var B=Function.prototype;
delete B.createSequence;
delete B.defer;
delete B.createDelegate;
delete B.createCallback;
delete B.createInterceptor;
window.detachEvent("onunload",E)
}window.attachEvent("onunload",E)
}CQ.Ext.lib.AnimBase=function(D,I,C,B){if(D){this.init(D,I,C,B)
}};
CQ.Ext.lib.AnimBase.prototype={toString:function(){var C=this.getEl();
var B=C.id||C.tagName;
return("Anim "+B)
},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(D,B,C){return this.method(this.currentFrame,B,C-B,this.totalFrames)
},setAttribute:function(D,B,C){if(this.patterns.noNegatives.test(D)){B=(B>0)?B:0
}CQ.Ext.fly(this.getEl(),"_anim").setStyle(D,B+C)
},getAttribute:function(M){var K=this.getEl();
var C=G(K).getStyle(M);
if(C!=="auto"&&!this.patterns.offsetUnit.test(C)){return parseFloat(C)
}var L=this.patterns.offsetAttribute.exec(M)||[];
var B=!!(L[3]);
var D=!!(L[2]);
if(D||(G(K).getStyle("position")=="absolute"&&B)){C=K["offset"+L[0].charAt(0).toUpperCase()+L[0].substr(1)]
}else{C=0
}return C
},getDefaultUnit:function(B){if(this.patterns.defaultUnit.test(B)){return"px"
}return""
},animateX:function(B,D){var C=function(){this.onComplete.removeListener(C);
if(typeof B=="function"){B.call(D||this,this)
}};
this.onComplete.addListener(C,this);
this.animate()
},setRuntimeAttribute:function(N){var B;
var M;
var L=this.attributes;
this.runtimeAttributes[N]={};
var C=function(I){return(typeof I!=="undefined")
};
if(!C(L[N]["to"])&&!C(L[N]["by"])){return false
}B=(C(L[N]["from"]))?L[N]["from"]:this.getAttribute(N);
if(C(L[N]["to"])){M=L[N]["to"]
}else{if(C(L[N]["by"])){if(B.constructor==Array){M=[];
for(var D=0,O=B.length;
D<O;
++D){M[D]=B[D]+L[N]["by"][D]
}}else{M=B+L[N]["by"]
}}}this.runtimeAttributes[N].start=B;
this.runtimeAttributes[N].end=M;
this.runtimeAttributes[N].unit=(C(L[N].unit))?L[N]["unit"]:this.getDefaultUnit(N)
},init:function(S,D,O,U){var T=false;
var R=null;
var P=0;
S=CQ.Ext.getDom(S);
this.attributes=D||{};
this.duration=O||1;
this.method=U||CQ.Ext.lib.Easing.easeNone;
this.useSeconds=true;
this.currentFrame=0;
this.totalFrames=CQ.Ext.lib.AnimMgr.fps;
this.getEl=function(){return S
};
this.isAnimated=function(){return T
};
this.getStartTime=function(){return R
};
this.runtimeAttributes={};
this.animate=function(){if(this.isAnimated()){return false
}this.currentFrame=0;
this.totalFrames=(this.useSeconds)?Math.ceil(CQ.Ext.lib.AnimMgr.fps*this.duration):this.duration;
CQ.Ext.lib.AnimMgr.registerElement(this)
};
this.stop=function(I){if(I){this.currentFrame=this.totalFrames;
this._onTween.fire()
}CQ.Ext.lib.AnimMgr.stop(this)
};
var B=function(){this.onStart.fire();
this.runtimeAttributes={};
for(var I in this.attributes){this.setRuntimeAttribute(I)
}T=true;
P=0;
R=new Date()
};
var C=function(){var I={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};
I.toString=function(){return("duration: "+I.duration+", currentFrame: "+I.currentFrame)
};
this.onTween.fire(I);
var J=this.runtimeAttributes;
for(var K in J){this.setAttribute(K,this.doMethod(K,J[K].start,J[K].end),J[K].unit)
}P+=1
};
var Q=function(){var J=(new Date()-R)/1000;
var I={duration:J,frames:P,fps:P/J};
I.toString=function(){return("duration: "+I.duration+", frames: "+I.frames+", fps: "+I.fps)
};
T=false;
P=0;
this.onComplete.fire(I)
};
this._onStart=new CQ.Ext.util.Event(this);
this.onStart=new CQ.Ext.util.Event(this);
this.onTween=new CQ.Ext.util.Event(this);
this._onTween=new CQ.Ext.util.Event(this);
this.onComplete=new CQ.Ext.util.Event(this);
this._onComplete=new CQ.Ext.util.Event(this);
this._onStart.addListener(B);
this._onTween.addListener(C);
this._onComplete.addListener(Q)
}};
CQ.Ext.lib.AnimMgr=new function(){var D=null;
var J=[];
var K=0;
this.fps=1000;
this.delay=1;
this.registerElement=function(I){J[J.length]=I;
K+=1;
I._onStart.fire();
this.start()
};
this.unRegister=function(I,L){I._onComplete.fire();
L=L||B(I);
if(L!=-1){J.splice(L,1)
}K-=1;
if(K<=0){this.stop()
}};
this.start=function(){if(D===null){D=setInterval(this.run,this.delay)
}};
this.stop=function(I){if(!I){clearInterval(D);
for(var M=0,N=J.length;
M<N;
++M){if(J[0].isAnimated()){this.unRegister(J[0],0)
}}J=[];
D=null;
K=0
}else{this.unRegister(I)
}};
this.run=function(){for(var I=0,N=J.length;
I<N;
++I){var M=J[I];
if(!M||!M.isAnimated()){continue
}if(M.currentFrame<M.totalFrames||M.totalFrames===null){M.currentFrame+=1;
if(M.useSeconds){C(M)
}M._onTween.fire()
}else{CQ.Ext.lib.AnimMgr.stop(M,I)
}}};
var B=function(I){for(var M=0,N=J.length;
M<N;
++M){if(J[M]==I){return M
}}return -1
};
var C=function(P){var S=P.totalFrames;
var T=P.currentFrame;
var I=(P.currentFrame*P.duration*1000/P.totalFrames);
var Q=(new Date()-P.getStartTime());
var R=0;
if(Q<P.duration*1000){R=Math.round((Q/I-1)*P.currentFrame)
}else{R=S-(T+1)
}if(R>0&&isFinite(R)){if(P.currentFrame+R>=S){R=S-(T+1)
}P.currentFrame+=R
}}
};
CQ.Ext.lib.Bezier=new function(){this.getPosition=function(C,D){var B=C.length;
var K=[];
for(var L=0;
L<B;
++L){K[L]=[C[L][0],C[L][1]]
}for(var M=1;
M<B;
++M){for(L=0;
L<B-M;
++L){K[L][0]=(1-D)*K[L][0]+D*K[parseInt(L+1,10)][0];
K[L][1]=(1-D)*K[L][1]+D*K[parseInt(L+1,10)][1]
}}return[K[0][0],K[0][1]]
}
};
(function(){CQ.Ext.lib.ColorAnim=function(N,O,M,L){CQ.Ext.lib.ColorAnim.superclass.constructor.call(this,N,O,M,L)
};
CQ.Ext.extend(CQ.Ext.lib.ColorAnim,CQ.Ext.lib.AnimBase);
var C=CQ.Ext.lib;
var B=C.ColorAnim.superclass;
var D=C.ColorAnim.prototype;
D.toString=function(){var K=this.getEl();
var J=K.id||K.tagName;
return("ColorAnim "+J)
};
D.patterns.color=/color$/i;
D.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
D.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
D.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;
D.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;
D.parseColor=function(K){if(K.length==3){return K
}var J=this.patterns.hex.exec(K);
if(J&&J.length==4){return[parseInt(J[1],16),parseInt(J[2],16),parseInt(J[3],16)]
}J=this.patterns.rgb.exec(K);
if(J&&J.length==4){return[parseInt(J[1],10),parseInt(J[2],10),parseInt(J[3],10)]
}J=this.patterns.hex3.exec(K);
if(J&&J.length==4){return[parseInt(J[1]+J[1],16),parseInt(J[2]+J[2],16),parseInt(J[3]+J[3],16)]
}return null
};
D.getAttribute=function(O){var M=this.getEl();
if(this.patterns.color.test(O)){var L=G(M).getStyle(O);
if(this.patterns.transparent.test(L)){var N=M.parentNode;
L=G(N).getStyle(O);
while(N&&this.patterns.transparent.test(L)){N=N.parentNode;
L=G(N).getStyle(O);
if(N.tagName.toUpperCase()=="HTML"){L="#fff"
}}}}else{L=B.getAttribute.call(this,O)
}return L
};
D.doMethod=function(Q,S,P){var N;
if(this.patterns.color.test(Q)){N=[];
for(var O=0,R=S.length;
O<R;
++O){N[O]=B.doMethod.call(this,Q,S[O],P[O])
}N="rgb("+Math.floor(N[0])+","+Math.floor(N[1])+","+Math.floor(N[2])+")"
}else{N=B.doMethod.call(this,Q,S,P)
}return N
};
D.setRuntimeAttribute=function(Q){B.setRuntimeAttribute.call(this,Q);
if(this.patterns.color.test(Q)){var O=this.attributes;
var S=this.parseColor(this.runtimeAttributes[Q].start);
var P=this.parseColor(this.runtimeAttributes[Q].end);
if(typeof O[Q]["to"]==="undefined"&&typeof O[Q]["by"]!=="undefined"){P=this.parseColor(O[Q].by);
for(var N=0,R=S.length;
N<R;
++N){P[N]=S[N]+P[N]
}}this.runtimeAttributes[Q].start=S;
this.runtimeAttributes[Q].end=P
}}
})();
CQ.Ext.lib.Easing={easeNone:function(D,I,B,C){return B*D/C+I
},easeIn:function(D,I,B,C){return B*(D/=C)*D+I
},easeOut:function(D,I,B,C){return -B*(D/=C)*(D-2)+I
},easeBoth:function(D,I,B,C){if((D/=C/2)<1){return B/2*D*D+I
}return -B/2*((--D)*(D-2)-1)+I
},easeInStrong:function(D,I,B,C){return B*(D/=C)*D*D*D+I
},easeOutStrong:function(D,I,B,C){return -B*((D=D/C-1)*D*D*D-1)+I
},easeBothStrong:function(D,I,B,C){if((D/=C/2)<1){return B/2*D*D*D*D+I
}return -B/2*((D-=2)*D*D*D-2)+I
},elasticIn:function(M,O,B,C,N,D){if(M==0){return O
}if((M/=C)==1){return O+B
}if(!D){D=C*0.3
}if(!N||N<Math.abs(B)){N=B;
var L=D/4
}else{var L=D/(2*Math.PI)*Math.asin(B/N)
}return -(N*Math.pow(2,10*(M-=1))*Math.sin((M*C-L)*(2*Math.PI)/D))+O
},elasticOut:function(M,O,B,C,N,D){if(M==0){return O
}if((M/=C)==1){return O+B
}if(!D){D=C*0.3
}if(!N||N<Math.abs(B)){N=B;
var L=D/4
}else{var L=D/(2*Math.PI)*Math.asin(B/N)
}return N*Math.pow(2,-10*M)*Math.sin((M*C-L)*(2*Math.PI)/D)+B+O
},elasticBoth:function(M,O,B,C,N,D){if(M==0){return O
}if((M/=C/2)==2){return O+B
}if(!D){D=C*(0.3*1.5)
}if(!N||N<Math.abs(B)){N=B;
var L=D/4
}else{var L=D/(2*Math.PI)*Math.asin(B/N)
}if(M<1){return -0.5*(N*Math.pow(2,10*(M-=1))*Math.sin((M*C-L)*(2*Math.PI)/D))+O
}return N*Math.pow(2,-10*(M-=1))*Math.sin((M*C-L)*(2*Math.PI)/D)*0.5+B+O
},backIn:function(J,K,B,C,D){if(typeof D=="undefined"){D=1.70158
}return B*(J/=C)*J*((D+1)*J-D)+K
},backOut:function(J,K,B,C,D){if(typeof D=="undefined"){D=1.70158
}return B*((J=J/C-1)*J*((D+1)*J+D)+1)+K
},backBoth:function(J,K,B,C,D){if(typeof D=="undefined"){D=1.70158
}if((J/=C/2)<1){return B/2*(J*J*(((D*=(1.525))+1)*J-D))+K
}return B/2*((J-=2)*J*(((D*=(1.525))+1)*J+D)+2)+K
},bounceIn:function(D,I,B,C){return B-CQ.Ext.lib.Easing.bounceOut(C-D,0,B,C)+I
},bounceOut:function(D,I,B,C){if((D/=C)<(1/2.75)){return B*(7.5625*D*D)+I
}else{if(D<(2/2.75)){return B*(7.5625*(D-=(1.5/2.75))*D+0.75)+I
}else{if(D<(2.5/2.75)){return B*(7.5625*(D-=(2.25/2.75))*D+0.9375)+I
}}}return B*(7.5625*(D-=(2.625/2.75))*D+0.984375)+I
},bounceBoth:function(D,I,B,C){if(D<C/2){return CQ.Ext.lib.Easing.bounceIn(D*2,0,B,C)*0.5+I
}return CQ.Ext.lib.Easing.bounceOut(D*2-C,0,B,C)*0.5+B*0.5+I
}};
(function(){CQ.Ext.lib.Motion=function(N,O,I,P){if(N){CQ.Ext.lib.Motion.superclass.constructor.call(this,N,O,I,P)
}};
CQ.Ext.extend(CQ.Ext.lib.Motion,CQ.Ext.lib.ColorAnim);
var C=CQ.Ext.lib;
var B=C.Motion.superclass;
var J=C.Motion.prototype;
J.toString=function(){var L=this.getEl();
var I=L.id||L.tagName;
return("Motion "+I)
};
J.patterns.points=/^points$/i;
J.setAttribute=function(N,I,M){if(this.patterns.points.test(N)){M=M||"px";
B.setAttribute.call(this,"left",I[0],M);
B.setAttribute.call(this,"top",I[1],M)
}else{B.setAttribute.call(this,N,I,M)
}};
J.getAttribute=function(L){if(this.patterns.points.test(L)){var I=[B.getAttribute.call(this,"left"),B.getAttribute.call(this,"top")]
}else{I=B.getAttribute.call(this,L)
}return I
};
J.doMethod=function(P,Q,O){var R=null;
if(this.patterns.points.test(P)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;
R=C.Bezier.getPosition(this.runtimeAttributes[P],I)
}else{R=B.doMethod.call(this,P,Q,O)
}return R
};
J.setRuntimeAttribute=function(I){if(this.patterns.points.test(I)){var a=this.getEl();
var Y=this.attributes;
var b;
var W=Y.points["control"]||[];
var Z;
var V,T;
if(W.length>0&&!CQ.Ext.isArray(W[0])){W=[W]
}else{var X=[];
for(V=0,T=W.length;
V<T;
++V){X[V]=W[V]
}W=X
}CQ.Ext.fly(a,"_anim").position();
if(D(Y.points["from"])){CQ.Ext.lib.Dom.setXY(a,Y.points["from"])
}else{CQ.Ext.lib.Dom.setXY(a,CQ.Ext.lib.Dom.getXY(a))
}b=this.getAttribute("points");
if(D(Y.points["to"])){Z=K.call(this,Y.points["to"],b);
var U=CQ.Ext.lib.Dom.getXY(this.getEl());
for(V=0,T=W.length;
V<T;
++V){W[V]=K.call(this,W[V],b)
}}else{if(D(Y.points["by"])){Z=[b[0]+Y.points["by"][0],b[1]+Y.points["by"][1]];
for(V=0,T=W.length;
V<T;
++V){W[V]=[b[0]+W[V][0],b[1]+W[V][1]]
}}}this.runtimeAttributes[I]=[b];
if(W.length>0){this.runtimeAttributes[I]=this.runtimeAttributes[I].concat(W)
}this.runtimeAttributes[I][this.runtimeAttributes[I].length]=Z
}else{B.setRuntimeAttribute.call(this,I)
}};
var K=function(N,I){var M=CQ.Ext.lib.Dom.getXY(this.getEl());
N=[N[0]-M[0]+I[0],N[1]-M[1]+I[1]];
return N
};
var D=function(I){return(typeof I!=="undefined")
}
})();
(function(){CQ.Ext.lib.Scroll=function(N,O,M,L){if(N){CQ.Ext.lib.Scroll.superclass.constructor.call(this,N,O,M,L)
}};
CQ.Ext.extend(CQ.Ext.lib.Scroll,CQ.Ext.lib.ColorAnim);
var C=CQ.Ext.lib;
var B=C.Scroll.superclass;
var D=C.Scroll.prototype;
D.toString=function(){var K=this.getEl();
var J=K.id||K.tagName;
return("Scroll "+J)
};
D.doMethod=function(O,L,N){var M=null;
if(O=="scroll"){M=[this.method(this.currentFrame,L[0],N[0]-L[0],this.totalFrames),this.method(this.currentFrame,L[1],N[1]-L[1],this.totalFrames)]
}else{M=B.doMethod.call(this,O,L,N)
}return M
};
D.getAttribute=function(M){var K=null;
var L=this.getEl();
if(M=="scroll"){K=[L.scrollLeft,L.scrollTop]
}else{K=B.getAttribute.call(this,M)
}return K
};
D.setAttribute=function(O,L,M){var N=this.getEl();
if(O=="scroll"){N.scrollLeft=L[0];
N.scrollTop=L[1]
}else{B.setAttribute.call(this,O,L,M)
}}
})()
})();
CQ.Ext.DomHelper=function(){var M=null;
var G=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;
var C=/^table|tbody|tr|td$/i;
var B=function(U){if(typeof U=="string"){return U
}var P="";
if(CQ.Ext.isArray(U)){for(var S=0,Q=U.length;
S<Q;
S++){P+=B(U[S])
}return P
}if(!U.tag){U.tag="div"
}P+="<"+U.tag;
for(var O in U){if(O=="tag"||O=="children"||O=="cn"||O=="html"||typeof U[O]=="function"){continue
}if(O=="style"){var T=U.style;
if(typeof T=="function"){T=T.call()
}if(typeof T=="string"){P+=' style="'+T+'"'
}else{if(typeof T=="object"){P+=' style="';
for(var R in T){if(typeof T[R]!="function"){P+=R+":"+T[R]+";"
}}P+='"'
}}}else{if(O=="cls"){P+=' class="'+U.cls+'"'
}else{if(O=="htmlFor"){P+=' for="'+U.htmlFor+'"'
}else{P+=" "+O+'="'+U[O]+'"'
}}}}if(G.test(U.tag)){P+="/>"
}else{P+=">";
var V=U.children||U.cn;
if(V){P+=B(V)
}else{if(U.html){P+=U.html
}}P+="</"+U.tag+">"
}return P
};
var N=function(U,P){var T;
if(CQ.Ext.isArray(U)){T=document.createDocumentFragment();
for(var S=0,Q=U.length;
S<Q;
S++){N(U[S],T)
}}else{if(typeof U=="string"){T=document.createTextNode(U)
}else{T=document.createElement(U.tag||"div");
var R=!!T.setAttribute;
for(var O in U){if(O=="tag"||O=="children"||O=="cn"||O=="html"||O=="style"||typeof U[O]=="function"){continue
}if(O=="cls"){T.className=U.cls
}else{if(R){T.setAttribute(O,U[O])
}else{T[O]=U[O]
}}}CQ.Ext.DomHelper.applyStyles(T,U.style);
var V=U.children||U.cn;
if(V){N(V,T)
}else{if(U.html){T.innerHTML=U.html
}}}}if(P){P.appendChild(T)
}return T
};
var J=function(T,R,Q,S){M.innerHTML=[R,Q,S].join("");
var O=-1,P=M;
while(++O<T){P=P.firstChild
}return P
};
var K="<table>",F="</table>",D=K+"<tbody>",L="</tbody>"+F,I=D+"<tr>",E="</tr>"+L;
var H=function(O,P,R,Q){if(!M){M=document.createElement("div")
}var S;
var T=null;
if(O=="td"){if(P=="afterbegin"||P=="beforeend"){return 
}if(P=="beforebegin"){T=R;
R=R.parentNode
}else{T=R.nextSibling;
R=R.parentNode
}S=J(4,I,Q,E)
}else{if(O=="tr"){if(P=="beforebegin"){T=R;
R=R.parentNode;
S=J(3,D,Q,L)
}else{if(P=="afterend"){T=R.nextSibling;
R=R.parentNode;
S=J(3,D,Q,L)
}else{if(P=="afterbegin"){T=R.firstChild
}S=J(4,I,Q,E)
}}}else{if(O=="tbody"){if(P=="beforebegin"){T=R;
R=R.parentNode;
S=J(2,K,Q,F)
}else{if(P=="afterend"){T=R.nextSibling;
R=R.parentNode;
S=J(2,K,Q,F)
}else{if(P=="afterbegin"){T=R.firstChild
}S=J(3,D,Q,L)
}}}else{if(P=="beforebegin"||P=="afterend"){return 
}if(P=="afterbegin"){T=R.firstChild
}S=J(2,K,Q,F)
}}}R.insertBefore(S,T);
return S
};
return{useDom:false,markup:function(O){return B(O)
},applyStyles:function(Q,R){if(R){Q=CQ.Ext.fly(Q);
if(typeof R=="string"){var P=/\s?([a-z\-]*)\:\s?([^;]*);?/gi;
var S;
while((S=P.exec(R))!=null){Q.setStyle(S[1],S[2])
}}else{if(typeof R=="object"){for(var O in R){Q.setStyle(O,R[O])
}}else{if(typeof R=="function"){CQ.Ext.DomHelper.applyStyles(Q,R.call())
}}}}},insertHtml:function(Q,S,R){Q=Q.toLowerCase();
if(S.insertAdjacentHTML){if(C.test(S.tagName)){var P;
if(P=H(S.tagName.toLowerCase(),Q,S,R)){return P
}}switch(Q){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 -> "'+Q+'"'
}var O=S.ownerDocument.createRange();
var T;
switch(Q){case"beforebegin":O.setStartBefore(S);
T=O.createContextualFragment(R);
S.parentNode.insertBefore(T,S);
return S.previousSibling;
case"afterbegin":if(S.firstChild){O.setStartBefore(S.firstChild);
T=O.createContextualFragment(R);
S.insertBefore(T,S.firstChild);
return S.firstChild
}else{S.innerHTML=R;
return S.firstChild
}case"beforeend":if(S.lastChild){O.setStartAfter(S.lastChild);
T=O.createContextualFragment(R);
S.appendChild(T);
return S.lastChild
}else{S.innerHTML=R;
return S.lastChild
}case"afterend":O.setStartAfter(S);
T=O.createContextualFragment(R);
S.parentNode.insertBefore(T,S.nextSibling);
return S.nextSibling
}throw'Illegal insertion point -> "'+Q+'"'
},insertBefore:function(O,Q,P){return this.doInsert(O,Q,P,"beforeBegin")
},insertAfter:function(O,Q,P){return this.doInsert(O,Q,P,"afterEnd","nextSibling")
},insertFirst:function(O,Q,P){return this.doInsert(O,Q,P,"afterBegin","firstChild")
},doInsert:function(R,T,S,U,Q){R=CQ.Ext.getDom(R);
var P;
if(this.useDom){P=N(T,null);
(Q==="firstChild"?R:R.parentNode).insertBefore(P,Q?R[Q]:R)
}else{var O=B(T);
P=this.insertHtml(U,R,O)
}return S?CQ.Ext.get(P,true):P
},append:function(Q,S,R){if(CQ.Util.isRoot(Q)){Q=CQ.Util.getRoot()
}Q=CQ.Ext.getDom(Q);
var P;
if(this.useDom){P=N(S,null);
Q.appendChild(P)
}else{var O=B(S);
P=this.insertHtml("beforeEnd",Q,O)
}return R?CQ.Ext.get(P,true):P
},overwrite:function(O,Q,P){O=CQ.Ext.getDom(O);
O.innerHTML=B(Q);
return P?CQ.Ext.get(O.firstChild,true):O.firstChild
},createTemplate:function(P){var O=B(P);
return new CQ.Ext.Template(O)
}}
}();
CQ.Ext.Template=function(F){var C=arguments;
if(CQ.Ext.isArray(F)){F=F.join("")
}else{if(C.length>1){var D=[];
for(var E=0,B=C.length;
E<B;
E++){if(typeof C[E]=="object"){CQ.Ext.apply(this,C[E])
}else{D[D.length]=C[E]
}}F=D.join("")
}}this.html=F;
if(this.compiled){this.compile()
}};
CQ.Ext.Template.prototype={applyTemplate:function(C){if(this.compiled){return this.compiled(C)
}var B=this.disableFormats!==true;
var F=CQ.Ext.util.Format,D=this;
var E=function(H,J,M,I){if(M&&B){if(M.substr(0,5)=="this."){return D.call(M.substr(5),C[J],C)
}else{if(I){var L=/^\s*['"](.*)["']\s*$/;
I=I.split(",");
for(var K=0,G=I.length;
K<G;
K++){I[K]=I[K].replace(L,"$1")
}I=[C[J]].concat(I)
}else{I=[C[J]]
}return F[M].apply(F,I)
}}else{return C[J]!==undefined?C[J]:""
}};
return this.html.replace(this.re,E)
},set:function(B,C){this.html=B;
this.compiled=null;
if(C){this.compile()
}return this
},disableFormats:false,re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,compile:function(){var fm=CQ.Ext.util.Format;
var useF=this.disableFormats!==true;
var sep=CQ.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(CQ.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(D,C,B){return this[D](C,B)
},insertFirst:function(C,B,D){return this.doInsert("afterBegin",C,B,D)
},insertBefore:function(C,B,D){return this.doInsert("beforeBegin",C,B,D)
},insertAfter:function(C,B,D){return this.doInsert("afterEnd",C,B,D)
},append:function(C,B,D){return this.doInsert("beforeEnd",C,B,D)
},doInsert:function(D,F,C,B){F=CQ.Ext.getDom(F);
var E=CQ.Ext.DomHelper.insertHtml(D,F,this.applyTemplate(C));
return B?CQ.Ext.get(E,true):E
},overwrite:function(C,B,D){C=CQ.Ext.getDom(C);
C.innerHTML=this.applyTemplate(B);
return D?CQ.Ext.get(C.firstChild,true):C.firstChild
}};
CQ.Ext.Template.prototype.apply=CQ.Ext.Template.prototype.applyTemplate;
CQ.Ext.DomHelper.Template=CQ.Ext.Template;
CQ.Ext.Template.from=function(C,B){C=CQ.Ext.getDom(C);
return new CQ.Ext.Template(C.value||C.innerHTML,B||"")
};
CQ.Ext.DomQuery=function(){var cache={},simpleCache={},valueCache={};
var nonSpace=/\S/;
var trimRe=/^\s+|\s+$/g;
var tplRe=/\{(\d+)\}/g;
var modeRe=/^(\s?[\/>+~]\s?|\s|$)/;
var tagTokenRe=/^(#)?([\w-\*]+)/;
var nthRe=/(\d*)n\+?(\d*)/,nthRe2=/\D/;
function child(p,index){var i=0;
var n=p.firstChild;
while(n){if(n.nodeType==1){if(++i==index){return n
}}n=n.nextSibling
}return null
}function next(n){while((n=n.nextSibling)&&n.nodeType!=1){}return n
}function prev(n){while((n=n.previousSibling)&&n.nodeType!=1){}return n
}function children(d){var n=d.firstChild,ni=-1;
while(n){var nx=n.nextSibling;
if(n.nodeType==3&&!nonSpace.test(n.nodeValue)){d.removeChild(n)
}else{n.nodeIndex=++ni
}n=nx
}return this
}function byClassName(c,a,v){if(!v){return c
}var r=[],ri=-1,cn;
for(var i=0,ci;
ci=c[i];
i++){if((" "+ci.className+" ").indexOf(v)!=-1){r[++ri]=ci
}}return r
}function attrValue(n,attr){if(!n.tagName&&typeof n.length!="undefined"){n=n[0]
}if(!n){return null
}if(attr=="for"){return n.htmlFor
}if(attr=="class"||attr=="className"){return n.className
}return n.getAttribute(attr)||n[attr]
}function getNodes(ns,mode,tagName){var result=[],ri=-1,cs;
if(!ns){return result
}tagName=tagName||"*";
if(typeof ns.getElementsByTagName!="undefined"){ns=[ns]
}if(!mode){for(var i=0,ni;
ni=ns[i];
i++){cs=ni.getElementsByTagName(tagName);
for(var j=0,ci;
ci=cs[j];
j++){result[++ri]=ci
}}}else{if(mode=="/"||mode==">"){var utag=tagName.toUpperCase();
for(var i=0,ni,cn;
ni=ns[i];
i++){cn=ni.children||ni.childNodes;
for(var j=0,cj;
cj=cn[j];
j++){if(cj.nodeName==utag||cj.nodeName==tagName||tagName=="*"){result[++ri]=cj
}}}}else{if(mode=="+"){var utag=tagName.toUpperCase();
for(var i=0,n;
n=ns[i];
i++){while((n=n.nextSibling)&&n.nodeType!=1){}if(n&&(n.nodeName==utag||n.nodeName==tagName||tagName=="*")){result[++ri]=n
}}}else{if(mode=="~"){for(var i=0,n;
n=ns[i];
i++){while((n=n.nextSibling)&&(n.nodeType!=1||(tagName=="*"||n.tagName.toLowerCase()!=tagName))){}if(n){result[++ri]=n
}}}}}}return result
}function concat(a,b){if(b.slice){return a.concat(b)
}for(var i=0,l=b.length;
i<l;
i++){a[a.length]=b[i]
}return a
}function byTag(cs,tagName){if(cs.tagName||cs==document){cs=[cs]
}if(!tagName){return cs
}var r=[],ri=-1;
tagName=tagName.toLowerCase();
for(var i=0,ci;
ci=cs[i];
i++){if(ci.nodeType==1&&ci.tagName.toLowerCase()==tagName){r[++ri]=ci
}}return r
}function byId(cs,attr,id){if(cs.tagName||cs==document){cs=[cs]
}if(!id){return cs
}var r=[],ri=-1;
for(var i=0,ci;
ci=cs[i];
i++){if(ci&&ci.id==id){r[++ri]=ci;
return r
}}return r
}function byAttribute(cs,attr,value,op,custom){var r=[],ri=-1,st=custom=="{";
var f=CQ.Ext.DomQuery.operators[op];
for(var i=0,ci;
ci=cs[i];
i++){var a;
if(st){a=CQ.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 CQ.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 CQ.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=CQ.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]=CQ.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 CQ.Ext.DomQuery.select(path,root)[0]
},selectValue:function(path,root,defaultValue){path=path.replace(trimRe,"");
if(!valueCache[path]){valueCache[path]=CQ.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=CQ.Ext.DomQuery.selectValue(path,root,defaultValue||0);
return parseFloat(v)
},is:function(el,ss){if(typeof el=="string"){el=document.getElementById(el)
}var isArray=CQ.Ext.isArray(el);
var result=CQ.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]=CQ.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 CQ.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(CQ.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=CQ.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=CQ.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=CQ.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
}}}
}();
CQ.Ext.query=CQ.Ext.DomQuery.select;
CQ.Ext.util.Observable=function(){if(this.listeners){this.on(this.listeners);
delete this.listeners
}};
CQ.Ext.util.Observable.prototype={fireEvent:function(){if(this.eventsSuspended!==true){var B=this.events[arguments[0].toLowerCase()];
if(typeof B=="object"){return B.fire.apply(B,Array.prototype.slice.call(arguments,1))
}}return true
},filterOptRe:/^(?:scope|delay|buffer|single)$/,addListener:function(B,D,C,G){if(typeof B=="object"){G=B;
for(var F in G){if(this.filterOptRe.test(F)){continue
}if(typeof G[F]=="function"){this.addListener(F,G[F],G.scope,G)
}else{this.addListener(F,G[F].fn,G[F].scope,G[F])
}}return 
}G=(!G||typeof G=="boolean")?{}:G;
B=B.toLowerCase();
var E=this.events[B]||true;
if(typeof E=="boolean"){E=new CQ.Ext.util.Event(this,B);
this.events[B]=E
}E.addListener(D,C,G)
},removeListener:function(B,D,C){var E=this.events[B.toLowerCase()];
if(typeof E=="object"){E.removeListener(D,C)
}},purgeListeners:function(){for(var B in this.events){if(typeof this.events[B]=="object"){this.events[B].clearListeners()
}}},relayEvents:function(G,E){var F=function(H){return function(){return this.fireEvent.apply(this,CQ.Ext.combine(H,Array.prototype.slice.call(arguments,0)))
}
};
for(var D=0,B=E.length;
D<B;
D++){var C=E[D];
if(!this.events[C]){this.events[C]=true
}G.on(C,F(C),this)
}},addEvents:function(E){if(!this.events){this.events={}
}if(typeof E=="string"){for(var D=0,B=arguments,C;
C=B[D];
D++){if(!this.events[B[D]]){this.events[B[D]]=true
}}}else{CQ.Ext.applyIf(this.events,E)
}},hasListener:function(B){var C=this.events[B];
return typeof C=="object"&&C.listeners.length>0
},suspendEvents:function(){this.eventsSuspended=true
},resumeEvents:function(){this.eventsSuspended=false
},getMethodEvent:function(H){if(!this.methodEvents){this.methodEvents={}
}var G=this.methodEvents[H];
if(!G){G={};
this.methodEvents[H]=G;
G.originalFn=this[H];
G.methodName=H;
G.before=[];
G.after=[];
var D,C,E;
var F=this;
var B=function(K,J,I){if((C=K.apply(J||F,I))!==undefined){if(typeof C==="object"){if(C.returnValue!==undefined){D=C.returnValue
}else{D=C
}if(C.cancel===true){E=true
}}else{if(C===false){E=true
}else{D=C
}}}};
this[H]=function(){D=C=undefined;
E=false;
var J=Array.prototype.slice.call(arguments,0);
for(var K=0,I=G.before.length;
K<I;
K++){B(G.before[K].fn,G.before[K].scope,J);
if(E){return D
}}if((C=G.originalFn.apply(F,J))!==undefined){D=C
}for(var K=0,I=G.after.length;
K<I;
K++){B(G.after[K].fn,G.after[K].scope,J);
if(E){return D
}}return D
}
}return G
},beforeMethod:function(E,C,B){var D=this.getMethodEvent(E);
D.before.push({fn:C,scope:B})
},afterMethod:function(E,C,B){var D=this.getMethodEvent(E);
D.after.push({fn:C,scope:B})
},removeMethodListener:function(G,E,D){var F=this.getMethodEvent(G);
for(var C=0,B=F.before.length;
C<B;
C++){if(F.before[C].fn==E&&F.before[C].scope==D){F.before.splice(C,1);
return 
}}for(var C=0,B=F.after.length;
C<B;
C++){if(F.after[C].fn==E&&F.after[C].scope==D){F.after.splice(C,1);
return 
}}}};
CQ.Ext.util.Observable.prototype.on=CQ.Ext.util.Observable.prototype.addListener;
CQ.Ext.util.Observable.prototype.un=CQ.Ext.util.Observable.prototype.removeListener;
CQ.Ext.util.Observable.capture=function(D,C,B){D.fireEvent=D.fireEvent.createInterceptor(C,B)
};
CQ.Ext.util.Observable.releaseCapture=function(B){B.fireEvent=CQ.Ext.util.Observable.prototype.fireEvent
};
(function(){var C=function(G,H,F){var E=new CQ.Ext.util.DelayedTask();
return function(){E.delay(H.buffer,G,F,Array.prototype.slice.call(arguments,0))
}
};
var D=function(G,H,F,E){return function(){H.removeListener(F,E);
return G.apply(E,arguments)
}
};
var B=function(F,G,E){return function(){var H=Array.prototype.slice.call(arguments,0);
setTimeout(function(){F.apply(E,H)
},G.delay||10)
}
};
CQ.Ext.util.Event=function(F,E){this.name=E;
this.obj=F;
this.listeners=[]
};
CQ.Ext.util.Event.prototype={addListener:function(H,G,F){G=G||this.obj;
if(!this.isListening(H,G)){var E=this.createListener(H,G,F);
if(!this.firing){this.listeners.push(E)
}else{this.listeners=this.listeners.slice(0);
this.listeners.push(E)
}}},createListener:function(H,G,I){I=I||{};
G=G||this.obj;
var E={fn:H,scope:G,options:I};
var F=H;
if(I.delay){F=B(F,I,G)
}if(I.single){F=D(F,this,H,G)
}if(I.buffer){F=C(F,I,G)
}E.fireFn=F;
return E
},findListener:function(J,I){I=I||this.obj;
var G=this.listeners;
for(var H=0,E=G.length;
H<E;
H++){var F=G[H];
if(F.fn==J&&F.scope==I){return H
}}return -1
},isListening:function(F,E){return this.findListener(F,E)!=-1
},removeListener:function(G,F){var E;
if((E=this.findListener(G,F))!=-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 G=this.listeners,J,E=G.length;
if(E>0){this.firing=true;
var H=Array.prototype.slice.call(arguments,0);
for(var I=0;
I<E;
I++){var F=G[I];
if(F.fireFn.apply(F.scope||this.obj||window,arguments)===false){this.firing=false;
return false
}}this.firing=false
}return true
}}
})();
CQ.Ext.EventManager=function(){var c,U,P=false;
var Q,a,J,W;
var T=CQ.Ext.lib.Event;
var V=CQ.Ext.lib.Dom;
var B="CQ";
var M={};
var R=function(l,E,k,h,g){var n=CQ.Ext.id(l);
if(!M[n]){M[n]={}
}var m=M[n];
if(!m[E]){m[E]=[]
}var D=m[E];
D.push({id:n,ename:E,fn:k,wrap:h,scope:g});
T.on(l,E,h);
if(E=="mousewheel"&&l.addEventListener){l.addEventListener("DOMMouseScroll",h,false);
T.on(window,"unload",function(){l.removeEventListener("DOMMouseScroll",h,false)
})
}if(E=="mousedown"&&l==document){CQ.Ext.EventManager.stoppedMouseDownEvent.addListener(h)
}};
var K=function(g,k,q,s){g=CQ.Ext.getDom(g);
var D=CQ.Ext.id(g),r=M[D],E;
if(r){var n=r[k],h;
if(n){for(var m=0,o=n.length;
m<o;
m++){h=n[m];
if(h.fn==q&&(!s||h.scope==s)){E=h.wrap;
T.un(g,k,E);
n.splice(m,1);
break
}}}}if(k=="mousewheel"&&g.addEventListener&&E){g.removeEventListener("DOMMouseScroll",E,false)
}if(k=="mousedown"&&g==document&&E){CQ.Ext.EventManager.stoppedMouseDownEvent.removeListener(E)
}};
var G=function(k){k=CQ.Ext.getDom(k);
var m=CQ.Ext.id(k),l=M[m],E;
if(l){for(var h in l){if(l.hasOwnProperty(h)){E=l[h];
for(var g=0,D=E.length;
g<D;
g++){T.un(k,h,E[g].wrap);
E[g]=null
}}l[h]=null
}delete M[m]
}};
var F=function(){if(!P){P=CQ.Ext.isReady=true;
if(CQ.Ext.isGecko||CQ.Ext.isOpera){document.removeEventListener("DOMContentLoaded",F,false)
}}if(U){clearInterval(U);
U=null
}if(c){c.fire();
c.clearListeners()
}};
var C=function(){c=new CQ.Ext.util.Event();
if(CQ.Ext.isReady){return 
}T.on(window,"load",F);
if(CQ.Ext.isGecko||CQ.Ext.isOpera){document.addEventListener("DOMContentLoaded",F,false)
}else{if(CQ.Ext.isIE){U=setInterval(function(){try{CQ.Ext.isReady||(document.documentElement.doScroll("left"))
}catch(D){return 
}F()
},5);
document.onreadystatechange=function(){if(document.readyState=="complete"){document.onreadystatechange=null;
F()
}}
}else{if(CQ.Ext.isSafari){U=setInterval(function(){var D=document.readyState;
if(D=="complete"){F()
}},10)
}}}};
var Z=function(E,g){var D=new CQ.Ext.util.DelayedTask(E);
return function(h){h=new CQ.Ext.EventObjectImpl(h);
D.delay(g.buffer,E,null,[h])
}
};
var X=function(l,k,D,g,E){return function(h){CQ.Ext.EventManager.removeListener(k,D,g,E);
l(h)
}
};
var I=function(D,E){return function(g){g=new CQ.Ext.EventObjectImpl(g);
setTimeout(function(){D(g)
},E.delay||10)
}
};
var O=function(g,E,D,n,m){var q=(!D||typeof D=="boolean")?{}:D;
n=n||q.fn;
m=m||q.scope;
var l=CQ.Ext.getDom(g);
if(!l){throw'Error listening for "'+E+'". Element "'+g+"\" doesn't exist."
}var k=function(o){if(!window[B]){return 
}o=CQ.Ext.EventObject.setEvent(o);
var h;
if(q.delegate){h=o.getTarget(q.delegate,l);
if(!h){return 
}}else{h=o.target
}if(q.stopEvent===true){o.stopEvent()
}if(q.preventDefault===true){o.preventDefault()
}if(q.stopPropagation===true){o.stopPropagation()
}if(q.normalized===false){o=o.browserEvent
}n.call(m||l,o,h,q)
};
if(q.delay){k=I(k,q)
}if(q.single){k=X(k,l,E,n,m)
}if(q.buffer){k=Z(k,q)
}R(l,E,n,k,m);
return k
};
var b,d,L=false;
var H=function(){if(!L){L=true;
CQ.Ext.isLoaded=true;
if(d){clearInterval(d)
}if(b){b.fire();
b.clearListeners()
}}};
var S=function(){b=new CQ.Ext.util.Event();
T.on(window,"load",H)
};
var N=/^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate)$/;
var Y={addListener:function(g,D,k,h,E){if(typeof D=="object"){var m=D;
for(var l in m){if(N.test(l)){continue
}if(typeof m[l]=="function"){O(g,l,m,m[l],m.scope)
}else{O(g,l,m[l])
}}return 
}return O(g,D,E,k,h)
},removeListener:function(E,D,h,g){return K(E,D,h,g)
},removeAll:function(D){return G(D)
},onDocumentReady:function(g,E,D){if(!c){C()
}if(P||CQ.Ext.isReady){D||(D={});
g.defer(D.delay||0,E)
}else{c.addListener(g,E,D)
}},onWindowLoaded:function(g,E,D){if(L){b.addListener(g,E,D);
b.fire();
b.clearListeners();
return 
}if(!b){S()
}b.addListener(g,E,D)
},onWindowResize:function(g,E,D){if(!Q){Q=new CQ.Ext.util.Event();
a=new CQ.Ext.util.DelayedTask(function(){Q.fire(V.getViewWidth(),V.getViewHeight())
});
T.on(window,"resize",this.fireWindowResize,this)
}Q.addListener(g,E,D)
},fireWindowResize:function(){if(Q){if((CQ.Ext.isIE||CQ.Ext.isAir)&&a){a.delay(50)
}else{Q.fire(V.getViewWidth(),V.getViewHeight())
}}},onTextResize:function(h,g,D){if(!J){J=new CQ.Ext.util.Event();
var E=new CQ.Ext.Element(document.createElement("div"));
E.dom.className="x-text-resize";
E.dom.innerHTML="X";
E.appendTo(document.body);
W=E.dom.offsetHeight;
setInterval(function(){if(E.dom.offsetHeight!=W){J.fire(W,W=E.dom.offsetHeight)
}},this.textResizeInterval)
}J.addListener(h,g,D)
},removeResizeListener:function(E,D){if(Q){Q.removeListener(E,D)
}},fireResize:function(){if(Q){Q.fire(V.getViewWidth(),V.getViewHeight())
}},ieDeferSrc:false,textResizeInterval:50};
Y.on=Y.addListener;
Y.un=Y.removeListener;
Y.stoppedMouseDownEvent=new CQ.Ext.util.Event();
return Y
}();
CQ.Ext.onReady=CQ.Ext.EventManager.onDocumentReady;
CQ.Ext.onLoad=CQ.Ext.EventManager.onWindowLoaded;
(function(){var B=function(){var D=document.body||document.getElementsByTagName("body")[0];
if(!D){return false
}var C=[" ",CQ.Ext.isIE?"ext-ie "+(CQ.Ext.isIE6?"ext-ie6":"ext-ie7"):CQ.Ext.isGecko?"ext-gecko "+(CQ.Ext.isGecko2?"ext-gecko2":"ext-gecko3"):CQ.Ext.isOpera?"ext-opera":CQ.Ext.isSafari?"ext-safari":""];
if(CQ.Ext.isMac){C.push("ext-mac")
}if(CQ.Ext.isLinux){C.push("ext-linux")
}if(CQ.Ext.isBorderBox){C.push("ext-border-box")
}if(CQ.Ext.isStrict){var E=D.parentNode;
if(E){E.className+=" ext-strict"
}}D.className+=C.join(" ");
return true
};
if(!B()){CQ.Ext.onReady(B)
}})();
CQ.Ext.EventObject=function(){var C=CQ.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 D=CQ.Ext.isIE?{1:0,4:1,2:2}:(CQ.Ext.isSafari?{1:0,2:1,3:2}:{0:0,1:1,2:2});
CQ.Ext.EventObjectImpl=function(E){if(E){this.setEvent(E.browserEvent||E)
}};
CQ.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(E){if(E==this||(E&&E.browserEvent)){return E
}this.browserEvent=E;
if(E){this.button=E.button?D[E.button]:(E.which?E.which-1:-1);
if(E.type=="click"&&this.button==-1){this.button=0
}this.type=E.type;
this.shiftKey=E.shiftKey;
this.ctrlKey=E.ctrlKey||E.metaKey;
this.altKey=E.altKey;
this.keyCode=E.keyCode;
this.charCode=E.charCode;
this.target=C.getTarget(E);
this.xy=C.getXY(E)
}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"){CQ.Ext.EventManager.stoppedMouseDownEvent.fire(this)
}C.stopEvent(this.browserEvent)
}},preventDefault:function(){if(this.browserEvent){C.preventDefault(this.browserEvent)
}},isNavKeyPress:function(){var E=this.keyCode;
E=CQ.Ext.isSafari?(B[E]||E):E;
return(E>=33&&E<=40)||E==this.RETURN||E==this.TAB||E==this.ESC
},isSpecialKey:function(){var E=this.keyCode;
return(this.type=="keypress"&&this.ctrlKey)||E==9||E==13||E==40||E==27||(E==16)||(E==17)||(E>=18&&E<=20)||(E>=33&&E<=35)||(E>=36&&E<=39)||(E>=44&&E<=45)
},stopPropagation:function(){if(this.browserEvent){if(this.browserEvent.type=="mousedown"){CQ.Ext.EventManager.stoppedMouseDownEvent.fire(this)
}C.stopPropagation(this.browserEvent)
}},getCharCode:function(){return this.charCode||this.keyCode
},getKey:function(){var E=this.keyCode||this.charCode;
return CQ.Ext.isSafari?(B[E]||E):E
},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(F,G,E){return F?CQ.Ext.fly(this.target).findParent(F,G,E):(E?CQ.Ext.get(this.target):this.target)
},getRelatedTarget:function(){if(this.browserEvent){return C.getRelatedTarget(this.browserEvent)
}return null
},getWheelDelta:function(){var E=this.browserEvent;
var F=0;
if(E.wheelDelta){F=E.wheelDelta/120
}else{if(E.detail){F=-E.detail/3
}}return F
},hasModifier:function(){return((this.ctrlKey||this.altKey)||this.shiftKey)?true:false
},within:function(F,G){var E=this[G?"getRelatedTarget":"getTarget"]();
return E&&CQ.Ext.fly(F).contains(E)
},getPoint:function(){return new CQ.Ext.lib.Point(this.xy[0],this.xy[1])
}};
return new CQ.Ext.EventObjectImpl()
}();
(function(){var D=CQ.Ext.lib.Dom;
var E=CQ.Ext.lib.Event;
var A=CQ.Ext.lib.Anim;
var propCache={};
var camelRe=/(-[a-z])/gi;
var camelFn=function(m,a){return a.charAt(1).toUpperCase()
};
var view=document.defaultView;
CQ.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&&CQ.Ext.Element.cache[id]){return CQ.Ext.Element.cache[id]
}this.dom=dom;
this.id=id||CQ.Ext.id(dom)
};
var El=CQ.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=CQ.Ext.DomQuery,stopEl;
maxDepth=maxDepth||50;
if(typeof maxDepth!="number"){stopEl=CQ.Ext.getDom(maxDepth);
maxDepth=10
}while(p&&p.nodeType==1&&depth<maxDepth&&p!=b&&p!=stopEl){if(dq.is(p,simpleSelector)){return returnEl?CQ.Ext.get(p):p
}depth++;
p=p.parentNode
}return null
},findParentNode:function(simpleSelector,maxDepth,returnEl){var p=CQ.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 CQ.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=CQ.Ext.lib.Anim[animType](this.dom,args,(opt.duration||defaultDur)||0.35,(opt.easing||defaultEase)||"easeOut",function(){CQ.Ext.callback(cb,this);
CQ.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=CQ.Ext.getDom(container)||CQ.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){CQ.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(!CQ.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 CQ.Ext.DomQuery.select(selector,this.dom)
},child:function(selector,returnDom){var n=CQ.Ext.DomQuery.selectNode(selector,this.dom);
return returnDom?n:CQ.Ext.get(n)
},down:function(selector,returnDom){var n=CQ.Ext.DomQuery.selectNode(" > "+selector,this.dom);
return returnDom?n:CQ.Ext.get(n)
},initDD:function(group,config,overrides){var dd=new CQ.Ext.dd.DD(CQ.Ext.id(this.dom),group,config);
return CQ.Ext.apply(dd,overrides)
},initDDProxy:function(group,config,overrides){var dd=new CQ.Ext.dd.DDProxy(CQ.Ext.id(this.dom),group,config);
return CQ.Ext.apply(dd,overrides)
},initDDTarget:function(group,config,overrides){var dd=new CQ.Ext.dd.DDTarget(CQ.Ext.id(this.dom),group,config);
return CQ.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"
}CQ.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(CQ.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){CQ.Ext.get(s).removeClass(className)
}}this.addClass(className);
return this
},removeClass:function(className){if(!className||!this.dom.className){return this
}if(CQ.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){CQ.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=CQ.Ext.fly(el,"_internal").getXY();
return[o[0]-e[0],o[1]-e[1]]
},setX:function(x,animate){if(!animate||!A){D.setX(this.dom,x)
}else{this.setXY([x,this.getY()],this.preanim(arguments,1))
}return this
},setY:function(y,animate){if(!animate||!A){D.setY(this.dom,y)
}else{this.setXY([this.getX(),y],this.preanim(arguments,1))
}return this
},setLeft:function(left){this.setStyle("left",this.addUnits(left));
return this
},setTop:function(top){this.setStyle("top",this.addUnits(top));
return this
},setRight:function(right){this.setStyle("right",this.addUnits(right));
return this
},setBottom:function(bottom){this.setStyle("bottom",this.addUnits(bottom));
return this
},setXY:function(pos,animate){if(!animate||!A){D.setXY(this.dom,pos)
}else{this.anim({points:{to:pos}},this.preanim(arguments,1),"motion")
}return this
},setLocation:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));
return this
},moveTo:function(x,y,animate){this.setXY([x,y],this.preanim(arguments,2));
return this
},getRegion:function(){return D.getRegion(this.dom)
},getHeight:function(contentHeight){var h=this.dom.offsetHeight||0;
h=contentHeight!==true?h:h-this.getBorderWidth("tb")-this.getPadding("tb");
return h<0?0:h
},getWidth:function(contentWidth){var w=this.dom.offsetWidth||0;
w=contentWidth!==true?w:w-this.getBorderWidth("lr")-this.getPadding("lr");
return w<0?0:w
},getComputedHeight:function(){var h=Math.max(this.dom.offsetHeight,this.dom.clientHeight);
if(!h){h=parseInt(this.getStyle("height"),10)||0;
if(!this.isBorderBox()){h+=this.getFrameWidth("tb")
}}return h
},getComputedWidth:function(){var w=Math.max(this.dom.offsetWidth,this.dom.clientWidth);
if(!w){w=parseInt(this.getStyle("width"),10)||0;
if(!this.isBorderBox()){w+=this.getFrameWidth("lr")
}}return w
},getSize:function(contentSize){return{width:this.getWidth(contentSize),height:this.getHeight(contentSize)}
},getStyleSize:function(){var w,h,d=this.dom,s=d.style;
if(s.width&&s.width!="auto"){w=parseInt(s.width,10);
if(CQ.Ext.isBorderBox){w-=this.getFrameWidth("lr")
}}if(s.height&&s.height!="auto"){h=parseInt(s.height,10);
if(CQ.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){CQ.Ext.EventManager.on(this.dom,eventName,fn,scope||this,options)
},removeListener:function(eventName,fn,scope){CQ.Ext.EventManager.removeListener(this.dom,eventName,fn,scope||this);
return this
},removeAllListeners:function(){CQ.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(CQ.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"&&CQ.Ext.isMac&&CQ.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=CQ.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=CQ.Ext.get(el);
offsets=offsets?CQ.Ext.applyIf(offsets,os):os;
var vw,vh,vx=0,vy=0;
if(el.dom==document.body||el.dom==document){vw=CQ.Ext.lib.Dom.getViewWidth();
vh=CQ.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);
CQ.Ext.callback(callback,this)
};
CQ.Ext.EventManager.onWindowResize(action,this);
var tm=typeof monitorScroll;
if(tm!="undefined"){CQ.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 CQ.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=CQ.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){CQ.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 CQ.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()]||CQ.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&&CQ.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(){CQ.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=CQ.Ext.DomHelper.append(renderTo,config,true)
}else{proxy=CQ.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.setStyle("position","relative")
}if(this._maskMsg){this._maskMsg.remove()
}if(this._mask){this._mask.remove()
}this._mask=CQ.Ext.DomHelper.append(this.dom,{cls:"ext-el-mask"},true);
this.addClass("x-masked");
this._mask.setDisplayed(true);
if(typeof msg=="string"){this._maskMsg=CQ.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(CQ.Ext.isIE&&!(CQ.Ext.isIE7&&CQ.Ext.isStrict)&&this.getStyle("height")=="auto"){this._mask.setSize(this.dom.clientWidth,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")
},isMasked:function(){return this._mask&&this._mask.isVisible()
},createShim:function(){var el=document.createElement("iframe");
el.frameBorder="0";
el.className="ext-shim";
if(CQ.Ext.isIE&&CQ.Ext.isSecure){el.src=CQ.Ext.SSL_SECURE_URL
}var shim=CQ.Ext.get(this.dom.parentNode.insertBefore(el,this.dom));
shim.autoBoxAdjust=false;
return shim
},remove:function(){CQ.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(){CQ.Ext.fly(this,"_internal").addClass(className)
},function(){CQ.Ext.fly(this,"_internal").removeClass(className)
});
return this
},addClassOnFocus:function(className){this.on("focus",function(){CQ.Ext.fly(this,"_internal").addClass(className)
},this.dom);
this.on("blur",function(){CQ.Ext.fly(this,"_internal").removeClass(className)
},this.dom);
return this
},addClassOnClick:function(className){var dom=this.dom;
this.on("mousedown",function(){CQ.Ext.fly(dom,"_internal").addClass(className);
var d=CQ.Ext.getDoc();
var fn=function(){CQ.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(CQ.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||CQ.Ext.DomQuery.is(n,selector))){return !returnDom?CQ.Ext.get(n):n
}n=n[dir]
}return null
},appendChild:function(el){el=CQ.Ext.get(el);
el.appendTo(this);
return this
},createChild:function(config,insertBefore,returnDom){config=config||{tag:"div"};
if(insertBefore){return CQ.Ext.DomHelper.insertBefore(insertBefore,config,returnDom!==true)
}return CQ.Ext.DomHelper[!this.dom.firstChild?"overwrite":"append"](this.dom,config,returnDom!==true)
},appendTo:function(el){if(CQ.Util.isRoot(el)){el=CQ.Util.getRoot()
}el=CQ.Ext.getDom(el);
el.appendChild(this.dom);
return this
},insertBefore:function(el){el=CQ.Ext.getDom(el);
el.parentNode.insertBefore(this.dom,el);
return this
},insertAfter:function(el){el=CQ.Ext.getDom(el);
el.parentNode.insertBefore(this.dom,el.nextSibling);
return this
},insertFirst:function(el,returnDom){el=el||{};
if(typeof el=="object"&&!el.nodeType&&!el.dom){return this.createChild(el,this.dom.firstChild,returnDom)
}else{el=CQ.Ext.getDom(el);
this.dom.insertBefore(el,this.dom.firstChild);
return !returnDom?CQ.Ext.get(el):el
}},insertSibling:function(el,where,returnDom){var rt;
if(CQ.Ext.isArray(el)){for(var i=0,len=el.length;
i<len;
i++){rt=this.insertSibling(el[i],where,returnDom)
}return rt
}where=where?where.toLowerCase():"before";
el=el||{};
var refNode=where=="before"?this.dom:this.dom.nextSibling;
if(typeof el=="object"&&!el.nodeType&&!el.dom){if(where=="after"&&!this.dom.nextSibling){rt=CQ.Ext.DomHelper.append(this.dom.parentNode,el,!returnDom)
}else{rt=CQ.Ext.DomHelper[where=="after"?"insertAfter":"insertBefore"](this.dom,el,!returnDom)
}}else{rt=this.dom.parentNode.insertBefore(CQ.Ext.getDom(el),refNode);
if(!returnDom){rt=CQ.Ext.get(rt)
}}return rt
},wrap:function(config,returnDom){if(!config){config={tag:"div"}
}var newEl=CQ.Ext.DomHelper.insertBefore(this.dom,config,!returnDom);
newEl.dom?newEl.dom.appendChild(this.dom):newEl.appendChild(this.dom);
return newEl
},replace:function(el){el=CQ.Ext.get(el);
this.insertBefore(el);
el.remove();
return this
},replaceWith:function(el){if(typeof el=="object"&&!el.nodeType&&!el.dom){el=this.insertSibling(el,"before")
}else{el=CQ.Ext.getDom(el);
this.dom.parentNode.insertBefore(el,this.dom)
}El.uncache(this.id);
this.dom.parentNode.removeChild(this.dom);
this.dom=el;
this.id=CQ.Ext.id(el);
El.cache[this.id]=this;
return this
},insertHtml:function(where,html,returnEl){var el=CQ.Ext.DomHelper.insertHtml(where,this.dom,html);
return returnEl?CQ.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){CQ.Ext.DomHelper.applyStyles(el,o.style)
}return this
},addKeyListener:function(key,fn,scope){var config;
if(typeof key!="object"||CQ.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 CQ.Ext.KeyMap(this,config)
},addKeyMap:function(config){return new CQ.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"||CQ.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(CQ.Ext.isIE&&CQ.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=CQ.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:CQ.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(CQ.Ext.util.TextMetrics.measure(this.dom,CQ.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))){if(CQ.Util.isRoot(el)){return CQ.Util.createRoot()
}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=CQ.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(CQ.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(!CQ.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&&CQ.Ext.enableListenerCollection){CQ.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=CQ.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]
};
CQ.Ext.get=El.get;
CQ.Ext.fly=El.fly;
var noBoxAdjust=CQ.Ext.isStrict?{select:1}:{input:1,select:1,textarea:1};
if(CQ.Ext.isIE||CQ.Ext.isGecko){noBoxAdjust.button=1
}CQ.Ext.EventManager.on(window,"unload",function(){delete El.cache;
delete El._flyweights
})
})();
CQ.Ext.enableFx=true;
CQ.Ext.Fx={slideIn:function(B,D){var C=this.getFxEl();
D=D||{};
C.queueFx(D,function(){B=B||"t";
this.fixDisplay();
var E=this.getFxRestore();
var J=this.getBox();
this.setSize(J);
var G=this.fxWrap(E.pos,D,"hidden");
var L=this.dom.style;
L.visibility="visible";
L.position="absolute";
var F=function(){C.fxUnwrap(G,E.pos,D);
L.width=E.width;
L.height=E.height;
C.afterFx(D)
};
var K,M={to:[J.x,J.y]},I={to:J.width},H={to:J.height};
switch(B.toLowerCase()){case"t":G.setSize(J.width,0);
L.left=L.bottom="0";
K={height:H};
break;
case"l":G.setSize(0,J.height);
L.right=L.top="0";
K={width:I};
break;
case"r":G.setSize(0,J.height);
G.setX(J.right);
L.left=L.top="0";
K={width:I,points:M};
break;
case"b":G.setSize(J.width,0);
G.setY(J.bottom);
L.left=L.top="0";
K={height:H,points:M};
break;
case"tl":G.setSize(0,0);
L.right=L.bottom="0";
K={width:I,height:H};
break;
case"bl":G.setSize(0,0);
G.setY(J.y+J.height);
L.right=L.top="0";
K={width:I,height:H,points:M};
break;
case"br":G.setSize(0,0);
G.setXY([J.right,J.bottom]);
L.left=L.top="0";
K={width:I,height:H,points:M};
break;
case"tr":G.setSize(0,0);
G.setX(J.x+J.width);
L.left=L.bottom="0";
K={width:I,height:H,points:M};
break
}this.dom.style.visibility="visible";
G.show();
arguments.callee.anim=G.fxanim(K,D,"motion",0.5,"easeOut",F)
});
return this
},slideOut:function(B,D){var C=this.getFxEl();
D=D||{};
C.queueFx(D,function(){B=B||"t";
var J=this.getFxRestore();
var E=this.getBox();
this.setSize(E);
var H=this.fxWrap(J.pos,D,"visible");
var G=this.dom.style;
G.visibility="visible";
G.position="absolute";
H.setSize(E);
var K=function(){if(D.useDisplay){C.setDisplayed(false)
}else{C.hide()
}C.fxUnwrap(H,J.pos,D);
G.width=J.width;
G.height=J.height;
C.afterFx(D)
};
var F,I={to:0};
switch(B.toLowerCase()){case"t":G.left=G.bottom="0";
F={height:I};
break;
case"l":G.right=G.top="0";
F={width:I};
break;
case"r":G.left=G.top="0";
F={width:I,points:{to:[E.right,E.y]}};
break;
case"b":G.left=G.top="0";
F={height:I,points:{to:[E.x,E.bottom]}};
break;
case"tl":G.right=G.bottom="0";
F={width:I,height:I};
break;
case"bl":G.right=G.top="0";
F={width:I,height:I,points:{to:[E.x,E.bottom]}};
break;
case"br":G.left=G.top="0";
F={width:I,height:I,points:{to:[E.x+E.width,E.bottom]}};
break;
case"tr":G.left=G.bottom="0";
F={width:I,height:I,points:{to:[E.right,E.y]}};
break
}arguments.callee.anim=H.fxanim(F,D,"motion",0.5,"easeOut",K)
});
return this
},puff:function(C){var B=this.getFxEl();
C=C||{};
B.queueFx(C,function(){this.clearOpacity();
this.show();
var G=this.getFxRestore();
var E=this.dom.style;
var H=function(){if(C.useDisplay){B.setDisplayed(false)
}else{B.hide()
}B.clearOpacity();
B.setPositioning(G.pos);
E.width=G.width;
E.height=G.height;
E.fontSize="";
B.afterFx(C)
};
var F=this.getWidth();
var D=this.getHeight();
arguments.callee.anim=this.fxanim({width:{to:this.adjustWidth(F*2)},height:{to:this.adjustHeight(D*2)},points:{by:[-(F*0.5),-(D*0.5)]},opacity:{to:0},fontSize:{to:200,unit:"%"}},C,"motion",0.5,"easeOut",H)
});
return this
},switchOff:function(C){var B=this.getFxEl();
C=C||{};
B.queueFx(C,function(){this.clearOpacity();
this.clip();
var E=this.getFxRestore();
var D=this.dom.style;
var F=function(){if(C.useDisplay){B.setDisplayed(false)
}else{B.hide()
}B.clearOpacity();
B.setPositioning(E.pos);
D.width=E.width;
D.height=E.height;
B.afterFx(C)
};
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]}},C,"motion",0.3,"easeIn",F)
}).defer(100,this)
})
});
return this
},highlight:function(B,D){var C=this.getFxEl();
D=D||{};
C.queueFx(D,function(){B=B||"ffff9c";
var E=D.attr||"backgroundColor";
this.clearOpacity();
this.show();
var H=this.getColor(E);
var I=this.dom.style[E];
var G=(D.endColor||H)||"ffffff";
var J=function(){C.dom.style[E]=I;
C.afterFx(D)
};
var F={};
F[E]={from:B,to:G};
arguments.callee.anim=this.fxanim(F,D,"color",1,"easeIn",J)
});
return this
},frame:function(B,D,E){var C=this.getFxEl();
E=E||{};
C.queueFx(E,function(){B=B||"#C3DAF9";
if(B.length==6){B="#"+B
}D=D||1;
var H=E.duration||1;
this.show();
var F=this.getBox();
var G=function(){var I=CQ.Ext.getBody().createChild({style:{visbility:"hidden",position:"absolute","z-index":"35000",border:"0px solid "+B}});
var J=CQ.Ext.isBorderBox?2:1;
I.animate({top:{from:F.y,to:F.y-20},left:{from:F.x,to:F.x-20},borderWidth:{from:0,to:10},opacity:{from:1,to:0},height:{from:F.height,to:(F.height+(20*J))},width:{from:F.width,to:(F.width+(20*J))}},H,function(){I.remove();
if(--D>0){G()
}else{C.afterFx(E)
}})
};
G.call(this)
});
return this
},pause:function(D){var B=this.getFxEl();
var C={};
B.queueFx(C,function(){setTimeout(function(){B.afterFx(C)
},D*1000)
});
return this
},fadeIn:function(C){var B=this.getFxEl();
C=C||{};
B.queueFx(C,function(){this.setOpacity(0);
this.fixDisplay();
this.dom.style.visibility="visible";
var D=C.endOpacity||1;
arguments.callee.anim=this.fxanim({opacity:{to:D}},C,null,0.5,"easeOut",function(){if(D==1){this.clearOpacity()
}B.afterFx(C)
})
});
return this
},fadeOut:function(C){var B=this.getFxEl();
C=C||{};
B.queueFx(C,function(){arguments.callee.anim=this.fxanim({opacity:{to:C.endOpacity||0}},C,null,0.5,"easeOut",function(){if(this.visibilityMode==CQ.Ext.Element.DISPLAY||C.useDisplay){this.dom.style.display="none"
}else{this.dom.style.visibility="hidden"
}this.clearOpacity();
B.afterFx(C)
})
});
return this
},scale:function(B,C,D){this.shift(CQ.Ext.apply({},D,{width:B,height:C}));
return this
},shift:function(C){var B=this.getFxEl();
C=C||{};
B.queueFx(C,function(){var F={},E=C.width,G=C.height,D=C.x,I=C.y,H=C.opacity;
if(E!==undefined){F.width={to:this.adjustWidth(E)}
}if(G!==undefined){F.height={to:this.adjustHeight(G)}
}if(C.left!==undefined){F.left={to:C.left}
}if(C.top!==undefined){F.top={to:C.top}
}if(C.right!==undefined){F.right={to:C.right}
}if(C.bottom!==undefined){F.bottom={to:C.bottom}
}if(D!==undefined||I!==undefined){F.points={to:[D!==undefined?D:this.getX(),I!==undefined?I:this.getY()]}
}if(H!==undefined){F.opacity={to:H}
}if(C.xy!==undefined){F.points={to:C.xy}
}arguments.callee.anim=this.fxanim(F,C,"motion",0.35,"easeOut",function(){B.afterFx(C)
})
});
return this
},ghost:function(B,D){var C=this.getFxEl();
D=D||{};
C.queueFx(D,function(){B=B||"b";
var I=this.getFxRestore();
var F=this.getWidth(),H=this.getHeight();
var G=this.dom.style;
var K=function(){if(D.useDisplay){C.setDisplayed(false)
}else{C.hide()
}C.clearOpacity();
C.setPositioning(I.pos);
G.width=I.width;
G.height=I.height;
C.afterFx(D)
};
var E={opacity:{to:0},points:{}},J=E.points;
switch(B.toLowerCase()){case"t":J.by=[0,-H];
break;
case"l":J.by=[-F,0];
break;
case"r":J.by=[F,0];
break;
case"b":J.by=[0,H];
break;
case"tl":J.by=[-F,-H];
break;
case"bl":J.by=[-F,H];
break;
case"br":J.by=[F,H];
break;
case"tr":J.by=[F,-H];
break
}arguments.callee.anim=this.fxanim(E,D,"motion",0.5,"easeOut",K)
});
return this
},syncFx:function(){this.fxDefaults=CQ.Ext.apply(this.fxDefaults||{},{block:false,concurrent:true,stopFx:false});
return this
},sequenceFx:function(){this.fxDefaults=CQ.Ext.apply(this.fxDefaults||{},{block:false,concurrent:false,stopFx:false});
return this
},nextFx:function(){var B=this.fxQueue[0];
if(B){B.call(this)
}},hasActiveFx:function(){return this.fxQueue&&this.fxQueue[0]
},stopFx:function(){if(this.hasActiveFx()){var B=this.fxQueue[0];
if(B&&B.anim&&B.anim.isAnimated()){this.fxQueue=[B];
B.anim.stop(true)
}}return this
},beforeFx:function(B){if(this.hasActiveFx()&&!B.concurrent){if(B.stopFx){this.stopFx();
return true
}return false
}return true
},hasFxBlock:function(){var B=this.fxQueue;
return B&&B[0]&&B[0].block
},queueFx:function(D,B){if(!this.fxQueue){this.fxQueue=[]
}if(!this.hasFxBlock()){CQ.Ext.applyIf(D,this.fxDefaults);
if(!D.concurrent){var C=this.beforeFx(D);
B.block=D.block;
this.fxQueue.push(B);
if(C){this.nextFx()
}}else{B.call(this)
}}return this
},fxWrap:function(G,E,D){var C;
if(!E.wrap||!(C=CQ.Ext.get(E.wrap))){var B;
if(E.fixPosition){B=this.getXY()
}var F=document.createElement("div");
F.style.visibility=D;
C=CQ.Ext.get(this.dom.parentNode.insertBefore(F,this.dom));
C.setPositioning(G);
if(C.getStyle("position")=="static"){C.position("relative")
}this.clearPositioning("auto");
C.clip();
C.dom.appendChild(this.dom);
if(B){C.setXY(B)
}}return C
},fxUnwrap:function(B,D,C){this.clearPositioning();
this.setPositioning(D);
if(!C.wrap){B.dom.parentNode.insertBefore(this.dom,B.dom);
B.remove()
}},getFxRestore:function(){var B=this.dom.style;
return{pos:this.getPositioning(),width:B.width,height:B.height}
},afterFx:function(B){if(B.afterStyle){this.applyStyles(B.afterStyle)
}if(B.afterCls){this.addClass(B.afterCls)
}if(B.remove===true){this.remove()
}CQ.Ext.callback(B.callback,B.scope,[this]);
if(!B.concurrent){this.fxQueue.shift();
this.nextFx()
}},getFxEl:function(){return CQ.Ext.get(this.dom)
},fxanim:function(E,F,C,G,D,B){C=C||"run";
F=F||{};
var H=CQ.Ext.lib.Anim[C](this.dom,E,(F.duration||G)||0.35,(F.easing||D)||"easeOut",function(){CQ.Ext.callback(B,this)
},this);
F.anim=H;
return H
}};
CQ.Ext.Fx.resize=CQ.Ext.Fx.scale;
CQ.Ext.apply(CQ.Ext.Element.prototype,CQ.Ext.Fx);
CQ.Ext.CompositeElement=function(B){this.elements=[];
this.addElements(B)
};
CQ.Ext.CompositeElement.prototype={isComposite:true,addElements:function(F){if(!F){return this
}if(typeof F=="string"){F=CQ.Ext.Element.selectorFunction(F)
}var E=this.elements;
var C=E.length-1;
for(var D=0,B=F.length;
D<B;
D++){E[++C]=CQ.Ext.get(F[D])
}return this
},fill:function(B){this.elements=[];
this.add(B);
return this
},filter:function(B){var C=[];
this.each(function(D){if(D.is(B)){C[C.length]=D.dom
}});
this.fill(C);
return this
},invoke:function(F,C){var E=this.elements;
for(var D=0,B=E.length;
D<B;
D++){CQ.Ext.Element.prototype[F].apply(E[D],C)
}return this
},add:function(B){if(typeof B=="string"){this.addElements(CQ.Ext.Element.selectorFunction(B))
}else{if(B.length!==undefined){this.addElements(B)
}else{this.addElements([B])
}}return this
},each:function(F,E){var D=this.elements;
for(var C=0,B=D.length;
C<B;
C++){if(F.call(E||D[C],D[C],this,C)===false){break
}}return this
},item:function(B){return this.elements[B]||null
},first:function(){return this.item(0)
},last:function(){return this.item(this.elements.length-1)
},getCount:function(){return this.elements.length
},contains:function(B){return this.indexOf(B)!==-1
},indexOf:function(B){return this.elements.indexOf(CQ.Ext.get(B))
},removeElement:function(E,G){if(CQ.Ext.isArray(E)){for(var D=0,B=E.length;
D<B;
D++){this.removeElement(E[D])
}return this
}var C=typeof E=="number"?E:this.indexOf(E);
if(C!==-1&&this.elements[C]){if(G){var F=this.elements[C];
if(F.dom){F.remove()
}else{CQ.Ext.removeNode(F)
}}this.elements.splice(C,1)
}return this
},replaceElement:function(E,D,B){var C=typeof E=="number"?E:this.indexOf(E);
if(C!==-1){if(B){this.elements[C].replaceWith(D)
}else{this.elements.splice(C,1,CQ.Ext.get(D))
}}return this
},clear:function(){this.elements=[]
}};
(function(){CQ.Ext.CompositeElement.createCall=function(C,D){if(!C[D]){C[D]=function(){return this.invoke(D,arguments)
}
}};
for(var B in CQ.Ext.Element.prototype){if(typeof CQ.Ext.Element.prototype[B]=="function"){CQ.Ext.CompositeElement.createCall(CQ.Ext.CompositeElement.prototype,B)
}}})();
CQ.Ext.CompositeElementLite=function(B){CQ.Ext.CompositeElementLite.superclass.constructor.call(this,B);
this.el=new CQ.Ext.Element.Flyweight()
};
CQ.Ext.extend(CQ.Ext.CompositeElementLite,CQ.Ext.CompositeElement,{addElements:function(F){if(F){if(CQ.Ext.isArray(F)){this.elements=this.elements.concat(F)
}else{var E=this.elements;
var C=E.length-1;
for(var D=0,B=F.length;
D<B;
D++){E[++C]=F[D]
}}}return this
},invoke:function(G,C){var E=this.elements;
var F=this.el;
for(var D=0,B=E.length;
D<B;
D++){F.dom=E[D];
CQ.Ext.Element.prototype[G].apply(F,C)
}return this
},item:function(B){if(!this.elements[B]){return null
}this.el.dom=this.elements[B];
return this.el
},addListener:function(C,H,G,F){var E=this.elements;
for(var D=0,B=E.length;
D<B;
D++){CQ.Ext.EventManager.on(E[D],C,H,G||E[D],F)
}return this
},each:function(G,F){var D=this.elements;
var E=this.el;
for(var C=0,B=D.length;
C<B;
C++){E.dom=D[C];
if(G.call(F||E,E,this,C)===false){break
}}return this
},indexOf:function(B){return this.elements.indexOf(CQ.Ext.getDom(B))
},replaceElement:function(E,D,B){var C=typeof E=="number"?E:this.indexOf(E);
if(C!==-1){D=CQ.Ext.getDom(D);
if(B){var F=this.elements[C];
F.parentNode.insertBefore(D,F);
CQ.Ext.removeNode(F)
}this.elements.splice(C,1,D)
}return this
}});
CQ.Ext.CompositeElementLite.prototype.on=CQ.Ext.CompositeElementLite.prototype.addListener;
if(CQ.Ext.DomQuery){CQ.Ext.Element.selectorFunction=CQ.Ext.DomQuery.select
}CQ.Ext.Element.select=function(B,E,C){var D;
if(typeof B=="string"){D=CQ.Ext.Element.selectorFunction(B,C)
}else{if(B.length!==undefined){D=B
}else{throw"Invalid selector"
}}if(E===true){return new CQ.Ext.CompositeElement(D)
}else{return new CQ.Ext.CompositeElementLite(D)
}};
CQ.Ext.select=CQ.Ext.Element.select;
CQ.Ext.data.Connection=function(B){CQ.Ext.apply(this,B);
this.addEvents("beforerequest","requestcomplete","requestexception");
CQ.Ext.data.Connection.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.data.Connection,CQ.Ext.util.Observable,{timeout:30000,autoAbort:false,disableCaching:true,disableCachingParam:"_dc",request:function(F){if(this.fireEvent("beforerequest",this,F)!==false){var D=F.params;
if(typeof D=="function"){D=D.call(F.scope||window,F)
}if(typeof D=="object"){D=CQ.Ext.urlEncode(D)
}if(this.extraParams){var H=CQ.Ext.urlEncode(this.extraParams);
D=D?(D+"&"+H):H
}var C=F.url||this.url;
C=CQ.Util.externalize(C);
if(typeof C=="function"){C=C.call(F.scope||window,F)
}if(F.form){var E=CQ.Ext.getDom(F.form);
C=C||E.action;
var K=E.getAttribute("enctype");
if(F.isUpload||(K&&K.toLowerCase()=="multipart/form-data")){return this.doFormUpload(F,D,C)
}var J=CQ.Ext.lib.Ajax.serializeForm(E);
D=D?(D+"&"+J):J
}var L=F.headers;
if(this.defaultHeaders){L=CQ.Ext.apply(L||{},this.defaultHeaders);
if(!F.headers){F.headers=L
}}var G={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:F},timeout:F.timeout||this.timeout};
var B=F.method||this.method||((D||F.xmlData||F.jsonData)?"POST":"GET");
if(B=="GET"&&(this.disableCaching&&F.disableCaching!==false)||F.disableCaching===true){var I=F.disableCachingParam||this.disableCachingParam;
C+=(C.indexOf("?")!=-1?"&":"?")+I+"="+(new Date().getTime())
}if(typeof F.autoAbort=="boolean"){if(F.autoAbort){this.abort()
}}else{if(this.autoAbort!==false){this.abort()
}}if((B=="GET"||F.xmlData||F.jsonData)&&D){C+=(C.indexOf("?")!=-1?"&":"?")+D;
D=""
}this.transId=CQ.Ext.lib.Ajax.request(B,C,G,D,F);
return this.transId
}else{CQ.Ext.callback(F.callback,F.scope,[F,null,null]);
return null
}},isLoading:function(B){if(B){return CQ.Ext.lib.Ajax.isCallInProgress(B)
}else{return this.transId?true:false
}},abort:function(B){if(B||this.isLoading()){CQ.Ext.lib.Ajax.abort(B||this.transId)
}},handleResponse:function(B){this.transId=false;
var C=B.argument.options;
B.argument=C?C.argument:null;
this.fireEvent("requestcomplete",this,B,C);
CQ.Ext.callback(C.success,C.scope,[B,C]);
CQ.Ext.callback(C.callback,C.scope,[C,true,B])
},handleFailure:function(B,D){this.transId=false;
var C=B.argument.options;
B.argument=C?C.argument:null;
this.fireEvent("requestexception",this,B,C,D);
CQ.Ext.callback(C.failure,C.scope,[B,C]);
CQ.Ext.callback(C.callback,C.scope,[C,false,B])
},doFormUpload:function(F,B,C){var D=CQ.Ext.id();
var G=document.createElement("iframe");
G.id=D;
G.name=D;
G.className="x-hidden";
if(CQ.Ext.isIE){G.src=CQ.Ext.SSL_SECURE_URL
}CQ.Util.getRoot().dom.appendChild(G);
if(CQ.Ext.isIE){document.frames[D].name=D
}var E=CQ.Ext.getDom(F.form);
E.target=D;
E.method="POST";
E.enctype=E.encoding="multipart/form-data";
if(C){E.action=C
}var M,K;
if(B){M=[];
B=CQ.Ext.urlDecode(B,false);
for(var I in B){if(B.hasOwnProperty(I)){K=document.createElement("input");
K.type="hidden";
K.name=I;
K.value=B[I];
E.appendChild(K);
M.push(K)
}}}function H(){var N={responseText:"",responseXML:null};
N.argument=F?F.argument:null;
try{var P;
if(CQ.Ext.isIE){P=G.contentWindow.document
}else{P=(G.contentDocument||window.frames[D].document)
}if(P&&P.body){N.responseText=P.body.innerHTML
}if(P&&P.XMLDocument){N.responseXML=P.XMLDocument
}else{N.responseXML=P
}}catch(O){}CQ.Ext.EventManager.removeListener(G,"load",H,this);
this.fireEvent("requestcomplete",this,N,F);
CQ.Ext.callback(F.success,F.scope,[N,F]);
CQ.Ext.callback(F.callback,F.scope,[F,true,N]);
setTimeout(function(){CQ.Ext.removeNode(G)
},100)
}CQ.Ext.EventManager.on(G,"load",H,this);
E.submit();
if(M){for(var J=0,L=M.length;
J<L;
J++){CQ.Ext.removeNode(M[J])
}}}});
CQ.Ext.Ajax=new CQ.Ext.data.Connection({autoAbort:false,serializeForm:function(B){return CQ.Ext.lib.Ajax.serializeForm(B)
}});
CQ.Ext.Updater=CQ.Ext.extend(CQ.Ext.util.Observable,{constructor:function(C,B){C=CQ.Ext.get(C);
if(!B&&C.updateManager){return C.updateManager
}this.el=C;
this.defaultUrl=null;
this.addEvents("beforeupdate","update","failure");
var D=CQ.Ext.Updater.defaults;
this.sslBlankUrl=D.sslBlankUrl;
this.disableCaching=D.disableCaching;
this.indicatorText=D.indicatorText;
this.showLoadIndicator=D.showLoadIndicator;
this.timeout=D.timeout;
this.loadScripts=D.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()
}CQ.Ext.Updater.superclass.constructor.call(this)
},getDefaultRenderer:function(){return new CQ.Ext.Updater.BasicRenderer()
},getEl:function(){return this.el
},update:function(C,G,H,E){if(this.fireEvent("beforeupdate",this.el,C,G)!==false){var B,D;
if(typeof C=="object"){B=C;
C=B.url;
G=G||B.params;
H=H||B.callback;
E=E||B.discardUrl;
D=B.scope;
if(typeof B.nocache!="undefined"){this.disableCaching=B.nocache
}if(typeof B.text!="undefined"){this.indicatorText='<div class="loading-indicator">'+B.text+"</div>"
}if(typeof B.scripts!="undefined"){this.loadScripts=B.scripts
}if(typeof B.timeout!="undefined"){this.timeout=B.timeout
}}this.showLoading();
if(!E){this.defaultUrl=C
}if(typeof C=="function"){C=C.call(this)
}var F=CQ.Ext.apply({},{url:C,params:(typeof G=="function"&&D)?G.createDelegate(D):G,success:this.processSuccess,failure:this.processFailure,scope:this,callback:undefined,timeout:(this.timeout*1000),disableCaching:this.disableCaching,argument:{options:B,url:C,form:null,callback:H,scope:D||window,params:G}},B);
this.transaction=CQ.Ext.Ajax.request(F)
}},formUpdate:function(D,B,C,E){if(this.fireEvent("beforeupdate",this.el,D,B)!==false){if(typeof B=="function"){B=B.call(this)
}D=CQ.Ext.getDom(D);
this.transaction=CQ.Ext.Ajax.request({form:D,url:B,success:this.processSuccess,failure:this.processFailure,scope:this,timeout:(this.timeout*1000),argument:{url:B,form:D,callback:E,reset:C}});
this.showLoading.defer(1,this)
}},refresh:function(B){if(this.defaultUrl==null){return 
}this.update(this.defaultUrl,null,B,true)
},startAutoRefresh:function(C,D,E,F,B){if(B){this.update(D||this.defaultUrl,E,F,true)
}if(this.autoRefreshProcId){clearInterval(this.autoRefreshProcId)
}this.autoRefreshProcId=setInterval(this.update.createDelegate(this,[D||this.defaultUrl,E,F,true]),C*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(B){this.transaction=null;
if(B.argument.form&&B.argument.reset){try{B.argument.form.reset()
}catch(C){}}if(this.loadScripts){this.renderer.render(this.el,B,this,this.updateComplete.createDelegate(this,[B]))
}else{this.renderer.render(this.el,B,this);
this.updateComplete(B)
}},updateComplete:function(B){this.fireEvent("update",this.el,B);
if(typeof B.argument.callback=="function"){B.argument.callback.call(B.argument.scope,this.el,true,B,B.argument.options)
}},processFailure:function(B){this.transaction=null;
this.fireEvent("failure",this.el,B);
if(typeof B.argument.callback=="function"){B.argument.callback.call(B.argument.scope,this.el,false,B,B.argument.options)
}},setRenderer:function(B){this.renderer=B
},getRenderer:function(){return this.renderer
},setDefaultUrl:function(B){this.defaultUrl=B
},abort:function(){if(this.transaction){CQ.Ext.Ajax.abort(this.transaction)
}},isUpdating:function(){if(this.transaction){return CQ.Ext.Ajax.isLoading(this.transaction)
}return false
}});
CQ.Ext.Updater.defaults={timeout:30,loadScripts:false,sslBlankUrl:(CQ.Ext.SSL_SECURE_URL||"javascript:false"),disableCaching:false,showLoadIndicator:true,indicatorText:'<div class="loading-indicator">Loading...</div>'};
CQ.Ext.Updater.updateElement=function(E,D,F,C){var B=CQ.Ext.get(E).getUpdater();
CQ.Ext.apply(B,C);
B.update(D,F,C?C.callback:null)
};
CQ.Ext.Updater.BasicRenderer=function(){};
CQ.Ext.Updater.BasicRenderer.prototype={render:function(D,B,C,E){D.update(B.responseText,C.loadScripts,E)
}};
CQ.Ext.UpdateManager=CQ.Ext.Updater;
(function(){Date.formatCodeToRegex=function(character,currentGroup){var p=Date.parseCodes[character];
if(p){p=CQ.Ext.type(p)=="function"?p():p;
Date.parseCodes[character]=p
}return p?CQ.Ext.applyIf({c:p.c?String.format(p.c,currentGroup||"{0}"):p.c},p):{g:0,c:null,s:CQ.Ext.escapeRe(character)}
};
var $f=Date.formatCodeToRegex;
CQ.Ext.apply(Date,{parseFunctions:{count:0},parseRegexes:[],formatFunctions:{count:0},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],y2kYear:50,MILLI:"ms",SECOND:"s",MINUTE:"mi",HOUR:"h",DAY:"d",MONTH:"mo",YEAR:"y",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(month){return Date.monthNames[month].substring(0,3)
},getShortDayName:function(day){return Date.dayNames[day].substring(0,3)
},getMonthNumber:function(name){return Date.monthNumbers[name.substring(0,1).toUpperCase()+name.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 c="Y-m-dTH:i:sP",code=[],i=0,l=c.length;
i<l;
++i){var e=c.charAt(i);
code.push(e=="T"?"'T'":Date.getFormatCode(e))
}return code.join(" + ")
},U:"Math.round(this.getTime() / 1000)"},parseDate:function(input,format){var p=Date.parseFunctions;
if(p[format]==null){Date.createParser(format)
}var func=p[format];
return Date[func](input)
},getFormatCode:function(character){var f=Date.formatCodes[character];
if(f){f=CQ.Ext.type(f)=="function"?f():f;
Date.formatCodes[character]=f
}return f||("'"+String.escape(character)+"'")
},createNewFormat:function(format){var funcName="format"+Date.formatFunctions.count++;
Date.formatFunctions[format]=funcName;
var code="Date.prototype."+funcName+" = function(){return ";
var special=false;
var ch="";
for(var i=0;
i<format.length;
++i){ch=format.charAt(i);
if(!special&&ch=="\\"){special=true
}else{if(special){special=false;
code+="'"+String.escape(ch)+"' + "
}else{code+=Date.getFormatCode(ch)+" + "
}}}eval(code.substring(0,code.length-3)+";}")
},createParser:function(format){var funcName="parse"+Date.parseFunctions.count++;
var regexNum=Date.parseRegexes.length;
var currentGroup=1;
Date.parseFunctions[format]=funcName;
var code="Date."+funcName+" = function(input){\nvar y, m, d, h = 0, i = 0, s = 0, ms = 0, o, z, u, v;\ninput = String(input);\nd = new Date();\ny = d.getFullYear();\nm = d.getMonth();\nd = d.getDate();\nvar results = input.match(Date.parseRegexes["+regexNum+"]);\nif (results && results.length > 0) {";
var regex="";
var special=false;
var ch="";
for(var i=0;
i<format.length;
++i){ch=format.charAt(i);
if(!special&&ch=="\\"){special=true
}else{if(special){special=false;
regex+=String.escape(ch)
}else{var obj=Date.formatCodeToRegex(ch,currentGroup);
currentGroup+=obj.g;
regex+=obj.s;
if(obj.g&&obj.c){code+=obj.c
}}}}code+="if (u){\nv = new Date(u * 1000);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0 && ms >= 0){\nv = new Date(y, m, d, h, i, s, ms);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0){\nv = new Date(y, m, d, h, i, s);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0 && i >= 0){\nv = new Date(y, m, d, h, i);\n}else if (y >= 0 && m >= 0 && d > 0 && h >= 0){\nv = new Date(y, m, d, h);\n}else if (y >= 0 && m >= 0 && d > 0){\nv = new Date(y, m, d);\n}else if (y >= 0 && m >= 0){\nv = new Date(y, m);\n}else if (y >= 0){\nv = new Date(y);\n}\n}\nreturn (v && (z || o))? (CQ.Ext.type(z) == 'number' ? v.add(Date.SECOND, -v.getTimezoneOffset() * 60 - z) : v.add(Date.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn))) : v;\n}";
Date.parseRegexes[regexNum]=new RegExp("^"+regex+"$","i");
eval(code)
},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 a=[],i=0;
i<7;
a.push(Date.getShortDayName(i)),++i){}return{g:0,c:null,s:"(?:"+a.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:0,c:null,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 a=[],i=0;
i<12;
a.push(Date.getShortMonthName(i)),++i){}return CQ.Ext.applyIf({s:"("+a.join("|")+")"},$f("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 $f("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 $f("G")
},G:{g:1,c:"h = parseInt(results[{0}], 10);\n",s:"(\\d{1,2})"},h:function(){return $f("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);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60);","var 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);","var hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60);","var 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:"z = results[{0}] * 1;\nz = (-43200 <= z && z <= 50400)? z : null;\n",s:"([+-]?\\d{1,5})"},c:function(){var calc=[];
var arr=[$f("Y",1),$f("m",2),$f("d",3),$f("h",4),$f("i",5),$f("s",6),{c:"ms = (results[7] || '.0').substring(1); ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n"},{c:"if(results[9] == 'Z'){\no = 0;\n}else{\n"+$f("P",9).c+"\n}"}];
for(var i=0,l=arr.length;
i<l;
++i){calc.push(arr[i].c)
}return{g:1,c:calc.join(""),s:arr[0].s+"-"+arr[1].s+"-"+arr[2].s+"T"+arr[3].s+":"+arr[4].s+":"+arr[5].s+"((.|,)\\d+)?("+$f("P",null).s+"|Z)"}
},U:{g:1,c:"u = parseInt(results[{0}], 10);\n",s:"(-?\\d+)"}}})
}());
CQ.Ext.override(Date,{dateFormat:function(C){if(Date.formatFunctions[C]==null){Date.createNewFormat(C)
}var B=Date.formatFunctions[C];
return this[B]()
},getTimezone:function(){return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")
},getGMTOffset:function(B){return(this.getTimezoneOffset()>0?"-":"+")+String.leftPad(Math.abs(Math.floor(this.getTimezoneOffset()/60)),2,"0")+(B?":":"")+String.leftPad(Math.abs(this.getTimezoneOffset()%60),2,"0")
},getDayOfYear:function(){var B=0;
Date.daysInMonth[1]=this.isLeapYear()?29:28;
for(var C=0;
C<this.getMonth();
++C){B+=Date.daysInMonth[C]
}return B+this.getDate()-1
},getWeekOfYear:function(){var C=86400000;
var D=7*C;
var E=Date.UTC(this.getFullYear(),this.getMonth(),this.getDate()+3)/C;
var B=Math.floor(E/7);
var F=new Date(B*D).getUTCFullYear();
return B-Math.floor(Date.UTC(F,0,7)/D)+1
},isLeapYear:function(){var B=this.getFullYear();
return !!((B&3)==0&&(B%100||(B%400==0&&B)))
},getFirstDayOfMonth:function(){var B=(this.getDay()-(this.getDate()-1))%7;
return(B<0)?(B+7):B
},getLastDayOfMonth:function(){var B=(this.getDay()+(Date.daysInMonth[this.getMonth()]-this.getDate()))%7;
return(B<0)?(B+7):B
},getFirstDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)
},getLastDateOfMonth:function(){return new Date(this.getFullYear(),this.getMonth(),this.getDaysInMonth())
},getDaysInMonth:function(){Date.daysInMonth[1]=this.isLeapYear()?29:28;
return Date.daysInMonth[this.getMonth()]
},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())
},clearTime:function(B){if(B){return this.clone().clearTime()
}this.setHours(0);
this.setMinutes(0);
this.setSeconds(0);
this.setMilliseconds(0);
return this
},add:function(C,D){var E=this.clone();
if(!C||D===0){return E
}switch(C.toLowerCase()){case Date.MILLI:E.setMilliseconds(this.getMilliseconds()+D);
break;
case Date.SECOND:E.setSeconds(this.getSeconds()+D);
break;
case Date.MINUTE:E.setMinutes(this.getMinutes()+D);
break;
case Date.HOUR:E.setHours(this.getHours()+D);
break;
case Date.DAY:E.setDate(this.getDate()+D);
break;
case Date.MONTH:var B=this.getDate();
if(B>28){B=Math.min(B,this.getFirstDateOfMonth().add("mo",D).getLastDateOfMonth().getDate())
}E.setDate(B);
E.setMonth(this.getMonth()+D);
break;
case Date.YEAR:E.setFullYear(this.getFullYear()+D);
break
}return E
},between:function(D,B){var C=this.getTime();
return D.getTime()<=C&&C<=B.getTime()
}});
Date.prototype.format=Date.prototype.dateFormat;
if(CQ.Ext.isSafari){Date.brokenSetMonth=Date.prototype.setMonth;
Date.prototype.setMonth=function(B){if(B<=-1){var E=Math.ceil(-B);
var D=Math.ceil(E/12);
var C=(E%12)?12-E%12:0;
this.setFullYear(this.getFullYear()-D);
return Date.brokenSetMonth.call(this,C)
}else{return Date.brokenSetMonth.apply(this,arguments)
}}
}CQ.Ext.util.DelayedTask=function(F,E,B){var H=null,G,C;
var D=function(){var I=new Date().getTime();
if(I-C>=G){clearInterval(H);
H=null;
F.apply(E,B||[])
}};
this.delay=function(J,L,K,I){if(H&&J!=G){this.cancel()
}G=J;
C=new Date().getTime();
F=L||F;
E=K||E;
B=I||B;
if(!H){H=setInterval(D,G)
}};
this.cancel=function(){if(H){clearInterval(H);
H=null
}}
};
CQ.Ext.util.TaskRunner=function(F){F=F||10;
var G=[],B=[];
var C=0;
var H=false;
var E=function(){H=false;
clearInterval(C);
C=0
};
var I=function(){if(!H){H=true;
C=setInterval(J,F)
}};
var D=function(K){B.push(K);
if(K.onStop){K.onStop.apply(K.scope||K)
}};
var J=function(){if(B.length>0){for(var P=0,L=B.length;
P<L;
P++){G.remove(B[P])
}B=[];
if(G.length<1){E();
return 
}}var N=new Date().getTime();
for(var P=0,L=G.length;
P<L;
++P){var O=G[P];
var K=N-O.taskRunTime;
if(O.interval<=K){var M=O.run.apply(O.scope||O,O.args||[++O.taskRunCount]);
O.taskRunTime=N;
if(M===false||O.taskRunCount===O.repeat){D(O);
return 
}}if(O.duration&&O.duration<=(N-O.taskStartTime)){D(O)
}}};
this.start=function(K){G.push(K);
K.taskStartTime=new Date().getTime();
K.taskRunTime=0;
K.taskRunCount=0;
I();
return K
};
this.stop=function(K){D(K);
return K
};
this.stopAll=function(){E();
for(var L=0,K=G.length;
L<K;
L++){if(G[L].onStop){G[L].onStop()
}}G=[];
B=[]
}
};
CQ.Ext.TaskMgr=new CQ.Ext.util.TaskRunner();
CQ.Ext.util.MixedCollection=function(C,B){this.items=[];
this.map={};
this.keys=[];
this.length=0;
this.addEvents("clear","add","replace","remove","sort");
this.allowFunctions=C===true;
if(B){this.getKey=B
}CQ.Ext.util.MixedCollection.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.util.MixedCollection,CQ.Ext.util.Observable,{allowFunctions:false,add:function(C,D){if(arguments.length==1){D=arguments[0];
C=this.getKey(D)
}if(typeof C=="undefined"||C===null){this.length++;
this.items.push(D);
this.keys.push(null)
}else{var B=this.map[C];
if(B){return this.replace(C,D)
}this.length++;
this.items.push(D);
this.map[C]=D;
this.keys.push(C)
}this.fireEvent("add",this.length-1,D,C);
return D
},getKey:function(B){return B.id
},replace:function(D,E){if(arguments.length==1){E=arguments[0];
D=this.getKey(E)
}var B=this.item(D);
if(typeof D=="undefined"||D===null||typeof B=="undefined"){return this.add(D,E)
}var C=this.indexOfKey(D);
this.items[C]=E;
this.map[D]=E;
this.fireEvent("replace",D,B,E);
return E
},addAll:function(F){if(arguments.length>1||CQ.Ext.isArray(F)){var C=arguments.length>1?arguments:F;
for(var E=0,B=C.length;
E<B;
E++){this.add(C[E])
}}else{for(var D in F){if(this.allowFunctions||typeof F[D]!="function"){this.add(D,F[D])
}}}},each:function(F,E){var C=[].concat(this.items);
for(var D=0,B=C.length;
D<B;
D++){if(F.call(E||C[D],C[D],D,B)===false){break
}}},eachKey:function(E,D){for(var C=0,B=this.keys.length;
C<B;
C++){E.call(D||window,this.keys[C],this.items[C],C,B)
}},find:function(E,D){for(var C=0,B=this.items.length;
C<B;
C++){if(E.call(D||window,this.items[C],this.keys[C])){return this.items[C]
}}return null
},insert:function(B,C,D){if(arguments.length==2){D=arguments[1];
C=this.getKey(D)
}if(B>=this.length){return this.add(C,D)
}this.length++;
this.items.splice(B,0,D);
if(typeof C!="undefined"&&C!=null){this.map[C]=D
}this.keys.splice(B,0,C);
this.fireEvent("add",B,D,C);
return D
},remove:function(B){return this.removeAt(this.indexOf(B))
},removeAt:function(B){if(B<this.length&&B>=0){this.length--;
var D=this.items[B];
this.items.splice(B,1);
var C=this.keys[B];
if(typeof C!="undefined"){delete this.map[C]
}this.keys.splice(B,1);
this.fireEvent("remove",D,C);
return D
}return false
},removeKey:function(B){return this.removeAt(this.indexOfKey(B))
},getCount:function(){return this.length
},indexOf:function(B){return this.items.indexOf(B)
},indexOfKey:function(B){return this.keys.indexOf(B)
},item:function(B){var C=typeof this.map[B]!="undefined"?this.map[B]:this.items[B];
return typeof C!="function"||this.allowFunctions?C:null
},itemAt:function(B){return this.items[B]
},key:function(B){return this.map[B]
},contains:function(B){return this.indexOf(B)!=-1
},containsKey:function(B){return typeof this.map[B]!="undefined"
},clear:function(){this.length=0;
this.items=[];
this.keys=[];
this.map={};
this.fireEvent("clear")
},first:function(){return this.items[0]
},last:function(){return this.items[this.length-1]
},_sort:function(J,B,I){var D=String(B).toUpperCase()=="DESC"?-1:1;
I=I||function(L,K){return L-K
};
var H=[],C=this.keys,G=this.items;
for(var E=0,F=G.length;
E<F;
E++){H[H.length]={key:C[E],value:G[E],index:E}
}H.sort(function(L,K){var M=I(L[J],K[J])*D;
if(M==0){M=(L.index<K.index?-1:1)
}return M
});
for(var E=0,F=H.length;
E<F;
E++){G[E]=H[E].value;
C[E]=H[E].key
}this.fireEvent("sort",this)
},sort:function(B,C){this._sort("value",B,C)
},keySort:function(B,C){this._sort("key",B,C||function(E,D){return String(E).toUpperCase()-String(D).toUpperCase()
})
},getRange:function(F,B){var C=this.items;
if(C.length<1){return[]
}F=F||0;
B=Math.min(typeof B=="undefined"?this.length-1:B,this.length-1);
var E=[];
if(F<=B){for(var D=F;
D<=B;
D++){E[E.length]=C[D]
}}else{for(var D=F;
D>=B;
D--){E[E.length]=C[D]
}}return E
},filter:function(D,C,E,B){if(CQ.Ext.isEmpty(C,false)){return this.clone()
}C=this.createValueMatcher(C,E,B);
return this.filterBy(function(F){return F&&C.test(F[D])
})
},filterBy:function(G,F){var H=new CQ.Ext.util.MixedCollection();
H.getKey=this.getKey;
var C=this.keys,E=this.items;
for(var D=0,B=E.length;
D<B;
D++){if(G.call(F||this,E[D],C[D])){H.add(C[D],E[D])
}}return H
},findIndex:function(D,C,F,E,B){if(CQ.Ext.isEmpty(C,false)){return -1
}C=this.createValueMatcher(C,E,B);
return this.findIndexBy(function(G){return G&&C.test(G[D])
},null,F)
},findIndexBy:function(G,F,H){var C=this.keys,E=this.items;
for(var D=(H||0),B=E.length;
D<B;
D++){if(G.call(F||this,E[D],C[D])){return D
}}if(typeof H=="number"&&H>0){for(var D=0;
D<H;
D++){if(G.call(F||this,E[D],C[D])){return D
}}}return -1
},createValueMatcher:function(C,D,B){if(!C.exec){C=String(C);
C=new RegExp((D===true?"":"^")+CQ.Ext.escapeRe(C),B?"":"i")
}return C
},clone:function(){var F=new CQ.Ext.util.MixedCollection();
var C=this.keys,E=this.items;
for(var D=0,B=E.length;
D<B;
D++){F.add(C[D],E[D])
}F.getKey=this.getKey;
return F
}});
CQ.Ext.util.MixedCollection.prototype.get=CQ.Ext.util.MixedCollection.prototype.item;
CQ.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":CQ.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(CQ.Ext.isArray(o)){return encodeArray(o)
}else{if(CQ.Ext.isDate(o)){return CQ.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+")")
}
})();
CQ.Ext.encode=CQ.Ext.util.JSON.encode;
CQ.Ext.decode=CQ.Ext.util.JSON.decode;
CQ.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(!CQ.Ext.isDate(v)){v=new Date(Date.parse(v))
}return v.dateFormat(format||"m/d/Y")
},dateRenderer:function(format){return function(v){return CQ.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/>")
}}
}();
CQ.Ext.XTemplate=function(){CQ.Ext.XTemplate.superclass.constructor.apply(this,arguments);
var Q=this.html;
Q=["<tpl>",Q,"</tpl>"].join("");
var P=/<tpl\b[^>]*>((?:(?=([^<]+))\2|<(?!tpl\b[^>]*>))*?)<\/tpl>/;
var O=/^<tpl\b[^>]*?for="(.*?)"/;
var M=/^<tpl\b[^>]*?if="(.*?)"/;
var K=/^<tpl\b[^>]*?exec="(.*?)"/;
var D,C=0;
var H=[];
while(D=Q.match(P)){var N=D[0].match(O);
var L=D[0].match(M);
var J=D[0].match(K);
var F=null,I=null,E=null;
var B=N&&N[1]?N[1]:"";
if(L){F=L&&L[1]?L[1]:null;
if(F){I=new Function("values","parent","xindex","xcount","with(values){ return "+(CQ.Ext.util.Format.htmlDecode(F))+"; }")
}}if(J){F=J&&J[1]?J[1]:null;
if(F){E=new Function("values","parent","xindex","xcount","with(values){ "+(CQ.Ext.util.Format.htmlDecode(F))+"; }")
}}if(B){switch(B){case".":B=new Function("values","parent","with(values){ return values; }");
break;
case"..":B=new Function("values","parent","with(values){ return parent; }");
break;
default:B=new Function("values","parent","with(values){ return "+B+"; }")
}}H.push({id:C,target:B,exec:E,test:I,body:D[1]||""});
Q=Q.replace(D[0],"{xtpl"+C+"}");
++C
}for(var G=H.length-1;
G>=0;
--G){this.compileTpl(H[G])
}this.master=H[H.length-1];
this.tpls=H
};
CQ.Ext.extend(CQ.Ext.XTemplate,CQ.Ext.Template,{re:/\{([\w-\.\#]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\\]\s?[\d\.\+\-\*\\\(\)]+)?\}/g,codeRe:/\{\[((?:\\\]|.|\n)*?)\]\}/g,applySubTemplate:function(B,I,H,E,D){var K=this.tpls[B];
if(K.test&&!K.test.call(this,I,H,E,D)){return""
}if(K.exec&&K.exec.call(this,I,H,E,D)){return""
}var J=K.target?K.target.call(this,I,H):I;
H=K.target?I:H;
if(K.target&&CQ.Ext.isArray(J)){var C=[];
for(var F=0,G=J.length;
F<G;
F++){C[C.length]=K.compiled.call(this,J[F],H,F+1,G)
}return C.join("")
}return K.compiled.call(this,J,H,E,D)
},compileTpl:function(tpl){var fm=CQ.Ext.util.Format;
var useF=this.disableFormats!==true;
var sep=CQ.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(CQ.Ext.isGecko){body="tpl.compiled = function(values, parent, xindex, xcount){ return '"+tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn)+"';};"
}else{body=["tpl.compiled = function(values, parent, xindex, xcount){ return ['"];
body.push(tpl.body.replace(/(\r\n|\n)/g,"\\n").replace(/'/g,"\\'").replace(this.re,fn).replace(this.codeRe,codeFn));
body.push("'].join('');};");
body=body.join("")
}eval(body);
return this
},applyTemplate:function(B){return this.master.compiled.call(this,B,{},1,1)
},compile:function(){return this
}});
CQ.Ext.XTemplate.prototype.apply=CQ.Ext.XTemplate.prototype.applyTemplate;
CQ.Ext.XTemplate.from=function(B){B=CQ.Ext.getDom(B);
return new CQ.Ext.XTemplate(B.value||B.innerHTML)
};
CQ.Ext.util.CSS=function(){var E=null;
var D=document;
var C=/(-[a-z])/gi;
var B=function(F,G){return G.charAt(1).toUpperCase()
};
return{createStyleSheet:function(H,K){var G;
var F=D.getElementsByTagName("head")[0];
var J=D.createElement("style");
J.setAttribute("type","text/css");
if(K){J.setAttribute("id",K)
}if(CQ.Ext.isIE){F.appendChild(J);
G=J.styleSheet;
G.cssText=H
}else{try{J.appendChild(D.createTextNode(H))
}catch(I){J.cssText=H
}F.appendChild(J);
G=J.styleSheet?J.styleSheet:(J.sheet||D.styleSheets[D.styleSheets.length-1])
}this.cacheStyleSheet(G);
return G
},removeStyleSheet:function(G){var F=D.getElementById(G);
if(F){F.parentNode.removeChild(F)
}},swapStyleSheet:function(H,F){this.removeStyleSheet(H);
var G=D.createElement("link");
G.setAttribute("rel","stylesheet");
G.setAttribute("type","text/css");
G.setAttribute("id",H);
G.setAttribute("href",F);
D.getElementsByTagName("head")[0].appendChild(G)
},refreshCache:function(){return this.getRules(true)
},cacheStyleSheet:function(G){if(!E){E={}
}try{var I=G.cssRules||G.rules;
for(var F=I.length-1;
F>=0;
--F){E[I[F].selectorText]=I[F]
}}catch(H){}},getRules:function(G){if(E==null||G){E={};
var I=D.styleSheets;
for(var H=0,F=I.length;
H<F;
H++){try{this.cacheStyleSheet(I[H])
}catch(J){}}}return E
},getRule:function(F,H){var G=this.getRules(H);
if(!CQ.Ext.isArray(F)){return G[F]
}for(var I=0;
I<F.length;
I++){if(G[F[I]]){return G[F[I]]
}}return null
},updateRule:function(F,I,H){if(!CQ.Ext.isArray(F)){var J=this.getRule(F);
if(J){J.style[I.replace(C,B)]=H;
return true
}}else{for(var G=0;
G<F.length;
G++){if(this.updateRule(F[G],I,H)){return true
}}}return false
}}
}();
CQ.Ext.util.ClickRepeater=function(C,B){this.el=CQ.Ext.get(C);
this.el.unselectable();
CQ.Ext.apply(this,B);
this.addEvents("mousedown","click","mouseup");
this.el.on("mousedown",this.handleMouseDown,this);
if(this.preventDefault||this.stopDefault){this.el.on("click",function(D){if(this.preventDefault){D.preventDefault()
}if(this.stopDefault){D.stopEvent()
}},this)
}if(this.handler){this.on("click",this.handler,this.scope||this)
}CQ.Ext.util.ClickRepeater.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.util.ClickRepeater,CQ.Ext.util.Observable,{interval:20,delay:250,preventDefault:true,stopDefault:false,timer:0,handleMouseDown:function(){clearTimeout(this.timer);
this.el.blur();
if(this.pressClass){this.el.addClass(this.pressClass)
}this.mousedownTime=new Date();
CQ.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(C,B,E,D){return(C==D)?B+E:E*(-Math.pow(2,-10*C/D)+1)+B
},handleMouseOut:function(){clearTimeout(this.timer);
if(this.pressClass){this.el.removeClass(this.pressClass)
}this.el.on("mouseover",this.handleMouseReturn,this)
},handleMouseReturn:function(){this.el.un("mouseover",this.handleMouseReturn,this);
if(this.pressClass){this.el.addClass(this.pressClass)
}this.click()
},handleMouseUp:function(){clearTimeout(this.timer);
this.el.un("mouseover",this.handleMouseReturn,this);
this.el.un("mouseout",this.handleMouseOut,this);
CQ.Ext.getDoc().un("mouseup",this.handleMouseUp,this);
this.el.removeClass(this.pressClass);
this.fireEvent("mouseup",this)
}});
CQ.Ext.KeyNav=function(C,B){this.el=CQ.Ext.get(C);
CQ.Ext.apply(this,B);
if(!this.disabled){this.disabled=true;
this.enable()
}};
CQ.Ext.KeyNav.prototype={disabled:false,defaultEventAction:"stopEvent",forceKeyDown:false,prepareEvent:function(D){var B=D.getKey();
var C=this.keyToHandler[B];
if(CQ.Ext.isSafari2&&C&&B>=37&&B<=40){D.stopEvent()
}},relay:function(D){var B=D.getKey();
var C=this.keyToHandler[B];
if(C&&this[C]){if(this.doRelay(D,this[C],C)!==true){D[this.defaultEventAction]()
}}},doRelay:function(D,C,B){return C.call(this.scope||this,D)
},enter:false,left:false,right:false,up:false,down:false,tab:false,esc:false,pageUp:false,pageDown:false,del:false,home:false,end:false,keyToHandler:{37:"left",39:"right",38:"up",40:"down",33:"pageUp",34:"pageDown",46:"del",36:"home",35:"end",13:"enter",27:"esc",9:"tab"},enable:function(){if(this.disabled){if(this.forceKeyDown||CQ.Ext.isIE||CQ.Ext.isSafari3||CQ.Ext.isAir){this.el.on("keydown",this.relay,this)
}else{this.el.on("keydown",this.prepareEvent,this);
this.el.on("keypress",this.relay,this)
}this.disabled=false
}},disable:function(){if(!this.disabled){if(this.forceKeyDown||CQ.Ext.isIE||CQ.Ext.isSafari3||CQ.Ext.isAir){this.el.un("keydown",this.relay)
}else{this.el.un("keydown",this.prepareEvent);
this.el.un("keypress",this.relay)
}this.disabled=true
}}};
CQ.Ext.KeyMap=function(D,C,B){this.el=CQ.Ext.get(D);
this.eventName=B||"keydown";
this.bindings=[];
if(C){this.addBinding(C)
}this.enable()
};
CQ.Ext.KeyMap.prototype={stopEvent:false,addBinding:function(E){if(CQ.Ext.isArray(E)){for(var G=0,I=E.length;
G<I;
G++){this.addBinding(E[G])
}return 
}var O=E.key,D=E.shift,B=E.ctrl,H=E.alt,K=E.fn||E.handler,N=E.scope;
if(E.stopEvent){this.stopEvent=E.stopEvent
}if(typeof O=="string"){var L=[];
var J=O.toUpperCase();
for(var F=0,I=J.length;
F<I;
F++){L.push(J.charCodeAt(F))
}O=L
}var C=CQ.Ext.isArray(O);
var M=function(S){if((!D||S.shiftKey)&&(!B||S.ctrlKey)&&(!H||S.altKey)){var Q=S.getKey();
if(C){for(var R=0,P=O.length;
R<P;
R++){if(O[R]==Q){if(this.stopEvent){S.stopEvent()
}K.call(N||window,Q,S);
return 
}}}else{if(Q==O){if(this.stopEvent){S.stopEvent()
}K.call(N||window,Q,S)
}}}};
this.bindings.push(M)
},on:function(C,E,D){var H,B,F,G;
if(typeof C=="object"&&!CQ.Ext.isArray(C)){H=C.key;
B=C.shift;
F=C.ctrl;
G=C.alt
}else{H=C
}this.addBinding({key:H,shift:B,ctrl:F,alt:G,fn:E,scope:D})
},handleKeyDown:function(E){if(this.enabled){var C=this.bindings;
for(var D=0,B=C.length;
D<B;
D++){C[D].call(this,E)
}}},isEnabled:function(){return this.enabled
},enable:function(){if(!this.enabled){this.el.on(this.eventName,this.handleKeyDown,this);
this.enabled=true
}},disable:function(){if(this.enabled){this.el.removeListener(this.eventName,this.handleKeyDown,this);
this.enabled=false
}}};
CQ.Ext.util.TextMetrics=function(){var B;
return{measure:function(C,D,E){if(!B){B=CQ.Ext.util.TextMetrics.Instance(C,E)
}B.bind(C);
B.setFixedWidth(E||"auto");
return B.getSize(D)
},createInstance:function(C,D){return CQ.Ext.util.TextMetrics.Instance(C,D)
}}
}();
CQ.Ext.util.TextMetrics.Instance=function(C,E){var D=new CQ.Ext.Element(document.createElement("div"));
CQ.Util.getRoot().appendChild(D.dom);
D.position("absolute");
D.setLeftTop(-1000,-1000);
D.hide();
if(E){D.setWidth(E)
}var B={getSize:function(G){D.update(G);
var F=D.getSize();
D.update("");
return F
},bind:function(F){D.setStyle(CQ.Ext.fly(F).getStyles("font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"))
},setFixedWidth:function(F){D.setWidth(F)
},getWidth:function(F){D.dom.style.width="auto";
return this.getSize(F).width
},getHeight:function(F){return this.getSize(F).height
}};
B.bind(C);
return B
};
CQ.Ext.Element.measureText=CQ.Ext.util.TextMetrics.measure;
(function(){var B=CQ.Ext.EventManager;
var C=CQ.Ext.lib.Dom;
CQ.Ext.dd.DragDrop=function(F,D,E){if(F){this.init(F,D,E)
}};
CQ.Ext.dd.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true
},unlock:function(){this.locked=false
},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(D,E){},startDrag:function(D,E){},b4Drag:function(D){},onDrag:function(D){},onDragEnter:function(D,E){},b4DragOver:function(D){},onDragOver:function(D,E){},b4DragOut:function(D){},onDragOut:function(D,E){},b4DragDrop:function(D){},onDragDrop:function(D,E){},onInvalidDrop:function(D){},b4EndDrag:function(D){},endDrag:function(D){},b4MouseDown:function(D){},onMouseDown:function(D){},onMouseUp:function(D){},onAvailable:function(){},defaultPadding:{left:0,right:0,top:0,bottom:0},constrainTo:function(I,G,N){if(typeof G=="number"){G={left:G,right:G,top:G,bottom:G}
}G=G||this.defaultPadding;
var K=CQ.Ext.get(this.getEl()).getBox();
var D=CQ.Ext.get(I);
var M=D.getScroll();
var J,E=D.dom;
if(E==document.body){J={x:M.left,y:M.top,width:CQ.Ext.lib.Dom.getViewWidth(),height:CQ.Ext.lib.Dom.getViewHeight()}
}else{var L=D.getXY();
J={x:L[0]+M.left,y:L[1]+M.top,width:E.clientWidth,height:E.clientHeight}
}var H=K.y-J.y;
var F=K.x-J.x;
this.resetConstraints();
this.setXConstraint(F-(G.left||0),J.width-F-K.width-(G.right||0),this.xTickSize);
this.setYConstraint(H-(G.top||0),J.height-H-K.height-(G.bottom||0),this.yTickSize)
},getEl:function(){if(!this._domRef){this._domRef=CQ.Ext.getDom(this.id)
}return this._domRef
},getDragEl:function(){return CQ.Ext.getDom(this.dragElId)
},init:function(F,D,E){this.initTarget(F,D,E);
B.on(this.id,"mousedown",this.handleMouseDown,this)
},initTarget:function(F,D,E){this.config=E||{};
this.DDM=CQ.Ext.dd.DDM;
this.groups={};
if(typeof F!=="string"){F=CQ.Ext.id(F)
}this.id=F;
this.addToGroup((D)?D:"default");
this.handleElId=F;
this.setDragElId(F);
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(F,D,G,E){if(!D&&0!==D){this.padding=[F,F,F,F]
}else{if(!G&&0!==G){this.padding=[F,D,F,D]
}else{this.padding=[F,D,G,E]
}}},setInitPosition:function(G,F){var H=this.getEl();
if(!this.DDM.verifyEl(H)){return 
}var E=G||0;
var D=F||0;
var I=C.getXY(H);
this.initPageX=I[0]-E;
this.initPageY=I[1]-D;
this.lastPageX=I[0];
this.lastPageY=I[1];
this.setStartPosition(I)
},setStartPosition:function(E){var D=E||C.getXY(this.getEl());
this.deltaSetXY=null;
this.startPageX=D[0];
this.startPageY=D[1]
},addToGroup:function(D){this.groups[D]=true;
this.DDM.regDragDrop(this,D)
},removeFromGroup:function(D){if(this.groups[D]){delete this.groups[D]
}this.DDM.removeDDFromGroup(this,D)
},setDragElId:function(D){this.dragElId=D
},setHandleElId:function(D){if(typeof D!=="string"){D=CQ.Ext.id(D)
}this.handleElId=D;
this.DDM.regHandle(this.id,D)
},setOuterHandleElId:function(D){if(typeof D!=="string"){D=CQ.Ext.id(D)
}B.on(D,"mousedown",this.handleMouseDown,this);
this.setHandleElId(D);
this.hasOuterHandles=true
},unreg:function(){B.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(F,E){if(this.primaryButtonOnly&&F.button!=0){return 
}if(this.isLocked()){return 
}this.DDM.refreshCache(this.groups);
var D=new CQ.Ext.lib.Point(CQ.Ext.lib.Event.getPageX(F),CQ.Ext.lib.Event.getPageY(F));
if(!this.hasOuterHandles&&!this.DDM.isOverTarget(D,this)){}else{if(this.clickValidator(F)){this.setStartPosition();
this.b4MouseDown(F);
this.onMouseDown(F);
this.DDM.handleMouseDown(F,this);
this.DDM.stopEvent(F)
}else{}}},clickValidator:function(E){var D=E.getTarget();
return(this.isValidHandleChild(D)&&(this.id==this.handleElId||this.DDM.handleWasClicked(D,this.id)))
},addInvalidHandleType:function(D){var E=D.toUpperCase();
this.invalidHandleTypes[E]=E
},addInvalidHandleId:function(D){if(typeof D!=="string"){D=CQ.Ext.id(D)
}this.invalidHandleIds[D]=D
},addInvalidHandleClass:function(D){this.invalidHandleClasses.push(D)
},removeInvalidHandleType:function(D){var E=D.toUpperCase();
delete this.invalidHandleTypes[E]
},removeInvalidHandleId:function(D){if(typeof D!=="string"){D=CQ.Ext.id(D)
}delete this.invalidHandleIds[D]
},removeInvalidHandleClass:function(E){for(var F=0,D=this.invalidHandleClasses.length;
F<D;
++F){if(this.invalidHandleClasses[F]==E){delete this.invalidHandleClasses[F]
}}},isValidHandleChild:function(G){var F=true;
var I;
try{I=G.nodeName.toUpperCase()
}catch(H){I=G.nodeName
}F=F&&!this.invalidHandleTypes[I];
F=F&&!this.invalidHandleIds[G.id];
for(var E=0,D=this.invalidHandleClasses.length;
F&&E<D;
++E){F=!CQ.Ext.fly(G).hasClass(this.invalidHandleClasses[E])
}return F
},setXTicks:function(G,D){this.xTicks=[];
this.xTickSize=D;
var F={};
for(var E=this.initPageX;
E>=this.minX;
E=E-D){if(!F[E]){this.xTicks[this.xTicks.length]=E;
F[E]=true
}}for(E=this.initPageX;
E<=this.maxX;
E=E+D){if(!F[E]){this.xTicks[this.xTicks.length]=E;
F[E]=true
}}this.xTicks.sort(this.DDM.numericSort)
},setYTicks:function(G,D){this.yTicks=[];
this.yTickSize=D;
var F={};
for(var E=this.initPageY;
E>=this.minY;
E=E-D){if(!F[E]){this.yTicks[this.yTicks.length]=E;
F[E]=true
}}for(E=this.initPageY;
E<=this.maxY;
E=E+D){if(!F[E]){this.yTicks[this.yTicks.length]=E;
F[E]=true
}}this.yTicks.sort(this.DDM.numericSort)
},setXConstraint:function(F,E,D){this.leftConstraint=F;
this.rightConstraint=E;
this.minX=this.initPageX-F;
this.maxX=this.initPageX+E;
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,F,E){this.topConstraint=D;
this.bottomConstraint=F;
this.minY=this.initPageY-D;
this.maxY=this.initPageY+F;
if(E){this.setYTicks(this.initPageY,E)
}this.constrainY=true
},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var E=(this.maintainOffset)?this.lastPageX-this.initPageX:0;
var D=(this.maintainOffset)?this.lastPageY-this.initPageY:0;
this.setInitPosition(E,D)
}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(J,G){if(!G){return J
}else{if(G[0]>=J){return G[0]
}else{for(var E=0,D=G.length;
E<D;
++E){var F=E+1;
if(G[F]&&G[F]>=J){var I=J-G[E];
var H=G[F]-J;
return(H>I)?G[E]:G[F]
}}return G[G.length-1]
}}},toString:function(){return("DragDrop "+this.id)
}}
})();
if(!CQ.Ext.dd.DragDropMgr){CQ.Ext.dd.DragDropMgr=function(){var B=CQ.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(E,D){for(var F in this.ids){for(var C in this.ids[F]){var G=this.ids[F][C];
if(!this.isTypeOfDD(G)){continue
}G[E].apply(G,D)
}}},_onLoad:function(){this.init();
B.on(document,"mouseup",this.handleMouseUp,this,true);
B.on(document,"mousemove",this.handleMouseMove,this,true);
B.on(window,"unload",this._onUnload,this,true);
B.on(window,"resize",this._onResize,this,true)
},_onResize:function(C){this._execOnAll("resetConstraints",[])
},lock:function(){this.locked=true
},unlock:function(){this.locked=false
},isLocked:function(){return this.locked
},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:350,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(D,C){if(!this.initialized){this.init()
}if(!this.ids[C]){this.ids[C]={}
}this.ids[C][D.id]=D
},removeDDFromGroup:function(E,C){if(!this.ids[C]){this.ids[C]={}
}var D=this.ids[C];
if(D&&D[E.id]){delete D[E.id]
}},_remove:function(D){for(var C in D.groups){if(C&&this.ids[C][D.id]){delete this.ids[C][D.id]
}}delete this.handleIds[D.id]
},regHandle:function(D,C){if(!this.handleIds[D]){this.handleIds[D]={}
}this.handleIds[D][C]=C
},isDragDrop:function(C){return(this.getDDById(C))?true:false
},getRelated:function(G,D){var F=[];
for(var E in G.groups){for(j in this.ids[E]){var C=this.ids[E][j];
if(!this.isTypeOfDD(C)){continue
}if(!D||C.isTarget){F[F.length]=C
}}}return F
},isLegalTarget:function(G,F){var D=this.getRelated(G,true);
for(var E=0,C=D.length;
E<C;
++E){if(D[E].id==F.id){return true
}}return false
},isTypeOfDD:function(C){return(C&&C.__ygDragDrop)
},isHandle:function(D,C){return(this.handleIds[D]&&this.handleIds[D][C])
},getDDById:function(D){for(var C in this.ids){if(this.ids[C][D]){return this.ids[C][D]
}}return null
},handleMouseDown:function(E,D){if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.disable()
}this.currentTarget=E.getTarget();
this.dragCurrent=D;
var C=D.getEl();
this.startX=E.getPageX();
this.startY=E.getPageY();
this.deltaX=this.startX-C.offsetLeft;
this.deltaY=this.startY-C.offsetTop;
this.dragThreshMet=false;
this.clickTimeout=setTimeout(function(){var F=CQ.Ext.dd.DDM;
F.startDrag(F.startX,F.startY)
},this.clickTimeThresh)
},startDrag:function(C,D){clearTimeout(this.clickTimeout);
if(this.dragCurrent){this.dragCurrent.b4StartDrag(C,D);
this.dragCurrent.startDrag(C,D)
}this.dragThreshMet=true
},handleMouseUp:function(C){if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}if(!this.dragCurrent){return 
}clearTimeout(this.clickTimeout);
if(this.dragThreshMet){this.fireEvents(C,true)
}else{}this.stopDrag(C);
this.stopEvent(C)
},stopEvent:function(C){if(this.stopPropagation){C.stopPropagation()
}if(this.preventDefault){C.preventDefault()
}},stopDrag:function(C){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(C);
this.dragCurrent.endDrag(C)
}this.dragCurrent.onMouseUp(C)
}this.dragCurrent=null;
this.dragOvers={}
},handleMouseMove:function(E){if(!this.dragCurrent){return true
}if(CQ.Ext.isIE&&(E.button!==0&&E.button!==1&&E.button!==2)){this.stopEvent(E);
return this.handleMouseUp(E)
}if(!this.dragThreshMet){var D=Math.abs(this.startX-E.getPageX());
var C=Math.abs(this.startY-E.getPageY());
if(D>this.clickPixelThresh||C>this.clickPixelThresh){this.startDrag(this.startX,this.startY)
}}if(this.dragThreshMet){this.dragCurrent.b4Drag(E);
this.dragCurrent.onDrag(E);
if(!this.dragCurrent.moveOnly){this.fireEvents(E,false)
}}this.stopEvent(E);
return true
},fireEvents:function(L,M){var O=this.dragCurrent;
if(!O||O.isLocked()){return 
}var P=L.getPoint();
var C=[];
var F=[];
var J=[];
var H=[];
var E=[];
for(var G in this.dragOvers){var D=this.dragOvers[G];
if(!this.isTypeOfDD(D)){continue
}if(!this.isOverTarget(P,D,this.mode)){F.push(D)
}C[G]=true;
delete this.dragOvers[G]
}for(var N in O.groups){if("string"!=typeof N){continue
}for(G in this.ids[N]){var I=this.ids[N][G];
if(!this.isTypeOfDD(I)){continue
}if(I.isTarget&&!I.isLocked()&&I!=O){if(this.isOverTarget(P,I,this.mode)){if(M){H.push(I)
}else{if(!C[I.id]){E.push(I)
}else{J.push(I)
}this.dragOvers[I.id]=I
}}}}}if(this.mode){if(F.length){O.b4DragOut(L,F);
O.onDragOut(L,F)
}if(E.length){O.onDragEnter(L,E)
}if(J.length){O.b4DragOver(L,J);
O.onDragOver(L,J)
}if(H.length){O.b4DragDrop(L,H);
O.onDragDrop(L,H)
}}else{var K=0;
for(G=0,K=F.length;
G<K;
++G){O.b4DragOut(L,F[G].id);
O.onDragOut(L,F[G].id)
}for(G=0,K=E.length;
G<K;
++G){O.onDragEnter(L,E[G].id)
}for(G=0,K=J.length;
G<K;
++G){O.b4DragOver(L,J[G].id);
O.onDragOver(L,J[G].id)
}for(G=0,K=H.length;
G<K;
++G){O.b4DragDrop(L,H[G].id);
O.onDragDrop(L,H[G].id)
}}if(M&&!H.length){O.onInvalidDrop(L)
}},getBestMatch:function(E){var G=null;
var D=E.length;
if(D==1){G=E[0]
}else{for(var F=0;
F<D;
++F){var C=E[F];
if(C.cursorIsOver){G=C;
break
}else{if(!G||G.overlap.getArea()<C.overlap.getArea()){G=C
}}}}return G
},refreshCache:function(D){for(var C in D){if("string"!=typeof C){continue
}for(var E in this.ids[C]){var F=this.ids[C][E];
if(this.isTypeOfDD(F)){var G=this.getLocation(F);
if(G){this.locationCache[F.id]=G
}else{delete this.locationCache[F.id]
}}}}},verifyEl:function(D){if(D){var C;
if(CQ.Ext.isIE){try{C=D.offsetParent
}catch(E){}}else{C=D.offsetParent
}if(C){return true
}}return false
},getLocation:function(H){if(!this.isTypeOfDD(H)){return null
}var F=H.getEl(),K,E,D,M,L,N,C,J,G;
try{K=CQ.Ext.lib.Dom.getXY(F)
}catch(I){}if(!K){return null
}E=K[0];
D=E+F.offsetWidth;
M=K[1];
L=M+F.offsetHeight;
N=M-H.padding[0];
C=D+H.padding[1];
J=L+H.padding[2];
G=E-H.padding[3];
return new CQ.Ext.lib.Region(N,C,J,G)
},isOverTarget:function(K,C,E){var G=this.locationCache[C.id];
if(!G||!this.useCache){G=this.getLocation(C);
this.locationCache[C.id]=G
}if(!G){return false
}C.cursorIsOver=G.contains(K);
var J=this.dragCurrent;
if(!J||!J.getTargetCoord||(!E&&!J.constrainX&&!J.constrainY)){return C.cursorIsOver
}C.overlap=null;
var H=J.getTargetCoord(K.x,K.y);
var D=J.getDragEl();
var F=new CQ.Ext.lib.Region(H.y,H.x+D.offsetWidth,H.y+D.offsetHeight,H.x);
var I=F.intersect(G);
if(I){C.overlap=I;
return(E)?true:C.cursorIsOver
}else{return false
}},_onUnload:function(D,C){CQ.Ext.dd.DragDropMgr.unregAll()
},unregAll:function(){if(this.dragCurrent){this.stopDrag();
this.dragCurrent=null
}this._execOnAll("unreg",[]);
for(var C in this.elementCache){delete this.elementCache[C]
}this.elementCache={};
this.ids={}
},elementCache:{},getElWrapper:function(D){var C=this.elementCache[D];
if(!C||!C.el){C=this.elementCache[D]=new this.ElementWrapper(CQ.Ext.getDom(D))
}return C
},getElement:function(C){return CQ.Ext.getDom(C)
},getCss:function(D){var C=CQ.Ext.getDom(D);
return(C)?C.style:null
},ElementWrapper:function(C){this.el=C||null;
this.id=this.el&&C.id;
this.css=this.el&&C.style
},getPosX:function(C){return CQ.Ext.lib.Dom.getX(C)
},getPosY:function(C){return CQ.Ext.lib.Dom.getY(C)
},swapNode:function(E,C){if(E.swapNode){E.swapNode(C)
}else{var F=C.parentNode;
var D=C.nextSibling;
if(D==E){F.insertBefore(E,C)
}else{if(C==E.nextSibling){F.insertBefore(C,E)
}else{E.parentNode.replaceChild(C,E);
F.insertBefore(E,D)
}}}},getScroll:function(){var E,C,F=document.documentElement,D=document.body;
if(F&&(F.scrollTop||F.scrollLeft)){E=F.scrollTop;
C=F.scrollLeft
}else{if(D){E=D.scrollTop;
C=D.scrollLeft
}else{}}return{top:E,left:C}
},getStyle:function(D,C){return CQ.Ext.fly(D).getStyle(C)
},getScrollTop:function(){return this.getScroll().top
},getScrollLeft:function(){return this.getScroll().left
},moveToEl:function(C,E){var D=CQ.Ext.lib.Dom.getXY(E);
CQ.Ext.lib.Dom.setXY(C,D)
},numericSort:function(D,C){return(D-C)
},_timeoutCount:0,_addListeners:function(){var C=CQ.Ext.dd.DDM;
if(CQ.Ext.lib.Event&&document){C._onLoad()
}else{if(C._timeoutCount>2000){}else{setTimeout(C._addListeners,10);
if(document&&document.body){C._timeoutCount+=1
}}}},handleWasClicked:function(C,E){if(this.isHandle(E,C.id)){return true
}else{var D=C.parentNode;
while(D){if(this.isHandle(E,D.id)){return true
}else{D=D.parentNode
}}}return false
}}
}();
CQ.Ext.dd.DDM=CQ.Ext.dd.DragDropMgr;
CQ.Ext.dd.DDM._addListeners()
}CQ.Ext.dd.DD=function(D,B,C){if(D){this.init(D,B,C)
}};
CQ.Ext.extend(CQ.Ext.dd.DD,CQ.Ext.dd.DragDrop,{scroll:true,autoOffset:function(D,C){var B=D-this.startPageX;
var E=C-this.startPageY;
this.setDelta(B,E)
},setDelta:function(C,B){this.deltaX=C;
this.deltaY=B
},setDragElPos:function(D,C){var B=this.getDragEl();
this.alignElWithMouse(B,D,C)
},alignElWithMouse:function(D,H,G){var F=this.getTargetCoord(H,G);
var C=D.dom?D:CQ.Ext.fly(D,"_dd");
if(!this.deltaSetXY){var I=[F.x,F.y];
C.setXY(I);
var E=C.getLeft(true);
var B=C.getTop(true);
this.deltaSetXY=[E-F.x,B-F.y]
}else{C.setLeftTop(F.x+this.deltaSetXY[0],F.y+this.deltaSetXY[1])
}this.cachePosition(F.x,F.y);
this.autoScroll(F.x,F.y,D.offsetHeight,D.offsetWidth);
return F
},cachePosition:function(C,B){if(C){this.lastPageX=C;
this.lastPageY=B
}else{var D=CQ.Ext.lib.Dom.getXY(this.getEl());
this.lastPageX=D[0];
this.lastPageY=D[1]
}},autoScroll:function(K,J,F,L){if(this.scroll){var M=CQ.Ext.lib.Dom.getViewHeight();
var C=CQ.Ext.lib.Dom.getViewWidth();
var O=this.DDM.getScrollTop();
var E=this.DDM.getScrollLeft();
var I=F+J;
var N=L+K;
var H=(M+O-J-this.deltaY);
var G=(C+E-K-this.deltaX);
var D=40;
var B=(document.all)?80:30;
if(I>M&&H<D){window.scrollTo(E,O+B)
}if(J<O&&O>0&&J-O<D){window.scrollTo(E,O-B)
}if(N>C&&G<D){window.scrollTo(E+B,O)
}if(K<E&&E>0&&K-E<D){window.scrollTo(E-B,O)
}}},getTargetCoord:function(D,C){var B=D-this.deltaX;
var E=C-this.deltaY;
if(this.constrainX){if(B<this.minX){B=this.minX
}if(B>this.maxX){B=this.maxX
}}if(this.constrainY){if(E<this.minY){E=this.minY
}if(E>this.maxY){E=this.maxY
}}B=this.getTick(B,this.xTicks);
E=this.getTick(E,this.yTicks);
return{x:B,y:E}
},applyConfig:function(){CQ.Ext.dd.DD.superclass.applyConfig.call(this);
this.scroll=(this.config.scroll!==false)
},b4MouseDown:function(B){this.autoOffset(B.getPageX(),B.getPageY())
},b4Drag:function(B){this.setDragElPos(B.getPageX(),B.getPageY())
},toString:function(){return("DD "+this.id)
}});
CQ.Ext.dd.DDProxy=function(D,B,C){if(D){this.init(D,B,C);
this.initFrame()
}};
CQ.Ext.dd.DDProxy.dragElId="ygddfdiv";
CQ.Ext.extend(CQ.Ext.dd.DDProxy,CQ.Ext.dd.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var C=this;
var B=document.body;
if(!B||!B.firstChild){setTimeout(function(){C.createFrame()
},50);
return 
}var E=this.getDragEl();
if(!E){E=document.createElement("div");
E.id=this.dragElId;
var D=E.style;
D.position="absolute";
D.visibility="hidden";
D.cursor="move";
D.border="2px solid #aaa";
D.zIndex=999;
CQ.Ext.DomHelper.insertFirst(CQ.Util.getRoot(),E)
}},initFrame:function(){this.createFrame()
},applyConfig:function(){CQ.Ext.dd.DDProxy.superclass.applyConfig.call(this);
this.resizeFrame=(this.config.resizeFrame!==false);
this.centerFrame=(this.config.centerFrame);
this.setDragElId(this.config.dragElId||CQ.Ext.dd.DDProxy.dragElId)
},showFrame:function(F,E){var D=this.getEl();
var B=this.getDragEl();
var C=B.style;
this._resizeProxy();
if(this.centerFrame){this.setDelta(Math.round(parseInt(C.width,10)/2),Math.round(parseInt(C.height,10)/2))
}this.setDragElPos(F,E);
CQ.Ext.fly(B).show()
},_resizeProxy:function(){if(this.resizeFrame){var B=this.getEl();
CQ.Ext.fly(this.getDragEl()).setSize(B.offsetWidth,B.offsetHeight)
}},b4MouseDown:function(C){var B=C.getPageX();
var D=C.getPageY();
this.autoOffset(B,D);
this.setDragElPos(B,D)
},b4StartDrag:function(B,C){this.showFrame(B,C)
},b4EndDrag:function(B){CQ.Ext.fly(this.getDragEl()).hide()
},endDrag:function(D){var C=this.getEl();
var B=this.getDragEl();
B.style.visibility="";
this.beforeMove();
C.style.visibility="hidden";
CQ.Ext.dd.DDM.moveToEl(C,B);
B.style.visibility="hidden";
C.style.visibility="";
this.afterDrag()
},beforeMove:function(){},afterDrag:function(){},toString:function(){return("DDProxy "+this.id)
}});
CQ.Ext.dd.DDTarget=function(D,B,C){if(D){this.initTarget(D,B,C)
}};
CQ.Ext.extend(CQ.Ext.dd.DDTarget,CQ.Ext.dd.DragDrop,{toString:function(){return("DDTarget "+this.id)
}});
CQ.Ext.dd.DragTracker=function(B){CQ.Ext.apply(this,B);
this.addEvents("mousedown","mouseup","mousemove","dragstart","dragend","drag");
this.dragRegion=new CQ.Ext.lib.Region(0,0,0,0);
if(this.el){this.initEl(this.el)
}};
CQ.Ext.extend(CQ.Ext.dd.DragTracker,CQ.Ext.util.Observable,{active:false,tolerance:5,autoStart:false,initEl:function(B){this.el=CQ.Ext.get(B);
B.on("mousedown",this.onMouseDown,this,this.delegate?{delegate:this.delegate}:undefined)
},destroy:function(){this.el.un("mousedown",this.onMouseDown,this)
},onMouseDown:function(D,C){if(this.fireEvent("mousedown",this,D)!==false&&this.onBeforeStart(D)!==false){this.startXY=this.lastXY=D.getXY();
this.dragTarget=this.delegate?C:this.el.dom;
D.preventDefault();
var B=CQ.Ext.getDoc();
B.on("mouseup",this.onMouseUp,this);
B.on("mousemove",this.onMouseMove,this);
B.on("selectstart",this.stopSelect,this);
if(this.autoStart){this.timer=this.triggerStart.defer(this.autoStart===true?1000:this.autoStart,this)
}}},onMouseMove:function(E,D){E.preventDefault();
var C=E.getXY(),B=this.startXY;
this.lastXY=C;
if(!this.active){if(Math.abs(B[0]-C[0])>this.tolerance||Math.abs(B[1]-C[1])>this.tolerance){this.triggerStart()
}else{return 
}}this.fireEvent("mousemove",this,E);
this.onDrag(E);
this.fireEvent("drag",this,E)
},onMouseUp:function(C){var B=CQ.Ext.getDoc();
B.un("mousemove",this.onMouseMove,this);
B.un("mouseup",this.onMouseUp,this);
B.un("selectstart",this.stopSelect,this);
C.preventDefault();
this.clearStart();
this.active=false;
delete this.elRegion;
this.fireEvent("mouseup",this,C);
this.onEnd(C);
this.fireEvent("dragend",this,C)
},triggerStart:function(B){this.clearStart();
this.active=true;
this.onStart(this.startXY);
this.fireEvent("dragstart",this,this.startXY)
},clearStart:function(){if(this.timer){clearTimeout(this.timer);
delete this.timer
}},stopSelect:function(B){B.stopEvent();
return false
},onBeforeStart:function(B){},onStart:function(B){},onDrag:function(B){},onEnd:function(B){},getDragTarget:function(){return this.dragTarget
},getDragCt:function(){return this.el
},getXY:function(B){return B?this.constrainModes[B].call(this,this.lastXY):this.lastXY
},getOffset:function(D){var C=this.getXY(D);
var B=this.startXY;
return[B[0]-C[0],B[1]-C[1]]
},constrainModes:{point:function(C){if(!this.elRegion){this.elRegion=this.getDragCt().getRegion()
}var B=this.dragRegion;
B.left=C[0];
B.top=C[1];
B.right=C[0];
B.bottom=C[1];
B.constrainTo(this.elRegion);
return[B.left,B.top]
}}});
CQ.Ext.dd.ScrollManager=function(){var D=CQ.Ext.dd.DragDropMgr;
var F={};
var C=null;
var I={};
var H=function(L){C=null;
B()
};
var J=function(){if(D.dragCurrent){D.refreshCache(D.dragCurrent.groups)
}};
var E=function(){if(D.dragCurrent){var L=CQ.Ext.dd.ScrollManager;
var M=I.el.ddScrollConfig?I.el.ddScrollConfig.increment:L.increment;
if(!L.animate){if(I.el.scroll(I.dir,M)){J()
}}else{I.el.scroll(I.dir,M,true,L.animDuration,J)
}}};
var B=function(){if(I.id){clearInterval(I.id)
}I.id=0;
I.el=null;
I.dir=""
};
var G=function(M,L){B();
I.el=M;
I.dir=L;
var N=(M.ddScrollConfig&&M.ddScrollConfig.frequency)?M.ddScrollConfig.frequency:CQ.Ext.dd.ScrollManager.frequency;
I.id=setInterval(E,N)
};
var K=function(O,Q){if(Q||!D.dragCurrent){return 
}var R=CQ.Ext.dd.ScrollManager;
if(!C||C!=D.dragCurrent){C=D.dragCurrent;
R.refreshCache()
}var S=CQ.Ext.lib.Event.getXY(O);
var T=new CQ.Ext.lib.Point(S[0],S[1]);
for(var M in F){var N=F[M],L=N._region;
var P=N.ddScrollConfig?N.ddScrollConfig:R;
if(L&&L.contains(T)&&N.isScrollable()){if(L.bottom-T.y<=P.vthresh){if(I.el!=N){G(N,"down")
}return 
}else{if(L.right-T.x<=P.hthresh){if(I.el!=N){G(N,"left")
}return 
}else{if(T.y-L.top<=P.vthresh){if(I.el!=N){G(N,"up")
}return 
}else{if(T.x-L.left<=P.hthresh){if(I.el!=N){G(N,"right")
}return 
}}}}}}B()
};
D.fireEvents=D.fireEvents.createSequence(K,D);
D.stopDrag=D.stopDrag.createSequence(H,D);
return{register:function(N){if(CQ.Ext.isArray(N)){for(var M=0,L=N.length;
M<L;
M++){this.register(N[M])
}}else{N=CQ.Ext.get(N);
F[N.id]=N
}},unregister:function(N){if(CQ.Ext.isArray(N)){for(var M=0,L=N.length;
M<L;
M++){this.unregister(N[M])
}}else{N=CQ.Ext.get(N);
delete F[N.id]
}},vthresh:25,hthresh:25,increment:100,frequency:500,animate:true,animDuration:0.4,refreshCache:function(){for(var L in F){if(typeof F[L]=="object"){F[L]._region=F[L].getRegion()
}}}}
}();
CQ.Ext.dd.Registry=function(){var E={};
var C={};
var B=0;
var D=function(G,F){if(typeof G=="string"){return G
}var H=G.id;
if(!H&&F!==false){H="extdd-"+(++B);
G.id=H
}return H
};
return{register:function(I,J){J=J||{};
if(typeof I=="string"){I=document.getElementById(I)
}J.ddel=I;
E[D(I)]=J;
if(J.isHandle!==false){C[J.ddel.id]=J
}if(J.handles){var H=J.handles;
for(var G=0,F=H.length;
G<F;
G++){C[D(H[G])]=J
}}},unregister:function(I){var K=D(I,false);
var J=E[K];
if(J){delete E[K];
if(J.handles){var H=J.handles;
for(var G=0,F=H.length;
G<F;
G++){delete C[D(H[G],false)]
}}}},getHandle:function(F){if(typeof F!="string"){F=F.id
}return C[F]
},getHandleFromEvent:function(G){var F=CQ.Ext.lib.Event.getTarget(G);
return F?C[F.id]:null
},getTarget:function(F){if(typeof F!="string"){F=F.id
}return E[F]
},getTargetFromEvent:function(G){var F=CQ.Ext.lib.Event.getTarget(G);
return F?E[F.id]||C[F.id]:null
}}
}();
CQ.Ext.dd.StatusProxy=function(B){CQ.Ext.apply(this,B);
this.id=this.id||CQ.Ext.id();
this.el=new CQ.Ext.Layer({dh:{id:this.id,tag:"div",cls:"x-dd-drag-proxy "+this.dropNotAllowed,children:[{tag:"div",cls:"x-dd-drop-icon"},{tag:"div",cls:"x-dd-drag-ghost"}]},shadow:!B||B.shadow!==false});
this.ghost=CQ.Ext.get(this.el.dom.childNodes[1]);
this.dropStatus=this.dropNotAllowed
};
CQ.Ext.dd.StatusProxy.prototype={dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",setStatus:function(B){B=B||this.dropNotAllowed;
if(this.dropStatus!=B){this.el.replaceClass(this.dropStatus,B);
this.dropStatus=B
}},reset:function(B){this.el.dom.className="x-dd-drag-proxy "+this.dropNotAllowed;
this.dropStatus=this.dropNotAllowed;
if(B){this.ghost.update("")
}},update:function(B){if(typeof B=="string"){this.ghost.update(B)
}else{this.ghost.update("");
B.style.margin="0";
this.ghost.dom.appendChild(B)
}var C=this.ghost.dom.firstChild;
if(C){CQ.Ext.fly(C).setStyle(CQ.Ext.isIE?"styleFloat":"cssFloat","none")
}},getEl:function(){return this.el
},getGhost:function(){return this.ghost
},hide:function(B){this.el.hide();
if(B){this.reset(true)
}},stop:function(){if(this.anim&&this.anim.isAnimated&&this.anim.isAnimated()){this.anim.stop()
}},show:function(){this.el.show()
},sync:function(){this.el.sync()
},repair:function(C,D,B){this.callback=D;
this.scope=B;
if(C&&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:C,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
}};
CQ.Ext.dd.DragSource=function(C,B){this.el=CQ.Ext.get(C);
if(!this.dragData){this.dragData={}
}CQ.Ext.apply(this,B);
if(!this.proxy){this.proxy=new CQ.Ext.dd.StatusProxy()
}CQ.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
};
CQ.Ext.extend(CQ.Ext.dd.DragSource,CQ.Ext.dd.DDProxy,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",getDragData:function(B){return this.dragData
},onDragEnter:function(D,E){var C=CQ.Ext.dd.DragDropMgr.getDDById(E);
this.cachedTarget=C;
if(this.beforeDragEnter(C,D,E)!==false){if(C.isNotifyTarget){var B=C.notifyEnter(this,D,this.dragData);
this.proxy.setStatus(B)
}else{this.proxy.setStatus(this.dropAllowed)
}if(this.afterDragEnter){this.afterDragEnter(C,D,E)
}}},beforeDragEnter:function(C,B,D){return true
},alignElWithMouse:function(){CQ.Ext.dd.DragSource.superclass.alignElWithMouse.apply(this,arguments);
this.proxy.sync()
},onDragOver:function(D,E){var C=this.cachedTarget||CQ.Ext.dd.DragDropMgr.getDDById(E);
if(this.beforeDragOver(C,D,E)!==false){if(C.isNotifyTarget){var B=C.notifyOver(this,D,this.dragData);
this.proxy.setStatus(B)
}if(this.afterDragOver){this.afterDragOver(C,D,E)
}}},beforeDragOver:function(C,B,D){return true
},onDragOut:function(C,D){var B=this.cachedTarget||CQ.Ext.dd.DragDropMgr.getDDById(D);
if(this.beforeDragOut(B,C,D)!==false){if(B.isNotifyTarget){B.notifyOut(this,C,this.dragData)
}this.proxy.reset();
if(this.afterDragOut){this.afterDragOut(B,C,D)
}}this.cachedTarget=null
},beforeDragOut:function(C,B,D){return true
},onDragDrop:function(C,D){var B=this.cachedTarget||CQ.Ext.dd.DragDropMgr.getDDById(D);
if(this.beforeDragDrop(B,C,D)!==false){if(B.isNotifyTarget){if(B.notifyDrop(this,C,this.dragData)){this.onValidDrop(B,C,D)
}else{this.onInvalidDrop(B,C,D)
}}else{this.onValidDrop(B,C,D)
}if(this.afterDragDrop){this.afterDragDrop(B,C,D)
}}delete this.cachedTarget
},beforeDragDrop:function(C,B,D){return true
},onValidDrop:function(C,B,D){this.hideProxy();
if(this.afterValidDrop){this.afterValidDrop(C,B,D)
}},getRepairXY:function(C,B){return this.el.getXY()
},onInvalidDrop:function(C,B,D){this.beforeInvalidDrop(C,B,D);
if(this.cachedTarget){if(this.cachedTarget.isNotifyTarget){this.cachedTarget.notifyOut(this,B,this.dragData)
}this.cacheTarget=null
}this.proxy.repair(this.getRepairXY(B,this.dragData),this.afterRepair,this);
if(this.afterInvalidDrop){this.afterInvalidDrop(B,D)
}},afterRepair:function(){if(CQ.Ext.enableFx){this.el.highlight(this.hlColor||"c3daf9")
}this.dragging=false
},beforeInvalidDrop:function(C,B,D){return true
},handleMouseDown:function(C){if(this.dragging){return 
}var B=this.getDragData(C);
if(B&&this.onBeforeDrag(B,C)!==false){this.dragData=B;
this.proxy.stop();
CQ.Ext.dd.DragSource.superclass.handleMouseDown.apply(this,arguments)
}},onBeforeDrag:function(B,C){return true
},onStartDrag:CQ.Ext.emptyFn,startDrag:function(B,C){this.proxy.reset();
this.dragging=true;
this.proxy.update("");
this.onInitDrag(B,C);
this.proxy.show()
},onInitDrag:function(B,D){var C=this.el.dom.cloneNode(true);
C.id=CQ.Ext.id();
this.proxy.update(C);
this.onStartDrag(B,D);
return true
},getProxy:function(){return this.proxy
},hideProxy:function(){this.proxy.hide();
this.proxy.reset(true);
this.dragging=false
},triggerCacheRefresh:function(){CQ.Ext.dd.DDM.refreshCache(this.groups)
},b4EndDrag:function(B){},endDrag:function(B){this.onEndDrag(this.dragData,B)
},onEndDrag:function(B,C){},autoOffset:function(B,C){this.setDelta(-12,-20)
}});
CQ.Ext.dd.DropTarget=function(C,B){this.el=CQ.Ext.get(C);
CQ.Ext.apply(this,B);
if(this.containerScroll){CQ.Ext.dd.ScrollManager.register(this.el)
}CQ.Ext.dd.DropTarget.superclass.constructor.call(this,this.el.dom,this.ddGroup||this.group,{isTarget:true})
};
CQ.Ext.extend(CQ.Ext.dd.DropTarget,CQ.Ext.dd.DDTarget,{dropAllowed:"x-dd-drop-ok",dropNotAllowed:"x-dd-drop-nodrop",isTarget:true,isNotifyTarget:true,notifyEnter:function(B,D,C){if(this.overClass){this.el.addClass(this.overClass)
}return this.dropAllowed
},notifyOver:function(B,D,C){return this.dropAllowed
},notifyOut:function(B,D,C){if(this.overClass){this.el.removeClass(this.overClass)
}},notifyDrop:function(B,D,C){return false
}});
CQ.Ext.dd.DragZone=function(C,B){CQ.Ext.dd.DragZone.superclass.constructor.call(this,C,B);
if(this.containerScroll){CQ.Ext.dd.ScrollManager.register(this.el)
}};
CQ.Ext.extend(CQ.Ext.dd.DragZone,CQ.Ext.dd.DragSource,{getDragData:function(B){return CQ.Ext.dd.Registry.getHandleFromEvent(B)
},onInitDrag:function(B,C){this.proxy.update(this.dragData.ddel.cloneNode(true));
this.onStartDrag(B,C);
return true
},afterRepair:function(){if(CQ.Ext.enableFx){CQ.Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")
}this.dragging=false
},getRepairXY:function(B){return CQ.Ext.Element.fly(this.dragData.ddel).getXY()
}});
CQ.Ext.dd.DropZone=function(C,B){CQ.Ext.dd.DropZone.superclass.constructor.call(this,C,B)
};
CQ.Ext.extend(CQ.Ext.dd.DropZone,CQ.Ext.dd.DropTarget,{getTargetFromEvent:function(B){return CQ.Ext.dd.Registry.getTargetFromEvent(B)
},onNodeEnter:function(E,B,D,C){},onNodeOver:function(E,B,D,C){return this.dropAllowed
},onNodeOut:function(E,B,D,C){},onNodeDrop:function(E,B,D,C){return false
},onContainerOver:function(B,D,C){return this.dropNotAllowed
},onContainerDrop:function(B,D,C){return false
},notifyEnter:function(B,D,C){return this.dropNotAllowed
},notifyOver:function(B,D,C){var E=this.getTargetFromEvent(D);
if(!E){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,B,D,C);
this.lastOverNode=null
}return this.onContainerOver(B,D,C)
}if(this.lastOverNode!=E){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,B,D,C)
}this.onNodeEnter(E,B,D,C);
this.lastOverNode=E
}return this.onNodeOver(E,B,D,C)
},notifyOut:function(B,D,C){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,B,D,C);
this.lastOverNode=null
}},notifyDrop:function(B,D,C){if(this.lastOverNode){this.onNodeOut(this.lastOverNode,B,D,C);
this.lastOverNode=null
}var E=this.getTargetFromEvent(D);
return E?this.onNodeDrop(E,B,D,C):this.onContainerDrop(B,D,C)
},triggerCacheRefresh:function(){CQ.Ext.dd.DDM.refreshCache(this.groups)
}});
CQ.Ext.data.SortTypes={none:function(B){return B
},stripTagsRE:/<\/?[^>]+>/gi,asText:function(B){return String(B).replace(this.stripTagsRE,"")
},asUCText:function(B){return String(B).toUpperCase().replace(this.stripTagsRE,"")
},asUCString:function(B){return String(B).toUpperCase()
},asDate:function(B){if(!B){return 0
}if(CQ.Ext.isDate(B)){return B.getTime()
}return Date.parse(String(B))
},asFloat:function(B){var C=parseFloat(String(B).replace(/,/g,""));
if(isNaN(C)){C=0
}return C
},asInt:function(B){var C=parseInt(String(B).replace(/,/g,""));
if(isNaN(C)){C=0
}return C
}};
CQ.Ext.data.Record=function(B,C){this.id=(C||C===0)?C:++CQ.Ext.data.Record.AUTO_ID;
this.data=B
};
CQ.Ext.data.Record.create=function(F){var D=CQ.Ext.extend(CQ.Ext.data.Record,{});
var E=D.prototype;
E.fields=new CQ.Ext.util.MixedCollection(false,function(G){return G.name
});
for(var C=0,B=F.length;
C<B;
C++){E.fields.add(new CQ.Ext.data.Field(F[C]))
}D.getField=function(G){return E.fields.get(G)
};
return D
};
CQ.Ext.data.Record.AUTO_ID=1000;
CQ.Ext.data.Record.EDIT="edit";
CQ.Ext.data.Record.REJECT="reject";
CQ.Ext.data.Record.COMMIT="commit";
CQ.Ext.data.Record.prototype={dirty:false,editing:false,error:null,modified:null,join:function(B){this.store=B
},set:function(B,C){if(String(this.data[B])==String(C)){return 
}this.dirty=true;
if(!this.modified){this.modified={}
}if(typeof this.modified[B]=="undefined"){this.modified[B]=this.data[B]
}this.data[B]=C;
if(!this.editing&&this.store){this.store.afterEdit(this)
}},get:function(B){return this.data[B]
},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 B=this.modified;
for(var D in B){if(typeof B[D]!="function"){this.data[D]=B[D]
}}this.dirty=false;
delete this.modified;
this.editing=false;
if(this.store&&C!==true){this.store.afterReject(this)
}},commit:function(B){this.dirty=false;
delete this.modified;
this.editing=false;
if(this.store&&B!==true){this.store.afterCommit(this)
}},getChanges:function(){var B=this.modified,C={};
for(var D in B){if(B.hasOwnProperty(D)){C[D]=this.data[D]
}}return C
},hasError:function(){return this.error!=null
},clearError:function(){this.error=null
},copy:function(B){return new this.constructor(CQ.Ext.apply({},this.data),B||this.id)
},isModified:function(B){return !!(this.modified&&this.modified.hasOwnProperty(B))
}};
CQ.Ext.StoreMgr=CQ.Ext.apply(new CQ.Ext.util.MixedCollection(),{register:function(){for(var B=0,C;
C=arguments[B];
B++){this.add(C)
}},unregister:function(){for(var B=0,C;
C=arguments[B];
B++){this.remove(this.lookup(C))
}},lookup:function(B){return typeof B=="object"?B:this.get(B)
},getKey:function(B){return B.storeId||B.id
}});
CQ.Ext.data.Store=function(B){this.data=new CQ.Ext.util.MixedCollection(false);
this.data.getKey=function(C){return C.id
};
this.baseParams={};
this.paramNames={start:"start",limit:"limit",sort:"sort",dir:"dir"};
if(B&&B.data){this.inlineData=B.data;
delete B.data
}CQ.Ext.apply(this,B);
if(this.url&&!this.proxy){this.proxy=new CQ.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)
}CQ.Ext.data.Store.superclass.constructor.call(this);
if(this.storeId||this.id){CQ.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])
}}};
CQ.Ext.extend(CQ.Ext.data.Store,CQ.Ext.util.Observable,{remoteSort:false,pruneModifiedRecords:false,lastOptions:null,destroy:function(){if(this.id){CQ.Ext.StoreMgr.unregister(this)
}this.data=null;
this.purgeListeners()
},add:function(C){C=[].concat(C);
if(C.length<1){return 
}for(var E=0,B=C.length;
E<B;
E++){C[E].join(this)
}var D=this.data.length;
this.data.addAll(C);
if(this.snapshot){this.snapshot.addAll(C)
}this.fireEvent("add",this,C,D)
},addSorted:function(B){var C=this.findInsertIndex(B);
this.insert(C,B)
},remove:function(B){var C=this.data.indexOf(B);
this.data.removeAt(C);
if(this.pruneModifiedRecords){this.modified.remove(B)
}if(this.snapshot){this.snapshot.remove(B)
}this.fireEvent("remove",this,B,C)
},removeAll:function(){this.data.clear();
if(this.snapshot){this.snapshot.clear()
}if(this.pruneModifiedRecords){this.modified=[]
}this.fireEvent("clear",this)
},insert:function(D,C){C=[].concat(C);
for(var E=0,B=C.length;
E<B;
E++){this.data.insert(D,C[E]);
C[E].join(this)
}this.fireEvent("add",this,C,D)
},indexOf:function(B){return this.data.indexOf(B)
},indexOfId:function(B){return this.data.indexOfKey(B)
},getById:function(B){return this.data.key(B)
},getAt:function(B){return this.data.itemAt(B)
},getRange:function(C,B){return this.data.getRange(C,B)
},storeOptions:function(B){B=CQ.Ext.apply({},B);
delete B.callback;
delete B.scope;
this.lastOptions=B
},load:function(C){C=C||{};
if(this.fireEvent("beforeload",this,C)!==false){this.storeOptions(C);
var D=CQ.Ext.apply(C.params||{},this.baseParams);
if(this.sortInfo&&this.remoteSort){var B=this.paramNames;
D[B.sort]=this.sortInfo.field;
D[B.dir]=this.sortInfo.direction
}this.proxy.load(D,this.reader,this.loadRecords,this,C);
return true
}else{return false
}},reload:function(B){this.load(CQ.Ext.applyIf(B||{},this.lastOptions))
},loadRecords:function(H,C,G){if(!H||G===false){if(G!==false){this.fireEvent("load",this,[],C)
}if(C.callback){C.callback.call(C.scope||this,[],C,false)
}return 
}var F=H.records,E=H.totalRecords||F.length;
if(!C||C.add!==true){if(this.pruneModifiedRecords){this.modified=[]
}for(var D=0,B=F.length;
D<B;
D++){F[D].join(this)
}if(this.snapshot){this.data=this.snapshot;
delete this.snapshot
}this.data.clear();
this.data.addAll(F);
this.totalLength=E;
this.applySort();
this.fireEvent("datachanged",this)
}else{this.totalLength=Math.max(E,this.data.length+F.length);
this.add(F)
}this.fireEvent("load",this,F,C);
if(C.callback){C.callback.call(C.scope||this,F,C,true)
}},loadData:function(D,B){var C=this.reader.readRecords(D);
this.loadRecords(C,{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 B=this.sortInfo,C=B.field;
this.sortData(C,B.direction)
}},sortData:function(D,E){E=E||"ASC";
var B=this.fields.get(D).sortType;
var C=function(G,F){var I=B(G.data[D]),H=B(F.data[D]);
return I>H?1:(I<H?-1:0)
};
this.data.sort(E,C);
if(this.snapshot&&this.snapshot!=this.data){this.snapshot.sort(E,C)
}},setDefaultSort:function(C,B){B=B?B.toUpperCase():"ASC";
this.sortInfo={field:C,direction:B};
this.sortToggle[C]=B
},sort:function(F,D){var E=this.fields.get(F);
if(!E){return false
}if(!D){if(this.sortInfo&&this.sortInfo.field==E.name){D=(this.sortToggle[E.name]||"ASC").toggle("ASC","DESC")
}else{D=E.sortDir
}}var C=(this.sortToggle)?this.sortToggle[E.name]:null;
var B=(this.sortInfo)?this.sortInfo:null;
this.sortToggle[E.name]=D;
this.sortInfo={field:E.name,direction:D};
if(!this.remoteSort){this.applySort();
this.fireEvent("datachanged",this)
}else{if(!this.load(this.lastOptions)){if(C){this.sortToggle[E.name]=C
}if(B){this.sortInfo=B
}}}},each:function(C,B){this.data.each(C,B)
},getModifiedRecords:function(){return this.modified
},createFilterFn:function(D,C,E,B){if(CQ.Ext.isEmpty(C,false)){return false
}C=this.data.createValueMatcher(C,E,B);
return function(F){return C.test(F.data[D])
}
},sum:function(F,G,B){var D=this.data.items,C=0;
G=G||0;
B=(B||B===0)?B:D.length-1;
for(var E=G;
E<=B;
E++){C+=(D[E].data[F]||0)
}return C
},filter:function(E,D,F,B){var C=this.createFilterFn(E,D,F,B);
return C?this.filterBy(C):this.clearFilter()
},filterBy:function(C,B){this.snapshot=this.snapshot||this.data;
this.data=this.queryBy(C,B||this);
this.fireEvent("datachanged",this)
},query:function(E,D,F,B){var C=this.createFilterFn(E,D,F,B);
return C?this.queryBy(C):this.data.clone()
},queryBy:function(C,B){var D=this.snapshot||this.data;
return D.filterBy(C,B||this)
},find:function(E,D,G,F,B){var C=this.createFilterFn(E,D,F,B);
return C?this.data.findIndexBy(C,null,G):-1
},findBy:function(C,B,D){return this.data.findIndexBy(C,B,D)
},collect:function(H,I,C){var G=(C===true&&this.snapshot)?this.snapshot.items:this.data.items;
var J,K,B=[],D={};
for(var E=0,F=G.length;
E<F;
E++){J=G[E].data[H];
K=String(J);
if((I||!CQ.Ext.isEmpty(J))&&!D[K]){D[K]=true;
B[B.length]=J
}}return B
},clearFilter:function(B){if(this.isFiltered()){this.data=this.snapshot;
delete this.snapshot;
if(B!==true){this.fireEvent("datachanged",this)
}}},isFiltered:function(){return this.snapshot&&this.snapshot!=this.data
},afterEdit:function(B){if(this.modified.indexOf(B)==-1){this.modified.push(B)
}this.fireEvent("update",this,B,CQ.Ext.data.Record.EDIT)
},afterReject:function(B){this.modified.remove(B);
this.fireEvent("update",this,B,CQ.Ext.data.Record.REJECT)
},afterCommit:function(B){this.modified.remove(B);
this.fireEvent("update",this,B,CQ.Ext.data.Record.COMMIT)
},commitChanges:function(){var C=this.modified.slice(0);
this.modified=[];
for(var D=0,B=C.length;
D<B;
D++){C[D].commit()
}},rejectChanges:function(){var C=this.modified.slice(0);
this.modified=[];
for(var D=0,B=C.length;
D<B;
D++){C[D].reject()
}},onMetaChange:function(C,B,D){this.recordType=B;
this.fields=B.prototype.fields;
delete this.snapshot;
this.sortInfo=C.sortInfo;
this.modified=[];
this.fireEvent("metachange",this,this.reader.meta)
},findInsertIndex:function(B){this.suspendEvents();
var D=this.data.clone();
this.data.add(B);
this.applySort();
var C=this.data.indexOf(B);
this.data=D;
this.resumeEvents();
return C
}});
CQ.Ext.data.SimpleStore=function(B){CQ.Ext.data.SimpleStore.superclass.constructor.call(this,CQ.Ext.apply(B,{reader:new CQ.Ext.data.ArrayReader({id:B.id},CQ.Ext.data.Record.create(B.fields))}))
};
CQ.Ext.extend(CQ.Ext.data.SimpleStore,CQ.Ext.data.Store,{loadData:function(F,C){if(this.expandData===true){var E=[];
for(var D=0,B=F.length;
D<B;
D++){E[E.length]=[F[D]]
}F=E
}CQ.Ext.data.SimpleStore.superclass.loadData.call(this,F,C)
}});
CQ.Ext.data.JsonStore=function(B){CQ.Ext.data.JsonStore.superclass.constructor.call(this,CQ.Ext.apply(B,{proxy:B.proxy||(!B.data?new CQ.Ext.data.HttpProxy({url:B.url}):undefined),reader:new CQ.Ext.data.JsonReader(B,B.fields)}))
};
CQ.Ext.extend(CQ.Ext.data.JsonStore,CQ.Ext.data.Store);
CQ.Ext.data.Field=function(E){if(typeof E=="string"){E={name:E}
}CQ.Ext.apply(this,E);
if(!this.type){this.type="auto"
}var D=CQ.Ext.data.SortTypes;
if(typeof this.sortType=="string"){this.sortType=D[this.sortType]
}if(!this.sortType){switch(this.type){case"string":this.sortType=D.asUCString;
break;
case"date":this.sortType=D.asDate;
break;
default:this.sortType=D.none
}}var F=/[\$,%]/g;
if(!this.convert){var C,B=this.dateFormat;
switch(this.type){case"":case"auto":case undefined:C=function(G){return G
};
break;
case"string":C=function(G){return(G===undefined||G===null)?"":String(G)
};
break;
case"int":C=function(G){return G!==undefined&&G!==null&&G!==""?parseInt(String(G).replace(F,""),10):""
};
break;
case"float":C=function(G){return G!==undefined&&G!==null&&G!==""?parseFloat(String(G).replace(F,""),10):""
};
break;
case"bool":case"boolean":C=function(G){return G===true||G==="true"||G==1
};
break;
case"date":C=function(H){if(!H){return""
}if(CQ.Ext.isDate(H)){return H
}if(B){if(B=="timestamp"){return new Date(H*1000)
}if(B=="time"){return new Date(parseInt(H,10))
}return Date.parseDate(H,B)
}var G=Date.parse(H);
return G?new Date(G):null
};
break
}this.convert=C
}};
CQ.Ext.data.Field.prototype={dateFormat:null,defaultValue:"",mapping:null,sortType:null,sortDir:"ASC"};
CQ.Ext.data.DataReader=function(B,C){this.meta=B;
this.recordType=CQ.Ext.isArray(C)?CQ.Ext.data.Record.create(C):C
};
CQ.Ext.data.DataReader.prototype={};
CQ.Ext.data.DataProxy=function(){this.addEvents("beforeload","load");
CQ.Ext.data.DataProxy.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.data.DataProxy,CQ.Ext.util.Observable);
CQ.Ext.data.MemoryProxy=function(B){CQ.Ext.data.MemoryProxy.superclass.constructor.call(this);
this.data=B
};
CQ.Ext.extend(CQ.Ext.data.MemoryProxy,CQ.Ext.data.DataProxy,{load:function(G,D,H,E,C){G=G||{};
var B;
try{B=D.readRecords(this.data)
}catch(F){this.fireEvent("loadexception",this,C,null,F);
H.call(E,null,C,false);
return 
}H.call(E,B,C,true)
},update:function(C,B){}});
CQ.Ext.data.HttpProxy=function(B){CQ.Ext.data.HttpProxy.superclass.constructor.call(this);
this.conn=B;
this.useAjax=!B||!B.events
};
CQ.Ext.extend(CQ.Ext.data.HttpProxy,CQ.Ext.data.DataProxy,{getConnection:function(){return this.useAjax?CQ.Ext.Ajax:this.conn
},load:function(F,C,G,D,B){if(this.fireEvent("beforeload",this,F)!==false){var E={params:F||{},request:{callback:G,scope:D,arg:B},reader:C,callback:this.loadResponse,scope:this};
if(this.useAjax){CQ.Ext.applyIf(E,this.conn);
if(this.activeRequest){CQ.Ext.Ajax.abort(this.activeRequest)
}this.activeRequest=CQ.Ext.Ajax.request(E)
}else{this.conn.request(E)
}}else{G.call(D||this,null,B,false)
}},loadResponse:function(F,E,C){delete this.activeRequest;
if(!E){this.fireEvent("loadexception",this,F,C);
F.request.callback.call(F.request.scope,null,F.request.arg,false);
return 
}var B;
try{B=F.reader.read(C)
}catch(D){this.fireEvent("loadexception",this,F,C,D);
F.request.callback.call(F.request.scope,null,F.request.arg,false);
return 
}this.fireEvent("load",this,F,F.request.arg);
F.request.callback.call(F.request.scope,B,F.request.arg,true)
},update:function(B){},updateResponse:function(B){}});
CQ.Ext.data.ScriptTagProxy=function(B){CQ.Ext.data.ScriptTagProxy.superclass.constructor.call(this);
CQ.Ext.apply(this,B);
this.head=document.getElementsByTagName("head")[0]
};
CQ.Ext.data.ScriptTagProxy.TRANS_ID=1000;
CQ.Ext.extend(CQ.Ext.data.ScriptTagProxy,CQ.Ext.data.DataProxy,{timeout:30000,callbackParam:"callback",nocache:true,load:function(F,G,I,J,K){if(this.fireEvent("beforeload",this,F)!==false){var D=CQ.Ext.urlEncode(CQ.Ext.apply(F,this.extraParams));
var C=this.url;
C+=(C.indexOf("?")!=-1?"&":"?")+D;
if(this.nocache){C+="&_dc="+(new Date().getTime())
}var B=++CQ.Ext.data.ScriptTagProxy.TRANS_ID;
var L={id:B,cb:"stcCallback"+B,scriptId:"stcScript"+B,params:F,arg:K,url:C,callback:I,scope:J,reader:G};
var E=this;
window[L.cb]=function(M){E.handleResponse(M,L)
};
C+=String.format("&{0}={1}",this.callbackParam,L.cb);
if(this.autoAbort!==false){this.abort()
}L.timeoutId=this.handleFailure.defer(this.timeout,this,[L]);
var H=document.createElement("script");
H.setAttribute("src",C);
H.setAttribute("type","text/javascript");
H.setAttribute("id",L.scriptId);
this.head.appendChild(H);
this.trans=L
}else{I.call(J||this,null,K,false)
}},isLoading:function(){return this.trans?true:false
},abort:function(){if(this.isLoading()){this.destroyTrans(this.trans)
}},destroyTrans:function(C,B){this.head.removeChild(document.getElementById(C.scriptId));
clearTimeout(C.timeoutId);
if(B){window[C.cb]=undefined;
try{delete window[C.cb]
}catch(D){}}else{window[C.cb]=function(){window[C.cb]=undefined;
try{delete window[C.cb]
}catch(E){}}
}},handleResponse:function(E,C){this.trans=false;
this.destroyTrans(C,true);
var B;
try{B=C.reader.readRecords(E)
}catch(D){this.fireEvent("loadexception",this,E,C.arg,D);
C.callback.call(C.scope||window,null,C.arg,false);
return 
}this.fireEvent("load",this,E,C.arg);
C.callback.call(C.scope||window,B,C.arg,true)
},handleFailure:function(B){this.trans=false;
this.destroyTrans(B,false);
this.fireEvent("loadexception",this,null,B.arg);
B.callback.call(B.scope||window,null,B.arg,false)
}});
CQ.Ext.data.JsonReader=function(B,C){B=B||{};
CQ.Ext.data.JsonReader.superclass.constructor.call(this,B,C||B.fields)
};
CQ.Ext.extend(CQ.Ext.data.JsonReader,CQ.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,D,C){},simpleAccess:function(C,B){return C[B]
},getJsonAccessor:function(){var B=/[\[\.]/;
return function(D){try{return(B.test(D))?new Function("obj","return obj."+D):function(E){return E[D]
}
}catch(C){}return CQ.Ext.emptyFn
}
}(),readRecords:function(L){this.jsonData=L;
if(L.metaData){delete this.ef;
this.meta=L.metaData;
this.recordType=CQ.Ext.data.Record.create(L.metaData.fields);
this.onMetaChange(this.meta,this.recordType,L)
}var I=this.meta,B=this.recordType,S=B.prototype.fields,G=S.items,F=S.length;
if(!this.ef){if(I.totalProperty){this.getTotal=this.getJsonAccessor(I.totalProperty)
}if(I.successProperty){this.getSuccess=this.getJsonAccessor(I.successProperty)
}this.getRoot=I.root?this.getJsonAccessor(I.root):function(V){return V
};
if(I.id){var R=this.getJsonAccessor(I.id);
this.getId=function(W){var V=R(W);
return(V===undefined||V==="")?null:V
}
}else{this.getId=function(){return null
}
}this.ef=[];
for(var P=0;
P<F;
P++){S=G[P];
var U=(S.mapping!==undefined&&S.mapping!==null)?S.mapping:S.name;
this.ef[P]=this.getJsonAccessor(U)
}}var N=this.getRoot(L),T=N.length,J=T,E=true;
if(I.totalProperty){var H=parseInt(this.getTotal(L),10);
if(!isNaN(H)){J=H
}}if(I.successProperty){var H=this.getSuccess(L);
if(H===false||H==="false"){E=false
}}var Q=[];
for(var P=0;
P<T;
P++){var M=N[P];
var C={};
var K=this.getId(M);
for(var O=0;
O<F;
O++){S=G[O];
var H=this.ef[O](M);
C[S.name]=S.convert((H!==undefined)?H:S.defaultValue,M)
}var D=new B(C,K);
D.json=M;
Q[P]=D
}return{success:E,records:Q,totalRecords:J}
}});
CQ.Ext.data.XmlReader=function(B,C){B=B||{};
CQ.Ext.data.XmlReader.superclass.constructor.call(this,B,C||B.fields)
};
CQ.Ext.extend(CQ.Ext.data.XmlReader,CQ.Ext.data.DataReader,{read:function(B){var C=B.responseXML;
if(!C){throw {message:"XmlReader.read: XML Document not available"}
}return this.readRecords(C)
},readRecords:function(U){this.xmlData=U;
var O=U.documentElement||U;
var J=CQ.Ext.DomQuery;
var C=this.recordType,M=C.prototype.fields;
var E=this.meta.id;
var H=0,F=true;
if(this.meta.totalRecords){H=J.selectNumber(this.meta.totalRecords,O,0)
}if(this.meta.success){var L=J.selectValue(this.meta.success,O,true);
F=L!==false&&L!=="false"
}var R=[];
var V=J.select(this.meta.record,O);
for(var Q=0,S=V.length;
Q<S;
Q++){var N=V[Q];
var B={};
var K=E?J.selectValue(E,N):undefined;
for(var P=0,I=M.length;
P<I;
P++){var T=M.items[P];
var G=J.selectValue(T.mapping||T.name,N,T.defaultValue);
G=T.convert(G,N);
B[T.name]=G
}var D=new C(B,K);
D.node=N;
R[R.length]=D
}return{success:F,records:R,totalRecords:H||R.length}
}});
CQ.Ext.data.ArrayReader=CQ.Ext.extend(CQ.Ext.data.JsonReader,{readRecords:function(D){var C=this.meta?this.meta.id:null;
var H=this.recordType,L=H.prototype.fields;
var F=[];
var N=D;
for(var J=0;
J<N.length;
J++){var E=N[J];
var P={};
var B=((C||C===0)&&E[C]!==undefined&&E[C]!==""?E[C]:null);
for(var I=0,Q=L.length;
I<Q;
I++){var M=L.items[I];
var G=M.mapping!==undefined&&M.mapping!==null?M.mapping:I;
var O=E[G]!==undefined?E[G]:M.defaultValue;
O=M.convert(O,E);
P[M.name]=O
}var K=new H(P,B);
K.json=E;
F[F.length]=K
}return{records:F,totalRecords:F.length}
}});
CQ.Ext.data.Tree=function(B){this.nodeHash={};
this.root=null;
if(B){this.setRootNode(B)
}this.addEvents("append","remove","move","insert","beforeappend","beforeremove","beforemove","beforeinsert");
CQ.Ext.data.Tree.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.data.Tree,CQ.Ext.util.Observable,{pathSeparator:"/",proxyNodeEvent:function(){return this.fireEvent.apply(this,arguments)
},getRootNode:function(){return this.root
},setRootNode:function(B){this.root=B;
B.ownerTree=this;
B.isRoot=true;
this.registerNode(B);
return B
},getNodeById:function(B){return this.nodeHash[B]
},registerNode:function(B){this.nodeHash[B.id]=B
},unregisterNode:function(B){delete this.nodeHash[B.id]
},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"
}});
CQ.Ext.data.Node=function(B){this.attributes=B||{};
this.leaf=this.attributes.leaf;
this.id=this.attributes.id;
if(!this.id){this.id=CQ.Ext.id(null,"ynode-");
this.attributes.id=this.id
}this.childNodes=[];
if(!this.childNodes.indexOf){this.childNodes.indexOf=function(E){for(var D=0,C=this.length;
D<C;
D++){if(this[D]==E){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;
CQ.Ext.data.Node.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.data.Node,CQ.Ext.util.Observable,{fireEvent:function(C){if(CQ.Ext.data.Node.superclass.fireEvent.apply(this,arguments)===false){return false
}var B=this.getOwnerTree();
if(B){if(B.proxyNodeEvent.apply(B,arguments)===false){return false
}}return true
},isLeaf:function(){return this.leaf===true
},setFirstChild:function(B){this.firstChild=B
},setLastChild:function(B){this.lastChild=B
},isLast:function(){return(!this.parentNode?true:this.parentNode.lastChild==this)
},isFirst:function(){return(!this.parentNode?true:this.parentNode.firstChild==this)
},hasChildNodes:function(){return !this.isLeaf()&&this.childNodes.length>0
},isExpandable:function(){return this.attributes.expandable||this.hasChildNodes()
},appendChild:function(F){var G=false;
if(CQ.Ext.isArray(F)){G=F
}else{if(arguments.length>1){G=arguments
}}if(G){for(var E=0,B=G.length;
E<B;
E++){this.appendChild(G[E])
}}else{if(this.fireEvent("beforeappend",this.ownerTree,this,F)===false){return false
}var C=this.childNodes.length;
var D=F.parentNode;
if(D){if(F.fireEvent("beforemove",F.getOwnerTree(),F,D,this,C)===false){return false
}D.removeChild(F)
}C=this.childNodes.length;
if(C==0){this.setFirstChild(F)
}this.childNodes.push(F);
F.parentNode=this;
var H=this.childNodes[C-1];
if(H){F.previousSibling=H;
H.nextSibling=F
}else{F.previousSibling=null
}F.nextSibling=null;
this.setLastChild(F);
F.setOwnerTree(this.getOwnerTree());
this.fireEvent("append",this.ownerTree,this,F,C);
if(D){F.fireEvent("move",this.ownerTree,F,D,this,C)
}return F
}},removeChild:function(C){var B=this.childNodes.indexOf(C);
if(B==-1){return false
}if(this.fireEvent("beforeremove",this.ownerTree,this,C)===false){return false
}this.childNodes.splice(B,1);
if(C.previousSibling){C.previousSibling.nextSibling=C.nextSibling
}if(C.nextSibling){C.nextSibling.previousSibling=C.previousSibling
}if(this.firstChild==C){this.setFirstChild(C.nextSibling)
}if(this.lastChild==C){this.setLastChild(C.previousSibling)
}C.setOwnerTree(null);
C.parentNode=null;
C.previousSibling=null;
C.nextSibling=null;
this.fireEvent("remove",this.ownerTree,this,C);
return C
},insertBefore:function(E,B){if(!B){return this.appendChild(E)
}if(E==B){return false
}if(this.fireEvent("beforeinsert",this.ownerTree,this,E,B)===false){return false
}var C=this.childNodes.indexOf(B);
var D=E.parentNode;
var F=C;
if(D==this&&this.childNodes.indexOf(E)<C){F--
}if(D){if(E.fireEvent("beforemove",E.getOwnerTree(),E,D,this,C,B)===false){return false
}D.removeChild(E)
}if(F==0){this.setFirstChild(E)
}this.childNodes.splice(F,0,E);
E.parentNode=this;
var G=this.childNodes[F-1];
if(G){E.previousSibling=G;
G.nextSibling=E
}else{E.previousSibling=null
}E.nextSibling=B;
B.previousSibling=E;
E.setOwnerTree(this.getOwnerTree());
this.fireEvent("insert",this.ownerTree,this,E,B);
if(D){E.fireEvent("move",this.ownerTree,E,D,this,F,B)
}return E
},remove:function(){this.parentNode.removeChild(this);
return this
},item:function(B){return this.childNodes[B]
},replaceChild:function(B,C){this.insertBefore(B,C);
this.removeChild(C);
return C
},indexOf:function(B){return this.childNodes.indexOf(B)
},getOwnerTree:function(){if(!this.ownerTree){var B=this;
while(B){if(B.ownerTree){this.ownerTree=B.ownerTree;
break
}B=B.parentNode
}}return this.ownerTree
},getDepth:function(){var C=0;
var B=this;
while(B.parentNode){++C;
B=B.parentNode
}return C
},setOwnerTree:function(C){if(C!=this.ownerTree){if(this.ownerTree){this.ownerTree.unregisterNode(this)
}this.ownerTree=C;
var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].setOwnerTree(C)
}if(C){C.registerNode(this)
}}},getPath:function(C){C=C||"id";
var E=this.parentNode;
var B=[this.attributes[C]];
while(E){B.unshift(E.attributes[C]);
E=E.parentNode
}var D=this.getOwnerTree().pathSeparator;
return D+B.join(D)
},bubble:function(D,C,B){var E=this;
while(E){if(D.apply(C||E,B||[E])===false){break
}E=E.parentNode
}},cascade:function(G,F,C){if(G.apply(F||this,C||[this])!==false){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].cascade(G,F,C)
}}},eachChild:function(G,F,C){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){if(G.apply(F||this,C||[E[D]])===false){break
}}},findChild:function(E,F){var D=this.childNodes;
for(var C=0,B=D.length;
C<B;
C++){if(D[C].attributes[E]==F){return D[C]
}}return null
},findChildBy:function(F,E){var D=this.childNodes;
for(var C=0,B=D.length;
C<B;
C++){if(F.call(E||D[C],D[C])===true){return D[C]
}}return null
},sort:function(F,E){var D=this.childNodes;
var B=D.length;
if(B>0){var G=E?function(){F.apply(E,arguments)
}:F;
D.sort(G);
for(var C=0;
C<B;
C++){var H=D[C];
H.previousSibling=D[C-1];
H.nextSibling=D[C+1];
if(C==0){this.setFirstChild(H)
}if(C==B-1){this.setLastChild(H)
}}}},contains:function(B){return B.isAncestor(this)
},isAncestor:function(B){var C=this.parentNode;
while(C){if(C==B){return true
}C=C.parentNode
}return false
},toString:function(){return"[Node"+(this.id?" "+this.id:"")+"]"
}});
CQ.Ext.data.GroupingStore=CQ.Ext.extend(CQ.Ext.data.Store,{remoteGroup:false,groupOnSort:false,clearGrouping:function(){this.groupField=false;
if(this.remoteGroup){if(this.baseParams){delete this.baseParams.groupBy
}this.reload()
}else{this.applySort();
this.fireEvent("datachanged",this)
}},groupBy:function(D,C){if(this.groupField==D&&!C){return 
}this.groupField=D;
if(this.remoteGroup){if(!this.baseParams){this.baseParams={}
}this.baseParams.groupBy=D
}if(this.groupOnSort){this.sort(D);
return 
}if(this.remoteGroup){this.reload()
}else{var B=this.sortInfo||{};
if(B.field!=D){this.applySort()
}else{this.sortData(D)
}this.fireEvent("datachanged",this)
}},applySort:function(){CQ.Ext.data.GroupingStore.superclass.applySort.call(this);
if(!this.groupOnSort&&!this.remoteGroup){var B=this.getGroupState();
if(B&&B!=this.sortInfo.field){this.sortData(this.groupField)
}}},applyGrouping:function(B){if(this.groupField!==false){this.groupBy(this.groupField,true);
return true
}else{if(B===true){this.fireEvent("datachanged",this)
}return false
}},getGroupState:function(){return this.groupOnSort&&this.groupField!==false?(this.sortInfo?this.sortInfo.field:undefined):this.groupField
}});
CQ.Ext.ComponentMgr=function(){var C=new CQ.Ext.util.MixedCollection();
var B={};
return{register:function(D){C.add(D)
},unregister:function(D){C.remove(D)
},get:function(D){return C.get(D)
},onAvailable:function(F,E,D){C.on("add",function(G,H){if(H.id==F){E.call(D||H,H);
C.un("add",E,D)
}})
},all:C,registerType:function(E,D){B[E]=D;
D.xtype=E
},create:function(D,E){return new B[D.xtype||E](D)
}}
}();
CQ.Ext.reg=CQ.Ext.ComponentMgr.registerType;
CQ.Ext.Component=function(C){C=C||{};
if(C.initialConfig){if(C.isAction){this.baseAction=C
}C=C.initialConfig
}else{if(C.tagName||C.dom||typeof C=="string"){C={applyTo:C,id:C.id||C}
}}this.initialConfig=C;
CQ.Ext.apply(this,C);
this.addEvents("disable","enable","beforeshow","show","beforehide","hide","beforerender","render","beforedestroy","destroy","beforestaterestore","staterestore","beforestatesave","statesave");
this.getId();
CQ.Ext.ComponentMgr.register(this);
CQ.Ext.Component.superclass.constructor.call(this);
if(this.baseAction){this.baseAction.addComponent(this)
}this.initComponent();
if(this.plugins){if(CQ.Ext.isArray(this.plugins)){for(var D=0,B=this.plugins.length;
D<B;
D++){this.plugins[D]=this.initPlugin(this.plugins[D])
}}else{this.plugins=this.initPlugin(this.plugins)
}}if(this.stateful!==false){this.initState(C)
}if(this.applyTo){this.applyToMarkup(this.applyTo);
delete this.applyTo
}else{if(this.renderTo){this.render(this.renderTo);
delete this.renderTo
}}};
CQ.Ext.Component.AUTO_ID=1000;
CQ.Ext.extend(CQ.Ext.Component,CQ.Ext.util.Observable,{disabledClass:"x-item-disabled",allowDomMove:true,autoShow:false,hideMode:"display",hideParent:false,hidden:false,disabled:false,rendered:false,ctype:"CQ.Ext.Component",actionMode:"el",getActionEl:function(){return this[this.actionMode]
},initPlugin:function(B){B.init(this);
return B
},initComponent:CQ.Ext.emptyFn,render:function(C,B){if(!this.rendered&&this.fireEvent("beforerender",this)!==false){if(!C&&this.el){this.el=CQ.Ext.get(this.el);
C=this.el.dom.parentNode;
this.allowDomMove=false
}if(CQ.Util.isRoot(C)){C=CQ.Util.getRoot()
}this.container=CQ.Ext.get(C);
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=CQ.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
}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(CQ.Ext.state.Manager){var C=CQ.Ext.state.Manager.get(this.stateId||this.id);
if(C){if(this.fireEvent("beforestaterestore",this,C)!==false){this.applyState(C);
this.fireEvent("staterestore",this,C)
}}}},initStateEvents:function(){if(this.stateEvents){for(var B=0,C;
C=this.stateEvents[B];
B++){this.on(C,this.saveState,this,{delay:100})
}}},applyState:function(C,B){if(C){CQ.Ext.apply(this,C)
}},getState:function(){return null
},saveState:function(){if(CQ.Ext.state.Manager){var B=this.getState();
if(this.fireEvent("beforestatesave",this,B)!==false){CQ.Ext.state.Manager.set(this.stateId||this.id,B);
this.fireEvent("statesave",this,B)
}}},applyToMarkup:function(B){this.allowDomMove=false;
this.el=CQ.Ext.get(B);
this.render(this.el.dom.parentNode)
},addClass:function(B){if(this.el){this.el.addClass(B)
}else{this.cls=this.cls?this.cls+" "+B:B
}},removeClass:function(B){if(this.el){this.el.removeClass(B)
}else{if(this.cls){this.cls=this.cls.split(" ").remove(B).join(" ")
}}},onRender:function(C,B){if(this.autoEl){if(typeof this.autoEl=="string"){this.el=document.createElement(this.autoEl)
}else{var D=document.createElement("div");
CQ.Ext.DomHelper.overwrite(D,this.autoEl);
this.el=D.firstChild
}if(!this.el.id){this.el.id=this.getId()
}}if(this.el){this.el=CQ.Ext.get(this.el);
if(this.allowDomMove!==false){C.dom.insertBefore(this.el.dom,B)
}if(this.overCls){this.el.addClassOnOver(this.overCls)
}}},getAutoCreate:function(){var B=typeof this.autoCreate=="object"?this.autoCreate:CQ.Ext.apply({},this.defaultAutoCreate);
if(this.id&&!B.id){B.id=this.id
}return B
},afterRender:CQ.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();
CQ.Ext.ComponentMgr.unregister(this);
this.fireEvent("destroy",this);
this.purgeListeners()
}},beforeDestroy:CQ.Ext.emptyFn,onDestroy:CQ.Ext.emptyFn,getEl:function(){return this.el
},getId:function(){return this.id||(this.id="cq-comp-"+(++CQ.Ext.Component.AUTO_ID))
},getItemId:function(){return this.itemId||this.getId()
},focus:function(C,B){if(B){this.focus.defer(typeof B=="number"?B:10,this,[C,false]);
return 
}if(this.rendered){this.el.focus();
if(C===true){this.el.dom.select()
}}return this
},blur:function(){if(this.rendered){this.el.blur()
}return this
},disable:function(){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(B){this[B?"disable":"enable"]()
},show:function(){if(this.fireEvent("beforeshow",this)!==false){this.hidden=false;
if(this.autoRender){this.render(typeof this.autoRender=="boolean"?CQ.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(B){if(B){this.show()
}else{this.hide()
}return this
},isVisible:function(){return this.rendered&&this.getActionEl().isVisible()
},cloneConfig:function(C){C=C||{};
var D=C.id||CQ.Ext.id();
var B=CQ.Ext.applyIf(C,this.initialConfig);
B.id=D;
return new this.constructor(B)
},getXType:function(){return this.constructor.xtype
},isXType:function(C,B){return !B?("/"+this.getXTypes()+"/").indexOf("/"+C+"/")!=-1:this.constructor.xtype==C
},getXTypes:function(){var B=this.constructor;
if(!B.xtypes){var D=[],C=this;
while(C&&C.constructor.xtype){D.unshift(C.constructor.xtype);
C=C.constructor.superclass
}B.xtypeChain=D;
B.xtypes=D.join("/")
}return B.xtypes
},findParentBy:function(B){for(var C=this.ownerCt;
(C!=null)&&!B(C,this);
C=C.ownerCt){}return C||null
},findParentByType:function(B){return typeof B=="function"?this.findParentBy(function(C){return C.constructor===B
}):this.findParentBy(function(C){return C.constructor.xtype===B
})
},mon:function(F,C,E,D,B){if(!this.mons){this.mons=[];
this.on("beforedestroy",function(){for(var I=0,H=this.mons.length;
I<H;
I++){var G=this.mons[I];
G.item.un(G.ename,G.fn,G.scope)
}},this)
}this.mons.push({item:F,ename:C,fn:E,scope:D});
F.on(C,E,D,B)
}});
CQ.Ext.reg("component",CQ.Ext.Component);
CQ.Ext.Action=function(B){this.initialConfig=B;
this.items=[]
};
CQ.Ext.Action.prototype={isAction:true,setText:function(B){this.initialConfig.text=B;
this.callEach("setText",[B])
},getText:function(){return this.initialConfig.text
},setIconClass:function(B){this.initialConfig.iconCls=B;
this.callEach("setIconClass",[B])
},getIconClass:function(){return this.initialConfig.iconCls
},setDisabled:function(B){this.initialConfig.disabled=B;
this.callEach("setDisabled",[B])
},enable:function(){this.setDisabled(false)
},disable:function(){this.setDisabled(true)
},isDisabled:function(){return this.initialConfig.disabled
},setHidden:function(B){this.initialConfig.hidden=B;
this.callEach("setVisible",[!B])
},show:function(){this.setHidden(false)
},hide:function(){this.setHidden(true)
},isHidden:function(){return this.initialConfig.hidden
},setHandler:function(C,B){this.initialConfig.handler=C;
this.initialConfig.scope=B;
this.callEach("setHandler",[C,B])
},each:function(C,B){CQ.Ext.each(this.items,C,B)
},callEach:function(F,C){var E=this.items;
for(var D=0,B=E.length;
D<B;
D++){E[D][F].apply(E[D],C)
}},addComponent:function(B){this.items.push(B);
B.on("destroy",this.removeComponent,this)
},removeComponent:function(B){this.items.remove(B)
},execute:function(){this.initialConfig.handler.apply(this.initialConfig.scope||window,arguments)
}};
(function(){CQ.Ext.Layer=function(E,D){E=E||{};
var F=CQ.Ext.DomHelper;
var H=E.parentEl,G=H?CQ.Ext.getDom(H):document.body;
if(D){this.dom=CQ.Ext.getDom(D)
}if(!this.dom){var I=E.dh||{tag:"div",cls:"x-layer"};
this.dom=F.append(G,I)
}if(E.cls){this.addClass(E.cls)
}this.constrain=E.constrain!==false;
this.visibilityMode=CQ.Ext.Element.VISIBILITY;
if(E.id){this.id=this.dom.id=E.id
}else{this.id=CQ.Ext.id(this.dom)
}this.zindex=E.zindex||this.getZIndex();
this.position("absolute",this.zindex);
if(E.shadow){this.shadowOffset=E.shadowOffset||4;
this.shadow=new CQ.Ext.Shadow({offset:this.shadowOffset,mode:E.shadow})
}else{this.shadowOffset=0
}this.useShim=E.shim!==false&&CQ.Ext.useShims;
this.useDisplay=E.useDisplay;
this.hide()
};
var B=CQ.Ext.Element.prototype;
var C=[];
CQ.Ext.extend(CQ.Ext.Layer,CQ.Ext.Element,{getZIndex:function(){return this.zindex||parseInt(this.getStyle("z-index"),10)||11000
},getShim:function(){if(!this.useShim){return null
}if(this.shim){return this.shim
}var E=C.shift();
if(!E){E=this.createShim();
E.enableDisplayMode("block");
E.dom.style.display="none";
E.dom.style.visibility="visible"
}var D=this.dom.parentNode;
if(E.dom.parentNode!=D){D.insertBefore(E.dom,this.dom)
}E.setStyle("z-index",this.getZIndex()-2);
this.shim=E;
return E
},hideShim:function(){if(this.shim){this.shim.setDisplayed(false);
C.push(this.shim);
delete this.shim
}},disableShadow:function(){if(this.shadow){this.shadowDisabled=true;
this.shadow.hide();
this.lastShadowOffset=this.shadowOffset;
this.shadowOffset=0
}},enableShadow:function(D){if(this.shadow){this.shadowDisabled=false;
this.shadowOffset=this.lastShadowOffset;
delete this.lastShadowOffset;
if(D){this.sync(true)
}}},sync:function(D){var J=this.shadow;
if(!this.updating&&this.isVisible()&&(J||this.useShim)){var G=this.getShim();
var I=this.getWidth(),F=this.getHeight();
var E=this.getLeft(true),K=this.getTop(true);
if(J&&!this.shadowDisabled){if(D&&!J.isVisible()){J.show(this)
}else{J.realign(E,K,I,F)
}if(G){if(D){G.show()
}var H=J.adjusts,L=G.dom.style;
L.left=(Math.min(E,E+H.l))+"px";
L.top=(Math.min(K,K+H.t))+"px";
L.width=(I+H.w)+"px";
L.height=(F+H.h)+"px"
}}else{if(G){if(D){G.show()
}G.setSize(I,F);
G.setLeftTop(E,K)
}}}},destroy:function(){this.hideShim();
if(this.shadow){this.shadow.hide()
}this.removeAllListeners();
CQ.Ext.removeNode(this.dom);
CQ.Ext.Element.uncache(this.id)
},remove:function(){this.destroy()
},beginUpdate:function(){this.updating=true
},endUpdate:function(){this.updating=false;
this.sync(true)
},hideUnders:function(D){if(this.shadow){this.shadow.hide()
}this.hideShim()
},constrainXY:function(){if(this.constrain){var H=CQ.Ext.lib.Dom.getViewWidth(),D=CQ.Ext.lib.Dom.getViewHeight();
var M=CQ.Ext.getDoc().getScroll();
var L=this.getXY();
var I=L[0],G=L[1];
var J=this.dom.offsetWidth+this.shadowOffset,E=this.dom.offsetHeight+this.shadowOffset;
var F=false;
if((I+J)>H+M.left){I=H-J-this.shadowOffset;
F=true
}if((G+E)>D+M.top){G=D-E-this.shadowOffset;
F=true
}if(I<M.left){I=M.left;
F=true
}if(G<M.top){G=M.top;
F=true
}if(F){if(this.avoidY){var K=this.avoidY;
if(G<=K&&(G+E)>=K){G=K-E-5
}}L=[I,G];
this.storeXY(L);
B.setXY.call(this,L);
this.sync()
}}},isVisible:function(){return this.visible
},showAction:function(){this.visible=true;
if(this.useDisplay===true){this.setDisplayed("")
}else{if(this.lastXY){B.setXY.call(this,this.lastXY)
}else{if(this.lastLT){B.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(F,E,H,I,G){if(F){this.showAction()
}if(E&&F){var D=function(){this.sync(true);
if(I){I()
}}.createDelegate(this);
B.setVisible.call(this,true,true,H,D,G)
}else{if(!F){this.hideUnders(true)
}var D=I;
if(E){D=function(){this.hideAction();
if(I){I()
}}.createDelegate(this)
}B.setVisible.call(this,F,E,H,D,G);
if(F){this.sync(true)
}else{if(!E){this.hideAction()
}}}},storeXY:function(D){delete this.lastLT;
this.lastXY=D
},storeLeftTop:function(E,D){delete this.lastXY;
this.lastLT=[E,D]
},beforeFx:function(){this.beforeAction();
return CQ.Ext.Layer.superclass.beforeFx.apply(this,arguments)
},afterFx:function(){CQ.Ext.Layer.superclass.afterFx.apply(this,arguments);
this.sync(this.isVisible())
},beforeAction:function(){if(!this.updating&&this.shadow){this.shadow.hide()
}},setLeft:function(D){this.storeLeftTop(D,this.getTop(true));
B.setLeft.apply(this,arguments);
this.sync()
},setTop:function(D){this.storeLeftTop(this.getLeft(true),D);
B.setTop.apply(this,arguments);
this.sync()
},setLeftTop:function(E,D){this.storeLeftTop(E,D);
B.setLeftTop.apply(this,arguments);
this.sync()
},setXY:function(G,E,H,I,F){this.fixDisplay();
this.beforeAction();
this.storeXY(G);
var D=this.createCB(I);
B.setXY.call(this,G,E,H,D,F);
if(!E){D()
}},createCB:function(E){var D=this;
return function(){D.constrainXY();
D.sync(true);
if(E){E()
}}
},setX:function(D,E,G,H,F){this.setXY([D,this.getY()],E,G,H,F)
},setY:function(H,D,F,G,E){this.setXY([this.getX(),H],D,F,G,E)
},setSize:function(F,G,E,I,J,H){this.beforeAction();
var D=this.createCB(J);
B.setSize.call(this,F,G,E,I,D,H);
if(!E){D()
}},setWidth:function(F,E,H,I,G){this.beforeAction();
var D=this.createCB(I);
B.setWidth.call(this,F,E,H,D,G);
if(!E){D()
}},setHeight:function(F,E,H,I,G){this.beforeAction();
var D=this.createCB(I);
B.setHeight.call(this,F,E,H,D,G);
if(!E){D()
}},setBounds:function(K,I,L,E,J,G,H,F){this.beforeAction();
var D=this.createCB(H);
if(!J){this.storeXY([K,I]);
B.setXY.call(this,[K,I]);
B.setSize.call(this,L,E,J,G,D,F);
D()
}else{B.setBounds.call(this,K,I,L,E,J,G,D,F)
}return this
},setZIndex:function(D){this.zindex=D;
this.setStyle("z-index",D+2);
if(this.shadow){this.shadow.setZIndex(D+1)
}if(this.shim){this.shim.setStyle("z-index",D)
}}})
})();
CQ.Ext.Shadow=function(D){CQ.Ext.apply(this,D);
if(typeof this.mode!="string"){this.mode=this.defaultMode
}var E=this.offset,C={h:0};
var B=Math.floor(this.offset/2);
switch(this.mode.toLowerCase()){case"drop":C.w=0;
C.l=C.t=E;
C.t-=1;
if(CQ.Ext.isIE){C.l-=this.offset+B;
C.t-=this.offset+B;
C.w-=B;
C.h-=B;
C.t+=1
}break;
case"sides":C.w=(E*2);
C.l=-E;
C.t=E-1;
if(CQ.Ext.isIE){C.l-=(this.offset-B);
C.t-=this.offset+B;
C.l+=1;
C.w-=(this.offset-B)*2;
C.w-=B+1;
C.h-=1
}break;
case"frame":C.w=C.h=(E*2);
C.l=C.t=-E;
C.t+=1;
C.h-=2;
if(CQ.Ext.isIE){C.l-=(this.offset-B);
C.t-=(this.offset-B);
C.l+=1;
C.w-=(this.offset+B+1);
C.h-=(this.offset+B);
C.h+=1
}break
}this.adjusts=C
};
CQ.Ext.Shadow.prototype={offset:4,defaultMode:"drop",show:function(B){B=CQ.Ext.get(B);
if(!this.el){this.el=CQ.Ext.Shadow.Pool.pull();
if(this.el.dom.nextSibling!=B.dom){this.el.insertBefore(B)
}}this.el.setStyle("z-index",this.zIndex||parseInt(B.getStyle("z-index"),10)-1);
if(CQ.Ext.isIE){this.el.dom.style.filter="progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius="+(this.offset)+")"
}this.realign(B.getLeft(true),B.getTop(true),B.getWidth(),B.getHeight());
this.el.dom.style.display="block"
},isVisible:function(){return this.el?true:false
},realign:function(B,N,M,E){if(!this.el){return 
}var J=this.adjusts,H=this.el.dom,O=H.style;
var F=0;
O.left=(B+J.l)+"px";
O.top=(N+J.t)+"px";
var L=(M+J.w),D=(E+J.h),G=L+"px",K=D+"px";
if(O.width!=G||O.height!=K){O.width=G;
O.height=K;
if(!CQ.Ext.isIE){var I=H.childNodes;
var C=Math.max(0,(L-12))+"px";
I[0].childNodes[1].style.width=C;
I[1].childNodes[1].style.width=C;
I[2].childNodes[1].style.width=C;
I[1].style.height=Math.max(0,(D-12))+"px"
}}},hide:function(){if(this.el){this.el.dom.style.display="none";
CQ.Ext.Shadow.Pool.push(this.el);
delete this.el
}},setZIndex:function(B){this.zIndex=B;
if(this.el){this.el.setStyle("z-index",B)
}}};
CQ.Ext.Shadow.Pool=function(){var C=[];
var B=CQ.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 F=C.shift();
if(!F){var D=CQ.Ext.getDom(CQ.Util.getRoot());
var G;
for(var E=0;
E<D.childNodes.length;
E++){if(D.childNodes[E].tagName){G=D.childNodes[E];
break
}}F=CQ.Ext.get(CQ.Ext.DomHelper.insertHtml("beforeBegin",G,B));
F.autoBoxAdjust=false
}return F
},push:function(D){C.push(D)
}}
}();
CQ.Ext.BoxComponent=CQ.Ext.extend(CQ.Ext.Component,{initComponent:function(){CQ.Ext.BoxComponent.superclass.initComponent.call(this);
this.addEvents("resize","move")
},boxReady:false,deferHeight:false,setSize:function(C,E){if(typeof C=="object"){E=C.height;
C=C.width
}if(!this.boxReady){this.width=C;
this.height=E;
return this
}if(this.lastSize&&this.lastSize.width==C&&this.lastSize.height==E){return this
}this.lastSize={width:C,height:E};
var D=this.adjustSize(C,E);
var G=D.width,B=D.height;
if(G!==undefined||B!==undefined){var F=this.getResizeEl();
if(!this.deferHeight&&G!==undefined&&B!==undefined){F.setSize(G,B)
}else{if(!this.deferHeight&&B!==undefined){F.setHeight(B)
}else{if(G!==undefined){F.setWidth(G)
}}}this.onResize(G,B,C,E);
this.fireEvent("resize",this,G,B,C,E)
}return this
},setWidth:function(B){return this.setSize(B)
},setHeight:function(B){return this.setSize(undefined,B)
},getSize:function(){return this.el.getSize()
},getPosition:function(B){if(B===true){return[this.el.getLeft(true),this.el.getTop(true)]
}return this.xy||this.el.getXY()
},getBox:function(B){var C=this.el.getSize();
if(B===true){C.x=this.el.getLeft(true);
C.y=this.el.getTop(true)
}else{var D=this.xy||this.el.getXY();
C.x=D[0];
C.y=D[1]
}return C
},updateBox:function(B){this.setSize(B.width,B.height);
this.setPagePosition(B.x,B.y);
return this
},getResizeEl:function(){return this.resizeEl||this.el
},getPositionEl:function(){return this.positionEl||this.el
},setPosition:function(B,G){if(B&&typeof B[1]=="number"){G=B[1];
B=B[0]
}this.x=B;
this.y=G;
if(!this.boxReady){return this
}var C=this.adjustPosition(B,G);
var F=C.x,E=C.y;
var D=this.getPositionEl();
if(F!==undefined||E!==undefined){if(F!==undefined&&E!==undefined){D.setLeftTop(F,E)
}else{if(F!==undefined){D.setLeft(F)
}else{if(E!==undefined){D.setTop(E)
}}}this.onPosition(F,E);
this.fireEvent("move",this,F,E)
}return this
},setPagePosition:function(B,D){if(B&&typeof B[1]=="number"){D=B[1];
B=B[0]
}this.pageX=B;
this.pageY=D;
if(!this.boxReady){return 
}if(B===undefined||D===undefined){return 
}var C=this.el.translatePoints(B,D);
this.setPosition(C.left,C.top);
return this
},onRender:function(C,B){CQ.Ext.BoxComponent.superclass.onRender.call(this,C,B);
if(this.resizeEl){this.resizeEl=CQ.Ext.get(this.resizeEl)
}if(this.positionEl){this.positionEl=CQ.Ext.get(this.positionEl)
}},afterRender:function(){CQ.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(E,C,B,D){},onPosition:function(B,C){},adjustSize:function(B,C){if(this.autoWidth){B="auto"
}if(this.autoHeight){C="auto"
}return{width:B,height:C}
},adjustPosition:function(B,C){return{x:B,y:C}
}});
CQ.Ext.reg("box",CQ.Ext.BoxComponent);
CQ.Ext.SplitBar=function(D,F,C,E,B){this.el=CQ.Ext.get(D,true);
this.el.dom.unselectable="on";
this.resizingEl=CQ.Ext.get(F,true);
this.orientation=C||CQ.Ext.SplitBar.HORIZONTAL;
this.minSize=0;
this.maxSize=2000;
this.animate=false;
this.useShim=false;
this.shim=null;
if(!B){this.proxy=CQ.Ext.SplitBar.createProxy(this.orientation)
}else{this.proxy=CQ.Ext.get(B).dom
}this.dd=new CQ.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 CQ.Ext.SplitBar.BasicLayoutAdapter();
this.adapter.init(this);
if(this.orientation==CQ.Ext.SplitBar.HORIZONTAL){this.placement=E||(this.el.getX()>this.resizingEl.getX()?CQ.Ext.SplitBar.LEFT:CQ.Ext.SplitBar.RIGHT);
this.el.addClass("x-splitbar-h")
}else{this.placement=E||(this.el.getY()>this.resizingEl.getY()?CQ.Ext.SplitBar.TOP:CQ.Ext.SplitBar.BOTTOM);
this.el.addClass("x-splitbar-v")
}this.addEvents("resize","moved","beforeresize","beforeapply");
CQ.Ext.SplitBar.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.SplitBar,CQ.Ext.util.Observable,{onStartProxyDrag:function(B,F){this.fireEvent("beforeresize",this);
this.overlay=CQ.Ext.DomHelper.append(document.body,{cls:"x-drag-overlay",html:"&#160;"},true);
this.overlay.unselectable();
this.overlay.setSize(CQ.Ext.lib.Dom.getViewWidth(true),CQ.Ext.lib.Dom.getViewHeight(true));
this.overlay.show();
CQ.Ext.get(this.proxy).setDisplayed("block");
var D=this.adapter.getElementSize(this);
this.activeMinSize=this.getMinimumSize();
this.activeMaxSize=this.getMaximumSize();
var E=D-this.activeMinSize;
var C=Math.max(this.activeMaxSize-D,0);
if(this.orientation==CQ.Ext.SplitBar.HORIZONTAL){this.dd.resetConstraints();
this.dd.setXConstraint(this.placement==CQ.Ext.SplitBar.LEFT?E:C,this.placement==CQ.Ext.SplitBar.LEFT?C:E);
this.dd.setYConstraint(0,0)
}else{this.dd.resetConstraints();
this.dd.setXConstraint(0,0);
this.dd.setYConstraint(this.placement==CQ.Ext.SplitBar.TOP?E:C,this.placement==CQ.Ext.SplitBar.TOP?C:E)
}this.dragSpecs.startSize=D;
this.dragSpecs.startPoint=[B,F];
CQ.Ext.dd.DDProxy.prototype.b4StartDrag.call(this.dd,B,F)
},onEndProxyDrag:function(D){CQ.Ext.get(this.proxy).setDisplayed(false);
var C=CQ.Ext.lib.Event.getXY(D);
if(this.overlay){this.overlay.remove();
delete this.overlay
}var B;
if(this.orientation==CQ.Ext.SplitBar.HORIZONTAL){B=this.dragSpecs.startSize+(this.placement==CQ.Ext.SplitBar.LEFT?C[0]-this.dragSpecs.startPoint[0]:this.dragSpecs.startPoint[0]-C[0])
}else{B=this.dragSpecs.startSize+(this.placement==CQ.Ext.SplitBar.TOP?C[1]-this.dragSpecs.startPoint[1]:this.dragSpecs.startPoint[1]-C[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(B){this.adapter=B;
this.adapter.init(this)
},getMinimumSize:function(){return this.minSize
},setMinimumSize:function(B){this.minSize=B
},getMaximumSize:function(){return this.maxSize
},setMaximumSize:function(B){this.maxSize=B
},setCurrentSize:function(C){var B=this.animate;
this.animate=false;
this.adapter.setElementSize(this,C);
this.animate=B
},destroy:function(B){if(this.shim){this.shim.remove()
}this.dd.unreg();
CQ.Ext.removeNode(this.proxy);
if(B){this.el.remove()
}}});
CQ.Ext.SplitBar.createProxy=function(C){var D=new CQ.Ext.Element(document.createElement("div"));
D.unselectable();
var B="x-splitbar-proxy";
D.addClass(B+" "+(C==CQ.Ext.SplitBar.HORIZONTAL?B+"-h":B+"-v"));
CQ.Util.getRoot().appendChild(D.dom);
return D.dom
};
CQ.Ext.SplitBar.BasicLayoutAdapter=function(){};
CQ.Ext.SplitBar.BasicLayoutAdapter.prototype={init:function(B){},getElementSize:function(B){if(B.orientation==CQ.Ext.SplitBar.HORIZONTAL){return B.resizingEl.getWidth()
}else{return B.resizingEl.getHeight()
}},setElementSize:function(C,B,D){if(C.orientation==CQ.Ext.SplitBar.HORIZONTAL){if(!C.animate){C.resizingEl.setWidth(B);
if(D){D(C,B)
}}else{C.resizingEl.setWidth(B,true,0.1,D,"easeOut")
}}else{if(!C.animate){C.resizingEl.setHeight(B);
if(D){D(C,B)
}}else{C.resizingEl.setHeight(B,true,0.1,D,"easeOut")
}}}};
CQ.Ext.SplitBar.AbsoluteLayoutAdapter=function(B){this.basic=new CQ.Ext.SplitBar.BasicLayoutAdapter();
this.container=CQ.Ext.get(B)
};
CQ.Ext.SplitBar.AbsoluteLayoutAdapter.prototype={init:function(B){this.basic.init(B)
},getElementSize:function(B){return this.basic.getElementSize(B)
},setElementSize:function(C,B,D){this.basic.setElementSize(C,B,this.moveSplitter.createDelegate(this,[C]))
},moveSplitter:function(B){var C=CQ.Ext.SplitBar;
switch(B.placement){case C.LEFT:B.el.setX(B.resizingEl.getRight());
break;
case C.RIGHT:B.el.setStyle("right",(this.container.getWidth()-B.resizingEl.getLeft())+"px");
break;
case C.TOP:B.el.setY(B.resizingEl.getBottom());
break;
case C.BOTTOM:B.el.setY(B.resizingEl.getTop()-B.el.getHeight());
break
}}};
CQ.Ext.SplitBar.VERTICAL=1;
CQ.Ext.SplitBar.HORIZONTAL=2;
CQ.Ext.SplitBar.LEFT=1;
CQ.Ext.SplitBar.RIGHT=2;
CQ.Ext.SplitBar.TOP=3;
CQ.Ext.SplitBar.BOTTOM=4;
CQ.Ext.Container=CQ.Ext.extend(CQ.Ext.BoxComponent,{autoDestroy:true,defaultType:"panel",initComponent:function(){CQ.Ext.Container.superclass.initComponent.call(this);
this.addEvents("afterlayout","beforeadd","beforeremove","add","remove");
var B=this.items;
if(B){delete this.items;
if(CQ.Ext.isArray(B)){this.add.apply(this,B)
}else{this.add(B)
}}},initItems:function(){if(!this.items){this.items=new CQ.Ext.util.MixedCollection(false,this.getComponentId);
this.getLayout()
}},setLayout:function(B){if(this.layout&&this.layout!=B){this.layout.setContainer(null)
}this.initItems();
this.layout=B;
B.setContainer(this)
},render:function(){CQ.Ext.Container.superclass.render.apply(this,arguments);
if(this.layout){if(typeof this.layout=="string"){this.layout=new CQ.Ext.Container.LAYOUTS[this.layout.toLowerCase()](this.layoutConfig)
}this.setLayout(this.layout);
if(this.activeItem!==undefined){var B=this.activeItem;
delete this.activeItem;
this.layout.setActiveItem(B);
return 
}}if(!this.ownerCt){this.doLayout()
}if(this.monitorResize===true){CQ.Ext.EventManager.onWindowResize(this.doLayout,this,[false])
}},getLayoutTarget:function(){return this.el
},getComponentId:function(B){return B.itemId||B.id
},add:function(D){if(!this.items){this.initItems()
}var C=arguments,B=C.length;
if(B>1){for(var E=0;
E<B;
E++){this.add(C[E])
}return 
}var G=this.lookupComponent(this.applyDefaults(D));
var F=this.items.length;
if(this.fireEvent("beforeadd",this,G,F)!==false&&this.onBeforeAdd(G)!==false){this.items.add(G);
G.ownerCt=this;
this.fireEvent("add",this,G,F)
}return G
},insert:function(E,D){if(!this.items){this.initItems()
}var C=arguments,B=C.length;
if(B>2){for(var F=B-1;
F>=1;
--F){this.insert(E,C[F])
}return 
}var G=this.lookupComponent(this.applyDefaults(D));
if(G.ownerCt==this&&this.items.indexOf(G)<E){--E
}if(this.fireEvent("beforeadd",this,G,E)!==false&&this.onBeforeAdd(G)!==false){this.items.insert(E,G);
G.ownerCt=this;
this.fireEvent("add",this,G,E)
}return G
},applyDefaults:function(B){if(this.defaults){if(typeof B=="string"){B=CQ.Ext.ComponentMgr.get(B);
CQ.Ext.apply(B,this.defaults)
}else{if(!B.events){CQ.Ext.applyIf(B,this.defaults)
}else{CQ.Ext.apply(B,this.defaults)
}}}return B
},onBeforeAdd:function(B){if(B.ownerCt){B.ownerCt.remove(B,false)
}if(this.hideBorders===true){B.border=(B.border===true)
}},remove:function(B,C){var D=this.getComponent(B);
if(D&&this.fireEvent("beforeremove",this,D)!==false){this.items.remove(D);
delete D.ownerCt;
if(C===true||(C!==false&&this.autoDestroy)){D.destroy()
}if(this.layout&&this.layout.activeItem==D){delete this.layout.activeItem
}this.fireEvent("remove",this,D)
}return D
},getComponent:function(B){if(typeof B=="object"){return B
}return this.items.get(B)
},lookupComponent:function(B){if(typeof B=="string"){return CQ.Ext.ComponentMgr.get(B)
}else{if(!B.events){return this.createComponent(B)
}}return B
},createComponent:function(B){return CQ.Ext.ComponentMgr.create(B,this.defaultType)
},doLayout:function(E){if(this.rendered&&this.layout){this.layout.layout()
}if(E!==false&&this.items){var D=this.items.items;
for(var C=0,B=D.length;
C<B;
C++){var F=D[C];
if(F.doLayout){F.doLayout()
}}}},getLayout:function(){if(!this.layout){var B=new CQ.Ext.layout.ContainerLayout(this.layoutConfig);
this.setLayout(B)
}return this.layout
},beforeDestroy:function(){if(this.items){CQ.Ext.destroy.apply(CQ.Ext,this.items.items)
}if(this.monitorResize){CQ.Ext.EventManager.removeResizeListener(this.doLayout,this)
}if(this.layout&&this.layout.destroy){this.layout.destroy()
}CQ.Ext.Container.superclass.beforeDestroy.call(this)
},bubble:function(D,C,B){var E=this;
while(E){if(D.apply(C||E,B||[E])===false){break
}E=E.ownerCt
}},cascade:function(G,F,C){if(G.apply(F||this,C||[this])!==false){if(this.items){var E=this.items.items;
for(var D=0,B=E.length;
D<B;
D++){if(E[D].cascade){E[D].cascade(G,F,C)
}else{G.apply(F||E[D],C||[E[D]])
}}}}},findById:function(D){var B,C=this;
this.cascade(function(E){if(C!=E&&E.id===D){B=E;
return false
}});
return B||null
},findByType:function(B){return typeof B=="function"?this.findBy(function(C){return C.constructor===B
}):this.findBy(function(C){return C.constructor.xtype===B
})
},find:function(C,B){return this.findBy(function(D){return D[C]===B
})
},findBy:function(E,D){var B=[],C=this;
this.cascade(function(F){if(C!=F&&E.call(D||F,F,C)===true){B.push(F)
}});
return B
}});
CQ.Ext.Container.LAYOUTS={};
CQ.Ext.reg("container",CQ.Ext.Container);
CQ.Ext.layout.ContainerLayout=function(B){CQ.Ext.apply(this,B)
};
CQ.Ext.layout.ContainerLayout.prototype={monitorResize:false,activeItem:null,layout:function(){var B=this.container.getLayoutTarget();
this.onLayout(this.container,B);
this.container.fireEvent("afterlayout",this.container,this)
},onLayout:function(B,C){this.renderAll(B,C)
},isValidParent:function(D,C){var B=D.getPositionEl?D.getPositionEl():D.getEl();
return B.dom.parentNode==C.dom
},renderAll:function(E,F){var C=E.items.items;
for(var D=0,B=C.length;
D<B;
D++){var G=C[D];
if(G&&(!G.rendered||!this.isValidParent(G,F))){this.renderItem(G,D,F)
}}},renderItem:function(E,B,D){if(E&&!E.rendered){E.render(D,B);
if(this.extraCls){var C=E.getPositionEl?E.getPositionEl():E;
C.addClass(this.extraCls)
}if(this.renderHidden&&E!=this.activeItem){E.hide()
}}else{if(E&&!this.isValidParent(E,D)){if(this.extraCls){E.addClass(this.extraCls)
}if(typeof B=="number"){B=D.dom.childNodes[B]
}D.dom.insertBefore(E.getEl().dom,B||null);
if(this.renderHidden&&E!=this.activeItem){E.hide()
}}}},onResize:function(){if(this.container.collapsed){return 
}var B=this.container.bufferResize;
if(B){if(!this.resizeTask){this.resizeTask=new CQ.Ext.util.DelayedTask(this.layout,this);
this.resizeBuffer=typeof B=="number"?B:100
}this.resizeTask.delay(this.resizeBuffer)
}else{this.layout()
}},setContainer:function(B){if(this.monitorResize&&B!=this.container){if(this.container){this.container.un("resize",this.onResize,this)
}if(B){B.on("resize",this.onResize,this)
}}this.container=B
},parseMargins:function(C){var D=C.split(" ");
var B=D.length;
if(B==1){D[1]=D[0];
D[2]=D[0];
D[3]=D[0]
}if(B==2){D[2]=D[0];
D[3]=D[1]
}return{top:parseInt(D[0],10)||0,right:parseInt(D[1],10)||0,bottom:parseInt(D[2],10)||0,left:parseInt(D[3],10)||0}
},destroy:CQ.Ext.emptyFn};
CQ.Ext.Container.LAYOUTS.auto=CQ.Ext.layout.ContainerLayout;
CQ.Ext.layout.FitLayout=CQ.Ext.extend(CQ.Ext.layout.ContainerLayout,{monitorResize:true,onLayout:function(B,C){CQ.Ext.layout.FitLayout.superclass.onLayout.call(this,B,C);
if(!this.container.collapsed){this.setItemSize(this.activeItem||B.items.itemAt(0),C.getStyleSize())
}},setItemSize:function(C,B){if(C&&B.height>0){C.setSize(B)
}}});
CQ.Ext.Container.LAYOUTS.fit=CQ.Ext.layout.FitLayout;
CQ.Ext.layout.CardLayout=CQ.Ext.extend(CQ.Ext.layout.FitLayout,{deferredRender:false,renderHidden:true,setActiveItem:function(B){B=this.container.getComponent(B);
if(this.activeItem!=B){if(this.activeItem){this.activeItem.hide()
}this.activeItem=B;
B.show();
this.layout()
}},renderAll:function(B,C){if(this.deferredRender){this.renderItem(this.activeItem,undefined,C)
}else{CQ.Ext.layout.CardLayout.superclass.renderAll.call(this,B,C)
}}});
CQ.Ext.Container.LAYOUTS.card=CQ.Ext.layout.CardLayout;
CQ.Ext.layout.AnchorLayout=CQ.Ext.extend(CQ.Ext.layout.ContainerLayout,{monitorResize:true,getAnchorViewSize:function(B,C){return C.dom==document.body?C.getViewSize():C.getStyleSize()
},onLayout:function(G,J){CQ.Ext.layout.AnchorLayout.superclass.onLayout.call(this,G,J);
var P=this.getAnchorViewSize(G,J);
var N=P.width,F=P.height;
if(N<20||F<20){return 
}var C,L;
if(G.anchorSize){if(typeof G.anchorSize=="number"){C=G.anchorSize
}else{C=G.anchorSize.width;
L=G.anchorSize.height
}}else{C=G.initialConfig.width;
L=G.initialConfig.height
}var I=G.items.items,H=I.length,E,K,M,D,B;
for(E=0;
E<H;
E++){K=I[E];
if(K.anchor){M=K.anchorSpec;
if(!M){var O=K.anchor.split(" ");
K.anchorSpec=M={right:this.parseAnchor(O[0],K.initialConfig.width,C),bottom:this.parseAnchor(O[1],K.initialConfig.height,L)}
}D=M.right?this.adjustWidthAnchor(M.right(N),K):undefined;
B=M.bottom?this.adjustHeightAnchor(M.bottom(F),K):undefined;
if(D||B){K.setSize(D||undefined,B||undefined)
}}}},parseAnchor:function(C,G,B){if(C&&C!="none"){var E;
if(/^(r|right|b|bottom)$/i.test(C)){var F=B-G;
return function(H){if(H!==E){E=H;
return H-F
}}
}else{if(C.indexOf("%")!=-1){var D=parseFloat(C.replace("%",""))*0.01;
return function(H){if(H!==E){E=H;
return Math.floor(H*D)
}}
}else{C=parseInt(C,10);
if(!isNaN(C)){return function(H){if(H!==E){E=H;
return H+C
}}
}}}}return false
},adjustWidthAnchor:function(C,B){return C
},adjustHeightAnchor:function(C,B){return C
}});
CQ.Ext.Container.LAYOUTS.anchor=CQ.Ext.layout.AnchorLayout;
CQ.Ext.layout.ColumnLayout=CQ.Ext.extend(CQ.Ext.layout.ContainerLayout,{monitorResize:true,extraCls:"x-column",scrollOffset:0,isValidParent:function(C,B){return C.getEl().dom.parentNode==this.innerCt.dom
},onLayout:function(D,G){var E=D.items.items,F=E.length,H,B;
if(!this.innerCt){G.addClass("x-column-layout-ct");
this.innerCt=G.createChild({cls:"x-column-inner"});
this.innerCt.createChild({cls:"x-clear"})
}this.renderAll(D,this.innerCt);
var K=CQ.Ext.isIE&&G.dom!=CQ.Ext.getBody().dom?G.getStyleSize():G.getViewSize();
if(K.width<1&&K.height<1){return 
}var I=K.width-G.getPadding("lr")-this.scrollOffset,C=K.height-G.getPadding("tb"),J=I;
this.innerCt.setWidth(I);
for(B=0;
B<F;
B++){H=E[B];
if(!H.columnWidth){J-=(H.getSize().width+H.getEl().getMargins("lr"))
}}J=J<0?0:J;
for(B=0;
B<F;
B++){H=E[B];
if(H.columnWidth){H.setSize(Math.floor(H.columnWidth*J)-H.getEl().getMargins("lr"))
}}}});
CQ.Ext.Container.LAYOUTS.column=CQ.Ext.layout.ColumnLayout;
CQ.Ext.layout.BorderLayout=CQ.Ext.extend(CQ.Ext.layout.ContainerLayout,{monitorResize:true,rendered:false,onLayout:function(C,Y){var D;
if(!this.rendered){Y.position();
Y.addClass("x-border-layout-ct");
var N=C.items.items;
D=[];
for(var R=0,S=N.length;
R<S;
R++){var V=N[R];
var G=V.region;
if(V.collapsed){D.push(V)
}V.collapsed=false;
if(!V.rendered){V.cls=V.cls?V.cls+" x-border-panel":"x-border-panel";
V.render(Y,R)
}this[G]=G!="center"&&V.split?new CQ.Ext.layout.BorderLayout.SplitRegion(this,V.initialConfig,G):new CQ.Ext.layout.BorderLayout.Region(this,V.initialConfig,G);
this[G].render(Y,V)
}this.rendered=true
}var M=Y.getViewSize();
if(M.width<20||M.height<20){if(D){this.restoreCollapsed=D
}return 
}else{if(this.restoreCollapsed){D=this.restoreCollapsed;
delete this.restoreCollapsed
}}var K=M.width,T=M.height;
var J=K,Q=T,H=0,I=0;
var O=this.north,L=this.south,F=this.west,U=this.east,V=this.center;
if(!V){throw"No center region defined in BorderLayout "+C.id
}if(O&&O.isVisible()){var X=O.getSize();
var P=O.getMargins();
X.width=K-(P.left+P.right);
X.x=P.left;
X.y=P.top;
H=X.height+X.y+P.bottom;
Q-=H;
O.applyLayout(X)
}if(L&&L.isVisible()){var X=L.getSize();
var P=L.getMargins();
X.width=K-(P.left+P.right);
X.x=P.left;
var W=(X.height+P.top+P.bottom);
X.y=T-W+P.top;
Q-=W;
L.applyLayout(X)
}if(F&&F.isVisible()){var X=F.getSize();
var P=F.getMargins();
X.height=Q-(P.top+P.bottom);
X.x=P.left;
X.y=H+P.top;
var B=(X.width+P.left+P.right);
I+=B;
J-=B;
F.applyLayout(X)
}if(U&&U.isVisible()){var X=U.getSize();
var P=U.getMargins();
X.height=Q-(P.top+P.bottom);
var B=(X.width+P.left+P.right);
X.x=K-B+P.left;
X.y=H+P.top;
J-=B;
U.applyLayout(X)
}var P=V.getMargins();
var E={x:I+P.left,y:H+P.top,width:J-(P.left+P.right),height:Q-(P.top+P.bottom)};
V.applyLayout(E);
if(D){for(var R=0,S=D.length;
R<S;
R++){D[R].collapse(false)
}}if(CQ.Ext.isIE&&CQ.Ext.isStrict){Y.repaint()
}},destroy:function(){var C=["north","south","east","west"];
for(var B=0;
B<C.length;
B++){var D=this[C[B]];
if(D&&D.split){D.split.destroy(true)
}}CQ.Ext.layout.BorderLayout.superclass.destroy.call(this)
}});
CQ.Ext.layout.BorderLayout.Region=function(C,B,D){CQ.Ext.apply(this,B);
this.layout=C;
this.position=D;
this.state={};
if(typeof this.margins=="string"){this.margins=this.layout.parseMargins(this.margins)
}this.margins=CQ.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=CQ.Ext.applyIf(this.cmargins||{},D=="north"||D=="south"?this.defaultNSCMargins:this.defaultEWCMargins)
}}};
CQ.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,E=this.position;
D.getState=function(){return CQ.Ext.apply(B.call(D)||{},this.state)
}.createDelegate(this);
if(E!="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){D.collapseEl="el";
D.slideAnchor=this.getSlideAnchor()
}if(D.tools&&D.tools.toggle){D.tools.toggle.addClass("x-tool-collapse-"+E);
D.tools.toggle.addClassOnOver("x-tool-collapse-"+E+"-over")
}}},getCollapsedEl:function(){if(!this.collapsedEl){if(!this.toolTemplate){var C=new CQ.Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');
C.disableFormats=true;
C.compile();
CQ.Ext.layout.BorderLayout.Region.prototype.toolTemplate=C
}this.collapsedEl=this.targetEl.createChild({cls:"x-layout-collapsed x-layout-collapsed-"+this.position,id:this.panel.id+"-xcollapsed"});
this.collapsedEl.enableDisplayMode("block");
if(this.collapseMode=="mini"){this.collapsedEl.addClass("x-layout-cmini-"+this.position);
this.miniCollapsedEl=this.collapsedEl.createChild({cls:"x-layout-mini x-layout-mini-"+this.position,html:"&#160;"});
this.miniCollapsedEl.addClassOnOver("x-layout-mini-over");
this.collapsedEl.addClassOnOver("x-layout-collapsed-over");
this.collapsedEl.on("click",this.onExpandClick,this,{stopEvent:true})
}else{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.collapsedEl.addClassOnOver("x-layout-collapsed-over");
this.collapsedEl.on("click",this.collapseClick,this)
}}}return this.collapsedEl
},onExpandClick:function(B){if(this.isSlid){this.afterSlideIn();
this.panel.expand(false)
}else{this.panel.expand()
}},onCollapseClick:function(B){this.panel.collapse()
},beforeCollapse:function(C,B){this.lastAnim=B;
if(this.splitEl){this.splitEl.hide()
}this.getCollapsedEl().show();
this.panel.el.setStyle("z-index",100);
this.isCollapsed=true;
this.layout.layout()
},onCollapse:function(B){this.panel.el.setStyle("z-index",1);
if(this.lastAnim===false||this.panel.animCollapse===false){this.getCollapsedEl().dom.style.visibility="visible"
}else{this.getCollapsedEl().slideIn(this.panel.slideAnchor,{duration:0.2})
}this.state.collapsed=true;
this.panel.saveState()
},beforeExpand:function(B){var C=this.getCollapsedEl();
this.el.show();
if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,C.getHeight())
}else{this.panel.setSize(C.getWidth(),undefined)
}C.hide();
C.dom.style.visibility="hidden";
this.panel.el.setStyle("z-index",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(B){if(this.isSlid){B.stopPropagation();
this.slideIn()
}else{B.stopPropagation();
this.slideOut()
}},onHide:function(){if(this.isCollapsed){this.getCollapsedEl().hide()
}else{if(this.splitEl){this.splitEl.hide()
}}},onShow:function(){if(this.isCollapsed){this.getCollapsedEl().show()
}else{if(this.splitEl){this.splitEl.show()
}}},isVisible:function(){return !this.panel.hidden
},getMargins:function(){return this.isCollapsed&&this.cmargins?this.cmargins:this.margins
},getSize:function(){return this.isCollapsed?this.getCollapsedEl().getSize():this.panel.getSize()
},setPanel:function(B){this.panel=B
},getMinWidth:function(){return this.minWidth
},getMinHeight:function(){return this.minHeight
},applyLayoutCollapsed:function(B){var C=this.getCollapsedEl();
C.setLeftTop(B.x,B.y);
C.setSize(B.width,B.height)
},applyLayout:function(B){if(this.isCollapsed){this.applyLayoutCollapsed(B)
}else{this.panel.setPosition(B.x,B.y);
this.panel.setSize(B.width,B.height)
}},beforeSlide:function(){this.panel.beforeEffect()
},afterSlide:function(){this.panel.afterEffect()
},initAutoHide:function(){if(this.autoHide!==false){if(!this.autoHideHd){var B=new CQ.Ext.util.DelayedTask(this.slideIn,this);
this.autoHideHd={mouseout:function(C){if(!C.within(this.el,true)){B.delay(500)
}},mouseover:function(C){B.cancel()
},scope:this}
}this.el.on(this.autoHideHd)
}},clearAutoHide:function(){if(this.autoHide!==false){this.el.un("mouseout",this.autoHideHd.mouseout);
this.el.un("mouseover",this.autoHideHd.mouseover)
}},clearMonitor:function(){CQ.Ext.getDoc().un("click",this.slideInIf,this)
},slideOut:function(){if(this.isSlid||this.el.hasActiveFx()){return 
}this.isSlid=true;
var B=this.panel.tools;
if(B&&B.toggle){B.toggle.hide()
}this.el.show();
if(this.position=="east"||this.position=="west"){this.panel.setSize(undefined,this.collapsedEl.getHeight())
}else{this.panel.setSize(this.collapsedEl.getWidth(),undefined)
}this.restoreLT=[this.el.dom.style.left,this.el.dom.style.top];
this.el.alignTo(this.collapsedEl,this.getCollapseAnchor());
this.el.setStyle("z-index",102);
if(this.animFloat!==false){this.beforeSlide();
this.el.slideIn(this.getSlideAnchor(),{callback:function(){this.afterSlide();
this.initAutoHide();
CQ.Ext.getDoc().on("click",this.slideInIf,this)
},scope:this,block:true})
}else{this.initAutoHide();
CQ.Ext.getDoc().on("click",this.slideInIf,this)
}},afterSlideIn:function(){this.clearAutoHide();
this.isSlid=false;
this.clearMonitor();
this.el.setStyle("z-index","");
this.el.dom.style.left=this.restoreLT[0];
this.el.dom.style.top=this.restoreLT[1];
var B=this.panel.tools;
if(B&&B.toggle){B.toggle.show()
}},slideIn:function(B){if(!this.isSlid||this.el.hasActiveFx()){CQ.Ext.callback(B);
return 
}this.isSlid=false;
if(this.animFloat!==false){this.beforeSlide();
this.el.slideOut(this.getSlideAnchor(),{callback:function(){this.el.hide();
this.afterSlide();
this.afterSlideIn();
CQ.Ext.callback(B)
},scope:this,block:true})
}else{this.el.hide();
this.afterSlideIn()
}},slideInIf:function(B){if(!B.within(this.el)){this.slideIn()
}},anchors:{west:"left",east:"right",north:"top",south:"bottom"},sanchors:{west:"l",east:"r",north:"t",south:"b"},canchors:{west:"tl-tr",east:"tr-tl",north:"tl-bl",south:"bl-tl"},getAnchor:function(){return this.anchors[this.position]
},getCollapseAnchor:function(){return this.canchors[this.position]
},getSlideAnchor:function(){return this.sanchors[this.position]
},getAlignAdj:function(){var B=this.cmargins;
switch(this.position){case"west":return[0,0];
break;
case"east":return[0,0];
break;
case"north":return[0,0];
break;
case"south":return[0,0];
break
}},getExpandAdj:function(){var C=this.collapsedEl,B=this.cmargins;
switch(this.position){case"west":return[-(B.right+C.getWidth()+B.left),0];
break;
case"east":return[B.right+C.getWidth()+B.left,0];
break;
case"north":return[0,-(B.top+B.bottom+C.getHeight())];
break;
case"south":return[0,B.top+B.bottom+C.getHeight()];
break
}}};
CQ.Ext.layout.BorderLayout.SplitRegion=function(C,B,D){CQ.Ext.layout.BorderLayout.SplitRegion.superclass.constructor.call(this,C,B,D);
this.applyLayout=this.applyFns[D]
};
CQ.Ext.extend(CQ.Ext.layout.BorderLayout.SplitRegion,CQ.Ext.layout.BorderLayout.Region,{splitTip:"Drag to resize.",collapsibleSplitTip:"Drag to resize. Double click to hide.",useSplitTips:false,splitSettings:{north:{orientation:CQ.Ext.SplitBar.VERTICAL,placement:CQ.Ext.SplitBar.TOP,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},south:{orientation:CQ.Ext.SplitBar.VERTICAL,placement:CQ.Ext.SplitBar.BOTTOM,maxFn:"getVMaxSize",minProp:"minHeight",maxProp:"maxHeight"},east:{orientation:CQ.Ext.SplitBar.HORIZONTAL,placement:CQ.Ext.SplitBar.RIGHT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"},west:{orientation:CQ.Ext.SplitBar.HORIZONTAL,placement:CQ.Ext.SplitBar.LEFT,maxFn:"getHMaxSize",minProp:"minWidth",maxProp:"maxWidth"}},applyFns:{west:function(D){if(this.isCollapsed){return this.applyLayoutCollapsed(D)
}var E=this.splitEl.dom,C=E.style;
this.panel.setPosition(D.x,D.y);
var B=E.offsetWidth;
C.left=(D.x+D.width-B)+"px";
C.top=(D.y)+"px";
C.height=Math.max(0,D.height)+"px";
this.panel.setSize(D.width-B,D.height)
},east:function(D){if(this.isCollapsed){return this.applyLayoutCollapsed(D)
}var E=this.splitEl.dom,C=E.style;
var B=E.offsetWidth;
this.panel.setPosition(D.x+B,D.y);
C.left=(D.x)+"px";
C.top=(D.y)+"px";
C.height=Math.max(0,D.height)+"px";
this.panel.setSize(D.width-B,D.height)
},north:function(D){if(this.isCollapsed){return this.applyLayoutCollapsed(D)
}var E=this.splitEl.dom,C=E.style;
var B=E.offsetHeight;
this.panel.setPosition(D.x,D.y);
C.left=(D.x)+"px";
C.top=(D.y+D.height-B)+"px";
C.width=Math.max(0,D.width)+"px";
this.panel.setSize(D.width,D.height-B)
},south:function(D){if(this.isCollapsed){return this.applyLayoutCollapsed(D)
}var E=this.splitEl.dom,C=E.style;
var B=E.offsetHeight;
this.panel.setPosition(D.x,D.y+B);
C.left=(D.x)+"px";
C.top=(D.y)+"px";
C.width=Math.max(0,D.width)+"px";
this.panel.setSize(D.width,D.height-B)
}},render:function(B,D){CQ.Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this,B,D);
var E=this.position;
this.splitEl=B.createChild({cls:"x-layout-split x-layout-split-"+E,html:"&#160;",id:this.panel.id+"-xsplit"});
if(this.collapseMode=="mini"){this.miniSplitEl=this.splitEl.createChild({cls:"x-layout-mini x-layout-mini-"+E,html:"&#160;"});
this.miniSplitEl.addClassOnOver("x-layout-mini-over");
this.miniSplitEl.on("click",this.onCollapseClick,this,{stopEvent:true})
}var C=this.splitSettings[E];
this.split=new CQ.Ext.SplitBar(this.splitEl.dom,D.el,C.orientation);
this.split.placement=C.placement;
this.split.getMaximumSize=this[C.maxFn].createDelegate(this);
this.split.minSize=this.minSize||this[C.minProp];
this.split.on("beforeapply",this.onSplitMove,this);
this.split.useShim=this.useShim===true;
this.maxSize=this.maxSize||this[C.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 B=this.panel.getSize();
if(this.position=="north"||this.position=="south"){B.height+=this.splitEl.dom.offsetHeight
}else{B.width+=this.splitEl.dom.offsetWidth
}return B
},getHMaxSize:function(){var C=this.maxSize||10000;
var B=this.layout.center;
return Math.min(C,(this.el.getWidth()+B.el.getWidth())-B.getMinWidth())
},getVMaxSize:function(){var C=this.maxSize||10000;
var B=this.layout.center;
return Math.min(C,(this.el.getHeight()+B.el.getHeight())-B.getMinHeight())
},onSplitMove:function(C,B){var D=this.panel.getSize();
this.lastSplitSize=B;
if(this.position=="north"||this.position=="south"){this.panel.setSize(D.width,B);
this.state.height=B
}else{this.panel.setSize(B,D.height);
this.state.width=B
}this.layout.layout();
this.panel.saveState();
return false
},getSplitBar:function(){return this.split
}});
CQ.Ext.Container.LAYOUTS.border=CQ.Ext.layout.BorderLayout;
CQ.Ext.layout.FormLayout=CQ.Ext.extend(CQ.Ext.layout.AnchorLayout,{labelSeparator:":",getAnchorViewSize:function(B,C){return B.body.getStyleSize()
},setContainer:function(C){CQ.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 D=(typeof C.labelPad=="number"?C.labelPad:5);
this.labelAdjust=C.labelWidth+D;
this.labelStyle="width:"+C.labelWidth+"px;";
this.elementStyle="padding-left:"+(C.labelWidth+D)+"px"
}if(C.labelAlign=="top"){this.labelStyle="width:auto;";
this.labelAdjust=0;
this.elementStyle="padding-left:0;"
}}if(!this.fieldTpl){var B=new CQ.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();
CQ.Ext.layout.FormLayout.prototype.fieldTpl=B
}},renderItem:function(E,B,D){if(E&&!E.rendered&&E.isFormField&&E.inputType!="hidden"){var C=[E.id,E.fieldLabel,E.labelStyle||this.labelStyle||"",this.elementStyle||"",typeof E.labelSeparator=="undefined"?this.labelSeparator:E.labelSeparator,(E.itemCls||this.container.itemCls||"")+(E.hideLabel?" x-hide-label":""),E.clearCls||"x-form-clear-left"];
if(typeof B=="number"){B=D.dom.childNodes[B]||null
}if(B){this.fieldTpl.insertBefore(B,C)
}else{this.fieldTpl.append(D,C)
}E.render("x-form-el-"+E.id)
}else{CQ.Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)
}},adjustWidthAnchor:function(C,B){return C-(B.isFormField?(B.hideLabel?0:this.labelAdjust):0)
},isValidParent:function(C,B){return true
}});
CQ.Ext.Container.LAYOUTS.form=CQ.Ext.layout.FormLayout;
CQ.Ext.layout.Accordion=CQ.Ext.extend(CQ.Ext.layout.FitLayout,{fill:true,autoWidth:true,titleCollapse:true,hideCollapseTool:false,collapseFirst:false,animate:false,sequence:false,activeOnTop:false,renderItem:function(B){if(this.animate===false){B.animCollapse=false
}B.collapsible=true;
if(this.autoWidth){B.autoWidth=true
}if(this.titleCollapse){B.titleCollapse=true
}if(this.hideCollapseTool){B.hideCollapseTool=true
}if(this.collapseFirst!==undefined){B.collapseFirst=this.collapseFirst
}if(!this.activeItem&&!B.collapsed){this.activeItem=B
}else{if(this.activeItem){B.collapsed=true
}}CQ.Ext.layout.Accordion.superclass.renderItem.apply(this,arguments);
B.header.addClass("x-accordion-hd");
B.on("beforeexpand",this.beforeExpand,this)
},beforeExpand:function(D,C){var B=this.activeItem;
if(B){if(this.sequence){delete this.activeItem;
if(!B.collapsed){B.collapse({callback:function(){D.expand(C||true)
},scope:this});
return false
}}else{B.collapse(this.animate)
}}this.activeItem=D;
if(this.activeOnTop){D.el.dom.parentNode.insertBefore(D.el.dom,D.el.dom.parentNode.firstChild)
}this.layout()
},setItemSize:function(G,F){if(this.fill&&G){var C=this.container.items.items;
var E=0;
for(var D=0,B=C.length;
D<B;
D++){var H=C[D];
if(H!=G){E+=(H.getSize().height-H.bwrap.getHeight())
}}F.height-=E;
G.setSize(F)
}}});
CQ.Ext.Container.LAYOUTS.accordion=CQ.Ext.layout.Accordion;
CQ.Ext.layout.TableLayout=CQ.Ext.extend(CQ.Ext.layout.ContainerLayout,{monitorResize:false,setContainer:function(B){CQ.Ext.layout.TableLayout.superclass.setContainer.call(this,B);
this.currentRow=0;
this.currentColumn=0;
this.cells=[]
},onLayout:function(D,F){var E=D.items.items,B=E.length,G,C;
if(!this.table){F.addClass("x-table-layout-ct");
this.table=F.createChild({tag:"table",cls:"x-table-layout",cellspacing:0,cn:{tag:"tbody"}},null,true);
this.renderAll(D,F)
}},getRow:function(B){var C=this.table.tBodies[0].childNodes[B];
if(!C){C=document.createElement("tr");
this.table.tBodies[0].appendChild(C)
}return C
},getNextCell:function(I){var B=this.getNextNonSpan(this.currentColumn,this.currentRow);
var F=this.currentColumn=B[0],E=this.currentRow=B[1];
for(var H=E;
H<E+(I.rowspan||1);
H++){if(!this.cells[H]){this.cells[H]=[]
}for(var D=F;
D<F+(I.colspan||1);
D++){this.cells[H][D]=true
}}var G=document.createElement("td");
if(I.cellId){G.id=I.cellId
}var C="x-table-layout-cell";
if(I.cellCls){C+=" "+I.cellCls
}G.className=C;
if(I.colspan){G.colSpan=I.colspan
}if(I.rowspan){G.rowSpan=I.rowspan
}this.getRow(E).appendChild(G);
return G
},getNextNonSpan:function(B,D){var C=this.columns;
while((C&&B>=C)||(this.cells[D]&&this.cells[D][B])){if(C&&B>=C){D++;
B=0
}else{B++
}}return[B,D]
},renderItem:function(D,B,C){if(D&&!D.rendered){D.render(this.getNextCell(D))
}},isValidParent:function(C,B){return true
}});
CQ.Ext.Container.LAYOUTS.table=CQ.Ext.layout.TableLayout;
CQ.Ext.layout.AbsoluteLayout=CQ.Ext.extend(CQ.Ext.layout.AnchorLayout,{extraCls:"x-abs-layout-item",isForm:false,setContainer:function(B){CQ.Ext.layout.AbsoluteLayout.superclass.setContainer.call(this,B);
if(B.isXType("form")){this.isForm=true
}},onLayout:function(B,C){if(this.isForm){B.body.position()
}else{C.position()
}CQ.Ext.layout.AbsoluteLayout.superclass.onLayout.call(this,B,C)
},getAnchorViewSize:function(B,C){return this.isForm?B.body.getStyleSize():CQ.Ext.layout.AbsoluteLayout.superclass.getAnchorViewSize.call(this,B,C)
},isValidParent:function(C,B){return this.isForm?true:CQ.Ext.layout.AbsoluteLayout.superclass.isValidParent.call(this,C,B)
},adjustWidthAnchor:function(C,B){return C?C-B.getPosition(true)[0]:C
},adjustHeightAnchor:function(C,B){return C?C-B.getPosition(true)[1]:C
}});
CQ.Ext.Container.LAYOUTS.absolute=CQ.Ext.layout.AbsoluteLayout;
CQ.Ext.Viewport=CQ.Ext.extend(CQ.Ext.Container,{initComponent:function(){CQ.Ext.Viewport.superclass.initComponent.call(this);
document.getElementsByTagName("html")[0].className+=" x-viewport";
this.el=CQ.Ext.getBody();
this.el.setHeight=CQ.Ext.emptyFn;
this.el.setWidth=CQ.Ext.emptyFn;
this.el.setSize=CQ.Ext.emptyFn;
this.el.dom.scroll="no";
this.allowDomMove=false;
this.autoWidth=true;
this.autoHeight=true;
CQ.Ext.EventManager.onWindowResize(this.fireResize,this);
this.renderTo=this.el
},fireResize:function(B,C){this.fireEvent("resize",this,B,C,B,C)
}});
CQ.Ext.reg("viewport",CQ.Ext.Viewport);
CQ.Ext.Panel=CQ.Ext.extend(CQ.Ext.Container,{baseCls:"x-panel",collapsedCls:"x-panel-collapsed",maskDisabled:true,animCollapse:CQ.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(){CQ.Ext.Panel.superclass.initComponent.call(this);
this.addEvents("bodyresize","titlechange","collapse","expand","beforecollapse","beforeexpand","beforeclose","close","activate","deactivate");
if(this.tbar){this.elements+=",tbar";
if(typeof this.tbar=="object"){this.topToolbar=this.tbar
}delete this.tbar
}if(this.bbar){this.elements+=",bbar";
if(typeof this.bbar=="object"){this.bottomToolbar=this.bbar
}delete this.bbar
}if(this.header===true){this.elements+=",header";
delete this.header
}else{if(this.title&&this.header!==false){this.elements+=",header"
}}if(this.footer===true){this.elements+=",footer";
delete this.footer
}if(this.buttons){var D=this.buttons;
this.buttons=[];
for(var C=0,B=D.length;
C<B;
C++){if(D[C].render){D[C].ownerCt=this;
this.buttons.push(D[C])
}else{this.addButton(D[C])
}}}if(this.autoLoad){this.on("render",this.doAutoLoad,this,{delay:10})
}},createElement:function(B,D){if(this[B]){D.appendChild(this[B].dom);
return 
}if(B==="bwrap"||this.elements.indexOf(B)!=-1){if(this[B+"Cfg"]){this[B]=CQ.Ext.fly(D).createChild(this[B+"Cfg"])
}else{var C=document.createElement("div");
C.className=this[B+"Cls"];
this[B]=CQ.Ext.get(D.appendChild(C))
}}},onRender:function(I,H){CQ.Ext.Panel.superclass.onRender.call(this,I,H);
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 N=this.bwrap?this.bwrap:this.el;
this.tbar=N.down("."+this.tbarCls);
this.body=N.down("."+this.bodyCls);
this.bbar=N.down("."+this.bbarCls);
this.footer=N.down("."+this.footerCls);
this.fromMarkup=true
}else{this.el=I.createChild({id:this.id,cls:this.baseCls},H)
}var B=this.el,L=B.dom;
if(this.cls){this.el.addClass(this.cls)
}if(this.buttons){this.elements+=",footer"
}if(this.frame){B.insertHtml("afterBegin",String.format(CQ.Ext.Element.boxMarkup,this.baseCls));
this.createElement("header",L.firstChild.firstChild.firstChild);
this.createElement("bwrap",L);
var P=this.bwrap.dom;
var F=L.childNodes[1],C=L.childNodes[2];
P.appendChild(F);
P.appendChild(C);
var Q=P.firstChild.firstChild.firstChild;
this.createElement("tbar",Q);
this.createElement("body",Q);
this.createElement("bbar",Q);
this.createElement("footer",P.lastChild.firstChild.firstChild);
if(!this.footer){this.bwrap.dom.lastChild.className+=" x-panel-nofooter"
}}else{this.createElement("header",L);
this.createElement("bwrap",L);
var P=this.bwrap.dom;
this.createElement("tbar",P);
this.createElement("body",P);
this.createElement("bbar",P);
this.createElement("footer",P);
if(!this.header){this.body.addClass(this.bodyCls+"-noheader");
if(this.tbar){this.tbar.addClass(this.tbarCls+"-noheader")
}}}if(this.border===false){this.el.addClass(this.baseCls+"-noborder");
this.body.addClass(this.bodyCls+"-noborder");
if(this.header){this.header.addClass(this.headerCls+"-noborder")
}if(this.footer){this.footer.addClass(this.footerCls+"-noborder")
}if(this.tbar){this.tbar.addClass(this.tbarCls+"-noborder")
}if(this.bbar){this.bbar.addClass(this.bbarCls+"-noborder")
}}if(this.bodyBorder===false){this.body.addClass(this.bodyCls+"-noborder")
}if(this.bodyStyle){this.body.applyStyles(this.bodyStyle)
}this.bwrap.enableDisplayMode("block");
if(this.header){this.header.unselectable();
if(this.headerAsText){this.header.dom.innerHTML='<span class="'+this.headerTextCls+'">'+this.header.dom.innerHTML+"</span>";
if(this.iconCls){this.setIconClass(this.iconCls)
}}}if(this.floating){this.makeFloating(this.floating)
}if(this.collapsible){this.tools=this.tools?this.tools.slice(0):[];
if(!this.hideCollapseTool){this.tools[this.collapseFirst?"unshift":"push"]({id:"toggle",handler:this.toggleCollapse,scope:this})
}if(this.titleCollapse&&this.header){this.header.on("click",this.toggleCollapse,this);
this.header.setStyle("cursor","pointer")
}}if(this.tools){var K=this.tools;
this.tools={};
this.addTool.apply(this,K)
}else{this.tools={}
}if(this.buttons&&this.buttons.length>0){var E=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 M=E.getElementsByTagName("tr")[0];
for(var G=0,J=this.buttons.length;
G<J;
G++){var O=this.buttons[G];
var D=document.createElement("td");
D.className="x-panel-btn-td";
O.render(M.appendChild(D))
}}if(this.tbar&&this.topToolbar){if(CQ.Ext.isArray(this.topToolbar)){this.topToolbar=new CQ.Ext.Toolbar(this.topToolbar)
}this.topToolbar.render(this.tbar);
this.topToolbar.ownerCt=this
}if(this.bbar&&this.bottomToolbar){if(CQ.Ext.isArray(this.bottomToolbar)){this.bottomToolbar=new CQ.Ext.Toolbar(this.bottomToolbar)
}this.bottomToolbar.render(this.bbar);
this.bottomToolbar.ownerCt=this
}},setIconClass:function(C){var B=this.iconCls;
this.iconCls=C;
if(this.rendered&&this.header){if(this.frame){this.header.addClass("x-panel-icon");
this.header.replaceClass(B,this.iconCls)
}else{var E=this.header.dom;
var D=E.firstChild&&String(E.firstChild.tagName).toLowerCase()=="img"?E.firstChild:null;
if(D){CQ.Ext.fly(D).replaceClass(B,this.iconCls)
}else{CQ.Ext.DomHelper.insertBefore(E.firstChild,{tag:"img",src:CQ.Ext.BLANK_IMAGE_URL,cls:"x-panel-inline-icon "+this.iconCls})
}}}},makeFloating:function(B){this.floating=true;
this.el=new CQ.Ext.Layer(typeof B=="object"?B:{shadow:this.shadow!==undefined?this.shadow:"sides",shadowOffset:this.shadowOffset,constrain:false,shim:this.shim===false?false:undefined},this.el)
},getTopToolbar:function(){return this.topToolbar
},getBottomToolbar:function(){return this.bottomToolbar
},addButton:function(B,E,D){var F={handler:E,scope:D,minWidth:this.minButtonWidth,hideParent:true};
if(typeof B=="string"){F.text=B
}else{CQ.Ext.apply(F,B)
}var C=new CQ.Ext.Button(F);
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 G=new CQ.Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>');
G.disableFormats=true;
G.compile();
CQ.Ext.Panel.prototype.toolTemplate=G
}for(var F=0,D=arguments,C=D.length;
F<C;
F++){var B=D[F],H="x-tool-"+B.id+"-over";
var E=this.toolTemplate.insertFirst((B.align!=="left")?this[this.toolTarget]:this[this.toolTarget].child("span"),B,true);
this.tools[B.id]=E;
E.enableDisplayMode("block");
E.on("click",this.createToolHandler(E,B,H,this));
if(B.on){E.on(B.on)
}if(B.hidden){E.hide()
}if(B.qtip){if(typeof B.qtip=="object"){CQ.Ext.QuickTips.register(CQ.Ext.apply({target:E.id},B.qtip))
}else{E.dom.qtip=B.qtip
}}E.addClassOnOver(H)
}},onShow:function(){if(this.floating){return this.el.show()
}CQ.Ext.Panel.superclass.onShow.call(this)
},onHide:function(){if(this.floating){return this.el.hide()
}CQ.Ext.Panel.superclass.onHide.call(this)
},createToolHandler:function(D,B,E,C){return function(F){D.removeClass(E);
F.stopEvent();
if(B.handler){B.handler.call(B.scope||D,F,D,C)
}}
},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"?CQ.Ext.DomHelper.markup(this.html):this.html);
delete this.html
}if(this.contentEl){var B=CQ.Ext.getDom(this.contentEl);
CQ.Ext.fly(B).removeClass(["x-hidden","x-hide-display"]);
this.body.dom.appendChild(B)
}if(this.collapsed){this.collapsed=false;
this.collapse(false)
}CQ.Ext.Panel.superclass.afterRender.call(this);
this.initEvents()
},setAutoScroll:function(){if(this.rendered&&this.autoScroll){var B=this.body||this.el;
if(B){B.setOverflow("auto")
}}},getKeyMap:function(){if(!this.keyMap){this.keyMap=new CQ.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 CQ.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(C,B,D){var E={scope:D,block:true};
if(C===true){E.callback=B;
return E
}else{if(!C.callback){E.callback=B
}else{E.callback=function(){B.call(D);
CQ.Ext.callback(C.callback,C.scope)
}
}}return CQ.Ext.applyIf(E,C)
},collapse:function(C){if(this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforecollapse",this,C)===false){return 
}var B=C===true||(C!==false&&this.animCollapse);
this.beforeEffect();
this.onCollapse(B,C);
return this
},onCollapse:function(B,C){if(B){this[this.collapseEl].slideOut(this.slideAnchor,CQ.Ext.apply(this.createEffect(C||true,this.afterCollapse,this),this.collapseDefaults))
}else{this[this.collapseEl].hide();
this.afterCollapse()
}},afterCollapse:function(){this.collapsed=true;
this.el.addClass(this.collapsedCls);
this.afterEffect();
this.fireEvent("collapse",this)
},expand:function(C){if(!this.collapsed||this.el.hasFxBlock()||this.fireEvent("beforeexpand",this,C)===false){return 
}var B=C===true||(C!==false&&this.animCollapse);
this.el.removeClass(this.collapsedCls);
this.beforeEffect();
this.onExpand(B,C);
return this
},onExpand:function(B,C){if(B){this[this.collapseEl].slideIn(this.slideAnchor,CQ.Ext.apply(this.createEffect(C||true,this.afterExpand,this),this.expandDefaults))
}else{this[this.collapseEl].show();
this.afterExpand()
}},afterExpand:function(){this.collapsed=false;
this.afterEffect();
this.fireEvent("expand",this)
},toggleCollapse:function(B){this[this.collapsed?"expand":"collapse"](B);
return this
},onDisable:function(){if(this.rendered&&this.maskDisabled){this.el.mask()
}CQ.Ext.Panel.superclass.onDisable.call(this)
},onEnable:function(){if(this.rendered&&this.maskDisabled){this.el.unmask()
}CQ.Ext.Panel.superclass.onEnable.call(this)
},onResize:function(B,C){if(B!==undefined||C!==undefined){if(!this.collapsed){if(typeof B=="number"){this.body.setWidth(this.adjustBodyWidth(B-this.getFrameWidth()))
}else{if(B=="auto"){this.body.setWidth(B)
}}if(typeof C=="number"){this.body.setHeight(this.adjustBodyHeight(C-this.getFrameHeight()))
}else{if(C=="auto"){this.body.setHeight(C)
}}if(this.disabled&&this.el._mask){this.el._mask.setSize(this.el.dom.clientWidth,this.el.getHeight())
}}else{this.queuedBodySize={width:B,height:C};
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,B,C)
}this.syncShadow()
},adjustBodyHeight:function(B){return B
},adjustBodyWidth:function(B){return B
},onPosition:function(){this.syncShadow()
},getFrameWidth:function(){var C=this.el.getFrameWidth("lr");
if(this.frame){var B=this.bwrap.dom.firstChild;
C+=(CQ.Ext.fly(B).getFrameWidth("l")+CQ.Ext.fly(B.firstChild).getFrameWidth("r"));
var D=this.bwrap.dom.firstChild.firstChild.firstChild;
C+=CQ.Ext.fly(D).getFrameWidth("lr")
}return C
},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 D=this.el.dom.firstChild;
var E=this.bwrap.dom.lastChild;
B+=(D.offsetHeight+E.offsetHeight);
var C=this.bwrap.dom.firstChild.firstChild.firstChild;
B+=CQ.Ext.fly(C).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(C,B){this.title=C;
if(this.header&&this.headerAsText){this.header.child("span").update(C)
}if(B){this.setIconClass(B)
}this.fireEvent("titlechange",this,C);
return this
},getUpdater:function(){return this.body.getUpdater()
},load:function(){var B=this.body.getUpdater();
B.update.apply(B,arguments);
return this
},beforeDestroy:function(){CQ.Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body);
if(this.tools){for(var C in this.tools){CQ.Ext.destroy(this.tools[C])
}}if(this.buttons){for(var B in this.buttons){CQ.Ext.destroy(this.buttons[B])
}}CQ.Ext.destroy(this.topToolbar,this.bottomToolbar);
CQ.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(B,F,C){var E=document.createElement("div");
E.className="x-panel-ghost "+(B?B:"");
if(this.header){E.appendChild(this.el.dom.firstChild.cloneNode(true))
}CQ.Ext.fly(E.appendChild(document.createElement("ul"))).setHeight(this.bwrap.getHeight());
E.style.width=this.el.dom.offsetWidth+"px";
if(!C){this.container.dom.appendChild(E)
}else{CQ.Ext.getDom(C).appendChild(E)
}if(F!==false&&this.el.useShim!==false){var D=new CQ.Ext.Layer({shadow:false,useDisplay:true,constrain:false},E);
D.show();
return D
}else{return new CQ.Ext.Element(E)
}},doAutoLoad:function(){this.body.load(typeof this.autoLoad=="object"?this.autoLoad:{url:this.autoLoad})
}});
CQ.Ext.reg("panel",CQ.Ext.Panel);
CQ.Ext.Window=CQ.Ext.extend(CQ.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(){CQ.Ext.Window.superclass.initComponent.call(this);
this.addEvents("resize","maximize","minimize","restore")
},getState:function(){return CQ.Ext.apply(CQ.Ext.Window.superclass.getState.call(this)||{},this.getBox())
},onRender:function(C,B){CQ.Ext.Window.superclass.onRender.call(this,C,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()
}},initEvents:function(){CQ.Ext.Window.superclass.initEvents.call(this);
if(this.animateTarget){this.setAnimateTarget(this.animateTarget)
}if(this.resizable){this.resizer=new CQ.Ext.Resizable(this.el,{minWidth:this.minWidth,minHeight:this.minHeight,handles:this.resizeHandles||"all",pinned:true,resizeElement:this.resizerAction});
this.resizer.window=this;
this.resizer.on("beforeresize",this.beforeResize,this)
}if(this.draggable){this.header.addClass("x-window-draggable")
}this.initTools();
this.el.on("mousedown",this.toFront,this);
this.manager=this.manager||CQ.Ext.WindowMgr;
this.manager.register(this);
this.hidden=true;
if(this.maximized){this.maximized=false;
this.maximize()
}if(this.closable){var B=this.getKeyMap();
B.on(27,this.onEsc,this);
B.disable()
}},initDraggable:function(){this.dd=new CQ.Ext.Window.DD(this)
},onEsc:function(){this[this.closeAction]()
},beforeDestroy:function(){CQ.Ext.destroy(this.resizer,this.dd,this.proxy,this.mask);
CQ.Ext.Window.superclass.beforeDestroy.call(this)
},onDestroy:function(){if(this.manager){this.manager.unregister(this)
}CQ.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 B=this.proxy.getBox();
this.proxy.hide();
this.window.handleResize(B);
return B
},beforeResize:function(){this.resizer.minHeight=Math.max(this.minHeight,this.getFrameHeight()+40);
this.resizer.minWidth=Math.max(this.minWidth,this.getFrameWidth()+40);
this.resizeBox=this.el.getBox()
},updateHandles:function(){if(CQ.Ext.isIE&&this.resizer){this.resizer.syncHandleHeight();
this.el.repaint()
}},handleResize:function(C){var B=this.resizeBox;
if(B.x!=C.x||B.y!=C.y){this.updateBox(C)
}else{this.setSize(C)
}this.focus();
this.updateHandles();
this.saveState();
if(this.layout){this.doLayout()
}this.fireEvent("resize",this,C.width,C.height)
},focus:function(){var D=this.focusEl,B=this.defaultButton,C=typeof B;
if(C!="undefined"){if(C=="number"){D=this.buttons[B]
}else{if(C=="string"){D=CQ.Ext.getCmp(B)
}else{D=B
}}}D.focus.defer(10,D)
},setAnimateTarget:function(B){B=CQ.Ext.get(B);
this.animateTarget=B
},beforeShow:function(){delete this.el.lastXY;
delete this.el.lastLT;
if(this.x===undefined||this.y===undefined){var B=this.el.getAlignToXY(this.container,"c-c");
var C=this.el.translatePoints(B[0],B[1]);
this.x=this.x===undefined?C.left:this.x;
this.y=this.y===undefined?C.top:this.y
}this.el.setLeftTop(this.x,this.y);
if(this.expandOnShow){this.expand(false)
}if(this.modal){CQ.Ext.getBody().addClass("x-body-masked");
this.mask.setSize(CQ.Ext.lib.Dom.getViewWidth(true),CQ.Ext.lib.Dom.getViewHeight(true));
this.mask.show()
}},show:function(D,B,C){if(!this.rendered){this.render(CQ.Ext.getBody())
}if(this.hidden===false){this.toFront();
return 
}if(this.fireEvent("beforeshow",this)===false){return 
}if(B){this.on("show",B,C,{single:true})
}this.hidden=false;
if(D!==undefined){this.setAnimateTarget(D)
}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(CQ.Ext.isMac&&CQ.Ext.isGecko){this.cascade(this.setAutoScroll)
}if(this.monitorResize||this.modal||this.constrain||this.constrainHeader){CQ.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 B=this.getBox(false);
B.callback=this.afterShow;
B.scope=this;
B.duration=0.25;
B.easing="easeNone";
B.opacity=0.5;
B.block=true;
this.el.setStyle("display","none");
this.proxy.shift(B)
},hide:function(D,B,C){if(this.activeGhost){this.hide.defer(100,this,[D,B,C]);
return 
}if(this.hidden||this.fireEvent("beforehide",this)===false){return 
}if(B){this.on("hide",B,C,{single:true})
}this.hidden=true;
if(D!==undefined){this.setAnimateTarget(D)
}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){CQ.Ext.EventManager.removeResizeListener(this.onWindowResize,this)
}if(this.modal){this.mask.hide();
CQ.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 B=this.animateTarget.getBox();
B.callback=this.afterHide;
B.scope=this;
B.duration=0.25;
B.easing="easeNone";
B.block=true;
B.opacity=0;
this.proxy.shift(B)
},onWindowResize:function(){if(this.maximized){this.fitContainer()
}if(this.modal){this.mask.setSize("100%","100%");
var B=this.mask.dom.offsetHeight;
this.mask.setSize(CQ.Ext.lib.Dom.getViewWidth(true),CQ.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 B=this.getSize();
C={right:-(B.width-100),bottom:-(B.height-25)}
}var D=this.el.getConstrainToXY(this.container,true,C);
if(D){this.setPosition(D[0],D[1])
}}},ghost:function(B){var D=this.createGhost(B);
var C=this.getBox(true);
D.setLeftTop(C.x,C.y);
D.setWidth(C.width);
this.el.hide();
this.activeGhost=D;
return D
},unghost:function(C,B){if(C!==false){this.el.show();
this.focus();
if(CQ.Ext.isMac&&CQ.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 B=this.container.getViewSize();
this.setSize(B.width,B.height)
},setZIndex:function(B){if(this.modal){this.mask.setStyle("z-index",B)
}this.el.setZIndex(++B);
B+=5;
if(this.resizer){this.resizer.proxy.setStyle("z-index",++B)
}this.lastZIndex=B
},alignTo:function(C,B,D){var E=this.el.getAlignToXY(C,B,D);
this.setPagePosition(E[0],E[1]);
return this
},anchorTo:function(D,H,E,C,G){var F=function(){this.alignTo(D,H,E)
};
CQ.Ext.EventManager.onWindowResize(F,this);
var B=typeof C;
if(B!="undefined"){CQ.Ext.EventManager.on(window,"scroll",F,this,{buffer:B=="number"?C:50})
}F.call(this);
this[G]=F;
return this
},toFront:function(){if(this.manager.bringToFront(this)){this.focus()
}return this
},setActive:function(B){if(B){if(!this.maximized){this.el.enableShadow(true)
}this.fireEvent("activate",this)
}else{this.el.disableShadow();
this.fireEvent("deactivate",this)
}},toBack:function(){this.manager.sendToBack(this);
return this
},center:function(){var B=this.el.getAlignToXY(this.container,"c-c");
this.setPagePosition(B[0],B[1]);
return this
}});
CQ.Ext.reg("window",CQ.Ext.Window);
CQ.Ext.Window.DD=function(B){this.win=B;
CQ.Ext.Window.DD.superclass.constructor.call(this,B.el.id,"WindowDD-"+B.id);
this.setHandleElId(B.header.id);
this.scroll=false
};
CQ.Ext.extend(CQ.Ext.Window.DD,CQ.Ext.dd.DD,{moveOnly:true,headerOffsets:[100,25],startDrag:function(){var B=this.win;
this.proxy=B.ghost();
if(B.constrain!==false){var D=B.el.shadowOffset;
this.constrainTo(B.container,{right:D,left:D,bottom:D})
}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:CQ.Ext.emptyFn,onDrag:function(B){this.alignElWithMouse(this.proxy,B.getPageX(),B.getPageY())
},endDrag:function(B){this.win.unghost();
this.win.saveState()
}});
CQ.Ext.WindowGroup=function(){var G={};
var E=[];
var F=null;
var D=function(J,I){return(!J._lastAccess||J._lastAccess<I._lastAccess)?-1:1
};
var H=function(){var K=E,I=K.length;
if(I>0){K.sort(D);
var J=K[0].manager.zseed;
for(var L=0;
L<I;
L++){var M=K[L];
if(M&&!M.hidden){M.setZIndex(J+(L*10))
}}}B()
};
var C=function(I){if(I!=F){if(F){F.setActive(false)
}F=I;
if(I){I.setActive(true)
}}};
var B=function(){for(var I=E.length-1;
I>=0;
--I){if(!E[I].hidden){C(E[I]);
return 
}}C(null)
};
return{zseed:9000,register:function(I){G[I.id]=I;
E.push(I);
I.on("hide",B)
},unregister:function(I){delete G[I.id];
I.un("hide",B);
E.remove(I)
},get:function(I){return typeof I=="object"?I:G[I]
},bringToFront:function(I){I=this.get(I);
if(I!=F){I._lastAccess=new Date().getTime();
H();
return true
}return false
},sendToBack:function(I){I=this.get(I);
I._lastAccess=-(new Date().getTime());
H();
return I
},hideAll:function(){for(var I in G){if(G[I]&&typeof G[I]!="function"&&G[I].isVisible()){G[I].hide()
}}},getActive:function(){return F
},getBy:function(K,J){var L=[];
for(var I=E.length-1;
I>=0;
--I){var M=E[I];
if(K.call(J||M,M)!==false){L.push(M)
}}return L
},each:function(J,I){for(var K in G){if(G[K]&&typeof G[K]!="function"){if(J.call(I||G[K],G[K])===false){return 
}}}}}
};
CQ.Ext.WindowMgr=new CQ.Ext.WindowGroup();
CQ.Ext.dd.PanelProxy=function(B,C){this.panel=B;
this.id=this.panel.id+"-ddproxy";
CQ.Ext.apply(this,C)
};
CQ.Ext.dd.PanelProxy.prototype={insertProxy:true,setStatus:CQ.Ext.emptyFn,reset:CQ.Ext.emptyFn,update:CQ.Ext.emptyFn,stop:CQ.Ext.emptyFn,sync:CQ.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,CQ.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(C,D,B){this.hide();
if(typeof D=="function"){D.call(B||this)
}},moveProxy:function(B,C){if(this.proxy){B.insertBefore(this.proxy.dom,C)
}}};
CQ.Ext.Panel.DD=function(C,B){this.panel=C;
this.dragData={panel:C};
this.proxy=new CQ.Ext.dd.PanelProxy(C,B);
CQ.Ext.Panel.DD.superclass.constructor.call(this,C.el,B);
var D=C.header;
if(D){this.setHandleElId(D.id)
}(D?D:this.panel.body).setStyle("cursor","move");
this.scroll=false
};
CQ.Ext.extend(CQ.Ext.Panel.DD,CQ.Ext.dd.DragSource,{showFrame:CQ.Ext.emptyFn,startDrag:CQ.Ext.emptyFn,b4StartDrag:function(B,C){this.proxy.show()
},b4MouseDown:function(C){var B=C.getPageX();
var D=C.getPageY();
this.autoOffset(B,D)
},onInitDrag:function(B,C){this.onStartDrag(B,C);
return true
},createFrame:CQ.Ext.emptyFn,getDragEl:function(B){return this.proxy.ghost.dom
},endDrag:function(B){this.proxy.hide();
this.panel.saveState()
},autoOffset:function(B,C){B-=this.startPageX;
C-=this.startPageY;
this.setDelta(B,C)
}});
CQ.Ext.state.Provider=function(){this.addEvents("statechange");
this.state={};
CQ.Ext.state.Provider.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.state.Provider,CQ.Ext.util.Observable,{get:function(C,B){return typeof this.state[C]=="undefined"?B:this.state[C]
},clear:function(B){delete this.state[B];
this.fireEvent("statechange",this,B,null)
},set:function(B,C){this.state[B]=C;
this.fireEvent("statechange",this,B,C)
},decodeValue:function(B){var K=/^(a|n|d|b|s|o)\:(.*)$/;
var D=K.exec(unescape(B));
if(!D||!D[1]){return 
}var G=D[1];
var I=D[2];
switch(G){case"n":return parseFloat(I);
case"d":return new Date(Date.parse(I));
case"b":return(I=="1");
case"a":var H=[];
var J=I.split("^");
for(var C=0,E=J.length;
C<E;
C++){H.push(this.decodeValue(J[C]))
}return H;
case"o":var H={};
var J=I.split("^");
for(var C=0,E=J.length;
C<E;
C++){var F=J[C].split("=");
H[F[0]]=this.decodeValue(F[1])
}return H;
default:return I
}},encodeValue:function(D){var C;
if(typeof D=="number"){C="n:"+D
}else{if(typeof D=="boolean"){C="b:"+(D?"1":"0")
}else{if(CQ.Ext.isDate(D)){C="d:"+D.toGMTString()
}else{if(CQ.Ext.isArray(D)){var G="";
for(var F=0,B=D.length;
F<B;
F++){G+=this.encodeValue(D[F]);
if(F!=B-1){G+="^"
}}C="a:"+G
}else{if(typeof D=="object"){var G="";
for(var E in D){if(typeof D[E]!="function"&&D[E]!==undefined){G+=E+"="+this.encodeValue(D[E])+"^"
}}C="o:"+G.substring(0,G.length-1)
}else{C="s:"+D
}}}}}return escape(C)
}});
CQ.Ext.state.Manager=function(){var B=new CQ.Ext.state.Provider();
return{setProvider:function(C){B=C
},get:function(D,C){return B.get(D,C)
},set:function(C,D){B.set(C,D)
},clear:function(C){B.clear(C)
},getProvider:function(){return B
}}
}();
CQ.Ext.state.CookieProvider=function(B){CQ.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;
CQ.Ext.apply(this,B);
this.state=this.readCookies()
};
CQ.Ext.extend(CQ.Ext.state.CookieProvider,CQ.Ext.state.Provider,{set:function(B,C){if(typeof C=="undefined"||C===null){this.clear(B);
return 
}this.setCookie(B,C);
CQ.Ext.state.CookieProvider.superclass.set.call(this,B,C)
},clear:function(B){this.clearCookie(B);
CQ.Ext.state.CookieProvider.superclass.clear.call(this,B)
},readCookies:function(){var D={};
var G=document.cookie+";";
var C=/\s?(.*?)=(.*?);/g;
var F;
while((F=C.exec(G))!=null){var B=F[1];
var E=F[2];
if(B&&B.substring(0,3)=="ys-"){D[B.substr(3)]=this.decodeValue(E)
}}return D
},setCookie:function(B,C){document.cookie="ys-"+B+"="+this.encodeValue(C)+((this.expires==null)?"":("; expires="+this.expires.toGMTString()))+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")
},clearCookie:function(B){document.cookie="ys-"+B+"=null; expires=Thu, 01-Jan-70 00:00:01 GMT"+((this.path==null)?"":("; path="+this.path))+((this.domain==null)?"":("; domain="+this.domain))+((this.secure==true)?"; secure":"")
}});
CQ.Ext.DataView=CQ.Ext.extend(CQ.Ext.BoxComponent,{selectedClass:"x-view-selected",emptyText:"",deferEmptyText:true,trackOver:false,last:false,initComponent:function(){CQ.Ext.DataView.superclass.initComponent.call(this);
if(typeof this.tpl=="string"){this.tpl=new CQ.Ext.XTemplate(this.tpl)
}this.addEvents("beforeclick","click","mouseenter","mouseleave","containerclick","dblclick","contextmenu","selectionchange","beforeselect");
this.all=new CQ.Ext.CompositeElementLite();
this.selected=new CQ.Ext.CompositeElementLite()
},onRender:function(){if(!this.el){this.el=document.createElement("div");
this.el.id=this.id
}CQ.Ext.DataView.superclass.onRender.apply(this,arguments)
},afterRender:function(){CQ.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 B=this.store.getRange();
if(B.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)
}this.hasSkippedEmptyText=true;
this.all.clear();
return 
}this.tpl.overwrite(this.el,this.collectData(B,0));
this.all.fill(CQ.Ext.query(this.itemSelector,this.el.dom));
this.updateIndexes(0)
},prepareData:function(B){return B
},collectData:function(C,F){var E=[];
for(var D=0,B=C.length;
D<B;
D++){E[E.length]=this.prepareData(C[D].data,F+D,C[D])
}return E
},bufferRender:function(B){var C=document.createElement("div");
this.tpl.overwrite(C,this.collectData(B));
return CQ.Ext.query(this.itemSelector,C)
},onUpdate:function(G,B){var C=this.store.indexOf(B);
var F=this.isSelected(C);
var D=this.all.elements[C];
var E=this.bufferRender([B],C)[0];
this.all.replaceElement(C,E,true);
if(F){this.selected.replaceElement(D,E);
this.all.item(C).addClass(this.selectedClass)
}this.updateIndexes(C,C)
},onAdd:function(F,D,E){if(this.all.getCount()==0){this.refresh();
return 
}var C=this.bufferRender(D,E),G,B=this.all.elements;
if(E<this.all.getCount()){G=this.all.item(E).insertSibling(C,"before",true);
B.splice.apply(B,[E,0].concat(C))
}else{G=this.all.last().insertSibling(C,"after",true);
B.push.apply(B,C)
}this.updateIndexes(E)
},onRemove:function(D,B,C){this.deselect(C);
this.all.removeElement(C,true);
this.updateIndexes(C)
},refreshNode:function(B){this.onUpdate(this.store,this.store.getAt(B))
},updateIndexes:function(E,D){var C=this.all.elements;
E=E||0;
D=D||((D===0)?0:(C.length-1));
for(var B=E;
B<=D;
B++){C[B].viewIndex=B
}},setStore:function(B,C){if(!C&&this.store){this.store.un("beforeload",this.onBeforeLoad,this);
this.store.un("datachanged",this.refresh,this);
this.store.un("add",this.onAdd,this);
this.store.un("remove",this.onRemove,this);
this.store.un("update",this.onUpdate,this);
this.store.un("clear",this.refresh,this)
}if(B){B=CQ.Ext.StoreMgr.lookup(B);
B.on("beforeload",this.onBeforeLoad,this);
B.on("datachanged",this.refresh,this);
B.on("add",this.onAdd,this);
B.on("remove",this.onRemove,this);
B.on("update",this.onUpdate,this);
B.on("clear",this.refresh,this)
}this.store=B;
if(B){this.refresh()
}},findItemFromChild:function(B){return CQ.Ext.fly(B).findParent(this.itemSelector,this.el)
},onClick:function(D){var C=D.getTarget(this.itemSelector,this.el);
if(C){var B=this.indexOf(C);
if(this.onItemClick(C,B,D)!==false){this.fireEvent("click",this,B,C,D)
}}else{if(this.fireEvent("containerclick",this,D)!==false){this.clearSelections()
}}},onContextMenu:function(C){var B=C.getTarget(this.itemSelector,this.el);
if(B){this.fireEvent("contextmenu",this,this.indexOf(B),B,C)
}},onDblClick:function(C){var B=C.getTarget(this.itemSelector,this.el);
if(B){this.fireEvent("dblclick",this,this.indexOf(B),B,C)
}},onMouseOver:function(C){var B=C.getTarget(this.itemSelector,this.el);
if(B&&B!==this.lastItem){this.lastItem=B;
CQ.Ext.fly(B).addClass(this.overClass);
this.fireEvent("mouseenter",this,this.indexOf(B),B,C)
}},onMouseOut:function(B){if(this.lastItem){if(!B.within(this.lastItem,true)){CQ.Ext.fly(this.lastItem).removeClass(this.overClass);
this.fireEvent("mouseleave",this,this.indexOf(this.lastItem),this.lastItem,B);
delete this.lastItem
}}},onItemClick:function(C,B,D){if(this.fireEvent("beforeclick",this,B,C,D)===false){return false
}if(this.multiSelect){this.doMultiSelection(C,B,D);
D.preventDefault()
}else{if(this.singleSelect){this.doSingleSelection(C,B,D);
D.preventDefault()
}}return true
},doSingleSelection:function(C,B,D){if(D.ctrlKey&&this.isSelected(B)){this.deselect(B)
}else{this.select(B,false)
}},doMultiSelection:function(D,B,E){if(E.shiftKey&&this.last!==false){var C=this.last;
this.selectRange(C,B,E.ctrlKey);
this.last=C
}else{if((E.ctrlKey||this.simpleSelect)&&this.isSelected(B)){this.deselect(B)
}else{this.select(B,E.ctrlKey||E.shiftKey||this.simpleSelect)
}}},getSelectionCount:function(){return this.selected.getCount()
},getSelectedNodes:function(){return this.selected.elements
},getSelectedIndexes:function(){var C=[],E=this.selected.elements;
for(var D=0,B=E.length;
D<B;
D++){C.push(E[D].viewIndex)
}return C
},getSelectedRecords:function(){var E=[],D=this.selected.elements;
for(var C=0,B=D.length;
C<B;
C++){E[E.length]=this.store.getAt(D[C].viewIndex)
}return E
},getRecords:function(C){var F=[],E=C;
for(var D=0,B=E.length;
D<B;
D++){F[F.length]=this.store.getAt(E[D].viewIndex)
}return F
},getRecord:function(B){return this.store.getAt(B.viewIndex)
},clearSelections:function(B,C){if((this.multiSelect||this.singleSelect)&&this.selected.getCount()>0){if(!C){this.selected.removeClass(this.selectedClass)
}this.selected.clear();
this.last=false;
if(!B){this.fireEvent("selectionchange",this,this.selected.elements)
}}},isSelected:function(B){return this.selected.contains(this.getNode(B))
},deselect:function(B){if(this.isSelected(B)){B=this.getNode(B);
this.selected.removeElement(B);
if(this.last==B.viewIndex){this.last=false
}CQ.Ext.fly(B).removeClass(this.selectedClass);
this.fireEvent("selectionchange",this,this.selected.elements)
}},select:function(E,G,C){if(CQ.Ext.isArray(E)){if(!G){this.clearSelections(true)
}for(var D=0,B=E.length;
D<B;
D++){this.select(E[D],true,true)
}if(!C){this.fireEvent("selectionchange",this,this.selected.elements)
}}else{var F=this.getNode(E);
if(!G){this.clearSelections(true)
}if(F&&!this.isSelected(F)){if(this.fireEvent("beforeselect",this,F,this.selected.elements)!==false){CQ.Ext.fly(F).addClass(this.selectedClass);
this.selected.add(F);
this.last=F.viewIndex;
if(!C){this.fireEvent("selectionchange",this,this.selected.elements)
}}}}},selectRange:function(D,B,C){if(!C){this.clearSelections(true)
}this.select(this.getNodes(D,B),true)
},getNode:function(B){if(typeof B=="string"){return document.getElementById(B)
}else{if(typeof B=="number"){return this.all.elements[B]
}}return B
},getNodes:function(F,B){var E=this.all.elements;
F=F||0;
B=typeof B=="undefined"?Math.max(E.length-1,0):B;
var C=[],D;
if(F<=B){for(D=F;
D<=B&&E[D];
D++){C.push(E[D])
}}else{for(D=F;
D>=B&&E[D];
D--){C.push(E[D])
}}return C
},indexOf:function(B){B=this.getNode(B);
if(typeof B.viewIndex=="number"){return B.viewIndex
}return this.all.indexOf(B)
},onBeforeLoad:function(){if(this.loadingText){this.clearSelections(false,true);
this.el.update('<div class="loading-indicator">'+this.loadingText+"</div>");
this.all.clear()
}},onDestroy:function(){CQ.Ext.DataView.superclass.onDestroy.call(this);
this.setStore(null)
}});
CQ.Ext.reg("dataview",CQ.Ext.DataView);
CQ.Ext.ColorPalette=function(B){CQ.Ext.ColorPalette.superclass.constructor.call(this,B);
this.addEvents("select");
if(this.handler){this.on("select",this.handler,this.scope,true)
}};
CQ.Ext.extend(CQ.Ext.ColorPalette,CQ.Ext.Component,{itemCls:"x-color-palette",value:null,clickEvent:"click",ctype:"CQ.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(C,B){var D=this.tpl||new CQ.Ext.XTemplate('<tpl for="."><a href="#" class="color-{.}" hidefocus="on"><em><span style="background:#{.}" unselectable="on">&#160;</span></em></a></tpl>');
var E=document.createElement("div");
E.className=this.itemCls;
D.overwrite(E,this.colors);
C.dom.insertBefore(E,B);
this.el=CQ.Ext.get(E);
this.el.on(this.clickEvent,this.handleClick,this,{delegate:"a"});
if(this.clickEvent!="click"){this.el.on("click",CQ.Ext.emptyFn,this,{delegate:"a",preventDefault:true})
}},afterRender:function(){CQ.Ext.ColorPalette.superclass.afterRender.call(this);
if(this.value){var B=this.value;
this.value=null;
this.select(B)
}},handleClick:function(C,B){C.preventDefault();
if(!this.disabled){var D=B.className.match(/(?:^|\s)color-(.{6})(?:\s|$)/)[1];
this.select(D.toUpperCase())
}},select:function(B){B=B.replace("#","");
if(B!=this.value||this.allowReselect){var C=this.el;
if(this.value){C.child("a.color-"+this.value).removeClass("x-color-palette-sel")
}C.child("a.color-"+B).addClass("x-color-palette-sel");
this.value=B;
this.fireEvent("select",this,B)
}}});
CQ.Ext.reg("colorpalette",CQ.Ext.ColorPalette);
CQ.Ext.DatePicker=CQ.Ext.extend(CQ.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",constrainToViewport:true,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(){CQ.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 D="(?:";
for(var C=0;
C<B.length;
C++){D+=B[C];
if(C!=B.length-1){D+="|"
}}this.disabledDatesRE=new RegExp(D+")")
}},setDisabledDates:function(B){if(CQ.Ext.isArray(B)){this.disabledDates=B;
this.disabledDatesRE=null
}else{this.disabledDatesRE=B
}this.initDisabledDays();
this.update(this.value,true)
},setDisabledDays:function(B){this.disabledDays=B;
this.update(this.value,true)
},setMinDate:function(B){this.minDate=B;
this.update(this.value,true)
},setMaxDate:function(B){this.maxDate=B;
this.update(this.value,true)
},setValue:function(C){var B=this.value;
this.value=C.clearTime(true);
if(this.el){this.update(this.value)
}},getValue:function(){return this.value
},focus:function(){if(this.el){this.update(this.activeDate)
}},onRender:function(B,G){var D=['<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 F=this.dayNames;
for(var E=0;
E<7;
E++){var H=this.startDay+E;
if(H>6){H=H-7
}D.push("<th><span>",F[H].substr(0,1),"</span></th>")
}D[D.length]="</tr></thead><tbody><tr>";
for(var E=0;
E<42;
E++){if(E%7==0&&E!=0){D[D.length]="</tr><tr>"
}D[D.length]='<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>'
}D.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 C=document.createElement("div");
C.className="x-date-picker";
C.innerHTML=D.join("");
B.dom.insertBefore(C,G);
this.el=CQ.Ext.get(C);
this.eventEl=CQ.Ext.get(C.firstChild);
new CQ.Ext.util.ClickRepeater(this.el.child("td.x-date-left a"),{handler:this.showPrevMonth,scope:this,preventDefault:true,stopDefault:true});
new CQ.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");
var J=new CQ.Ext.KeyNav(this.eventEl,{left:function(K){K.ctrlKey?this.showPrevMonth():this.update(this.activeDate.add("d",-1))
},right:function(K){K.ctrlKey?this.showNextMonth():this.update(this.activeDate.add("d",1))
},up:function(K){K.ctrlKey?this.showNextYear():this.update(this.activeDate.add("d",-7))
},down:function(K){K.ctrlKey?this.showPrevYear():this.update(this.activeDate.add("d",7))
},pageUp:function(K){this.showNextMonth()
},pageDown:function(K){this.showPrevMonth()
},enter:function(K){K.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 CQ.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(CQ.Ext.EventObject.SPACE,this.selectToday,this);
var I=(new Date()).dateFormat(this.format);
this.todayBtn=new CQ.Ext.Button({renderTo:this.el.child("td.x-date-bottom",true),text:String.format(this.todayText,I),tooltip:String.format(this.todayTip,I),handler:this.selectToday,scope:this})
}if(CQ.Ext.isIE){this.el.repaint()
}this.update(this.value)
},createMonthPicker:function(){if(!this.monthPicker.dom.firstChild){var B=['<table border="0" cellspacing="0">'];
for(var C=0;
C<6;
C++){B.push('<tr><td class="x-date-mp-month"><a href="#">',this.monthNames[C].substr(0,3),"</a></td>",'<td class="x-date-mp-month x-date-mp-sep"><a href="#">',this.monthNames[C+6].substr(0,3),"</a></td>",C==0?'<td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-prev"></a></td><td class="x-date-mp-ybtn" align="center"><a class="x-date-mp-next"></a></td></tr>':'<td class="x-date-mp-year"><a href="#"></a></td><td class="x-date-mp-year"><a href="#"></a></td></tr>')
}B.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(B.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(D,E,F){F+=1;
if((F%2)==0){D.dom.xmonth=5+Math.round(F*0.5)
}else{D.dom.xmonth=Math.round((F-1)*0.5)
}})
}},showMonthPicker:function(){this.createMonthPicker();
var B=this.el.getSize();
this.monthPicker.setSize(B);
this.monthPicker.child("table").setSize(B);
this.mpSelMonth=(this.activeDate||this.value).getMonth();
this.updateMPMonth(this.mpSelMonth);
this.mpSelYear=(this.activeDate||this.value).getFullYear();
this.updateMPYear(this.mpSelYear);
this.monthPicker.slideIn("t",{duration:0.2})
},updateMPYear:function(F){this.mpyear=F;
var D=this.mpYears.elements;
for(var C=1;
C<=10;
C++){var E=D[C-1],B;
if((C%2)==0){B=F+Math.round(C*0.5);
E.firstChild.innerHTML=B;
E.xyear=B
}else{B=F-(5-Math.round(C*0.5));
E.firstChild.innerHTML=B;
E.xyear=B
}this.mpYears.item(C-1)[B==this.mpSelYear?"addClass":"removeClass"]("x-date-mp-sel")
}},updateMPMonth:function(B){this.mpMonths.each(function(C,D,E){C[C.dom.xmonth==B?"addClass":"removeClass"]("x-date-mp-sel")
})
},selectMPMonth:function(B){},onMonthClick:function(E,C){E.stopEvent();
var D=new CQ.Ext.Element(C),B;
if(D.is("button.x-date-mp-cancel")){this.hideMonthPicker()
}else{if(D.is("button.x-date-mp-ok")){var F=new Date(this.mpSelYear,this.mpSelMonth,(this.activeDate||this.value).getDate());
if(F.getMonth()!=this.mpSelMonth){F=new Date(this.mpSelYear,this.mpSelMonth,1).getLastDateOfMonth()
}this.update(F);
this.hideMonthPicker()
}else{if(B=D.up("td.x-date-mp-month",2)){this.mpMonths.removeClass("x-date-mp-sel");
B.addClass("x-date-mp-sel");
this.mpSelMonth=B.dom.xmonth
}else{if(B=D.up("td.x-date-mp-year",2)){this.mpYears.removeClass("x-date-mp-sel");
B.addClass("x-date-mp-sel");
this.mpSelYear=B.dom.xyear
}else{if(D.is("a.x-date-mp-prev")){this.updateMPYear(this.mpyear-10)
}else{if(D.is("a.x-date-mp-next")){this.updateMPYear(this.mpyear+10)
}}}}}}},onMonthDblClick:function(E,C){E.stopEvent();
var D=new CQ.Ext.Element(C),B;
if(B=D.up("td.x-date-mp-month",2)){this.update(new Date(this.mpSelYear,B.dom.xmonth,(this.activeDate||this.value).getDate()));
this.hideMonthPicker()
}else{if(B=D.up("td.x-date-mp-year",2)){this.update(new Date(B.dom.xyear,this.mpSelMonth,(this.activeDate||this.value).getDate()));
this.hideMonthPicker()
}}},hideMonthPicker:function(B){if(this.monthPicker){if(B===true){this.monthPicker.hide()
}else{this.monthPicker.slideOut("t",{duration:0.2})
}}},showPrevMonth:function(B){this.update(this.activeDate.add("mo",-1))
},showNextMonth:function(B){this.update(this.activeDate.add("mo",1))
},showPrevYear:function(){this.update(this.activeDate.add("y",-1))
},showNextYear:function(){this.update(this.activeDate.add("y",1))
},handleMouseWheel:function(B){var C=B.getWheelDelta();
if(C>0){this.showPrevMonth();
B.stopEvent()
}else{if(C<0){this.showNextMonth();
B.stopEvent()
}}},handleDateClick:function(C,B){C.stopEvent();
if(B.dateValue&&!CQ.Ext.fly(B.parentNode).hasClass("x-date-disabled")){this.setValue(new Date(B.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(b,V){var B=this.activeDate;
this.activeDate=b;
if(!V&&B&&this.el){var L=b.getTime();
if(B.getMonth()==b.getMonth()&&B.getFullYear()==b.getFullYear()){this.cells.removeClass("x-date-selected");
this.cells.each(function(d){if(d.dom.firstChild.dateValue==L){d.addClass("x-date-selected");
setTimeout(function(){try{d.dom.firstChild.focus()
}catch(h){}},50);
return false
}});
return 
}}var H=b.getDaysInMonth();
var M=b.getFirstDateOfMonth();
var E=M.getDay()-this.startDay;
if(E<=this.startDay){E+=7
}var W=b.add("mo",-1);
var F=W.getDaysInMonth()-E;
var D=this.cells.elements;
var N=this.textNodes;
H+=E;
var S=86400000;
var Y=(new Date(W.getFullYear(),W.getMonth(),F)).clearTime();
var X=new Date().clearTime().getTime();
var Q=b.clearTime().getTime();
var P=this.minDate?this.minDate.clearTime():Number.NEGATIVE_INFINITY;
var T=this.maxDate?this.maxDate.clearTime():Number.POSITIVE_INFINITY;
var a=this.disabledDatesRE;
var O=this.disabledDatesText;
var g=this.disabledDays?this.disabledDays.join(""):false;
var Z=this.disabledDaysText;
var U=this.format;
if(this.showToday){var J=new Date().clearTime();
var C=(J<P||J>T||(a&&U&&a.test(J.dateFormat(U)))||(g&&g.indexOf(J.getDay())!=-1));
this.todayBtn.setDisabled(C);
this.todayKeyListener[C?"disable":"enable"]()
}var I=function(l,d){d.title="";
var h=Y.getTime();
d.firstChild.dateValue=h;
if(h==X){d.className+=" x-date-today";
d.title=l.todayText
}if(h==Q){d.className+=" x-date-selected";
setTimeout(function(){try{d.firstChild.focus()
}catch(m){}},50)
}if(h<P){d.className=" x-date-disabled";
d.title=l.minText;
return 
}if(h>T){d.className=" x-date-disabled";
d.title=l.maxText;
return 
}if(g){if(g.indexOf(Y.getDay())!=-1){d.title=Z;
d.className=" x-date-disabled"
}}if(a&&U){var k=Y.dateFormat(U);
if(a.test(k)){d.title=O.replace("%0",k);
d.className=" x-date-disabled"
}}};
var R=0;
for(;
R<E;
R++){N[R].innerHTML=(++F);
Y.setDate(Y.getDate()+1);
D[R].className="x-date-prevday";
I(this,D[R])
}for(;
R<H;
R++){intDay=R-E+1;
N[R].innerHTML=(intDay);
Y.setDate(Y.getDate()+1);
D[R].className="x-date-active";
I(this,D[R])
}var c=0;
for(;
R<42;
R++){N[R].innerHTML=(++c);
Y.setDate(Y.getDate()+1);
D[R].className="x-date-nextday";
I(this,D[R])
}this.mbtn.setText(this.monthNames[b.getMonth()]+" "+b.getFullYear());
if(!this.internalRender){var G=this.el.dom.firstChild;
var K=G.offsetWidth;
this.el.setWidth(K+this.el.getBorderWidth("lr"));
CQ.Ext.fly(G).setWidth(K);
this.internalRender=true;
if(CQ.Ext.isOpera&&!this.secondPass){G.rows[0].cells[1].style.width=(K-(G.rows[0].cells[0].offsetWidth+G.rows[0].cells[2].offsetWidth))+"px";
this.secondPass=true;
this.update.defer(10,this,[b])
}}},beforeDestroy:function(){if(this.rendered){CQ.Ext.destroy(this.mbtn,this.todayBtn)
}}});
CQ.Ext.reg("datepicker",CQ.Ext.DatePicker);
CQ.Ext.TabPanel=CQ.Ext.extend(CQ.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;
CQ.Ext.TabPanel.superclass.initComponent.call(this);
this.addEvents("beforetabchange","tabchange","contextmenu");
this.setLayout(new CQ.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=CQ.Ext.TabPanel.AccessStack()
}this.initItems()
},render:function(){CQ.Ext.TabPanel.superclass.render.apply(this,arguments);
if(this.activeTab!==undefined){var B=this.activeTab;
delete this.activeTab;
this.setActiveTab(B)
}},onRender:function(D,B){CQ.Ext.TabPanel.superclass.onRender.call(this,D,B);
if(this.plain){var G=this.tabPosition=="top"?"header":"footer";
this[G].addClass("x-tab-panel-"+G+"-plain")
}var C=this[this.stripTarget];
this.stripWrap=C.createChild({cls:"x-tab-strip-wrap",cn:{tag:"ul",cls:"x-tab-strip x-tab-strip-"+this.tabPosition}});
var F=(this.tabPosition=="bottom"?this.stripWrap:null);
this.stripSpacer=C.createChild({cls:"x-tab-strip-spacer"},F);
this.strip=new CQ.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 E=new CQ.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>");
E.disableFormats=true;
E.compile();
CQ.Ext.TabPanel.prototype.itemTpl=E
}this.items.each(this.initTab,this)
},afterRender:function(){CQ.Ext.TabPanel.superclass.afterRender.call(this);
if(this.autoTabs){this.readTabs(false)
}},initEvents:function(){CQ.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(D){var C=null;
var B=D.getTarget("li",this.strip);
if(B){C=this.getComponent(B.id.split(this.idDelimiter)[1]);
if(C.disabled){return{close:null,item:null,el:null}
}}return{close:D.getTarget(".x-tab-strip-close",this.strip),item:C,el:B}
},onStripMouseDown:function(C){if(C.button!=0){return 
}C.preventDefault();
var B=this.findTargets(C);
if(B.close){this.remove(B.item);
return 
}if(B.item&&B.item!=this.activeTab){this.setActiveTab(B.item)
}},onStripContextMenu:function(C){C.preventDefault();
var B=this.findTargets(C);
if(B.item){this.fireEvent("contextmenu",this,B.item,C)
}},readTabs:function(E){if(E===true){this.items.each(function(H){this.remove(H)
},this)
}var D=this.el.query(this.autoTabSelector);
for(var C=0,B=D.length;
C<B;
C++){var F=D[C];
var G=F.getAttribute("title");
F.removeAttribute("title");
this.add({title:G,el:F})
}},initTab:function(E,C){var F=this.strip.dom.childNodes[C];
var B=E.closable?"x-tab-strip-closable":"";
if(E.disabled){B+=" x-item-disabled"
}if(E.iconCls){B+=" x-tab-with-icon"
}if(E.tabCls){B+=" "+E.tabCls
}var G={id:this.id+this.idDelimiter+E.getItemId(),text:E.title,cls:B,iconCls:E.iconCls||""};
var D=F?this.itemTpl.insertBefore(F,G):this.itemTpl.append(this.strip,G);
CQ.Ext.fly(D).addClassOnOver("x-tab-strip-over");
if(E.tabTip){CQ.Ext.fly(D).child("span.x-tab-strip-text",true).qtip=E.tabTip
}E.on("disable",this.onItemDisabled,this);
E.on("enable",this.onItemEnabled,this);
E.on("titlechange",this.onItemTitleChanged,this);
E.on("beforeshow",this.onBeforeShowItem,this)
},onAdd:function(D,C,B){this.initTab(C,B);
if(this.items.getCount()==1){this.syncSize()
}this.delegateUpdates()
},onBeforeAdd:function(C){var B=C.events?(this.items.containsKey(C.getItemId())?C:null):this.items.get(C);
if(B){this.setActiveTab(C);
return false
}CQ.Ext.TabPanel.superclass.onBeforeAdd.apply(this,arguments);
var D=C.elements;
C.elements=D?D.replace(",header",""):D;
C.border=(C.border===true)
},onRemove:function(D,C){CQ.Ext.removeNode(this.getTabEl(C));
this.stack.remove(C);
C.un("disable",this.onItemDisabled,this);
C.un("enable",this.onItemEnabled,this);
C.un("titlechange",this.onItemTitleChanged,this);
C.un("beforeshow",this.onBeforeShowItem,this);
if(C==this.activeTab){var B=this.stack.next();
if(B){this.setActiveTab(B)
}else{this.setActiveTab(0)
}}this.delegateUpdates()
},onBeforeShowItem:function(B){if(B!=this.activeTab){this.setActiveTab(B);
return false
}},onItemDisabled:function(C){var B=this.getTabEl(C);
if(B){CQ.Ext.fly(B).addClass("x-item-disabled")
}this.stack.remove(C)
},onItemEnabled:function(C){var B=this.getTabEl(C);
if(B){CQ.Ext.fly(B).removeClass("x-item-disabled")
}},onItemTitleChanged:function(C){var B=this.getTabEl(C);
if(B){CQ.Ext.fly(B).child("span.x-tab-strip-text",true).innerHTML=C.title
}},getTabEl:function(B){var C=(typeof B==="number")?this.items.items[B].getItemId():B.getItemId();
return document.getElementById(this.id+this.idDelimiter+C)
},onResize:function(){CQ.Ext.TabPanel.superclass.onResize.apply(this,arguments);
this.delegateUpdates()
},beginUpdate:function(){this.suspendUpdates=true
},endUpdate:function(){this.suspendUpdates=false;
this.delegateUpdates()
},hideTabStripItem:function(C){C=this.getComponent(C);
var B=this.getTabEl(C);
if(B){B.style.display="none";
this.delegateUpdates()
}this.stack.remove(C)
},unhideTabStripItem:function(C){C=this.getComponent(C);
var B=this.getTabEl(C);
if(B){B.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 H=this.items.length;
var C=this.tabPosition!="bottom"?"header":"footer";
var D=this[C].dom.offsetWidth;
var B=this[C].dom.clientWidth;
if(!this.resizeTabs||H<1||!B){return 
}var J=Math.max(Math.min(Math.floor((B-4)/H)-this.tabMargin,this.tabWidth),this.minTabWidth);
this.lastTabWidth=J;
var L=this.stripWrap.dom.getElementsByTagName("li");
for(var F=0,I=L.length-1;
F<I;
F++){var K=L[F];
var M=K.childNodes[1].firstChild.firstChild;
var G=K.offsetWidth;
var E=M.offsetWidth;
M.style.width=(J-(G-E))+"px"
}},adjustBodyWidth:function(B){if(this.header){this.header.setWidth(B)
}if(this.footer){this.footer.setWidth(B)
}return B
},setActiveTab:function(D){D=this.getComponent(D);
if(!D||this.fireEvent("beforetabchange",this,D,this.activeTab)===false){return 
}if(!this.rendered){this.activeTab=D;
return 
}if(this.activeTab!=D){if(this.activeTab){var B=this.getTabEl(this.activeTab);
if(B){CQ.Ext.fly(B).removeClass("x-tab-strip-active")
}this.activeTab.fireEvent("deactivate",this.activeTab)
}var C=this.getTabEl(D);
CQ.Ext.fly(C).addClass("x-tab-strip-active");
this.activeTab=D;
this.stack.add(D);
this.layout.setActiveItem(D);
if(this.layoutOnTabChange&&D.doLayout){D.doLayout()
}if(this.scrolling){this.scrollToTab(D,this.animScroll)
}D.fireEvent("activate",D);
this.fireEvent("tabchange",this,D)
}},getActiveTab:function(){return this.activeTab||null
},getItem:function(B){return this.getComponent(B)
},autoScrollTabs:function(){var H=this.items.length;
var E=this.header.dom.offsetWidth;
var D=this.header.dom.clientWidth;
var G=this.stripWrap;
var F=G.dom;
var C=F.offsetWidth;
var I=this.getScrollPos();
var B=this.edge.getOffsetsTo(this.stripWrap)[0]+I;
if(!this.enableTabScroll||H<1||C<20){return 
}if(B<=D){F.scrollLeft=0;
G.setWidth(D);
if(this.scrolling){this.scrolling=false;
this.header.removeClass("x-tab-scrolling");
this.scrollLeft.hide();
this.scrollRight.hide();
if(CQ.Ext.isAir){F.style.marginLeft="";
F.style.marginRight=""
}}}else{if(!this.scrolling){this.header.addClass("x-tab-scrolling");
if(CQ.Ext.isAir){F.style.marginLeft="18px";
F.style.marginRight="18px"
}}D-=G.getMargins("lr");
G.setWidth(D>20?D:20);
if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()
}else{this.scrollLeft.show();
this.scrollRight.show()
}}this.scrolling=true;
if(I>(B-D)){F.scrollLeft=B-D
}else{this.scrollToTab(this.activeTab,false)
}this.updateScrollButtons()
}},createScrollers:function(){var D=this.stripWrap.dom.offsetHeight;
var B=this.header.insertFirst({cls:"x-tab-scroller-left"});
B.setHeight(D);
B.addClassOnOver("x-tab-scroller-left-over");
this.leftRepeater=new CQ.Ext.util.ClickRepeater(B,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});
this.scrollLeft=B;
var C=this.header.insertFirst({cls:"x-tab-scroller-right"});
C.setHeight(D);
C.addClassOnOver("x-tab-scroller-right-over");
this.rightRepeater=new CQ.Ext.util.ClickRepeater(C,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});
this.scrollRight=C
},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(F,B){if(!F){return 
}var D=this.getTabEl(F);
var H=this.getScrollPos(),E=this.getScrollArea();
var G=CQ.Ext.fly(D).getOffsetsTo(this.stripWrap)[0]+H;
var C=G+D.offsetWidth;
if(G<H){this.scrollTo(G,B)
}else{if(C>(H+E)){this.scrollTo(C-E,B)
}}},scrollTo:function(C,B){this.stripWrap.scrollTo("left",C,B?this.getScrollAnim():false);
if(!B){this.updateScrollButtons()
}},onWheel:function(E){var F=E.getWheelDelta()*this.wheelIncrement*-1;
E.stopEvent();
var G=this.getScrollPos();
var D=G+F;
var B=this.getScrollWidth()-this.getScrollArea();
var C=Math.max(0,Math.min(B,D));
if(C!=G){this.scrollTo(C,false)
}},onScrollRight:function(){var B=this.getScrollWidth()-this.getScrollArea();
var D=this.getScrollPos();
var C=Math.min(B,D+this.getScrollIncrement());
if(C!=D){this.scrollTo(C,this.animScroll)
}},onScrollLeft:function(){var C=this.getScrollPos();
var B=Math.max(0,C-this.getScrollIncrement());
if(B!=C){this.scrollTo(B,this.animScroll)
}},updateScrollButtons:function(){var B=this.getScrollPos();
this.scrollLeft[B==0?"addClass":"removeClass"]("x-tab-scroller-left-disabled");
this.scrollRight[B>=(this.getScrollWidth()-this.getScrollArea())?"addClass":"removeClass"]("x-tab-scroller-right-disabled")
}});
CQ.Ext.reg("tabpanel",CQ.Ext.TabPanel);
CQ.Ext.TabPanel.prototype.activate=CQ.Ext.TabPanel.prototype.setActiveTab;
CQ.Ext.TabPanel.AccessStack=function(){var B=[];
return{add:function(C){B.push(C);
if(B.length>10){B.shift()
}},remove:function(F){var E=[];
for(var D=0,C=B.length;
D<C;
D++){if(B[D]!=F){E.push(B[D])
}}B=E
},next:function(){return B.pop()
}}
};
CQ.Ext.Button=CQ.Ext.extend(CQ.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",initComponent:function(){CQ.Ext.Button.superclass.initComponent.call(this);
this.addEvents("click","toggle","mouseover","mouseout","menushow","menuhide","menutriggerover","menutriggerout");
if(this.menu){this.menu=CQ.Ext.menu.MenuMgr.get(this.menu)
}if(typeof this.toggleGroup==="string"){this.enableToggle=true
}},onRender:function(D,B){if(!this.template){if(!CQ.Ext.Button.buttonTemplate){CQ.Ext.Button.buttonTemplate=new CQ.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=CQ.Ext.Button.buttonTemplate
}var C,F=[this.text||"&#160;",this.type];
if(B){C=this.template.insertBefore(B,F,true)
}else{C=this.template.append(D,F,true)
}var E=C.child(this.buttonSelector);
E.on("focus",this.onFocus,this);
E.on("blur",this.onBlur,this);
this.initButtonEl(C,E);
if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu")
}CQ.Ext.ButtonToggleMgr.register(this)
},initButtonEl:function(C,D){this.el=C;
C.addClass("x-btn");
if(this.icon){D.setStyle("background-image","url("+this.icon+")")
}if(this.iconCls){D.addClass(this.iconCls);
if(!this.cls){C.addClass(this.text?"x-btn-text-icon":"x-btn-icon")
}}if(this.tabIndex!==undefined){D.dom.tabIndex=this.tabIndex
}if(this.tooltip){if(typeof this.tooltip=="object"){CQ.Ext.QuickTips.register(CQ.Ext.apply({target:D.id},this.tooltip))
}else{D.dom[this.tooltipType]=this.tooltip
}}if(this.pressed){this.el.addClass("x-btn-pressed")
}if(this.handleMouseEvents){C.on("mouseover",this.onMouseOver,this);
C.on("mousedown",this.onMouseDown,this)
}if(this.menu){this.menu.on("show",this.onMenuShow,this);
this.menu.on("hide",this.onMenuHide,this)
}if(this.id){this.el.dom.id=this.el.id=this.id
}if(this.repeat){var B=new CQ.Ext.util.ClickRepeater(C,typeof this.repeat=="object"?this.repeat:{});
B.on("click",this.onClick,this)
}C.on(this.clickEvent,this.onClick,this)
},afterRender:function(){CQ.Ext.Button.superclass.afterRender.call(this);
if(CQ.Ext.isIE6){this.autoWidth.defer(1,this)
}else{this.autoWidth()
}},setIconClass:function(B){if(this.el){this.el.child(this.buttonSelector).replaceClass(this.iconCls,B)
}this.iconCls=B
},beforeDestroy:function(){if(this.rendered){var B=this.el.child(this.buttonSelector);
if(B){B.removeAllListeners()
}}if(this.menu){CQ.Ext.destroy(this.menu)
}},onDestroy:function(){if(this.rendered){CQ.Ext.ButtonToggleMgr.unregister(this)
}},autoWidth:function(){if(this.el){this.el.setWidth("auto");
if(CQ.Ext.isIE7&&CQ.Ext.isStrict){var B=this.el.child(this.buttonSelector);
if(B&&B.getWidth()>20){B.clip();
B.setWidth(CQ.Ext.util.TextMetrics.measure(B,this.text).width+B.getFrameWidth("lr"))
}}if(this.minWidth){if(this.el.getWidth()<this.minWidth){this.el.setWidth(this.minWidth)
}}}},setHandler:function(C,B){this.handler=C;
this.scope=B
},setText:function(B){this.text=B;
if(this.el){this.el.child("td.x-btn-center "+this.buttonSelector).update(B)
}this.autoWidth()
},getText:function(){return this.text
},toggle:function(B){B=B===undefined?!this.pressed:B;
if(B!=this.pressed){if(B){this.el.addClass("x-btn-pressed");
this.pressed=true;
this.fireEvent("toggle",this,true)
}else{this.el.removeClass("x-btn-pressed");
this.pressed=false;
this.fireEvent("toggle",this,false)
}if(this.toggleHandler){this.toggleHandler.call(this.scope||this,this,B)
}}},focus:function(){this.el.child(this.buttonSelector).focus()
},onDisable:function(){if(this.el){if(!CQ.Ext.isIE6||!this.text){this.el.addClass(this.disabledClass)
}this.el.dom.disabled=true
}this.disabled=true
},onEnable:function(){if(this.el){if(!CQ.Ext.isIE6||!this.text){this.el.removeClass(this.disabledClass)
}this.el.dom.disabled=false
}this.disabled=false
},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(B){if(B){B.preventDefault()
}if(B.button!=0){return 
}if(!this.disabled){if(this.enableToggle&&(this.allowDepress!==false||!this.pressed)){this.toggle()
}if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()
}this.fireEvent("click",this,B);
if(this.handler){this.handler.call(this.scope||this,this,B)
}}},isMenuTriggerOver:function(C,B){return this.menu&&!B
},isMenuTriggerOut:function(C,B){return this.menu&&!B
},onMouseOver:function(C){if(!this.disabled){var B=C.within(this.el,true);
if(!B){this.el.addClass("x-btn-over");
if(!this.monitoringMouseOver){CQ.Ext.getDoc().on("mouseover",this.monitorMouseOver,this);
this.monitoringMouseOver=true
}this.fireEvent("mouseover",this,C)
}if(this.isMenuTriggerOver(C,B)){this.fireEvent("menutriggerover",this,this.menu,C)
}}},monitorMouseOver:function(B){if(B.target!=this.el.dom&&!B.within(this.el)){if(this.monitoringMouseOver){CQ.Ext.getDoc().un("mouseover",this.monitorMouseOver,this);
this.monitoringMouseOver=false
}this.onMouseOut(B)
}},onMouseOut:function(C){var B=C.within(this.el)&&C.target!=this.el.dom;
this.el.removeClass("x-btn-over");
this.fireEvent("mouseout",this,C);
if(this.isMenuTriggerOut(C,B)){this.fireEvent("menutriggerout",this,this.menu,C)
}},onFocus:function(B){if(!this.disabled){this.el.addClass("x-btn-focus")
}},onBlur:function(B){this.el.removeClass("x-btn-focus")
},getClickEl:function(C,B){return this.el
},onMouseDown:function(B){if(!this.disabled&&B.button==0){this.getClickEl(B).addClass("x-btn-click");
CQ.Ext.getDoc().on("mouseup",this.onMouseUp,this)
}},onMouseUp:function(B){if(B.button==0){this.getClickEl(B,true).removeClass("x-btn-click");
CQ.Ext.getDoc().un("mouseup",this.onMouseUp,this)
}},onMenuShow:function(B){this.ignoreNextClick=0;
this.el.addClass("x-btn-menu-active");
this.fireEvent("menushow",this,this.menu)
},onMenuHide:function(B){this.el.removeClass("x-btn-menu-active");
this.ignoreNextClick=this.restoreClick.defer(250,this);
this.fireEvent("menuhide",this,this.menu)
},restoreClick:function(){this.ignoreNextClick=0
}});
CQ.Ext.reg("button",CQ.Ext.Button);
CQ.Ext.ButtonToggleMgr=function(){var B={};
function C(F,H){if(H){var G=B[F.toggleGroup];
for(var E=0,D=G.length;
E<D;
E++){if(G[E]!=F){G[E].toggle(false)
}}}}return{register:function(D){if(!D.toggleGroup){return 
}var E=B[D.toggleGroup];
if(!E){E=B[D.toggleGroup]=[]
}E.push(D);
D.on("toggle",C)
},unregister:function(D){if(!D.toggleGroup){return 
}var E=B[D.toggleGroup];
if(E){E.remove(D);
D.un("toggle",C)
}}}
}();
CQ.Ext.SplitButton=CQ.Ext.extend(CQ.Ext.Button,{arrowSelector:"button:last",initComponent:function(){CQ.Ext.SplitButton.superclass.initComponent.call(this);
this.addEvents("arrowclick")
},onRender:function(E,B){var C=new CQ.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,G=[this.text||"&#160;",this.type];
if(B){D=C.insertBefore(B,G,true)
}else{D=C.append(E,G,true)
}var F=D.child(this.buttonSelector);
this.initButtonEl(D,F);
this.arrowBtnTable=D.child("table:last");
if(this.arrowTooltip){D.child(this.arrowSelector).dom[this.tooltipType]=this.arrowTooltip
}},autoWidth:function(){if(this.el){var D=this.el.child("table:first");
var C=this.el.child("table:last");
this.el.setWidth("auto");
D.setWidth("auto");
if(CQ.Ext.isIE7&&CQ.Ext.isStrict){var B=this.el.child(this.buttonSelector);
if(B&&B.getWidth()>20){B.clip();
B.setWidth(CQ.Ext.util.TextMetrics.measure(B,this.text).width+B.getFrameWidth("lr"))
}}if(this.minWidth){if((D.getWidth()+C.getWidth())<this.minWidth){D.setWidth(this.minWidth-C.getWidth())
}}this.el.setWidth(D.getWidth()+C.getWidth())
}},setArrowHandler:function(C,B){this.arrowHandler=C;
this.scope=B
},onClick:function(B){B.preventDefault();
if(!this.disabled){if(B.getTarget(".x-btn-menu-arrow-wrap")){if(this.menu&&!this.menu.isVisible()&&!this.ignoreNextClick){this.showMenu()
}this.fireEvent("arrowclick",this,B);
if(this.arrowHandler){this.arrowHandler.call(this.scope||this,this,B)
}}else{if(this.enableToggle){this.toggle()
}this.fireEvent("click",this,B);
if(this.handler){this.handler.call(this.scope||this,this,B)
}}}},getClickEl:function(C,B){if(!B){return(this.lastClickEl=C.getTarget("table",10,true))
}return this.lastClickEl
},onDisable:function(){if(this.el){if(!CQ.Ext.isIE6){this.el.addClass("x-item-disabled")
}this.el.child(this.buttonSelector).dom.disabled=true;
this.el.child(this.arrowSelector).dom.disabled=true
}this.disabled=true
},onEnable:function(){if(this.el){if(!CQ.Ext.isIE6){this.el.removeClass("x-item-disabled")
}this.el.child(this.buttonSelector).dom.disabled=false;
this.el.child(this.arrowSelector).dom.disabled=false
}this.disabled=false
},isMenuTriggerOver:function(B){return this.menu&&B.within(this.arrowBtnTable)&&!B.within(this.arrowBtnTable,true)
},isMenuTriggerOut:function(C,B){return this.menu&&!C.within(this.arrowBtnTable)
},onDestroy:function(){CQ.Ext.destroy(this.arrowBtnTable);
CQ.Ext.SplitButton.superclass.onDestroy.call(this)
}});
CQ.Ext.MenuButton=CQ.Ext.SplitButton;
CQ.Ext.reg("splitbutton",CQ.Ext.SplitButton);
CQ.Ext.CycleButton=CQ.Ext.extend(CQ.Ext.SplitButton,{getItemText:function(B){if(B&&this.showText===true){var C="";
if(this.prependText){C+=this.prependText
}C+=B.text;
return C
}return undefined
},setActiveItem:function(D,B){if(typeof D!="object"){D=this.menu.items.get(D)
}if(D){if(!this.rendered){this.text=this.getItemText(D);
this.iconCls=D.iconCls
}else{var C=this.getItemText(D);
if(C){this.setText(C)
}this.setIconClass(D.iconCls)
}this.activeItem=D;
if(!D.checked){D.setChecked(true,true)
}if(this.forceIcon){this.setIconClass(this.forceIcon)
}if(!B){this.fireEvent("change",this,D)
}}},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 E;
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){E=D
}}this.setActiveItem(E,true);
CQ.Ext.CycleButton.superclass.initComponent.call(this);
this.on("click",this.toggleSelected,this)
},checkHandler:function(B,C){if(C){this.setActiveItem(B)
}},toggleSelected:function(){this.menu.render();
var D,B;
for(var C=1;
C<this.itemCount;
C++){D=(this.activeItem.itemIndex+C)%this.itemCount;
B=this.menu.items.itemAt(D);
if(!B.disabled){B.setChecked(true);
break
}}}});
CQ.Ext.reg("cycle",CQ.Ext.CycleButton);
CQ.Ext.Toolbar=function(B){if(CQ.Ext.isArray(B)){B={buttons:B}
}CQ.Ext.Toolbar.superclass.constructor.call(this,B)
};
(function(){var B=CQ.Ext.Toolbar;
CQ.Ext.extend(B,CQ.Ext.BoxComponent,{trackMenus:true,initComponent:function(){B.superclass.initComponent.call(this);
if(this.items){this.buttons=this.items
}this.items=new CQ.Ext.util.MixedCollection(false,function(C){return C.itemId||C.id||CQ.Ext.id()
})
},autoCreate:{cls:"x-toolbar x-small-editor",html:'<table cellspacing="0"><tr></tr></table>'},onRender:function(D,C){this.el=D.createChild(CQ.Ext.apply({id:this.id},this.autoCreate),C);
this.tr=this.el.child("tr",true)
},afterRender:function(){B.superclass.afterRender.call(this);
if(this.buttons){this.add.apply(this,this.buttons);
delete this.buttons
}},add:function(){var D=arguments,C=D.length;
for(var E=0;
E<C;
E++){var F=D[E];
if(F.isFormField){this.addField(F)
}else{if(F.render){this.addItem(F)
}else{if(typeof F=="string"){if(F=="separator"||F=="-"){this.addSeparator()
}else{if(F==" "){this.addSpacer()
}else{if(F=="->"){this.addFill()
}else{this.addText(F)
}}}}else{if(F.tagName){this.addElement(F)
}else{if(typeof F=="object"){if(F.xtype){this.addField(CQ.Ext.ComponentMgr.create(F,"button"))
}else{this.addButton(F)
}}}}}}}},addSeparator:function(){return this.addItem(new B.Separator())
},addSpacer:function(){return this.addItem(new B.Spacer())
},addFill:function(){return this.addItem(new B.Fill())
},addElement:function(C){return this.addItem(new B.Item(C))
},addItem:function(C){var D=this.nextBlock();
this.initMenuTracking(C);
C.render(D);
this.items.add(C);
return C
},addButton:function(E){if(CQ.Ext.isArray(E)){var G=[];
for(var F=0,D=E.length;
F<D;
F++){G.push(this.addButton(E[F]))
}return G
}var C=E;
if(!(E instanceof B.Button)){C=E.split?new B.SplitButton(E):new B.Button(E)
}var H=this.nextBlock();
this.initMenuTracking(C);
C.render(H);
this.items.add(C);
return C
},initMenuTracking:function(C){if(this.trackMenus&&C.menu){C.on({menutriggerover:this.onButtonTriggerOver,menushow:this.onButtonMenuShow,menuhide:this.onButtonMenuHide,scope:this})
}},addText:function(C){return this.addItem(new B.TextItem(C))
},insertButton:function(D,G){if(CQ.Ext.isArray(G)){var F=[];
for(var E=0,C=G.length;
E<C;
E++){F.push(this.insertButton(D+E,G[E]))
}return F
}if(!(G instanceof B.Button)){G=new B.Button(G)
}var H=document.createElement("td");
this.tr.insertBefore(H,this.tr.childNodes[D]);
this.initMenuTracking(G);
G.render(H);
this.items.insert(D,G);
return G
},addDom:function(D,C){var F=this.nextBlock();
CQ.Ext.DomHelper.overwrite(F,D);
var E=new B.Item(F.firstChild);
E.render(F);
this.items.add(E);
return E
},addField:function(D){var E=this.nextBlock();
D.render(E);
var C=new B.Item(E.firstChild);
C.render(E);
this.items.add(D);
return C
},nextBlock:function(){var C=document.createElement("td");
this.tr.appendChild(C);
return C
},onDestroy:function(){CQ.Ext.Toolbar.superclass.onDestroy.call(this);
if(this.rendered){if(this.items){CQ.Ext.destroy.apply(CQ.Ext,this.items.items)
}CQ.Ext.Element.uncache(this.tr)
}},onDisable:function(){this.items.each(function(C){if(C.disable){C.disable()
}})
},onEnable:function(){this.items.each(function(C){if(C.enable){C.enable()
}})
},onButtonTriggerOver:function(C){if(this.activeMenuBtn&&this.activeMenuBtn!=C){this.activeMenuBtn.hideMenu();
C.showMenu();
this.activeMenuBtn=C
}},onButtonMenuShow:function(C){this.activeMenuBtn=C
},onButtonMenuHide:function(C){delete this.activeMenuBtn
}});
CQ.Ext.reg("toolbar",CQ.Ext.Toolbar);
B.Item=function(C){this.el=CQ.Ext.getDom(C);
this.id=CQ.Ext.id(this.el);
this.hidden=false
};
B.Item.prototype={getEl:function(){return this.el
},render:function(C){this.td=C;
C.appendChild(this.el)
},destroy:function(){if(this.td&&this.td.parentNode){this.td.parentNode.removeChild(this.td)
}},show:function(){this.hidden=false;
this.td.style.display=""
},hide:function(){this.hidden=true;
this.td.style.display="none"
},setVisible:function(C){if(C){this.show()
}else{this.hide()
}},focus:function(){CQ.Ext.fly(this.el).focus()
},disable:function(){CQ.Ext.fly(this.td).addClass("x-item-disabled");
this.disabled=true;
this.el.disabled=true
},enable:function(){CQ.Ext.fly(this.td).removeClass("x-item-disabled");
this.disabled=false;
this.el.disabled=false
}};
CQ.Ext.reg("tbitem",B.Item);
B.Separator=function(){var C=document.createElement("span");
C.className="ytb-sep";
B.Separator.superclass.constructor.call(this,C)
};
CQ.Ext.extend(B.Separator,B.Item,{enable:CQ.Ext.emptyFn,disable:CQ.Ext.emptyFn,focus:CQ.Ext.emptyFn});
CQ.Ext.reg("tbseparator",B.Separator);
B.Spacer=function(){var C=document.createElement("div");
C.className="ytb-spacer";
B.Spacer.superclass.constructor.call(this,C)
};
CQ.Ext.extend(B.Spacer,B.Item,{enable:CQ.Ext.emptyFn,disable:CQ.Ext.emptyFn,focus:CQ.Ext.emptyFn});
CQ.Ext.reg("tbspacer",B.Spacer);
B.Fill=CQ.Ext.extend(B.Spacer,{render:function(C){C.style.width="100%";
B.Fill.superclass.render.call(this,C)
}});
CQ.Ext.reg("tbfill",B.Fill);
B.TextItem=function(C){var D=document.createElement("span");
D.className="ytb-text";
D.innerHTML=C.text?C.text:C;
B.TextItem.superclass.constructor.call(this,D)
};
CQ.Ext.extend(B.TextItem,B.Item,{enable:CQ.Ext.emptyFn,disable:CQ.Ext.emptyFn,focus:CQ.Ext.emptyFn});
CQ.Ext.reg("tbtext",B.TextItem);
B.Button=CQ.Ext.extend(CQ.Ext.Button,{hideParent:true,onDestroy:function(){B.Button.superclass.onDestroy.call(this);
if(this.container){this.container.remove()
}}});
CQ.Ext.reg("tbbutton",B.Button);
B.SplitButton=CQ.Ext.extend(CQ.Ext.SplitButton,{hideParent:true,onDestroy:function(){B.SplitButton.superclass.onDestroy.call(this);
if(this.container){this.container.remove()
}}});
CQ.Ext.reg("tbsplit",B.SplitButton);
B.MenuButton=B.SplitButton
})();
CQ.Ext.PagingToolbar=CQ.Ext.extend(CQ.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");
CQ.Ext.PagingToolbar.superclass.initComponent.call(this);
this.cursor=0;
this.bind(this.store)
},onRender:function(C,B){CQ.Ext.PagingToolbar.superclass.onRender.call(this,C,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=CQ.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.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=CQ.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 B=this.store.getCount();
var C=B==0?this.emptyMsg:String.format(this.displayMsg,this.cursor+1,this.cursor+B,this.store.getTotalCount());
this.displayEl.update(C)
}},onLoad:function(B,D,G){if(!this.rendered){this.dsLoaded=[B,D,G];
return 
}this.cursor=G.params?G.params[this.paramNames.start]:0;
var F=this.getPageData(),C=F.activePage,E=F.pages;
this.afterTextEl.el.innerHTML=String.format(this.afterPageText,F.pages);
this.field.dom.value=C;
this.first.setDisabled(C==1);
this.prev.setDisabled(C==1);
this.next.setDisabled(C==E);
this.last.setDisabled(C==E);
this.loading.enable();
this.updateInfo();
this.fireEvent("change",this,F)
},getPageData:function(){var B=this.store.getTotalCount();
return{total:B,activePage:Math.ceil((this.cursor+this.pageSize)/this.pageSize),pages:B<this.pageSize?1:Math.ceil(B/this.pageSize)}
},onLoadError:function(){if(!this.rendered){return 
}this.loading.enable()
},readPage:function(D){var B=this.field.dom.value,C;
if(!B||isNaN(C=parseInt(B,10))){this.field.dom.value=D.activePage;
return false
}return C
},onPagingKeydown:function(E){var C=E.getKey(),F=this.getPageData(),D;
if(C==E.RETURN){E.stopEvent();
D=this.readPage(F);
if(D!==false){D=Math.min(Math.max(1,D),F.pages)-1;
this.doLoad(D*this.pageSize)
}}else{if(C==E.HOME||C==E.END){E.stopEvent();
D=C==E.HOME?1:F.pages;
this.field.dom.value=D
}else{if(C==E.UP||C==E.PAGEUP||C==E.DOWN||C==E.PAGEDOWN){E.stopEvent();
if(D=this.readPage(F)){var B=E.shiftKey?10:1;
if(C==E.DOWN||C==E.PAGEDOWN){B*=-1
}D+=B;
if(D>=1&D<=F.pages){this.field.dom.value=D
}}}}}},beforeLoad:function(){if(this.rendered&&this.loading){this.loading.disable()
}},doLoad:function(D){var C={},B=this.paramNames;
C[B.start]=D;
C[B.limit]=this.pageSize;
if(this.fireEvent("beforechange",this,C)!==false){this.store.load({params:C})
}},changePage:function(B){this.doLoad(((B-1)*this.pageSize).constrain(0,this.store.getTotalCount()))
},onClick:function(F){var C=this.store;
switch(F){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 E=C.getTotalCount();
var B=E%this.pageSize;
var D=B?(E-B):E-this.pageSize;
this.doLoad(D);
break;
case"refresh":this.doLoad(this.cursor);
break
}},unbind:function(B){B=CQ.Ext.StoreMgr.lookup(B);
B.un("beforeload",this.beforeLoad,this);
B.un("load",this.onLoad,this);
B.un("loadexception",this.onLoadError,this);
this.store=undefined
},bind:function(B){B=CQ.Ext.StoreMgr.lookup(B);
B.on("beforeload",this.beforeLoad,this);
B.on("load",this.onLoad,this);
B.on("loadexception",this.onLoadError,this);
this.store=B
}});
CQ.Ext.reg("paging",CQ.Ext.PagingToolbar);
CQ.Ext.Resizable=function(E,F){this.el=CQ.Ext.get(E);
if(F&&F.wrap){F.resizeChild=this.el;
this.el=this.el.wrap(typeof F.wrap=="object"?F.wrap:{cls:"xresizable-wrap"});
this.el.id=this.el.dom.id=F.resizeChild.id+"-rzwrap";
this.el.setStyle("overflow","hidden");
this.el.setPositioning(F.resizeChild.getPositioning());
F.resizeChild.clearPositioning();
if(!F.width||!F.height){var G=F.resizeChild.getSize();
this.el.setSize(G.width,G.height)
}if(F.pinned&&!F.adjustments){F.adjustments="auto"
}}this.proxy=this.el.createProxy({tag:"div",cls:"x-resizable-proxy",id:this.el.id+"-rzproxy"},CQ.Ext.getBody());
this.proxy.unselectable();
this.proxy.enableDisplayMode("block");
CQ.Ext.apply(this,F);
if(this.pinned){this.disableTrackOver=true;
this.el.addClass("x-resizable-pinned")
}var J=this.el.getStyle("position");
if(J!="absolute"&&J!="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 N=this.handles.split(/\s*?[,;]\s*?| /);
var D=CQ.Ext.Resizable.positions;
for(var I=0,K=N.length;
I<K;
I++){if(N[I]&&D[N[I]]){var M=D[N[I]];
this[M]=new CQ.Ext.Resizable.Handle(this,M,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=CQ.Ext.get(this.el.dom.firstChild,true)
}else{this.resizeChild=CQ.Ext.get(this.resizeChild,true)
}}if(this.adjustments=="auto"){var C=this.resizeChild;
var L=this.west,H=this.east,B=this.north,N=this.south;
if(C&&(L||B)){C.position("relative");
C.setLeft(L?L.el.getWidth():0);
C.setTop(B?B.el.getHeight():0)
}this.adjustments=[(H?-H.el.getWidth():0)+(L?-L.el.getWidth():0),(B?-B.el.getHeight():0)+(N?-N.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(CQ.Ext.isIE){this.el.dom.style.zoom=1
}CQ.Ext.Resizable.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.Resizable,CQ.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(C,B){this.el.setSize(C,B);
this.updateChildSize();
this.fireEvent("resize",this,C,B,null)
},startSizing:function(D,C){this.fireEvent("beforeresize",this,D);
if(this.enabled){if(!this.overlay){this.overlay=this.el.createProxy({tag:"div",cls:"x-resizable-overlay",html:"&#160;"},CQ.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=D.getXY();
this.offsets=[(this.startBox.x+this.startBox.width)-this.startPoint[0],(this.startBox.y+this.startBox.height)-this.startPoint[1]];
this.overlay.setSize(CQ.Ext.lib.Dom.getViewWidth(true),CQ.Ext.lib.Dom.getViewHeight(true));
this.overlay.show();
if(this.constrainTo){var B=CQ.Ext.get(this.constrainTo);
this.resizeRegion=B.getRegion().adjust(B.getFrameWidth("t"),B.getFrameWidth("l"),-B.getFrameWidth("b"),-B.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,C){if(this.enabled){C.stopEvent();
this.activeHandle=B;
this.startSizing(C,B)
}},onMouseUp:function(C){var B=this.resizeElement();
this.resizing=false;
this.handleOut();
this.overlay.hide();
this.proxy.hide();
this.fireEvent("resize",this,B.width,B.height,C)
},updateChildSize:function(){if(this.resizeChild){var D=this.el;
var E=this.resizeChild;
var C=this.adjustments;
if(D.dom.offsetWidth){var B=D.getSize(true);
E.setSize(B.width+C[0],B.height+C[1])
}if(CQ.Ext.isIE){setTimeout(function(){if(D.dom.offsetWidth){var F=D.getSize(true);
E.setSize(F.width+C[0],F.height+C[1])
}},10)
}}},snap:function(D,F,C){if(!F||!D){return D
}var E=D;
var B=D%F;
if(B>0){if(B>(F/2)){E=D+(F-B)
}else{E=D-B
}}return Math.max(C,E)
},resizeElement:function(){var B=this.proxy.getBox();
if(this.updateBox){this.el.setBox(B,false,this.animate,this.duration,null,this.easing)
}else{this.el.setSize(B.width,B.height,this.animate,this.duration,null,this.easing)
}this.updateChildSize();
if(!this.dynamic){this.proxy.hide()
}return B
},constrain:function(C,D,B,E){if(C-D<B){D=C-B
}else{if(C-D>E){D=E-C
}}return D
},onMouseMove:function(T){if(this.enabled){try{if(this.resizeRegion&&!this.resizeRegion.contains(T.getPoint())){return 
}var R=this.curSize||this.startBox;
var J=this.startBox.x,I=this.startBox.y;
var D=J,C=I;
var K=R.width,S=R.height;
var E=K,M=S;
var L=this.minWidth,U=this.minHeight;
var Q=this.maxWidth,X=this.maxHeight;
var G=this.widthIncrement;
var B=this.heightIncrement;
var V=T.getXY();
var P=-(this.startPoint[0]-Math.max(this.minX,V[0]));
var N=-(this.startPoint[1]-Math.max(this.minY,V[1]));
var H=this.activeHandle.position;
switch(H){case"east":K+=P;
K=Math.min(Math.max(L,K),Q);
break;
case"south":S+=N;
S=Math.min(Math.max(U,S),X);
break;
case"southeast":K+=P;
S+=N;
K=Math.min(Math.max(L,K),Q);
S=Math.min(Math.max(U,S),X);
break;
case"north":N=this.constrain(S,N,U,X);
I+=N;
S-=N;
break;
case"west":P=this.constrain(K,P,L,Q);
J+=P;
K-=P;
break;
case"northeast":K+=P;
K=Math.min(Math.max(L,K),Q);
N=this.constrain(S,N,U,X);
I+=N;
S-=N;
break;
case"northwest":P=this.constrain(K,P,L,Q);
N=this.constrain(S,N,U,X);
I+=N;
S-=N;
J+=P;
K-=P;
break;
case"southwest":P=this.constrain(K,P,L,Q);
S+=N;
S=Math.min(Math.max(U,S),X);
J+=P;
K-=P;
break
}var O=this.snap(K,G,L);
var W=this.snap(S,B,U);
if(O!=K||W!=S){switch(H){case"northeast":I-=W-S;
break;
case"north":I-=W-S;
break;
case"southwest":J-=O-K;
break;
case"west":J-=O-K;
break;
case"northwest":J-=O-K;
I-=W-S;
break
}K=O;
S=W
}if(this.preserveRatio){switch(H){case"southeast":case"east":S=M*(K/E);
S=Math.min(Math.max(U,S),X);
K=E*(S/M);
break;
case"south":K=E*(S/M);
K=Math.min(Math.max(L,K),Q);
S=M*(K/E);
break;
case"northeast":K=E*(S/M);
K=Math.min(Math.max(L,K),Q);
S=M*(K/E);
break;
case"north":var Y=K;
K=E*(S/M);
K=Math.min(Math.max(L,K),Q);
S=M*(K/E);
J+=(Y-K)/2;
break;
case"southwest":S=M*(K/E);
S=Math.min(Math.max(U,S),X);
var Y=K;
K=E*(S/M);
J+=Y-K;
break;
case"west":var F=S;
S=M*(K/E);
S=Math.min(Math.max(U,S),X);
I+=(F-S)/2;
var Y=K;
K=E*(S/M);
J+=Y-K;
break;
case"northwest":var Y=K;
var F=S;
S=M*(K/E);
S=Math.min(Math.max(U,S),X);
K=E*(S/M);
I+=F-S;
J+=Y-K;
break
}}this.proxy.setBounds(J,I,K,S);
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(D){this.proxy.remove();
if(this.overlay){this.overlay.removeAllListeners();
this.overlay.remove()
}var E=CQ.Ext.Resizable.positions;
for(var B in E){if(typeof E[B]!="function"&&this[E[B]]){var C=this[E[B]];
C.el.removeAllListeners();
C.el.remove()
}}if(D){this.el.update("");
this.el.remove()
}},syncHandleHeight:function(){var B=this.el.getHeight(true);
if(this.west){this.west.el.setHeight(B)
}if(this.east){this.east.el.setHeight(B)
}}});
CQ.Ext.Resizable.positions={n:"north",s:"south",e:"east",w:"west",se:"southeast",sw:"southwest",nw:"northwest",ne:"northeast"};
CQ.Ext.Resizable.Handle=function(D,F,C,E){if(!this.tpl){var B=CQ.Ext.DomHelper.createTemplate({tag:"div",cls:"x-resizable-handle x-resizable-handle-{0}"});
B.compile();
CQ.Ext.Resizable.Handle.prototype.tpl=B
}this.position=F;
this.rz=D;
this.el=this.tpl.append(D.el.dom,[this.position],true);
this.el.unselectable();
if(E){this.el.setOpacity(0)
}this.el.on("mousedown",this.onMouseDown,this);
if(!C){this.el.on("mouseover",this.onMouseOver,this);
this.el.on("mouseout",this.onMouseOut,this)
}};
CQ.Ext.Resizable.Handle.prototype={afterResize:function(B){},onMouseDown:function(B){this.rz.onMouseDown(this,B)
},onMouseOver:function(B){this.rz.handleOver(this,B)
},onMouseOut:function(B){this.rz.handleOut(this,B)
}};
CQ.Ext.Editor=function(C,B){this.field=C;
CQ.Ext.Editor.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.Ext.Editor,CQ.Ext.Component,{value:"",alignment:"c-c?",shadow:"frame",constrain:false,swallowKeys:true,completeOnEnter:false,cancelOnEsc:false,updateEl:false,initComponent:function(){CQ.Ext.Editor.superclass.initComponent.call(this);
this.addEvents("beforestartedit","startedit","beforecomplete","complete","canceledit","specialkey")
},onRender:function(C,B){this.el=new CQ.Ext.Layer({shadow:this.shadow,cls:"x-editor",parentEl:C,shim:this.shim,shadowOffset:4,id:this.id,constrain:this.constrain});
this.el.setStyle("overflow",CQ.Ext.isGecko?"auto":"hidden");
if(this.field.msgTarget!="title"){this.field.msgTarget="qtip"
}this.field.inEditor=true;
this.field.render(this.el);
if(CQ.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(D,C){var B=C.getKey();
if(this.completeOnEnter&&B==C.ENTER){C.stopEvent();
this.completeEdit()
}else{if(this.cancelOnEsc&&B==C.ESC){this.cancelEdit()
}else{this.fireEvent("specialkey",D,C)
}}if(this.field.triggerBlur&&(B==C.ENTER||B==C.ESC||B==C.TAB)){this.field.triggerBlur()
}},startEdit:function(C,D){if(this.editing){this.completeEdit()
}this.boundEl=CQ.Ext.get(C);
var B=D!==undefined?D:this.boundEl.dom.innerHTML;
if(!this.rendered){this.render(this.parentEl||document.body)
}if(this.fireEvent("beforestartedit",this,this.boundEl,B)===false){return 
}this.startValue=B;
this.field.setValue(B);
this.doAutoSize();
this.el.alignTo(this.boundEl,this.alignment);
this.editing=true;
this.show()
},doAutoSize:function(){if(this.autoSize){var B=this.boundEl.getSize();
switch(this.autoSize){case"width":this.setSize(B.width,"");
break;
case"height":this.setSize("",B.height);
break;
default:this.setSize(B.width,B.height)
}}},setSize:function(B,C){delete this.field.lastSize;
this.field.setSize(B,C);
if(this.el){if(CQ.Ext.isGecko2||CQ.Ext.isOpera){this.el.setSize(B,C)
}this.el.sync()
}},realign:function(){this.el.alignTo(this.boundEl,this.alignment)
},completeEdit:function(B){if(!this.editing){return 
}var C=this.getValue();
if(this.revertInvalid!==false&&!this.field.isValid()){C=this.startValue;
this.cancelEdit(true)
}if(String(C)===String(this.startValue)&&this.ignoreNoChange){this.editing=false;
this.hide();
return 
}if(this.fireEvent("beforecomplete",this,C,this.startValue)!==false){this.editing=false;
if(this.updateEl&&this.boundEl){this.boundEl.update(C)
}if(B!==true){this.hide()
}this.fireEvent("complete",this,C,this.startValue)
}},onShow:function(){this.el.show();
if(this.hideEl!==false){this.boundEl.hide()
}this.field.show();
if(CQ.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 C=this.getValue();
this.setValue(this.startValue);
if(B!==true){this.hide()
}this.fireEvent("canceledit",this,C,this.startValue)
}},onBlur:function(){if(this.allowBlur!==true&&this.editing){this.completeEdit()
}},onHide:function(){if(this.editing){this.completeEdit();
return 
}this.field.blur();
if(this.field.collapse){this.field.collapse()
}this.el.hide();
if(this.hideEl!==false){this.boundEl.show()
}},setValue:function(B){this.field.setValue(B)
},getValue:function(){return this.field.getValue()
},beforeDestroy:function(){this.field.destroy();
this.field=null
}});
CQ.Ext.reg("editor",CQ.Ext.Editor);
CQ.Ext.MessageBox=function(){var S,C,O,R;
var H,K,Q,B,L,N,I,G;
var P,T,M,D="";
var E=function(V){if(S.isVisible()){S.hide();
CQ.Ext.callback(C.fn,C.scope||window,[V,T.dom.value],1)
}};
var U=function(){if(C&&C.cls){S.el.removeClass(C.cls)
}L.reset()
};
var F=function(X,V,W){if(C&&C.closable!==false){S.hide()
}if(W){W.stopEvent()
}};
var J=function(V){var X=0;
if(!V){P.ok.hide();
P.cancel.hide();
P.yes.hide();
P.no.hide();
return X
}S.footer.dom.style.display="";
for(var W in P){if(typeof P[W]!="function"){if(V[W]){P[W].show();
P[W].setText(typeof V[W]=="string"?V[W]:CQ.Ext.MessageBox.buttonText[W]);
X+=P[W].el.getWidth()+15
}else{P[W].hide()
}}}return X
};
return{getDialog:function(V){if(!S){S=new CQ.Ext.Window({autoCreate:true,title:V,resizable:false,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(C&&C.buttons&&C.buttons.no&&!C.buttons.cancel){E("no")
}else{E("cancel")
}}});
P={};
var W=this.buttonText;
P.ok=S.addButton(W.ok,E.createCallback("ok"));
P.yes=S.addButton(W.yes,E.createCallback("yes"));
P.no=S.addButton(W.no,E.createCallback("no"));
P.cancel=S.addButton(W.cancel,E.createCallback("cancel"));
P.ok.hideMode=P.yes.hideMode=P.no.hideMode=P.cancel.hideMode="offsets";
S.render(CQ.Util.getRoot());
S.getEl().addClass("x-window-dlg");
O=S.mask;
H=S.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>'});
I=CQ.Ext.get(H.dom.firstChild);
var X=H.dom.childNodes[1];
K=CQ.Ext.get(X.firstChild);
Q=CQ.Ext.get(X.childNodes[2].firstChild);
Q.enableDisplayMode();
Q.addKeyListener([10,13],function(){if(S.isVisible()&&C&&C.buttons){if(C.buttons.ok){E("ok")
}else{if(C.buttons.yes){E("yes")
}}}});
B=CQ.Ext.get(X.childNodes[2].childNodes[1]);
B.enableDisplayMode();
L=new CQ.Ext.ProgressBar({renderTo:H});
H.createChild({cls:"x-clear"})
}return S
},updateText:function(Y){if(!S.isVisible()&&!C.width){S.setSize(this.maxWidth,100)
}K.update(Y||"&#160;");
var W=D!=""?(I.getWidth()+I.getMargins("lr")):0;
var a=K.getWidth()+K.getMargins("lr");
var X=S.getFrameWidth("lr");
var Z=S.body.getFrameWidth("lr");
if(CQ.Ext.isIE&&W>0){W+=3
}var V=Math.max(Math.min(C.width||W+a+X+Z,this.maxWidth),Math.max(C.minWidth||this.minWidth,M||0));
if(C.prompt===true){T.setWidth(V-W-X-Z)
}if(C.progress===true||C.wait===true){L.setSize(V-W-X-Z)
}S.setSize(V,"auto").center();
return this
},updateProgress:function(W,V,X){L.updateProgress(W,V);
if(X){this.updateText(X)
}return this
},isVisible:function(){return S&&S.isVisible()
},hide:function(){if(this.isVisible()){S.hide();
U()
}return this
},show:function(Y){if(this.isVisible()){this.hide()
}C=Y;
var Z=this.getDialog(C.title||"&#160;");
Z.setTitle(C.title||"&#160;");
var V=(C.closable!==false&&C.progress!==true&&C.wait!==true);
Z.tools.close.setDisplayed(V);
T=Q;
C.prompt=C.prompt||(C.multiline?true:false);
if(C.prompt){if(C.multiline){Q.hide();
B.show();
B.setHeight(typeof C.multiline=="number"?C.multiline:this.defaultTextHeight);
T=B
}else{Q.show();
B.hide()
}}else{Q.hide();
B.hide()
}T.dom.value=C.value||"";
if(C.prompt){Z.focusEl=T
}else{var X=C.buttons;
var W=null;
if(X&&X.ok){W=P.ok
}else{if(X&&X.yes){W=P.yes
}}if(W){Z.focusEl=W
}}if(C.iconCls){Z.setIconClass(C.iconCls)
}this.setIcon(C.icon);
M=J(C.buttons);
L.setVisible(C.progress===true||C.wait===true);
this.updateProgress(0,C.progressText);
this.updateText(C.msg);
if(C.cls){Z.el.addClass(C.cls)
}Z.proxyDrag=C.proxyDrag===true;
Z.modal=C.modal!==false;
Z.mask=C.modal!==false?O:false;
if(!Z.isVisible()){document.body.appendChild(S.el.dom);
CQ.Util.getRoot().appendChild(S.el.dom);
this.getDialog().center=function(){var a=this.el.getAlignToXY(CQ.Ext.getBody(),"c-c");
this.setPagePosition(a[0],a[1]-40);
return this
};
Z.center();
Z.setAnimateTarget(C.animEl);
Z.show(C.animEl)
}Z.on("show",function(){if(V===true){Z.keyMap.enable()
}else{Z.keyMap.disable()
}},this,{single:true});
if(C.wait===true){L.wait(C.waitConfig)
}return this
},setIcon:function(V){if(V&&V!=""){I.removeClass("x-hidden");
I.replaceClass(D,V);
D=V
}else{I.replaceClass(D,"x-hidden");
D=""
}return this
},progress:function(X,W,V){this.show({title:X,msg:W,buttons:false,progress:true,closable:false,minWidth:this.minProgressWidth,progressText:V});
return this
},wait:function(X,W,V){this.show({title:W,msg:X,buttons:false,closable:false,wait:true,modal:true,minWidth:this.minProgressWidth,waitConfig:V});
return this
},alert:function(Y,X,W,V){this.show({title:Y,msg:X,buttons:this.OK,fn:W,scope:V});
return this
},confirm:function(Y,X,W,V){this.show({title:Y,msg:X,buttons:this.YESNO,fn:W,scope:V,icon:this.QUESTION});
return this
},prompt:function(a,Z,X,W,V,Y){this.show({title:a,msg:Z,buttons:this.OKCANCEL,fn:X,minWidth:250,scope:W,prompt:true,multiline:V,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"}}
}();
CQ.Ext.Msg=CQ.Ext.MessageBox;
CQ.Ext.Tip=CQ.Ext.extend(CQ.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(){CQ.Ext.Tip.superclass.initComponent.call(this);
if(this.closable&&!this.title){this.elements+=",header"
}},afterRender:function(){CQ.Ext.Tip.superclass.afterRender.call(this);
if(this.closable){this.addTool({id:"close",handler:this.hide,scope:this})
}},showAt:function(B){CQ.Ext.Tip.superclass.show.call(this);
if(this.measureWidth!==false&&(!this.initialConfig||typeof this.initialConfig.width!="number")){this.doAutoWidth()
}if(this.constrainPosition){B=this.el.adjustForConstraints(B)
}this.setPagePosition(B[0],B[1])
},doAutoWidth:function(){var B=this.body.getTextWidth();
if(this.title){B=Math.max(B,this.header.child("span").getTextWidth(this.title))
}B+=this.getFrameWidth()+(this.closable?20:0)+this.body.getPadding("lr");
this.setWidth(B.constrain(this.minWidth,this.maxWidth));
if(CQ.Ext.isIE7&&!this.repainted){this.el.repaint();
this.repainted=true
}},showBy:function(B,C){if(!this.rendered){this.render(CQ.Ext.getBody())
}this.showAt(this.el.getAlignToXY(B,C||this.defaultAlign))
},initDraggable:function(){this.dd=new CQ.Ext.Tip.DD(this,typeof this.draggable=="boolean"?null:this.draggable);
this.header.addClass("x-tip-draggable")
}});
CQ.Ext.Tip.DD=function(C,B){CQ.Ext.apply(this,B);
this.tip=C;
CQ.Ext.Tip.DD.superclass.constructor.call(this,C.el.id,"WindowDD-"+C.id);
this.setHandleElId(C.header.id);
this.scroll=false
};
CQ.Ext.extend(CQ.Ext.Tip.DD,CQ.Ext.dd.DD,{moveOnly:true,scroll:false,headerOffsets:[100,25],startDrag:function(){this.tip.el.disableShadow()
},endDrag:function(B){this.tip.el.enableShadow(true)
}});
CQ.Ext.ToolTip=CQ.Ext.extend(CQ.Ext.Tip,{showDelay:500,hideDelay:200,dismissDelay:5000,mouseOffset:[15,18],trackMouse:false,constrainPosition:true,initComponent:function(){CQ.Ext.ToolTip.superclass.initComponent.call(this);
this.lastActive=new Date();
this.initTarget()
},initTarget:function(){if(this.target){this.target=CQ.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(B){this.targetXY=B.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(B){if(this.disabled||B.within(this.target.dom,true)){return 
}this.clearTimer("hide");
this.targetXY=B.getXY();
this.delayShow()
},delayShow:function(){if(this.hidden&&!this.showTimer){if(this.lastActive.getElapsed()<this.quickShowInterval){this.show()
}else{this.showTimer=this.show.defer(this.showDelay,this)
}}else{if(!this.hidden&&this.autoHide!==false){this.show()
}}},onTargetOut:function(B){if(this.disabled||B.within(this.target.dom,true)){return 
}this.clearTimer("show");
if(this.autoHide!==false){this.delayHide()
}},delayHide:function(){if(!this.hidden&&!this.hideTimer){this.hideTimer=this.hide.defer(this.hideDelay,this)
}},hide:function(){this.clearTimer("dismiss");
this.lastActive=new Date();
CQ.Ext.ToolTip.superclass.hide.call(this)
},show:function(){this.showAt(this.getTargetXY())
},showAt:function(B){this.lastActive=new Date();
this.clearTimers();
CQ.Ext.ToolTip.superclass.showAt.call(this,B);
if(this.dismissDelay&&this.autoHide!==false){this.dismissTimer=this.hide.defer(this.dismissDelay,this)
}},clearTimer:function(B){B=B+"Timer";
clearTimeout(this[B]);
delete this[B]
},clearTimers:function(){this.clearTimer("show");
this.clearTimer("dismiss");
this.clearTimer("hide")
},onShow:function(){CQ.Ext.ToolTip.superclass.onShow.call(this);
CQ.Ext.getDoc().on("mousedown",this.onDocMouseDown,this)
},onHide:function(){CQ.Ext.ToolTip.superclass.onHide.call(this);
CQ.Ext.getDoc().un("mousedown",this.onDocMouseDown,this)
},onDocMouseDown:function(B){if(this.autoHide!==false&&!B.within(this.el.dom)){this.disable();
this.enable.defer(100,this)
}},onDisable:function(){this.clearTimers();
this.hide()
},adjustPosition:function(B,E){var D=this.targetXY[1],C=this.getSize().height;
if(this.constrainPosition&&E<=D&&(E+C)>=D){E=D-C-5
}return{x:B,y:E}
},onDestroy:function(){CQ.Ext.ToolTip.superclass.onDestroy.call(this);
if(this.target){this.target.un("mouseover",this.onTargetOver,this);
this.target.un("mouseout",this.onTargetOut,this);
this.target.un("mousemove",this.onMouseMove,this)
}}});
CQ.Ext.QuickTip=CQ.Ext.extend(CQ.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||CQ.Ext.getDoc();
this.targets=this.targets||{};
CQ.Ext.QuickTip.superclass.initComponent.call(this)
},register:function(E){var G=CQ.Ext.isArray(E)?E:arguments;
for(var F=0,B=G.length;
F<B;
F++){var I=G[F];
var H=I.target;
if(H){if(CQ.Ext.isArray(H)){for(var D=0,C=H.length;
D<C;
D++){this.targets[CQ.Ext.id(H[D])]=I
}}else{this.targets[CQ.Ext.id(H)]=I
}}}},unregister:function(B){delete this.targets[CQ.Ext.id(B)]
},onTargetOver:function(H){if(this.disabled){return 
}this.targetXY=H.getXY();
var D=H.getTarget();
if(!D||D.nodeType!==1||D==document||D==document.body){return 
}if(this.activeTarget&&D==this.activeTarget.el){this.clearTimer("hide");
this.show();
return 
}if(D&&this.targets[D.id]){this.activeTarget=this.targets[D.id];
this.activeTarget.el=D;
this.delayShow();
return 
}var F,G=CQ.Ext.fly(D),C=this.tagConfig;
var E=C.namespace;
if(this.interceptTitles&&D.title){F=D.title;
D.qtip=F;
D.removeAttribute("title");
H.preventDefault()
}else{F=D.qtip||G.getAttributeNS(E,C.attribute)
}if(F){var B=G.getAttributeNS(E,C.hide);
this.activeTarget={el:D,text:F,width:G.getAttributeNS(E,C.width),autoHide:B!="user"&&B!=="false",title:G.getAttributeNS(E,C.title),cls:G.getAttributeNS(E,C.cls),align:G.getAttributeNS(E,C.align)};
this.delayShow()
}},onTargetOut:function(B){this.clearTimer("show");
if(this.autoHide!==false){this.delayHide()
}},showAt:function(C){var B=this.activeTarget;
if(B){if(!this.rendered){this.render(CQ.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){C=this.el.getAlignToXY(B.el,B.align);
this.constrainPosition=false
}else{this.constrainPosition=true
}}CQ.Ext.QuickTip.superclass.showAt.call(this,C)
},hide:function(){delete this.activeTarget;
CQ.Ext.QuickTip.superclass.hide.call(this)
}});
CQ.Ext.QuickTips=function(){var C,B=[];
return{init:function(D){if(!C){if(!CQ.Ext.isReady){CQ.Ext.onReady(function(){CQ.Ext.QuickTips.init(D)
});
return 
}C=new CQ.Ext.QuickTip({elements:"header,body"});
if(D!==false){C.render(CQ.Ext.getBody())
}}},enable:function(){if(C){B.pop();
if(B.length<1){C.enable()
}}},disable:function(){if(C){C.disable()
}B.push(1)
},isEnabled:function(){return C!==undefined&&!C.disabled
},getQuickTip:function(){return C
},register:function(){C.register.apply(C,arguments)
},unregister:function(){C.unregister.apply(C,arguments)
},tips:function(){C.register.apply(C,arguments)
}}
}();
CQ.Ext.tree.TreePanel=CQ.Ext.extend(CQ.Ext.Panel,{rootVisible:true,animate:CQ.Ext.enableFx,lines:true,enableDD:false,hlDrop:CQ.Ext.enableFx,pathSeparator:"/",initComponent:function(){CQ.Ext.tree.TreePanel.superclass.initComponent.call(this);
if(!this.eventModel){this.eventModel=new CQ.Ext.tree.TreeEventModel(this)
}var B=this.loader;
if(!B){B=new CQ.Ext.tree.TreeLoader({dataUrl:this.dataUrl})
}else{if(typeof B=="object"&&!B.load){B=new CQ.Ext.tree.TreeLoader(B)
}}this.loader=B;
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(D,C,B,H,G,F,E){if(D=="collapse"||D=="expand"||D=="beforecollapse"||D=="beforeexpand"||D=="move"||D=="beforemove"){D=D+"node"
}return this.fireEvent(D,C,B,H,G,F,E)
},getRootNode:function(){return this.root
},setRootNode:function(C){if(!C.render){C=this.loader.createNode(C)
}this.root=C;
C.ownerTree=this;
C.isRoot=true;
this.registerNode(C);
if(!this.rootVisible){var B=C.attributes.uiProvider;
C.ui=B?new B(C):new CQ.Ext.tree.RootTreeNodeUI(C)
}return C
},getNodeById:function(B){return this.nodeHash[B]
},registerNode:function(B){this.nodeHash[B.id]=B
},unregisterNode:function(B){delete this.nodeHash[B.id]
},toString:function(){return"[Tree"+(this.id?" "+this.id:"")+"]"
},restrictExpand:function(B){var C=B.parentNode;
if(C){if(C.expandedChild&&C.expandedChild.parentNode==C){C.expandedChild.collapse()
}C.expandedChild=B
}},getChecked:function(B,C){C=C||this.root;
var D=[];
var E=function(){if(this.attributes.checked){D.push(!B?this:(B=="id"?this.id:this.attributes[B]))
}};
C.cascade(E);
return D
},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 CQ.Ext.tree.DefaultSelectionModel()
}return this.selModel
},expandPath:function(G,B,H){B=B||"id";
var E=G.split(this.pathSeparator);
var D=this.root;
if(D.attributes[B]!=E[1]){if(H){H(false,null)
}return 
}var C=1;
var F=function(){if(++C==E.length){if(H){H(true,D)
}return 
}var I=D.findChild(B,E[C]);
if(!I){if(H){H(false,D)
}return 
}D=I;
I.expand(false,false,F)
};
D.expand(false,false,F)
},selectPath:function(F,B,G){B=B||"id";
var D=F.split(this.pathSeparator);
var C=D.pop();
if(D.length>0){var E=function(I,H){if(I&&H){var J=H.findChild(B,C);
if(J){J.select();
if(G){G(true,J)
}}else{if(G){G(false,J)
}}}else{if(G){G(false,J)
}}};
this.expandPath(D.join(this.pathSeparator),B,E)
}else{this.root.select();
if(G){G(true,this.root)
}}},getTreeEl:function(){return this.body
},onRender:function(C,B){CQ.Ext.tree.TreePanel.superclass.onRender.call(this,C,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(){CQ.Ext.tree.TreePanel.superclass.initEvents.call(this);
if(this.containerScroll){CQ.Ext.dd.ScrollManager.register(this.body)
}if((this.enableDD||this.enableDrop)&&!this.dropZone){this.dropZone=new CQ.Ext.tree.TreeDropZone(this,this.dropConfig||{ddGroup:this.ddGroup||"TreeDD",appendOnly:this.ddAppendOnly===true})
}if((this.enableDD||this.enableDrag)&&!this.dragZone){this.dragZone=new CQ.Ext.tree.TreeDragZone(this,this.dragConfig||{ddGroup:this.ddGroup||"TreeDD",scroll:this.ddScroll})
}this.getSelectionModel().init(this)
},afterRender:function(){CQ.Ext.tree.TreePanel.superclass.afterRender.call(this);
this.root.render();
if(!this.rootVisible){this.root.renderChildren()
}},onDestroy:function(){if(this.rendered){this.body.removeAllListeners();
CQ.Ext.dd.ScrollManager.unregister(this.body);
if(this.dropZone){this.dropZone.unreg()
}if(this.dragZone){this.dragZone.unreg()
}}this.root.destroy();
this.nodeHash=null;
CQ.Ext.tree.TreePanel.superclass.onDestroy.call(this)
}});
CQ.Ext.tree.TreePanel.nodeTypes={};
CQ.Ext.reg("treepanel",CQ.Ext.tree.TreePanel);
CQ.Ext.tree.TreeEventModel=function(B){this.tree=B;
this.tree.on("render",this.initEvents,this)
};
CQ.Ext.tree.TreeEventModel.prototype={initEvents:function(){var B=this.tree.getTreeEl();
B.on("click",this.delegateClick,this);
if(this.tree.trackMouseOver!==false){B.on("mouseover",this.delegateOver,this);
B.on("mouseout",this.delegateOut,this)
}B.on("dblclick",this.delegateDblClick,this);
B.on("contextmenu",this.delegateContextMenu,this)
},getNode:function(C){var B;
if(B=C.getTarget(".x-tree-node-el",10)){var D=CQ.Ext.fly(B,"_treeEvents").getAttributeNS("ext","tree-node-id");
if(D){return this.tree.getNodeById(D)
}}return null
},getNodeTarget:function(C){var B=C.getTarget(".x-tree-node-icon",1);
if(!B){B=C.getTarget(".x-tree-node-el",6)
}return B
},delegateOut:function(C,B){if(!this.beforeEvent(C)){return 
}if(C.getTarget(".x-tree-ec-icon",1)){var D=this.getNode(C);
this.onIconOut(C,D);
if(D==this.lastEcOver){delete this.lastEcOver
}}if((B=this.getNodeTarget(C))&&!C.within(B,true)){this.onNodeOut(C,this.getNode(C))
}},delegateOver:function(C,B){if(!this.beforeEvent(C)){return 
}if(this.lastEcOver){this.onIconOut(C,this.lastEcOver);
delete this.lastEcOver
}if(C.getTarget(".x-tree-ec-icon",1)){this.lastEcOver=this.getNode(C);
this.onIconOver(C,this.lastEcOver)
}if(B=this.getNodeTarget(C)){this.onNodeOver(C,this.getNode(C))
}},delegateClick:function(C,B){if(!this.beforeEvent(C)){return 
}if(C.getTarget("input[type=checkbox]",1)){this.onCheckboxClick(C,this.getNode(C))
}else{if(C.getTarget(".x-tree-ec-icon",1)){this.onIconClick(C,this.getNode(C))
}else{if(this.getNodeTarget(C)){this.onNodeClick(C,this.getNode(C))
}}}},delegateDblClick:function(C,B){if(this.beforeEvent(C)&&this.getNodeTarget(C)){this.onNodeDblClick(C,this.getNode(C))
}},delegateContextMenu:function(C,B){if(this.beforeEvent(C)&&this.getNodeTarget(C)){this.onNodeContextMenu(C,this.getNode(C))
}},onNodeClick:function(C,B){B.ui.onClick(C)
},onNodeOver:function(C,B){B.ui.onOver(C)
},onNodeOut:function(C,B){B.ui.onOut(C)
},onIconOver:function(C,B){B.ui.addClass("x-tree-ec-over")
},onIconOut:function(C,B){B.ui.removeClass("x-tree-ec-over")
},onIconClick:function(C,B){B.ui.ecClick(C)
},onCheckboxClick:function(C,B){B.ui.onCheckChange(C)
},onNodeDblClick:function(C,B){B.ui.onDblClick(C)
},onNodeContextMenu:function(C,B){B.ui.onContextMenu(C)
},beforeEvent:function(B){if(this.disabled){B.stopEvent();
return false
}return true
},disable:function(){this.disabled=true
},enable:function(){this.disabled=false
}};
CQ.Ext.tree.DefaultSelectionModel=function(B){this.selNode=null;
this.addEvents("selectionchange","beforeselect");
CQ.Ext.apply(this,B);
CQ.Ext.tree.DefaultSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.tree.DefaultSelectionModel,CQ.Ext.util.Observable,{init:function(B){this.tree=B;
B.getTreeEl().on("keydown",this.onKeyDown,this);
B.on("click",this.onNodeClick,this)
},onNodeClick:function(B,C){this.select(B)
},select:function(C){var B=this.selNode;
if(B!=C&&this.fireEvent("beforeselect",this,C,B)!==false){if(B){B.ui.onSelectedChange(false)
}this.selNode=C;
C.ui.onSelectedChange(true);
this.fireEvent("selectionchange",this,C,B)
}return C
},unselect:function(B){if(this.selNode==B){this.clearSelections()
}},clearSelections:function(){var B=this.selNode;
if(B){B.ui.onSelectedChange(false);
this.selNode=null;
this.fireEvent("selectionchange",this,null)
}return B
},getSelectedNode:function(){return this.selNode
},isSelected:function(B){return this.selNode==B
},selectPrevious:function(){var B=this.selNode||this.lastSelNode;
if(!B){return null
}var D=B.previousSibling;
if(D){if(!D.isExpanded()||D.childNodes.length<1){return this.select(D)
}else{var C=D.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 C=this.selNode||this.lastSelNode;
if(!C){return null
}if(C.firstChild&&C.isExpanded()){return this.select(C.firstChild)
}else{if(C.nextSibling){return this.select(C.nextSibling)
}else{if(C.parentNode){var B=null;
C.parentNode.bubble(function(){if(this.nextSibling){B=this.getOwnerTree().selModel.select(this.nextSibling);
return false
}});
return B
}}}return null
},onKeyDown:function(D){var C=this.selNode||this.lastSelNode;
var E=this;
if(!C){return 
}var B=D.getKey();
switch(B){case D.DOWN:D.stopEvent();
this.selectNext();
break;
case D.UP:D.stopEvent();
this.selectPrevious();
break;
case D.RIGHT:D.preventDefault();
if(C.hasChildNodes()){if(!C.isExpanded()){C.expand()
}else{if(C.firstChild){this.select(C.firstChild,D)
}}}break;
case D.LEFT:D.preventDefault();
if(C.hasChildNodes()&&C.isExpanded()){C.collapse()
}else{if(C.parentNode&&(this.tree.rootVisible||C.parentNode!=this.tree.getRootNode())){this.select(C.parentNode,D)
}}break
}}});
CQ.Ext.tree.MultiSelectionModel=function(B){this.selNodes=[];
this.selMap={};
this.addEvents("selectionchange");
CQ.Ext.apply(this,B);
CQ.Ext.tree.MultiSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.tree.MultiSelectionModel,CQ.Ext.util.Observable,{init:function(B){this.tree=B;
B.getTreeEl().on("keydown",this.onKeyDown,this);
B.on("click",this.onNodeClick,this)
},onNodeClick:function(B,C){this.select(B,C,C.ctrlKey)
},select:function(B,D,C){if(C!==true){this.clearSelections(true)
}if(this.isSelected(B)){this.lastSelNode=B;
return B
}this.selNodes.push(B);
this.selMap[B.id]=B;
this.lastSelNode=B;
B.ui.onSelectedChange(true);
this.fireEvent("selectionchange",this,this.selNodes);
return B
},unselect:function(C){if(this.selMap[C.id]){C.ui.onSelectedChange(false);
var D=this.selNodes;
var B=D.indexOf(C);
if(B!=-1){this.selNodes.splice(B,1)
}delete this.selMap[C.id];
this.fireEvent("selectionchange",this,this.selNodes)
}},clearSelections:function(C){var E=this.selNodes;
if(E.length>0){for(var D=0,B=E.length;
D<B;
D++){E[D].ui.onSelectedChange(false)
}this.selNodes=[];
this.selMap={};
if(C!==true){this.fireEvent("selectionchange",this,this.selNodes)
}}},isSelected:function(B){return this.selMap[B.id]?true:false
},getSelectedNodes:function(){return this.selNodes
},onKeyDown:CQ.Ext.tree.DefaultSelectionModel.prototype.onKeyDown,selectNext:CQ.Ext.tree.DefaultSelectionModel.prototype.selectNext,selectPrevious:CQ.Ext.tree.DefaultSelectionModel.prototype.selectPrevious});
CQ.Ext.tree.TreeNode=function(B){B=B||{};
if(typeof B=="string"){B={text:B}
}this.childrenRendered=false;
this.rendered=false;
CQ.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.addEvents("textchange","beforeexpand","beforecollapse","expand","disabledchange","collapse","beforeclick","click","checkchange","dblclick","contextmenu","beforechildrenrendered");
var C=this.attributes.uiProvider||this.defaultUI||CQ.Ext.tree.TreeNodeUI;
this.ui=new C(this)
};
CQ.Ext.extend(CQ.Ext.tree.TreeNode,CQ.Ext.data.Node,{preventHScroll:true,isExpanded:function(){return this.expanded
},getUI:function(){return this.ui
},getLoader:function(){var B;
return this.loader||((B=this.getOwnerTree())&&B.loader?B.loader:new CQ.Ext.tree.TreeLoader())
},setFirstChild:function(B){var C=this.firstChild;
CQ.Ext.tree.TreeNode.superclass.setFirstChild.call(this,B);
if(this.childrenRendered&&C&&B!=C){C.renderIndent(true,true)
}if(this.rendered){this.renderIndent(true,true)
}},setLastChild:function(C){var B=this.lastChild;
CQ.Ext.tree.TreeNode.superclass.setLastChild.call(this,C);
if(this.childrenRendered&&B&&C!=B){B.renderIndent(true,true)
}if(this.rendered){this.renderIndent(true,true)
}},appendChild:function(C){if(!C.render&&!CQ.Ext.isArray(C)){C=this.getLoader().createNode(C)
}var B=CQ.Ext.tree.TreeNode.superclass.appendChild.call(this,C);
if(B&&this.childrenRendered){B.render()
}this.ui.updateExpandIcon();
return B
},removeChild:function(B){this.ownerTree.getSelectionModel().unselect(B);
CQ.Ext.tree.TreeNode.superclass.removeChild.apply(this,arguments);
if(this.childrenRendered){B.ui.remove()
}if(this.childNodes.length<1){this.collapse(false,false)
}else{this.ui.updateExpandIcon()
}if(!this.firstChild&&!this.isHiddenRoot()){this.childrenRendered=false
}return B
},insertBefore:function(D,B){if(!D.render){D=this.getLoader().createNode(D)
}var C=CQ.Ext.tree.TreeNode.superclass.insertBefore.apply(this,arguments);
if(C&&B&&this.childrenRendered){D.render()
}this.ui.updateExpandIcon();
return C
},setText:function(C){var B=this.text;
this.text=C;
this.attributes.text=C;
if(this.rendered){this.ui.onTextChange(this,C,B)
}this.fireEvent("textchange",this,C,B)
},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,D){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 D=="function"){D(this)
}if(B===true){this.expandChildNodes(true)
}}.createDelegate(this));
return 
}else{this.ui.expand();
this.fireEvent("expand",this);
if(typeof D=="function"){D(this)
}}}else{if(typeof D=="function"){D(this)
}}if(B===true){this.expandChildNodes(true)
}},isHiddenRoot:function(){return this.isRoot&&!this.getOwnerTree().rootVisible
},collapse:function(C,F){if(this.expanded&&!this.isHiddenRoot()){if(this.fireEvent("beforecollapse",this,C,F)===false){return 
}this.expanded=false;
if((this.getOwnerTree().animate&&F!==false)||F){this.ui.animCollapse(function(){this.fireEvent("collapse",this);
if(C===true){this.collapseChildNodes(true)
}}.createDelegate(this));
return 
}else{this.ui.collapse();
this.fireEvent("collapse",this)
}}if(C===true){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].collapse(true,false)
}}},delayedExpand:function(B){if(!this.expandProcId){this.expandProcId=this.expand.defer(B,this)
}},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId)
}this.expandProcId=false
},toggle:function(){if(this.expanded){this.collapse()
}else{this.expand()
}},ensureVisible:function(C){var B=this.getOwnerTree();
B.expandPath(this.parentNode.getPath(),false,function(){var D=B.getNodeById(this.id);
B.getTreeEl().scrollChildIntoView(D.ui.anchor);
CQ.Ext.callback(C)
}.createDelegate(this))
},expandChildNodes:function(C){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].expand(C)
}},collapseChildNodes:function(C){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].collapse(C)
}},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(C){if(C!==false){this.fireEvent("beforechildrenrendered",this)
}var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].render(true)
}this.childrenRendered=true
},sort:function(F,E){CQ.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(B){this.ui.render(B);
if(!this.rendered){this.getOwnerTree().registerNode(this);
this.rendered=true;
if(this.expanded){this.expanded=false;
this.expand(false,false)
}}},renderIndent:function(C,F){if(F){this.ui.childIndent=null
}this.ui.renderIndent();
if(C===true&&this.childrenRendered){var E=this.childNodes;
for(var D=0,B=E.length;
D<B;
D++){E[D].renderIndent(true,F)
}}},beginUpdate:function(){this.childrenRendered=false
},endUpdate:function(){if(this.expanded&&this.rendered){this.renderChildren()
}},destroy:function(){if(this.childNodes){for(var C=0,B=this.childNodes.length;
C<B;
C++){this.childNodes[C].destroy()
}this.childNodes=null
}if(this.ui.destroy){this.ui.destroy()
}}});
CQ.Ext.tree.TreePanel.nodeTypes.node=CQ.Ext.tree.TreeNode;
CQ.Ext.tree.AsyncTreeNode=function(B){this.loaded=B&&B.loaded===true;
this.loading=false;
CQ.Ext.tree.AsyncTreeNode.superclass.constructor.apply(this,arguments);
this.addEvents("beforeload","load")
};
CQ.Ext.extend(CQ.Ext.tree.AsyncTreeNode,CQ.Ext.tree.TreeNode,{expand:function(C,E,G){if(this.loading){var F;
var D=function(){if(!this.loading){clearInterval(F);
this.expand(C,E,G)
}}.createDelegate(this);
F=setInterval(D,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,[C,E,G]));
return 
}}CQ.Ext.tree.AsyncTreeNode.superclass.expand.call(this,C,E,G)
},isLoading:function(){return this.loading
},loadComplete:function(B,C,D){this.loading=false;
this.loaded=true;
this.ui.afterLoad(this);
this.fireEvent("load",this);
this.expand(B,C,D)
},isLoaded:function(){return this.loaded
},hasChildNodes:function(){if(!this.isLeaf()&&!this.loaded){return true
}else{return CQ.Ext.tree.AsyncTreeNode.superclass.hasChildNodes.call(this)
}},reload:function(B){this.collapse(false,false);
while(this.firstChild){this.removeChild(this.firstChild)
}this.childrenRendered=false;
this.loaded=false;
if(this.isHiddenRoot()){this.expanded=false
}this.expand(false,false,B)
}});
CQ.Ext.tree.TreePanel.nodeTypes.async=CQ.Ext.tree.AsyncTreeNode;
CQ.Ext.tree.TreeNodeUI=function(B){this.node=B;
this.rendered=false;
this.animating=false;
this.wasLeaf=true;
this.ecc="x-tree-ec-icon x-tree-elbow";
this.emptyIcon=CQ.Ext.BLANK_IMAGE_URL
};
CQ.Ext.tree.TreeNodeUI.prototype={removeChild:function(B){if(this.rendered){this.ctNode.removeChild(B.ui.getEl())
}},beforeLoad:function(){this.addClass("x-tree-node-loading")
},afterLoad:function(){this.removeClass("x-tree-node-loading")
},onTextChange:function(C,D,B){if(this.rendered){this.textNode.innerHTML=D
}},onDisableChange:function(B,C){this.disabled=C;
if(this.checkbox){this.checkbox.disabled=C
}if(C){this.addClass("x-tree-node-disabled")
}else{this.removeClass("x-tree-node-disabled")
}},onSelectedChange:function(B){if(B){this.focus();
this.addClass("x-tree-selected")
}else{this.removeClass("x-tree-selected")
}},onMove:function(B,H,F,G,E,C){this.childIndent=null;
if(this.rendered){var I=G.ui.getContainer();
if(!I){this.holder=document.createElement("div");
this.holder.appendChild(this.wrap);
return 
}var D=C?C.ui.getEl():null;
if(D){I.insertBefore(this.wrap,D)
}else{I.appendChild(this.wrap)
}this.node.renderIndent(true)
}},addClass:function(B){if(this.elNode){CQ.Ext.fly(this.elNode).addClass(B)
}},removeClass:function(B){if(this.elNode){CQ.Ext.fly(this.elNode).removeClass(B)
}},remove:function(){if(this.rendered){this.holder=document.createElement("div");
this.holder.appendChild(this.wrap)
}},fireEvent:function(){return this.node.fireEvent.apply(this.node,arguments)
},initEvents:function(){this.node.on("move",this.onMove,this);
if(this.node.disabled){this.addClass("x-tree-node-disabled");
if(this.checkbox){this.checkbox.disabled=true
}}if(this.node.hidden){this.hide()
}var C=this.node.getOwnerTree();
var B=C.enableDD||C.enableDrag||C.enableDrop;
if(B&&(!this.node.isRoot||C.rootVisible)){CQ.Ext.dd.Registry.register(this.elNode,{node:this.node,handles:this.getDDHandles(),isHandle:false})
}},getDDHandles:function(){return[this.iconNode,this.textNode,this.elNode]
},hide:function(){this.node.hidden=true;
if(this.wrap){this.wrap.style.display="none"
}},show:function(){this.node.hidden=false;
if(this.wrap){this.wrap.style.display=""
}},onContextMenu:function(B){if(this.node.hasListener("contextmenu")||this.node.getOwnerTree().hasListener("contextmenu")){B.preventDefault();
this.focus();
this.fireEvent("contextmenu",this.node,B)
}},onClick:function(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(B){B.preventDefault();
if(this.disabled){return 
}if(this.checkbox){this.toggleCheck()
}if(!this.animating&&this.node.isExpandable()){this.node.toggle()
}this.fireEvent("dblclick",this.node,B)
},onOver:function(B){this.addClass("x-tree-node-over")
},onOut:function(B){this.removeClass("x-tree-node-over")
},onCheckChange:function(){var B=this.checkbox.checked;
this.checkbox.defaultChecked=B;
this.node.attributes.checked=B;
this.fireEvent("checkchange",this.node,B)
},ecClick:function(B){if(!this.animating&&this.node.isExpandable()){this.node.toggle()
}},startDrop:function(){this.dropping=true
},endDrop:function(){setTimeout(function(){this.dropping=false
}.createDelegate(this),50)
},expand:function(){this.updateExpandIcon();
this.ctNode.style.display=""
},focus:function(){if(!this.node.preventHScroll){try{this.anchor.focus()
}catch(D){}}else{if(!CQ.Ext.isIE){try{var C=this.node.getOwnerTree().getTreeEl().dom;
var B=C.scrollLeft;
this.anchor.focus();
C.scrollLeft=B
}catch(D){}}}},toggleCheck:function(C){var B=this.checkbox;
if(B){B.checked=(C===undefined?!B.checked:C);
this.onCheckChange()
}},blur:function(){try{this.anchor.blur()
}catch(B){}},animExpand:function(C){var B=CQ.Ext.get(this.ctNode);
B.stopFx();
if(!this.node.isExpandable()){this.updateExpandIcon();
this.ctNode.style.display="";
CQ.Ext.callback(C);
return 
}this.animating=true;
this.updateExpandIcon();
B.slideIn("t",{callback:function(){this.animating=false;
CQ.Ext.callback(C)
},scope:this,duration:this.node.ownerTree.duration||0.25})
},highlight:function(){var B=this.node.getOwnerTree();
CQ.Ext.fly(this.wrap).highlight(B.hlColor||"C3DAF9",{endColor:B.hlBaseColor})
},collapse:function(){this.updateExpandIcon();
this.ctNode.style.display="none"
},animCollapse:function(C){var B=CQ.Ext.get(this.ctNode);
B.enableDisplayMode("block");
B.stopFx();
this.animating=true;
this.updateExpandIcon();
B.slideOut("t",{callback:function(){this.animating=false;
CQ.Ext.callback(C)
},scope:this,duration:this.node.ownerTree.duration||0.25})
},getContainer:function(){return this.ctNode
},getEl:function(){return this.wrap
},appendDDGhost:function(B){B.appendChild(this.elNode.cloneNode(true))
},getDDRepairXY:function(){return CQ.Ext.lib.Dom.getXY(this.iconNode)
},onRender:function(){this.render()
},render:function(C){var E=this.node,B=E.attributes;
var D=E.parentNode?E.parentNode.ui.getContainer():E.ownerTree.innerCt.dom;
if(!this.rendered){this.rendered=true;
this.renderElements(E,B,D,C);
if(B.qtip){if(this.textNode.setAttributeNS){this.textNode.setAttributeNS("ext","qtip",B.qtip);
if(B.qtipTitle){this.textNode.setAttributeNS("ext","qtitle",B.qtipTitle)
}}else{this.textNode.setAttribute("ext:qtip",B.qtip);
if(B.qtipTitle){this.textNode.setAttribute("ext:qtitle",B.qtipTitle)
}}}else{if(B.qtipCfg){B.qtipCfg.target=CQ.Ext.id(this.textNode);
CQ.Ext.QuickTips.register(B.qtipCfg)
}}this.initEvents();
if(!this.node.expanded){this.updateExpandIcon(true)
}}else{if(C===true){D.appendChild(this.wrap)
}}},renderElements:function(E,J,I,K){this.indentMarkup=E.parentNode?E.parentNode.ui.getChildIndent():"";
var F=typeof J.checked=="boolean";
var C=J.href?J.href:CQ.Ext.isGecko?"":"#";
var D=['<li class="x-tree-node"><div ext:tree-node-id="',E.id,'" class="x-tree-node-el x-tree-node-leaf x-unselectable ',J.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="',J.icon||this.emptyIcon,'" class="x-tree-node-icon',(J.icon?" x-tree-node-inline-icon":""),(J.iconCls?" "+J.iconCls:""),'" unselectable="on" />',F?('<input class="x-tree-node-cb" type="checkbox" '+(J.checked?'checked="checked" />':"/>")):"",'<a hidefocus="on" class="x-tree-node-anchor" href="',C,'" tabIndex="1" ',J.hrefTarget?' target="'+J.hrefTarget+'"':"",'><span unselectable="on">',E.text,"</span></a></div>",'<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>"].join("");
var B;
if(K!==true&&E.nextSibling&&(B=E.nextSibling.ui.getEl())){this.wrap=CQ.Ext.DomHelper.insertHtml("beforeBegin",B,D)
}else{this.wrap=CQ.Ext.DomHelper.insertHtml("beforeEnd",I,D)
}this.elNode=this.wrap.childNodes[0];
this.ctNode=this.wrap.childNodes[1];
var H=this.elNode.childNodes;
this.indentNode=H[0];
this.ecNode=H[1];
this.iconNode=H[2];
var G=3;
if(F){this.checkbox=H[3];
this.checkbox.defaultChecked=this.checkbox.checked;
G++
}this.anchor=H[G];
this.textNode=H[G].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 F=this.node,E,D;
var B=F.isLast()?"x-tree-elbow-end":"x-tree-elbow";
if(F.isExpandable()){if(F.expanded){B+="-minus";
E="x-tree-node-collapsed";
D="x-tree-node-expanded"
}else{B+="-plus";
E="x-tree-node-expanded";
D="x-tree-node-collapsed"
}if(this.wasLeaf){this.removeClass("x-tree-node-leaf");
this.wasLeaf=false
}if(this.c1!=E||this.c2!=D){CQ.Ext.fly(this.elNode).replaceClass(E,D);
this.c1=E;
this.c2=D
}}else{if(!this.wasLeaf){CQ.Ext.fly(this.elNode).replaceClass("x-tree-node-expanded","x-tree-node-leaf");
delete this.c1;
delete this.c2;
this.wasLeaf=true
}}var C="x-tree-ec-icon "+B;
if(this.ecc!=C){this.ecNode.className=C;
this.ecc=C
}}},getChildIndent:function(){if(!this.childIndent){var B=[];
var C=this.node;
while(C){if(!C.isRoot||(C.isRoot&&C.ownerTree.rootVisible)){if(!C.isLast()){B.unshift('<img src="'+this.emptyIcon+'" class="x-tree-elbow-line" />')
}else{B.unshift('<img src="'+this.emptyIcon+'" class="x-tree-icon" />')
}}C=C.parentNode
}this.childIndent=B.join("")
}return this.childIndent
},renderIndent:function(){if(this.rendered){var B="";
var C=this.node.parentNode;
if(C){B=C.ui.getChildIndent()
}if(this.indentMarkup!=B){this.indentNode.innerHTML=B;
this.indentMarkup=B
}this.updateExpandIcon()
}},destroy:function(){if(this.elNode){CQ.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;
CQ.Ext.removeNode(this.ctNode)
}};
CQ.Ext.tree.RootTreeNodeUI=CQ.Ext.extend(CQ.Ext.tree.TreeNodeUI,{render:function(){if(!this.rendered){var B=this.node.ownerTree.innerCt.dom;
this.node.expanded=true;
B.innerHTML='<div class="x-tree-root-node"></div>';
this.wrap=this.ctNode=B.firstChild
}},collapse:CQ.Ext.emptyFn,expand:CQ.Ext.emptyFn});
CQ.Ext.tree.TreeLoader=function(B){this.baseParams={};
CQ.Ext.apply(this,B);
this.addEvents("beforeload","load","loadexception");
CQ.Ext.tree.TreeLoader.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.tree.TreeLoader,CQ.Ext.util.Observable,{uiProviders:{},clearOnLoad:true,load:function(B,C){if(this.clearOnLoad){while(B.firstChild){B.removeChild(B.firstChild)
}}if(this.doPreload(B)){if(typeof C=="function"){C()
}}else{if(this.dataUrl||this.url){this.requestData(B,C)
}}},doPreload:function(E){if(E.attributes.children){if(E.childNodes.length<1){var D=E.attributes.children;
E.beginUpdate();
for(var C=0,B=D.length;
C<B;
C++){var F=E.appendChild(this.createNode(D[C]));
if(this.preloadChildren){this.doPreload(F)
}}E.endUpdate()
}return true
}else{return false
}},getParams:function(E){var B=[],D=this.baseParams;
for(var C in D){if(typeof D[C]!="function"){B.push(encodeURIComponent(C),"=",encodeURIComponent(D[C]),"&")
}}B.push("node=",encodeURIComponent(E.id));
return B.join("")
},requestData:function(B,C){if(this.fireEvent("beforeload",this,B,C)!==false){this.transId=CQ.Ext.Ajax.request({method:this.requestMethod,url:this.dataUrl||this.url,success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{callback:C,node:B},params:this.getParams(B)})
}else{if(typeof C=="function"){C()
}}},isLoading:function(){return !!this.transId
},abort:function(){if(this.isLoading()){CQ.Ext.Ajax.abort(this.transId)
}},createNode:function(attr){if(this.baseAttrs){CQ.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 CQ.Ext.tree.TreePanel.nodeTypes[attr.nodeType](attr)
}else{return attr.leaf?new CQ.Ext.tree.TreeNode(attr):new CQ.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(C){this.transId=false;
var B=C.argument;
this.processResponse(C,B.node,B.callback);
this.fireEvent("load",this,B.node,C)
},handleFailure:function(C){this.transId=false;
var B=C.argument;
this.fireEvent("loadexception",this,B.node,C);
if(typeof B.callback=="function"){B.callback(this,B.node)
}}});
CQ.Ext.tree.TreeFilter=function(B,C){this.tree=B;
this.filtered={};
CQ.Ext.apply(this,C)
};
CQ.Ext.tree.TreeFilter.prototype={clearBlank:false,reverse:false,autoClear:false,remove:false,filter:function(E,B,C){B=B||"text";
var D;
if(typeof E=="string"){var F=E.length;
if(F==0&&this.clearBlank){this.clear();
return 
}E=E.toLowerCase();
D=function(G){return G.attributes[B].substr(0,F).toLowerCase()==E
}
}else{if(E.exec){D=function(G){return E.test(G.attributes[B])
}
}else{throw"Illegal filter type, must be string or regex"
}}this.filterBy(D,null,C)
},filterBy:function(E,D,C){C=C||this.tree.root;
if(this.autoClear){this.clear()
}var B=this.filtered,I=this.reverse;
var F=function(K){if(K==C){return true
}if(B[K.id]){return false
}var J=E.call(D||K,K);
if(!J||I){B[K.id]=K;
K.ui.hide();
return false
}return true
};
C.cascade(F);
if(this.remove){for(var H in B){if(typeof H!="function"){var G=B[H];
if(G&&G.parentNode){G.parentNode.removeChild(G)
}}}}},clear:function(){var C=this.tree;
var B=this.filtered;
for(var E in B){if(typeof E!="function"){var D=B[E];
if(D){D.ui.show()
}}}this.filtered={}
}};
CQ.Ext.tree.TreeSorter=function(C,D){CQ.Ext.apply(this,D);
C.on("beforechildrenrendered",this.doSort,this);
C.on("append",this.updateSort,this);
C.on("insert",this.updateSort,this);
C.on("textchange",this.updateSortParent,this);
var F=this.dir&&this.dir.toLowerCase()=="desc";
var G=this.property||"text";
var H=this.sortType;
var B=this.folderSort;
var E=this.caseSensitive===true;
var I=this.leafAttr||"leaf";
this.sortFn=function(K,J){if(B){if(K.attributes[I]&&!J.attributes[I]){return 1
}if(!K.attributes[I]&&J.attributes[I]){return -1
}}var M=H?H(K):(E?K.attributes[G]:K.attributes[G].toUpperCase());
var L=H?H(J):(E?J.attributes[G]:J.attributes[G].toUpperCase());
if(M<L){return F?+1:-1
}else{if(M>L){return F?-1:+1
}else{return 0
}}}
};
CQ.Ext.tree.TreeSorter.prototype={doSort:function(B){B.sort(this.sortFn)
},compareNodes:function(C,B){return(C.text.toUpperCase()>B.text.toUpperCase()?1:-1)
},updateSort:function(B,C){if(C.childrenRendered){this.doSort.defer(1,this,[C])
}},updateSortParent:function(B){var C=B.parentNode;
if(C&&C.childrenRendered){this.doSort.defer(1,this,[C])
}}};
if(CQ.Ext.dd.DropZone){CQ.Ext.tree.TreeDropZone=function(B,C){this.allowParentInsert=false;
this.allowContainerDrop=false;
this.appendOnly=false;
CQ.Ext.tree.TreeDropZone.superclass.constructor.call(this,B.innerCt,C);
this.tree=B;
this.dragOverData={};
this.lastInsertClass="x-tree-no-status"
};
CQ.Ext.extend(CQ.Ext.tree.TreeDropZone,CQ.Ext.dd.DropZone,{ddGroup:"TreeDD",expandDelay:1000,expandNode:function(B){if(B.hasChildNodes()&&!B.isExpanded()){B.expand(false,null,this.triggerCacheRefresh.createDelegate(this))
}},queueExpand:function(B){this.expandProcId=this.expandNode.defer(this.expandDelay,this,[B])
},cancelExpand:function(){if(this.expandProcId){clearTimeout(this.expandProcId);
this.expandProcId=false
}},isValidDropPoint:function(B,J,H,E,D){if(!B||!D){return false
}var F=B.node;
var G=D.node;
if(!(F&&F.isTarget&&J)){return false
}if(J=="append"&&F.allowChildren===false){return false
}if((J=="above"||J=="below")&&(F.parentNode&&F.parentNode.allowChildren===false)){return false
}if(G&&(F==G||G.contains(F))){return false
}var C=this.dragOverData;
C.tree=this.tree;
C.target=F;
C.data=D;
C.point=J;
C.source=H;
C.rawEvent=E;
C.dropNode=G;
C.cancel=false;
var I=this.tree.fireEvent("nodedragover",C);
return C.cancel===false&&I!==false
},getDropPoint:function(F,E,J){var K=E.node;
if(K.isRoot){return K.allowChildren!==false?"append":false
}var C=E.ddel;
var L=CQ.Ext.lib.Dom.getY(C),H=L+C.offsetHeight;
var G=CQ.Ext.lib.Event.getPageY(F);
var I=K.allowChildren===false||K.isLeaf();
if(this.appendOnly||K.parentNode.allowChildren===false){return I?false:"append"
}var D=false;
if(!this.allowParentInsert){D=K.hasChildNodes()&&K.isExpanded()
}var B=(H-L)/(I?2:3);
if(G>=L&&G<(L+B)){return"above"
}else{if(!D&&(I||G>=H-B&&G<=H)){return"below"
}else{return"append"
}}},onNodeEnter:function(E,B,D,C){this.cancelExpand()
},onNodeOver:function(C,H,G,F){var J=this.getDropPoint(G,C,H);
var D=C.node;
if(!this.expandProcId&&J=="append"&&D.hasChildNodes()&&!C.node.isExpanded()){this.queueExpand(D)
}else{if(J!="append"){this.cancelExpand()
}}var E=this.dropNotAllowed;
if(this.isValidDropPoint(C,J,H,G,F)){if(J){var B=C.ddel;
var I;
if(J=="above"){E=C.node.isFirst()?"x-tree-drop-ok-above":"x-tree-drop-ok-between";
I="x-tree-drag-insert-above"
}else{if(J=="below"){E=C.node.isLast()?"x-tree-drop-ok-below":"x-tree-drop-ok-between";
I="x-tree-drag-insert-below"
}else{E="x-tree-drop-ok-append";
I="x-tree-drag-append"
}}if(this.lastInsertClass!=I){CQ.Ext.fly(B).replaceClass(this.lastInsertClass,I);
this.lastInsertClass=I
}}}return E
},onNodeOut:function(E,B,D,C){this.cancelExpand();
this.removeDropIndicators(E)
},onNodeDrop:function(D,J,F,E){var I=this.getDropPoint(F,D,J);
var G=D.node;
G.ui.startDrop();
if(!this.isValidDropPoint(D,I,J,F,E)){G.ui.endDrop();
return false
}var H=E.node||(J.getTreeNode?J.getTreeNode(E,G,I,F):null);
var C={tree:this.tree,target:G,data:E,point:I,source:J,rawEvent:F,dropNode:H,cancel:!H,dropStatus:false};
var B=this.tree.fireEvent("beforenodedrop",C);
if(B===false||C.cancel===true||!C.dropNode){G.ui.endDrop();
return C.dropStatus
}G=C.target;
if(I=="append"&&!G.isExpanded()){G.expand(false,null,function(){this.completeDrop(C)
}.createDelegate(this))
}else{this.completeDrop(C)
}return true
},completeDrop:function(H){var E=H.dropNode,F=H.point,D=H.target;
if(!CQ.Ext.isArray(E)){E=[E]
}var G;
for(var C=0,B=E.length;
C<B;
C++){G=E[C];
if(F=="above"){D.parentNode.insertBefore(G,D)
}else{if(F=="below"){D.parentNode.insertBefore(G,D.nextSibling)
}else{D.appendChild(G)
}}}G.ui.focus();
if(CQ.Ext.enableFx&&this.tree.hlDrop){G.ui.highlight()
}D.ui.endDrop();
this.tree.fireEvent("nodedrop",H)
},afterNodeMoved:function(B,D,F,E,C){if(CQ.Ext.enableFx&&this.tree.hlDrop){C.ui.focus();
C.ui.highlight()
}this.tree.fireEvent("nodedrop",this.tree,E,D,B,F)
},getTree:function(){return this.tree
},removeDropIndicators:function(C){if(C&&C.ddel){var B=C.ddel;
CQ.Ext.fly(B).removeClass(["x-tree-drag-insert-above","x-tree-drag-insert-below","x-tree-drag-append"]);
this.lastInsertClass="_noclass"
}},beforeDragDrop:function(C,B,D){this.cancelExpand();
return true
},afterRepair:function(B){if(B&&CQ.Ext.enableFx){B.node.ui.highlight()
}this.hideProxy()
}})
}if(CQ.Ext.dd.DragZone){CQ.Ext.tree.TreeDragZone=function(B,C){CQ.Ext.tree.TreeDragZone.superclass.constructor.call(this,B.getTreeEl(),C);
this.tree=B
};
CQ.Ext.extend(CQ.Ext.tree.TreeDragZone,CQ.Ext.dd.DragZone,{ddGroup:"TreeDD",onBeforeDrag:function(B,C){var D=B.node;
return D&&D.draggable&&!D.disabled
},onInitDrag:function(C){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,C)
},getRepairXY:function(C,B){return B.node.ui.getDDRepairXY()
},onEndDrag:function(B,C){this.tree.eventModel.enable.defer(100,this.tree.eventModel);
this.tree.fireEvent("enddrag",this.tree,B.node,C)
},onValidDrop:function(B,C,D){this.tree.fireEvent("dragdrop",this.tree,this.dragData.node,B,C);
this.hideProxy()
},beforeInvalidDrop:function(B,D){var C=this.tree.getSelectionModel();
C.clearSelections();
C.select(this.dragData.node)
},afterRepair:function(){if(CQ.Ext.enableFx&&this.tree.hlDrop){CQ.Ext.Element.fly(this.dragData.ddel).highlight(this.hlColor||"c3daf9")
}this.dragging=false
}})
}CQ.Ext.tree.TreeEditor=function(B,D,C){D=D||{};
var E=D.events?D:new CQ.Ext.form.TextField(D);
CQ.Ext.tree.TreeEditor.superclass.constructor.call(this,E,C);
this.tree=B;
if(!B.rendered){B.on("render",this.initEditor,this)
}else{this.initEditor(B)
}};
CQ.Ext.extend(CQ.Ext.tree.TreeEditor,CQ.Ext.Editor,{alignment:"l-l",autoSize:false,hideEl:false,cls:"x-small-editor x-tree-editor",shim:false,shadow:"frame",maxWidth:250,editDelay:350,initEditor:function(B){B.on("beforeclick",this.beforeNodeClick,this);
B.on("dblclick",this.onNodeDblClick,this);
this.on("complete",this.updateNode,this);
this.on("beforestartedit",this.fitToTree,this);
this.on("startedit",this.bindScroll,this,{delay:10});
this.on("specialkey",this.onSpecialKey,this)
},fitToTree:function(C,D){var F=this.tree.getTreeEl().dom,E=D.dom;
if(F.scrollLeft>E.offsetLeft){F.scrollLeft=E.offsetLeft
}var B=Math.min(this.maxWidth,(F.clientWidth>20?F.clientWidth:F.offsetWidth)-Math.max(0,E.offsetLeft-F.scrollLeft)-5);
this.setSize(B,"")
},triggerEdit:function(B,C){this.completeEdit();
if(B.attributes.editable!==false){this.editNode=B;
if(this.tree.autoScroll){B.ui.getEl().scrollIntoView(this.tree.body)
}this.autoEditTimer=this.startEdit.defer(this.editDelay,this,[B.ui.textNode,B.text]);
return false
}},bindScroll:function(){this.tree.getTreeEl().on("scroll",this.cancelEdit,this)
},beforeNodeClick:function(B,C){clearTimeout(this.autoEditTimer);
if(this.tree.getSelectionModel().isSelected(B)){C.stopEvent();
return this.triggerEdit(B)
}},onNodeDblClick:function(B,C){clearTimeout(this.autoEditTimer)
},updateNode:function(B,C){this.tree.getTreeEl().un("scroll",this.cancelEdit,this);
this.editNode.setText(C)
},onHide:function(){CQ.Ext.tree.TreeEditor.superclass.onHide.call(this);
if(this.editNode){this.editNode.ui.focus.defer(50,this.editNode.ui)
}},onSpecialKey:function(D,C){var B=C.getKey();
if(B==C.ESC){C.stopEvent();
this.cancelEdit()
}else{if(B==C.ENTER&&!C.hasModifier()){C.stopEvent();
this.completeEdit()
}}}});
CQ.Ext.menu.Menu=function(B){if(CQ.Ext.isArray(B)){B={items:B}
}CQ.Ext.apply(this,B);
this.id=this.id||CQ.Ext.id();
this.addEvents("beforeshow","beforehide","show","hide","click","mouseover","mouseout","itemclick");
CQ.Ext.menu.MenuMgr.register(this);
CQ.Ext.menu.Menu.superclass.constructor.call(this);
var C=this.items;
this.items=new CQ.Ext.util.MixedCollection();
if(C){this.add.apply(this,C)
}};
CQ.Ext.extend(CQ.Ext.menu.Menu,CQ.Ext.util.Observable,{minWidth:120,shadow:"sides",subMenuAlign:"tl-tr?",defaultAlign:"tl-bl?",allowOtherMenus:false,ignoreParentClicks:false,hidden:true,createEl:function(){return new CQ.Ext.Layer({cls:"x-menu",shadow:this.shadow,constrain:false,parentEl:this.parentEl||document.body,zindex:15000})
},render:function(){if(this.el){return 
}var C=this.el=this.createEl();
if(!this.keyNav){this.keyNav=new CQ.Ext.menu.MenuNav(this)
}if(this.plain){C.addClass("x-menu-plain")
}if(this.cls){C.addClass(this.cls)
}this.focusEl=C.createChild({tag:"a",cls:"x-menu-focus",href:"#",onclick:"return false;",tabIndex:"-1"});
var B=C.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(E){var D=document.createElement("li");
D.className="x-menu-list-item";
B.dom.appendChild(D);
E.render(D,this)
},this);
this.ul=B;
this.autoWidth()
},autoWidth:function(){var E=this.el,D=this.ul;
if(!E){return 
}var B=this.width;
if(B){E.setWidth(B)
}else{if(CQ.Ext.isIE){E.setWidth(this.minWidth);
var C=E.dom.offsetWidth;
E.setWidth(D.getWidth()+E.getFrameWidth("lr"))
}}},delayAutoWidth:function(){if(this.el){if(!this.awTask){this.awTask=new CQ.Ext.util.DelayedTask(this.autoWidth,this)
}this.awTask.delay(20)
}},findTargetItem:function(C){var B=C.getTarget(".x-menu-list-item",this.ul,true);
if(B&&B.menuItemId){return this.items.get(B.menuItemId)
}},onClick:function(C){var B;
if(B=this.findTargetItem(C)){if(B.menu&&this.ignoreParentClicks){B.expandMenu()
}else{B.onClick(C);
this.fireEvent("click",this,B,C)
}}},setActiveItem:function(B,C){if(B!=this.activeItem){if(this.activeItem){this.activeItem.deactivate()
}this.activeItem=B;
B.activate(C)
}else{if(C){B.expandMenu()
}}},tryActivate:function(G,F){var C=this.items;
for(var D=G,B=C.length;
D>=0&&D<B;
D+=F){var E=C.get(D);
if(!E.disabled&&E.canActivate){this.setActiveItem(E,false);
return E
}}return false
},onMouseOver:function(C){var B;
if(B=this.findTargetItem(C)){if(B.canActivate&&!B.disabled){this.setActiveItem(B,true)
}}this.over=true;
this.fireEvent("mouseover",this,C,B)
},onMouseOut:function(C){var B;
if(B=this.findTargetItem(C)){if(B==this.activeItem&&B.shouldDeactivate(C)){this.activeItem.deactivate();
delete this.activeItem
}}this.over=false;
this.fireEvent("mouseout",this,C,B)
},isVisible:function(){return this.el&&!this.hidden
},show:function(C,D,B){this.parentMenu=B;
if(!this.el){this.render()
}this.fireEvent("beforeshow",this);
this.showAt(this.el.getAlignToXY(C,D||this.defaultAlign),B,false)
},showAt:function(D,C,B){this.parentMenu=C;
if(!this.el){this.render()
}if(B!==false){this.fireEvent("beforeshow",this);
D=this.el.adjustForConstraints(D)
}this.el.setXY(D);
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(B){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(B===true&&this.parentMenu){this.parentMenu.hide(true)
}},add:function(){var C=arguments,B=C.length,F;
for(var D=0;
D<B;
D++){var E=C[D];
if(E.render){F=this.addItem(E)
}else{if(typeof E=="string"){if(E=="separator"||E=="-"){F=this.addSeparator()
}else{F=this.addText(E)
}}else{if(E.tagName||E.el){F=this.addElement(E)
}else{if(typeof E=="object"){CQ.Ext.applyIf(E,this.defaults);
F=this.addMenuItem(E)
}}}}}return F
},getEl:function(){if(!this.el){this.render()
}return this.el
},addSeparator:function(){return this.addItem(new CQ.Ext.menu.Separator())
},addElement:function(B){return this.addItem(new CQ.Ext.menu.BaseItem(B))
},addItem:function(C){this.items.add(C);
if(this.ul){var B=document.createElement("li");
B.className="x-menu-list-item";
this.ul.dom.appendChild(B);
C.render(B,this);
this.delayAutoWidth()
}return C
},addMenuItem:function(B){if(!(B instanceof CQ.Ext.menu.Item)){if(typeof B.checked=="boolean"){B=new CQ.Ext.menu.CheckItem(B)
}else{B=new CQ.Ext.menu.Item(B)
}}return this.addItem(B)
},addText:function(B){return this.addItem(new CQ.Ext.menu.TextItem(B))
},insert:function(C,D){this.items.insert(C,D);
if(this.ul){var B=document.createElement("li");
B.className="x-menu-list-item";
this.ul.dom.insertBefore(B,this.ul.dom.childNodes[C]);
D.render(B,this);
this.delayAutoWidth()
}return D
},remove:function(B){this.items.removeKey(B.id);
B.destroy()
},removeAll:function(){if(this.items){var B;
while(B=this.items.first()){this.remove(B)
}}},destroy:function(){this.beforeDestroy();
CQ.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:CQ.Ext.emptyFn});
CQ.Ext.menu.MenuNav=function(B){CQ.Ext.menu.MenuNav.superclass.constructor.call(this,B.el);
this.scope=this.menu=B
};
CQ.Ext.extend(CQ.Ext.menu.MenuNav,CQ.Ext.KeyNav,{doRelay:function(D,C){var B=D.getKey();
if(!this.menu.activeItem&&D.isNavKeyPress()&&B!=D.SPACE&&B!=D.RETURN){this.menu.tryActivate(0,1);
return false
}return C.call(this.scope||this,D,this.menu)
},up:function(C,B){if(!B.tryActivate(B.items.indexOf(B.activeItem)-1,-1)){B.tryActivate(B.items.length-1,-1)
}},down:function(C,B){if(!B.tryActivate(B.items.indexOf(B.activeItem)+1,1)){B.tryActivate(0,1)
}},right:function(C,B){if(B.activeItem){B.activeItem.expandMenu(true)
}},left:function(C,B){B.hide();
if(B.parentMenu&&B.parentMenu.activeItem){B.parentMenu.activeItem.activate()
}},enter:function(C,B){if(B.activeItem){C.stopPropagation();
B.activeItem.onClick(C);
B.fireEvent("click",this,B.activeItem);
return true
}}});
CQ.Ext.menu.MenuMgr=function(){var G,E,D={},B=false,L=new Date();
function N(){G={};
E=new CQ.Ext.util.MixedCollection();
CQ.Ext.getDoc().addKeyListener(27,function(){if(E.length>0){I()
}})
}function I(){if(E&&E.length>0){var O=E.clone();
O.each(function(P){P.hide()
})
}}function F(O){E.remove(O);
if(E.length<1){CQ.Ext.getDoc().un("mousedown",M);
B=false
}}function K(O){var P=E.last();
L=new Date();
E.add(O);
if(!B){CQ.Ext.getDoc().on("mousedown",M);
B=true
}if(O.parentMenu){O.getEl().setZIndex(parseInt(O.parentMenu.getEl().getStyle("z-index"),10)+3);
O.parentMenu.activeChild=O
}else{if(P&&P.isVisible()){O.getEl().setZIndex(parseInt(P.getEl().getStyle("z-index"),10)+3)
}}}function C(O){if(O.activeChild){O.activeChild.hide()
}if(O.autoHideTimer){clearTimeout(O.autoHideTimer);
delete O.autoHideTimer
}}function H(O){var P=O.parentMenu;
if(!P&&!O.allowOtherMenus){I()
}else{if(P&&P.activeChild){P.activeChild.hide()
}}}function M(O){if(L.getElapsed()>50&&E.length>0&&!O.getTarget(".x-menu")){I()
}}function J(P,S){if(S){var R=D[P.group];
for(var Q=0,O=R.length;
Q<O;
Q++){if(R[Q]!=P){R[Q].setChecked(false)
}}}}return{hideAll:function(){I()
},register:function(P){if(!G){N()
}G[P.id]=P;
P.on("beforehide",C);
P.on("hide",F);
P.on("beforeshow",H);
P.on("show",K);
var O=P.group;
if(O&&P.events.checkchange){if(!D[O]){D[O]=[]
}D[O].push(P);
P.on("checkchange",onCheck)
}},get:function(O){if(typeof O=="string"){if(!G){return null
}return G[O]
}else{if(O.events){return O
}else{if(typeof O.length=="number"){return new CQ.Ext.menu.Menu({items:O})
}else{return new CQ.Ext.menu.Menu(O)
}}}},unregister:function(P){delete G[P.id];
P.un("beforehide",C);
P.un("hide",F);
P.un("beforeshow",H);
P.un("show",K);
var O=P.group;
if(O&&P.events.checkchange){D[O].remove(P);
P.un("checkchange",onCheck)
}},registerCheckable:function(O){var P=O.group;
if(P){if(!D[P]){D[P]=[]
}D[P].push(O);
O.on("beforecheckchange",J)
}},unregisterCheckable:function(O){var P=O.group;
if(P){D[P].remove(O);
O.un("beforecheckchange",J)
}},getCheckedItem:function(Q){var R=D[Q];
if(R){for(var P=0,O=R.length;
P<O;
P++){if(R[P].checked){return R[P]
}}}return null
},setCheckedItem:function(Q,S){var R=D[Q];
if(R){for(var P=0,O=R.length;
P<O;
P++){if(R[P].id==S){R[P].setChecked(true)
}}}return null
}}
}();
CQ.Ext.menu.BaseItem=function(B){CQ.Ext.menu.BaseItem.superclass.constructor.call(this,B);
this.addEvents("click","activate","deactivate");
if(this.handler){this.on("click",this.handler,this.scope)
}};
CQ.Ext.extend(CQ.Ext.menu.BaseItem,CQ.Ext.Component,{canActivate:false,activeClass:"x-menu-item-active",hideOnClick:true,hideDelay:100,ctype:"CQ.Ext.menu.BaseItem",actionMode:"container",render:function(B,C){this.parentMenu=C;
CQ.Ext.menu.BaseItem.superclass.render.call(this,B);
this.container.menuItemId=this.id
},onRender:function(C,B){this.el=CQ.Ext.get(this.el);
C.dom.appendChild(this.el.dom)
},setHandler:function(C,B){if(this.handler){this.un("click",this.handler,this.scope)
}this.on("click",this.handler=C,this.scope=B)
},onClick:function(B){if(!this.disabled&&this.fireEvent("click",this,B)!==false&&this.parentMenu.fireEvent("itemclick",this,B)!==false){this.handleClick(B)
}else{B.stopEvent()
}},activate:function(){if(this.disabled){return false
}var B=this.container;
B.addClass(this.activeClass);
this.region=B.getRegion().adjust(2,2,-2,-2);
this.fireEvent("activate",this);
return true
},deactivate:function(){this.container.removeClass(this.activeClass);
this.fireEvent("deactivate",this)
},shouldDeactivate:function(B){return !this.region||!this.region.contains(B.getPoint())
},handleClick:function(B){if(this.hideOnClick){this.parentMenu.hide.defer(this.hideDelay,this.parentMenu,[true])
}},expandMenu:function(B){},hideMenu:function(){}});
CQ.Ext.menu.TextItem=function(B){if(typeof B=="string"){B={text:B}
}CQ.Ext.menu.TextItem.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.Ext.menu.TextItem,CQ.Ext.menu.BaseItem,{hideOnClick:false,itemCls:"x-menu-text",onRender:function(){var B=document.createElement("span");
B.className=this.itemCls;
B.innerHTML=this.text;
this.el=B;
CQ.Ext.menu.TextItem.superclass.onRender.apply(this,arguments)
}});
CQ.Ext.menu.Separator=function(B){CQ.Ext.menu.Separator.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.Ext.menu.Separator,CQ.Ext.menu.BaseItem,{itemCls:"x-menu-sep",hideOnClick:false,onRender:function(B){var C=document.createElement("span");
C.className=this.itemCls;
C.innerHTML="&#160;";
this.el=C;
B.addClass("x-menu-sep-li");
CQ.Ext.menu.Separator.superclass.onRender.apply(this,arguments)
}});
CQ.Ext.menu.Item=function(B){CQ.Ext.menu.Item.superclass.constructor.call(this,B);
if(this.menu){this.menu=CQ.Ext.menu.MenuMgr.get(this.menu)
}};
CQ.Ext.extend(CQ.Ext.menu.Item,CQ.Ext.menu.BaseItem,{itemCls:"x-menu-item",canActivate:true,showDelay:200,hideDelay:200,ctype:"CQ.Ext.menu.Item",onRender:function(C,B){var D=document.createElement("a");
D.hideFocus=true;
D.unselectable="on";
D.href=this.href||"#";
if(this.hrefTarget){D.target=this.hrefTarget
}D.className=this.itemCls+(this.menu?" x-menu-item-arrow":"")+(this.cls?" "+this.cls:"");
D.innerHTML=String.format('<img src="{0}" class="x-menu-item-icon {2}" />{1}',this.icon||CQ.Ext.BLANK_IMAGE_URL,this.itemText||this.text,this.iconCls||"");
this.el=D;
CQ.Ext.menu.Item.superclass.onRender.call(this,C,B)
},setText:function(B){this.text=B;
if(this.rendered){this.el.update(String.format('<img src="{0}" class="x-menu-item-icon {2}">{1}',this.icon||CQ.Ext.BLANK_IMAGE_URL,this.text,this.iconCls||""));
this.parentMenu.autoWidth()
}},setIconClass:function(B){var C=this.iconCls;
this.iconCls=B;
if(this.rendered){this.el.child("img.x-menu-item-icon").replaceClass(C,this.iconCls)
}},handleClick:function(B){if(!this.href){B.stopEvent()
}CQ.Ext.menu.Item.superclass.handleClick.apply(this,arguments)
},activate:function(B){if(CQ.Ext.menu.Item.superclass.activate.apply(this,arguments)){this.focus();
if(B){this.expandMenu()
}}return true
},shouldDeactivate:function(B){if(CQ.Ext.menu.Item.superclass.shouldDeactivate.call(this,B)){if(this.menu&&this.menu.isVisible()){return !this.menu.getEl().getRegion().contains(B.getPoint())
}return true
}return false
},deactivate:function(){CQ.Ext.menu.Item.superclass.deactivate.apply(this,arguments);
this.hideMenu()
},expandMenu:function(B){if(!this.disabled&&this.menu){clearTimeout(this.hideTimer);
delete this.hideTimer;
if(!this.menu.isVisible()&&!this.showTimer){this.showTimer=this.deferExpand.defer(this.showDelay,this,[B])
}else{if(this.menu.isVisible()&&B){this.menu.tryActivate(0,1)
}}}},deferExpand:function(B){delete this.showTimer;
this.menu.show(this.container,this.parentMenu.subMenuAlign||"tl-tr?",this.parentMenu);
if(B){this.menu.tryActivate(0,1)
}},hideMenu:function(){clearTimeout(this.showTimer);
delete this.showTimer;
if(!this.hideTimer&&this.menu&&this.menu.isVisible()){this.hideTimer=this.deferHide.defer(this.hideDelay,this)
}},deferHide:function(){delete this.hideTimer;
if(this.menu.over){this.parentMenu.setActiveItem(this,false)
}else{this.menu.hide()
}}});
CQ.Ext.menu.CheckItem=function(B){CQ.Ext.menu.CheckItem.superclass.constructor.call(this,B);
this.addEvents("beforecheckchange","checkchange");
if(this.checkHandler){this.on("checkchange",this.checkHandler,this.scope)
}CQ.Ext.menu.MenuMgr.registerCheckable(this)
};
CQ.Ext.extend(CQ.Ext.menu.CheckItem,CQ.Ext.menu.Item,{itemCls:"x-menu-item x-menu-check-item",groupClass:"x-menu-group-item",checked:false,ctype:"CQ.Ext.menu.CheckItem",onRender:function(B){CQ.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(){CQ.Ext.menu.MenuMgr.unregisterCheckable(this);
CQ.Ext.menu.CheckItem.superclass.destroy.apply(this,arguments)
},setChecked:function(C,B){if(this.checked!=C&&this.fireEvent("beforecheckchange",this,C)!==false){if(this.container){this.container[C?"addClass":"removeClass"]("x-menu-item-checked")
}this.checked=C;
if(B!==true){this.fireEvent("checkchange",this,C)
}}},handleClick:function(B){if(!this.disabled&&!(this.checked&&this.group)){this.setChecked(!this.checked)
}CQ.Ext.menu.CheckItem.superclass.handleClick.apply(this,arguments)
}});
CQ.Ext.menu.Adapter=function(C,B){CQ.Ext.menu.Adapter.superclass.constructor.call(this,B);
this.component=C
};
CQ.Ext.extend(CQ.Ext.menu.Adapter,CQ.Ext.menu.BaseItem,{canActivate:true,onRender:function(C,B){this.component.render(C);
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();
CQ.Ext.menu.Adapter.superclass.disable.call(this)
},enable:function(){this.component.enable();
CQ.Ext.menu.Adapter.superclass.enable.call(this)
}});
CQ.Ext.menu.DateItem=function(B){CQ.Ext.menu.DateItem.superclass.constructor.call(this,new CQ.Ext.DatePicker(B),B);
this.picker=this.component;
this.addEvents("select");
this.picker.on("render",function(C){C.getEl().swallowEvent("click");
C.container.addClass("x-menu-date-item")
});
this.picker.on("select",this.onSelect,this)
};
CQ.Ext.extend(CQ.Ext.menu.DateItem,CQ.Ext.menu.Adapter,{onSelect:function(C,B){this.fireEvent("select",this,B,C);
CQ.Ext.menu.DateItem.superclass.handleClick.call(this)
}});
CQ.Ext.menu.ColorItem=function(B){CQ.Ext.menu.ColorItem.superclass.constructor.call(this,new CQ.Ext.ColorPalette(B),B);
this.palette=this.component;
this.relayEvents(this.palette,["select"]);
if(this.selectHandler){this.on("select",this.selectHandler,this.scope)
}};
CQ.Ext.extend(CQ.Ext.menu.ColorItem,CQ.Ext.menu.Adapter);
CQ.Ext.menu.DateMenu=function(B){CQ.Ext.menu.DateMenu.superclass.constructor.call(this,B);
this.plain=true;
var C=new CQ.Ext.menu.DateItem(B);
this.add(C);
this.picker=C.picker;
this.relayEvents(C,["select"]);
this.on("beforeshow",function(){if(this.picker){this.picker.hideMonthPicker(true)
}},this)
};
CQ.Ext.extend(CQ.Ext.menu.DateMenu,CQ.Ext.menu.Menu,{cls:"x-date-menu",beforeDestroy:function(){this.picker.destroy()
}});
CQ.Ext.menu.ColorMenu=function(B){CQ.Ext.menu.ColorMenu.superclass.constructor.call(this,B);
this.plain=true;
var C=new CQ.Ext.menu.ColorItem(B);
this.add(C);
this.palette=C.palette;
this.relayEvents(C,["select"])
};
CQ.Ext.extend(CQ.Ext.menu.ColorMenu,CQ.Ext.menu.Menu);
CQ.Ext.form.Field=CQ.Ext.extend(CQ.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(){CQ.Ext.form.Field.superclass.initComponent.call(this);
this.addEvents("focus","blur","specialkey","change","invalid","valid")
},getName:function(){return this.rendered&&this.el.dom.name?this.el.dom.name:(this.hiddenName||"")
},onRender:function(D,B){CQ.Ext.form.Field.superclass.onRender.call(this,D,B);
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=D.createChild(C,B)
}var E=this.el.dom.type;
if(E){if(E=="password"){E="text"
}this.el.addClass("x-form-"+E)
}if(this.readOnly){this.el.dom.readOnly=true
}if(this.tabIndex!==undefined){this.el.dom.setAttribute("tabIndex",this.tabIndex)
}this.el.addClass([this.fieldClass,this.cls])
},initValue:function(){if(this.value!==undefined){this.setValue(this.value)
}else{if(this.el.dom.value.length>0&&this.el.dom.value!=this.emptyText){this.setValue(this.el.dom.value)
}}this.originalValue=this.getValue()
},isDirty:function(){if(this.disabled){return false
}return String(this.getValue())!==String(this.originalValue)
},afterRender:function(){CQ.Ext.form.Field.superclass.afterRender.call(this);
this.initEvents();
this.initValue()
},fireKey:function(B){if(B.isSpecialKey()){this.fireEvent("specialkey",this,B)
}},reset:function(){this.setValue(this.originalValue);
this.clearInvalid()
},initEvents:function(){this.el.on(CQ.Ext.isIE||CQ.Ext.isSafari3?"keydown":"keypress",this.fireKey,this);
this.el.on("focus",this.onFocus,this);
var B=this.inEditor&&CQ.Ext.isWindows&&CQ.Ext.isGecko?{buffer:10}:null;
this.el.on("blur",this.onBlur,this,B);
this.originalValue=this.getValue()
},onFocus:function(){if(!CQ.Ext.isOpera&&this.focusClass){this.el.addClass(this.focusClass)
}if(!this.hasFocus){this.hasFocus=true;
this.startValue=this.getValue();
this.fireEvent("focus",this)
}},beforeBlur:CQ.Ext.emptyFn,onBlur:function(){this.beforeBlur();
if(!CQ.Ext.isOpera&&this.focusClass){this.el.removeClass(this.focusClass)
}this.hasFocus=false;
if(this.validationEvent!==false&&this.validateOnBlur&&this.validationEvent!="blur"){this.validate()
}var B=this.getValue();
if(String(B)!==String(this.startValue)){this.fireEvent("change",this,B,this.startValue)
}this.fireEvent("blur",this)
},isValid:function(B){if(this.disabled){return true
}var D=this.preventMark;
this.preventMark=B===true;
var C=this.validateValue(this.processValue(this.getRawValue()));
this.preventMark=D;
return C
},validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();
return true
}return false
},processValue:function(B){return B
},validateValue:function(B){return true
},markInvalid:function(D){if(!this.rendered||this.preventMark){return 
}this.el.addClass(this.invalidClass);
D=D||this.invalidText;
switch(this.msgTarget){case"qtip":this.el.dom.qtip=D;
this.el.dom.qclass="x-form-invalid-tip";
if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}break;
case"title":this.el.dom.title=D;
break;
case"under":if(!this.errorEl){var C=this.getErrorCt();
if(!C){this.el.dom.title=D;
break
}this.errorEl=C.createChild({cls:"x-form-invalid-msg"});
this.errorEl.setWidth(C.getWidth(true)-20)
}this.errorEl.update(D);
CQ.Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this);
break;
case"side":if(!this.errorIcon){var C=this.getErrorCt();
if(!C){this.el.dom.title=D;
break
}this.errorIcon=C.createChild({cls:"x-form-invalid-icon"})
}this.alignErrorIcon();
this.errorIcon.dom.qtip=D;
this.errorIcon.dom.qclass="x-form-invalid-tip";
this.errorIcon.show();
this.on("resize",this.alignErrorIcon,this);
break;
default:var B=CQ.Ext.getDom(this.msgTarget);
B.innerHTML=D;
B.style.display=this.msgDisplay;
break
}this.fireEvent("invalid",this,D)
},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){CQ.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 B=CQ.Ext.getDom(this.msgTarget);
B.innerHTML="";
B.style.display="none";
break
}this.fireEvent("valid",this)
},getRawValue:function(){var B=this.rendered?this.el.getValue():CQ.Ext.value(this.value,"");
if(B===this.emptyText){B=""
}return B
},getValue:function(){if(!this.rendered){return this.value
}var B=this.el.getValue();
if(B===this.emptyText||B===undefined){B=""
}return B
},setRawValue:function(B){return this.el.dom.value=(B===null||B===undefined?"":B)
},setValue:function(B){this.value=B;
if(this.rendered){this.el.dom.value=(B===null||B===undefined?"":B);
this.validate()
}},adjustSize:function(B,D){var C=CQ.Ext.form.Field.superclass.adjustSize.call(this,B,D);
C.width=this.adjustWidth(this.el.dom.tagName,C.width);
return C
},adjustWidth:function(B,C){B=B.toLowerCase();
if(typeof C=="number"&&!CQ.Ext.isSafari){if(CQ.Ext.isIE&&(B=="input"||B=="textarea")){if(B=="input"&&!CQ.Ext.isStrict){return this.inEditor?C:C-3
}if(B=="input"&&CQ.Ext.isStrict){return C-(CQ.Ext.isIE6?4:1)
}if(B=="textarea"&&CQ.Ext.isStrict){return C-2
}}else{if(CQ.Ext.isOpera&&CQ.Ext.isStrict){if(B=="input"){return C+2
}if(B=="textarea"){return C-2
}}}}return C
}});
CQ.Ext.form.MessageTargets={qtip:{mark:function(B){this.el.dom.qtip=msg;
this.el.dom.qclass="x-form-invalid-tip";
if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}},clear:function(B){this.el.dom.qtip=""
}},title:{mark:function(B){this.el.dom.title=msg
},clear:function(B){this.el.dom.title=""
}},under:{mark:function(C){if(!this.errorEl){var B=this.getErrorCt();
if(!B){this.el.dom.title=msg;
return 
}this.errorEl=B.createChild({cls:"x-form-invalid-msg"});
this.errorEl.setWidth(B.getWidth(true)-20)
}this.errorEl.update(msg);
CQ.Ext.form.Field.msgFx[this.msgFx].show(this.errorEl,this)
},clear:function(B){if(this.errorEl){CQ.Ext.form.Field.msgFx[this.msgFx].hide(this.errorEl,this)
}else{this.el.dom.title=""
}}},side:{mark:function(C){if(!this.errorIcon){var B=this.getErrorCt();
if(!B){this.el.dom.title=msg;
return 
}this.errorIcon=B.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(B){if(this.errorIcon){this.errorIcon.dom.qtip="";
this.errorIcon.hide();
this.un("resize",this.alignErrorIcon,this)
}else{this.el.dom.title=""
}}},around:{mark:function(B){},clear:function(B){}}};
CQ.Ext.form.Field.msgFx={normal:{show:function(B,C){B.setDisplayed("block")
},hide:function(B,C){B.setDisplayed(false).update("")
}},slide:{show:function(B,C){B.slideIn("t",{stopFx:true})
},hide:function(B,C){B.slideOut("t",{stopFx:true,useDisplay:true})
}},slideRight:{show:function(B,C){B.fixDisplay();
B.alignTo(C.el,"tl-tr");
B.slideIn("l",{stopFx:true})
},hide:function(B,C){B.slideOut("l",{stopFx:true,useDisplay:true})
}}};
CQ.Ext.reg("field",CQ.Ext.form.Field);
CQ.Ext.form.TextField=CQ.Ext.extend(CQ.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(){CQ.Ext.form.TextField.superclass.initComponent.call(this);
this.addEvents("autosize","keydown","keyup","keypress")
},initEvents:function(){CQ.Ext.form.TextField.superclass.initEvents.call(this);
if(this.validationEvent=="keyup"){this.validationTask=new CQ.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(B){B.preventDefault()
},this,{single:true})
}},this);
if(this.emptyText){this.on("blur",this.postBlur,this);
this.applyEmptyText()
}}if(this.maskRe||(this.vtype&&this.disableKeyFilter!==true&&(this.maskRe=CQ.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(B){if(this.stripCharsRe){var C=B.replace(this.stripCharsRe,"");
if(C!==B){this.setRawValue(C);
return C
}}return B
},filterValidation:function(B){if(!B.isNavKeyPress()){this.validationTask.delay(this.validationDelay)
}},onKeyUpBuffered:function(B){if(!B.isNavKeyPress()){this.autoSize()
}},onKeyUp:function(B){this.fireEvent("keyup",this,B)
},onKeyDown:function(B){this.fireEvent("keydown",this,B)
},onKeyPress:function(B){this.fireEvent("keypress",this,B)
},reset:function(){CQ.Ext.form.TextField.superclass.reset.call(this);
this.applyEmptyText()
},applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1){this.setRawValue(this.emptyText);
this.el.addClass(this.emptyClass)
}},preFocus:function(){if(this.emptyText){if(this.el.dom.value==this.emptyText){this.setRawValue("")
}this.el.removeClass(this.emptyClass)
}if(this.selectOnFocus){this.el.dom.select()
}},postBlur:function(){this.applyEmptyText()
},filterKeys:function(C){if(C.ctrlKey){return 
}var B=C.getKey();
if(CQ.Ext.isGecko&&(C.isNavKeyPress()||B==C.BACKSPACE||(B==C.DELETE&&C.button==-1))){return 
}var E=C.getCharCode(),D=String.fromCharCode(E);
if(!CQ.Ext.isGecko&&C.isSpecialKey()&&!D){return 
}if(!this.maskRe.test(D)){C.stopEvent()
}},setValue:function(B){if(this.emptyText&&this.el&&B!==undefined&&B!==null&&B!==""){this.el.removeClass(this.emptyClass)
}CQ.Ext.form.TextField.superclass.setValue.apply(this,arguments);
this.applyEmptyText();
this.autoSize()
},validateValue:function(B){if(B.length<1||B===this.emptyText){if(this.allowBlank){this.clearInvalid();
return true
}else{this.markInvalid(this.blankText);
return false
}}if(B.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));
return false
}if(B.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));
return false
}if(this.vtype){var D=CQ.Ext.form.VTypes;
if(!D[this.vtype](B,this)){this.markInvalid(this.vtypeText||D[this.vtype+"Text"]);
return false
}}if(typeof this.validator=="function"){var C=this.validator(B);
if(C!==true){this.markInvalid(C);
return false
}}if(this.regex&&!this.regex.test(B)){this.markInvalid(this.regexText);
return false
}return true
},selectText:function(F,B){var D=this.getRawValue();
if(D.length>0){F=F===undefined?0:F;
B=B===undefined?D.length:B;
var E=this.el.dom;
if(E.setSelectionRange){E.setSelectionRange(F,B)
}else{if(E.createTextRange){var C=E.createTextRange();
C.moveStart("character",F);
C.moveEnd("character",B-D.length);
C.select()
}}}},autoSize:function(){if(!this.grow||!this.rendered){return 
}if(!this.metrics){this.metrics=CQ.Ext.util.TextMetrics.createInstance(this.el)
}var D=this.el;
var C=D.dom.value;
var E=document.createElement("div");
E.appendChild(document.createTextNode(C));
C=E.innerHTML;
E=null;
C+="&#160;";
var B=Math.min(this.growMax,Math.max(this.metrics.getWidth(C)+10,this.growMin));
this.el.setWidth(B);
this.fireEvent("autosize",this,B)
}});
CQ.Ext.reg("textfield",CQ.Ext.form.TextField);
CQ.Ext.form.TriggerField=CQ.Ext.extend(CQ.Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"text",size:"16",autocomplete:"off"},hideTrigger:false,autoSize:CQ.Ext.emptyFn,monitorTab:true,deferHeight:true,mimicing:false,onResize:function(B,C){CQ.Ext.form.TriggerField.superclass.onResize.call(this,B,C);
if(typeof B=="number"){this.el.setWidth(this.adjustWidth("input",B-this.trigger.getWidth()))
}this.wrap.setWidth(this.el.getWidth()+this.trigger.getWidth())
},adjustSize:CQ.Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap
},getPositionEl:function(){return this.wrap
},alignErrorIcon:function(){if(this.wrap){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])
}},onRender:function(C,B){CQ.Ext.form.TriggerField.superclass.onRender.call(this,C,B);
this.wrap=this.el.wrap({cls:"x-form-field-wrap"});
this.trigger=this.wrap.createChild(this.triggerConfig||{tag:"img",src:CQ.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(){CQ.Ext.form.TriggerField.superclass.afterRender.call(this);
var B;
if(CQ.Ext.isIE&&this.el.getY()!=(B=this.trigger.getY())){this.el.position();
this.el.setY(B)
}},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()
}CQ.Ext.form.TriggerField.superclass.onDestroy.call(this)
},onFocus:function(){CQ.Ext.form.TriggerField.superclass.onFocus.call(this);
if(!this.mimicing){this.wrap.addClass("x-trigger-wrap-focus");
this.mimicing=true;
CQ.Ext.get(CQ.Ext.isIE?document.body:document).on("mousedown",this.mimicBlur,this,{delay:10});
if(this.monitorTab){this.el.on("keydown",this.checkTab,this)
}}},checkTab:function(B){if(B.getKey()==B.TAB){this.triggerBlur()
}},onBlur:function(){},mimicBlur:function(B){if(!this.wrap.contains(B.target)&&this.validateBlur(B)){this.triggerBlur()
}},triggerBlur:function(){this.mimicing=false;
CQ.Ext.get(CQ.Ext.isIE?document.body:document).un("mousedown",this.mimicBlur,this);
if(this.monitorTab){this.el.un("keydown",this.checkTab,this)
}this.beforeBlur();
this.wrap.removeClass("x-trigger-wrap-focus");
CQ.Ext.form.TriggerField.superclass.onBlur.call(this)
},beforeBlur:CQ.Ext.emptyFn,validateBlur:function(B){return true
},onDisable:function(){CQ.Ext.form.TriggerField.superclass.onDisable.call(this);
if(this.wrap){this.wrap.addClass(this.disabledClass);
this.el.removeClass(this.disabledClass)
}},onEnable:function(){CQ.Ext.form.TriggerField.superclass.onEnable.call(this);
if(this.wrap){this.wrap.removeClass(this.disabledClass)
}},onShow:function(){if(this.wrap){this.wrap.dom.style.display="";
this.wrap.dom.style.visibility="visible"
}},onHide:function(){this.wrap.dom.style.display="none"
},onTriggerClick:CQ.Ext.emptyFn});
CQ.Ext.form.TwinTriggerField=CQ.Ext.extend(CQ.Ext.form.TriggerField,{initComponent:function(){CQ.Ext.form.TwinTriggerField.superclass.initComponent.call(this);
this.triggerConfig={tag:"span",cls:"x-form-twin-triggers",cn:[{tag:"img",src:CQ.Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger1Class},{tag:"img",src:CQ.Ext.BLANK_IMAGE_URL,cls:"x-form-trigger "+this.trigger2Class}]}
},getTrigger:function(B){return this.triggers[B]
},initTrigger:function(){var B=this.trigger.select(".x-form-trigger",true);
this.wrap.setStyle("overflow","hidden");
var C=this;
B.each(function(E,G,D){E.hide=function(){var H=C.wrap.getWidth();
this.dom.style.display="none";
C.el.setWidth(H-C.trigger.getWidth())
};
E.show=function(){var H=C.wrap.getWidth();
this.dom.style.display="";
C.el.setWidth(H-C.trigger.getWidth())
};
var F="Trigger"+(D+1);
if(this["hide"+F]){E.dom.style.display="none"
}E.on("click",this["on"+F+"Click"],this,{preventDefault:true});
E.addClassOnOver("x-form-trigger-over");
E.addClassOnClick("x-form-trigger-click")
},this);
this.triggers=B.elements
},onTrigger1Click:CQ.Ext.emptyFn,onTrigger2Click:CQ.Ext.emptyFn});
CQ.Ext.reg("trigger",CQ.Ext.form.TriggerField);
CQ.Ext.form.TextArea=CQ.Ext.extend(CQ.Ext.form.TextField,{growMin:60,growMax:1000,growAppend:"&#160;\n&#160;",growPad:0,enterIsSpecial:false,preventScrollbars:false,onRender:function(C,B){if(!this.el){this.defaultAutoCreate={tag:"textarea",style:"width:100px;height:60px;",autocomplete:"off"}
}CQ.Ext.form.TextArea.superclass.onRender.call(this,C,B);
if(this.grow){this.textSizeEl=CQ.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){CQ.Ext.removeNode(this.textSizeEl)
}CQ.Ext.form.TextArea.superclass.onDestroy.call(this)
},fireKey:function(B){if(B.isSpecialKey()&&(this.enterIsSpecial||(B.getKey()!=B.ENTER||B.hasModifier()))){this.fireEvent("specialkey",this,B)
}},onKeyUp:function(B){if(!B.isNavKeyPress()||B.getKey()==B.ENTER){this.autoSize()
}CQ.Ext.form.TextArea.superclass.onKeyUp.call(this,B)
},autoSize:function(){if(!this.grow||!this.textSizeEl){return 
}var D=this.el;
var B=D.dom.value;
var E=this.textSizeEl;
E.innerHTML="";
E.appendChild(document.createTextNode(B));
B=E.innerHTML;
CQ.Ext.fly(E).setWidth(this.el.getWidth());
if(B.length<1){B="&#160;&#160;"
}else{if(CQ.Ext.isIE){B=B.replace(/\n/g,"<p>&#160;</p>")
}B+=this.growAppend
}E.innerHTML=B;
var C=Math.min(this.growMax,Math.max(E.offsetHeight,this.growMin)+this.growPad);
if(C!=this.lastHeight){this.lastHeight=C;
this.el.setHeight(C);
this.fireEvent("autosize",this,C)
}}});
CQ.Ext.reg("textarea",CQ.Ext.form.TextArea);
CQ.Ext.form.NumberField=CQ.Ext.extend(CQ.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(){CQ.Ext.form.NumberField.superclass.initEvents.call(this);
var C=this.baseChars+"";
if(this.allowDecimals){C+=this.decimalSeparator
}if(this.allowNegative){C+="-"
}this.stripCharsRe=new RegExp("[^"+C+"]","gi");
var B=function(E){var D=E.getKey();
if(!CQ.Ext.isIE&&(E.isSpecialKey()||D==E.BACKSPACE||D==E.DELETE)){return 
}var F=E.getCharCode();
if(C.indexOf(String.fromCharCode(F))===-1){E.stopEvent()
}};
this.el.on("keypress",B,this)
},validateValue:function(C){if(!CQ.Ext.form.NumberField.superclass.validateValue.call(this,C)){return false
}if(C.length<1){return true
}C=String(C).replace(this.decimalSeparator,".");
if(isNaN(C)){this.markInvalid(String.format(this.nanText,C));
return false
}var B=this.parseValue(C);
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(CQ.Ext.form.NumberField.superclass.getValue.call(this)))
},setValue:function(B){B=typeof B=="number"?B:parseFloat(String(B).replace(this.decimalSeparator,"."));
B=isNaN(B)?"":String(B).replace(".",this.decimalSeparator);
CQ.Ext.form.NumberField.superclass.setValue.call(this,B)
},parseValue:function(B){B=parseFloat(String(B).replace(this.decimalSeparator,"."));
return isNaN(B)?"":B
},fixPrecision:function(C){var B=isNaN(C);
if(!this.allowDecimals||this.decimalPrecision==-1||B||!C){return B?"":C
}return parseFloat(parseFloat(C).toFixed(this.decimalPrecision))
},beforeBlur:function(){var B=this.parseValue(this.getRawValue());
if(B){this.setValue(this.fixPrecision(B))
}}});
CQ.Ext.reg("numberfield",CQ.Ext.form.NumberField);
CQ.Ext.form.DateField=CQ.Ext.extend(CQ.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(){CQ.Ext.form.DateField.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)
}this.ddMatch=null;
this.initDisabledDays()
},initDisabledDays:function(){if(this.disabledDates){var B=this.disabledDates;
var D="(?:";
for(var C=0;
C<B.length;
C++){D+=B[C];
if(C!=B.length-1){D+="|"
}}this.disabledDatesRE=new RegExp(D+")")
}},setDisabledDates:function(B){this.disabledDates=B;
this.initDisabledDays();
if(this.menu){this.menu.picker.setDisabledDates(this.disabledDatesRE)
}},setDisabledDays:function(B){this.disabledDays=B;
if(this.menu){this.menu.picker.setDisabledDays(B)
}},setMinValue:function(B){this.minValue=(typeof B=="string"?this.parseDate(B):B);
if(this.menu){this.menu.picker.setMinDate(this.minValue)
}},setMaxValue:function(B){this.maxValue=(typeof B=="string"?this.parseDate(B):B);
if(this.menu){this.menu.picker.setMaxDate(this.maxValue)
}},validateValue:function(F){F=this.formatDate(F);
if(!CQ.Ext.form.DateField.superclass.validateValue.call(this,F)){return false
}if(F.length<1){return true
}var D=F;
F=this.parseDate(F);
if(!F){this.markInvalid(String.format(this.invalidText,D,this.format));
return false
}var G=F.getTime();
if(this.minValue&&G<this.minValue.getTime()){this.markInvalid(String.format(this.minText,this.formatDate(this.minValue)));
return false
}if(this.maxValue&&G>this.maxValue.getTime()){this.markInvalid(String.format(this.maxText,this.formatDate(this.maxValue)));
return false
}if(this.disabledDays){var B=F.getDay();
for(var C=0;
C<this.disabledDays.length;
C++){if(B===this.disabledDays[C]){this.markInvalid(this.disabledDaysText);
return false
}}}var E=this.formatDate(F);
if(this.ddMatch&&this.ddMatch.test(E)){this.markInvalid(String.format(this.disabledDatesText,E));
return false
}return true
},validateBlur:function(){return !this.menu||!this.menu.isVisible()
},getValue:function(){return this.parseDate(CQ.Ext.form.DateField.superclass.getValue.call(this))||""
},setValue:function(B){CQ.Ext.form.DateField.superclass.setValue.call(this,this.formatDate(this.parseDate(B)))
},parseDate:function(E){if(!E||CQ.Ext.isDate(E)){return E
}var C=Date.parseDate(E,this.format);
if(!C&&this.altFormats){if(!this.altFormatsArray){this.altFormatsArray=this.altFormats.split("|")
}for(var D=0,B=this.altFormatsArray.length;
D<B&&!C;
D++){C=Date.parseDate(E,this.altFormatsArray[D])
}}return C
},onDestroy:function(){if(this.menu){this.menu.destroy()
}if(this.wrap){this.wrap.remove()
}CQ.Ext.form.DateField.superclass.onDestroy.call(this)
},formatDate:function(B){return CQ.Ext.isDate(B)?B.dateFormat(this.format):B
},menuListeners:{select:function(B,C){this.setValue(C)
},show:function(){this.onFocus()
},hide:function(){this.focus.defer(10,this);
var B=this.menuListeners;
this.menu.un("select",B.select,this);
this.menu.un("show",B.show,this);
this.menu.un("hide",B.hide,this)
}},onTriggerClick:function(){if(this.disabled){return 
}if(this.menu==null){this.menu=new CQ.Ext.menu.DateMenu()
}CQ.Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.ddMatch,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(CQ.Ext.apply({},this.menuListeners,{scope:this}));
this.menu.picker.setValue(this.getValue()||new Date());
this.menu.show(this.el,"tl-bl?")
},beforeBlur:function(){var B=this.parseDate(this.getRawValue());
if(B){this.setValue(B)
}}});
CQ.Ext.reg("datefield",CQ.Ext.form.DateField);
CQ.Ext.form.ComboBox=CQ.Ext.extend(CQ.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(){CQ.Ext.form.ComboBox.superclass.initComponent.call(this);
this.addEvents("expand","collapse","beforeselect","select","beforequery");
if(this.transform){this.allowDomMove=false;
var D=CQ.Ext.getDom(this.transform);
if(!this.hiddenName){this.hiddenName=D.name
}if(!this.store){this.mode="local";
var H=[],E=D.options;
for(var C=0,B=E.length;
C<B;
C++){var G=E[C];
var F=(CQ.Ext.isIE?G.getAttributeNode("value").specified:G.hasAttribute("value"))?G.value:G.text;
if(G.selected){this.value=F
}H.push([F,G.text])
}this.store=new CQ.Ext.data.SimpleStore({id:0,fields:["value","text"],data:H});
this.valueField="value";
this.displayField="text"
}D.name=CQ.Ext.id();
if(!this.lazyRender){this.target=true;
this.el=CQ.Ext.DomHelper.insertBefore(D,this.autoCreate||this.defaultAutoCreate);
CQ.Ext.removeNode(D);
this.render(this.el.parentNode)
}else{CQ.Ext.removeNode(D)
}}else{if(CQ.Ext.isArray(this.store)){if(CQ.Ext.isArray(this.store[0])){this.store=new CQ.Ext.data.SimpleStore({fields:["value","text"],data:this.store});
this.valueField="value"
}else{this.store=new CQ.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(C,B){CQ.Ext.form.ComboBox.superclass.onRender.call(this,C,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(CQ.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(){CQ.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 CQ.Ext.Layer({shadow:this.shadow,cls:[B,this.listClass].join(" "),constrain:false});
var C=this.listWidth||Math.max(this.wrap.getWidth(),this.minListWidth);
this.list.setWidth(C);
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(C-this.list.getFrameWidth("lr"));
if(this.pageSize){this.footer=this.list.createChild({cls:B+"-ft"});
this.pageTb=new CQ.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 CQ.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 CQ.Ext.Resizable(this.list,{pinned:true,handles:"se"});
this.resizer.on("resize",function(F,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")
}}},bindStore:function(B,C){if(this.store&&!C){this.store.un("beforeload",this.onBeforeLoad,this);
this.store.un("load",this.onLoad,this);
this.store.un("loadexception",this.collapse,this);
if(!B){this.store=null;
if(this.view){this.view.setStore(null)
}}}if(B){this.store=CQ.Ext.StoreMgr.lookup(B);
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(B)
}}},initEvents:function(){CQ.Ext.form.ComboBox.superclass.initEvents.call(this);
this.keyNav=new CQ.Ext.KeyNav(this.el,{up:function(B){this.inKeyMode=true;
this.selectPrev()
},down:function(B){if(!this.isExpanded()){this.onTriggerClick()
}else{this.inKeyMode=true;
this.selectNext()
}},enter:function(B){this.onViewClick();
this.delayedCheck=true;
this.unsetDelayCheck.defer(10,this)
},esc:function(B){this.collapse()
},tab:function(B){this.onViewClick(false);
return true
},scope:this,doRelay:function(D,C,B){if(B=="down"||this.scope.isExpanded()){return CQ.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 CQ.Ext.util.DelayedTask(this.initQuery,this);
if(this.typeAhead){this.taTask=new CQ.Ext.util.DelayedTask(this.onTypeAhead,this)
}if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this)
}if(this.forceSelection){this.on("blur",this.doForce,this)
}},onDestroy:function(){if(this.view){this.view.el.removeAllListeners();
this.view.el.remove();
this.view.purgeListeners()
}if(this.list){this.list.destroy()
}this.bindStore(null);
CQ.Ext.form.ComboBox.superclass.onDestroy.call(this)
},unsetDelayCheck:function(){delete this.delayedCheck
},fireKey:function(B){if(B.isNavKeyPress()&&!this.isExpanded()&&!this.delayedCheck){this.fireEvent("specialkey",this,B)
}},onResize:function(B,C){CQ.Ext.form.ComboBox.superclass.onResize.apply(this,arguments);
if(this.list&&this.listWidth===undefined){var D=Math.max(B,this.minListWidth);
this.list.setWidth(D);
this.innerList.setWidth(D-this.list.getFrameWidth("lr"))
}},onEnable:function(){CQ.Ext.form.ComboBox.superclass.onEnable.apply(this,arguments);
if(this.hiddenField){this.hiddenField.disabled=false
}},onDisable:function(){CQ.Ext.form.ComboBox.superclass.onDisable.apply(this,arguments);
if(this.hiddenField){this.hiddenField.disabled=true
}},setEditable:function(B){if(B==this.editable){return 
}this.editable=B;
if(!B){this.el.dom.setAttribute("readOnly",true);
this.el.on("mousedown",this.onTriggerClick,this);
this.el.addClass("x-combo-noedit")
}else{this.el.dom.setAttribute("readOnly",false);
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!=CQ.Ext.EventObject.BACKSPACE&&this.lastKey!=CQ.Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)
}}}else{this.onEmptyResults()
}},onTypeAhead:function(){if(this.store.getCount()>0){var C=this.store.getAt(0);
var D=C.data[this.displayField];
var B=D.length;
var E=this.getRawValue().length;
if(E!=B){this.setRawValue(D);
this.selectText(E,D.length)
}}},onSelect:function(B,C){if(this.fireEvent("beforeselect",this,B,C)!==false){this.setValue(B.data[this.valueField||this.displayField]);
this.collapse();
this.fireEvent("select",this,B,C)
}},getValue:function(){if(this.valueField){return typeof this.value!="undefined"?this.value:""
}else{return CQ.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 D=B;
if(this.valueField){var C=this.findRecord(this.valueField,B);
if(C){D=C.data[this.displayField]
}else{if(this.valueNotFoundText!==undefined){D=this.valueNotFoundText
}}}this.lastSelectionText=D;
if(this.hiddenField){this.hiddenField.value=B
}CQ.Ext.form.ComboBox.superclass.setValue.call(this,D);
this.value=B
},findRecord:function(D,C){var B;
if(this.store.getCount()>0){this.store.each(function(E){if(E.data[D]==C){B=E;
return false
}})
}return B
},onViewMove:function(C,B){this.inKeyMode=false
},onViewOver:function(E,C){if(this.inKeyMode){return 
}var D=this.view.findItemFromChild(C);
if(D){var B=this.view.indexOf(D);
this.select(B,false)
}},onViewClick:function(C){var B=this.view.getSelectedIndexes()[0];
var D=this.store.getAt(B);
if(D){this.onSelect(D,B)
}if(C!==false){this.el.focus()
}},restrictHeight:function(){this.innerList.dom.style.height="";
var C=this.innerList.dom;
var F=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;
var D=Math.max(C.clientHeight,C.offsetHeight,C.scrollHeight);
var B=this.getPosition()[1]-CQ.Ext.getBody().getScroll().top;
var G=CQ.Ext.lib.Dom.getViewHeight()-B-this.getSize().height;
var E=Math.max(B,G,this.minHeight||0)-this.list.shadowOffset-F-5;
D=Math.min(D,E,this.maxHeight);
this.innerList.setHeight(D);
this.list.beginUpdate();
this.list.setHeight(D+F);
this.list.alignTo(this.wrap,this.listAlign);
this.list.endUpdate()
},onEmptyResults:function(){this.collapse()
},isExpanded:function(){return this.list&&this.list.isVisible()
},selectByValue:function(B,D){if(B!==undefined&&B!==null){var C=this.findRecord(this.valueField||this.displayField,B);
if(C){this.select(this.store.indexOf(C),D);
return true
}}return false
},select:function(B,D){this.selectedIndex=B;
this.view.select(B);
if(D!==false){var C=this.view.getNode(B);
if(C){this.innerList.scrollChildIntoView(C,false)
}}},selectNext:function(){var B=this.store.getCount();
if(B>0){if(this.selectedIndex==-1){this.select(0)
}else{if(this.selectedIndex<B-1){this.select(this.selectedIndex+1)
}}}},selectPrev:function(){var B=this.store.getCount();
if(B>0){if(this.selectedIndex==-1){this.select(0)
}else{if(this.selectedIndex!=0){this.select(this.selectedIndex-1)
}}}},onKeyUp:function(B){if(this.editable!==false&&!B.isSpecialKey()){this.lastKey=B.getKey();
this.dqTask.delay(this.queryDelay)
}},validateBlur:function(){return !this.list||!this.list.isVisible()
},initQuery:function(){this.doQuery(this.getRawValue())
},doForce:function(){if(this.el.dom.value.length>0){this.el.dom.value=this.lastSelectionText===undefined?"":this.lastSelectionText;
this.applyEmptyText()
}},doQuery:function(D,C){if(D===undefined||D===null){D=""
}var B={query:D,forceAll:C,combo:this,cancel:false};
if(this.fireEvent("beforequery",B)===false||B.cancel){return false
}D=B.query;
C=B.forceAll;
if(C===true||(D.length>=this.minChars)){if(this.lastQuery!==D){this.lastQuery=D;
if(this.mode=="local"){this.selectedIndex=-1;
if(C){this.store.clearFilter()
}else{this.store.filter(this.displayField,D)
}this.onLoad()
}else{this.store.baseParams[this.queryParam]=D;
this.store.load({params:this.getParams(D)});
this.expand()
}}else{this.selectedIndex=-1;
this.onLoad()
}}},getParams:function(B){var C={};
if(this.pageSize){C.start=0;
C.limit=this.pageSize
}return C
},collapse:function(){if(!this.isExpanded()){return 
}this.list.hide();
CQ.Ext.getDoc().un("mousewheel",this.collapseIf,this);
CQ.Ext.getDoc().un("mousedown",this.collapseIf,this);
this.fireEvent("collapse",this)
},collapseIf:function(B){if(!B.within(this.wrap)&&!B.within(this.list)){this.collapse()
}},expand:function(){if(this.isExpanded()||!this.hasFocus){return 
}this.list.alignTo(this.wrap,this.listAlign);
this.list.show();
this.innerList.setOverflow("auto");
CQ.Ext.getDoc().on("mousewheel",this.collapseIf,this);
CQ.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()
}}});
CQ.Ext.reg("combo",CQ.Ext.form.ComboBox);
CQ.Ext.form.Checkbox=CQ.Ext.extend(CQ.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"},baseCls:"x-form-check",initComponent:function(){CQ.Ext.form.Checkbox.superclass.initComponent.call(this);
this.addEvents("check")
},initEvents:function(){CQ.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(C,B){CQ.Ext.form.Checkbox.superclass.onRender.call(this,C,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:CQ.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
},onDestroy:function(){if(this.rendered){CQ.Ext.destroy(this.imageEl,this.labelEl,this.innerWrap,this.wrap)
}CQ.Ext.form.Checkbox.superclass.onDestroy.call(this)
},onFocus:function(B){CQ.Ext.form.Checkbox.superclass.onFocus.call(this,B);
this.el.addClass(this.focusCls)
},onBlur:function(B){CQ.Ext.form.Checkbox.superclass.onBlur.call(this,B);
this.el.removeClass(this.focusCls)
},onResize:function(){CQ.Ext.form.Checkbox.superclass.onResize.apply(this,arguments);
if(!this.boxLabel&&!this.fieldLabel){this.el.alignTo(this.wrap,"c-c")
}},onKeyUp:function(B){if(B.getKey()==CQ.Ext.EventObject.SPACE){this.onClick(B)
}},onClick:function(B){if(!this.disabled&&!this.readOnly){this.toggleValue()
}B.stopEvent()
},onEnable:function(){CQ.Ext.form.Checkbox.superclass.onEnable.call(this);
this.initCheckEvents()
},onDisable:function(){CQ.Ext.form.Checkbox.superclass.onDisable.call(this);
this.innerWrap.removeAllListeners()
},toggleValue:function(){this.setValue(!this.checked)
},getResizeEl:function(){if(!this.resizeEl){this.resizeEl=CQ.Ext.isSafari?this.wrap:(this.wrap.up(".x-form-element",5)||this.wrap)
}return this.resizeEl
},getPositionEl:function(){return this.wrap
},getActionEl:function(){return this.wrap
},markInvalid:CQ.Ext.emptyFn,clearInvalid:CQ.Ext.emptyFn,initValue:CQ.Ext.emptyFn,getValue:function(){if(this.rendered){return this.el.dom.checked
}return false
},setValue:function(B){var C=this.checked;
this.checked=(B===true||B==="true"||B=="1"||String(B).toLowerCase()=="on");
if(this.el&&this.el.dom){this.el.dom.checked=this.checked;
this.el.dom.defaultChecked=this.checked
}this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls);
if(C!=this.checked){this.fireEvent("check",this,this.checked);
if(this.handler){this.handler.call(this.scope||this,this,this.checked)
}}}});
CQ.Ext.reg("checkbox",CQ.Ext.form.Checkbox);
CQ.Ext.form.CheckboxGroup=CQ.Ext.extend(CQ.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",onRender:function(I,G){if(!this.el){var N={cls:this.groupCls,layout:"column",border:false,renderTo:I};
var B={defaultType:this.defaultType,layout:"form",border:false,defaults:{hideLabel:true,anchor:"100%"}};
if(this.items[0].items){CQ.Ext.apply(N,{layoutConfig:{columns:this.items.length},defaults:this.defaults,items:this.items});
for(var F=0,K=this.items.length;
F<K;
F++){CQ.Ext.applyIf(this.items[F],B)
}}else{var E,L=[];
if(typeof this.columns=="string"){this.columns=this.items.length
}if(!CQ.Ext.isArray(this.columns)){var J=[];
for(var F=0;
F<this.columns;
F++){J.push((100/this.columns)*0.01)
}this.columns=J
}E=this.columns.length;
for(var F=0;
F<E;
F++){var C=CQ.Ext.apply({items:[]},B);
C[this.columns[F]<=1?"columnWidth":"width"]=this.columns[F];
if(this.defaults){C.defaults=CQ.Ext.apply(C.defaults||{},this.defaults)
}L.push(C)
}if(this.vertical){var P=Math.ceil(this.items.length/E),M=0;
for(var F=0,K=this.items.length;
F<K;
F++){if(F>0&&F%P==0){M++
}if(this.items[F].fieldLabel){this.items[F].hideLabel=false
}L[M].items.push(this.items[F])
}}else{for(var F=0,K=this.items.length;
F<K;
F++){var O=F%E;
if(this.items[F].fieldLabel){this.items[F].hideLabel=false
}L[O].items.push(this.items[F])
}}CQ.Ext.apply(N,{layoutConfig:{columns:E},items:L})
}this.panel=new CQ.Ext.Panel(N);
this.el=this.panel.getEl();
if(this.forId&&this.itemCls){var D=this.el.up(this.itemCls).child("label",true);
if(D){D.setAttribute("htmlFor",this.forId)
}}var H=this.panel.findBy(function(Q){return Q.isFormField
},this);
this.items=new CQ.Ext.util.MixedCollection();
this.items.addAll(H)
}CQ.Ext.form.CheckboxGroup.superclass.onRender.call(this,I,G)
},validateValue:function(B){if(!this.allowBlank){var C=true;
this.items.each(function(D){if(D.checked){return C=false
}},this);
if(C){this.markInvalid(this.blankText);
return false
}}return true
},onDisable:function(){this.items.each(function(B){B.disable()
})
},onEnable:function(){this.items.each(function(B){B.enable()
})
},onResize:function(B,C){this.panel.setSize(B,C);
this.panel.doLayout()
},reset:function(){CQ.Ext.form.CheckboxGroup.superclass.reset.call(this);
this.items.each(function(B){if(B.reset){B.reset()
}},this)
},initValue:CQ.Ext.emptyFn,getValue:CQ.Ext.emptyFn,getRawValue:CQ.Ext.emptyFn,setValue:CQ.Ext.emptyFn,setRawValue:CQ.Ext.emptyFn});
CQ.Ext.reg("checkboxgroup",CQ.Ext.form.CheckboxGroup);
CQ.Ext.form.Radio=CQ.Ext.extend(CQ.Ext.form.Checkbox,{inputType:"radio",baseCls:"x-form-radio",getGroupValue:function(){var B=this.getParent().child("input[name="+this.el.dom.name+"]:checked",true);
return B?B.value:null
},getParent:function(){return this.el.up("form")||CQ.Ext.getBody()
},toggleValue:function(){if(!this.checked){var B=this.getParent().select("input[name="+this.el.dom.name+"]");
B.each(function(C){if(C.dom.id==this.id){this.setValue(true)
}else{CQ.Ext.getCmp(C.dom.id).setValue(false)
}},this)
}},setValue:function(B){if(typeof B=="boolean"){CQ.Ext.form.Radio.superclass.setValue.call(this,B)
}else{var C=this.getParent().child("input[name="+this.el.dom.name+"][value="+B+"]",true);
if(C&&!C.checked){CQ.Ext.getCmp(C.id).toggleValue()
}}},markInvalid:CQ.Ext.emptyFn,clearInvalid:CQ.Ext.emptyFn});
CQ.Ext.reg("radio",CQ.Ext.form.Radio);
CQ.Ext.form.RadioGroup=CQ.Ext.extend(CQ.Ext.form.CheckboxGroup,{allowBlank:true,blankText:"You must select one item in this group",defaultType:"radio",groupCls:"x-form-radio-group"});
CQ.Ext.reg("radiogroup",CQ.Ext.form.RadioGroup);
CQ.Ext.form.Hidden=CQ.Ext.extend(CQ.Ext.form.Field,{inputType:"hidden",onRender:function(){CQ.Ext.form.Hidden.superclass.onRender.apply(this,arguments)
},initEvents:function(){this.originalValue=this.getValue()
},setSize:CQ.Ext.emptyFn,setWidth:CQ.Ext.emptyFn,setHeight:CQ.Ext.emptyFn,setPosition:CQ.Ext.emptyFn,setPagePosition:CQ.Ext.emptyFn,markInvalid:CQ.Ext.emptyFn,clearInvalid:CQ.Ext.emptyFn});
CQ.Ext.reg("hidden",CQ.Ext.form.Hidden);
CQ.Ext.form.BasicForm=function(C,B){CQ.Ext.apply(this,B);
this.items=new CQ.Ext.util.MixedCollection(false,function(D){return D.id||(D.id=CQ.Ext.id())
});
this.addEvents("beforeaction","actionfailed","actioncomplete");
if(C){this.initEl(C)
}CQ.Ext.form.BasicForm.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.form.BasicForm,CQ.Ext.util.Observable,{timeout:30,activeAction:null,trackResetOnLoad:false,initEl:function(B){this.el=CQ.Ext.get(B);
this.id=this.el.id||CQ.Ext.id();
if(!this.standardSubmit){this.el.on("submit",this.onSubmit,this)
}this.el.addClass("x-form")
},getEl:function(){return this.el
},onSubmit:function(B){B.stopEvent()
},destroy:function(){this.items.each(function(B){CQ.Ext.destroy(B)
});
if(this.el){this.el.removeAllListeners();
this.el.remove()
}this.purgeListeners()
},isValid:function(){var B=true;
this.items.each(function(C){if(!C.validate()){B=false
}});
return B
},isDirty:function(){var B=false;
this.items.each(function(C){if(C.isDirty()){B=true;
return false
}});
return B
},doAction:function(C,B){if(typeof C=="string"){C=new CQ.Ext.form.Action.ACTION_TYPES[C](this,B)
}if(this.fireEvent("beforeaction",this,C)!==false){this.beforeAction(C);
C.run.defer(100,C)
}return this
},submit:function(C){if(this.standardSubmit){var B=this.isValid();
if(B){this.el.dom.submit()
}return B
}this.doAction("submit",C);
return this
},load:function(B){this.doAction("load",B);
return this
},updateRecord:function(C){C.beginEdit();
var B=C.fields;
B.each(function(D){var E=this.findField(D.name);
if(E){C.set(D.name,E.getValue())
}},this);
C.endEdit();
return this
},loadRecord:function(B){this.setValues(B.data);
return this
},beforeAction:function(B){var C=B.options;
if(C.waitMsg){if(this.waitMsgTarget===true){this.el.mask(C.waitMsg,"x-mask-loading")
}else{if(this.waitMsgTarget){this.waitMsgTarget=CQ.Ext.get(this.waitMsgTarget);
this.waitMsgTarget.mask(C.waitMsg,"x-mask-loading")
}else{CQ.Ext.MessageBox.wait(C.waitMsg,C.waitTitle||this.waitTitle||"Please Wait...")
}}}},afterAction:function(B,D){this.activeAction=null;
var C=B.options;
if(C.waitMsg){if(this.waitMsgTarget===true){this.el.unmask()
}else{if(this.waitMsgTarget){this.waitMsgTarget.unmask()
}else{CQ.Ext.MessageBox.updateProgress(1);
CQ.Ext.MessageBox.hide()
}}}if(D){if(C.reset){this.reset()
}CQ.Ext.callback(C.success,C.scope,[this,B]);
this.fireEvent("actioncomplete",this,B)
}else{CQ.Ext.callback(C.failure,C.scope,[this,B]);
this.fireEvent("actionfailed",this,B)
}},findField:function(C){var B=this.items.get(C);
if(!B){this.items.each(function(D){if(D.isFormField&&(D.dataIndex==C||D.id==C||D.getName()==C)){B=D;
return false
}})
}return B||null
},markInvalid:function(H){if(CQ.Ext.isArray(H)){for(var D=0,B=H.length;
D<B;
D++){var C=H[D];
var E=this.findField(C.id);
if(E){E.markInvalid(C.msg)
}}}else{var F,G;
for(G in H){if(typeof H[G]!="function"&&(F=this.findField(G))){F.markInvalid(H[G])
}}}return this
},setValues:function(D){if(CQ.Ext.isArray(D)){for(var E=0,B=D.length;
E<B;
E++){var C=D[E];
var F=this.findField(C.id);
if(F){F.setValue(C.value);
if(this.trackResetOnLoad){F.originalValue=F.getValue()
}}}}else{var G,H;
for(H in D){if(typeof D[H]!="function"&&(G=this.findField(H))){G.setValue(D[H]);
if(this.trackResetOnLoad){G.originalValue=G.getValue()
}}}}return this
},getValues:function(C){var B=CQ.Ext.lib.Ajax.serializeForm(this.el.dom);
if(C===true){return B
}return CQ.Ext.urlDecode(B)
},clearInvalid:function(){this.items.each(function(B){B.clearInvalid()
});
return this
},reset:function(){this.items.each(function(B){B.reset()
});
return this
},add:function(){this.items.addAll(Array.prototype.slice.call(arguments,0));
return this
},remove:function(B){this.items.remove(B);
return this
},render:function(){this.items.each(function(B){if(B.isFormField&&!B.rendered&&document.getElementById(B.id)){B.applyToMarkup(B.id)
}});
return this
},applyToFields:function(B){this.items.each(function(C){CQ.Ext.apply(C,B)
});
return this
},applyIfToFields:function(B){this.items.each(function(C){CQ.Ext.applyIf(C,B)
});
return this
}});
CQ.Ext.BasicForm=CQ.Ext.form.BasicForm;
CQ.Ext.FormPanel=CQ.Ext.extend(CQ.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||CQ.Ext.id()};
if(this.fileUpload){this.bodyCfg.enctype="multipart/form-data"
}CQ.Ext.FormPanel.superclass.initComponent.call(this);
this.addEvents("clientvalidation");
this.relayEvents(this.form,["beforeaction","actionfailed","actioncomplete"])
},createForm:function(){delete this.initialConfig.listeners;
return new CQ.Ext.form.BasicForm(null,this.initialConfig)
},initFields:function(){var D=this.form;
var B=this;
var C=function(E){if(E.isFormField){D.add(E)
}else{if(E.doLayout&&E!=B){CQ.Ext.applyIf(E,{labelAlign:E.ownerCt.labelAlign,labelWidth:E.ownerCt.labelWidth,itemCls:E.ownerCt.itemCls});
if(E.items){E.items.each(C)
}}}};
this.items.each(C)
},getLayoutTarget:function(){return this.form.el
},getForm:function(){return this.form
},onRender:function(C,B){this.initFields();
CQ.Ext.FormPanel.superclass.onRender.call(this,C,B);
this.form.initEl(this.body)
},beforeDestroy:function(){CQ.Ext.FormPanel.superclass.beforeDestroy.call(this);
this.stopMonitoring();
CQ.Ext.destroy(this.form)
},initEvents:function(){CQ.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,C){if(C.isFormField){this.form.add(C)
}},onRemove:function(B){if(B.isFormField){CQ.Ext.destroy(B.container.up(".x-form-item"));
this.form.remove(B)
}},startMonitoring:function(){if(!this.bound){this.bound=true;
CQ.Ext.TaskMgr.start({run:this.bindHandler,interval:this.monitorPoll||200,scope:this})
}},stopMonitoring:function(){this.bound=false
},load:function(){this.form.load.apply(this.form,arguments)
},onDisable:function(){CQ.Ext.FormPanel.superclass.onDisable.call(this);
if(this.form){this.form.items.each(function(){this.disable()
})
}},onEnable:function(){CQ.Ext.FormPanel.superclass.onEnable.call(this);
if(this.form){this.form.items.each(function(){this.enable()
})
}},bindHandler:function(){if(!this.bound){return false
}var E=true;
this.form.items.each(function(F){if(!F.isValid(true)){E=false;
return false
}});
if(this.buttons){for(var D=0,B=this.buttons.length;
D<B;
D++){var C=this.buttons[D];
if(C.formBind===true&&C.disabled===E){C.setDisabled(!E)
}}}this.fireEvent("clientvalidation",this,E)
}});
CQ.Ext.reg("form",CQ.Ext.FormPanel);
CQ.Ext.form.FormPanel=CQ.Ext.FormPanel;
CQ.Ext.form.FieldSet=CQ.Ext.extend(CQ.Ext.Panel,{baseCls:"x-fieldset",layout:"form",onRender:function(C,B){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"
}}CQ.Ext.form.FieldSet.superclass.onRender.call(this,C,B);
if(this.checkboxToggle){var D=typeof this.checkboxToggle=="object"?this.checkboxToggle:{tag:"input",type:"checkbox",name:this.checkboxName||this.id+"-checkbox"};
this.checkbox=this.header.insertFirst(D);
this.checkbox.dom.checked=!this.collapsed;
this.checkbox.on("click",this.onCheckClick,this)
}},onCollapse:function(B,C){if(this.checkbox){this.checkbox.dom.checked=false
}this.afterCollapse()
},onExpand:function(B,C){if(this.checkbox){this.checkbox.dom.checked=true
}this.afterExpand()
},onCheckClick:function(){this[this.checkbox.dom.checked?"expand":"collapse"]()
}});
CQ.Ext.reg("fieldset",CQ.Ext.form.FieldSet);
CQ.Ext.form.HtmlEditor=CQ.Ext.extend(CQ.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",validationEvent:false,deferHeight:true,initialized:false,activated:false,sourceEditMode:false,onFocus:CQ.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 E=[],C=this.fontFamilies,D,G;
for(var F=0,B=C.length;
F<B;
F++){D=C[F];
G=D.toLowerCase();
E.push('<option value="',G,'" style="font-family:',D,';"',(this.defaultFont==G?' selected="true">':">"),D,"</option>")
}return E.join("")
},createToolbar:function(E){var B=CQ.Ext.QuickTips&&CQ.Ext.QuickTips.isEnabled();
function D(H,F,G){return{itemId:H,cls:"x-btn-icon x-edit-"+H,enableToggle:F!==false,scope:E,handler:G||E.relayBtnCmd,clickEvent:"mousedown",tooltip:B?E.buttonTips[H]||undefined:undefined,tabIndex:-1}
}var C=new CQ.Ext.Toolbar({renderTo:this.wrap.dom.firstChild});
C.el.on("click",function(F){F.preventDefault()
});
if(this.enableFont&&!CQ.Ext.isSafari2){this.fontSelect=C.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});
this.fontSelect.on("change",function(){var F=this.fontSelect.dom.value;
this.relayCmd("fontname",F);
this.deferFocus()
},this);
C.add(this.fontSelect.dom,"-")
}if(this.enableFormat){C.add(D("bold"),D("italic"),D("underline"))
}if(this.enableFontSize){C.add("-",D("increasefontsize",false,this.adjustFont),D("decreasefontsize",false,this.adjustFont))
}if(this.enableColors){C.add("-",{itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:B?E.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new CQ.Ext.menu.ColorMenu({allowReselect:true,focus:CQ.Ext.emptyFn,value:"000000",plain:true,selectHandler:function(G,F){this.execCmd("forecolor",CQ.Ext.isSafari||CQ.Ext.isIE?"#"+F:F);
this.deferFocus()
},scope:this,clickEvent:"mousedown"})},{itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:B?E.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new CQ.Ext.menu.ColorMenu({focus:CQ.Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(G,F){if(CQ.Ext.isGecko){this.execCmd("useCSS",false);
this.execCmd("hilitecolor",F);
this.execCmd("useCSS",true);
this.deferFocus()
}else{this.execCmd(CQ.Ext.isOpera?"hilitecolor":"backcolor",CQ.Ext.isSafari||CQ.Ext.isIE?"#"+F:F);
this.deferFocus()
}},scope:this,clickEvent:"mousedown"})})
}if(this.enableAlignments){C.add("-",D("justifyleft"),D("justifycenter"),D("justifyright"))
}if(!CQ.Ext.isSafari2){if(this.enableLinks){C.add("-",D("createlink",false,this.createLink))
}if(this.enableLists){C.add("-",D("insertorderedlist"),D("insertunorderedlist"))
}if(this.enableSourceEdit){C.add("-",D("sourceedit",true,function(F){this.toggleSourceEdit(F.pressed)
}))
}}this.tb=C
},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 CQ.Ext.isIE?this.getWin().document:(this.iframe.contentDocument||this.getWin().document)
},getWin:function(){return CQ.Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name]
},onRender:function(C,B){CQ.Ext.form.HtmlEditor.superclass.onRender.call(this,C,B);
this.el.dom.style.border="0 none";
this.el.dom.setAttribute("tabIndex",-1);
this.el.addClass("x-hidden");
if(CQ.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(F){if(F.itemId!="sourceedit"){F.disable()
}});
var D=document.createElement("iframe");
D.name=CQ.Ext.id();
D.frameBorder="0";
D.src=CQ.Ext.isIE?CQ.Ext.SSL_SECURE_URL:"javascript:;";
this.wrap.dom.appendChild(D);
this.iframe=D;
this.initFrame();
if(this.autoMonitorDesignMode!==false){this.monitorTask=CQ.Ext.TaskMgr.start({run:this.checkDesignMode,scope:this,interval:100})
}if(!this.width){var E=this.el.getSize();
this.setSize(E.width,this.height||E.height)
}},initFrame:function(){this.doc=this.getDoc();
this.win=this.getWin();
this.doc.open();
this.doc.write(this.getDocMarkup());
this.doc.close();
var B={run:function(){if(this.doc.body||this.doc.readyState=="complete"){CQ.Ext.TaskMgr.stop(B);
this.doc.designMode="on";
this.initEditor.defer(10,this)
}},interval:10,duration:10000,scope:this};
CQ.Ext.TaskMgr.start(B)
},checkDesignMode:function(){if(this.wrap&&this.wrap.dom.offsetWidth){var B=this.getDoc();
if(!B){return 
}if(!B.editorInitialized||String(B.designMode).toLowerCase()!="on"){this.initFrame()
}}},onResize:function(C,D){CQ.Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);
if(this.el&&this.iframe){if(typeof C=="number"){var E=C-this.wrap.getFrameWidth("lr");
this.el.setWidth(this.adjustWidth("textarea",E));
this.iframe.style.width=E+"px"
}if(typeof D=="number"){var B=D-this.wrap.getFrameWidth("tb")-this.tb.el.getHeight();
this.el.setHeight(this.adjustWidth("textarea",B));
this.iframe.style.height=B+"px";
if(this.doc){this.getEditorBody().style.height=(B-(this.iframePad*2))+"px"
}}}},toggleSourceEdit:function(B){if(B===undefined){B=!this.sourceEditMode
}this.sourceEditMode=B===true;
var D=this.tb.items.get("sourceedit");
if(D.pressed!==this.sourceEditMode){D.toggle(this.sourceEditMode);
return 
}if(this.sourceEditMode){this.tb.items.each(function(E){if(E.itemId!="sourceedit"){E.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(E){E.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 B=prompt(this.createLinkText,this.defaultLinkValue);
if(B&&B!="http://"){this.relayCmd("createlink",B)
}},adjustSize:CQ.Ext.BoxComponent.prototype.adjustSize,getResizeEl:function(){return this.wrap
},getPositionEl:function(){return this.wrap
},initEvents:function(){this.originalValue=this.getValue()
},markInvalid:CQ.Ext.emptyFn,clearInvalid:CQ.Ext.emptyFn,setValue:function(B){CQ.Ext.form.HtmlEditor.superclass.setValue.call(this,B);
this.pushValue()
},cleanHtml:function(B){B=String(B);
if(B.length>5){if(CQ.Ext.isSafari){B=B.replace(/\sclass="(?:Apple-style-span|khtml-block-placeholder)"/gi,"")
}}if(B=="&nbsp;"){B=""
}return B
},syncValue:function(){if(this.initialized){var E=this.getEditorBody();
var D=E.innerHTML;
if(CQ.Ext.isSafari){var C=E.getAttribute("style");
var B=C.match(/text-align:(.*?);/i);
if(B&&B[1]){D='<div style="'+B[0]+'">'+D+"</div>"
}}D=this.cleanHtml(D);
if(this.fireEvent("beforesync",this,D)!==false){this.el.dom.value=D;
this.fireEvent("sync",this,D)
}}},pushValue:function(){if(this.initialized){var B=this.el.dom.value;
if(!this.activated&&B.length<1){B="&nbsp;"
}if(this.fireEvent("beforepush",this,B)!==false){this.getEditorBody().innerHTML=B;
this.fireEvent("push",this,B)
}}},deferFocus:function(){this.focus.defer(10,this)
},focus:function(){if(this.win&&!this.sourceEditMode){this.win.focus()
}else{this.el.focus()
}},initEditor:function(){var C=this.getEditorBody();
var B=this.el.getStyles("font-size","font-family","background-image","background-repeat");
B["background-attachment"]="fixed";
C.bgProperties="fixed";
CQ.Ext.DomHelper.applyStyles(C,B);
if(this.doc){try{CQ.Ext.EventManager.removeAll(this.doc)
}catch(D){}}this.doc=this.getDoc();
CQ.Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});
if(CQ.Ext.isGecko){CQ.Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)
}if(CQ.Ext.isIE||CQ.Ext.isSafari||CQ.Ext.isOpera){CQ.Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)
}this.initialized=true;
this.fireEvent("initialize",this);
this.doc.editorInitialized=true;
this.pushValue()
},onDestroy:function(){if(this.monitorTask){CQ.Ext.TaskMgr.stop(this.monitorTask)
}if(this.rendered){this.tb.items.each(function(B){if(B.menu){B.menu.removeAll();
if(B.menu.el){B.menu.el.destroy()
}}B.destroy()
});
this.wrap.dom.innerHTML="";
this.wrap.remove()
}},onFirstFocus:function(){this.activated=true;
this.tb.items.each(function(E){E.enable()
});
if(CQ.Ext.isGecko){this.win.focus();
var B=this.win.getSelection();
if(!B.focusNode||B.focusNode.nodeType!=3){var C=B.getRangeAt(0);
C.selectNodeContents(this.getEditorBody());
C.collapse(true);
this.deferFocus()
}try{this.execCmd("useCSS",true);
this.execCmd("styleWithCSS",false)
}catch(D){}}this.fireEvent("activate",this)
},adjustFont:function(C){var D=C.itemId=="increasefontsize"?1:-1;
var B=parseInt(this.doc.queryCommandValue("FontSize")||2,10);
if(CQ.Ext.isSafari3||CQ.Ext.isAir){if(B<=10){B=1+D
}else{if(B<=13){B=2+D
}else{if(B<=16){B=3+D
}else{if(B<=18){B=4+D
}else{if(B<=24){B=5+D
}else{B=6+D
}}}}}B=B.constrain(1,6)
}else{if(CQ.Ext.isSafari){D*=2
}B=Math.max(1,B+D)+(CQ.Ext.isSafari?"px":0)
}this.execCmd("FontSize",B)
},onEditorEvent:function(B){this.updateToolbar()
},updateToolbar:function(){if(!this.activated){this.onFirstFocus();
return 
}var C=this.tb.items.map,D=this.doc;
if(this.enableFont&&!CQ.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(D.queryCommandState("bold"));
C.italic.toggle(D.queryCommandState("italic"));
C.underline.toggle(D.queryCommandState("underline"))
}if(this.enableAlignments){C.justifyleft.toggle(D.queryCommandState("justifyleft"));
C.justifycenter.toggle(D.queryCommandState("justifycenter"));
C.justifyright.toggle(D.queryCommandState("justifyright"))
}if(!CQ.Ext.isSafari2&&this.enableLists){C.insertorderedlist.toggle(D.queryCommandState("insertorderedlist"));
C.insertunorderedlist.toggle(D.queryCommandState("insertunorderedlist"))
}CQ.Ext.menu.MenuMgr.hideAll();
this.syncValue()
},relayBtnCmd:function(B){this.relayCmd(B.itemId)
},relayCmd:function(C,B){(function(){this.focus();
this.execCmd(C,B);
this.updateToolbar()
}).defer(10,this)
},execCmd:function(C,B){this.doc.execCommand(C,false,B===undefined?null:B);
this.syncValue()
},applyCommand:function(C){if(C.ctrlKey){var D=C.getCharCode(),B;
if(D>0){D=String.fromCharCode(D);
switch(D){case"b":B="bold";
break;
case"i":B="italic";
break;
case"u":B="underline";
break
}if(B){this.win.focus();
this.execCmd(B);
this.deferFocus();
C.preventDefault()
}}}},insertAtCursor:function(C){if(!this.activated){return 
}if(CQ.Ext.isIE){this.win.focus();
var B=this.doc.selection.createRange();
if(B){B.collapse(true);
B.pasteHTML(C);
this.syncValue();
this.deferFocus()
}}else{if(CQ.Ext.isGecko||CQ.Ext.isOpera){this.win.focus();
this.execCmd("InsertHTML",C);
this.deferFocus()
}else{if(CQ.Ext.isSafari){this.execCmd("InsertText",C);
this.deferFocus()
}}}},fixKeys:function(){if(CQ.Ext.isIE){return function(E){var B=E.getKey(),C;
if(B==E.TAB){E.stopEvent();
C=this.doc.selection.createRange();
if(C){C.collapse(true);
C.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");
this.deferFocus()
}}else{if(B==E.ENTER){C=this.doc.selection.createRange();
if(C){var D=C.parentElement();
if(!D||D.tagName.toLowerCase()!="li"){E.stopEvent();
C.pasteHTML("<br />");
C.collapse(false);
C.select()
}}}}}
}else{if(CQ.Ext.isOpera){return function(C){var B=C.getKey();
if(B==C.TAB){C.stopEvent();
this.win.focus();
this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");
this.deferFocus()
}}
}else{if(CQ.Ext.isSafari){return function(C){var B=C.getKey();
if(B==C.TAB){C.stopEvent();
this.execCmd("InsertText","\t");
this.deferFocus()
}}
}}}}(),getToolbar:function(){return this.tb
},buttonTips:{bold:{title:"Bold (Ctrl+B)",text:"Make the selected text bold.",cls:"x-html-editor-tip"},italic:{title:"Italic (Ctrl+I)",text:"Make the selected text italic.",cls:"x-html-editor-tip"},underline:{title:"Underline (Ctrl+U)",text:"Underline the selected text.",cls:"x-html-editor-tip"},increasefontsize:{title:"Grow Text",text:"Increase the font size.",cls:"x-html-editor-tip"},decreasefontsize:{title:"Shrink Text",text:"Decrease the font size.",cls:"x-html-editor-tip"},backcolor:{title:"Text Highlight Color",text:"Change the background color of the selected text.",cls:"x-html-editor-tip"},forecolor:{title:"Font Color",text:"Change the color of the selected text.",cls:"x-html-editor-tip"},justifyleft:{title:"Align Text Left",text:"Align text to the left.",cls:"x-html-editor-tip"},justifycenter:{title:"Center Text",text:"Center text in the editor.",cls:"x-html-editor-tip"},justifyright:{title:"Align Text Right",text:"Align text to the right.",cls:"x-html-editor-tip"},insertunorderedlist:{title:"Bullet List",text:"Start a bulleted list.",cls:"x-html-editor-tip"},insertorderedlist:{title:"Numbered List",text:"Start a numbered list.",cls:"x-html-editor-tip"},createlink:{title:"Hyperlink",text:"Make the selected text a hyperlink.",cls:"x-html-editor-tip"},sourceedit:{title:"Source Edit",text:"Switch to source editing mode.",cls:"x-html-editor-tip"}}});
CQ.Ext.reg("htmleditor",CQ.Ext.form.HtmlEditor);
CQ.Ext.form.TimeField=CQ.Ext.extend(CQ.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(){CQ.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 C=this.parseDate(this.minValue);
if(!C){C=new Date(this.initDate).clearTime()
}var B=this.parseDate(this.maxValue);
if(!B){B=new Date(this.initDate).clearTime().add("mi",(24*60)-1)
}var D=[];
while(C<=B){D.push([C.dateFormat(this.format)]);
C=C.add("mi",this.increment)
}this.store=new CQ.Ext.data.SimpleStore({fields:["text"],data:D});
this.displayField="text"
}},getValue:function(){var B=CQ.Ext.form.TimeField.superclass.getValue.call(this);
return this.formatDate(this.parseDate(B))||""
},setValue:function(B){CQ.Ext.form.TimeField.superclass.setValue.call(this,this.formatDate(this.parseDate(B)))
},validateValue:CQ.Ext.form.DateField.prototype.validateValue,parseDate:CQ.Ext.form.DateField.prototype.parseDate,formatDate:CQ.Ext.form.DateField.prototype.formatDate,beforeBlur:function(){var B=this.parseDate(this.getRawValue());
if(B){this.setValue(B.dateFormat(this.format))
}}});
CQ.Ext.reg("timefield",CQ.Ext.form.TimeField);
CQ.Ext.form.Label=CQ.Ext.extend(CQ.Ext.BoxComponent,{onRender:function(C,B){if(!this.el){this.el=document.createElement("label");
this.el.id=this.getId();
this.el.innerHTML=this.text?CQ.Ext.util.Format.htmlEncode(this.text):(this.html||"");
if(this.forId){this.el.setAttribute("htmlFor",this.forId)
}}CQ.Ext.form.Label.superclass.onRender.call(this,C,B)
},setText:function(B,C){this.text=B;
if(this.rendered){this.el.dom.innerHTML=C!==false?CQ.Ext.util.Format.htmlEncode(B):B
}return this
}});
CQ.Ext.reg("label",CQ.Ext.form.Label);
CQ.Ext.form.Action=function(C,B){this.form=C;
this.options=B||{}
};
CQ.Ext.form.Action.CLIENT_INVALID="client";
CQ.Ext.form.Action.SERVER_INVALID="server";
CQ.Ext.form.Action.CONNECT_FAILURE="connect";
CQ.Ext.form.Action.LOAD_FAILURE="load";
CQ.Ext.form.Action.prototype={type:"default",run:function(B){},success:function(B){},handleResponse:function(B){},failure:function(B){this.response=B;
this.failureType=CQ.Ext.form.Action.CONNECT_FAILURE;
this.form.afterAction(this,false)
},processResponse:function(B){this.response=B;
if(!B.responseText){return true
}this.result=this.handleResponse(B);
return this.result
},getUrl:function(D){var B=this.options.url||this.form.url||this.form.el.dom.action;
if(D){var C=this.getParams();
if(C){B+=(B.indexOf("?")!=-1?"&":"?")+C
}}return B
},getMethod:function(){return(this.options.method||this.form.method||this.form.el.dom.method||"POST").toUpperCase()
},getParams:function(){var B=this.form.baseParams;
var C=this.options.params;
if(C){if(typeof C=="object"){C=CQ.Ext.urlEncode(CQ.Ext.applyIf(C,B))
}else{if(typeof C=="string"&&B){C+="&"+CQ.Ext.urlEncode(B)
}}}else{if(B){C=CQ.Ext.urlEncode(B)
}}return C
},createCallback:function(B){var B=B||{};
return{success:this.success,failure:this.failure,scope:this,timeout:(B.timeout*1000)||(this.form.timeout*1000),upload:this.form.fileUpload?this.success:undefined}
}};
CQ.Ext.form.Action.Submit=function(C,B){CQ.Ext.form.Action.Submit.superclass.constructor.call(this,C,B)
};
CQ.Ext.extend(CQ.Ext.form.Action.Submit,CQ.Ext.form.Action,{type:"submit",run:function(){var C=this.options;
var D=this.getMethod();
var B=D=="GET";
if(C.clientValidation===false||this.form.isValid()){CQ.Ext.Ajax.request(CQ.Ext.apply(this.createCallback(C),{form:this.form.el.dom,url:this.getUrl(B),method:D,headers:C.headers,params:!B?this.getParams():null,isUpload:this.form.fileUpload}))
}else{if(C.clientValidation!==false){this.failureType=CQ.Ext.form.Action.CLIENT_INVALID;
this.form.afterAction(this,false)
}}},success:function(C){var B=this.processResponse(C);
if(B===true||B.success){this.form.afterAction(this,true);
return 
}if(B.errors){this.form.markInvalid(B.errors);
this.failureType=CQ.Ext.form.Action.SERVER_INVALID
}this.form.afterAction(this,false)
},handleResponse:function(D){if(this.form.errorReader){var C=this.form.errorReader.read(D);
var G=[];
if(C.records){for(var E=0,B=C.records.length;
E<B;
E++){var F=C.records[E];
G[E]=F.data
}}if(G.length<1){G=null
}return{success:C.success,errors:G}
}return CQ.Ext.decode(D.responseText)
}});
CQ.Ext.form.Action.Load=function(C,B){CQ.Ext.form.Action.Load.superclass.constructor.call(this,C,B);
this.reader=this.form.reader
};
CQ.Ext.extend(CQ.Ext.form.Action.Load,CQ.Ext.form.Action,{type:"load",run:function(){CQ.Ext.Ajax.request(CQ.Ext.apply(this.createCallback(this.options),{method:this.getMethod(),url:this.getUrl(false),headers:this.options.headers,params:this.getParams()}))
},success:function(C){var B=this.processResponse(C);
if(B===true||!B.success||!B.data){this.failureType=CQ.Ext.form.Action.LOAD_FAILURE;
this.form.afterAction(this,false);
return 
}this.form.clearInvalid();
this.form.setValues(B.data);
this.form.afterAction(this,true)
},handleResponse:function(C){if(this.form.reader){var B=this.form.reader.read(C);
var D=B.records&&B.records[0]?B.records[0].data:null;
return{success:B.success,data:D}
}return CQ.Ext.decode(C.responseText)
}});
CQ.Ext.form.Action.ACTION_TYPES={load:CQ.Ext.form.Action.Load,submit:CQ.Ext.form.Action.Submit};
CQ.Ext.form.VTypes=function(){var D=/^[a-zA-Z_]+$/;
var E=/^[a-zA-Z0-9_]+$/;
var C=/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/;
var B=/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i;
return{email:function(F){return C.test(F)
},emailText:'This field should be an e-mail address in the format "user@domain.com"',emailMask:/[a-z0-9_\.\-@]/i,url:function(F){return B.test(F)
},urlText:'This field should be a URL in the format "http://www.domain.com"',alpha:function(F){return D.test(F)
},alphaText:"This field should only contain letters and _",alphaMask:/[a-z_]/i,alphanum:function(F){return E.test(F)
},alphanumText:"This field should only contain letters, numbers and _",alphanumMask:/[a-z0-9_]/i}
}();
CQ.Ext.grid.GridPanel=CQ.Ext.extend(CQ.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(){CQ.Ext.grid.GridPanel.superclass.initComponent.call(this);
this.autoScroll=false;
this.autoWidth=false;
if(CQ.Ext.isArray(this.columns)){this.colModel=new CQ.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=CQ.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(D,B){CQ.Ext.grid.GridPanel.superclass.onRender.apply(this,arguments);
var E=this.body;
this.el.addClass("x-grid-panel");
var C=this.getView();
C.init(this);
E.on("mousedown",this.onMouseDown,this);
E.on("click",this.onClick,this);
E.on("dblclick",this.onDblClick,this);
E.on("contextmenu",this.onContextMenu,this);
E.on("keydown",this.onKeyDown,this);
this.relayEvents(E,["mousedown","mouseup","mouseover","mouseout","keypress"]);
this.getSelectionModel().init(this);
this.view.render()
},initEvents:function(){CQ.Ext.grid.GridPanel.superclass.initEvents.call(this);
if(this.loadMask){this.loadMask=new CQ.Ext.LoadMask(this.bwrap,CQ.Ext.apply({store:this.store},this.loadMask))
}},initStateEvents:function(){CQ.Ext.grid.GridPanel.superclass.initStateEvents.call(this);
this.colModel.on("hiddenchange",this.saveState,this,{delay:100})
},applyState:function(G){var C=this.colModel;
var F=G.columns;
if(F){for(var D=0,B=F.length;
D<B;
D++){var E=F[D];
var I=C.getColumnById(E.id);
if(I){I.hidden=E.hidden;
I.width=E.width;
var H=C.getIndexById(E.id);
if(H!=D){C.moveColumn(H,D)
}}}}if(G.sort){this.store[this.store.remoteSort?"setDefaultSort":"sort"](G.sort.field,G.sort.direction)
}},getState:function(){var D={columns:[]};
for(var C=0,E;
E=this.colModel.config[C];
C++){D.columns[C]={id:E.id,width:E.width};
if(E.hidden){D.columns[C].hidden=true
}}var B=this.store.getSortState();
if(B){D.sort=B
}return D
},afterRender:function(){CQ.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(B,C){if(this.loadMask){this.loadMask.destroy();
this.loadMask=new CQ.Ext.LoadMask(this.bwrap,CQ.Ext.apply({store:B},this.initialConfig.loadMask))
}this.view.bind(B,C);
this.store=B;
this.colModel=C;
if(this.rendered){this.view.refresh(true)
}},onKeyDown:function(B){this.fireEvent("keydown",B)
},onDestroy:function(){if(this.rendered){if(this.loadMask){this.loadMask.destroy()
}var B=this.body;
B.removeAllListeners();
this.view.destroy();
B.update("")
}this.colModel.purgeListeners();
CQ.Ext.grid.GridPanel.superclass.onDestroy.call(this)
},processEvent:function(D,F){this.fireEvent(D,F);
var E=F.getTarget();
var C=this.view;
var H=C.findHeaderIndex(E);
if(H!==false){this.fireEvent("header"+D,this,H,F)
}else{var G=C.findRowIndex(E);
var B=C.findCellIndex(E);
if(G!==false){this.fireEvent("row"+D,this,G,F);
if(B!==false){this.fireEvent("cell"+D,this,G,B,F)
}}}},onClick:function(B){this.processEvent("click",B)
},onMouseDown:function(B){this.processEvent("mousedown",B)
},onContextMenu:function(C,B){this.processEvent("contextmenu",C)
},onDblClick:function(B){this.processEvent("dblclick",B)
},walkCells:function(K,D,C,F,J){var I=this.colModel,G=I.getColumnCount();
var B=this.store,H=B.getCount(),E=true;
if(C<0){if(D<0){K--;
E=false
}while(K>=0){if(!E){D=G-1
}E=false;
while(D>=0){if(F.call(J||this,K,D,I)===true){return[K,D]
}D--
}K--
}}else{if(D>=G){K++;
E=false
}while(K<H){if(!E){D=0
}E=false;
while(D<G){if(F.call(J||this,K,D,I)===true){return[K,D]
}D++
}K++
}}return null
},getSelections:function(){return this.selModel.getSelections()
},onResize:function(){CQ.Ext.grid.GridPanel.superclass.onResize.apply(this,arguments);
if(this.viewReady){this.view.layout()
}},getGridEl:function(){return this.body
},stopEditing:function(){},getSelectionModel:function(){if(!this.selModel){this.selModel=new CQ.Ext.grid.RowSelectionModel(this.disableSelection?{selectRow:CQ.Ext.emptyFn}:null)
}return this.selModel
},getStore:function(){return this.store
},getColumnModel:function(){return this.colModel
},getView:function(){if(!this.view){this.view=new CQ.Ext.grid.GridView(this.viewConfig)
}return this.view
},getDragDropText:function(){var B=this.selModel.getCount();
return String.format(this.ddText,B,B==1?"":"s")
}});
CQ.Ext.reg("grid",CQ.Ext.grid.GridPanel);
CQ.Ext.grid.GridView=function(B){CQ.Ext.apply(this,B);
this.addEvents("beforerowremoved","beforerowsinserted","beforerefresh","rowremoved","rowsinserted","rowupdated","refresh");
CQ.Ext.grid.GridView.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.GridView,CQ.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",initTemplates:function(){var D=this.templates||{};
if(!D.master){D.master=new CQ.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">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body">{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(!D.header){D.header=new CQ.Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")
}if(!D.hcell){D.hcell=new CQ.Ext.Template('<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id}" 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="',CQ.Ext.BLANK_IMAGE_URL,'" />',"</div></td>")
}if(!D.body){D.body=new CQ.Ext.Template("{rows}")
}if(!D.row){D.row=new CQ.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(!D.cell){D.cell=new CQ.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 B in D){var C=D[B];
if(C&&typeof C.compile=="function"&&!C.compiled){C.disableFormats=true;
C.compile()
}}this.templates=D;
this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")
},fly:function(B){if(!this._flyweight){this._flyweight=new CQ.Ext.Element.Flyweight(document.body)
}this._flyweight.dom=B;
return this._flyweight
},getEditorParent:function(B){return this.scroller.dom
},initElements:function(){var D=CQ.Ext.Element;
var C=this.grid.getGridEl().dom.firstChild;
var B=C.childNodes;
this.el=new D(C);
this.mainWrap=new D(B[0]);
this.mainHd=new D(this.mainWrap.dom.firstChild);
if(this.grid.hideHeaders){this.mainHd.setDisplayed(false)
}this.innerHd=this.mainHd.dom.firstChild;
this.scroller=new D(this.mainWrap.dom.childNodes[1]);
if(this.forceFit){this.scroller.setStyle("overflow-x","hidden")
}this.mainBody=new D(this.scroller.dom.firstChild);
this.focusEl=new D(this.scroller.dom.childNodes[1]);
this.focusEl.swallowEvent("click",true);
this.resizeMarker=new D(B[1]);
this.resizeProxy=new D(B[2])
},getRows:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]
},findCell:function(B){if(!B){return false
}return this.fly(B).findParent(this.cellSelector,this.cellSelectorDepth)
},findCellIndex:function(D,C){var B=this.findCell(D);
if(B&&(!C||this.fly(B).hasClass(C))){return this.getCellIndex(B)
}return false
},getCellIndex:function(C){if(C){var B=C.className.match(this.colRe);
if(B&&B[1]){return this.cm.getIndexById(B[1])
}}return false
},findHeaderCell:function(C){var B=this.findCell(C);
return B&&this.fly(B).hasClass(this.hdCls)?B:null
},findHeaderIndex:function(B){return this.findCellIndex(B,this.hdCls)
},findRow:function(B){if(!B){return false
}return this.fly(B).findParent(this.rowSelector,this.rowSelectorDepth)
},findRowIndex:function(B){var C=this.findRow(B);
return C?C.rowIndex:false
},getRow:function(B){return this.getRows()[B]
},getCell:function(C,B){return this.getRow(C).getElementsByTagName("td")[B]
},getHeaderCell:function(B){return this.mainHd.dom.getElementsByTagName("td")[B]
},addRowClass:function(D,B){var C=this.getRow(D);
if(C){this.fly(C).addClass(B)
}},removeRowClass:function(D,B){var C=this.getRow(D);
if(C){this.fly(C).removeClass(B)
}},removeRow:function(B){CQ.Ext.removeNode(this.getRow(B));
this.focusRow(B)
},removeRows:function(D,B){var C=this.mainBody.dom;
for(var E=D;
E<=B;
E++){CQ.Ext.removeNode(C.childNodes[D])
}this.focusRow(D)
},getScrollState:function(){var B=this.scroller.dom;
return{left:B.scrollLeft,top:B.scrollTop}
},restoreScroll:function(B){var C=this.scroller.dom;
C.scrollLeft=B.left;
C.scrollTop=B.top
},scrollToTop:function(){this.scroller.dom.scrollTop=0;
this.scroller.dom.scrollLeft=0
},syncScroll:function(){this.syncHeaderScroll();
var B=this.scroller.dom;
this.grid.fireEvent("bodyscroll",B.scrollLeft,B.scrollTop)
},syncHeaderScroll:function(){var B=this.scroller.dom;
this.innerHd.scrollLeft=B.scrollLeft;
this.innerHd.scrollLeft=B.scrollLeft
},updateSortIcon:function(C,B){var E=this.sortClasses;
var D=this.mainHd.select("td").removeClass(E);
D.item(C).addClass(E[B=="DESC"?1:0])
},updateAllColumnWidths:function(){var E=this.getTotalWidth();
var I=this.cm.getColumnCount();
var G=[];
for(var C=0;
C<I;
C++){G[C]=this.getColumnWidth(C)
}this.innerHd.firstChild.firstChild.style.width=E;
for(var C=0;
C<I;
C++){var D=this.getHeaderCell(C);
D.style.width=G[C]
}var H=this.getRows();
for(var C=0,F=H.length;
C<F;
C++){H[C].style.width=E;
H[C].firstChild.style.width=E;
var J=H[C].firstChild.rows[0];
for(var B=0;
B<I;
B++){J.childNodes[B].style.width=G[B]
}}this.onAllColumnWidthsUpdated(G,E)
},updateColumnWidth:function(E,H){var C=this.getColumnWidth(E);
var D=this.getTotalWidth();
this.innerHd.firstChild.firstChild.style.width=D;
var I=this.getHeaderCell(E);
I.style.width=C;
var G=this.getRows();
for(var F=0,B=G.length;
F<B;
F++){G[F].style.width=D;
G[F].firstChild.style.width=D;
G[F].firstChild.rows[0].childNodes[E].style.width=C
}this.onColumnWidthUpdated(E,C,D)
},updateColumnHidden:function(D,G){var C=this.getTotalWidth();
this.innerHd.firstChild.firstChild.style.width=C;
var I=G?"none":"";
var H=this.getHeaderCell(D);
H.style.display=I;
var F=this.getRows();
for(var E=0,B=F.length;
E<B;
E++){F[E].style.width=C;
F[E].firstChild.style.width=C;
F[E].firstChild.rows[0].childNodes[D].style.display=I
}this.onColumnHiddenUpdated(D,G,C);
delete this.lastViewWidth;
this.layout()
},doRender:function(F,H,N,B,M,R){var C=this.templates,E=C.cell,G=C.row,I=M-1;
var D="width:"+this.getTotalWidth()+";";
var U=[],O,V,P={},J={tstyle:D},L;
for(var Q=0,T=H.length;
Q<T;
Q++){L=H[Q];
O=[];
var K=(Q+B);
for(var S=0;
S<M;
S++){V=F[S];
P.id=V.id;
P.css=S==0?"x-grid3-cell-first ":(S==I?"x-grid3-cell-last ":"");
P.attr=P.cellAttr="";
P.value=V.renderer(L.data[V.name],P,L,K,S,N);
P.style=V.style;
if(P.value==undefined||P.value===""){P.value="&#160;"
}if(L.dirty&&typeof L.modified[V.name]!=="undefined"){P.css+=" x-grid3-dirty-cell"
}O[O.length]=E.apply(P)
}var W=[];
if(R&&((K+1)%2==0)){W[0]="x-grid3-row-alt"
}if(L.dirty){W[1]=" x-grid3-dirty-row"
}J.cols=M;
if(this.getRowClass){W[2]=this.getRowClass(L,K,J,N)
}J.alt=W.join(" ");
J.cells=O.join("");
U[U.length]=G.apply(J)
}return U.join("")
},processRows:function(F,E){if(this.ds.getCount()<1){return 
}E=E||!this.grid.stripeRows;
F=F||0;
var J=this.getRows();
var G=" x-grid3-row-alt ";
for(var C=F,D=J.length;
C<D;
C++){var I=J[C];
I.rowIndex=C;
if(!E){var B=((C+1)%2==0);
var H=(" "+I.className+" ").indexOf(G)!=-1;
if(B==H){continue
}if(B){I.className+=" x-grid3-row-alt"
}else{I.className=I.className.replace("x-grid3-row-alt","")
}}}},afterRender:function(){this.mainBody.dom.innerHTML=this.renderRows();
this.processRows(0,true);
if(this.deferEmptyText!==true){this.applyEmptyText()
}},renderUI:function(){var E=this.renderHeaders();
var B=this.templates.body.apply({rows:""});
var C=this.templates.master.apply({body:B,header:E});
var D=this.grid;
D.getGridEl().dom.innerHTML=C;
this.initElements();
CQ.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.splitone=new CQ.Ext.grid.GridView.SplitDragZone(D,this.mainHd.dom)
}if(D.enableColumnMove){this.columnDrag=new CQ.Ext.grid.GridView.ColumnDragZone(D,this.innerHd);
this.columnDrop=new CQ.Ext.grid.HeaderDropZone(D,this.mainHd.dom)
}if(D.enableHdMenu!==false){if(D.enableColumnHide!==false){this.colMenu=new CQ.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 CQ.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",text:this.columnsText,menu:this.colMenu,iconCls:"x-cols-icon"})
}this.hmenu.on("itemclick",this.handleHdMenuClick,this)
}if(D.enableDragDrop||D.enableDrag){this.dragZone=new CQ.Ext.grid.GridDragZone(D,{ddGroup:D.ddGroup||"GridDD"})
}this.updateHeaderSortState()
},layout:function(){if(!this.mainBody){return 
}var D=this.grid;
var G=D.getGridEl();
var B=G.getSize(true);
var C=B.width;
if(C<20||B.height<20){return 
}if(D.autoHeight){this.scroller.dom.style.overflow="visible"
}else{this.el.setSize(B.width,B.height);
var F=this.mainHd.getHeight();
var E=B.height-(F);
this.scroller.setSize(C,E);
if(this.innerHd){this.innerHd.style.width=(C)+"px"
}}if(this.forceFit){if(this.lastViewWidth!=C){this.fitColumns(false,false);
this.lastViewWidth=C
}}else{this.autoExpand();
this.syncHeaderScroll()
}this.onLayout(C,E)
},onLayout:function(B,C){},onColumnWidthUpdated:function(D,B,C){},onAllColumnWidthsUpdated:function(B,C){},onColumnHiddenUpdated:function(C,D,B){},updateColumnText:function(B,C){},afterMove:function(B){},init:function(B){this.grid=B;
this.initTemplates();
this.initData(B.store,B.colModel);
this.initUI(B)
},getColumnId:function(B){return this.cm.getColumnId(B)
},renderHeaders:function(){var D=this.cm,G=this.templates;
var F=G.hcell;
var C=[],I=[],H={};
for(var E=0,B=D.getColumnCount();
E<B;
E++){H.id=D.getColumnId(E);
H.value=D.getColumnHeader(E)||"";
H.style=this.getColumnStyle(E,true);
H.tooltip=this.getColumnTooltip(E);
if(D.config[E].align=="right"){H.istyle="padding-right:16px"
}else{delete H.istyle
}C[C.length]=F.apply(H)
}return G.header.apply({cells:C.join(""),tstyle:"width:"+this.getTotalWidth()+";"})
},getColumnTooltip:function(B){var C=this.cm.getColumnTooltip(B);
if(C){if(CQ.Ext.QuickTips.isEnabled()){return'ext:qtip="'+C+'"'
}else{return'title="'+C+'"'
}}return""
},beforeUpdate:function(){this.grid.stopEditing(true)
},updateHeaders:function(){this.innerHd.firstChild.innerHTML=this.renderHeaders()
},focusRow:function(B){this.focusCell(B,0,false)
},focusCell:function(E,B,D){E=Math.min(E,Math.max(0,this.getRows().length-1));
var C=this.ensureVisible(E,B,D);
this.focusEl.setXY(C||this.scroller.getXY());
if(CQ.Ext.isGecko){this.focusEl.focus()
}else{this.focusEl.focus.defer(1,this.focusEl)
}},ensureVisible:function(Q,F,E){if(typeof Q!="number"){Q=Q.rowIndex
}if(!this.ds){return 
}if(Q<0||Q>=this.ds.getCount()){return 
}F=(F!==undefined?F:0);
var J=this.getRow(Q),G;
if(!(E===false&&F===0)){while(this.cm.isHidden(F)){F++
}G=this.getCell(Q,F)
}if(!J){return 
}var M=this.scroller.dom;
var P=0;
var D=J,N=this.el.dom;
while(D&&D!=N){P+=D.offsetTop;
D=D.offsetParent
}P-=this.mainHd.dom.offsetHeight;
var O=P+J.offsetHeight;
var B=M.clientHeight;
var N=parseInt(M.scrollTop,10);
var L=N+B;
if(P<N){M.scrollTop=P
}else{if(O>L){M.scrollTop=O-B
}}if(E!==false){var K=parseInt(G.offsetLeft,10);
var I=K+G.offsetWidth;
var H=parseInt(M.scrollLeft,10);
var C=H+M.clientWidth;
if(K<H){M.scrollLeft=K
}else{if(I>C){M.scrollLeft=I-M.clientWidth
}}}return G?CQ.Ext.fly(G).getXY():[M.scrollLeft+this.el.getX(),CQ.Ext.fly(J).getY()]
},insertRows:function(B,G,D,F){if(!F&&G===0&&D>=B.getCount()-1){this.refresh()
}else{if(!F){this.fireEvent("beforerowsinserted",this,G,D)
}var C=this.renderRows(G,D);
var E=this.getRow(G);
if(E){CQ.Ext.DomHelper.insertHtml("beforeBegin",E,C)
}else{CQ.Ext.DomHelper.insertHtml("beforeEnd",this.mainBody.dom,C)
}if(!F){this.fireEvent("rowsinserted",this,G,D);
this.processRows(G)
}}this.focusRow(G)
},deleteRows:function(B,D,C){if(B.getRowCount()<1){this.refresh()
}else{this.fireEvent("beforerowsdeleted",this,D,C);
this.removeRows(D,C);
this.processRows(D);
this.fireEvent("rowsdeleted",this,D,C)
}},getColumnStyle:function(B,D){var C=!D?(this.cm.config[B].css||""):"";
C+="width:"+this.getColumnWidth(B)+";";
if(this.cm.isHidden(B)){C+="display:none;"
}var E=this.cm.config[B].align;
if(E){C+="text-align:"+E+";"
}return C
},getColumnWidth:function(C){var B=this.cm.getColumnWidth(C);
if(typeof B=="number"){return(CQ.Ext.isBorderBox?B:(B-this.borderWidth>0?B-this.borderWidth:0))+"px"
}return B
},getTotalWidth:function(){return this.cm.getTotalWidth()+"px"
},fitColumns:function(E,H,F){var G=this.cm,T,M,P;
var S=G.getTotalWidth(false);
var K=this.grid.getGridEl().getWidth(true)-this.scrollOffset;
if(K<20){return 
}var C=K-S;
if(C===0){return false
}var B=G.getColumnCount(true);
var Q=B-(typeof F=="number"?1:0);
if(Q===0){Q=1;
F=undefined
}var L=G.getColumnCount();
var J=[];
var O=0;
var N=0;
var I;
for(P=0;
P<L;
P++){if(!G.isHidden(P)&&!G.isFixed(P)&&P!==F){I=G.getColumnWidth(P);
J.push(P);
O=P;
J.push(I);
N+=I
}}var D=(K-G.getTotalWidth())/N;
while(J.length){I=J.pop();
P=J.pop();
G.setColumnWidth(P,Math.max(this.grid.minColumnWidth,Math.floor(I+I*D)),true)
}if((S=G.getTotalWidth(false))>K){var R=Q!=B?F:O;
G.setColumnWidth(R,Math.max(1,G.getColumnWidth(R)-(S-K)),true)
}if(E!==true){this.updateAllColumnWidths()
}return true
},autoExpand:function(C){var H=this.grid,B=this.cm;
if(!this.userResized&&H.autoExpandColumn){var E=B.getTotalWidth(false);
var I=this.grid.getGridEl().getWidth(true)-this.scrollOffset;
if(E!=I){var G=B.getIndexById(H.autoExpandColumn);
var F=B.getColumnWidth(G);
var D=Math.min(Math.max(((I-E)+F),H.autoExpandMin),H.autoExpandMax);
if(D!=F){B.setColumnWidth(G,D,true);
if(C!==true){this.updateColumnWidth(G,D)
}}}}},getColumnData:function(){var E=[],B=this.cm,F=B.getColumnCount();
for(var D=0;
D<F;
D++){var C=B.getDataIndex(D);
E[D]={name:(typeof C=="undefined"?this.ds.fields.get(D).name:C),renderer:B.getRenderer(D),id:B.getColumnId(D),style:this.getColumnStyle(D)}
}return E
},renderRows:function(I,D){var E=this.grid,G=E.colModel,B=E.store,J=E.stripeRows;
var H=G.getColumnCount();
if(B.getCount()<1){return""
}var F=this.getColumnData();
I=I||0;
D=typeof D=="undefined"?B.getCount()-1:D;
var C=B.getRange(I,D);
return this.doRender(F,C,B,I,H,J)
},renderBody:function(){var B=this.renderRows();
return this.templates.body.apply({rows:B})
},refreshRow:function(C){var E=this.ds,D;
if(typeof C=="number"){D=C;
C=E.getAt(D)
}else{D=E.indexOf(C)
}var B=[];
this.insertRows(E,D,D,true);
this.getRow(D).rowIndex=D;
this.onRemove(E,C,D+1,true);
this.fireEvent("rowupdated",this,D,C)
},refresh:function(C){this.fireEvent("beforerefresh",this);
this.grid.stopEditing(true);
var B=this.renderBody();
this.mainBody.update(B);
if(C===true){this.updateHeaders();
this.updateHeaderSortState()
}this.processRows(0,true);
this.layout();
this.applyEmptyText();
this.fireEvent("refresh",this)
},applyEmptyText:function(){if(this.emptyText&&!this.hasRows()){this.mainBody.update('<div class="x-grid-empty">'+this.emptyText+"</div>")
}},updateHeaderSortState:function(){var C=this.ds.getSortState();
if(!C){return 
}if(!this.sortState||(this.sortState.field!=C.field||this.sortState.direction!=C.direction)){this.grid.fireEvent("sortchange",this.grid,C)
}this.sortState=C;
var D=this.cm.findColumnIndex(C.field);
if(D!=-1){var B=C.direction;
this.updateSortIcon(D,B)
}},destroy:function(){if(this.colMenu){this.colMenu.removeAll();
CQ.Ext.menu.MenuMgr.unregister(this.colMenu);
this.colMenu.getEl().remove();
delete this.colMenu
}if(this.hmenu){this.hmenu.removeAll();
CQ.Ext.menu.MenuMgr.unregister(this.hmenu);
this.hmenu.getEl().remove();
delete this.hmenu
}if(this.grid.enableColumnMove){var D=CQ.Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id];
if(D){for(var B in D){if(!D[B].config.isTarget&&D[B].dragElId){var C=D[B].dragElId;
D[B].unreg();
CQ.Ext.get(C).remove()
}else{if(D[B].config.isTarget){D[B].proxyTop.remove();
D[B].proxyBottom.remove();
D[B].unreg()
}}if(CQ.Ext.dd.DDM.locationCache[B]){delete CQ.Ext.dd.DDM.locationCache[B]
}}delete CQ.Ext.dd.DDM.ids["gridHeader"+this.grid.getGridEl().id]
}}CQ.Ext.destroy(this.resizeMarker,this.resizeProxy);
if(this.dragZone){this.dragZone.unreg()
}this.initData(null,null);
CQ.Ext.EventManager.removeResizeListener(this.onWindowResize,this)
},onDenyColumnHide:function(){},render:function(){if(this.autoFill){this.fitColumns(true,true)
}else{if(this.forceFit){this.fitColumns(true,false)
}else{if(this.grid.autoExpandColumn){this.autoExpand(true)
}}}this.renderUI()
},initData:function(C,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(C){C.on("load",this.onLoad,this);
C.on("datachanged",this.onDataChange,this);
C.on("add",this.onAdd,this);
C.on("remove",this.onRemove,this);
C.on("update",this.onUpdate,this);
C.on("clear",this.onClear,this)
}this.ds=C;
if(this.cm){this.cm.un("configchange",this.onColConfigChange,this);
this.cm.un("widthchange",this.onColWidthChange,this);
this.cm.un("headerchange",this.onHeaderChange,this);
this.cm.un("hiddenchange",this.onHiddenChange,this);
this.cm.un("columnmoved",this.onColumnMove,this);
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()
},onClear:function(){this.refresh()
},onUpdate:function(C,B){this.refreshRow(B)
},onAdd:function(D,B,C){this.insertRows(D,C,C+(B.length-1))
},onRemove:function(E,B,C,D){if(D!==true){this.fireEvent("beforerowremoved",this,C,B)
}this.removeRow(C);
if(D!==true){this.processRows(C);
this.applyEmptyText();
this.fireEvent("rowremoved",this,C,B)
}},onLoad:function(){this.scrollToTop()
},onColWidthChange:function(B,C,D){this.updateColumnWidth(C,D)
},onHeaderChange:function(B,C,D){this.updateHeaders()
},onHiddenChange:function(B,C,D){this.updateColumnHidden(C,D)
},onColumnMove:function(B,E,C){this.indexMap=null;
var D=this.getScrollState();
this.refresh(true);
this.restoreScroll(D);
this.afterMove(C)
},onColConfigChange:function(){delete this.lastViewWidth;
this.indexMap=null;
this.refresh(true)
},initUI:function(B){B.on("headerclick",this.onHeaderClick,this);
if(B.trackMouseOver){B.on("mouseover",this.onRowOver,this);
B.on("mouseout",this.onRowOut,this)
}},initEvents:function(){},onHeaderClick:function(C,B){if(this.headersDisabled||!this.cm.isSortable(B)){return 
}C.stopEditing(true);
C.store.sort(this.cm.getDataIndex(B))
},onRowOver:function(C,B){var D;
if((D=this.findRowIndex(B))!==false){this.addRowClass(D,"x-grid3-row-over")
}},onRowOut:function(C,B){var D;
if((D=this.findRowIndex(B))!==false&&D!==this.findRowIndex(C.getRelatedTarget())){this.removeRowClass(D,"x-grid3-row-over")
}},handleWheel:function(B){B.stopPropagation()
},onRowSelect:function(B){this.addRowClass(B,"x-grid3-row-selected")
},onRowDeselect:function(B){this.removeRowClass(B,"x-grid3-row-selected")
},onCellSelect:function(D,C){var B=this.getCell(D,C);
if(B){this.fly(B).addClass("x-grid3-cell-selected")
}},onCellDeselect:function(D,C){var B=this.getCell(D,C);
if(B){this.fly(B).removeClass("x-grid3-cell-selected")
}},onColumnSplitterMoved:function(D,C){this.userResized=true;
var B=this.grid.colModel;
B.setColumnWidth(D,C,true);
if(this.forceFit){this.fitColumns(true,false,D);
this.updateAllColumnWidths()
}else{this.updateColumnWidth(D,C)
}this.grid.fireEvent("columnresize",D,C)
},handleHdMenuClick:function(D){var C=this.hdCtxIndex;
var B=this.cm,E=this.ds;
switch(D.id){case"asc":E.sort(B.getDataIndex(C),"ASC");
break;
case"desc":E.sort(B.getDataIndex(C),"DESC");
break;
default:C=B.getIndexById(D.id.substr(4));
if(C!=-1){if(D.checked&&B.getColumnsBy(this.isHideableColumn,this).length<=1){this.onDenyColumnHide();
return false
}B.setHidden(C,D.checked)
}}return true
},isHideableColumn:function(B){return !B.hidden&&!B.fixed
},beforeColMenuShow:function(){var B=this.cm,D=B.getColumnCount();
this.colMenu.removeAll();
for(var C=0;
C<D;
C++){if(B.config[C].fixed!==true&&B.config[C].hideable!==false){this.colMenu.add(new CQ.Ext.menu.CheckItem({id:"col-"+B.getColumnId(C),text:B.getColumnHeader(C),checked:!B.isHidden(C),hideOnClick:false,disabled:B.config[C].hideable===false}))
}}},handleHdDown:function(G,E){if(CQ.Ext.fly(E).hasClass("x-grid3-hd-btn")){G.stopEvent();
var F=this.findHeaderCell(E);
CQ.Ext.fly(F).addClass("x-grid3-hd-menu-open");
var D=this.getCellIndex(F);
this.hdCtxIndex=D;
var C=this.hmenu.items,B=this.cm;
C.get("asc").setDisabled(!B.isSortable(D));
C.get("desc").setDisabled(!B.isSortable(D));
this.hmenu.on("hide",function(){CQ.Ext.fly(F).removeClass("x-grid3-hd-menu-open")
},this,{single:true});
this.hmenu.show(E,"tl-bl?")
}},handleHdOver:function(E,B){var D=this.findHeaderCell(B);
if(D&&!this.headersDisabled){this.activeHd=D;
this.activeHdIndex=this.getCellIndex(D);
var C=this.fly(D);
this.activeHdRegion=C.getRegion();
if(!this.cm.isMenuDisabled(this.activeHdIndex)){C.addClass("x-grid3-hd-over");
this.activeHdBtn=C.child(".x-grid3-hd-btn");
if(this.activeHdBtn){this.activeHdBtn.dom.style.height=(D.firstChild.offsetHeight-1)+"px"
}}}},handleHdMove:function(G,E){if(this.activeHd&&!this.headersDisabled){var C=this.splitHandleWidth||5;
var F=this.activeHdRegion;
var B=G.getPageX();
var D=this.activeHd.style;
if(B-F.left<=C&&this.cm.isResizable(this.activeHdIndex-1)){D.cursor=CQ.Ext.isAir?"move":CQ.Ext.isSafari?"e-resize":"col-resize"
}else{if(F.right-B<=(!this.activeHdBtn?C:2)&&this.cm.isResizable(this.activeHdIndex)){D.cursor=CQ.Ext.isAir?"move":CQ.Ext.isSafari?"w-resize":"col-resize"
}else{D.cursor=""
}}}},handleHdOut:function(D,B){var C=this.findHeaderCell(B);
if(C&&(!CQ.Ext.isIE||!D.within(C,true))){this.activeHd=null;
this.fly(C).removeClass("x-grid3-hd-over");
C.style.cursor=""
}},hasRows:function(){var B=this.mainBody.dom.firstChild;
return B&&B.className!="x-grid-empty"
},bind:function(B,C){this.initData(B,C)
}});
CQ.Ext.grid.GridView.SplitDragZone=function(B,C){this.grid=B;
this.view=B.getView();
this.marker=this.view.resizeMarker;
this.proxy=this.view.resizeProxy;
CQ.Ext.grid.GridView.SplitDragZone.superclass.constructor.call(this,C,"gridSplitters"+this.grid.getGridEl().id,{dragElId:CQ.Ext.id(this.proxy.dom),resizeFrame:false});
this.scroll=false;
this.hw=this.view.splitHandleWidth||5
};
CQ.Ext.extend(CQ.Ext.grid.GridView.SplitDragZone,CQ.Ext.dd.DDProxy,{b4StartDrag:function(B,F){this.view.headersDisabled=true;
var E=this.view.mainWrap.getHeight();
this.marker.setHeight(E);
this.marker.show();
this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);
this.proxy.setHeight(E);
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=B-D;
this.maxX=B+1000;
this.startPos=B;
CQ.Ext.dd.DDProxy.prototype.b4StartDrag.call(this,B,F)
},handleMouseDown:function(B){var I=this.view.findHeaderCell(B.getTarget());
if(I){var L=this.view.fly(I).getXY(),F=L[0],E=L[1];
var J=B.getXY(),D=J[0],C=J[1];
var H=I.offsetWidth,G=false;
if((D-F)<=this.hw){G=-1
}else{if((F+H)-D<=this.hw){G=0
}}if(G!==false){this.cm=this.grid.colModel;
var K=this.view.getCellIndex(I);
if(G==-1){if(K+G<0){return 
}while(this.cm.isHidden(K+G)){--G;
if(K+G<0){return 
}}}this.cellIndex=K+G;
this.split=I.dom;
if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){CQ.Ext.grid.GridView.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)
}}else{if(this.view.columnDrag){this.view.columnDrag.callHandleMouseDown(B)
}}}},endDrag:function(E){this.marker.hide();
var B=this.view;
var C=Math.max(this.minX,E.getPageX());
var D=C-this.startPos;
B.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+D);
setTimeout(function(){B.headersDisabled=false
},50)
},autoOffset:function(){this.setDelta(0,0)
}});
CQ.Ext.grid.GroupingView=CQ.Ext.extend(CQ.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(){CQ.Ext.grid.GroupingView.superclass.initTemplates.call(this);
this.state={};
var B=this.grid.getSelectionModel();
B.on(B.selectRow?"beforerowselect":"beforecellselect",this.onBeforeRowSelect,this);
if(!this.startGroup){this.startGroup=new CQ.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(B){return CQ.Ext.fly(B).up(".x-grid-group",this.mainBody.dom)
},getGroups:function(){return this.hasRows()?this.mainBody.dom.childNodes:[]
},onAdd:function(){if(this.enableGrouping&&!this.ignoreAdd){var B=this.getScrollState();
this.refresh();
this.restoreScroll(B)
}else{if(!this.enableGrouping){CQ.Ext.grid.GroupingView.superclass.onAdd.apply(this,arguments)
}}},onRemove:function(F,B,C,E){CQ.Ext.grid.GroupingView.superclass.onRemove.apply(this,arguments);
var D=document.getElementById(B._groupId);
if(D&&D.childNodes[1].childNodes.length<1){CQ.Ext.removeNode(D)
}this.applyEmptyText()
},refreshRow:function(B){if(this.ds.getCount()==1){this.refresh()
}else{this.isUpdating=true;
CQ.Ext.grid.GroupingView.superclass.refreshRow.apply(this,arguments);
this.isUpdating=false
}},beforeMenuShow:function(){var D=this.getGroupField();
var C=this.hmenu.items.get("groupBy");
if(C){C.setDisabled(this.cm.config[this.hdCtxIndex].groupable===false)
}var B=this.hmenu.items.get("showGroups");
if(B){B.setDisabled(!D&&this.cm.config[this.hdCtxIndex].groupable===false);
B.setChecked(!!D,true)
}},renderUI:function(){CQ.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,C){if(C){this.onGroupByClick()
}else{this.grid.store.clearGrouping()
}},toggleGroup:function(D,C){this.grid.stopEditing(true);
D=CQ.Ext.getDom(D);
var B=CQ.Ext.fly(D);
C=C!==undefined?C:B.hasClass("x-grid-group-collapsed");
this.state[B.dom.id]=C;
B[C?"removeClass":"addClass"]("x-grid-group-collapsed")
},toggleAllGroups:function(D){var C=this.getGroups();
for(var E=0,B=C.length;
E<B;
E++){this.toggleGroup(C[E],D)
}},expandAllGroups:function(){this.toggleAllGroups(true)
},collapseAllGroups:function(){this.toggleAllGroups(false)
},interceptMouse:function(C){var B=C.getTarget(".x-grid-group-hd",this.mainBody);
if(B){C.stopEvent();
this.toggleGroup(B.parentNode)
}},getGroup:function(B,E,G,H,C,F){var D=G?G(B,{},E,H,C,F):String(B);
if(D===""){D=this.cm.config[C].emptyGroupText||this.emptyGroupText
}return D
},getGroupField:function(){return this.grid.store.getGroupState()
},renderRows:function(){var B=this.getGroupField();
var E=!!B;
if(this.hideGroupedColumn){var C=this.cm.findColumnIndex(B);
if(!E&&this.lastGroupField!==undefined){this.mainBody.update("");
this.cm.setHidden(this.cm.findColumnIndex(this.lastGroupField),false);
delete this.lastGroupField
}else{if(E&&this.lastGroupField===undefined){this.lastGroupField=B;
this.cm.setHidden(C,true)
}else{if(E&&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 CQ.Ext.grid.GroupingView.superclass.renderRows.apply(this,arguments)
},doRender:function(E,H,Q,B,P,S){if(H.length<1){return""
}var Z=this.getGroupField();
var O=this.cm.findColumnIndex(Z);
this.enableGrouping=!!Z;
if(!this.enableGrouping||this.isUpdating){return CQ.Ext.grid.GroupingView.superclass.doRender.apply(this,arguments)
}var I="width:"+this.getTotalWidth()+";";
var R=this.grid.getGridEl().id;
var G=this.cm.config[O];
var C=G.groupRenderer||G.renderer;
var T=this.showGroupName?(G.groupName||G.header)+": ":"";
var Y=[],L,U,V,N;
for(U=0,V=H.length;
U<V;
U++){var K=B+U;
var M=H[U],F=M.data[Z],W=this.getGroup(F,M,C,K,O,Q);
if(!L||L.group!=W){N=R+"-gp-"+Z+"-"+CQ.Ext.util.Format.htmlEncode(W);
var D=typeof this.state[N]!=="undefined"?!this.state[N]:this.startCollapsed;
var J=D?"x-grid-group-collapsed":"";
L={group:W,gvalue:F,text:T+W,groupId:N,startRow:K,rs:[M],cls:J,style:I};
Y.push(L)
}else{L.rs.push(M)
}M._groupId=N
}var X=[];
for(U=0,V=Y.length;
U<V;
U++){var W=Y[U];
this.doGroupStart(X,W,E,Q,P);
X[X.length]=CQ.Ext.grid.GroupingView.superclass.doRender.call(this,E,W.rs,Q,W.startRow,P,S);
this.doGroupEnd(X,W,E,Q,P)
}return X.join("")
},getGroupId:function(G){var E=this.grid.getGridEl().id;
var D=this.getGroupField();
var F=this.cm.findColumnIndex(D);
var C=this.cm.config[F];
var H=C.groupRenderer||C.renderer;
var B=this.getGroup(G,{data:{}},H,0,F,this.ds);
return E+"-gp-"+D+"-"+CQ.Ext.util.Format.htmlEncode(G)
},doGroupStart:function(B,E,C,F,D){B[B.length]=this.startGroup.apply(E)
},doGroupEnd:function(B,E,C,F,D){B[B.length]=this.endGroup
},getRows:function(){if(!this.enableGrouping){return CQ.Ext.grid.GroupingView.superclass.getRows.call(this)
}var H=[];
var G,D=this.getGroups();
for(var F=0,B=D.length;
F<B;
F++){G=D[F].childNodes[1].childNodes;
for(var E=0,C=G.length;
E<C;
E++){H[H.length]=G[E]
}}return H
},updateGroupWidths:function(){if(!this.enableGrouping||!this.hasRows()){return 
}var D=Math.max(this.cm.getTotalWidth(),this.el.dom.offsetWidth-this.scrollOffset)+"px";
var C=this.getGroups();
for(var E=0,B=C.length;
E<B;
E++){C[E].firstChild.style.width=D
}},onColumnWidthUpdated:function(D,B,C){this.updateGroupWidths()
},onAllColumnWidthsUpdated:function(B,C){this.updateGroupWidths()
},onColumnHiddenUpdated:function(C,D,B){this.updateGroupWidths()
},onLayout:function(){this.updateGroupWidths()
},onBeforeRowSelect:function(E,D){if(!this.enableGrouping){return 
}var C=this.getRow(D);
if(C&&!C.offsetParent){var B=this.findGroup(C);
this.toggleGroup(B,true)
}},groupByText:"Group By This Field",showGroupsText:"Show in Groups"});
CQ.Ext.grid.GroupingView.GROUP_ID=1000;
CQ.Ext.grid.HeaderDragZone=function(B,D,C){this.grid=B;
this.view=B.getView();
this.ddGroup="gridHeader"+this.grid.getGridEl().id;
CQ.Ext.grid.HeaderDragZone.superclass.constructor.call(this,D);
if(C){this.setHandleElId(CQ.Ext.id(D));
this.setOuterHandleElId(CQ.Ext.id(C))
}this.scroll=false
};
CQ.Ext.extend(CQ.Ext.grid.HeaderDragZone,CQ.Ext.dd.DragZone,{maxDragWidth:120,getDragData:function(D){var B=CQ.Ext.lib.Event.getTarget(D);
var C=this.view.findHeaderCell(B);
if(C){return{ddel:C.firstChild,header:C}
}return false
},onInitDrag:function(B){this.view.headersDisabled=true;
var C=this.dragData.ddel.cloneNode(true);
C.id=CQ.Ext.id();
C.style.width=Math.min(this.dragData.header.offsetWidth,this.maxDragWidth)+"px";
this.proxy.update(C);
return true
},afterValidDrop:function(){var B=this.view;
setTimeout(function(){B.headersDisabled=false
},50)
},afterInvalidDrop:function(){var B=this.view;
setTimeout(function(){B.headersDisabled=false
},50)
}});
CQ.Ext.grid.HeaderDropZone=function(B,D,C){this.grid=B;
this.view=B.getView();
this.proxyTop=CQ.Ext.DomHelper.append(document.body,{cls:"col-move-top",html:"&#160;"},true);
this.proxyBottom=CQ.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;
CQ.Ext.grid.HeaderDropZone.superclass.constructor.call(this,B.getGridEl().dom)
};
CQ.Ext.extend(CQ.Ext.grid.HeaderDropZone,CQ.Ext.dd.DropZone,{proxyOffsets:[-4,-9],fly:CQ.Ext.Element.fly,getTargetFromEvent:function(D){var B=CQ.Ext.lib.Event.getTarget(D);
var C=this.view.findCellIndex(B);
if(C!==false){return this.view.getHeaderCell(C)
}},nextVisible:function(D){var C=this.view,B=this.grid.colModel;
D=D.nextSibling;
while(D){if(!B.isHidden(C.getCellIndex(D))){return D
}D=D.nextSibling
}return null
},prevVisible:function(D){var C=this.view,B=this.grid.colModel;
D=D.prevSibling;
while(D){if(!B.isHidden(C.getCellIndex(D))){return D
}D=D.prevSibling
}return null
},positionIndicator:function(E,C,F){var I=CQ.Ext.lib.Event.getPageX(F);
var B=CQ.Ext.lib.Dom.getRegion(C.firstChild);
var J,L,H=B.top+this.proxyOffsets[1];
if((B.right-I)<=(B.right-B.left)/2){J=B.right+this.view.borderWidth;
L="after"
}else{J=B.left;
L="before"
}var G=this.view.getCellIndex(E);
var K=this.view.getCellIndex(C);
if(this.grid.colModel.isFixed(K)){return false
}var D=this.grid.colModel.isLocked(K);
if(L=="after"){K++
}if(G<K){K--
}if(G==K&&(D==this.grid.colModel.isLocked(G))){return false
}J+=this.proxyOffsets[0];
this.proxyTop.setLeftTop(J,H);
this.proxyTop.show();
if(!this.bottomOffset){this.bottomOffset=this.view.mainHd.getHeight()
}this.proxyBottom.setLeftTop(J,H+this.proxyTop.dom.offsetHeight+this.bottomOffset);
this.proxyBottom.show();
return L
},onNodeEnter:function(E,B,D,C){if(C.header!=E){this.positionIndicator(C.header,E,D)
}},onNodeOver:function(F,C,E,D){var B=false;
if(D.header!=F){B=this.positionIndicator(D.header,F,E)
}if(!B){this.proxyTop.hide();
this.proxyBottom.hide()
}return B?this.dropAllowed:this.dropNotAllowed
},onNodeOut:function(E,B,D,C){this.proxyTop.hide();
this.proxyBottom.hide()
},onNodeDrop:function(C,L,G,E){var F=E.header;
if(F!=C){var J=this.grid.colModel;
var I=CQ.Ext.lib.Event.getPageX(G);
var B=CQ.Ext.lib.Dom.getRegion(C.firstChild);
var M=(B.right-I)<=((B.right-B.left)/2)?"after":"before";
var H=this.view.getCellIndex(F);
var K=this.view.getCellIndex(C);
var D=J.isLocked(K);
if(M=="after"){K++
}if(H<K){K--
}if(H==K&&(D==J.isLocked(H))){return false
}J.setLocked(H,D,true);
J.moveColumn(H,K);
this.grid.fireEvent("columnmove",H,K);
return true
}return false
}});
CQ.Ext.grid.GridView.ColumnDragZone=function(B,C){CQ.Ext.grid.GridView.ColumnDragZone.superclass.constructor.call(this,B,C,null);
this.proxy.el.addClass("x-grid3-col-dd")
};
CQ.Ext.extend(CQ.Ext.grid.GridView.ColumnDragZone,CQ.Ext.grid.HeaderDragZone,{handleMouseDown:function(B){},callHandleMouseDown:function(B){CQ.Ext.grid.GridView.ColumnDragZone.superclass.handleMouseDown.call(this,B)
}});
CQ.Ext.grid.SplitDragZone=function(B,D,C){this.grid=B;
this.view=B.getView();
this.proxy=this.view.resizeProxy;
CQ.Ext.grid.SplitDragZone.superclass.constructor.call(this,D,"gridSplitters"+this.grid.getGridEl().id,{dragElId:CQ.Ext.id(this.proxy.dom),resizeFrame:false});
this.setHandleElId(CQ.Ext.id(D));
this.setOuterHandleElId(CQ.Ext.id(C));
this.scroll=false
};
CQ.Ext.extend(CQ.Ext.grid.SplitDragZone,CQ.Ext.dd.DDProxy,{fly:CQ.Ext.Element.fly,b4StartDrag:function(B,E){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=B-D;
this.maxX=B+1000;
this.startPos=B;
CQ.Ext.dd.DDProxy.prototype.b4StartDrag.call(this,B,E)
},handleMouseDown:function(C){ev=CQ.Ext.EventObject.setEvent(C);
var B=this.fly(ev.getTarget());
if(B.hasClass("x-grid-split")){this.cellIndex=this.view.getCellIndex(B.dom);
this.split=B.dom;
this.cm=this.grid.colModel;
if(this.cm.isResizable(this.cellIndex)&&!this.cm.isFixed(this.cellIndex)){CQ.Ext.grid.SplitDragZone.superclass.handleMouseDown.apply(this,arguments)
}}},endDrag:function(D){this.view.headersDisabled=false;
var B=Math.max(this.minX,CQ.Ext.lib.Event.getPageX(D));
var C=B-this.startPos;
this.view.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+C)
},autoOffset:function(){this.setDelta(0,0)
}});
CQ.Ext.grid.GridDragZone=function(C,B){this.view=C.getView();
CQ.Ext.grid.GridDragZone.superclass.constructor.call(this,this.view.mainBody.dom,B);
if(this.view.lockedBody){this.setHandleElId(CQ.Ext.id(this.view.mainBody.dom));
this.setOuterHandleElId(CQ.Ext.id(this.view.lockedBody.dom))
}this.scroll=false;
this.grid=C;
this.ddel=document.createElement("div");
this.ddel.className="x-grid-dd-wrap"
};
CQ.Ext.extend(CQ.Ext.grid.GridDragZone,CQ.Ext.dd.DragZone,{ddGroup:"GridDD",getDragData:function(C){var B=CQ.Ext.lib.Event.getTarget(C);
var E=this.view.findRowIndex(B);
if(E!==false){var D=this.grid.selModel;
if(!D.isSelected(E)||C.hasModifier()){D.handleMouseDown(this.grid,E,C)
}return{grid:this.grid,ddel:this.ddel,rowIndex:E,selections:D.getSelections()}
}return false
},onInitDrag:function(C){var B=this.dragData;
this.ddel.innerHTML=this.grid.getDragDropText();
this.proxy.update(this.ddel)
},afterRepair:function(){this.dragging=false
},getRepairXY:function(C,B){return false
},onEndDrag:function(B,C){},onValidDrop:function(B,C,D){this.hideProxy()
},beforeInvalidDrop:function(B,C){}});
CQ.Ext.grid.ColumnModel=function(B){this.defaultWidth=100;
this.defaultSortable=false;
if(B.columns){CQ.Ext.apply(this,B);
this.setConfig(B.columns,true)
}else{this.setConfig(B,true)
}this.addEvents("widthchange","headerchange","hiddenchange","columnmoved","columnlockchange","configchange");
CQ.Ext.grid.ColumnModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.ColumnModel,CQ.Ext.util.Observable,{getColumnId:function(B){return this.config[B].id
},setConfig:function(D,C){if(!C){delete this.totalWidth;
for(var E=0,B=this.config.length;
E<B;
E++){var F=this.config[E];
if(F.editor){F.editor.destroy()
}}}this.config=D;
this.lookup={};
for(var E=0,B=D.length;
E<B;
E++){var F=D[E];
if(typeof F.renderer=="string"){F.renderer=CQ.Ext.util.Format[F.renderer]
}if(typeof F.id=="undefined"){F.id=E
}if(F.editor&&F.editor.isFormField){F.editor=new CQ.Ext.grid.GridEditor(F.editor)
}this.lookup[F.id]=F
}if(!C){this.fireEvent("configchange",this)
}},getColumnById:function(B){return this.lookup[B]
},getIndexById:function(D){for(var C=0,B=this.config.length;
C<B;
C++){if(this.config[C].id==D){return C
}}return -1
},moveColumn:function(D,B){var C=this.config[D];
this.config.splice(D,1);
this.config.splice(B,0,C);
this.dataMap=null;
this.fireEvent("columnmoved",this,D,B)
},isLocked:function(B){return this.config[B].locked===true
},setLocked:function(C,D,B){if(this.isLocked(C)==D){return 
}this.config[C].locked=D;
if(!B){this.fireEvent("columnlockchange",this,C,D)
}},getTotalLockedWidth:function(){var B=0;
for(var C=0;
C<this.config.length;
C++){if(this.isLocked(C)&&!this.isHidden(C)){this.totalWidth+=this.getColumnWidth(C)
}}return B
},getLockedCount:function(){for(var C=0,B=this.config.length;
C<B;
C++){if(!this.isLocked(C)){return C
}}},getColumnCount:function(D){if(D===true){var E=0;
for(var C=0,B=this.config.length;
C<B;
C++){if(!this.isHidden(C)){E++
}}return E
}return this.config.length
},getColumnsBy:function(E,D){var F=[];
for(var C=0,B=this.config.length;
C<B;
C++){var G=this.config[C];
if(E.call(D||this,G,C)===true){F[F.length]=G
}}return F
},isSortable:function(B){if(typeof this.config[B].sortable=="undefined"){return this.defaultSortable
}return this.config[B].sortable
},isMenuDisabled:function(B){return !!this.config[B].menuDisabled
},getRenderer:function(B){if(!this.config[B].renderer){return CQ.Ext.grid.ColumnModel.defaultRenderer
}return this.config[B].renderer
},setRenderer:function(B,C){this.config[B].renderer=C
},getColumnWidth:function(B){return this.config[B].width||this.defaultWidth
},setColumnWidth:function(C,D,B){this.config[C].width=D;
this.totalWidth=null;
if(!B){this.fireEvent("widthchange",this,C,D)
}},getTotalWidth:function(C){if(!this.totalWidth){this.totalWidth=0;
for(var D=0,B=this.config.length;
D<B;
D++){if(C||!this.isHidden(D)){this.totalWidth+=this.getColumnWidth(D)
}}}return this.totalWidth
},getColumnHeader:function(B){return this.config[B].header
},setColumnHeader:function(B,C){this.config[B].header=C;
this.fireEvent("headerchange",this,B,C)
},getColumnTooltip:function(B){return this.config[B].tooltip
},setColumnTooltip:function(B,C){this.config[B].tooltip=C
},getDataIndex:function(B){return this.config[B].dataIndex
},setDataIndex:function(B,C){this.config[B].dataIndex=C
},findColumnIndex:function(D){var E=this.config;
for(var C=0,B=E.length;
C<B;
C++){if(E[C].dataIndex==D){return C
}}return -1
},isCellEditable:function(B,C){return(this.config[B].editable||(typeof this.config[B].editable=="undefined"&&this.config[B].editor))?true:false
},getCellEditor:function(B,C){return this.config[B].editor
},setEditable:function(B,C){this.config[B].editable=C
},isHidden:function(B){return this.config[B].hidden
},isFixed:function(B){return this.config[B].fixed
},isResizable:function(B){return B>=0&&this.config[B].resizable!==false&&this.config[B].fixed!==true
},setHidden:function(B,C){var D=this.config[B];
if(D.hidden!==C){D.hidden=C;
this.totalWidth=null;
this.fireEvent("hiddenchange",this,B,C)
}},setEditor:function(B,C){this.config[B].editor=C
}});
CQ.Ext.grid.ColumnModel.defaultRenderer=function(B){if(typeof B=="string"&&B.length<1){return"&#160;"
}return B
};
CQ.Ext.grid.DefaultColumnModel=CQ.Ext.grid.ColumnModel;
CQ.Ext.grid.AbstractSelectionModel=function(){this.locked=false;
CQ.Ext.grid.AbstractSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.AbstractSelectionModel,CQ.Ext.util.Observable,{init:function(B){this.grid=B;
this.initEvents()
},lock:function(){this.locked=true
},unlock:function(){this.locked=false
},isLocked:function(){return this.locked
}});
CQ.Ext.grid.RowSelectionModel=function(B){CQ.Ext.apply(this,B);
this.selections=new CQ.Ext.util.MixedCollection(false,function(C){return C.id
});
this.last=false;
this.lastActive=false;
this.addEvents("selectionchange","beforerowselect","rowselect","rowdeselect");
CQ.Ext.grid.RowSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.RowSelectionModel,CQ.Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this)
}else{this.grid.on("rowclick",function(C,E,D){if(D.button===0&&!D.shiftKey&&!D.ctrlKey){this.selectRow(E,false);
C.view.focusRow(E)
}},this)
}this.rowNav=new CQ.Ext.KeyNav(this.grid.getGridEl(),{up:function(D){if(!D.shiftKey){this.selectPrevious(D.shiftKey)
}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(D){if(!D.shiftKey){this.selectNext(D.shiftKey)
}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 B=this.grid.view;
B.on("refresh",this.onRefresh,this);
B.on("rowupdated",this.onRowUpdated,this);
B.on("rowremoved",this.onRemove,this)
},onRefresh:function(){var G=this.grid.store,C;
var E=this.getSelections();
this.clearSelections(true);
for(var D=0,B=E.length;
D<B;
D++){var F=E[D];
if((C=G.indexOfId(F.id))!=-1){this.selectRow(C,true)
}}if(E.length!=this.selections.getCount()){this.fireEvent("selectionchange",this)
}},onRemove:function(B,C,D){if(this.selections.remove(D)!==false){this.fireEvent("selectionchange",this)
}},onRowUpdated:function(B,C,D){if(this.isSelected(D)){B.onRowSelect(C)
}},selectRecords:function(C,F){if(!F){this.clearSelections()
}var E=this.grid.store;
for(var D=0,B=C.length;
D<B;
D++){this.selectRow(E.indexOf(C[D]),true)
}},getCount:function(){return this.selections.length
},selectFirstRow:function(){this.selectRow(0)
},selectLastRow:function(B){this.selectRow(this.grid.store.getCount()-1,B)
},selectNext:function(B){if(this.hasNext()){this.selectRow(this.last+1,B);
this.grid.getView().focusRow(this.last);
return true
}return false
},selectPrevious:function(B){if(this.hasPrevious()){this.selectRow(this.last-1,B);
this.grid.getView().focusRow(this.last);
return true
}return false
},hasNext:function(){return this.last!==false&&(this.last+1)<this.grid.store.getCount()
},hasPrevious:function(){return !!this.last
},getSelections:function(){return[].concat(this.selections.items)
},getSelected:function(){return this.selections.itemAt(0)
},each:function(F,E){var D=this.getSelections();
for(var C=0,B=D.length;
C<B;
C++){if(F.call(E||this,D[C],C)===false){return false
}}return true
},clearSelections:function(B){if(this.locked){return 
}if(B!==true){var D=this.grid.store;
var C=this.selections;
C.each(function(E){this.deselectRow(D.indexOfId(E.id))
},this);
C.clear()
}else{this.selections.clear()
}this.last=false
},selectAll:function(){if(this.locked){return 
}this.selections.clear();
for(var C=0,B=this.grid.store.getCount();
C<B;
C++){this.selectRow(C,true)
}},hasSelection:function(){return this.selections.length>0
},isSelected:function(B){var C=typeof B=="number"?this.grid.store.getAt(B):B;
return(C&&this.selections.key(C.id)?true:false)
},isIdSelected:function(B){return(this.selections.key(B)?true:false)
},handleMouseDown:function(E,G,F){if(F.button!==0||this.isLocked()){return 
}var B=this.grid.getView();
if(F.shiftKey&&this.last!==false){var D=this.last;
this.selectRange(D,G,F.ctrlKey);
this.last=D;
B.focusRow(G)
}else{var C=this.isSelected(G);
if(F.ctrlKey&&C){this.deselectRow(G)
}else{if(!C||this.getCount()>1){this.selectRow(G,F.ctrlKey||F.shiftKey);
B.focusRow(G)
}}}},selectRows:function(D,E){if(!E){this.clearSelections()
}for(var C=0,B=D.length;
C<B;
C++){this.selectRow(D[C],true)
}},selectRange:function(C,B,E){if(this.locked){return 
}if(!E){this.clearSelections()
}if(C<=B){for(var D=C;
D<=B;
D++){this.selectRow(D,true)
}}else{for(var D=C;
D>=B;
D--){this.selectRow(D,true)
}}},deselectRange:function(D,C,B){if(this.locked){return 
}for(var E=D;
E<=C;
E++){this.deselectRow(E,B)
}},selectRow:function(C,E,B){if(this.locked||(C<0||C>=this.grid.store.getCount())||this.isSelected(C)){return 
}var D=this.grid.store.getAt(C);
if(D&&this.fireEvent("beforerowselect",this,C,E,D)!==false){if(!E||this.singleSelect){this.clearSelections()
}this.selections.add(D);
this.last=this.lastActive=C;
if(!B){this.grid.getView().onRowSelect(C)
}this.fireEvent("rowselect",this,C,D);
this.fireEvent("selectionchange",this)
}},deselectRow:function(C,B){if(this.locked){return 
}if(this.last==C){this.last=false
}if(this.lastActive==C){this.lastActive=false
}var D=this.grid.store.getAt(C);
if(D){this.selections.remove(D);
if(!B){this.grid.getView().onRowDeselect(C)
}this.fireEvent("rowdeselect",this,C,D);
this.fireEvent("selectionchange",this)
}},restoreLast:function(){if(this._last){this.last=this._last
}},acceptsNav:function(D,C,B){return !B.isHidden(C)&&B.isCellEditable(C,D)
},onEditorKey:function(G,F){var D=F.getKey(),H,E=this.grid,C=E.activeEditor;
var B=F.shiftKey;
if(D==F.TAB){F.stopEvent();
C.completeEdit();
if(B){H=E.walkCells(C.row,C.col-1,-1,this.acceptsNav,this)
}else{H=E.walkCells(C.row,C.col+1,1,this.acceptsNav,this)
}}else{if(D==F.ENTER){F.stopEvent();
C.completeEdit();
if(this.moveEditorOnEnter!==false){if(B){H=E.walkCells(C.row-1,C.col,-1,this.acceptsNav,this)
}else{H=E.walkCells(C.row+1,C.col,1,this.acceptsNav,this)
}}}else{if(D==F.ESC){C.cancelEdit()
}}}if(H){E.startEditing(H[0],H[1])
}}});
CQ.Ext.grid.CellSelectionModel=function(B){CQ.Ext.apply(this,B);
this.selection=null;
this.addEvents("beforecellselect","cellselect","selectionchange");
CQ.Ext.grid.CellSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.CellSelectionModel,CQ.Ext.grid.AbstractSelectionModel,{initEvents:function(){this.grid.on("cellmousedown",this.handleMouseDown,this);
this.grid.getGridEl().on(CQ.Ext.isIE||CQ.Ext.isSafari3?"keydown":"keypress",this.handleKeyDown,this);
var B=this.grid.view;
B.on("refresh",this.onViewChange,this);
B.on("rowupdated",this.onRowUpdated,this);
B.on("beforerowremoved",this.clearSelections,this);
B.on("beforerowsinserted",this.clearSelections,this);
if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this)
}},beforeEdit:function(B){this.select(B.row,B.column,false,true,B.record)
},onRowUpdated:function(B,C,D){if(this.selection&&this.selection.record==D){B.onCellSelect(C,this.selection.cell[1])
}},onViewChange:function(){this.clearSelections(true)
},getSelectedCell:function(){return this.selection?this.selection.cell:null
},clearSelections:function(C){var B=this.selection;
if(B){if(C!==true){this.grid.view.onCellDeselect(B.cell[0],B.cell[1])
}this.selection=null;
this.fireEvent("selectionchange",this,null)
}},hasSelection:function(){return this.selection?true:false
},handleMouseDown:function(C,E,B,D){if(D.button!==0||this.isLocked()){return 
}this.select(E,B)
},select:function(G,D,C,F,E){if(this.fireEvent("beforecellselect",this,G,D)!==false){this.clearSelections();
E=E||this.grid.store.getAt(G);
this.selection={record:E,cell:[G,D]};
if(!C){var B=this.grid.getView();
B.onCellSelect(G,D);
if(F!==true){B.focusCell(G,D)
}}this.fireEvent("cellselect",this,G,D);
this.fireEvent("selectionchange",this,this.selection)
}},isSelectable:function(D,C,B){return !B.isHidden(C)
},handleKeyDown:function(G){if(!G.isNavKeyPress()){return 
}var F=this.grid,K=this.selection;
if(!K){G.stopEvent();
var J=F.walkCells(0,0,1,this.isSelectable,this);
if(J){this.select(J[0],J[1])
}return 
}var C=this;
var I=function(N,L,M){return F.walkCells(N,L,M,C.isSelectable,C)
};
var D=G.getKey(),B=K.cell[0],H=K.cell[1];
var E;
switch(D){case G.TAB:if(G.shiftKey){E=I(B,H-1,-1)
}else{E=I(B,H+1,1)
}break;
case G.DOWN:E=I(B+1,H,1);
break;
case G.UP:E=I(B-1,H,-1);
break;
case G.RIGHT:E=I(B,H+1,1);
break;
case G.LEFT:E=I(B,H-1,-1);
break;
case G.ENTER:if(F.isEditor&&!F.editing){F.startEditing(B,H);
G.stopEvent();
return 
}break
}if(E){this.select(E[0],E[1]);
G.stopEvent()
}},acceptsNav:function(D,C,B){return !B.isHidden(C)&&B.isCellEditable(C,D)
},onEditorKey:function(F,E){var C=E.getKey(),G,D=this.grid,B=D.activeEditor;
if(C==E.TAB){if(E.shiftKey){G=D.walkCells(B.row,B.col-1,-1,this.acceptsNav,this)
}else{G=D.walkCells(B.row,B.col+1,1,this.acceptsNav,this)
}E.stopEvent()
}else{if(C==E.ENTER){B.completeEdit();
E.stopEvent()
}else{if(C==E.ESC){E.stopEvent();
B.cancelEdit()
}}}if(G){D.startEditing(G[0],G[1])
}}});
CQ.Ext.grid.EditorGridPanel=CQ.Ext.extend(CQ.Ext.grid.GridPanel,{clicksToEdit:2,isEditor:true,detectEdit:false,autoEncode:false,trackMouseOver:false,initComponent:function(){CQ.Ext.grid.EditorGridPanel.superclass.initComponent.call(this);
if(!this.selModel){this.selModel=new CQ.Ext.grid.CellSelectionModel()
}this.activeEditor=null;
this.addEvents("beforeedit","afteredit","validateedit")
},initEvents:function(){CQ.Ext.grid.EditorGridPanel.superclass.initEvents.call(this);
this.on("bodyscroll",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)
}this.getGridEl().addClass("xedit-grid")
},onCellDblClick:function(C,D,B){this.startEditing(D,B)
},onAutoEditClick:function(D,C){if(D.button!==0){return 
}var F=this.view.findRowIndex(C);
var B=this.view.findCellIndex(C);
if(F!==false&&B!==false){this.stopEditing();
if(this.selModel.getSelectedCell){var E=this.selModel.getSelectedCell();
if(E&&E.cell[0]===F&&E.cell[1]===B){this.startEditing(F,B)
}}else{if(this.selModel.isSelected(F)){this.startEditing(F,B)
}}}},onEditComplete:function(C,E,B){this.editing=false;
this.activeEditor=null;
C.un("specialkey",this.selModel.onEditorKey,this.selModel);
var D=C.record;
var G=this.colModel.getDataIndex(C.col);
E=this.postEditValue(E,B,D,G);
if(String(E)!==String(B)){var F={grid:this,record:D,field:G,originalValue:B,value:E,row:C.row,column:C.col,cancel:false};
if(this.fireEvent("validateedit",F)!==false&&!F.cancel){D.set(G,F.value);
delete F.cancel;
this.fireEvent("afteredit",F)
}}this.view.focusCell(C.row,C.col)
},startEditing:function(G,C){this.stopEditing();
if(this.colModel.isCellEditable(C,G)){this.view.ensureVisible(G,C,true);
var D=this.store.getAt(G);
var F=this.colModel.getDataIndex(C);
var E={grid:this,record:D,field:F,value:D.data[F],row:G,column:C,cancel:false};
if(this.fireEvent("beforeedit",E)!==false&&!E.cancel){this.editing=true;
var B=this.colModel.getCellEditor(C,G);
if(!B.rendered){B.render(this.view.getEditorParent(B))
}(function(){B.row=G;
B.col=C;
B.record=D;
B.on("complete",this.onEditComplete,this,{single:true});
B.on("specialkey",this.selModel.onEditorKey,this.selModel);
this.activeEditor=B;
var H=this.preEditValue(D,F);
B.startEdit(this.view.getCell(G,C).firstChild,H)
}).defer(50,this)
}}},preEditValue:function(B,D){var C=B.data[D];
return this.autoEncode&&typeof C=="string"?CQ.Ext.util.Format.htmlDecode(C):C
},postEditValue:function(D,B,C,E){return this.autoEncode&&typeof D=="string"?CQ.Ext.util.Format.htmlEncode(D):D
},stopEditing:function(B){if(this.activeEditor){this.activeEditor[B===true?"cancelEdit":"completeEdit"]()
}this.activeEditor=null
},onDestroy:function(){if(this.rendered){var D=this.colModel.config;
for(var C=0,B=D.length;
C<B;
C++){var E=D[C];
CQ.Ext.destroy(E.editor)
}}CQ.Ext.grid.EditorGridPanel.superclass.onDestroy.call(this)
}});
CQ.Ext.reg("editorgrid",CQ.Ext.grid.EditorGridPanel);
CQ.Ext.grid.GridEditor=function(C,B){CQ.Ext.grid.GridEditor.superclass.constructor.call(this,C,B);
C.monitorTab=false
};
CQ.Ext.extend(CQ.Ext.grid.GridEditor,CQ.Ext.Editor,{alignment:"tl-tl",autoSize:"width",hideEl:false,cls:"x-small-editor x-grid-editor",shim:false,shadow:false});
CQ.Ext.grid.PropertyRecord=CQ.Ext.data.Record.create([{name:"name",type:"string"},"value"]);
CQ.Ext.grid.PropertyStore=function(B,C){this.grid=B;
this.store=new CQ.Ext.data.Store({recordType:CQ.Ext.grid.PropertyRecord});
this.store.on("update",this.onUpdate,this);
if(C){this.setSource(C)
}CQ.Ext.grid.PropertyStore.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.Ext.grid.PropertyStore,CQ.Ext.util.Observable,{setSource:function(D){this.source=D;
this.store.removeAll();
var C=[];
for(var B in D){if(this.isEditableValue(D[B])){C.push(new CQ.Ext.grid.PropertyRecord({name:B,value:D[B]},B))
}}this.store.loadRecords({records:C},{},true)
},onUpdate:function(F,B,E){if(E==CQ.Ext.data.Record.EDIT){var C=B.data.value;
var D=B.modified.value;
if(this.grid.fireEvent("beforepropertychange",this.source,B.id,C,D)!==false){this.source[B.id]=C;
B.commit();
this.grid.fireEvent("propertychange",this.source,B.id,C,D)
}else{B.reject()
}}},getProperty:function(B){return this.store.getAt(B)
},isEditableValue:function(B){if(CQ.Ext.isDate(B)){return true
}else{if(typeof B=="object"||typeof B=="function"){return false
}}return true
},setValue:function(C,B){this.source[C]=B;
this.store.getById(C).set("value",B)
},getSource:function(){return this.source
}});
CQ.Ext.grid.PropertyColumnModel=function(D,C){this.grid=D;
var E=CQ.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=C;
this.bselect=CQ.Ext.DomHelper.append(document.body,{tag:"select",cls:"x-grid-editor x-hide-display",children:[{tag:"option",value:"true",html:"true"},{tag:"option",value:"false",html:"false"}]});
var F=CQ.Ext.form;
var B=new F.Field({el:this.bselect,bselect:this.bselect,autoShow:true,getValue:function(){return this.bselect.value=="true"
}});
this.editors={date:new E.GridEditor(new F.DateField({selectOnFocus:true})),string:new E.GridEditor(new F.TextField({selectOnFocus:true})),number:new E.GridEditor(new F.NumberField({selectOnFocus:true,style:"text-align:left;"})),"boolean":new E.GridEditor(B)};
this.renderCellDelegate=this.renderCell.createDelegate(this);
this.renderPropDelegate=this.renderProp.createDelegate(this)
};
CQ.Ext.extend(CQ.Ext.grid.PropertyColumnModel,CQ.Ext.grid.ColumnModel,{nameText:"Name",valueText:"Value",dateFormat:"m/j/Y",renderDate:function(B){return B.dateFormat(this.dateFormat)
},renderBool:function(B){return B?"true":"false"
},isCellEditable:function(B,C){return B==1
},getRenderer:function(B){return B==1?this.renderCellDelegate:this.renderPropDelegate
},renderProp:function(B){return this.getPropertyName(B)
},renderCell:function(B){var C=B;
if(CQ.Ext.isDate(B)){C=this.renderDate(B)
}else{if(typeof B=="boolean"){C=this.renderBool(B)
}}return CQ.Ext.util.Format.htmlEncode(C)
},getPropertyName:function(C){var B=this.grid.propertyNames;
return B&&B[C]?B[C]:C
},getCellEditor:function(B,F){var C=this.store.getProperty(F);
var E=C.data.name,D=C.data.value;
if(this.grid.customEditors[E]){return this.grid.customEditors[E]
}if(CQ.Ext.isDate(D)){return this.editors.date
}else{if(typeof D=="number"){return this.editors.number
}else{if(typeof D=="boolean"){return this.editors["boolean"]
}else{return this.editors.string
}}}}});
CQ.Ext.grid.PropertyGrid=CQ.Ext.extend(CQ.Ext.grid.EditorGridPanel,{enableColumnMove:false,stripeRows:false,trackMouseOver:false,clicksToEdit:1,enableHdMenu:false,viewConfig:{forceFit:true},initComponent:function(){this.customEditors=this.customEditors||{};
this.lastEditRow=null;
var C=new CQ.Ext.grid.PropertyStore(this);
this.propStore=C;
var B=new CQ.Ext.grid.PropertyColumnModel(this,C);
C.store.sort("name","ASC");
this.addEvents("beforepropertychange","propertychange");
this.cm=B;
this.ds=C.store;
CQ.Ext.grid.PropertyGrid.superclass.initComponent.call(this);
this.selModel.on("beforecellselect",function(F,E,D){if(D===0){this.startEditing.defer(200,this,[E,1]);
return false
}},this)
},onRender:function(){CQ.Ext.grid.PropertyGrid.superclass.onRender.apply(this,arguments);
this.getGridEl().addClass("x-props-grid")
},afterRender:function(){CQ.Ext.grid.PropertyGrid.superclass.afterRender.apply(this,arguments);
if(this.source){this.setSource(this.source)
}},setSource:function(B){this.propStore.setSource(B)
},getSource:function(){return this.propStore.getSource()
}});
CQ.Ext.reg("propertygrid",CQ.Ext.grid.PropertyGrid);
CQ.Ext.grid.RowNumberer=function(B){CQ.Ext.apply(this,B);
if(this.rowspan){this.renderer=this.renderer.createDelegate(this)
}};
CQ.Ext.grid.RowNumberer.prototype={header:"",width:23,sortable:false,fixed:true,menuDisabled:true,dataIndex:"",id:"numberer",rowspan:undefined,renderer:function(C,D,B,E){if(this.rowspan){D.cellAttr='rowspan="'+this.rowspan+'"'
}return E+1
}};
CQ.Ext.grid.CheckboxSelectionModel=CQ.Ext.extend(CQ.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(){CQ.Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);
this.grid.on("render",function(){var B=this.grid.getView();
B.mainBody.on("mousedown",this.onMouseDown,this);
CQ.Ext.fly(B.innerHd).on("mousedown",this.onHdMouseDown,this)
},this)
},onMouseDown:function(D,C){if(D.button===0&&C.className=="x-grid3-row-checker"){D.stopEvent();
var E=D.getTarget(".x-grid3-row");
if(E){var B=E.rowIndex;
if(this.isSelected(B)){this.deselectRow(B)
}else{this.selectRow(B,true)
}}}},onHdMouseDown:function(D,B){if(B.className=="x-grid3-hd-checker"){D.stopEvent();
var C=CQ.Ext.fly(B.parentNode);
var E=C.hasClass("x-grid3-hd-checker-on");
if(E){C.removeClass("x-grid3-hd-checker-on");
this.clearSelections()
}else{C.addClass("x-grid3-hd-checker-on");
this.selectAll()
}}},renderer:function(C,D,B){return'<div class="x-grid3-row-checker">&#160;</div>'
}});
CQ.Ext.LoadMask=function(D,C){this.el=CQ.Ext.get(D);
CQ.Ext.apply(this,C);
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=CQ.Ext.value(this.removeMask,false)
}else{var B=this.el.getUpdater();
B.showLoadIndicator=false;
B.on("beforeupdate",this.onBeforeLoad,this);
B.on("update",this.onLoad,this);
B.on("failure",this.onLoad,this);
this.removeMask=CQ.Ext.value(this.removeMask,true)
}};
CQ.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 B=this.el.getUpdater();
B.un("beforeupdate",this.onBeforeLoad,this);
B.un("update",this.onLoad,this);
B.un("failure",this.onLoad,this)
}}};
CQ.Ext.ProgressBar=CQ.Ext.extend(CQ.Ext.BoxComponent,{baseCls:"x-progress",waitTimer:null,initComponent:function(){CQ.Ext.ProgressBar.superclass.initComponent.call(this);
this.addEvents("update")
},onRender:function(E,B){CQ.Ext.ProgressBar.superclass.onRender.call(this,E,B);
var D=new CQ.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(B){this.el=D.insertBefore(B,{cls:this.baseCls},true)
}else{this.el=D.append(E,{cls:this.baseCls},true)
}if(this.id){this.el.dom.id=this.id
}var C=this.el.dom.firstChild;
this.progressBar=CQ.Ext.get(C.firstChild);
if(this.textEl){this.textEl=CQ.Ext.get(this.textEl);
delete this.textTopEl
}else{this.textTopEl=CQ.Ext.get(this.progressBar.dom.firstChild);
var F=CQ.Ext.get(C.childNodes[1]);
this.textTopEl.setStyle("z-index",99).addClass("x-hidden");
this.textEl=new CQ.Ext.CompositeElement([this.textTopEl.dom.firstChild,F.dom.firstChild]);
this.textEl.setWidth(C.offsetWidth)
}this.progressBar.setHeight(C.offsetHeight)
},afterRender:function(){CQ.Ext.ProgressBar.superclass.afterRender.call(this);
if(this.value){this.updateProgress(this.value,this.text)
}else{this.updateText(this.text)
}},updateProgress:function(C,D){this.value=C||0;
if(D){this.updateText(D)
}if(this.rendered){var B=Math.floor(C*this.el.dom.firstChild.offsetWidth);
this.progressBar.setWidth(B);
if(this.textTopEl){this.textTopEl.removeClass("x-hidden").setWidth(B)
}}this.fireEvent("update",this,C,D);
return this
},wait:function(C){if(!this.waitTimer){var B=this;
C=C||{};
this.updateText(C.text);
this.waitTimer=CQ.Ext.TaskMgr.start({run:function(D){var E=C.increment||10;
this.updateProgress(((((D+E)%E)+1)*(100/E))*0.01)
},interval:C.interval||1000,duration:C.duration,onStop:function(){if(C.fn){C.fn.apply(C.scope||this)
}this.reset()
},scope:B})
}return this
},isWaiting:function(){return this.waitTimer!=null
},updateText:function(B){this.text=B||"&#160;";
if(this.rendered){this.textEl.update(this.text)
}return this
},syncProgressBar:function(){if(this.value){this.updateProgress(this.value,this.text)
}return this
},setSize:function(B,D){CQ.Ext.ProgressBar.superclass.setSize.call(this,B,D);
if(this.textTopEl){var C=this.el.dom.firstChild;
this.textEl.setSize(C.offsetWidth,C.offsetHeight)
}this.syncProgressBar();
return this
},reset:function(B){this.updateProgress(0);
if(this.textTopEl){this.textTopEl.addClass("x-hidden")
}if(this.waitTimer){this.waitTimer.onStop=null;
CQ.Ext.TaskMgr.stop(this.waitTimer);
this.waitTimer=null
}if(B===true){this.hide()
}return this
}});
CQ.Ext.reg("progress",CQ.Ext.ProgressBar);
CQ.Ext.Slider=CQ.Ext.extend(CQ.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
}CQ.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){CQ.Ext.apply(this,CQ.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"}]}}};
CQ.Ext.Slider.superclass.onRender.apply(this,arguments);
this.endEl=this.el.first();
this.innerEl=this.endEl.first();
this.thumb=this.innerEl.first();
this.halfThumb=(this.vertical?this.thumb.getHeight():this.thumb.getWidth())/2;
this.focusEl=this.thumb.next();
this.initEvents()
},initEvents:function(){this.thumb.addClassOnOver("x-slider-thumb-over");
this.mon(this.el,"mousedown",this.onMouseDown,this);
this.mon(this.el,"keydown",this.onKeyDown,this);
this.focusEl.swallowEvent("click",true);
this.tracker=new CQ.Ext.dd.DragTracker({onBeforeStart:this.onBeforeDragStart.createDelegate(this),onStart:this.onDragStart.createDelegate(this),onDrag:this.onDrag.createDelegate(this),onEnd:this.onDragEnd.createDelegate(this),tolerance:3,autoStart:300});
this.tracker.initEl(this.thumb);
this.on("beforedestroy",this.tracker.destroy,this.tracker)
},onMouseDown:function(C){if(this.disabled){return 
}if(this.clickToChange&&C.target!=this.thumb.dom){var B=this.innerEl.translatePoints(C.getXY());
this.onClickChange(B)
}this.focus()
},onClickChange:function(B){if(B.top>this.clickRange[0]&&B.top<this.clickRange[1]){this.setValue(Math.round(this.reverseValue(B.left)),undefined,true)
}},onKeyDown:function(C){if(this.disabled){C.preventDefault();
return 
}var B=C.getKey();
switch(B){case C.UP:case C.RIGHT:C.stopEvent();
if(C.ctrlKey){this.setValue(this.maxValue,undefined,true)
}else{this.setValue(this.value+this.keyIncrement,undefined,true)
}break;
case C.DOWN:case C.LEFT:C.stopEvent();
if(C.ctrlKey){this.setValue(this.minValue,undefined,true)
}else{this.setValue(this.value-this.keyIncrement,undefined,true)
}break;
default:C.preventDefault()
}},doSnap:function(C){if(!this.increment||this.increment==1||!C){return C
}var E=C,D=this.increment;
var B=C%D;
if(B>0){if(B>(D/2)){E=C+(D-B)
}else{E=C-B
}}return E.constrain(this.minValue,this.maxValue)
},afterRender:function(){CQ.Ext.Slider.superclass.afterRender.apply(this,arguments);
if(this.value!==undefined){var B=this.normalizeValue(this.value);
if(B!==this.value){delete this.value;
this.setValue(B,false)
}else{this.moveThumb(this.translateValue(B),false)
}}},getRatio:function(){var B=this.innerEl.getWidth();
var C=this.maxValue-this.minValue;
return C==0?B:(B/C)
},normalizeValue:function(B){if(typeof B!="number"){B=parseInt(B)
}B=Math.round(B);
B=this.doSnap(B);
B=B.constrain(this.minValue,this.maxValue);
return B
},setValue:function(C,B,D){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(D){this.fireEvent("changecomplete",this,C)
}}},translateValue:function(B){var C=this.getRatio();
return(B*C)-(this.minValue*C)-this.halfThumb
},reverseValue:function(C){var B=this.getRatio();
return(C+this.halfThumb+(this.minValue*B))/B
},moveThumb:function(C,B){if(!B||this.animate===false){this.thumb.setLeft(C)
}else{this.thumb.shift({left:C,stopFx:true,duration:0.35})
}},focus:function(){this.focusEl.focus(10)
},onBeforeDragStart:function(B){return !this.disabled
},onDragStart:function(B){this.thumb.addClass("x-slider-thumb-drag");
this.dragging=true;
this.dragStartValue=this.value;
this.fireEvent("dragstart",this,B)
},onDrag:function(B){var C=this.innerEl.translatePoints(this.tracker.getXY());
this.setValue(Math.round(this.reverseValue(C.left)),false);
this.fireEvent("drag",this,B)
},onDragEnd:function(B){this.thumb.removeClass("x-slider-thumb-drag");
this.dragging=false;
this.fireEvent("dragend",this,B);
if(this.dragStartValue!=this.value){this.fireEvent("changecomplete",this,this.value)
}},onResize:function(B,C){this.innerEl.setWidth(B-(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
}});
CQ.Ext.reg("slider",CQ.Ext.Slider);
CQ.Ext.Slider.Vertical={onResize:function(B,C){this.innerEl.setHeight(C-(this.el.getPadding("t")+this.endEl.getPadding("b")));
this.syncThumb()
},getRatio:function(){var C=this.innerEl.getHeight();
var B=this.maxValue-this.minValue;
return C/B
},moveThumb:function(C,B){if(!B||this.animate===false){this.thumb.setBottom(C)
}else{this.thumb.shift({bottom:C,stopFx:true,duration:0.35})
}},onDrag:function(C){var D=this.innerEl.translatePoints(this.tracker.getXY());
var B=this.innerEl.getHeight()-D.top;
this.setValue(Math.round(B/this.getRatio()),false);
this.fireEvent("drag",this,C)
},onClickChange:function(C){if(C.left>this.clickRange[0]&&C.left<this.clickRange[1]){var B=this.innerEl.getHeight()-C.top;
this.setValue(Math.round(B/this.getRatio()),undefined,true)
}}};
CQ.Ext.StatusBar=CQ.Ext.extend(CQ.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"
}CQ.Ext.StatusBar.superclass.initComponent.call(this)
},afterRender:function(){CQ.Ext.StatusBar.superclass.afterRender.call(this);
var B=this.statusAlign=="right",C=CQ.Ext.get(this.nextBlock());
if(B){this.tr.appendChild(C.dom)
}else{C.insertBefore(this.tr.firstChild)
}this.statusEl=C.createChild({cls:"x-status-text "+(this.iconCls||this.defaultIconCls||""),html:this.text||this.defaultText||""});
this.statusEl.unselectable();
this.spacerEl=C.insertSibling({tag:"td",style:"width:100%",cn:[{cls:"ytb-spacer"}]},B?"before":"after")
},setStatus:function(D){D=D||{};
if(typeof D=="string"){D={text:D}
}if(D.text!==undefined){this.setText(D.text)
}if(D.iconCls!==undefined){this.setIcon(D.iconCls)
}if(D.clear){var E=D.clear,C=this.autoClear,B={useDefaults:true,anim:true};
if(typeof E=="object"){E=CQ.Ext.applyIf(E,B);
if(E.wait){C=E.wait
}}else{if(typeof E=="number"){C=E;
E=B
}else{if(typeof E=="boolean"){E=B
}}}E.threadId=this.activeThreadId;
this.clearStatus.defer(C,this,[E])
}return this
},clearStatus:function(D){D=D||{};
if(D.threadId&&D.threadId!==this.activeThreadId){return this
}var C=D.useDefaults?this.defaultText:"",B=D.useDefaults?(this.defaultIconCls?this.defaultIconCls:""):"";
if(D.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(B){this.activeThreadId++;
this.text=B||"";
if(this.rendered){this.statusEl.update(this.text)
}return this
},getText:function(){return this.text
},setIcon:function(B){this.activeThreadId++;
B=B||"";
if(this.rendered){if(this.currIconCls){this.statusEl.removeClass(this.currIconCls);
this.currIconCls=null
}if(B.length>0){this.statusEl.addClass(B);
this.currIconCls=B
}}else{this.currIconCls=B
}return this
},showBusy:function(B){if(typeof B=="string"){B={text:B}
}B=CQ.Ext.applyIf(B||{},{text:this.busyText,iconCls:this.busyIconCls});
return this.setStatus(B)
}});
CQ.Ext.reg("statusbar",CQ.Ext.StatusBar);
CQ.Ext.History=(function(){var F,D;
var K=false;
var E;
function G(){var L=top.location.href,M=L.indexOf("#");
return M>=0?L.substr(M+1):null
}function B(){D.value=E
}function H(L){E=L;
CQ.Ext.History.fireEvent("change",L)
}function I(M){var L=['<html><body><div id="state">',M,"</div></body></html>"].join("");
try{var O=F.contentWindow.document;
O.open();
O.write(L);
O.close();
return true
}catch(N){return false
}}function C(){if(!F.contentWindow||!F.contentWindow.document){setTimeout(C,10);
return 
}var O=F.contentWindow.document;
var M=O.getElementById("state");
var L=M?M.innerText:null;
var N=G();
setInterval(function(){O=F.contentWindow.document;
M=O.getElementById("state");
var Q=M?M.innerText:null;
var P=G();
if(Q!==L){L=Q;
H(L);
top.location.hash=L;
N=L;
B()
}else{if(P!==N){N=P;
I(P)
}}},50);
K=true;
CQ.Ext.History.fireEvent("ready",CQ.Ext.History)
}function J(){E=D.value;
if(CQ.Ext.isIE){C()
}else{var L=G();
setInterval(function(){var M=G();
if(M!==L){L=M;
H(L);
B()
}},50);
K=true;
CQ.Ext.History.fireEvent("ready",CQ.Ext.History)
}}return{fieldId:"x-history-field",iframeId:"x-history-frame",events:{},init:function(M,L){if(K){CQ.Ext.callback(M,L,[this]);
return 
}if(!CQ.Ext.isReady){CQ.Ext.onReady(function(){CQ.Ext.History.init(M,L)
});
return 
}D=CQ.Ext.getDom(CQ.Ext.History.fieldId);
if(CQ.Ext.isIE){F=CQ.Ext.getDom(CQ.Ext.History.iframeId)
}this.addEvents("ready","change");
if(M){this.on("ready",M,L,{single:true})
}J()
},add:function(L,N,M){if(N!==false){if(this.getToken()==L){return true
}}if(CQ.Ext.isIE){return I(L)
}else{if(M){top.location.replace("#"+L)
}else{top.location.hash=L
}return true
}},back:function(){history.go(-1)
},forward:function(){history.go(1)
},getToken:function(){return K?E:G()
}}
})();
CQ.Ext.apply(CQ.Ext.History,new CQ.Ext.util.Observable());
CQ.data.SlingStore=function(B){CQ.data.SlingStore.superclass.constructor.call(this,CQ.Ext.apply(B,{proxy:!B.data?new CQ.Ext.data.HttpProxy({url:B.url}):undefined,reader:new CQ.data.SlingReader(B,B.fields)}))
};
CQ.Ext.extend(CQ.data.SlingStore,CQ.Ext.data.Store);
CQ.data.SlingReader=function(B,C){B=B||{};
CQ.Ext.data.JsonReader.superclass.constructor.call(this,B,C||B.fields)
};
CQ.Ext.extend(CQ.data.SlingReader,CQ.Ext.data.JsonReader,{read:function(response){var json=response.responseText;
var rootData=eval("("+json+")");
if(!rootData){throw {message:"SlingReader.read: Json object not found"}
}var fields=[];
var data={};
for(var propName in rootData){var mappedName=propName.replace(/\./g,"%2e");
if(mappedName!=propName){fields.push({name:propName,mapping:mappedName})
}else{fields.push(propName)
}data[mappedName]=rootData[propName]
}var o={root:[data],results:1,success:true,metaData:{successProperty:"success",totalProperty:"results",root:"root",fields:fields}};
delete this.ef;
this.meta=o.metaData;
this.recordType=CQ.data.SlingRecord.create(o.metaData.fields);
this.onMetaChange(this.meta,this.recordType,o);
delete o.metaData;
return this.readRecords(o)
}});
CQ.data.SlingRecord=CQ.Ext.extend(CQ.Ext.data.Record,{get:function(B){var F;
if(B&&B.indexOf("/")>=0){var E=this.data;
B=B.replace("./","");
var G=B.split("/");
for(var C=0;
C<G.length;
C++){if(E){var D=G[C];
if(C==G.length-1){F=E[D]
}else{E=E[D]
}}}}else{F=this.data[B]
}F=CQ.Sling.processBinaryData(F);
return F
}});
CQ.data.SlingRecord.create=function(G,C){var E=CQ.Ext.extend(CQ.data.SlingRecord,{});
var F=E.prototype;
F.url=C;
F.fields=new CQ.Ext.util.MixedCollection(false,function(H){return H.name
});
for(var D=0,B=G.length;
D<B;
D++){F.fields.add(new CQ.Ext.data.Field(G[D]))
}E.getField=function(H){return F.fields.get(H)
};
return E
};
CQ.data.SlingRecord.AUTO_ID=1000;
CQ.Ext.override(CQ.Ext.Element,{setWidth:function(C,B){if(isNaN(C)&&typeof C!="string"){C="auto"
}C=this.adjustWidth(C);
if(!B||!A){this.dom.style.width=this.addUnits(C)
}else{this.anim({width:{to:C}},this.preanim(arguments,1))
}return this
},anchorToAction:null,anchorTo:function(E,H,F,C,D,G){this.removeAnchorToAction();
this.anchorToAction=function(){this.alignTo(E,H,F,C);
CQ.Ext.callback(G,this)
};
CQ.Ext.EventManager.onWindowResize(this.anchorToAction,this);
var B=typeof D;
if(B!="undefined"){CQ.Ext.EventManager.on(window,"scroll",this.anchorToAction,this,{buffer:B=="number"?D:50})
}this.anchorToAction.call(this);
return this
},removeAnchorToAction:function(){if(this.anchorToAction){CQ.Ext.EventManager.removeResizeListener(this.anchorToAction,this);
CQ.Ext.EventManager.un(window,"scroll",this.anchorToAction,this)
}},remove:function(){this.removeAnchorToAction();
CQ.Ext.removeNode(this.dom);
delete CQ.Ext.Element.cache[this.dom.id];
var B=this;
window.setTimeout(function(){for(var C in B){if(C!="events"){delete B[C]
}}delete B
},100)
}});
CQ.Ext.lib.Event=function(){var C=false;
var D={};
var H={};
var F=0;
var E=[];
var B=0;
var G=null;
return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,_interval:null,startInterval:function(){if(!this._interval){var I=this;
var J=function(){I._tryPreloadAttach()
};
this._interval=setInterval(J,this.POLL_INTERVAL)
}},onAvailable:function(K,I,L,J){E.push({id:K,fn:I,obj:L,override:J,checkReady:false});
F=this.POLL_RETRYS;
this.startInterval()
},addListener:function(N,J,M){N=CQ.Ext.getDom(N);
if(!N||!M){return false
}var O=CQ.Ext.id(N);
if("unload"==J){if(H[O]===undefined){H[O]=[]
}H[O][H[O].length]=[N,J,M];
return true
}var L=function(P){return typeof Ext!="undefined"?M(CQ.Ext.lib.Event.getEvent(P)):false
};
var I=[N,J,M,L];
if(D[O]===undefined){D[O]=[]
}var K=D[O].length;
D[O][K]=I;
this.doAdd(N,J,L,false);
return true
},removeListener:function(J,M,P){var K,O;
J=CQ.Ext.getDom(J);
if(!P){return this.purgeElement(J,false,M)
}var I=J.id;
if("unload"==M){if(H[I]===undefined){return false
}for(K=0,O=H[I].length;
K<O;
K++){var Q=H[I][K];
if(Q&&Q[1]==M&&Q[2]==P){H[I].splice(K,1);
return true
}}return false
}var L=null;
var N=arguments[3];
if("undefined"==typeof N){N=this._getCacheIndex(J,M,P)
}if(N>=0&&D[I]){L=D[I][N]
}if(!J||!L){return false
}this.doRemove(J,M,L[this.WFN],false);
delete D[I][N][this.WFN];
delete D[I][N][this.FN];
D[I].splice(N,1);
return true
},getTarget:function(K,J){K=K.browserEvent||K;
var I=K.target||K.srcElement;
return this.resolveTextNode(I)
},resolveTextNode:function(I){if(CQ.Ext.isSafari&&I&&3==I.nodeType){return I.parentNode
}else{return I
}},getPageX:function(J){J=J.browserEvent||J;
var I=J.pageX;
if(!I&&0!==I){I=J.clientX||0;
if(CQ.Ext.isIE){I+=this.getScroll()[1]
}}return I
},getPageY:function(I){I=I.browserEvent||I;
var J=I.pageY;
if(!J&&0!==J){J=I.clientY||0;
if(CQ.Ext.isIE){J+=this.getScroll()[0]
}}return J
},getXY:function(I){I=I.browserEvent||I;
return[this.getPageX(I),this.getPageY(I)]
},getRelatedTarget:function(J){J=J.browserEvent||J;
var I=J.relatedTarget;
if(!I){if(J.type=="mouseout"){I=J.toElement
}else{if(J.type=="mouseover"){I=J.fromElement
}}}return this.resolveTextNode(I)
},getTime:function(K){K=K.browserEvent||K;
if(!K.time){var J=new Date().getTime();
try{K.time=J
}catch(I){this.lastError=I;
return J
}}return K.time
},stopEvent:function(I){this.stopPropagation(I);
this.preventDefault(I)
},stopPropagation:function(I){I=I.browserEvent||I;
if(I.stopPropagation){I.stopPropagation()
}else{I.cancelBubble=true
}},preventDefault:function(I){I=I.browserEvent||I;
if(I.preventDefault){I.preventDefault()
}else{I.returnValue=false
}},getEvent:function(J){var I=J||window.event;
if(!I){var K=this.getEvent.caller;
while(K){I=K.arguments[0];
if(I&&Event==I.constructor){break
}K=K.caller
}}return I
},getCharCode:function(I){I=I.browserEvent||I;
return I.charCode||I.keyCode||0
},_getCacheIndex:function(N,K,M){if(D[N.id]===undefined){return -1
}for(var L=0,J=D[N.id].length;
L<J;
++L){var I=D[N.id][L];
if(I&&I[this.FN]==M&&I[this.TYPE]==K){return L
}}return -1
},elCache:{},getEl:function(I){return document.getElementById(I)
},clearCache:function(){},_load:function(J){C=true;
var I=CQ.Ext.lib.Event;
if(CQ.Ext.isIE){I.doRemove(window,"load",I._load)
}},_tryPreloadAttach:function(){if(this.locked){return false
}this.locked=true;
var O=!C;
if(!O){O=(F>0)
}var N=[];
for(var J=0,I=E.length;
J<I;
++J){var M=E[J];
if(M){var L=this.getEl(M.id);
if(L){if(!M.checkReady||C||L.nextSibling||(document&&document.body)){var K=L;
if(M.override){if(M.override===true){K=M.obj
}else{K=M.override
}}M.fn.call(K,M.obj);
E[J]=null
}}else{N.push(M)
}}}F=(N.length===0)?0:F-1;
if(O){this.startInterval()
}else{clearInterval(this._interval);
this._interval=null
}this.locked=false;
return true
},purgeElement:function(M,N,K){var O=this.getListeners(M,K);
if(O){for(var L=0,I=O.length;
L<I;
++L){var J=O[L];
this.removeListener(M,J.type,J.fn)
}}if(N&&M&&M.childNodes){for(L=0,I=M.childNodes.length;
L<I;
++L){this.purgeElement(M.childNodes[L],N,K)
}}},getListeners:function(K,P){var N=[],I;
if(!P){I=[D,H]
}else{if(P=="unload"){I=[H]
}else{I=[D]
}}var J=K.id;
for(var M=0;
M<I.length;
++M){var R=I[M];
if(R&&R.length>0&&R[J]!==undefined){for(var O=0,Q=R[J].length;
O<Q;
++O){var L=R[J][O];
if(L&&(!P||P===L[this.TYPE])){N.push({type:L[this.TYPE],fn:L[this.FN],obj:L[this.OBJ],adjust:L[this.ADJ_SCOPE],index:O})
}}}}return(N.length)?N:null
},_unload:function(P){var J=CQ.Ext.lib.Event,M,L,K,O,N;
for(M=0,O=H.length;
M<O;
++M){K=H[M];
if(K){var Q=window;
if(K[J.ADJ_SCOPE]){if(K[J.ADJ_SCOPE]===true){Q=K[J.OBJ]
}else{Q=K[J.ADJ_SCOPE]
}}K[J.FN].call(Q,J.getEvent(P),K[J.OBJ]);
H[M]=null;
K=null;
Q=null
}}H=null;
if(D&&D.length>0){for(var I in D){if(!D.hasOwnProperty(I)){continue
}L=D[I].length;
while(L){N=L-1;
K=D[I][N];
if(K){J.removeListener(K[J.EL],K[J.TYPE],K[J.FN],N)
}L=L-1
}K=null
}J.clearCache()
}J.doRemove(window,"unload",J._unload)
},getScroll:function(){var I=document.documentElement,J=document.body;
if(I&&(I.scrollTop||I.scrollLeft)){return[I.scrollTop,I.scrollLeft]
}else{if(J){return[J.scrollTop,J.scrollLeft]
}else{return[0,0]
}}},doAdd:function(){if(window.addEventListener){return function(L,J,K,I){L.addEventListener(J,K,(I))
}
}else{if(window.attachEvent){return function(L,J,K,I){L.attachEvent("on"+J,K)
}
}else{return function(){}
}}}(),doRemove:function(){if(window.removeEventListener){return function(L,J,K,I){L.removeEventListener(J,K,(I))
}
}else{if(window.detachEvent){return function(K,I,J){K.detachEvent("on"+I,J)
}
}else{return function(){}
}}}()}
}();
CQ.Ext.dd.DragDropMgr.fireEvents=function(K,L){var N=this.dragCurrent;
if(!N||N.isLocked()){return 
}var O=K.getPoint();
var B=[];
var E=[];
var I=[];
var G=[];
var D=[];
for(var F in this.dragOvers){var C=this.dragOvers[F];
if(!this.isTypeOfDD(C)){continue
}if(!this.isOverTarget(O,C,this.mode)){E.push(C)
}B[F]=true;
delete this.dragOvers[F]
}for(var M in N.groups){if("string"!=typeof M){continue
}for(F in this.ids[M]){var H=this.ids[M][F];
if(!this.isTypeOfDD(H)){continue
}if(H.isTarget&&!H.isLocked()&&H!=N){if(this.isOverTarget(O,H,this.mode)){if(L&&G.indexOf(H)==-1){G.push(H)
}else{if(!B[H.id]&&D.indexOf(H)==-1){D.push(H)
}else{if(I.indexOf(H)==-1){I.push(H)
}}this.dragOvers[H.id]=H
}}}}}if(this.mode){if(E.length){N.b4DragOut(K,E);
N.onDragOut(K,E)
}if(D.length){N.onDragEnter(K,D)
}if(I.length){N.b4DragOver(K,I);
N.onDragOver(K,I)
}if(G.length){N.b4DragDrop(K,G);
N.onDragDrop(K,G)
}}else{var J=0;
for(F=0,J=E.length;
F<J;
++F){N.b4DragOut(K,E[F].id);
N.onDragOut(K,E[F].id)
}for(F=0,J=D.length;
F<J;
++F){N.onDragEnter(K,D[F].id)
}for(F=0,J=I.length;
F<J;
++F){N.b4DragOver(K,I[F].id);
N.onDragOver(K,I[F].id)
}for(F=0,J=G.length;
F<J;
++F){N.b4DragDrop(K,G[F].id);
N.onDragDrop(K,G[F].id)
}}if(L&&!G.length){N.onInvalidDrop(K)
}};
CQ.Ext.override(CQ.Ext.dd.DragZone,{destroy:function(B){if(this.containerScroll){CQ.Ext.dd.ScrollManager.unregister(this.el)
}CQ.Ext.dd.DragZone.superclass.destroy.call(this)
}});
CQ.Ext.override(CQ.Ext.data.Node,{getPath:function(C){C=C||"name";
var E=this.parentNode;
var B=[this.attributes[C]];
while(E){if(E.attributes[C]!=""){B.unshift(E.attributes[C])
}E=E.parentNode
}var D=this.getOwnerTree().pathSeparator;
return D+B.join(D)
}});
CQ.Ext.override(CQ.Ext.state.CookieProvider,{set:function(B,C){if(B.indexOf("cq-comp-")==0||typeof C=="undefined"||C===null){this.clear(B);
return 
}this.setCookie(B,C);
CQ.Ext.state.CookieProvider.superclass.set.call(this,B,C)
}});
CQ.Ext.override(CQ.Ext.Component,{stateful:false,hasClass:function(B){if(this.el){return this.el.hasClass(B)
}else{if(this.cls){if(this.cls.indexOf(" ")!=-1){return this.cls.indexOf(B+" ")!=-1||this.cls.indexOf(" "+B)!=-1
}else{return this.cls==B
}}}return false
},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();
CQ.Ext.ComponentMgr.unregister(this);
this.fireEvent("destroy",this);
this.purgeListeners();
var B=this;
window.setTimeout(function(){for(var C in B){if(C!="events"){delete B[C]
}}delete B
},100)
}}});
CQ.Ext.override(CQ.Ext.Button,{beforeDestroy:function(){if(this.rendered){var B=this.el.child(this.buttonSelector);
if(B){if(this.tooltip){CQ.Ext.QuickTips.unregister(B)
}B.removeAllListeners()
}}if(this.menu){CQ.Ext.destroy(this.menu)
}}});
CQ.Ext.override(CQ.Ext.DataView,{onDestroy:function(){CQ.Ext.DataView.superclass.onDestroy.call(this);
if(this.store){if(this.store.destroy){this.store.destroy()
}this.store=null
}}});
CQ.Ext.override(CQ.Ext.Viewport,{initComponent:function(){CQ.Ext.Viewport.superclass.initComponent.call(this);
document.getElementsByTagName("html")[0].className+=" x-viewport";
this.el=CQ.Ext.getBody();
this.el.setHeight=CQ.Ext.emptyFn;
this.el.setWidth=CQ.Ext.emptyFn;
this.el.setSize=CQ.Ext.emptyFn;
this.el.dom.scroll="no";
this.allowDomMove=false;
this.autoWidth=true;
this.autoHeight=true;
CQ.Ext.EventManager.onWindowResize(this.fireResize,this);
this.renderTo=this.el;
this.on("render",function(){if(!this.debug){if(!CQ.HTTP.getCookie("cq-firebug-warn")&&window.console&&window.console.firebug){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Warning"),CQ.I18n.getMessage("Firebug is known to cause performance issues. ")+CQ.I18n.getMessage("Disable Firebug if you experience performance problems."));
CQ.HTTP.setCookie("cq-firebug-warn","1",CQ.Util.externalize("/"),1)
}}},this)
}});
CQ.Ext.override(CQ.Ext.Panel,{createElement:function(B,D){if(this[B]){D.appendChild(this[B].dom);
return 
}if(B==="bwrap"||this.elements.indexOf(B)!=-1){if(this[B+"Cfg"]){this[B]=CQ.Ext.fly(D).createChild(this[B+"Cfg"])
}else{var C=document.createElement("div");
C.className=this[B+"Cls"];
this[B]=CQ.Ext.get(D.tagName.toLowerCase()=="iframe"?C:D.appendChild(C))
}}},beforeDestroy:function(){if(this.header){this.header.removeAllListeners();
if(this.headerAsText){CQ.Ext.Element.uncache(this.header.child("span"))
}}CQ.Ext.Element.uncache(this.header,this.tbar,this.bbar,this.footer,this.body,this.bwrap);
if(this.tools){for(var C in this.tools){CQ.Ext.destroy(this.tools[C])
}}if(this.buttons){for(var B in this.buttons){CQ.Ext.destroy(this.buttons[B])
}}CQ.Ext.destroy(this.topToolbar,this.bottomToolbar);
CQ.Ext.Panel.superclass.beforeDestroy.call(this)
}});
CQ.Ext.override(CQ.Ext.dd.PanelProxy,{show:function(){if(!this.ghost){this.ghost=this.panel.createGhost(undefined,undefined,CQ.Ext.get("CQ"));
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"
}}});
CQ.Ext.override(CQ.Ext.TabPanel,{stateful:false,stateEvents:["tabchange"],getState:function(){return{activeTab:this.getActiveTab().id}
},applyState:function(B){this.setActiveTab(B.activeTab)
},onRemove:function(D,C){CQ.Ext.destroy(CQ.Ext.get(this.getTabEl(C)));
this.stack.remove(C);
C.un("disable",this.onItemDisabled,this);
C.un("enable",this.onItemEnabled,this);
C.un("titlechange",this.onItemTitleChanged,this);
C.un("beforeshow",this.onBeforeShowItem,this);
if(C==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()
},beforeDestroy:function(){if(this.items){this.items.each(function(B){if(B&&B.tabEl){CQ.Ext.get(B.tabEl).removeAllListeners();
B.tabEl=null
}},this)
}if(this.strip){this.strip.removeAllListeners()
}CQ.Ext.TabPanel.superclass.beforeDestroy.apply(this)
}});
CQ.Ext.override(CQ.Ext.Window,{removeAnchorToAction:function(B){if(this[B]){CQ.Ext.EventManager.removeResizeListener(this[B],this);
CQ.Ext.EventManager.un(window,"scroll",this[B],this)
}},beforeDestroy:function(){this.hide();
CQ.Ext.destroy(this.focusEl,this.resizer,this.dd,this.proxy,this.mask);
CQ.Ext.Window.superclass.beforeDestroy.call(this)
}});
CQ.Ext.override(CQ.Ext.form.FormPanel,{initFields:function(){var D=this.form;
var B=this;
var C=function(E){if(E.doLayout&&E!=B){CQ.Ext.applyIf(E,{labelAlign:E.ownerCt.labelAlign,labelWidth:E.ownerCt.labelWidth,itemCls:E.ownerCt.itemCls});
if(E.items){E.items.each(C)
}}if(E.isFormField){D.add(E)
}};
this.items.each(C)
}});
CQ.Ext.override(CQ.Ext.form.Field,{ignoreData:false,dropTargets:null,defaultValue:null,processRecord:function(B,D){var C=B.get(this.getName());
if(C==undefined&&this.defaultValue!=null){this.setValue(this.defaultValue)
}else{this.setValue(C)
}},getDropTargets:function(){return this.dropTargets
},afterRender:function(){CQ.Ext.form.Field.superclass.afterRender.call(this);
if(this.tooltip){var C=this.getEl().up("div.x-form-item");
if(C){var B=C.child("label");
if(B){CQ.Ext.QuickTips.register({target:B,title:"",text:CQ.I18n.getMessage(this.tooltip),enabled:true})
}}}this.initEvents();
this.initValue()
}});
CQ.Ext.override(CQ.Ext.form.TextField,{evaluateValidatorsFirst:false,executeCustomValidators:function(B){if(this.vtype){var D=CQ.Ext.form.VTypes;
if(!D[this.vtype](B,this)){this.markInvalid(this.vtypeText||D[this.vtype+"Text"]);
return false
}}if(typeof this.validator=="function"){var C=this.validator(B);
if(C!==true){this.markInvalid(C);
return false
}}return null
},validateValue:function(C){var B;
if(this.evaluateValidatorsFirst){B=this.executeCustomValidators(C);
if(B!==null){return B
}}if(C.length<1||C===this.emptyText){if(this.allowBlank){this.clearInvalid();
return true
}else{this.markInvalid(this.blankText);
return false
}}if(C.length<this.minLength){this.markInvalid(String.format(this.minLengthText,this.minLength));
return false
}if(C.length>this.maxLength){this.markInvalid(String.format(this.maxLengthText,this.maxLength));
return false
}if(!this.evaluateValidatorsFirst){B=this.executeCustomValidators(C);
if(B!==null){return B
}}if(this.regex&&!this.regex.test(C)){this.markInvalid(this.regexText);
return false
}return true
},getCaretPosition:function(){var C=this.getRawValue();
if(C.length==0){return 0
}var D=this.el.dom;
if(document.selection!=undefined){D.focus();
var B=document.selection.createRange();
B.moveStart("character",-C.length);
return B.text.length
}else{if(D.selectionStart!=undefined){return D.selectionStart
}else{return C.length
}}},setCaretPosition:function(E){var D=this.el.dom;
if(document.selection!=undefined){var C=this.getRawValue();
D.focus();
var B=document.selection.createRange();
B.moveStart("character",-C.length);
B.moveStart("character",E);
B.moveEnd("character",0)
}else{if(D.selectionStart!=undefined){D.selectionStart=E;
D.selectionEnd=E;
D.focus()
}else{D.focus()
}}},getTermAtCaret:function(B){return this.getTermAt(this.getCaretPosition())
},getTermAt:function(G){var C=this.getRawValue();
var E=this.el.dom;
if(C.charAt(G)==" "){G-=1
}var F=C.lastIndexOf(" ",G)+1;
var B=C.indexOf(" ",G);
var D;
if(B==-1){return C.substring(F)
}else{return C.substring(F,B)
}}});
CQ.Ext.override(CQ.Ext.form.TriggerField,{afterRender:function(){CQ.Ext.form.TriggerField.superclass.afterRender.call(this);
var B;
if(CQ.Ext.isIE&&this.el.getY()!=(B=this.trigger.getY())&&!this.hideTrigger){this.el.position();
this.el.setY(B)
}}});
CQ.Ext.override(CQ.Ext.form.HtmlEditor,{autoMonitorDesignMode:true,formatButtons:null,alignmentButtons:null,listButtons:null,linkButtons:null,colorButtons:null,editToolButtons:null,createToolbar:function(E){var B=CQ.Ext.QuickTips&&CQ.Ext.QuickTips.isEnabled();
function D(H,F,G){return{itemId:H,cls:"x-btn-icon x-edit-"+H,enableToggle:F!==false,scope:E,handler:G||E.relayBtnCmd,clickEvent:"mousedown",tooltip:B?E.buttonTips[H]||undefined:undefined,tabIndex:-1}
}var C=new CQ.Ext.Toolbar({renderTo:this.wrap.dom.firstChild});
C.el.on("click",function(F){F.preventDefault()
});
if(this.enableFont&&!CQ.Ext.isSafari2){this.fontSelect=C.el.createChild({tag:"select",cls:"x-font-select",html:this.createFontOptions()});
this.fontSelect.on("change",function(){var F=this.fontSelect.dom.value;
this.relayCmd("fontname",F);
this.deferFocus()
},this);
C.add(this.fontSelect.dom,"-")
}if(this.enableFormat){if(this.isButtonEnabled("format","bold")){C.add(D("bold"))
}if(this.isButtonEnabled("format","italic")){C.add(D("italic"))
}if(this.isButtonEnabled("format","underline")){C.add(D("underline"))
}}if(this.enableFontSize){C.add("-",D("increasefontsize",false,this.adjustFont),D("decreasefontsize",false,this.adjustFont))
}if(this.enableColors){C.add("-");
if(this.isButtonEnabled("colors","foreground")){C.add({itemId:"forecolor",cls:"x-btn-icon x-edit-forecolor",clickEvent:"mousedown",tooltip:B?E.buttonTips.forecolor||undefined:undefined,tabIndex:-1,menu:new CQ.Ext.menu.ColorMenu({allowReselect:true,focus:CQ.Ext.emptyFn,value:"000000",plain:true,selectHandler:function(G,F){this.execCmd("forecolor",CQ.Ext.isSafari||CQ.Ext.isIE?"#"+F:F);
this.deferFocus()
},scope:this,clickEvent:"mousedown"})})
}if(this.isButtonEnabled("colors","background")){C.add({itemId:"backcolor",cls:"x-btn-icon x-edit-backcolor",clickEvent:"mousedown",tooltip:B?E.buttonTips.backcolor||undefined:undefined,tabIndex:-1,menu:new CQ.Ext.menu.ColorMenu({focus:CQ.Ext.emptyFn,value:"FFFFFF",plain:true,allowReselect:true,selectHandler:function(G,F){if(CQ.Ext.isGecko){this.execCmd("useCSS",false);
this.execCmd("hilitecolor",F);
this.execCmd("useCSS",true);
this.deferFocus()
}else{this.execCmd(CQ.Ext.isOpera?"hilitecolor":"backcolor",CQ.Ext.isSafari||CQ.Ext.isIE?"#"+F:F);
this.deferFocus()
}},scope:this,clickEvent:"mousedown"})})
}}if(this.enableAlignments){C.add("-");
if(this.isButtonEnabled("alignments","left")){C.add(D("justifyleft"))
}if(this.isButtonEnabled("alignments","center")){C.add(D("justifycenter"))
}if(this.isButtonEnabled("alignments","right")){C.add(D("justifyright"))
}}if(!CQ.Ext.isSafari2){if(this.enableLinks){if(this.isButtonEnabled("links","createlink")){C.add("-",D("createlink",false,this.createLink))
}}if(this.enableLists){C.add("-");
if(this.isButtonEnabled("lists","ordered")){C.add(D("insertorderedlist"))
}if(this.isButtonEnabled("lists","unordered")){C.add(D("insertunorderedlist"))
}}if(this.enableSourceEdit){C.add("-",D("sourceedit",true,function(F){this.toggleSourceEdit(F.pressed)
}))
}}this.tb=[C]
},onRender:function(G,F){CQ.Ext.form.HtmlEditor.superclass.onRender.call(this,G,F);
this.el.dom.style.border="0 none";
this.el.dom.setAttribute("tabIndex",-1);
this.el.addClass("x-hidden");
if(CQ.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);
var H=this.tb.length;
for(var D=0;
D<H;
D++){this.tb[D].items.each(function(K){if(K.itemId!="sourceedit"){K.disable()
}})
}var E=document.createElement("iframe");
E.name=CQ.Ext.id();
E.frameBorder="0";
E.src=(CQ.Ext.SSL_SECURE_URL||"javascript:;");
this.wrap.dom.appendChild(E);
this.iframe=E;
var I=CQ.Ext.get(E);
var J=!I.isVisible(true);
if(CQ.Ext.isIE){E.contentWindow.document.designMode="on";
this.doc=E.contentWindow.document;
this.win=E.contentWindow
}else{this.doc=(E.contentDocument||window.frames[E.name].document);
this.win=window.frames[E.name];
this.doc.designMode="on"
}this.doc.open();
this.doc.write(this.getDocMarkup());
this.doc.close();
var C=function(){if(I.isVisible(true)){if(this.doc.body||(this.doc.readyState=="complete")){CQ.Ext.TaskMgr.stop(B);
this.initEditor.defer(10,this)
}}};
var B={run:C,interval:(J?100:10),scope:this};
if(!J){B.duration=10000
}CQ.Ext.TaskMgr.start(B);
if(!this.width){this.setSize(this.el.getSize())
}},onResize:function(D,E){CQ.Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);
if(this.el&&this.iframe){var H;
var F=this.tb.length;
if(typeof D=="number"){var G=D-this.wrap.getFrameWidth("lr");
this.el.setWidth(this.adjustWidth("textarea",G));
if(!isNaN(G)&&(G>0)){this.iframe.style.width=G+"px"
}}for(H=0;
H<F;
H++){this.tb[H].onResize(D,this.tb[H].el.getHeight())
}if(typeof E=="number"){var B=0;
for(H=0;
H<F;
H++){B+=this.tb[H].el.getHeight()
}var C=E-this.wrap.getFrameWidth("tb")-B;
this.el.setHeight(this.adjustWidth("textarea",C));
if(!isNaN(C)&&(C>0)){this.iframe.style.height=C+"px";
if(this.doc){this.getEditorBody().style.height=(C-(this.iframePad*2))+"px"
}}}}},initEditor:function(){var C=this.getEditorBody();
var B=this.el.getStyles("font-size","font-family","background-image","background-repeat");
B["background-attachment"]="fixed";
C.bgProperties="fixed";
CQ.Ext.DomHelper.applyStyles(C,B);
if(this.doc){try{CQ.Ext.EventManager.removeAll(this.doc)
}catch(D){}}this.doc=this.getDoc();
CQ.Ext.EventManager.on(this.doc,{mousedown:this.onEditorEvent,dblclick:this.onEditorEvent,click:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this});
if(CQ.Ext.isGecko){CQ.Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)
}if(CQ.Ext.isIE||CQ.Ext.isSafari||CQ.Ext.isOpera||CQ.Ext.isGecko){CQ.Ext.EventManager.on(this.doc,"keydown",this.fixKeys,this)
}this.initialized=true;
this.fireEvent("initialize",this);
this.doc.editorInitialized=true;
this.pushValue()
},isButtonEnabled:function(F,D){var B=false;
var E=null;
if(F=="format"){B=this.enableFormat;
E=this.formatButtons
}else{if(F=="alignments"){B=this.enableAlignments;
E=this.alignmentButtons
}else{if(F=="colors"){B=this.enableColors;
E=this.colorButtons
}else{if(F=="lists"){B=this.enableLists;
E=this.listButtons
}else{if(F=="links"){B=this.enableLinks;
E=this.linkButtons
}else{if(F=="edit"){B=this.enableEditTools;
E=this.editToolButtons
}}}}}}var C=false;
if(B){if(E){C=!!E[D]
}else{C=true
}}return C
},getAllButtons:function(){var E={};
var D=this.tb.length;
for(var F=0;
F<D;
F++){var C=this.tb[F].items.map;
for(var B in C){E[B]=C[B]
}}return E
},updateToolbar:function(){if(!this.activated){this.onFirstFocus();
return 
}var D=this.doc;
var C=this.getAllButtons();
if(this.enableFont&&!CQ.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){if(this.isButtonEnabled("format","bold")){C.bold.toggle(D.queryCommandState("bold"))
}if(this.isButtonEnabled("format","italic")){C.italic.toggle(D.queryCommandState("italic"))
}if(this.isButtonEnabled("format","underline")){C.underline.toggle(D.queryCommandState("underline"))
}}if(this.enableAlignments){if(this.isButtonEnabled("alignments","left")){C.justifyleft.toggle(D.queryCommandState("justifyleft"))
}if(this.isButtonEnabled("alignments","center")){C.justifycenter.toggle(D.queryCommandState("justifycenter"))
}if(this.isButtonEnabled("alignments","right")){C.justifyright.toggle(D.queryCommandState("justifyright"))
}}if(!CQ.Ext.isSafari2&&this.enableLists){if(this.isButtonEnabled("lists","ordered")){C.insertorderedlist.toggle(D.queryCommandState("insertorderedlist"))
}if(this.isButtonEnabled("lists","unordered")){C.insertunorderedlist.toggle(D.queryCommandState("insertunorderedlist"))
}}CQ.Ext.menu.MenuMgr.hideAll();
this.syncValue()
},pushValue:function(){if(this.initialized){var B=this.el.dom.value;
if(!this.activated&&(B.length<1)){if(CQ.Ext.isGecko){B="<br>"
}}if(this.fireEvent("beforepush",this,B)!==false){if(!CQ.Ext.isGecko){this.getEditorBody().innerHTML=B
}else{this.getEditorBody().innerHTML="";
if(B){var C=this.doc.designMode;
this.doc.designMode="off";
this.getEditorBody().innerHTML=B;
this.doc.designMode=C
}}this.fireEvent("push",this,B)
}}},preprocessHtml:function(B){return B
},getToolbarItem:function(D){var C=this.tb.length;
for(var E=0;
E<C;
E++){var B=this.tb[E].items.get(D);
if(B){return B
}}return null
},toggleSourceEdit:function(B){if(B===undefined){B=!this.sourceEditMode
}this.sourceEditMode=B===true;
var D=this.getToolbarItem("sourceedit");
if(D.pressed!==this.sourceEditMode){D.toggle(this.sourceEditMode);
return 
}var E=this.tb.length;
if(this.sourceEditMode){for(var G=0;
G<E;
G++){this.tb[G].items.each(function(H){if(H.itemId!="sourceedit"){H.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){for(var G=0;
G<E;
G++){this.tb[G].items.each(function(H){H.enable()
})
}}var F=this.el.dom.value;
this.el.dom.value=this.preprocessHtml(F);
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)
},fixKeys:function(){if(CQ.Ext.isIE){return function(G){var C=G.getKey(),D;
if(C==G.TAB){G.stopEvent();
D=this.doc.selection.createRange();
if(D){D.collapse(true);
D.pasteHTML("&nbsp;&nbsp;&nbsp;&nbsp;");
this.deferFocus()
}}else{if(C==G.ENTER){D=this.doc.selection.createRange();
if(D){var F=D.parentElement();
var B=false;
while(F){var E=F.tagName.toLowerCase();
if((E=="li")||E.match(/h[1-6]/)){B=true;
break
}if(E!="body"){F=F.parentNode
}else{F=null
}}if(!B){G.stopEvent();
D.pasteHTML("<br />");
D.collapse(false);
D.select()
}}}}}
}else{if(CQ.Ext.isOpera){return function(C){var B=C.getKey();
if(B==C.TAB){C.stopEvent();
this.win.focus();
this.execCmd("InsertHTML","&nbsp;&nbsp;&nbsp;&nbsp;");
this.deferFocus()
}}
}else{if(CQ.Ext.isSafari){return function(C){var B=C.getKey();
if(B==C.TAB){C.stopEvent();
this.execCmd("InsertText","\t");
this.deferFocus()
}}
}}}return function(B){}
}(),onDestroy:function(){if(this.monitorTask){CQ.Ext.TaskMgr.stop(this.monitorTask)
}if(this.rendered){var B=this.tb.length;
for(var C=0;
C<B;
C++){this.tb[C].items.each(function(D){if(D.menu){D.menu.removeAll();
if(D.menu.el){D.menu.el.destroy()
}}D.destroy()
})
}this.wrap.dom.innerHTML="";
this.wrap.remove()
}},onFirstFocus:function(){this.activated=true;
var D=this.tb.length;
for(var F=0;
F<D;
F++){this.tb[F].items.each(function(G){G.enable()
})
}if(CQ.Ext.isGecko){this.win.focus();
var B=this.win.getSelection();
if(!B.focusNode||B.focusNode.nodeType!=3){var C=B.getRangeAt(0);
C.selectNodeContents(this.getEditorBody());
C.collapse(true);
this.deferFocus()
}try{this.execCmd("useCSS",true);
this.execCmd("styleWithCSS",false)
}catch(E){}}this.fireEvent("activate",this)
},getToolbar:function(){return this.tb[0]
},getToolbars:function(){return this.tb
}});
CQ.Ext.form.VTypes.digitsMask=/^\d*$/;
CQ.Ext.form.VTypes.digitsText="This field should only contain numbers";
CQ.Ext.form.VTypes.digits=function(B){return/^\d*$/.test(B)
};
CQ.Ext.form.VTypes.percentMask=/^\d.*\%?$/;
CQ.Ext.form.VTypes.percentText="This field should only contain a percentage in the format '50%'";
CQ.Ext.form.VTypes.percent=function(B){return/^\d.*\%?$/.test(B)
};
CQ.Ext.form.VTypes.itemnameMask=/[a-z0-9_\-]/i;
CQ.Ext.form.VTypes.itemnameText="This field should only contain numbers, letters, dashes and underscores";
CQ.Ext.form.VTypes.itemname=function(B){return/^[a-zA-Z0-9_\-]+$/.test(B)
};
CQ.Ext.form.VTypes.nameMaskTerm=/^([^\|\[\]\*\/\?:'"# ]+|[^\|\[\]\*\/\?:'" ]+[^\|\[\]\*\/\?:'"#]*[^\|\[\]\*\/:'"# ]+)$/;
CQ.Ext.form.VTypes.nameMask=/^[^\|\[\]\*\/\?:'"#]$/;
CQ.Ext.form.VTypes.nameText="The name must not contain<br><br>/ : [ ] * ' \" | ? #<br><br>nor must it start or end with a space";
CQ.Ext.form.VTypes.name=function(B){return CQ.Ext.form.VTypes.nameMaskTerm.test(B)
};
CQ.Ext.form.VTypes.makeName=function(B,E){if(CQ.Ext.form.VTypes.name(B)){return B
}E=E==undefined?"-":E;
var D="";
for(var C=0;
C<B.length;
C++){if(C==0||C==B.length-1){D+=/^[^\|\[\]\*\/:'" ]$/.test(B[C])?B[C]:""
}else{D+=/^[^\|\[\]\*\/:'"]$/.test(B[C])?B[C]:E
}}if(D.length==0){D=E==""?"-":E
}return D
};
CQ.Ext.form.VTypes.requiredOnLinkedData=function(J,I){var F=I.findParentByType("dialog");
var E=CQ.utils.Util.findFormFields(F);
var C=I.linkedComponent;
var B=E[C];
if(B){var D=false;
var K=B.length;
for(var H=0;
H<K;
H++){var G=B[H];
if(G.hasData){if(G.hasData()){D=true;
break
}}}if(!D){return true
}return(J.length>0)
}return true
};
CQ.Ext.form.VTypes.requiredOnLinkedDataText="This field must not be empty when data in the linked field is available.";
CQ.Ext.override(CQ.Ext.form.ComboBox,{initEvents:function(){CQ.Ext.form.ComboBox.superclass.initEvents.call(this);
this.keyNav=new CQ.Ext.KeyNav(this.el,{up:function(B){this.inKeyMode=true;
this.selectPrev()
},down:function(B){if(!this.isExpanded()){this.onTriggerClick()
}else{this.inKeyMode=true;
this.selectNext()
}},enter:function(B){this.onViewClick();
this.delayedCheck=true;
this.unsetDelayCheck.defer(10,this)
},esc:function(B){this.collapse()
},tab:function(B){this.onViewClick(false);
return true
},scope:this,doRelay:function(D,C,B){if(B=="down"||this.scope.isExpanded()){return CQ.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 CQ.Ext.util.DelayedTask(this.initQuery,this);
if(this.typeAhead){this.taTask=new CQ.Ext.util.DelayedTask(this.onTypeAhead,this)
}if((this.editable!==false)&&!this.enableKeyEvents){this.el.on("keyup",this.onKeyUp,this)
}if(this.forceSelection){this.on("blur",this.doForce,this)
}},onKeyUp:function(B){if(this.editable!==false&&!B.isSpecialKey()){this.lastKey=B.getKey();
this.dqTask.delay(this.queryDelay)
}CQ.Ext.form.ComboBox.superclass.onKeyUp.call(this,B)
}});
CQ.Ext.override(CQ.Ext.form.Checkbox,{setValue:function(B){var C=this.checked;
this.checked=(B===true||B==="true"||B=="1"||String(B).toLowerCase()=="on");
if(this.rendered){if(this.el&&this.el.dom){this.el.dom.checked=this.checked;
this.el.dom.defaultChecked=this.checked
}this.wrap[this.checked?"addClass":"removeClass"](this.checkedCls)
}if(C!=this.checked){this.fireEvent("check",this,this.checked);
if(this.handler){this.handler.call(this.scope||this,this,this.checked)
}}}});
CQ.Ext.override(CQ.Ext.grid.GridView,{initTemplates:function(){var D=this.templates||{};
if(!D.master){D.master=new CQ.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">{header}</div></div><div class="x-clear"></div></div>','<div class="x-grid3-scroller"><div class="x-grid3-body">{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(!D.header){D.header=new CQ.Ext.Template('<table border="0" cellspacing="0" cellpadding="0" style="{tstyle}">','<thead><tr class="x-grid3-hd-row">{cells}</tr></thead>',"</table>")
}if(!D.hcell){D.hcell=new CQ.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="',CQ.Ext.BLANK_IMAGE_URL,'" />',"</div></td>")
}if(!D.body){D.body=new CQ.Ext.Template("{rows}")
}if(!D.row){D.row=new CQ.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(!D.cell){D.cell=new CQ.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 B in D){var C=D[B];
if(C&&typeof C.compile=="function"&&!C.compiled){C.disableFormats=true;
C.compile()
}}this.templates=D;
this.colRe=new RegExp("x-grid3-td-([^\\s]+)","")
},getColumnStyle:function(B,D){var C=D?(this.cm.config[B].headerStyle||""):(this.cm.config[B].cellStyle||this.cm.config[B].css||"");
C+="width:"+this.getColumnWidth(B)+";";
if(this.cm.isHidden(B)){C+="display:none;"
}var E=this.cm.config[B].align;
if(E){C+="text-align:"+E+";"
}return C
},getColumnData:function(){var E=[],B=this.cm,F=B.getColumnCount();
for(var D=0;
D<F;
D++){var C=B.getDataIndex(D);
E[D]={name:(typeof C=="undefined"?this.ds.fields.get(D).name:C),renderer:B.getRenderer(D),id:B.getColumnId(D),style:this.getColumnStyle(D),css:B.config[D].cellCls}
}return E
},renderHeaders:function(){var D=this.cm,G=this.templates;
var F=G.hcell;
var C=[],I=[],H={};
for(var E=0,B=D.getColumnCount();
E<B;
E++){H.id=D.getColumnId(E);
H.value=D.getColumnHeader(E)||"";
H.style=this.getColumnStyle(E,true);
H.css=D.config[E].headerCls;
H.tooltip=this.getColumnTooltip(E);
if(D.config[E].align=="right"){H.istyle="padding-right:16px"
}else{delete H.istyle
}C[C.length]=F.apply(H)
}return G.header.apply({cells:C.join(""),tstyle:"width:"+this.getTotalWidth()+";"})
},doRender:function(F,H,N,B,M,R){var C=this.templates,E=C.cell,G=C.row,I=M-1;
var D="width:"+this.getTotalWidth()+";";
var U=[],O,V,P={},J={tstyle:D},L;
for(var Q=0,T=H.length;
Q<T;
Q++){L=H[Q];
O=[];
var K=(Q+B);
for(var S=0;
S<M;
S++){V=F[S];
P.id=V.id;
P.css=(V.css?V.css:"")+(S==0?" x-grid3-cell-first":(S==I?" x-grid3-cell-last":""));
P.attr=P.cellAttr="";
P.value=V.renderer(L.data[V.name],P,L,K,S,N);
P.style=V.style;
if(P.value==undefined||P.value===""){P.value=" "
}if(L.dirty&&typeof L.modified[V.name]!=="undefined"){P.css+=" x-grid3-dirty-cell"
}O[O.length]=E.apply(P)
}var W=[];
if(R&&((K+1)%2==0)){W[0]="x-grid3-row-alt"
}if(L.dirty){W[1]=" x-grid3-dirty-row"
}J.cols=M;
if(this.getRowClass){W[2]=this.getRowClass(L,K,J,N)
}J.alt=W.join(" ");
J.cells=O.join("");
U[U.length]=G.apply(J)
}return U.join("")
}});
CQ.Ext.override(CQ.Ext.grid.GridView.SplitDragZone,{b4StartDrag:function(B,F){this.view.headersDisabled=true;
var E=this.view.mainWrap.getHeight();
this.marker.setHeight(E);
this.marker.show();
this.marker.alignTo(this.view.getHeaderCell(this.cellIndex),"tl-tl",[-2,0]);
this.proxy.setHeight(E);
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=B-D;
this.maxX=B+1000;
this.startPos=B;
CQ.Ext.dd.DDProxy.prototype.b4StartDrag.call(this,B,F);
if(this.enableTooltip&&this.showTooltip){this.showTooltip(B,F)
}},endDrag:function(E){this.marker.hide();
var B=this.view;
var C=Math.max(this.minX,E.getPageX());
var D=C-this.startPos;
B.onColumnSplitterMoved(this.cellIndex,this.cm.getColumnWidth(this.cellIndex)+D);
setTimeout(function(){B.headersDisabled=false
},50);
if(this.enableTooltip&&this.hideTooltip){this.hideTooltip(E.getPageX(),E.getPageY())
}}});
CQ.Ext.override(CQ.Ext.layout.FormLayout,{renderItem:function(E,B,D){if(E&&!E.rendered&&E.isFormField&&E.inputType!="hidden"){var C=[E.id,E.fieldLabel,E.labelStyle||this.labelStyle||"",this.elementStyle||"",E.fieldSubLabel?'<br><span class="sub-label">'+E.fieldSubLabel+"</span>":"",(E.itemCls||this.container.itemCls||"")+(E.hideLabel?" x-hide-label":""),E.clearCls||"x-form-clear-left",E.fieldDescription?'<div style="'+(this.elementStyle||"")+'" class="x-form-item-description">'+E.fieldDescription+"</div>":""];
if(typeof B=="number"){B=D.dom.childNodes[B]||null
}if(B){this.fieldTpl.insertBefore(B,C)
}else{this.fieldTpl.append(D,C)
}E.render("x-form-el-"+E.id)
}else{CQ.Ext.layout.FormLayout.superclass.renderItem.apply(this,arguments)
}},setContainer:function(C){CQ.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 D=(typeof C.labelPad=="number"?C.labelPad:5);
this.labelAdjust=C.labelWidth+D;
this.labelStyle="width:"+C.labelWidth+"px;";
this.elementStyle="padding-left:"+(C.labelWidth+D)+"px"
}if(C.labelAlign=="top"){this.labelStyle="width:auto;";
this.labelAdjust=0;
this.elementStyle="padding-left:0;"
}}if(!this.fieldTpl){var B=new CQ.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>","{7}",'<div class="{6}"></div>',"</div>");
B.disableFormats=true;
B.compile();
CQ.Ext.layout.FormLayout.prototype.fieldTpl=B
}}});
CQ.Ext.override(CQ.Ext.tree.TreePanel,{stateful:false,stateEvents:["selectionchange"],getState:function(){var B=this.getBox();
return{width:B.width,selectedPath:this.selectedPath}
},initComponent:function(){CQ.Ext.tree.TreePanel.superclass.initComponent.call(this);
if(!this.eventModel){this.eventModel=new CQ.Ext.tree.TreeEventModel(this)
}var B=this.loader;
if(!B){B=new CQ.Ext.tree.TreeLoader({dataUrl:this.dataUrl})
}else{if(typeof B=="object"&&!B.load){B=new CQ.Ext.tree.TreeLoader(B)
}}this.loader=B;
this.nodeHash={};
if(this.root){this.setRootNode(this.root)
}this.addEvents("selectionchange","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)
}if(this.getSelectionModel()){this.getSelectionModel().on("selectionchange",function(C,D){if(D){this.selectedPath=D.getPath();
this.fireEvent("selectionchange",this,this.selectedPath)
}},this)
}this.on("render",function(C){if(C.selectedPath){window.setTimeout(function(){C.selectPath(C.selectedPath)
},0)
}},this)
},splitPath:function(F,B){B=B||"name";
var D=F.split(this.pathSeparator);
var C=this.root.attributes[B];
var E=C.split("/").length;
if(E>1){D.splice(1,E,C)
}return D
},expandPath:function(G,B,H){B=B||"name";
var E=this.splitPath(G,B);
var D=this.root;
if(D.attributes[B]!=E[1]){if(H){H(false,null)
}return 
}var C=1;
var F=function(){if(++C==E.length){if(H){H(true,D)
}return 
}var I=D.findChild(B,E[C]);
if(!I){if(H){H(false,D)
}return 
}D=I;
I.expand(false,false,F)
};
D.expand(false,false,F)
},selectPath:function(F,B,G){B=B||"name";
var D=F.split(this.pathSeparator);
var C=D.pop();
if(D.length>0){var E=function(I,H){if(I&&H){var J=H.findChild(B,C);
if(J){J.select();
if(G){G(true,J)
}}else{if(G){G(false,J)
}}}else{if(G){G(false,J)
}}};
this.expandPath(D.join(this.pathSeparator),B,E)
}else{this.root.select();
if(G){G(true,this.root)
}}}});
CQ.Ext.tree.TreeNodeUI.prototype.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()){if(!this.node.isExpanded()){this.node.toggle()
}}this.fireEvent("click",this.node,C)
}else{C.stopEvent()
}};
CQ.state.PreferencesProvider=function(B){if(B.url){this.url=B.url
}CQ.state.PreferencesProvider.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.state.PreferencesProvider,CQ.Ext.state.Provider,{url:null,data:null,get:function(B){if(!this.data){this.loadPreferences()
}if(this.data){return this.data.get(B)
}else{CQ.Log.warn("CQ.state.PreferencesProvider#get failed: could not load data")
}},set:function(B,C){this.data.beginEdit();
this.data.set(B,C);
this.data.endEdit()
},loadPreferences:function(){try{if(this.url){var response=CQ.HTTP.get(this.url);
if(response){var prefs=CQ.Util.eval(response);
var con=CQ.data.SlingRecord.create({name:"data"});
this.data=new con(prefs)
}else{CQ.Log.debug("CQ.state.PreferencesProvider#loadPreferences: no response for {0}, empty data}",this.url)
}}}catch(e){CQ.Log.warn("CQ.state.PreferencesProvider#loadPreferences: {0}",e.message)
}}});
CQ.utils.Util=function(){var SCRIPT_URL_REGEXP=/\/libs\/cq\/widgets.*\.js$/;
var contextPath="";
var observations={};
var pins=[];
var scrollInterval=null;
var busyCheckingPins=false;
var checkPinsNow=false;
var winWidth=-1;
var idCounter=0;
var checkPins=function(){var checkRegions=false;
var vpw=CQ.Ext.lib.Dom.getViewportWidth();
winWidth=winWidth>0?winWidth:vpw;
if(!checkPinsNow&&(CQ.utils.Util.docScrolling||vpw<winWidth)){checkPinsNow=true
}else{if(!busyCheckingPins&&checkPinsNow){busyCheckingPins=true;
for(var i=0;
i<pins.length;
i++){var el=pins[i].pin;
if(el.getEl){el=el.getEl()
}var box=el.getBox();
var offsetLeft=0;
var totalWidth=box.x+box.width+CQ.themes.Dialog.CORNER_X;
if(winWidth<totalWidth){offsetLeft=winWidth-totalWidth
}var curScroll=CQ.Ext.getDoc().getScroll();
var lastScroll=pins[i].scroll;
var offsetTop=curScroll.top-lastScroll.top;
offsetLeft+=curScroll.left-lastScroll.left;
el.moveTo((box.x+offsetLeft),(box.y+offsetTop),true);
pins[i].scroll=curScroll
}busyCheckingPins=false;
checkPinsNow=false
}}winWidth=vpw
};
var getObservation=function(interval){var time;
switch(interval){case CQ.Util.VERY_SHORT_INTERVAL:time=200;
break;
case CQ.Util.LONG_INTERVAL:time=20000;
break;
case CQ.Util.VERY_LONG_INTERVAL:time=240000;
break;
default:time=1000;
interval=CQ.Util.SHORT_INTERVAL
}if(!observations[interval]){observations[interval]={components:[],name:interval,time:time,started:false}
}return observations[interval]
};
return{ROOT_ID:"CQ",I18N_ONLY:1,FORMAT_ONLY:2,VERY_SHORT_INTERVAL:"VERY_SHORT_INTERVAL",SHORT_INTERVAL:"SHORT_INTERVAL",LONG_INTERVAL:"LONG_INTERVAL",VERY_LONG_INTERVAL:"VERY_LONG_INTERVAL",docScrolling:false,createRoot:function(){var root=new CQ.Ext.Element(document.createElement("div"));
root.dom.id=CQ.utils.Util.ROOT_ID;
try{document.body.appendChild(root.dom);
return root
}catch(e){return null
}},getRoot:function(){return CQ.Ext.get(CQ.utils.Util.ROOT_ID)
},isRoot:function(item){return item==document.body||item==CQ.utils.Util.ROOT_ID||item==CQ.Ext.getBody()
},build:function(data,noFormatting,callback,debug,extensions){if(typeof data!="object"){CQ.Log.debug("CQ.utils.Util.build: retrieving component data from {0}",data);
try{if(callback){var buildCallback=function(options,success,response){if(success){var component=CQ.utils.Util.build(CQ.utils.Util.eval(response),noFormatting,callback,debug,extensions);
callback(component)
}else{CQ.Log.error("CQ.utils.Util.build: callback failed to fetch data ({0})",response.statusText)
}};
return CQ.HTTP.get(data,buildCallback)
}else{return CQ.utils.Util.build(CQ.utils.Util.eval(CQ.HTTP.get(data)),noFormatting,callback,debug,extensions)
}}catch(e){CQ.Log.error("CQ.utils.Util.build: failed to fetch data ({0})",e.message);
return null
}}else{if(!noFormatting){data=CQ.utils.Util.formatData(data)
}if(debug){data.debug=debug
}if(extensions){if(!data.extensions){data.extensions={}
}for(var xnName in extensions){data.extensions[xnName]=[];
for(var i=0;
i<extensions[xnName].length;
i++){var xn=CQ.Util.build(extensions[xnName][i]);
data.extensions[xnName].push(xn)
}}}CQ.Log.info("CQ.utils.Util.build: building component of type '{0}'",data.xtype);
return CQ.Ext.ComponentMgr.create(data)
}},isCqInstance:function(item){return item instanceof CQ.Ext.util.Observable||item instanceof CQ.Ext.Element||item instanceof CQ.Ext.data.DataReader||item instanceof CQ.Class
},processIncludes:function(data){if(typeof (data)!="object"){return data
}for(var i in data){if(!data[i]){continue
}if(typeof (data[i])=="object"){if(data[i].xtype){if(data[i].xtype=="cqinclude"){if(data[i].path){CQ.Log.debug("CQ.utils.Util#processIncludes: processing include: {0}",data[i]);
var path=CQ.Util.externalize(data[i].path);
var include=CQ.Util.eval(CQ.HTTP.get(path));
data[i]=include
}else{CQ.Log.debug("CQ.utils.Util#processIncludes: no include path defined in {0}",data[i])
}}CQ.utils.Util.processIncludes(data[i])
}}}},formatData:function(data,mode){if(!data||data.nodeType||CQ.utils.Util.isCqInstance(data)){return data
}if(data instanceof Array){for(var i=0;
i<data.length;
i++){data[i]=CQ.utils.Util.formatData(data[i])
}return data
}if(mode!=CQ.Util.I18N_ONLY){if(!data.xtype&&data["jcr:primaryType"]&&!data["jcr:primaryType"].match(/cq\:Widget/)){data.xtype=data["jcr:primaryType"].toLowerCase().replace("cq:","")
}if(data["jcr:title"]&&!data.title){data.title=data["jcr:title"]
}}CQ.utils.Util.processIncludes(data);
for(var i in data){if(!data[i]){continue
}if(typeof (data[i])=="object"){data[i]=CQ.utils.Util.formatData(data[i]);
if(mode==CQ.Util.I18N_ONLY){continue
}if(data[i]["jcr:primaryType"]){if(data[i]["jcr:primaryType"].match(/cq\:.*Collection/)){var array=[];
for(var j in data[i]){if(typeof (data[i][j])=="object"||(j!="xtype"&&j!="jcr:primaryType")){array.push(data[i][j])
}}if(i=="items"&&array.length==1){data[i]=array[0]
}else{data[i]=array
}}}}else{if(typeof data[i]=="string"){if(data[i]=="true"){data[i]=true
}else{if(data[i]=="false"){data[i]=false
}else{if(i=="regex"){try{data[i]=eval(data[i])
}catch(e){}}else{if(/^\d+$/.test(data[i])){data[i]=parseInt(data[i])
}else{if(/function\(.*/.test(data[i])){try{eval("data[i] = "+data[i]+";")
}catch(e){}}}}}}}}}if(mode!=CQ.Util.FORMAT_ONLY){if(data.title){data.title=CQ.I18n.getMessage(data.title)
}if(data.text){data.text=CQ.I18n.getMessage(data.text)
}if(data.header&&typeof data.header=="string"){data.header=CQ.I18n.getMessage(data.header)
}if(data.tooltip){data.tooltip=CQ.I18n.getMessage(data.tooltip)
}if(data.qtip){data.qtip=CQ.I18n.getMessage(data.qtip)
}if(data.tabTip){data.tabTip=CQ.I18n.getMessage(data.tabTip)
}if(data.fieldLabel){data.fieldLabel=CQ.I18n.getMessage(data.fieldLabel)
}if(data.fieldSubLabel){data.fieldSubLabel=CQ.I18n.getMessage(data.fieldSubLabel)
}if(data.fieldDescription){data.fieldDescription=CQ.I18n.getMessage(data.fieldDescription)
}if(data.boxLabel){data.boxLabel=CQ.I18n.getMessage(data.boxLabel)
}if(data.regexText){data.regexText=CQ.I18n.getMessage(data.regexText)
}if(data.vtypeText){data.vtypeText=CQ.I18n.getMessage(data.vtypeText)
}}return data
},merge:function(base,upgrade){if(!upgrade){return base
}if(!base){if(upgrade instanceof Array){return upgrade
}base=new Object()
}for(var name in upgrade){var value=upgrade[name];
if(value instanceof CQ.Ext.Component){base[name]=value
}else{if(value&&typeof value=="object"){if(value instanceof Array){base[name]=value
}else{base[name]=CQ.utils.Util.merge(base[name],value)
}}else{base[name]=value
}}}return base
},applyDefaults:function(base,defaults){if(!defaults){return base
}if(defaults instanceof Array||typeof defaults!="object"){if(typeof base=="undefined"){return defaults
}else{return base
}}if(!base){base=new Object()
}for(var name in defaults){var value=defaults[name];
if(value&&typeof value=="object"&&!(value instanceof Array)&&!CQ.utils.Util.isCqInstance(value)){base[name]=CQ.utils.Util.applyDefaults(base[name],value)
}else{if(typeof base[name]=="undefined"){base[name]=value
}}}return base
},patchText:function(text,snippets){if(snippets){if(!CQ.Ext.isArray(snippets)){text=text.replace("{0}",snippets)
}else{for(var i=0;
i<snippets.length;
i++){text=text.replace(("{"+i+"}"),snippets[i])
}}}return text
},eval:function(request){try{return eval("("+request.responseText+")")
}catch(e){return null
}},evalHTML:function(html){try{var node=document.createElement("div");
node.innerHTML=html;
var obj=CQ.utils.Util.evalNode(node);
node=null;
return obj
}catch(e){return{}
}},evalNode:function(node,obj){if(!node){return 
}if(obj==undefined){obj=new Object()
}try{for(var i=0;
i<node.childNodes.length;
i++){var child=node.childNodes[i];
if(child.tagName){if(child.id){if(child.href){obj[child.id]=child.href
}else{obj[child.id]=child.innerHTML
}}obj=CQ.utils.Util.evalNode(child,obj)
}}}catch(e){}return obj
},reload:function(win,url){if(!win){win=window
}if(window.top!==win){CQ.WCM.setContentWindowLoading(true)
}if(!url){url=CQ.HTTP.noCaching(win.location.href)
}win.location.replace(url)
},clearDocumentSelection:function(win){if(!win){win=window
}if(CQ.Ext.isIE){win.document.selection.empty()
}else{win.getSelection().removeAllRanges()
}},getContextPath:function(){return contextPath
},detectContextPath:function(){try{var scripts=document.getElementsByTagName("script");
for(var i=0;
i<scripts.length;
i++){var path=scripts[i].src;
if(path.indexOf("?")>=0){path=path.substring(0,path.indexOf("?"))
}if(path.match(SCRIPT_URL_REGEXP)){path=path.replace(/.*\:[\/][\/]/,"");
path=path.substring(path.indexOf("/"));
path=path.replace(SCRIPT_URL_REGEXP,"");
contextPath=path;
break
}}}catch(e){}},externalize:function(url){try{if(url.indexOf("/")==0&&contextPath&&url.indexOf(contextPath)!=0){url=contextPath+url
}}catch(e){}return url
},internalize:function(url,doc){if(!doc){doc=document
}var docHost=CQ.HTTP.getSchemeAndAuthority(doc.location.href);
var urlHost=CQ.HTTP.getSchemeAndAuthority(url);
if(docHost==urlHost){return url.substring(urlHost.length+contextPath.length)
}else{return url
}},getPath:function(url){url=CQ.HTTP.removeParameters(url);
url=CQ.HTTP.removeAnchor(url);
var i=url.indexOf(".",url.lastIndexOf("/"));
if(i!=-1){url=url.substring(0,url.indexOf(".",url.lastIndexOf("/")))
}return url
},getSingleItemConfig:function(config,xtype){try{if(config.items.xtype==xtype){return config.items
}}catch(e){return null
}},copyObject:function(object){var newObj;
if(object instanceof Array||CQ.Ext.isArray(object)){newObj=new Array();
for(var i=0;
i<object.length;
i++){if(typeof object[i]=="object"){newObj.push(CQ.utils.Util.copyObject(object[i]))
}else{newObj.push(object[i])
}}}else{newObj=new Object();
for(var i in object){if(typeof object[i]=="object"){newObj[i]=CQ.utils.Util.copyObject(object[i])
}else{newObj[i]=object[i]
}}}return newObj
},pin:function(obj){pins.push({pin:obj,scroll:{top:0,left:0}});
if(!scrollInterval){CQ.Ext.EventManager.on(window,"scroll",function(){CQ.utils.Util.docScrolling=true;
window.setTimeout(function(){CQ.utils.Util.docScrolling=false
},274)
});
scrollInterval=window.setInterval(function(){checkPins()
},195)
}},unpin:function(obj){for(var i=0;
i<pins.length;
i++){if(pins[i].pin==obj){pins.splice(i,1);
break
}}},indexInArray:function(array,value){for(var i=0;
i<array.length;
i++){if(array[i]==value){return i
}}return -1
},createId:function(){return"cq-id-"+idCounter++
},isIntersecting:function(firstObj,secondObj,excludeObj){if(firstObj&&secondObj){for(var prop in firstObj){if((!excludeObj||!excludeObj[prop])&&secondObj[prop]==firstObj[prop]){return true
}}}return false
},runComponentObservation:function(interval,rerun){var obs=getObservation(interval);
for(var i=0;
i<obs.components.length;
i++){try{if(obs.components[i].observe){obs.components[i].observe(obs.name)
}else{CQ.Log.warn("CQ.Util#runComponentObservation: component has no method observe")
}}catch(e){CQ.Log.error("CQ.Util#runComponentObservation: observe method throws an exception: {0}",e.message)
}}if(rerun){window.setTimeout("CQ.Util.runComponentObservation('"+obs.name+"', true);",obs.time)
}},observeComponent:function(component,interval){var obs=getObservation(interval);
for(var i=0;
i<=obs.components.length;
i++){if(obs.components[i]==component){return 
}}obs.components.push(component);
if(!obs.started){obs.started=true;
CQ.Util.runComponentObservation(obs.name,true)
}},cancelObservation:function(component,interval){var obs=getObservation(interval);
for(var i=0;
i<=obs.components.length;
i++){if(obs.components[i]==component){obs.components.splice(i,1);
return 
}}},getFlashVersion:function(){var flashVer=null;
if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";
var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;
var descArray=flashDescription.split(" ");
var tempArrayMajor=descArray[2].split(".");
var versionMajor=tempArrayMajor[0];
var versionMinor=tempArrayMajor[1];
var versionRevision=descArray[3];
if(versionRevision==""){versionRevision=descArray[4]
}if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1)
}else{if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);
if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"))
}}}flashVer=[parseInt(versionMajor),parseInt(versionMinor),parseInt(versionRevision)]
}}else{if(CQ.Ext.isIE&&CQ.Ext.isWindows&&!CQ.Ext.isOpera){var version;
var axo;
try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
version=axo.GetVariable("$version")
}catch(e){}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
version="WIN 6,0,21,0";
axo.AllowScriptAccess="always";
version=axo.GetVariable("$version")
}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version=axo.GetVariable("$version")
}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version="WIN 3,0,18,0"
}catch(e){}}if(!version){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
version="WIN 2,0,0,11"
}catch(e){}}if(version){var platformSplit=version.split(" ");
if(platformSplit.length==2){flashVer=platformSplit[1].split(",");
for(var i=0;
i<flashVer.length;
i++){flashVer[i]=parseInt(flashVer[i])
}}}}}return flashVer
},isEqualPosition:function(position1,position2,tolerance){if(!tolerance){tolerance=0
}if(position1&&position2){var xdiff=Math.abs(position1[0]-position2[0]);
var ydiff=Math.abs(position1[1]-position2[1]);
return(xdiff<=tolerance)&&(ydiff<=tolerance)
}return false
},findFormFields:function(container,fields){if(!container){return{}
}if(!fields){fields=new Object()
}if(container.items&&container.items.length){for(var i=0;
i<container.items.length;
i++){var item=container.getComponent(i);
if(item.isFormField){var name=item.getName();
if(!name){name=item.name
}if(fields[name]==undefined){fields[name]=new Array()
}fields[name].push(item)
}else{if(item.items){fields=CQ.Util.findFormFields(item,fields)
}}}}return fields
},logout:function(){if(document.all){document.execCommand("ClearAuthenticationCache")
}else{if(navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("Chrome")!=-1||navigator.userAgent.indexOf("Opera")!=-1){document.cookie="Authorization=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/"
}else{var xmlhttp;
if(window.XMLHttpRequest){xmlhttp=new XMLHttpRequest()
}else{if(window.ActiveXObject){try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
}catch(ex){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}catch(ex){}}}}if(xmlhttp.readyState<4){xmlhttp.abort()
}xmlhttp.open("GET",CQ.Util.getContextPath()+"/?sling:authRequestLogin=1",false,"anonymous","null");
xmlhttp.send("")
}}CQ.utils.Util.reload()
},isAcceptedMimeType:function(acceptPatternArray,mimeType){for(var i=0;
i<acceptPatternArray.length;
i++){var acceptPattern=acceptPatternArray[i];
if(mimeType.match(acceptPattern)){return true
}}return false
},escapePath:function(path){var pathComponents=path.split("/");
CQ.Ext.each(pathComponents,function(item,index){pathComponents[index]=encodeURIComponent(item)
});
return pathComponents.join("/")
},sortByRanking:function(array){try{array.sort(function(a,b){try{var result=a.ranking-b.ranking;
if(!isNaN(result)){return result
}}catch(e){}var ar=isNaN(a.ranking)?"X":parseInt(a.ranking);
var br=isNaN(b.ranking)?"X":parseInt(b.ranking);
ar=ar!="X"?ar:(br=="X"?0:br+1);
br=br!="X"?br:ar+1;
return ar-br
})
}catch(e){}return array
},isEmptyObject:function(obj){if(!obj){return false
}for(var p in obj){return false
}return true
},renderDate:function(date){if(!date){return""
}var ms=new Date(date).getElapsed();
var seconds=Math.floor(ms/1000);
var minutes=Math.floor(ms/(60*1000));
var hours=Math.floor(ms/(60*60*1000));
var days=Math.floor(ms/(24*60*60*1000));
var weeks=Math.floor(ms/(7*24*60*60*1000));
var months=Math.floor(ms/(30*24*60*60*1000));
var years=Math.floor(ms/(365*24*60*60*1000));
if(seconds<80){return CQ.I18n.getMessage("now")
}else{if(minutes<2){return CQ.I18n.getMessage("{0} seconds ago",""+seconds)
}else{if(hours<2){return CQ.I18n.getMessage("{0} minutes ago",""+minutes)
}else{if(days<2){return CQ.I18n.getMessage("{0} hours ago",""+hours)
}else{if(weeks<2){return CQ.I18n.getMessage("{0} days ago",""+days)
}else{if(months<2){return CQ.I18n.getMessage("{0} weeks ago",""+weeks)
}else{if(years<2){return CQ.I18n.getMessage("{0} months ago",""+months)
}else{return CQ.I18n.getMessage("{0} years ago",""+years)
}}}}}}}},disableFields:function(panel){var fields=CQ.Util.findFormFields(panel);
for(var name in fields){for(var i=0;
i<fields[name].length;
i++){var field=fields[name][i];
if(field){if(field.disable){field.disable()
}if(field.dropTargets){for(var i=0;
i<field.dropTargets.length;
i++){if(field.dropTargets[i].lock){field.dropTargets[i].lock()
}}}}}}},enableFields:function(panel){var fields=CQ.Util.findFormFields(panel);
for(var name in fields){for(var i=0;
i<fields[name].length;
i++){var field=fields[name][i];
if(field){if(field.enable){field.enable()
}if(field.dropTargets){for(var i=0;
i<field.dropTargets.length;
i++){if(field.dropTargets[i].unlock){field.dropTargets[i].unlock()
}}}}}}}}
}();
CQ.Util=CQ.utils.Util;
CQ.utils.Log=function(){var E=0;
var F={0:" OFF ",1:"FATAL",2:"ERROR",3:"WARN ",4:"INFO ",5:"DEBUG",6:"TRACE",7:" ALL "};
var C=function(){if(window.CQ_initial_log_level){if(typeof window.CQ_initial_log_level==="string"){for(var G in F){if(F[G].indexOf(window.CQ_initial_log_level)>=0){return G
}}}else{if(typeof window.CQ_initial_log_level==="number"){return window.CQ_initial_log_level
}}}return 0
};
var B=C();
var D=function(L,I,H){if(B>=L){var K=(++E)+"";
var G=K.length;
while((4-G)>0){K="0"+K;
G++
}K+=" "+F[L];
K+=" "+CQ.Ext.util.Format.date(new Date(),"H:m:s");
K+=" "+CQ.Util.patchText(I,H);
try{console.log(K)
}catch(J){}}};
return{OFF:0,FATAL:1,ERROR:2,WARN:3,INFO:4,DEBUG:5,TRACE:6,ALL:7,setLevel:function(I){B=I;
try{var G=CQ.Ext.get("x-debug-browser");
if(I==CQ.utils.Log.OFF){G.hide()
}else{G.show()
}}catch(H){}},fatal:function(H,G){D(CQ.utils.Log.FATAL,H,G)
},error:function(H,G){D(CQ.utils.Log.ERROR,H,G)
},warn:function(H,G){D(CQ.utils.Log.WARN,H,G)
},info:function(H,G){D(CQ.utils.Log.INFO,H,G)
},debug:function(H,G){D(CQ.utils.Log.DEBUG,H,G)
},trace:function(H,G){D(CQ.utils.Log.TRACE,H,G)
}}
}();
CQ.Log=CQ.utils.Log;
CQ.utils.HTTP=function(){return{EXTENSION_HTML:".html",EXTENSION_JSON:".json",EXTENSION_RES:".res",SCRIPT_URL_REGEXP:/\/libs\/widgets\/cq-widgets-.*\.js$/,HEADER_STATUS:"Status",HEADER_MESSAGE:"Message",HEADER_LOCATION:"Location",HEADER_PATH:"Path",get:function(B,E){B=CQ.Util.externalize(B);
if(E!=undefined){CQ.Log.debug("CQ.utils.HTTP#get: requesting {0} asynchronously",B);
return CQ.Ext.Ajax.request({url:B,callback:E})
}else{CQ.Log.debug("CQ.utils.HTTP#get: requesting {0} synchronously",B);
var C=document.all?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
try{C.open("GET",B,false);
C.send(null);
return C
}catch(D){CQ.Log.error("CQ.utils.HTTP#get: failed to get {0}: {1}",[B,D.message]);
return null
}}},post:function(B,K,D,L){B=CQ.Util.externalize(B);
if(K!=undefined){CQ.Log.debug("CQ.utils.HTTP#post: requesting {0} asynchronously",B);
CQ.Ext.Ajax.request({url:B,method:"POST",callback:function(N,P,O){var M=CQ.HTTP.buildPostResponseFromHTML(O.responseText);
if(!CQ.utils.HTTP.isOk(M)){CQ.Notification.notifyFromResponse(M)
}K(N,P,O)
},params:D,scope:L})
}else{CQ.Log.debug("CQ.utils.HTTP#post: requesting {0} synchronously",B);
var E=null;
var F=document.all?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
var G=B.split("?");
var J=G[0];
var H=G[1]?G[1]:"";
var C=CQ.Ext.urlEncode(D);
H+=(C?(H?"&":"")+C:"");
try{F.open("post",J,false);
F.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
F.send(H);
E=CQ.HTTP.buildPostResponseFromHTML(F.responseText);
if(!CQ.utils.HTTP.isOk(E)){CQ.Notification.notifyFromResponse(E)
}return E
}catch(I){CQ.Log.error("CQ.utils.HTTP#post: failed to post {0}: {1}",[B,I.message])
}return E
}},getParameter:function(C,B){var D=CQ.utils.HTTP.getParameters(C,B);
return D!=null?D[0]:null
},getParameters:function(D,C){var B=[];
if(!C){return null
}C=encodeURIComponent(C);
if(D.indexOf("?")==-1){return null
}var G=D.substring(D.indexOf("?")+1);
if(G.indexOf(C)==-1){return null
}var H=G.split("&");
for(var E=0;
E<H.length;
E++){var F=H[E].split("=");
if(F[0]==C){B.push(F.length>1?decodeURIComponent(F[1]):"")
}}return B.length>0?B:null
},addParameter:function(D,C,E){var G=D.indexOf("?")==-1?"?":"&";
var B=D.indexOf("#");
if(B<0){return D+G+encodeURIComponent(C)+"="+encodeURIComponent(E)
}else{var F=D.substring(B);
D=D.substring(0,B);
return D+G+encodeURIComponent(C)+"="+encodeURIComponent(E)+F
}},removeParameter:function(D,E,J){var C="?"+encodeURIComponent(E)+"=";
var B="&"+encodeURIComponent(E)+"=";
var I;
if(D.indexOf(C)!=-1){I=C
}else{if(D.indexOf(B)!=-1){I=B
}else{return D
}}var K=D.indexOf(I);
var F=D.substring(0,K);
var H=D.indexOf("&",K+1);
var G="";
if(H!=-1){G=D.substring(H);
if(G.indexOf("&")==0){G.replace("&","?")
}}return F+G
},removeParameters:function(B){if(B.indexOf("?")!=-1){return B.substring(0,B.indexOf("?"))
}return B
},getAnchor:function(B){if(B.indexOf("#")!=-1){return B.substring(B.indexOf("#")+1)
}return""
},setAnchor:function(C,B){return CQ.HTTP.removeAnchor(C)+"#"+B
},removeAnchor:function(B){if(B.indexOf("#")!=-1){return B.substring(0,B.indexOf("#"))
}return B
},setParameter:function(C,B,D){C=CQ.utils.HTTP.removeParameter(C,B);
return CQ.utils.HTTP.addParameter(C,B,D)
},noCaching:function(B){return CQ.utils.HTTP.setParameter(B,"cq_ck",new Date().valueOf())
},createResponse:function(){var B=new Object();
B.headers=new Object();
B.body=new Object();
return B
},buildPostResponseFromNode:function(D,B){if(!D){return null
}if(B==undefined){B=CQ.utils.HTTP.createResponse()
}try{for(var C=0;
C<D.childNodes.length;
C++){var F=D.childNodes[C];
if(F.tagName){if(F.id){if(F.href){B.headers[F.id]=F.href
}else{B.headers[F.id]=F.innerHTML
}}B=CQ.utils.HTTP.buildPostResponseFromNode(F,B)
}}}catch(E){alert("Error")
}return B
},buildPostResponseFromHTML:function(C){var B=CQ.utils.HTTP.createResponse();
try{var E=document.createElement("div");
E.innerHTML=C;
B=CQ.utils.HTTP.buildPostResponseFromNode(E,B);
E=null
}catch(D){}return B
},isOkStatus:function(B){try{return(new String(B).indexOf("2")==0)
}catch(C){return false
}},isOk:function(B){try{return CQ.utils.HTTP.isOkStatus(B.headers[CQ.utils.HTTP.HEADER_STATUS])
}catch(C){return false
}},getCookie:function(E){var D=encodeURIComponent(E)+"=";
var C=document.cookie;
if(C.length>0){var F=C.indexOf(D);
if(F!=-1){F+=D.length;
var B=C.indexOf(";",F);
if(B==-1){B=C.length
}return decodeURIComponent(C.substring(F,B))
}}return null
},setCookie:function(C,E,G,H,D,F){if(typeof (H)!="number"){H=7
}var B;
if(H>0){B=new Date();
B.setTime(B.getTime()+(H*24*60*60*1000))
}else{B=new Date(1970,0,1)
}document.cookie=encodeURIComponent(C)+"="+encodeURIComponent(E)+"; "+(H!=0?"expires="+B.toGMTString()+"; ":"")+(D?"domain="+D+"; ":"")+(G?"path="+G:"")+(F?"; secure":"");
return E
},clearCookie:function(B,E,C,D){CQ.utils.HTTP.setCookie(B,"null",E,-1,C,D)
},getSchemeAndAuthority:function(C){try{if(C.indexOf("://")==-1){return""
}var B=C.indexOf("/",C.indexOf("://")+3);
if(B==-1){return C
}return C.substring(0,B)
}catch(D){return""
}}}
}();
CQ.HTTP=CQ.utils.HTTP;
CQ.utils.I18n=new Object();
CQ.utils.I18n.LOCALE_DEFAULT="en";
CQ.utils.I18n.dicts=new Object();
CQ.utils.I18n.initialized=false;
CQ.utils.I18n.urlPrefix="/libs/i18n/dict.";
CQ.utils.I18n.urlSuffix=".json";
CQ.utils.I18n.locale=null;
CQ.utils.I18n.init=function(B){if(!B){B=new Object()
}if(B.locale){CQ.utils.I18n.setLocale(B.locale)
}if(B.urlPrefix){CQ.utils.I18n.setUrlPrefix(B.urlPrefix)
}if(B.urlSuffix){CQ.utils.I18n.setUrlSuffix(B.urlSuffix)
}CQ.utils.I18n.initialized=true
};
CQ.utils.I18n.getLocale=function(){return CQ.utils.I18n.locale?CQ.utils.I18n.locale:CQ.utils.I18n.LOCALE_DEFAULT
};
CQ.utils.I18n.setLocale=function(B){CQ.utils.I18n.locale=B
};
CQ.utils.I18n.setUrlPrefix=function(B){CQ.utils.I18n.urlPrefix=B
};
CQ.utils.I18n.setUrlSuffix=function(B){CQ.utils.I18n.urlSuffix=B
};
CQ.utils.I18n.getDictionary=function(locale){if(!locale){locale=CQ.utils.I18n.getLocale()
}if(!CQ.utils.I18n.dicts[locale]){CQ.Log.debug("CQ.utils.I18n#getDictionary: loading dictionary for locale '{0}'",locale);
var url=CQ.utils.I18n.urlPrefix+locale+CQ.utils.I18n.urlSuffix;
try{var dict;
var response=CQ.HTTP.get(url);
if(response){CQ.utils.I18n.dicts[locale]=CQ.Util.eval(response);
CQ.Log.debug("CQ.utils.I18n#getDictionary: dictionary for locale '{0}' loaded",locale)
}}catch(e){CQ.Log.warn("CQ.utils.I18n#getDictionary: {0}",e.message)
}if(!CQ.utils.I18n.dicts[locale]){CQ.Log.warn("CQ.utils.I18n#getDictionary: failed to load dictionary from {0}",url);
CQ.utils.I18n.dicts[locale]={}
}}return CQ.utils.I18n.dicts[locale]
};
CQ.utils.I18n.getMessage=function(F,C,D){var G,E,B;
B=D?F+" (("+D+"))":F;
if(CQ.utils.I18n.initialized){G=CQ.utils.I18n.getDictionary()
}if(G){E=G[B]
}if(!E){E=F
}CQ.Log.debug("CQ.utils.I18n#getMessage: translating '{0}' with '{1}'",[F,E]);
return CQ.Util.patchText(E,C)
};
CQ.I18n=CQ.utils.I18n;
CQ.utils.DOM=function(){var DEFAULT_STYLES={"font-weight":"normal","font-style":"normal","font-variant":"normal","text-transform":"none","text-decoration":"none","text-indent":"0","letter-spacing":"normal","word-spacing":"normal","line-height":"normal","text-align":"left","vertical-align":"baseline",direction:"ltr","background-color":"transparent","background-image":"none","background-repeat":"repeat","background-attachment":"scroll","background-position":"top left",opacity:"1",width:"auto",height:"auto",top:"auto",right:"auto",bottom:"auto",left:"auto",margin:"0",padding:"0","border-style":"none","border-width":"0",position:"static",display:"inline",visibility:"visible",overflow:"visible","white-space":"normal","float":"none",clear:"none",cursor:"auto","list-style":"disc outside none"};
var buildDefaultStyles=function(styles){var defaults=CQ.Util.copyObject(DEFAULT_STYLES);
return CQ.Util.merge(defaults,styles)
};
var DEFAULT_STYLES_BLOCK=buildDefaultStyles({display:"block"});
var DEFAULT_STYLES_TABLE=buildDefaultStyles({display:"table","white-space":"nowrap","vertical-align":"middle"});
var DEFAULT_STYLES_TBODY=buildDefaultStyles({display:"table-row-group","white-space":"nowrap","vertical-align":"middle"});
var DEFAULT_STYLES_TR=buildDefaultStyles({display:"table-row","white-space":"nowrap","vertical-align":"middle"});
var DEFAULT_STYLES_TD=buildDefaultStyles({display:"table-cell","white-space":"nowrap","vertical-align":"middle"});
var DEFAULT_STYLES_INPUT=buildDefaultStyles({"background-color":"#FF0000",padding:"1px 0 1px 0","border-width":"2px","border-color":"#F0F0F0","border-style":"inset"});
return{getBlockDefaultStyles:function(){return CQ.Util.copyObject(DEFAULT_STYLES_BLOCK)
},addElementEventListener:function(element,name,func,deep,scope){if(element&&(element.tagName=="script"||element.tagName=="input"||element.tagName=="select"||element.tagName=="button"||element.tagName=="a")){return 
}var cmp=CQ.Ext.get(element);
if(cmp){cmp.addListener(name,func,scope);
if(deep){for(var i=0;
i<element.childNodes.length;
i++){this.addElementEventListener(element.childNodes.item(i),name,func,false,scope)
}}}},removeElementEventListener:function(element,name,func,deep,scope){if(element&&(element.tagName=="script"||element.tagName=="input"||element.tagName=="select"||element.tagName=="button"||element.tagName=="a")){return 
}var cmp=CQ.Ext.get(element);
if(cmp){cmp.removeListener(name,func,scope);
if(deep){for(var i=0;
i<element.childNodes.length;
i++){this.removeElementEventListener(element.childNodes.item(i),name,func,false,scope)
}}}},addDocumentEventListener:function(name,func,scope){CQ.DOM.addElementEventListener(document,name,func,false,scope)
},removeDocumentEventListener:function(name,func,scope){CQ.DOM.removeElementEventListener(document,name,func,false,scope)
},executeScripts:function(element){if(!element&&!element.dom){return 
}var scripts=CQ.Ext.DomQuery.select("script",element.dom);
for(var i=0;
i<scripts.length;
i++){if(scripts[i].src){try{var req=CQ.HTTP.get(scripts[i].src);
if(CQ.HTTP.isOkStatus(req.status)){var txt=req.responseText;
eval(txt)
}}catch(err){}}if(scripts[i].innerHTML){try{eval(scripts[i].innerHTML)
}catch(err){}}}}}
}();
CQ.DOM=CQ.utils.DOM;
CQ.utils.Notification=function(){var C;
var D=4;
function B(G,F){var E='<div class="msg">';
E+='<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>';
E+='<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">';
if(G){E+="<h3>"+G+"</h3>"
}E+=F;
E+="</div></div></div>";
E+='<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div></div>';
return E
}return{notify:function(I,H,G){if(!C){C=CQ.Ext.DomHelper.insertFirst(document.body,{id:"msg-div"},true)
}C.alignTo(document,"tr-tr",[-4,4]);
var E=CQ.Ext.DomHelper.append(C,{html:B(I,H)},true);
C.on("click",function(){E.stopFx()
});
var F=G?G:D;
E.slideIn("t").pause(F).ghost("t",{remove:true})
},notifyFromResponse:function(E,F){var G=E.headers[CQ.HTTP.HEADER_MESSAGE];
G=G!=undefined?G:CQ.I18n.getMessage("Unspecified error");
CQ.Notification.notify(null,G,F)
}}
}();
CQ.Notification=CQ.utils.Notification;
CQ.utils.Sling=function(){return{SELECTOR_INFINITY:".infinity",CHARSET:"_charset_",STATUS:":status",STATUS_BROWSER:"browser",OPERATION:":operation",OPERATION_DELETE:"delete",DELETE_SUFFIX:"@Delete",COPY_SUFFIX:"@CopyFrom",MOVE_SUFFIX:"@MoveFrom",ORDER:":order",REPLACE:":replace",SAVE_PARAM_PREFIX:":saveParamPrefix",IGNORE_PARAM:":ignore",processBinaryData:function(B){if(B&&B[":jcr:data"]!=undefined){var C=new Object();
C.size=B[":jcr:data"];
C.type=B["jcr:mimeType"];
C.date=B["jcr:lastModified"];
B=C
}return B
},getContentPath:function(C,B){var D=B;
if(D.lastIndexOf(".")>D.lastIndexOf("/")){D=D.substr(0,D.indexOf(".",D.lastIndexOf("/")))
}if(C){if(C.indexOf("/")==0){D=C
}else{C=C.replace("./","");
D=D+"/"+C
}}return D
}}
}();
CQ.Sling=CQ.utils.Sling;
CQ.utils.User=function(infoData){if(infoData){this.data=infoData
}else{var url=this.getUserPropsUrl();
url=CQ.HTTP.noCaching(url);
var response=CQ.HTTP.get(url);
if(response){this.data=CQ.Util.eval(response)
}}if(this.data){if(this.data.preferencesPath){this.preferencesProvider=new CQ.state.PreferencesProvider({url:CQ.Util.externalize(this.data.preferencesPath),id:CQ.utils.User.PREFERENCES_PROVIDER_ID})
}var data=new Object();
var fields=new Array();
if(this.data.permissions){var per=this.data.permissions;
var i=0;
for(var n in per){data[i++]=n;
fields.push(n)
}}this.permissionStore=new CQ.Ext.data.SimpleStore({id:0,data:[data],fields:fields,autoLoad:false})
}else{this.data={}
}};
CQ.utils.User.prototype=function(){return{data:null,preferencesProvider:null,userPropsPath:null,permissionStore:null,isImperonated:function(){return this.data.impersonated
},getUserID:function(){return this.data.userID
},getUserName:function(){return this.data.userName
},getHome:function(){return this.data.home
},getLanguage:function(){return this.data.language
},getAllowedApps:function(){return this.data.allowedApps
},getPreference:function(B){return this.preferencesProvider?this.preferencesProvider.get(B):null
},hasPermission:function(B){return this.hasPermissionOn(B)
},hasPermissionOn:function(B,D){var C=CQ.Ext.StoreMgr.lookup(CQ.utils.User.PRIVILEGES_STORE_ID);
if(!C){C=this.permissionStore
}if(!D){D="/"
}var E=C.getById(D);
return E!=undefined&&E&&E.get(B)
},sudoAs:function(B){this.postImpersonation(B)
},revertSelf:function(){this.postImpersonation("-")
},login:function(B){CQ.utils.User.login(null,B)
},getUserPropsUrl:function(){if(!this.userPropsPath){this.userPropsPath=CQ.utils.User.PROXY_URI
}return this.userPropsPath
},postImpersonation:function(C){var D=this.getHome()+".impersonate"+CQ.HTTP.EXTENSION_JSON;
D=CQ.HTTP.addParameter(D,"impersonate",C);
var B=CQ.Ext.getDoc().dom.URL;
D=CQ.HTTP.addParameter(D,"path",this.getPath(B));
D=CQ.HTTP.noCaching(CQ.Util.externalize(D)+CQ.HTTP.EXTENSION_HTML);
document.location.href=D
},setPermissionStore:function(B){this.permissionStore=B
},getPath:function(B){var C=B.replace(/.*\:[\/][\/]/,"");
C=C.substring(C.indexOf("/"));
if(C.indexOf("?")>=0){C=C.substring(0,C.indexOf("?"))
}if(C.indexOf("#")>=0){C=C.substring(0,C.indexOf("#"))
}if(C.indexOf(".")>-1){C=C.substring(0,C.indexOf("."))
}return C
}}
}();
CQ.utils.User.getCurrentUser=function(){if(!window.top.CQ_User){window.top.CQ_User=new CQ.utils.User()
}return window.top.CQ_User
};
CQ.utils.User.getUserID=function(){return CQ.utils.User.getCurrentUser().getUserID()
};
CQ.utils.User.getUserName=function(){return CQ.utils.User.getCurrentUser().getUserName()
};
CQ.utils.User.PROXY_URI=CQ.Util.externalize("/libs/security/userinfo"+CQ.HTTP.EXTENSION_JSON);
CQ.utils.User.PREFERENCES_PROVIDER_ID="cq-security-preferences-provider";
CQ.utils.User.PRIVILEGES_STORE_ID="cq-security-privileges-store";
CQ.utils.User.PERMISSION_UPDATE="update";
CQ.utils.User.ANONYMOUS="anonymous";
CQ.utils.User.Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(D){var B="";
var K,I,G,J,H,F,E;
var C=0;
D=Base64._utf8_encode(D);
while(C<D.length){K=D.charCodeAt(C++);
I=D.charCodeAt(C++);
G=D.charCodeAt(C++);
J=K>>2;
H=((K&3)<<4)|(I>>4);
F=((I&15)<<2)|(G>>6);
E=G&63;
if(isNaN(I)){F=E=64
}else{if(isNaN(G)){E=64
}}B=B+this._keyStr.charAt(J)+this._keyStr.charAt(H)+this._keyStr.charAt(F)+this._keyStr.charAt(E)
}return B
},_utf8_encode:function(C){C=C.replace(/\r\n/g,"\n");
var B="";
for(var E=0;
E<C.length;
E++){var D=C.charCodeAt(E);
if(D<128){B+=String.fromCharCode(D)
}else{if((D>127)&&(D<2048)){B+=String.fromCharCode((D>>6)|192);
B+=String.fromCharCode((D&63)|128)
}else{B+=String.fromCharCode((D>>12)|224);
B+=String.fromCharCode(((D>>6)&63)|128);
B+=String.fromCharCode((D&63)|128)
}}}return B
}};
CQ.utils.User.login=function(G,F){if(!G){G=CQ.utils.User.getUserID()
}if(navigator.userAgent.indexOf("Safari")!=-1||navigator.userAgent.indexOf("Chrome")!=-1||navigator.userAgent.indexOf("Opera")!=-1){var E="Basic "+CQ.utils.User.Base64.encode(G+":"+F);
CQ.HTTP.setCookie("Authorization",E,CQ.Util.externalize("/"))
}else{var D;
if(window.XMLHttpRequest){D=new XMLHttpRequest()
}else{if(window.ActiveXObject){try{D=new ActiveXObject("Msxml2.XMLHTTP")
}catch(C){D=new ActiveXObject("Microsoft.XMLHTTP")
}}}if(D.readyState<4){D.abort()
}var B=CQ.Util.externalize("/");
D.open("HEAD",B,false,CQ.utils.User.ANONYMOUS,"");
D.send("");
D.open("HEAD",B,false,G,F);
D.send("")
}};
CQ.User=CQ.utils.User;
CQ.utils.Page=function(E,B,D){this.user=B;
if(E&&E.status){this.info=E.status;
this.loaded=true;
this.path=E.status.path
}else{if(E){var C=E.indexOf("/jcr:content");
if(C==E.length-12){E=E.substring(0,C)
}this.path=E
}}this.commandUrl=D?D:"/bin/wcmcommand"
};
CQ.utils.Page.prototype=function(){return{path:null,user:null,info:null,infoUrl:null,commandUrl:null,loaded:false,isReadOnly:function(){var ro=!this.user.hasPermissionOn(CQ.utils.User.PERMISSION_UPDATE,this.path);
return ro||(this.isLocked()&&!this.canUnlock())
},isDesignable:function(){if(!this.loaded){this.load()
}return this.info&&this.info.isDesignable
},hasPermssion:function(permission){return this.user.hasPermissionOn(permission,this.path)
},isLocked:function(){if(!this.loaded){this.load()
}return this.info&&this.info.isLocked
},canUnlock:function(){if(this.isLocked()){return this.getLockOwner()==this.user.getUserID()
}return true
},getLockOwner:function(){if(this.isLocked()){return this.info.lockOwner
}},lock:function(){CQ.HTTP.post(this.commandUrl,function(options,success,response){if(success){CQ.Notification.notify(CQ.I18n.getMessage("Lock Page"),CQ.I18n.getMessage("Page successfully locked"))
}else{CQ.Notification.notifyFromResponse(response)
}},{_charset_:"utf-8",path:this.path,cmd:"lockPage"})
},unlock:function(){CQ.HTTP.post(this.commandUrl,function(options,success,response){if(success){CQ.Notification.notify(CQ.I18n.getMessage("Unlock Page"),CQ.I18n.getMessage("Page successfully unlocked"))
}else{CQ.Notification.notifyFromResponse(response)
}},{_charset_:"utf-8",path:this.path,cmd:"unlockPage"})
},isInBlueprint:function(){if(!this.loaded){this.load()
}return this.info&&this.info[CQ.wcm.msm.MSM.PARAM_IS_IN_BLUEPRINT]
},isLiveCopySource:function(){if(!this.loaded){this.load()
}return this.info&&this.info[CQ.wcm.msm.MSM.PARAM_IS_SOURCE]
},isLiveCopy:function(){if(!this.loaded){this.load()
}return this.info&&this.info[CQ.wcm.msm.MSM.PARAM_IS_LIVECOPY]
},load:function(){var url=CQ.Util.externalize(this.path+CQ.utils.Page.STATUS_SELECTOR+CQ.HTTP.EXTENSION_JSON);
url=CQ.HTTP.noCaching(url);
var res=CQ.HTTP.get(url);
if(res.status&&CQ.HTTP.isOkStatus(res.status)){this.info=CQ.Util.eval(res)
}else{this.info={}
}this.loaded=true
}}
}();
CQ.utils.Page.STATUS_SELECTOR=".status";
CQ.Page=CQ.utils.Page;
CQ.utils.WCM=function(){var currentMode=null;
var editConfigs=[];
var editables={};
var dialogs={};
var defaultEditConfig={xtype:"editrollover"};
var readOnly=false;
var defaultSidekickConfig={xtype:"sidekick"};
var layers=null;
var getCurrentElement=function(){var scripts=document.getElementsByTagName("script");
try{var element=scripts[scripts.length-1].parentNode;
return element.tagName!="head"?element:null
}catch(e){return null
}};
var clearSelection=function(e){if(window.CQ_selectionLocked){window.CQ_selectionLocked=false;
return 
}if(!e.shiftKey&&!e.ctrlKey){CQ.utils.WCM.getSelection().clear()
}else{CQ.Util.clearDocumentSelection(CQ.utils.WCM.getContentWindow())
}};
var processKeyDown=function(e){CQ.utils.WCM.altKey=e.altKey;
if(e.ctrlKey&&e.getCharCode()==67){CQ.utils.WCM.copy(CQ.utils.WCM.getSelectedItems())
}else{if(e.ctrlKey&&e.getCharCode()==88){CQ.utils.WCM.cut(CQ.utils.WCM.getSelectedItems())
}else{if(e.ctrlKey&&e.getCharCode()==86){var targets=CQ.utils.WCM.getSelectedItems();
if(targets.length>0){var target=targets[0];
var toPaste=CQ.utils.WCM.paste();
while(toPaste.length>0){var item=toPaste.shift();
if(e.altKey){target.referenceParagraph(item.path)
}else{if(item.action!=CQ.utils.WCM.ACTION_CUT){target.copyParagraph(item.path,item.resourceType)
}else{target.moveParagraph(item.path,item.resourceType)
}}}CQ.utils.WCM.deselect()
}}else{if(e.getCharCode()==e.DELETE||e.getCharCode()==e.BACKSPACE){CQ.utils.WCM.remove(CQ.utils.WCM.getSelectedItems(),CQ.utils.WCM.getContentWindow())
}}}}};
var processKeyUp=function(e){CQ.utils.WCM.altKey=e.altKey
};
return{pageInfos:{},MODE_COOKIE:"wcmmode",MODE_COOKIE_PATH:CQ.Util.externalize("/"),MODE_EDIT:"edit",MODE_PREVIEW:"preview",MODE_DESIGN:"design",ACTION_COPY:"COPY",ACTION_CUT:"CUT",LAYERS_COOKIE:"wcmlayers",LAYERS_COOKIE_PATH:CQ.Util.externalize("/"),LAYER_LCSTATUS:"liveCopyStatusLayer",altKey:false,getMode:function(force){return(!force&&currentMode)?currentMode:currentMode=CQ.HTTP.getCookie(CQ.utils.WCM.MODE_COOKIE)
},setMode:function(mode){return(currentMode=CQ.HTTP.setCookie(CQ.utils.WCM.MODE_COOKIE,mode,CQ.utils.WCM.MODE_COOKIE_PATH))
},isPreviewMode:function(force){return(CQ.utils.WCM.getMode(force)==CQ.utils.WCM.MODE_PREVIEW)
},isEditMode:function(force){var mode=CQ.utils.WCM.getMode(force);
return(!mode||mode==CQ.utils.WCM.MODE_EDIT)
},isDesignMode:function(force){return(CQ.utils.WCM.getMode(force)==CQ.utils.WCM.MODE_DESIGN)
},getLayers:function(){if(!layers){layers=CQ.Ext.state.Manager.get(CQ.utils.WCM.LAYERS_COOKIE)
}return(layers=(layers?layers:{}))
},isShownLayer:function(layer){return this.getContentWindow().CQ.WCM.getLayers()[layer]===true
},showLayer:function(layer){this.getContentWindow().CQ.WCM.getLayers()[layer]=true;
CQ.Ext.state.Manager.set(CQ.utils.WCM.LAYERS_COOKIE,this.getContentWindow().CQ.WCM.getLayers())
},hideLayer:function(layer){delete this.getContentWindow().CQ.WCM.getLayers()[layer];
CQ.Ext.state.Manager.set(CQ.utils.WCM.LAYERS_COOKIE,this.getContentWindow().CQ.WCM.getLayers())
},remove:function(item,win){if(!item){return 
}try{if(item instanceof Array&&item.length>0){for(var i=0;
i<item.length;
i++){CQ.utils.WCM.getClipboard(win).remove(item[i])
}item[0].removeParagraph();
return 
}else{if(!item.isActionDelete()){return 
}CQ.utils.WCM.getClipboard(win).remove(item);
item.removeParagraph()
}}catch(e){}CQ.utils.WCM.deselect()
},copy:function(item,additive,move){var clipboard=CQ.utils.WCM.getClipboard();
if(!item){clipboard.clear();
return null
}if(item instanceof Array){if(item.length>0){for(var i=0;
i<item.length;
i++){CQ.utils.WCM.copy(item[i],additive,move);
if(!additive){additive=true
}}}else{clipboard.clear()
}return item
}if(!additive){clipboard.clear()
}if(!item.isActionCopyMove()){return item
}clipboard.add({path:item.path,title:item.path.substring(item.path.lastIndexOf("/")+1),icon:item.getIconPath(),resourceType:item.getResourceType(),xtype:item.xtype,action:move?CQ.utils.WCM.ACTION_CUT:CQ.utils.WCM.ACTION_COPY});
return item
},cut:function(item,additive){return CQ.utils.WCM.copy(item,additive,true)
},paste:function(){var clipboard=CQ.utils.WCM.getClipboard();
var items=[];
var cutItems=[];
for(var i=0;
i<clipboard.items.length;
i++){var item=clipboard.items[i];
items.push(item);
if(item.action==CQ.utils.WCM.ACTION_CUT){cutItems.push(item)
}}for(var i=0;
i<cutItems.length;
i++){clipboard.remove(cutItems[i])
}return items
},getClipboardRecords:function(){var clipboard=CQ.utils.WCM.getClipboard();
var records=[];
for(var i=0;
i<clipboard.items.length;
i++){var item=clipboard.items[i];
records.push(new CQ.Ext.data.Record(item))
}return records
},getClipboard:function(finder){if(!finder&&CQ.utils.WCM.getContentFinder()){return CQ.utils.WCM.getContentFinder().getClipboard()
}else{if(!window.CQ_Clipboard){window.CQ_Clipboard=new CQ.Ext.util.MixedCollection()
}}return window.CQ_Clipboard
},clearClipboard:function(){var clipboard=CQ.utils.WCM.getClipboard();
clipboard.clear()
},onClipboardChange:function(listener){var clipboard=CQ.utils.WCM.getClipboard();
clipboard.on("add",listener);
clipboard.on("remove",listener);
clipboard.on("clear",listener);
CQ.Ext.EventManager.on(window.document,"unload",function(){clipboard.un("add",listener);
clipboard.un("remove",listener);
clipboard.un("clear",listener)
})
},select:function(item,additive,lock){var selection=CQ.utils.WCM.getSelection();
if(item&&selection.contains(item)){return item
}if(additive){CQ.Util.clearDocumentSelection(CQ.utils.WCM.getContentWindow())
}else{selection.clear()
}if(!item){selection.clear();
return item
}if(item instanceof Array){for(var i=0;
i<item.length;
i++){CQ.utils.WCM.select(item[i],true)
}return item
}selection.add(item);
if(lock){window.CQ_selectionLocked=true
}if(!window.CQ_selectionObserved){CQ.Ext.EventManager.on(document.body,"click",clearSelection);
window.CQ_selectionObserved=1
}return item
},deselect:function(item,additive){var selection=CQ.utils.WCM.getSelection();
if(!item||!additive){selection.clear()
}else{if(item){selection.remove(item)
}}if(additive){CQ.Util.clearDocumentSelection(CQ.utils.WCM.getContentWindow())
}if(!selection.getCount()&&window.CQ_selectionObserved){CQ.Ext.EventManager.un(document.body,"click",clearSelection);
window.CQ_selectionObserved=0
}return item
},getSelectedItems:function(){var selection=CQ.utils.WCM.getSelection();
var items=[];
for(var i=0;
i<selection.items.length;
i++){items.push(selection.items[i])
}return items
},getSelection:function(){if(!window.CQ_Selection){window.CQ_Selection=new CQ.Ext.util.MixedCollection()
}return window.CQ_Selection
},onSelectionChange:function(listener){var selection=CQ.utils.WCM.getSelection();
selection.on("add",listener);
selection.on("remove",listener);
selection.on("clear",listener)
},getEditable:function(path){return editables[path]
},unregisterEditable:function(path){delete editables[path]
},getEditables:function(){return editables
},makeEditable:function(config){if(!config.path){CQ.Log.error("CQ.util.WCM#makeEditable: path null or undefined");
return null
}var display=config.dialog||config.editConfig;
var editConfig=config.editConfig;
if(!editConfig){editConfig=CQ.Util.copyObject(defaultEditConfig)
}else{if(!editConfig.xtype){editConfig.xtype=defaultEditConfig.xtype
}}if(config.dialog){editConfig.dialog=config.dialog
}if(!display){editConfig.inactiveMode=true
}editConfig.path=config.path;
if(config.type){if(!editConfig.params){editConfig.params={}
}if(!editConfig.params["./sling:resourceType"]){editConfig.params["./sling:resourceType"]=config.type
}}if(config.childConfig){editConfig.childConfig=config.childConfig
}if(!editConfig.element){if(config.element){editConfig.element=config.element
}else{editConfig.element=getCurrentElement()
}}if(config[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP]){editConfig[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP]=CQ.Util.copyObject(config[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP])
}if(CQ.Ext.isLoaded){var editable=CQ.Util.build(editConfig);
editables[config.path]=editable;
if(readOnly){editable.hide()
}return editable
}else{editConfigs.push(editConfig);
if(editConfigs.length==1){CQ.Ext.onLoad(function(){editConfigs.sort(function(a,b){if(a.path.lastIndexOf("/")>b.path.lastIndexOf("/")){return 1
}if(b.path.lastIndexOf("/")>a.path.lastIndexOf("/")){return -1
}return 0
});
var i=0;
CQ.Timing.stamp("start building editings","SBE",true);
window.setTimeout(CQ.utils.WCM.buildEditables,1)
})
}}return null
},buildEditables:function(){if(editConfigs.length==0){CQ.Timing.stamp("finished building editings","SBE");
return 
}var editConfig=editConfigs.shift(editConfigs.length-1);
var editable=CQ.Util.build(editConfig);
editables[editConfig.path]=editable;
if(readOnly){editable.hide()
}CQ.utils.WCM.buildEditables()
},show:function(){var refresh=true;
for(var i in editables){editables[i].show();
refresh=false
}if(refresh){CQ.Util.reload()
}},hide:function(){CQ.utils.WCM.deselect();
for(var i in editables){editables[i].hide()
}for(var i in dialogs){dialogs[i].hide()
}},hidePlaceholders:function(element){var placeholders=element.query("*[class*='-placeholder']");
for(var i=0;
i<placeholders.length;
i++){var clazz=placeholders[i].className;
if(clazz){var repl=clazz.replace(/(cq-.+-placeholder)(-off)?\b/,"$1-off");
if(repl!=clazz){placeholders[i].className=repl
}}}},showPlaceholders:function(element){var placeholders=element.query("*[class*='-placeholder']");
for(var i=0;
i<placeholders.length;
i++){var clazz=placeholders[i].className;
if(clazz){var repl=clazz.replace(/(cq-.+-placeholder)-off/,"$1");
if(repl!=clazz){placeholders[i].className=repl
}}}},getDialog:function(config,key,nocreate){if(nocreate){return key?dialogs[key]:null
}var dialogConfig,dialogKey,dialog;
if(typeof config=="string"&&dialogs[config]&&key!="NEW"){return dialogs[config]
}else{if(key&&dialogs[key]){return dialogs[key]
}else{if(typeof config!="object"||config.xtype!="dialog"){dialogConfig=CQ.utils.WCM.getDialogConfig(config)
}else{dialogConfig=config
}}}if(!dialogConfig){return null
}dialogKey=key;
if(!dialogKey){dialogKey=(typeof config=="string")?config:dialogConfig.path
}if(!dialogKey){dialogKey="dialog-"+new Date().valueOf()
}dialog=CQ.Util.build(dialogConfig,true);
if(dialogKey!="NEW"){dialogs[dialogKey]=dialog
}return dialog
},unregisterDialog:function(key){if(dialogs[key]&&dialogs[key].destroy){dialogs[key].destroy()
}delete dialogs[key]
},registerDialog:function(key,dlg){dialogs[key]=dlg
},getDialogConfig:function(config){var url;
var snippet;
if(typeof config=="string"){url=config
}else{if(config.url){url=config.url
}}if(url){var ext=CQ.HTTP.EXTENSION_JSON;
if(url.indexOf(ext)!=(url.length-ext.length)){url+=CQ.Sling.SELECTOR_INFINITY+ext
}try{var json=CQ.Util.eval(CQ.HTTP.get(url));
snippet=CQ.Util.formatData(json)
}catch(e){CQ.Log.error("CQ.utils.WCM#getDialogConfig failed: "+e.message);
return null
}}else{snippet=CQ.Util.formatData(config)
}if(!snippet){CQ.Log.error("CQ.utils.WCM#getDialogConfig failed");
return null
}var dialogConfig;
if(snippet.xtype.indexOf("dialog")!=-1){dialogConfig=snippet
}else{dialogConfig={xtype:"dialog"};
if(snippet.xtype=="panel"&&snippet.title){dialogConfig.items={xtype:"tabpanel",items:snippet}
}else{dialogConfig.items=snippet
}}if(dialogConfig.buttons==undefined){dialogConfig.buttons=CQ.Dialog.OKCANCEL
}dialogConfig.responseScope=config.responseScope;
dialogConfig.success=config.success;
dialogConfig.failure=config.failure;
dialogConfig.params=config.params;
return dialogConfig
},getDialogs:function(){return dialogs
},launchSidekick:function(path,config,setup){if(path){var page=CQ.utils.WCM.getPage(path);
if(page.isReadOnly()){CQ.utils.WCM.setReadOnly(true);
config.readOnly=true
}}if(!window.top.CQ_Sidekick){var createSidekick=function(){window.top.CQ.utils.WCM.createSidekick(path,config,setup)
};
if(CQ.Ext.isReady){window.setTimeout(createSidekick,1)
}else{CQ.Ext.onReady(function(){window.setTimeout(createSidekick,1)
});
return null
}}else{window.setTimeout(function(){window.top.CQ_Sidekick.loadContent(path,config)
},1)
}return window.top.CQ_Sidekick
},getSidekick:function(){return window.top.CQ_Sidekick
},createSidekick:function(path,config,setup){if(typeof config!="string"){config=CQ.utils.Util.merge(config,defaultSidekickConfig)
}var sidekick=CQ.utils.Util.build(config);
if(setup){setup.call(sidekick)
}if(path){sidekick.loadContent(path,config)
}sidekick.show();
window.top.CQ_Sidekick=sidekick
},getPage:function(path){var info=CQ.WCM.getPageInfo(path);
return new CQ.Page(info,CQ.User.getCurrentUser())
},getPageInfo:function(path,forceLoad){if(path){var index=path.indexOf("/jcr:content");
if(index>0){path=path.substring(0,index)
}}var info=this.getContentWindow().CQ.utils.WCM.pageInfos[path];
if(!info||forceLoad){var url=CQ.Util.externalize("/libs/wcm/content/pageinfo.json");
url=CQ.HTTP.addParameter(url,"path",path);
url=CQ.HTTP.noCaching(url);
var res=CQ.HTTP.get(url);
if(res.status&&CQ.HTTP.isOkStatus(res.status)){info=CQ.Util.eval(res)
}else{info={}
}this.getContentWindow().CQ.utils.WCM.pageInfos[path]=info
}return info
},getContentFinder:function(){return window.top.CQ_ContentFinder
},getContentWindow:function(){var finder=CQ.utils.WCM.getContentFinder();
return finder?finder.getContentWindow():window
},isContentWindow:function(win){if(!win){win=window
}return win==CQ.utils.WCM.getContentWindow()
},getContentUrl:function(){return CQ.utils.WCM.getContentWindow().location.href
},getPagePath:function(){var sidekick=CQ.utils.WCM.getSidekick();
if(sidekick){return sidekick.getPath()
}else{try{var path=window.location.href;
if(path.indexOf("?")!=-1){path=path.substring(0,path.indexOf("?"))
}path=path.replace(/.*\:[\/][\/]/,"");
path=path.substring(path.indexOf("/"));
path=path.substring(CQ.Util.getContextPath().length);
if(path.lastIndexOf(".")>path.lastIndexOf("/")){path=path.substring(0,path.indexOf(".",path.lastIndexOf("/")))
}return path
}catch(e){return""
}}},setReadOnly:function(mode){readOnly=mode
},getDesignStyleOptions:function(contentPath){try{var suffix="";
if(contentPath.lastIndexOf("/*")>0){contentPath=contentPath.substring(0,contentPath.length-2);
if(this.initialConfig.newStylePath){suffix="/"+this.initialConfig.newStylePath
}}else{if(this.initialConfig.stylePath){suffix="/"+this.initialConfig.stylePath
}}var url=contentPath+".style.json"+suffix;
var json=CQ.Util.eval(CQ.HTTP.get(url));
var value=null;
for(var a in json){value=json[a];
break
}if(value){if(typeof value=="string"){value=value.split("\n")
}var opts=[];
for(var i=0;
i<value.length;
i++){var nm=value[i];
if(typeof nm=="string"){nm=nm.split("\t")
}opts.push({value:nm[0],text:nm[1]?nm[1]:nm[0]})
}this.setOptions(opts)
}}catch(e){CQ.Log.error("CQ.utils.WCM#getDesignStyleOptions failed: "+e.message)
}},setContentLanguageOptionsCB:function(){try{var url="/libs/wcm/resources/languages.infinity.json";
var json=CQ.Util.eval(CQ.HTTP.get(url));
var opts=[];
for(var name in json){var langObj=json[name];
var title=langObj.language;
if(title){var country=langObj.country;
if(country&&country!="*"){title+=" ("+country+")"
}opts.push({value:name,text:title})
}}opts.sort(function(l1,l2){if(l1.text<l2.text){return -1
}else{if(l1.text==l2.text){return 0
}else{return 1
}}});
this.setOptions(opts)
}catch(e){CQ.Log.error("CQ.utils.WCM#setContentLanguageOptions failed: "+e.message)
}},observeKeypress:function(win){if(!CQ.Ext.isReady){CQ.Ext.onReady(function(){CQ.utils.WCM.observeKeypress(win)
})
}else{if(!win){win=window
}var target=CQ.Ext.isIE?win.document:win;
if(!win.CQ_keypressObserved){CQ.Ext.EventManager.on(target,"keydown",processKeyDown);
CQ.Ext.EventManager.on(target,"keyup",processKeyUp);
win.CQ_keypressObserved=1
}CQ.Ext.EventManager.on(win.document,"unload",function(){CQ.Ext.EventManager.un(target,"keydown",processKeyDown);
CQ.Ext.EventManager.un(target,"keyup",processKeyUp)
})
}},getComponentList:function(path){try{var pagePath=path;
var idx=path.indexOf("/jcr:content");
if(idx>0){pagePath=path.substring(0,idx)
}var info=CQ.WCM.getPageInfo(pagePath);
if(pagePath==path){return info.components
}else{var relPath=path.substring(idx+1);
var allowed=info.allowedComponents[relPath];
var comps={};
if(allowed){for(var i=0;
i<allowed.length;
i++){var key=allowed[i];
if(info.components[key]){comps[key]=info.components[key]
}}}return comps
}}catch(e){}return null
},loadComponentList:function(panel,path,editing){var components=CQ.utils.WCM.getComponentList(path);
if(!components){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not load list of components."));
return 
}var isSidekick=editing?false:true;
var compRecord=CQ.Ext.data.Record.create([{name:"path"},{name:"title"},{name:"description"},{name:"thumbnail"},{name:"icon"},{name:"virtual"},{name:"config"},{name:"dialog"}]);
var tpl=new CQ.Ext.XTemplate('<tpl for=".">',"<table ",isSidekick==false?'<tpl if="virtual">style="display:none;" </tpl>':"",'class="x-btn-wrap x-btn" border="0" cellpadding="0" cellspacing="0" title="{description}">',"<tbody>","<tr>",'<td class="x-btn-left"><i>&nbsp;</i></td>','<td class="x-btn-center">','<em unselectable="on">','<button class="x-btn-text" type="button"','<tpl if="icon">',' style="background:transparent url({icon}) 0 3px no-repeat;padding:3px 0pt 2px 18px"',"</tpl>",">{title}</button>","</em>","</td>",'<td class="x-btn-right"><i>&nbsp;</i></td>',"</tr>","</tbody>","<table>","</tpl>");
var compStores=new CQ.Ext.util.MixedCollection();
for(var p in components){var comp=components[p];
if(!comp.icon){comp.icon=CQ.themes.wcm.Sidekick.ICON_COMPONENT
}var group=comp.group;
if(group==null||group==""){group="General"
}var compStore;
if(compStores.containsKey(group)){compStore=compStores.item(group)
}else{compStore=new CQ.Ext.data.Store({sortInfo:{field:"title",direction:"ASC"},reader:new CQ.Ext.data.DataReader({},compRecord)});
compStore.group=group;
compStores.add(group,compStore)
}if(!comp.thumbnail){comp.thumbnail=null
}if(!comp.icon){comp.icon=null
}compStore.addSorted(new CQ.Ext.data.Record(comp,p))
}compStores.sort("ASC",function(a,b){var aGroup=a.group.toUpperCase();
var bGroup=b.group.toUpperCase();
if(aGroup=="GENERAL"){return -1
}else{if(bGroup=="GENERAL"){return 1
}}if(aGroup=="OTHER"){return 1
}else{if(bGroup=="OTHER"){return -1
}}if(aGroup>bGroup){return 1
}if(aGroup<bGroup){return -1
}return 0
});
var listeners={render:function(comp){var config={containerScroll:false};
if(isSidekick){if(CQ.utils.WCM.getContentFinder()){comp.dragZone=new CQ.wcm.Sidekick.DragZone4ContentFinder(comp,config)
}else{comp.dragZone=new CQ.wcm.Sidekick.DragZone(comp,config)
}comp.dragZone.addToGroup(CQ.wcm.EditBase.DD_GROUP_COMPONENT);
comp.dragZone.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT);
CQ.wcm.Sidekick.componentsWithDragZone.push(comp)
}}};
if(!isSidekick){listeners.click=function(dataView){try{editing.selectInsertComponent(dataView.getSelectedRecords()[0])
}catch(e){}}
}compStores.each(function(compStore,index,total){var view=new CQ.Ext.DataView({tpl:tpl,autoHeight:true,autoWidth:true,border:false,singleSelect:true,multiSelect:false,overClass:"x-btn-over",selectedClass:"x-btn-selected",itemSelector:"table.x-btn",loadingText:CQ.I18n.getMessage("Loading components"),listeners:listeners,store:compStore,prepareData:function(data){data.title=CQ.I18n.getMessage(data.title);
data.description=CQ.I18n.getMessage(data.description);
return data
}});
panel.add(new CQ.Ext.Panel(CQ.Util.formatData({title:compStore.group,cls:"cq-sidekick-buttons",autoScroll:true,containerScroll:true,border:false,layout:"fit",items:view})))
});
panel.doLayout()
},getComponentConfig:function(resourceType){try{var componentsList=CQ.utils.WCM.getComponentList(CQ.utils.WCM.getPagePath());
return CQ.Util.copyObject(componentsList[resourceType])
}catch(e){CQ.Log.error("CQ.util.WCM#getComponentConfig: unable to load components.");
return null
}},isInComponentList:function(path,resourceType){try{return CQ.utils.WCM.getComponentList(path)[resourceType]!=undefined
}catch(e){return false
}},setContentWindowLoading:function(loading){window.top.CQ_isContentWindowLoading=loading
},isContentWindowLoading:function(){return window.top.CQ_isContentWindowLoading
}}
}();
CQ.WCM=CQ.utils.WCM;
CQ.WCM.edit=CQ.utils.WCM.makeEditable;
CQ.Util.detectContextPath();
if(!CQ.Ext.QuickTips.isEnabled()){CQ.Ext.QuickTips.init(false)
}CQ.Ext.state.Manager.setProvider(new CQ.Ext.state.CookieProvider({path:document.location.pathname.substring(0,document.location.pathname.lastIndexOf("/"))}));
CQ.Ext.BLANK_IMAGE_URL=CQ.Util.externalize("/libs/widgets/0.gif");
CQ.Ext.SSL_SECURE_URL=CQ.Util.externalize("/libs/widgets/0.html");
CQ.I18n.init({locale:CQ.User.getCurrentUser().getLanguage()});
CQ.Ext.EventManager.on(window,"unload",function(){CQ.WCM.setContentWindowLoading(true);
try{CQ.WCM.getContentFinder().contentWindow=null
}catch(B){}CQ.WCM.deselect()
});
CQ.WCM.setContentWindowLoading(true);
if(CQ.WCM.isContentWindow()){CQ.Ext.onLoad(function(){CQ.WCM.setContentWindowLoading(false)
})
}CQ.WCM.observeKeypress();
CQ.Ext.UpdateManager.defaults.indicatorText='<div class="loading-indicator">'+CQ.I18n.getMessage("Loading...")+"</div>";
if(CQ.Ext.View){CQ.Ext.View.prototype.emptyText=""
}if(CQ.Ext.grid.Grid){CQ.Ext.grid.Grid.prototype.ddText=CQ.I18n.getMessage("{0} selected row(s)")
}if(CQ.Ext.TabPanelItem){CQ.Ext.TabPanelItem.prototype.closeText=CQ.I18n.getMessage("Close this tab")
}if(CQ.Ext.form.Field){CQ.Ext.form.Field.prototype.invalidText=CQ.I18n.getMessage("The value in this field is invalid")
}if(CQ.Ext.LoadMask){CQ.Ext.LoadMask.prototype.msg=CQ.I18n.getMessage("Loading...")
}Date.monthNames=[CQ.I18n.getMessage("January"),CQ.I18n.getMessage("February"),CQ.I18n.getMessage("March"),CQ.I18n.getMessage("April"),CQ.I18n.getMessage("May"),CQ.I18n.getMessage("June"),CQ.I18n.getMessage("July"),CQ.I18n.getMessage("August"),CQ.I18n.getMessage("September"),CQ.I18n.getMessage("October"),CQ.I18n.getMessage("November"),CQ.I18n.getMessage("December")];
Date.getShortMonthName=function(B){return Date.monthNames[B].substring(0,3)
};
Date.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};
Date.getMonthNumber=function(B){return Date.monthNumbers[B.substring(0,1).toUpperCase()+B.substring(1,3).toLowerCase()]
};
Date.dayNames=[CQ.I18n.getMessage("Sunday"),CQ.I18n.getMessage("Monday"),CQ.I18n.getMessage("Tuesday"),CQ.I18n.getMessage("Wednesday"),CQ.I18n.getMessage("Thursday"),CQ.I18n.getMessage("Friday"),CQ.I18n.getMessage("Saturday")];
Date.getShortDayName=function(B){return Date.dayNames[B].substring(0,3)
};
if(CQ.Ext.MessageBox){CQ.Ext.MessageBox.buttonText={ok:CQ.I18n.getMessage("OK"),cancel:CQ.I18n.getMessage("Cancel"),yes:CQ.I18n.getMessage("Yes"),no:CQ.I18n.getMessage("No")}
}if(CQ.Ext.util.Format){CQ.Ext.util.Format.date=function(B,C){if(!B){return""
}if(!(B instanceof Date)){B=new Date(Date.parse(B))
}return B.dateFormat(C||CQ.I18n.getMessage("m/d/Y",null,"General date format for ExtJS (http://extjs.com/deploy/ext/docs/output/Date.html)"))
}
}if(CQ.Ext.DatePicker){CQ.Ext.apply(CQ.Ext.DatePicker.prototype,{todayText:CQ.I18n.getMessage("Today"),minText:CQ.I18n.getMessage("This date is before the minimum date"),maxText:CQ.I18n.getMessage("This date is after the maximum date"),disabledDaysText:"",disabledDatesText:"",monthNames:Date.monthNames,dayNames:Date.dayNames,nextText:CQ.I18n.getMessage("Next Month (Control+Right)"),prevText:CQ.I18n.getMessage("Previous Month (Control+Left)"),monthYearText:CQ.I18n.getMessage("Choose a month (Control+Up/Down to move years)"),todayTip:CQ.I18n.getMessage("{0} (Spacebar)"),format:CQ.I18n.getMessage("m/d/y",null,"Date format for ExtJS DatePicker (short, eg. two-digit year, http://extjs.com/deploy/ext/docs/output/Date.html)"),okText:CQ.I18n.getMessage("&#160;OK&#160;"),cancelText:CQ.I18n.getMessage("Cancel"),startDay:Number(CQ.I18n.getMessage("0",null,"Start day for week view in calendar (0=Sunday, 1=Monday, etc.)"))})
}if(CQ.Ext.PagingToolbar){CQ.Ext.apply(CQ.Ext.PagingToolbar.prototype,{beforePageText:CQ.I18n.getMessage("Page"),afterPageText:CQ.I18n.getMessage("of {0}"),firstText:CQ.I18n.getMessage("First Page"),prevText:CQ.I18n.getMessage("Previous Page"),nextText:CQ.I18n.getMessage("Next Page"),lastText:CQ.I18n.getMessage("Last Page"),refreshText:CQ.I18n.getMessage("Refresh"),displayMsg:CQ.I18n.getMessage("Displaying {0} - {1} of {2}"),emptyMsg:CQ.I18n.getMessage("No data to display")})
}if(CQ.Ext.form.TextField){CQ.Ext.apply(CQ.Ext.form.TextField.prototype,{minLengthText:CQ.I18n.getMessage("The minimum length for this field is {0}"),maxLengthText:CQ.I18n.getMessage("The maximum length for this field is {0}"),blankText:CQ.I18n.getMessage("This field is required"),regexText:"",emptyText:null})
}if(CQ.Ext.form.NumberField){CQ.Ext.apply(CQ.Ext.form.NumberField.prototype,{minText:CQ.I18n.getMessage("The minimum value for this field is {0}"),maxText:CQ.I18n.getMessage("The maximum value for this field is {0}"),nanText:CQ.I18n.getMessage("{0} is not a valid number")})
}if(CQ.Ext.form.DateField){CQ.Ext.apply(CQ.Ext.form.DateField.prototype,{disabledDaysText:CQ.I18n.getMessage("Disabled"),disabledDatesText:CQ.I18n.getMessage("Disabled"),minText:CQ.I18n.getMessage("The date in this field must be after {0}"),maxText:CQ.I18n.getMessage("The date in this field must be before {0}"),invalidText:CQ.I18n.getMessage("{0} is not a valid date - it must be in the format {1}"),format:CQ.I18n.getMessage("m/d/y",null,"Date format for ExtJS DateField (short, eg. two-digit year, http://extjs.com/deploy/ext/docs/output/Date.html)"),altFormats:CQ.I18n.getMessage("m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d",null,"Date formats to try when parsing input from ExtJS DateField, in order (http://extjs.com/deploy/ext/docs/output/Date.html)")})
}if(CQ.Ext.form.ComboBox){CQ.Ext.apply(CQ.Ext.form.ComboBox.prototype,{loadingText:CQ.I18n.getMessage("Loading..."),valueNotFoundText:undefined})
}if(CQ.Ext.form.VTypes){CQ.Ext.apply(CQ.Ext.form.VTypes,{emailText:CQ.I18n.getMessage('This field should be an e-mail address in the format "user@domain.com"'),urlText:CQ.I18n.getMessage('This field should be a URL in the format "http://www.domain.com"'),alphaText:CQ.I18n.getMessage("This field should only contain letters and _"),alphanumText:CQ.I18n.getMessage("This field should only contain letters, numbers and _")})
}if(CQ.Ext.form.HtmlEditor){CQ.Ext.apply(CQ.Ext.form.HtmlEditor.prototype,{createLinkText:CQ.I18n.getMessage("Please enter the URL for the link:"),buttonTips:{bold:{title:CQ.I18n.getMessage("Bold (Ctrl+B)"),text:CQ.I18n.getMessage("Make the selected text bold."),cls:"x-html-editor-tip"},italic:{title:CQ.I18n.getMessage("Italic (Ctrl+I)"),text:CQ.I18n.getMessage("Make the selected text italic."),cls:"x-html-editor-tip"},underline:{title:CQ.I18n.getMessage("Underline (Ctrl+U)"),text:CQ.I18n.getMessage("Underline the selected text."),cls:"x-html-editor-tip"},increasefontsize:{title:CQ.I18n.getMessage("Grow Text"),text:CQ.I18n.getMessage("Increase the font size."),cls:"x-html-editor-tip"},decreasefontsize:{title:CQ.I18n.getMessage("Shrink Text"),text:CQ.I18n.getMessage("Decrease the font size."),cls:"x-html-editor-tip"},backcolor:{title:CQ.I18n.getMessage("Text Highlight Color"),text:CQ.I18n.getMessage("Change the background color of the selected text."),cls:"x-html-editor-tip"},forecolor:{title:CQ.I18n.getMessage("Font Color"),text:CQ.I18n.getMessage("Change the color of the selected text."),cls:"x-html-editor-tip"},justifyleft:{title:CQ.I18n.getMessage("Align Text Left"),text:CQ.I18n.getMessage("Align text to the left."),cls:"x-html-editor-tip"},justifycenter:{title:CQ.I18n.getMessage("Center Text"),text:CQ.I18n.getMessage("Center text in the editor."),cls:"x-html-editor-tip"},justifyright:{title:CQ.I18n.getMessage("Align Text Right"),text:CQ.I18n.getMessage("Align text to the right."),cls:"x-html-editor-tip"},insertunorderedlist:{title:CQ.I18n.getMessage("Bullet List"),text:CQ.I18n.getMessage("Start a bulleted list."),cls:"x-html-editor-tip"},insertorderedlist:{title:CQ.I18n.getMessage("Numbered List"),text:CQ.I18n.getMessage("Start a numbered list."),cls:"x-html-editor-tip"},createlink:{title:CQ.I18n.getMessage("Hyperlink"),text:CQ.I18n.getMessage("Make the selected text a hyperlink."),cls:"x-html-editor-tip"},sourceedit:{title:CQ.I18n.getMessage("Source Edit"),text:CQ.I18n.getMessage("Switch to source editing mode."),cls:"x-html-editor-tip"}}})
}if(CQ.Ext.grid.GridView){CQ.Ext.apply(CQ.Ext.grid.GridView.prototype,{sortAscText:CQ.I18n.getMessage("Sort Ascending"),sortDescText:CQ.I18n.getMessage("Sort Descending"),lockText:CQ.I18n.getMessage("Lock Column"),unlockText:CQ.I18n.getMessage("Unlock Column"),columnsText:CQ.I18n.getMessage("Columns")})
}if(CQ.Ext.grid.GroupingView){CQ.Ext.apply(CQ.Ext.grid.GroupingView.prototype,{emptyGroupText:CQ.I18n.getMessage("(None)"),groupByText:CQ.I18n.getMessage("Group By This Field"),showGroupsText:CQ.I18n.getMessage("Show in Groups")})
}if(CQ.Ext.grid.PropertyColumnModel){CQ.Ext.apply(CQ.Ext.grid.PropertyColumnModel.prototype,{nameText:CQ.I18n.getMessage("Name"),valueText:CQ.I18n.getMessage("Value"),dateFormat:CQ.I18n.getMessage("m/j/Y",null,"Date format for ExtJS grid columns (http://extjs.com/deploy/ext/docs/output/Date.html)")})
}if(CQ.Ext.layout.BorderLayout.SplitRegion){CQ.Ext.apply(CQ.Ext.layout.BorderLayout.SplitRegion.prototype,{splitTip:CQ.I18n.getMessage("Drag to resize."),collapsibleSplitTip:CQ.I18n.getMessage("Drag to resize. Double click to hide.")})
}if(CQ.Ext.form.BasicForm){CQ.Ext.form.BasicForm.prototype.waitTitle=CQ.I18n.getMessage("Please wait...")
}if(CQ.Ext.form.TimeField){CQ.Ext.apply(CQ.Ext.form.TimeField.prototype,{minText:CQ.I18n.getMessage("The time in this field must be equal to or after {0}"),maxText:CQ.I18n.getMessage("The time in this field must be equal to or before {0}"),invalidText:CQ.I18n.getMessage("{0} is not a valid time"),format:CQ.I18n.getMessage("g:i A",null,"Time format for ExtJS TimeField (http://extjs.com/deploy/ext/docs/output/Date.html)")})
}CQ.AssetMetadataEditor=CQ.Ext.extend(CQ.Ext.Viewport,{saveMask:null,constructor:function(config){var editor=this;
this.isSingle=config.paths.length==1;
this.paths=config.paths;
this.tempDisabled=[];
this.manuallyAddedFields=[];
this.count=1;
var addMetaButton={xtype:"button",text:CQ.I18n.getMessage("Add Metadata")+"...",handler:function(){CQ.Ext.MessageBox.prompt(CQ.I18n.getMessage("Add Metadata"),CQ.I18n.getMessage("Enter the name of the new property"),function(button,text){if(button=="ok"){var label=text.indexOf(":")==-1?text:text.substring(text.indexOf(":")+1);
var name=text.indexOf(":")==-1?"dam:"+text:text;
var field=editor.formPanel.add({xtype:"textfield",name:"./"+name,value:"",fieldLabel:label});
editor.manuallyAddedFields.push(field);
editor.formPanel.doLayout();
field.focus()
}})
}};
var saveMetaButton={xtype:"button",text:CQ.I18n.getMessage("Save Metadata"),handler:function(){if(editor.form.isValid()){editor.saveMask.show();
if(editor.fireEvent("beforesubmit",editor)===false){return false
}editor.form.items.each(function(field){if(field.emptyText&&field.el.dom.value==field.emptyText){field.setRawValue("")
}if(!editor.isSingle&&!field.initialConfig.value&&!field.disabled){var isManuallyAdded=false;
for(var i=0;
i<editor.manuallyAddedFields.length;
i++){if(field==editor.manuallyAddedFields[i]){isManuallyAdded=true;
break
}}if(!isManuallyAdded){field.setDisabled(true);
editor.tempDisabled.push(field)
}}});
var action=new CQ.form.Action.Submit(editor.form,{failure:function(){for(var i=0;
i<editor.tempDisabled.length;
i++){var field=editor.tempDisabled[i];
field.setDisabled(false)
}editor.saveMask.hide();
CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Error"),msg:CQ.I18n.getMessage("Could not save metadata."),buttons:CQ.Ext.Msg.OK,icon:CQ.Ext.Msg.ERROR})
},success:function(){if(editor.isSingle){editor.saveMask.hide();
return 
}if(editor.count<editor.paths.length){editor.form.url=editor.paths[editor.count]+"/jcr:content/metadata.html";
editor.count++;
editor.form.doAction(action)
}else{for(var i=0;
i<editor.tempDisabled.length;
i++){var field=editor.tempDisabled[i];
field.setDisabled(false)
}editor.tempDisabled=[];
editor.manuallyAddedFields=[];
editor.saveMask.hide()
}}});
editor.form.doAction(action)
}}};
var metaButtons=[];
if(this.isSingle){metaButtons=[{xtype:"splitbutton",text:CQ.I18n.getMessage("Metadata"),menu:{items:[addMetaButton,saveMetaButton]}}]
}else{addMetaButton.text=CQ.I18n.getMessage("Add")+"...";
saveMetaButton.text=CQ.I18n.getMessage("Save");
metaButtons=[saveMetaButton,addMetaButton]
}this.content=new CQ.Ext.Panel({xtype:"panel",region:"center",margins:"5 5 0 5",layout:"column",bodyStyle:{padding:"10px","overflow-y":"auto","overflow-x":"hidden"},buttonAlign:"right",buttons:metaButtons,listeners:{render:function(comp){editor.saveMask=new CQ.Ext.LoadMask(comp.bwrap,{msg:CQ.I18n.getMessage("Saving")+"..."})
}}});
if(this.isSingle){var buttons=[];
this.renditions=new CQ.Ext.Panel({xtype:"panel",region:"south",margins:"5 5 5 5",height:170,layout:"column",autoScroll:true,bodyStyle:{padding:"10px"},title:"Renditions"});
var path=this.paths[0];
var editEnabled=path.toLowerCase().lastIndexOf(".jpg")==path.length-4||path.toLowerCase().lastIndexOf(".gif")==path.length-4||path.toLowerCase().lastIndexOf(".png")==path.length-4||path.toLowerCase().lastIndexOf(".jpeg")==path.length-5;
var res=CQ.Util.eval(CQ.HTTP.get(encodeURI(path)+"/jcr:content.1.json"));
var name=res.currentOriginal?res.currentOriginal:"original";
buttons.push({xtype:"button",text:CQ.I18n.getMessage("Edit Image")+"...",disabled:!editEnabled,listeners:{click:function(){var config=CQ.WCM.getDialogConfig({name:"./"+name,xtype:"smartimage",cropParameter:"./crop",rotateParameter:"./rotate",disableFlush:true});
config=CQ.Util.applyDefaults(config,{title:CQ.I18n.getMessage("Image Editor"),formUrl:path+".assetimage.html",success:function(){CQ.Util.reload()
}});
var dialog=CQ.Util.build(config,true);
dialog.loadContent(path+"/jcr:content/renditions");
dialog.show()
}}});
buttons.push({xtype:"button",text:CQ.I18n.getMessage("Reset Original"),disabled:name=="original",listeners:{click:function(){var params={currentOriginal:"original"};
CQ.HTTP.post(path+".currentasset.html",function(options,success,response){if(success){CQ.Util.reload()
}},params)
}}});
buttons.push({xtype:"button",text:CQ.I18n.getMessage("Upload Thumbnail")+"...",listeners:{click:function(){var config=CQ.WCM.getDialogConfig({xtype:"panel",items:{name:"image",xtype:"htmlupload",fieldLabel:CQ.I18n.getMessage("File")}});
config=CQ.Util.applyDefaults(config,{title:CQ.I18n.getMessage("Upload Thumbnail"),formUrl:path+".assetthumbnails.html",success:function(){CQ.Util.reload()
},fileUpload:true,params:{dimensions:"140,100/48,48"}});
var dialog=CQ.Util.build(config,true);
dialog.show()
}}});
buttons.push({xtype:"button",text:CQ.I18n.getMessage("Overwrite Binary")+"...",listeners:{click:function(){var config=CQ.WCM.getDialogConfig({xtype:"panel",items:{name:"originalFile",xtype:"htmlupload",fieldLabel:CQ.I18n.getMessage("File")}});
config=CQ.Util.applyDefaults(config,{title:CQ.I18n.getMessage("Overwrite Binary"),formUrl:path+".currentasset.html",success:function(){CQ.Util.reload()
},fileUpload:true,params:{currentOriginal:"original"}});
var dialog=CQ.Util.build(config,true);
dialog.show()
}}});
this.content.addButton({xtype:"splitbutton",text:CQ.I18n.getMessage("Edit"),menu:{items:buttons}})
}var title=this.isSingle?"Sub Assets":"Selected Assets";
this.subAssets=new CQ.Ext.Panel({xtype:"panel",region:"east",title:CQ.I18n.getMessage(title),margins:"5 5 5 5",width:160,bodyStyle:{padding:"10px"},autoScroll:true});
this.assetPanel=new CQ.Ext.Panel({xtype:"panel",region:"center",margins:"5 5 5 5",layout:"border",bodyStyle:{padding:"10px"},items:this.isSingle?[this.content,this.renditions]:this.content});
CQ.AssetMetadataEditor.superclass.constructor.call(this,{id:"cq-assetmetadataeditor",layout:"border",renderTo:"CQ",items:[{xtype:"panel",id:"cq-assetmetadataeditor-wrapper",layout:"border",region:"center",border:false,containerScroll:true,items:[{id:"cq-header",cls:"cq-damadmin-header",xtype:"container",autoEl:"div",region:"north",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar"}]},{xtype:"panel",layout:"border",region:"center",items:[this.assetPanel,this.subAssets]}]}]})
},initComponent:function(){CQ.AssetMetadataEditor.superclass.initComponent.call(this);
this.addEvents("beforesubmit")
},skipIt:function(C,D,B){if(!C){return false
}else{if(D){return !C[B]
}else{if(!D){return C[B]
}}}},getTypeHint:function(C){var B="String";
if(typeof C=="number"&&C.toString().indexOf(".")<0){B="Long"
}else{if(typeof C=="number"){B="Double"
}else{if(typeof C=="boolean"){B="Boolean"
}}}return B
},addFields:function(I,J,B,E,K,D){for(var L in I){if(L.indexOf("jcr:")<0&&L.indexOf(":")!=0){var G=unescape(L);
G=CQ.I18n.getMessage(G.indexOf(":")==-1?G:G.substring(G.indexOf(":")+1));
var P=E+"/"+L;
if(this.skipIt(K,D,P)){continue
}if(typeof I[L]!="object"){var O=v=Date.parse(I[L]);
if(!O){Date.parseDate(I[L],(new CQ.form.DateTime).hiddenFormat)
}var C=P;
var N=I[L];
if(O){B.add({xtype:"datetime",name:C,value:N,fieldLabel:G})
}else{var F=(N&&N.length>100)?"textarea":"textfield";
B.add({xtype:F,name:C,value:N,fieldLabel:G})
}B.add({xtype:"hidden",name:C+"@TypeHint",value:this.getTypeHint(N)})
}else{if(typeof I[L]=="object"&&I[L] instanceof Array){if(L!="cq:tags"){var R=new CQ.Ext.form.FieldSet({collapsible:true,title:G,autoHeight:true,collapsed:true,defaults:{msgTarget:"qtip",anchor:"-10",stateful:false}});
B.add(R);
for(var H=0;
H<I[L].length;
H++){var N=I[L][H];
var O=v=Date.parse(N);
if(!O){Date.parseDate(N,(new CQ.form.DateTime).hiddenFormat)
}var C=P;
if(O){R.add({xtype:"datetime",name:C,value:N,fieldLabel:G})
}else{var F=(N&&N.length>100)?"textarea":"textfield";
R.add({xtype:F,name:C,value:N,fieldLabel:G})
}R.add({xtype:"hidden",name:C+"@TypeHint",value:this.getTypeHint(N)})
}}else{var M=J["./cq:tags"];
if(M){for(var H=0;
H<M.length;
H++){var Q=M[H].name.substr(2);
if(I[Q]){M[H].setValue(I[Q])
}}}}}else{if(typeof I[L]=="object"){var R=new CQ.Ext.form.FieldSet({collapsible:true,title:L,autoHeight:true,collapsed:true,defaults:{msgTarget:"qtip",anchor:"-10",stateful:false}});
B.add(R);
this.addFields(I[L],J,R,P,K,D)
}}}}}},orderFields:function(D){var C={};
for(var E in D){if(typeof D[E]=="object"||typeof D[E]=="array"){var B=CQ.Util.copyObject(D[E]);
delete D[E];
D[E]=B
}}},loadAsset:function(paths){var isSingle=paths.length==1;
this.content.add({xtype:"panel",border:false,width:140,html:isSingle?"<a href='"+paths[0]+"'><img src='"+paths[0]+".thumb.100.140.png' qtip='"+CQ.I18n.getMessage("Click to download asset")+"'/></a>":'<div class="cq-icon-128-documents"> </div>'});
var formConfig={xtype:"form",labelWidth:170,border:false,url:paths[0]+"/jcr:content/metadata.html",columnWidth:1,bodyStyle:{"padding-left":"10px"},defaults:{msgTarget:"qtip",anchor:"-30",stateful:false}};
var tagField=new CQ.tagging.TagInputField({name:"./cq:tags",fieldLabel:CQ.I18n.getMessage("Tags")});
this.on("beforesubmit",tagField.prepareSubmit,tagField);
this.formPanel=this.content.add(formConfig);
this.form=this.formPanel.getForm();
var url;
if(isSingle){url=paths[0]+"/jcr:content/metadata.5.json";
url=encodeURI(url)
}else{var pre="?";
url="/libs/dam/merge/metadata.json";
for(var i=0;
i<paths.length;
i++){url+=pre+"path="+encodeURI(paths[i]);
pre="&"
}url=CQ.HTTP.addParameter(url,"tidy","true");
url=CQ.HTTP.addParameter(url,"_charset_","utf-8")
}var res=CQ.Util.eval(CQ.HTTP.get(url));
var data=isSingle?res:res.metadata;
var fields=CQ.Util.findFormFields(this.formPanel);
this.orderFields(data);
var list={};
list["./dc:title"]={};
list["./dc:description"]={};
this.addFields(data,fields,this.formPanel,".",list,true);
this.formPanel.add({xtype:"hidden",name:"_charset_",value:"utf-8"});
if(data["dc:title"]==undefined){this.formPanel.add({xtype:"textfield",name:"./dc:title",fieldLabel:CQ.I18n.getMessage("Title")})
}if(data["dc:description"]==undefined){this.formPanel.add({xtype:"textfield",name:"./dc:description",fieldLabel:CQ.I18n.getMessage("Description")})
}this.formPanel.add(tagField);
fields=CQ.Util.findFormFields(this.formPanel);
this.addFields(data,fields,this.formPanel,".",list,false);
this.formPanel.add({xtype:"hidden",name:"./jcr:mixinTypes",value:"cq:Taggable"});
if(data["jcr:mixinTypes"]){var mixins=data["jcr:mixinTypes"];
for(var i=0;
i<mixins.length;
i++){if((mixins[i]!="mix:title")&&(mixins[i]!="cq:Taggable")){this.formPanel.add({xtype:"hidden",name:"./jcr:mixinTypes",value:mixins[i]})
}}}if(isSingle){var renditions=CQ.Util.eval(CQ.HTTP.get(encodeURI(paths[0])+"/jcr:content/renditions.2.json"));
for(var r in renditions){if(r.indexOf("jcr:")<0){var rPath=CQ.Util.externalize(paths[0]+"/jcr:content/renditions/"+r);
if((r.indexOf(".png")>0||r.indexOf(".gif")>0||r.indexOf(".jpeg")>0||r.indexOf(".jpg")>0)&&renditions[r]["jcr:content"][":jcr:data"]<100000){this.renditions.add({xtype:"panel",border:true,height:120,width:120,style:"padding-right:8px;",title:r,html:"<a href='"+rPath+"' target='_blank'><div style='width:112px;height:103px;background-image:url(\""+rPath+"\");background-position:50%;background-repeat:no-repeat;' ' qtip='"+CQ.I18n.getMessage("Click to download rendition")+"'></div></a><br>"})
}else{var p=CQ.Util.externalize("/libs/cq/widgets/themes/default/icons/48x48/document.png.thumb.100.140.png");
this.renditions.add({xtype:"panel",border:true,height:120,width:120,style:"padding-right:8px;",title:r,html:"<a href='"+rPath+"' target='_blank'><div style='width:112px;height:103px;background-image:url("+p+");background-position:50%;' ' qtip='"+CQ.I18n.getMessage("Click to download rendition")+"'></div></a><br>"})
}}}}if(isSingle){var subAssets=CQ.Util.eval(CQ.HTTP.get(encodeURI(paths[0])+".2.json"));
var hasSubAssets=subAssets.subassets;
var i=0;
for(var s in subAssets.subassets){if(s.indexOf("jcr:")<0){i++;
var rPath=CQ.Util.externalize(paths[0]+"/subassets/"+s);
this.subAssets.add({xtype:"panel",border:true,height:120,width:120,style:"margin-bottom:10px;",title:'<div style="text-align:center;">&ndash; '+i+" &ndash;</div>",html:"<a href='"+rPath+".metadata.html'><div style='width:112px;height:90px;background-image:url(\""+rPath+".thumb.100.140.png\");background-position:50%;background-repeat:no-repeat;' ' qtip='"+CQ.I18n.getMessage("Click to open sub asset")+"'></div></a><br>"})
}}if(!hasSubAssets){this.subAssets.add({xtype:"static",text:"No assets available"})
}}else{for(var i=0;
i<paths.length;
i++){var title=paths[i].substring(paths[i].lastIndexOf("/")+1);
var p=CQ.Util.externalize(paths[i]);
this.subAssets.add({xtype:"panel",border:true,height:120,width:120,style:"margin-bottom:10px;",title:title,html:"<a href='"+paths[i]+".metadata.html'><div style='width:112px;height:90px;background-image:url(\""+p+".thumb.100.140.png\");background-position:50%;background-repeat:no-repeat;' ' qtip='"+title+"'></div></a><br>"})
}}this.subAssets.doLayout();
if(this.renditions){this.renditions.doLayout()
}this.content.doLayout()
}});
CQ.Ext.reg("assetmetadataeditor",CQ.AssetMetadataEditor);
CQ.PrivilegedAction=CQ.Ext.extend(CQ.Ext.Action,{privileges:null,conditions:null,path:null,isChecked:false,allowed:false,constructor:function(B){CQ.Ext.applyIf(B,{path:"/",disabled:false});
this.privileges=B.privileges;
this.conditions=B.conditions;
CQ.PrivilegedAction.superclass.constructor.call(this,B);
this.path=this.initialConfig.path
},setPath:function(B,C){if((this.path!=B)||C){this.isChecked=false;
this.path=B;
this.setDisabled(!this.isAllowed())
}},isDisabled:function(){return this.initialConfig.disabled||!this.isAllowed()
},enable:function(){this.setDisabled(!this.isAllowed())
},addComponent:function(B){B.disabled=this.isDisabled();
CQ.PrivilegedAction.superclass.addComponent.call(this,B)
},isAllowed:function(){if(this.isChecked){return this.allowed
}this.allowed=this.checkConditions()&&this.hasPermission();
this.isChecked=true;
return this.allowed
},hasPermission:function(){var D=!this.privileges;
if(!D){var B=CQ.User.getCurrentUser();
if(typeof this.privileges=="object"){for(var C=0;
C<this.privileges.length;
C++){D=B.hasPermissionOn(this.privileges[C],this.path);
if(!D){break
}}}else{D=CQ.User.hasPermissionOn(this.privileges,this.path)
}}return D
},checkConditions:function(){var allowed=!this.conditions;
if(!allowed){for(var i=0;
i<this.conditions.length;
i++){if(typeof (this.conditions[i])=="string"){this.conditions[i]=eval(this.conditions[i])
}allowed=this.conditions[i].call(this);
if(!allowed){break
}}}return allowed
}});
CQ.Highlight=CQ.Ext.extend(CQ.Ext.Component,{frameCls:null,frameWidth:null,framePadding:null,frameLeft:null,frameRight:null,frameBottom:null,frameTop:null,overridenZIndex:null,constructor:function(B){CQ.Util.applyDefaults(B,{frameCls:"cq-highlight",frameWidth:CQ.themes.Highlight.FRAME_WIDTH,framePadding:CQ.themes.Highlight.FRAME_PADDING});
CQ.Highlight.superclass.constructor.call(this);
this.initialConfig=B;
this.frameLeft=this.createFrame("left");
this.frameRight=this.createFrame("right");
this.frameTop=this.createFrame("top");
this.frameBottom=this.createFrame("bottom");
this.addEvents("beforeshowframe","beforehideframe");
if(B.cls){this.addClass(B.cls)
}},createFrame:function(C){var B=this.initialConfig;
return new CQ.Ext.BoxComponent({autoEl:"div",cls:B.frameCls+" "+C})
},showFrame:function(){if(!this.frameLeft.rendered){this.frameLeft.render(CQ.Util.ROOT_ID)
}if(!this.frameRight.rendered){this.frameRight.render(CQ.Util.ROOT_ID)
}if(!this.frameTop.rendered){this.frameTop.render(CQ.Util.ROOT_ID)
}if(!this.frameBottom.rendered){this.frameBottom.render(CQ.Util.ROOT_ID)
}var C=this.initialConfig;
if(C.listeners&&C.listeners.beforeshowframe){var G=C.listeners.beforeshowframe.handler?C.listeners.beforeshowframe.handler:C.listeners.beforeshowframe;
var F=C.listeners.beforeshowframe.scope?C.listeners.beforeshowframe.scope:this;
G.call(F)
}var D=CQ.Ext.get(C.element);
var E=D.getWidth();
var B=D.getHeight();
var I=D.getLeft();
var H=D.getTop();
this.frameLeft.setWidth(C.frameWidth);
this.frameLeft.setHeight(B+(2*C.framePadding));
this.frameLeft.setPosition(I-C.frameWidth-C.framePadding,H-C.framePadding);
this.frameRight.setWidth(C.frameWidth);
this.frameRight.setHeight(B+(2*C.framePadding));
this.frameRight.setPosition(I+E+C.framePadding,H-C.framePadding);
this.frameTop.setWidth(E+(2*C.frameWidth)+(2*C.framePadding));
this.frameTop.setHeight(C.frameWidth);
this.frameTop.setPosition(I-C.frameWidth-C.framePadding,H-C.frameWidth-C.framePadding);
this.frameBottom.setWidth(E+(2*C.frameWidth)+(2*C.framePadding));
this.frameBottom.setHeight(C.frameWidth);
this.frameBottom.setPosition(I-C.frameWidth-C.framePadding,H+B+C.framePadding);
this.frameLeft.show();
this.frameRight.show();
this.frameTop.show();
this.frameBottom.show();
if(this.overridenZIndex){this.frameLeft.el.setStyle("z-index",this.overridenZIndex);
this.frameRight.el.setStyle("z-index",this.overridenZIndex);
this.frameTop.el.setStyle("z-index",this.overridenZIndex);
this.frameBottom.el.setStyle("z-index",this.overridenZIndex)
}},hideFrame:function(){var B=this.initialConfig;
if(B.listeners&&B.listeners.beforehideframe){var D=B.listeners.beforehideframe.handler?B.listeners.beforehideframe.handler:B.listeners.beforehideframe;
var C=B.listeners.beforehideframe.scope?B.listeners.beforehideframe.scope:this;
D.call(C)
}this.frameLeft.hide();
this.frameRight.hide();
this.frameBottom.hide();
this.frameTop.hide()
},flash:function(){var B=this.initialConfig;
CQ.Ext.get(B.element).frame(CQ.themes.Highlight.FLASH_COLOR,CQ.themes.Highlight.FLASH_NUM,{duration:CQ.themes.Highlight.FLASH_DURATION})
},addClass:function(B){this.frameLeft.addClass(B);
this.frameRight.addClass(B);
this.frameBottom.addClass(B);
this.frameTop.addClass(B)
},removeClass:function(B){this.frameLeft.removeClass(B);
this.frameRight.removeClass(B);
this.frameBottom.removeClass(B);
this.frameTop.removeClass(B)
},on:function(B,D,C){this.frameLeft.on(B,D,C);
this.frameRight.on(B,D,C);
this.frameBottom.on(B,D,C);
this.frameTop.on(B,D,C)
},un:function(B,D,C){this.frameLeft.un(B,D,C);
this.frameRight.un(B,D,C);
this.frameBottom.un(B,D,C);
this.frameTop.un(B,D,C)
}});
CQ.Static=CQ.Ext.extend(CQ.Ext.BoxComponent,{onRender:function(C,B){if(!this.el){var D=document.createElement(this.tag);
D.id=this.getId();
this.el=new CQ.Ext.Element(D);
if(this.text){this.updateText(this.text)
}else{if(this.html){this.updateHtml(this.html)
}}}CQ.Static.superclass.onRender.call(this,C,B)
},updateHtml:function(B){this.el.dom.innerHTML=B
},updateText:function(B){this.updateHtml(CQ.Ext.util.Format.htmlEncode(B))
},constructor:function(B){if(!B.cls){B.cls="cq-static"
}if(B.small){B.cls+=" cq-static-small"
}if(B.bold){B.cls+=" cq-static-bold"
}if(B.italic){B.cls+=" cq-static-italic"
}if(B.topmargin){B.cls+=" cq-static-topmargin"
}if(B.bottommargin){B.cls+=" cq-static-bottommargin"
}this.tag=B.tag?B.tag:"div";
CQ.Static.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("static",CQ.Static);
CQ.PropertyGrid=function(B){B=CQ.Util.applyDefaults(B,{region:"east",id:"cq-properties",title:CQ.I18n.getMessage("Properties"),collapsible:true,collapsed:true,split:true,autoScroll:true,containerScroll:true,animate:true,width:240,margins:"5 5 5 0"});
CQ.PropertyGrid.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.PropertyGrid,CQ.Ext.grid.PropertyGrid,{listeners:{afteredit:function(B){this.srcComp.setProperties(B.grid.getSource());
this.srcComp.afterPropChange()
}},showProperties:function(B){this.srcComp=B;
this.customEditors=B.getPropertyEditors();
this.setSource(B.getProperties());
if(this.collapsed){this.expand()
}}});
CQ.Ext.reg("propgrid",CQ.PropertyGrid);
CQ.SearchField=CQ.Ext.extend(CQ.Ext.form.ComboBox,{constructor:function(B){B=CQ.Util.applyDefaults(B,{width:300,pageSize:6,minChars:1,typeAhead:true,typeAheadDelay:100,validationEvent:false,validateOnBlur:false,displayField:"title",triggerClass:"x-form-search-trigger",emptyText:CQ.I18n.getMessage("Enter search query"),loadingText:CQ.I18n.getMessage("Searching..."),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="search-item">','<div title="{path}" class="search-thumb"><img src="{path}.thumb.48.48.png"/></div>','<div class="search-title">{title}</div>','<div class="search-excerpt">{excerpt}</div>','<div class="search-separator"></div>',"</div>","</tpl>"),itemSelector:"div.search-item"});
var C=CQ.Util.applyDefaults(B.store,{proxy:new CQ.Ext.data.HttpProxy({url:B.url?B.url:"/content.search.json",method:"GET"}),baseParams:{_charset_:"utf-8"},reader:new CQ.Ext.data.JsonReader({id:"path",root:"hits",totalProperty:"results",fields:["name","path","excerpt","title"]})});
B.store=new CQ.Ext.data.Store(C);
CQ.SearchField.superclass.constructor.call(this,B)
},onSelect:function(B,C){if(this.fireEvent("beforeselect",this,B,C)!==false){this.collapse();
this.fireEvent("select",this,B,C)
}},onTypeAhead:function(){}});
CQ.Ext.reg("searchfield",CQ.SearchField);
CQ.Dialog=CQ.Ext.extend(CQ.Ext.Window,{okText:null,cancelText:null,buttons:[],params:{},responseScope:null,success:null,failure:null,formUrl:null,path:null,editLockMode:null,editLock:null,formPanel:null,form:null,titleFromConfig:false,formUrlFromConfig:false,configDefaults:null,loadContent:function(D){var B;
if(typeof (D)=="string"){this.path=D;
var C=CQ.Util.externalize(this.path);
B=new CQ.data.SlingStore({url:C+CQ.Sling.SELECTOR_INFINITY+CQ.HTTP.EXTENSION_JSON});
if(!this.formUrlFromConfig){this.form.url=C
}if(!this.titleFromConfig){this.setTitle(C)
}if(CQ.Ext.isIE6&&this.title&&this.title.length>CQ.themes.Dialog.IE6_TITLE_MAX_CHAR){this.setTitle(this.title.substring(0,CQ.themes.Dialog.IE6_TITLE_MAX_CHAR))
}}else{if(D instanceof CQ.Ext.data.Store){B=D
}}if(B){B.load({callback:this.processRecords,scope:this})
}},processRecords:function(H,B,I){var D;
if(I){D=H[0]
}else{CQ.Log.warn("CQ.Dialog#processRecords: retrieval of records unsuccessful");
D=new CQ.data.SlingRecord();
D.data={}
}CQ.Log.debug("CQ.Dialog#processRecords: processing records for fields");
var J=B.scope?B.scope:this;
var F=CQ.Util.findFormFields(this.formPanel);
for(var C in F){for(var E=0;
E<F[C].length;
E++){try{if(F[C][E].processInit){CQ.Log.debug("CQ.Dialog#processRecords: skip field '{0}'; calling processInit instead",[C]);
F[C][E].processInit(this.path,D)
}if(!F[C][E].initialConfig.ignoreData){CQ.Log.debug("CQ.Dialog#processRecords: field '{0}'",[C]);
F[C][E].processRecord(D,this.path)
}}catch(G){CQ.Log.debug("CQ.Dialog#processRecords: {0}",G.message)
}}}this.fireEvent("loadContent",this)
},processInit:function(F){CQ.Log.debug("CQ.Dialog#processInit: processing init for fields");
var B=CQ.Util.findFormFields(this.formPanel);
for(var C in B){for(var D=0;
D<B[C].length;
D++){try{if(B[C][D].processInit){CQ.Log.debug("CQ.Dialog#processInit: field '{0}'",[C]);
B[C][D].processInit(F)
}}catch(E){CQ.Log.debug("CQ.Dialog#processRecords: {0}",E.message)
}}}},addHidden:function(D){for(var B in D){var C=CQ.Util.build({xtype:"hidden",name:B,value:D[B],ignoreData:true});
this.formPanel.add(C)
}this.formPanel.doLayout()
},addParams:function(E){var D={};
var B=CQ.Util.findFormFields(this.formPanel);
for(var C in E){if(!B[C]){D[C]=E[C]
}}this.addHidden(D)
},getField:function(C){var B=CQ.Util.findFormFields(this.formPanel);
if(B[C]&&B[C].length==1){return B[C][0]
}else{return B[C]
}},applySingleConfigDefaults:function(C,D,E){var B=CQ.Util.getSingleItemConfig(C,E);
if(B){return CQ.Util.applyDefaults(B,D)
}return C
},applyConfigDefaults:function(config,defaults){CQ.Util.applyDefaults(config,defaults.dialog);
if(config.items.xtype=="tabpanel"){var tabPanel=this.applySingleConfigDefaults(config,defaults.tabpanel,"tabpanel");
if(tabPanel&&tabPanel.items){if(tabPanel.items instanceof Array){for(var i=0;
i<tabPanel.items.length;
i++){var tab=CQ.Util.applyDefaults(tabPanel.items[i],defaults.panel)
}}else{var tab=CQ.Util.applyDefaults(tabPanel.items,defaults.panel)
}}}else{var singlePanel=this.applySingleConfigDefaults(config,defaults.panel,"panel")
}if(config.buttons){if(typeof config.buttons=="string"){config.buttons=[config.buttons]
}var buttons=[];
if(config.editLockMode){config.buttonAlign="left";
var cls="cq-dialog-edit-unlock";
if(config.editLock){cls="cq-dialog-edit-lock"
}var dlg=this;
buttons.push({iconCls:cls,cls:"cq-dialog-edit-lock-button-cls",ctCls:"cq-dialog-edit-lock-button-ctCls",enableToggle:true,toggleHandler:function(button){if(dlg.editLock){CQ.Util.enableFields(dlg.formPanel);
button.setIconClass("cq-dialog-edit-unlock");
dlg.fireEvent("editUnlocked",dlg)
}else{CQ.Util.disableFields(dlg.formPanel);
button.setIconClass("cq-dialog-edit-lock");
dlg.fireEvent("editLocked",dlg)
}dlg.editLock=!dlg.editLock
}})
}if(config.params){var dialogType=config.params["./sling:resourceType"];
if(dialogType){buttons.push(CQ.Util.applyDefaults({text:CQ.I18n.getMessage("Help"),handler:CQ.wcm.HelpBrowser.show.createCallback(dialogType.replace(new RegExp("/","g"),"_"))},defaults.button))
}}for(var i=0;
i<config.buttons.length;
i++){if(typeof config.buttons[i]=="string"){if(config.buttons[i]==CQ.Dialog.OK){var okButton=this.getOkConfig();
buttons.push(CQ.Util.applyDefaults(okButton,defaults.button))
}if(config.buttons[i]==CQ.Dialog.CANCEL){var cancelButton=this.getCancelConfig();
buttons.push(CQ.Util.applyDefaults(cancelButton,defaults.button))
}}else{if(config.buttons[i]){if(typeof config.buttons[i].handler=="string"){config.buttons[i].handler=eval(config.buttons[i].handler)
}buttons.push(CQ.Util.applyDefaults(config.buttons[i],defaults.button))
}}}config.buttons=buttons
}},getOkConfig:function(){return{text:this.okText,handler:function(B){this.ok()
}}
},getCancelConfig:function(){return{text:this.cancelText,handler:function(B){this.hide()
}}
},getActiveTab:function(){var B=this.formPanel.getComponent(0).getComponent(0);
if(B.xtype=="tabpanel"){B=B.getActiveTab()
}return B
},ok:function(){var B={};
if(this.responseScope){B={scope:this.responseScope,success:this.success?this.success:this.responseScope.success,failure:this.failure?this.failure:this.responseScope.failure}
}else{if(this.success){B.success=this.success
}if(this.failure){B.failure=this.failure
}}if(this.form.isValid()){if(this.fireEvent("beforesubmit",this)===false){return false
}this.form.items.each(function(D){if(D.emptyText&&D.el.dom.value==D.emptyText){D.setRawValue("")
}});
var C=new CQ.form.Action.Submit(this.form,B);
this.form.doAction(C);
this.hide()
}else{CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Validation Failed"),msg:CQ.I18n.getMessage("Verify the values of the marked fields."),buttons:CQ.Ext.Msg.OK,icon:CQ.Ext.Msg.ERROR})
}},pin:function(E){if(E){var B,I=0;
var G=CQ.Ext.lib.Dom.getViewportWidth();
var H=CQ.Ext.lib.Dom.getViewportHeight();
var D=CQ.themes.Dialog.CORNER_X;
var C=CQ.themes.Dialog.CORNER_Y;
var F=this.getBox();
switch(E){case"tl":B=D;
I=C;
break;
case"tr":B=G-F.width-D;
I=C;
break;
case"bl":B=D;
I=H-F.height-D;
break;
case"br":B=G-F.width-D;
I=H-F.height-C;
break
}this.setPosition(B,I)
}CQ.Util.pin(this)
},unpin:function(){CQ.Util.unpin(this)
},overridePosition:function(){var B=CQ.Ext.getDoc().getScroll();
if(this.x){this.originalX=this.x;
this.x+=B.left
}if(this.y){this.originalY=this.y;
this.y+=B.top
}},resetPosition:function(){if(this.originalX){this.x=this.originalX
}if(this.originalY){this.y=this.originalY
}},constructor:function(B){if(B.header===false||B.title){this.titleFromConfig=true
}this.okText=B.okText?B.okText:CQ.I18n.getMessage("OK");
this.cancelText=B.cancelText?B.cancelText:CQ.I18n.getMessage("Cancel");
this.configDefaults={dialog:{xtype:"dialog",closable:true,closeAction:"hide",width:CQ.themes.Dialog.WIDTH,height:CQ.themes.Dialog.HEIGHT,minWidth:CQ.themes.Dialog.MIN_WIDTH,minHeight:CQ.themes.Dialog.MIN_HEIGHT,y:20,title:"&nbsp;",layout:"fit",plain:CQ.themes.Dialog.PLAIN,bodyStyle:CQ.themes.Dialog.BODY_STYLE,buttonAlign:CQ.themes.Dialog.BUTTON_ALIGN,stateful:false},tabpanel:{xtype:"tabpanel",activeTab:0,deferredRender:false,plain:CQ.themes.Dialog.TABPANEL_PLAIN,border:CQ.themes.Dialog.TABPANEL_BORDER,stateful:false,listeners:{tabchange:function(E,D){if(CQ.Ext.isIE&&E.rendered){D.hide();
D.show()
}}}},panel:{layout:"form",autoScroll:true,bodyStyle:CQ.themes.Dialog.TAB_BODY_STYLE,labelWidth:CQ.themes.Dialog.LABEL_WIDTH,defaultType:"textfield",stateful:false,layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET,anchor:CQ.themes.Dialog.ANCHOR,stateful:false}},button:{xtype:"button",scope:this}};
this.applyConfigDefaults(B,this.configDefaults);
CQ.Dialog.superclass.constructor.call(this,B);
var C={xtype:"form",renderTo:CQ.Util.ROOT_ID,baseCls:"x-window-plain",items:this};
if(this.fileUpload){C.fileUpload=this.fileUpload
}this.formPanel=new CQ.Ext.form.FormPanel(C);
this.form=this.formPanel.getForm();
if(B.formUrl){this.form.url=B.formUrl;
this.formUrlFromConfig=true
}if(!B.params){B.params=new Object()
}if(B.params[CQ.Sling.CHARSET]==undefined){B.params[CQ.Sling.CHARSET]=CQ.Dialog.DEFAULT_ENCODING
}if(B.params[CQ.Sling.STATUS]==undefined){B.params[CQ.Sling.STATUS]=CQ.Sling.STATUS_BROWSER
}this.addParams(B.params);
if(B.content){this.loadContent(B.content)
}this.success=B.success;
this.failure=B.failure;
this.responseScope=B.responseScope;
this.on("beforeshow",this.overridePosition);
this.on("hide",this.resetPosition);
this.addEvents("beforesubmit","loadContent","editLocked","editUnlocked")
},observe:function(){if(!this.hidden){if(this.anchoredTo){var C=this.anchoredTo.getInlinePlaceholder();
if(C){var D=this.anchoredTo.getInlinePlaceholderInitialHeight();
var E=this.getPosition();
var B=C.getXY();
if(E[0]!=B[0]||E[1]!=B[1]+D){this.alignTo(C,"tl",[0,D])
}}}}},initComponent:function(){CQ.Dialog.superclass.initComponent.call(this);
if(this.editLockMode){this.editLockButton=this.buttons[0];
this.on("show",function(){this.setEditLock(this.editLock)
},this)
}},setEditLock:function(B){if(B){CQ.Util.disableFields(this.formPanel);
this.editLockButton.setIconClass("cq-dialog-edit-lock")
}else{CQ.Util.enableFields(this.formPanel);
this.editLockButton.setIconClass("cq-dialog-edit-unlock")
}this.editLock=B
}});
CQ.Dialog.DEFAULT_ENCODING="utf-8";
CQ.Dialog.OK="OK";
CQ.Dialog.CANCEL="CANCEL";
CQ.Dialog.OKCANCEL=[CQ.Dialog.OK,CQ.Dialog.CANCEL];
CQ.Ext.reg("dialog",CQ.Dialog);
CQ.DialogEditor=CQ.Ext.extend(CQ.Ext.Viewport,{fieldCount:0,constructor:function(C){this.debug=C.debug;
var D=this;
C=CQ.Util.applyDefaults(C,{treeRoot:{name:"dialog",text:CQ.I18n.getMessage("Dialog"),draggable:false,expanded:true,editor:this}});
this.preview=new CQ.Ext.Panel({id:"cq-dialogeditor-preview-wrapper",region:"center",bodyStyle:"padding:12px",margins:"5 0 5 0",autoScroll:true,containerScroll:true,collapsible:true,collapseMode:"mini",hideCollapseTool:true,listeners:{render:function(F){F.loadMask=new CQ.Ext.LoadMask(F.bwrap)
}},tbar:[{id:"cq-dialogeditor-save",text:CQ.I18n.getMessage("Save"),handler:function(){D.fireEvent("save",D.getDialog())
},tooltip:{title:CQ.I18n.getMessage("Save Dialog"),text:CQ.I18n.getMessage("Save the current dialog"),autoHide:true}}]});
this.dialogTree=new CQ.Ext.tree.TreePanel({id:"cq-dialogeditor-structure",title:CQ.I18n.getMessage("Structure"),region:"center",autoScroll:true,containerScroll:true,split:true,enableDD:true,ddScroll:true,ddGroup:CQ.DialogEditor.DD_GROUP,root:new CQ.DialogEditor.DialogTreeNode(C.treeRoot),listeners:{click:function(G,F){if(G.getProperties){D.props.showProperties(G)
}},beforenodedrop:function(F){if(F.dropNode instanceof CQ.DialogEditor.TreeNode){F.target.handleReorder(F)
}else{F.target.handleDrop(F);
F.dropStatus=true;
return false
}},nodedragover:function(F){if(F.dropNode instanceof CQ.DialogEditor.TreeNode){return F.target.isReorderAllowed(F)
}else{return F.target.isInsertAllowed(F)
}},contextmenu:function(G,F){var J=G.getContextMenuActions();
if(J&&(J.length>0)){var I=new CQ.Ext.menu.Menu({items:J});
var H=F.getXY();
I.showAt(H)
}F.stopEvent()
}}});
var E=CQ.Ext.data.Record.create([{name:"title"},{name:"category"},{name:"insertCfg"}]);
var B=new CQ.Ext.XTemplate('<tpl for=".">','<div class="x-control">{text}</div>',"</tpl>");
this.tools=new CQ.Ext.Panel({id:"cq-dialogeditor-tools",title:CQ.I18n.getMessage("Palette"),autoScroll:true,layout:"accordion",region:"north",height:320,stateful:true,split:true,collapsible:true,collapseMode:"mini",hideCollapseTool:true,autoScroll:true,listeners:{render:function(G){var L=[];
for(var I in CQ.DialogEditor.MAPPINGS){var K=CQ.DialogEditor.MAPPINGS[I].text;
var J=CQ.DialogEditor.MAPPINGS[I].category;
if(CQ.DialogEditor.MAPPINGS[I].hideInList){continue
}var H;
if(L[J]){H=L[J]
}else{H=new CQ.Ext.data.Store({sortInfo:{field:"title",direction:"ASC"},reader:new CQ.Ext.data.DataReader({},E)});
L[J]=H;
var F=new CQ.Ext.DataView({store:H,tpl:B,autoHeight:true,autoWidth:true,border:false,singleSelect:true,multiSelect:false,overClass:"x-control-over",selectedClass:"x-control-selected",itemSelector:"div.x-control",loadingText:CQ.I18n.getMessage("Loading controls"),prepareData:function(M){M.title=CQ.I18n.getMessage(M.title);
return M
},listeners:{render:function(N){var M=new CQ.DialogEditor.DragZone(N,{containerScroll:true,ddGroup:CQ.DialogEditor.DD_GROUP})
}}});
G.add(new CQ.Ext.Panel({title:CQ.I18n.getMessage(J),autoScroll:true,containerScroll:true,border:false,layout:"fit",items:F}))
}H.addSorted(new CQ.Ext.data.Record(CQ.DialogEditor.MAPPINGS[I],J+"#"+K))
}}}});
this.props=new CQ.PropertyGrid({region:"east",margins:"5 5 5 0",width:320,collapsible:true,collapseMode:"mini",animate:true,collapsed:false,hideCollapseTool:true});
this.props.on("rowcontextmenu",function(F,K,G){var J=F.getSource();
if((F.getStore().getAt(K).data.name.indexOf(CQ.DialogEditor.NT_JCR_NS_PREFIX)==-1)||(F.getStore().getAt(K).data.name=="xtype")){var I=new CQ.Ext.menu.Menu({items:[{text:CQ.I18n.getMessage("Remove"),handler:function(){delete J[F.getStore().getAt(K).data.name];
D.props.setSource(J);
D.updatePreview()
},tooltip:{title:CQ.I18n.getMessage("Remove Property"),text:CQ.I18n.getMessage("Remove selected property"),autoHide:true}}]});
var H=G.getXY();
I.showAt(H)
}G.stopEvent()
});
CQ.DialogEditor.superclass.constructor.call(this,{id:"cq-dialogeditor",layout:"border",renderTo:"CQ",items:[{xtype:"panel",id:"cq-dialogeditor-wrapper",layout:"border",region:"center",border:false,items:[{id:"cq-header",xtype:"container",autoEl:"div",region:"north",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar"}]},{xtype:"panel",region:"west",layout:"border",margins:"5 0 5 5",width:320,collapsible:true,collapseMode:"mini",animate:true,split:true,border:false,items:[this.dialogTree,this.tools]},this.preview,this.props]}]})
},initComponent:function(){CQ.DialogEditor.superclass.initComponent.call(this);
this.addEvents("save")
},updatePreview:function(){this.preview.loadMask.show();
var B=CQ.Util.copyObject(this.getDialog());
CQ.Ext.apply(B,{y:0,draggable:false,floating:false,closeAction:"closeCallback",closeCallback:CQ.Ext.emptyFn,resizable:false});
CQ.Util.formatData(B);
if(B.buttons==undefined){B.buttons=CQ.Dialog.OKCANCEL
}var D=CQ.WCM.getDialog(B);
for(var C=0;
C<D.buttons.length;
C++){D.buttons[C].setHandler(function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Button clicked"),this.text+CQ.I18n.getMessage(" was clicked."))
},D.buttons[C])
}if(this.preview.items&&(this.preview.items.getCount()>0)){this.preview.remove(this.preview.items.get(0))
}this.preview.add(D);
this.preview.doLayout();
this.preview.loadMask.hide()
},getDialog:function(){return this.dialogTree.getRootNode().getWidgetConfig()
},loadDialog:function(config){var dlgConfig;
if(typeof (config)=="string"){config=eval("("+CQ.HTTP.get(config).responseText+")")
}if(typeof config!="object"||config.xtype!="dialog"){dlgConfig=this.getDialogConfig(config)
}else{dlgConfig=config
}var root=this.dialogTree.getRootNode();
if(dlgConfig.title){root.setText(dlgConfig.title)
}root.setWidgetConfig(dlgConfig);
this.loadDialogTree(dlgConfig,root);
this.loadButtons(dlgConfig,root);
root.expand(true);
this.updatePreview()
},getDialogConfig:function(C){var B;
if(CQ.DialogEditor.getXType(C)=="dialog"){B=C
}else{B={xtype:"dialog","jcr:primaryType":"cq:Dialog"};
if(C["jcr:primaryType"]=="cq:Dialog"){delete C["jcr:primaryType"]
}if(C.xtype=="panel"&&C.title){B.items={xtype:"tabpanel",items:C}
}else{B.items=C
}}B.responseScope=C.responseScope;
B.success=C.success;
B.failure=C.failure;
B.params=C.params;
return B
},loadDialogTree:function(J,D){if(CQ.DialogEditor.getXType(J)=="dialog"){this.loadDialogTree(J.items,D)
}else{if(CQ.DialogEditor.getXType(J)=="widgetcollection"){for(var H in J){if(typeof (J[H])!="object"){continue
}var C=CQ.DialogEditor.getXType(J[H]);
var F=J[H].fieldLabel?J[H].fieldLabel:null;
var E=J[H].title?J[H].title:F;
var B=CQ.DialogEditor.MAPPINGS[C];
if(B){var G=CQ.DialogEditor.createDialogTreeNode(B,H,E,this);
G.setWidgetConfig(J[H]);
D.appendChild(G);
if(H.match("^"+CQ.DialogEditor.PROP_PREFIX)==CQ.DialogEditor.PROP_PREFIX){var I=parseInt(H.substring(CQ.DialogEditor.PROP_PREFIX.length));
if(I>this.fieldCount){this.fieldCount=I
}}if(J[H].items){this.loadDialogTree(J[H].items,G)
}}}}else{var C=CQ.DialogEditor.getXType(J);
var F=J.fieldLabel?J.fieldLabel:null;
var E=J.title?J.title:F;
var B=CQ.DialogEditor.MAPPINGS[C];
if(B){var G=CQ.DialogEditor.createDialogTreeNode(B,C,E,this);
G.setWidgetConfig(J);
D.appendChild(G);
if(J.items){this.loadDialogTree(J.items,G)
}}}}},loadButtons:function(D,F){if(D.buttons){var E=new CQ.DialogEditor.ButtonsTreeNode({name:"buttons",text:CQ.I18n.getMessage("Buttons"),editor:this});
E.setWidgetConfig(D.buttons);
F.appendChild(E);
for(var B in D.buttons){if(typeof (D.buttons[B])=="string"){continue
}D.buttons[B].xtype="button";
var C=CQ.DialogEditor.createButtonTreeNode(D.buttons[B].text,this);
C.setWidgetConfig(D.buttons[B]);
E.appendChild(C)
}}},getNextPropName:function(){this.fieldCount++;
return CQ.DialogEditor.PROP_PREFIX+this.fieldCount
}});
CQ.Ext.reg("dialogeditor",CQ.DialogEditor);
CQ.DialogEditor.getXType=function(B){if(B.xtype){return B.xtype
}else{if(B[CQ.DialogEditor.JCR_PRIMARY_TYPE]){return B[CQ.DialogEditor.JCR_PRIMARY_TYPE].substring(CQ.DialogEditor.NT_CQ_NS_PREFIX.length).toLowerCase()
}else{return CQ.DialogEditor.DEFAULT_FIELD_TYPE
}}};
CQ.DialogEditor.createDialogTreeNode=function(D,C,F,E){var B={name:C,text:(F!=null)?F:D.text,category:D.category,allowedChilds:D.allowedChilds,editor:E};
if(D.category==CQ.DialogEditor.CONTAINER){return new CQ.DialogEditor.ContainerTreeNode(B)
}else{return new CQ.DialogEditor.FieldTreeNode(B)
}};
CQ.DialogEditor.createButtonTreeNode=function(E,D){var C=CQ.DialogEditor.MAPPINGS.button;
var B={name:D.getNextPropName(),text:(E!=null)?E:C.text,category:C.category,editor:D};
return new CQ.DialogEditor.ButtonTreeNode(B)
};
CQ.DialogEditor.DD_GROUP="cq.dialogeditor";
CQ.DialogEditor.DEFAULT_FIELD_TYPE="textfield";
CQ.DialogEditor.PROP_PREFIX="prop";
CQ.DialogEditor.NT_CQ_NS_PREFIX="cq:";
CQ.DialogEditor.NT_DIALOG=CQ.DialogEditor.NT_CQ_NS_PREFIX+"Dialog";
CQ.DialogEditor.NT_COLLECTION=CQ.DialogEditor.NT_CQ_NS_PREFIX+"WidgetCollection";
CQ.DialogEditor.NT_TABPANEL=CQ.DialogEditor.NT_CQ_NS_PREFIX+"TabPanel";
CQ.DialogEditor.NT_PANEL=CQ.DialogEditor.NT_CQ_NS_PREFIX+"Panel";
CQ.DialogEditor.NT_JCR_NS_PREFIX="jcr:";
CQ.DialogEditor.JCR_PRIMARY_TYPE=CQ.DialogEditor.NT_JCR_NS_PREFIX+"primaryType";
CQ.DialogEditor.CONTAINER=CQ.I18n.getMessage("Container");
CQ.DialogEditor.FIELD=CQ.I18n.getMessage("Fields");
CQ.DialogEditor.BUTTON=CQ.I18n.getMessage("Buttons");
CQ.DialogEditor.MAPPINGS={dialog:{hideInList:true,category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Dialog"),insertCfg:{"jcr:primaryType":"cq:Dialog",xtype:"dialog",title:"Dialog",items:{"jcr:primaryType":"cq:WidgetCollection"}},propList:{title:"",width:"",height:"",okText:"",cancelText:""}},panel:{category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Panel"),insertCfg:{"jcr:primaryType":"cq:Panel",xtype:"panel",title:"Panel"},allowedChilds:["textfield","textarea","numberfield","selection","combo","hidden","richtext"],propList:{title:"",width:"",height:"",border:false}},tabpanel:{category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Tab Panel"),insertCfg:{xtype:"tabpanel"},allowedChilds:["panel"],propsList:{width:"",height:"",border:false}},selection:{category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Selection"),insertCfg:{xtype:"selection"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false}},widgetcollection:{hideInList:true,category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Collection"),insertCfg:{"jcr:primaryType":"cq:WidgetCollection"},propList:{}},buttons:{category:CQ.DialogEditor.CONTAINER,text:CQ.I18n.getMessage("Buttons"),insertCfg:{"jcr:primaryType":"cq:WidgetCollection"},propList:{}},textfield:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Text Field"),insertCfg:{xtype:"textfield"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},textarea:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Text Area"),insertCfg:{xtype:"textarea"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},richtext:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Rich Text"),insertCfg:{xtype:"richtext"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},numberfield:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Number Field"),insertCfg:{xtype:"numberfield"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},tableedit:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Table"),insertCfg:{xtype:"tableedit"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},combo:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Combo Box"),insertCfg:{xtype:"combo"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},hidden:{category:CQ.DialogEditor.FIELD,text:CQ.I18n.getMessage("Hidden"),insertCfg:{xtype:"hidden"},propList:{fieldLabel:"",fieldSubLabel:"",fieldDescription:"",name:"",allowBlank:false,blankText:"",disabled:false,emptyText:"",grow:false,hideLabel:false,hideMode:"",inputType:"",labelSeparator:"",maxLength:"",maxLengthText:"",minLength:"",minLengthText:"",msgTarget:"",readOnly:false,selectOnFocus:false,regex:"",regexText:"",validateOnBlur:true,validationDelay:"",validationEvent:"",validator:"",vtype:"",vtypeText:""}},button:{category:CQ.DialogEditor.BUTTON,text:CQ.I18n.getMessage("Button"),insertCfg:{xtype:"button"},propList:{text:"",handler:""}}};
CQ.DialogEditor.TreeNode=CQ.Ext.extend(CQ.Ext.tree.TreeNode,{afterPropChange:function(){this.updatePreview()
},getEditor:function(){return this.attributes.editor
},getEventRecord:function(B){return B.data.records[0]
},getCategory:function(){return this.attributes.category
},getContextMenuActions:function(){return null
},getWidgetConfig:function(){return this.attributes.widget
},setWidgetConfig:function(B){this.attributes.widget=B
},isInsertAllowed:function(B){return false
},isReorderAllowed:function(B){return false
},handleDrop:function(B){this.updatePreview()
},handleReorder:function(B){this.updatePreview()
},updatePreview:function(){this.getEditor().updatePreview()
},setText:function(B){if(B){CQ.DialogEditor.TreeNode.superclass.setText.call(this,B)
}else{var C=CQ.DialogEditor.getXType(this.getWidgetConfig());
var B=CQ.DialogEditor.MAPPINGS[C].text;
CQ.DialogEditor.TreeNode.superclass.setText.call(this,B)
}},setProperties:function(B){for(var C in B){if(B[C]==""){delete B[C]
}}this.setWidgetConfig(B)
},getProperties:function(){var B=CQ.DialogEditor.getXType(this.getWidgetConfig());
return CQ.Ext.applyIf(this.getWidgetConfig(),CQ.DialogEditor.MAPPINGS[B].propList)
},getPropertyEditors:function(){return{"jcr:primaryType":new CQ.Ext.grid.GridEditor(new CQ.Ext.form.Hidden({})),xtype:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.Hidden({})),height:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.NumberField({allowNegative:false})),width:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.NumberField({allowNegative:false})),minLength:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.NumberField({allowNegative:false})),maxLength:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.NumberField({allowNegative:false})),validationDelay:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.NumberField({allowNegative:false})),layout:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({triggerAction:"all",selectOnFocus:true,store:["form","border","fit"]})),inputType:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({triggerAction:"all",selectOnFocus:true,editable:false,store:["text","password","file"]})),hideMode:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({triggerAction:"all",selectOnFocus:true,editable:false,store:["display","offests","visibility"]})),msgTarget:new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({triggerAction:"all",selectOnFocus:true,store:["qtip","title","under","side"]}))}
},containsObjects:function(B){for(var C in B){if(typeof (B[C])=="object"){return true
}}return false
},getPropertyIndex:function(D,E){var B=0;
for(var C in D){if(E==D[C]){break
}B++
}return B
},insertProperty:function(H,D,G,C){var B={};
var F=0;
var E=false;
for(var I in H){if(F==C){B[D]=G;
E=true
}B[I]=H[I];
F++
}if(!E){B[D]=G
}return B
},removeProperty:function(D,E){var C=true;
for(var B in D){if(typeof (D[B])!="object"){continue
}if(D[B]==E){delete D[B]
}else{C=false
}}if(C){delete D
}}});
CQ.DialogEditor.ContainerTreeNode=CQ.Ext.extend(CQ.DialogEditor.TreeNode,{isInsertAllowed:function(C){var B=this.getEventRecord(C);
var D=B.get("insertCfg").xtype;
if(C.point=="append"){return this.isDropAllowed(D)
}else{return(this.parentNode instanceof CQ.DialogEditor.ContainerTreeNode)?this.parentNode.isDropAllowed(D):false
}},isReorderAllowed:function(B){var C=CQ.DialogEditor.getXType(B.dropNode.getWidgetConfig());
if(B.point=="append"){return this.isDropAllowed(C)
}else{return(this.parentNode instanceof CQ.DialogEditor.ContainerTreeNode)?this.parentNode.isDropAllowed(C):false
}},isDropAllowed:function(C){var D=false;
if(this.attributes.allowedChilds){for(var B=0;
B<this.attributes.allowedChilds.length;
B++){if(this.attributes.allowedChilds[B]==C){D=true;
break
}}}else{D=true
}return D
},handleDrop:function(D){var B=this.getEventRecord(D);
var C=CQ.Util.copyObject(B.get("insertCfg"));
if(D.point=="append"){this.insert(C,D.point)
}else{this.parentNode.insert(C,D.point,this)
}CQ.DialogEditor.ContainerTreeNode.superclass.handleDrop.call(this)
},handleReorder:function(E){var C=E.dropNode.parentNode.getWidgetConfig();
var B=E.dropNode.getWidgetConfig();
var F=E.target.getWidgetConfig();
var D;
if(E.point=="append"){D=E.target.getWidgetConfig()
}else{D=E.target.parentNode.getWidgetConfig()
}this.reorder(B,F,C,D,E.point);
CQ.DialogEditor.ContainerTreeNode.superclass.handleReorder.call(this)
},reorder:function(C,I,F,J,G){for(var D in F.items){if(F.items[D]==C){delete F.items[D]
}}var B=this.getEditor().getNextPropName();
if(G=="append"){if(!J.items){J.items=C
}else{if(J.items[CQ.DialogEditor.JCR_PRIMARY_TYPE]==CQ.DialogEditor.NT_COLLECTION){J.items[B]=C
}else{var K=J.items;
J.items={};
J.items[CQ.DialogEditor.JCR_PRIMARY_TYPE]=CQ.DialogEditor.NT_COLLECTION;
J.items[B]=K;
J.items[this.getEditor().getNextPropName()]=C
}}}else{if(G=="above"){var E=this.getPropertyIndex(J.items,I);
var H=this.insertProperty(J.items,B,C,E);
J.items=H
}else{if(G=="below"){var E=this.getPropertyIndex(J.items,I)+1;
var H=this.insertProperty(J.items,B,C,E);
J.items=H
}}}},remove:function(B){this.removeProperty(this.getWidgetConfig().items,B.getWidgetConfig());
if(this.getWidgetConfig().items[CQ.DialogEditor.JCR_PRIMARY_TYPE]!=CQ.DialogEditor.NT_COLLECTION){delete this.getWidgetConfig().items
}else{if(!this.containsObjects(this.getWidgetConfig().items)){delete this.getWidgetConfig().items
}}this.removeChild(B);
this.updatePreview()
},insert:function(F,B,C){var I=this.getEditor().getNextPropName();
var H=CQ.DialogEditor.createDialogTreeNode(CQ.DialogEditor.MAPPINGS[F.xtype],I,null,this.getEditor());
H.setWidgetConfig(F);
if(B=="append"){this.appendChild(H);
if(!this.getWidgetConfig().items){this.getWidgetConfig().items=F
}else{if(this.getWidgetConfig().items[CQ.DialogEditor.JCR_PRIMARY_TYPE]==CQ.DialogEditor.NT_COLLECTION){this.getWidgetConfig().items[I]=F
}else{var G=this.getWidgetConfig().items;
this.getWidgetConfig().items={};
this.getWidgetConfig().items[CQ.DialogEditor.JCR_PRIMARY_TYPE]=CQ.DialogEditor.NT_COLLECTION;
this.getWidgetConfig().items[I]=G;
this.getWidgetConfig().items[this.getEditor().getNextPropName()]=F
}}}else{if(B=="above"){this.insertBefore(H,C);
var E=this.getPropertyIndex(this.getWidgetConfig().items,C.getWidgetConfig());
var D=this.insertProperty(this.getWidgetConfig().items,I,F,E);
this.getWidgetConfig().items=D
}else{if(B=="below"){if(C.nextSibling){this.insertBefore(H,C.nextSibling);
var E=this.getPropertyIndex(this.getWidgetConfig().items,C.getWidgetConfig())+1;
var D=this.insertProperty(this.getWidgetConfig().items,I,F,E);
this.getWidgetConfig().items=D
}else{this.appendChild(H);
this.getWidgetConfig().items[I]=F
}}}}H.select();
this.getEditor().props.showProperties(H)
},getContextMenuActions:function(){if(CQ.DialogEditor.getXType(this.parentNode.getWidgetConfig())=="dialog"){return[]
}return[{text:CQ.I18n.getMessage("Remove"),handler:function(){this.parentNode.remove(this)
},scope:this,tooltip:{title:CQ.I18n.getMessage("Remove Container"),text:CQ.I18n.getMessage("Removes the container widget from the dialog"),autoHide:true}}]
},afterPropChange:function(){this.setText(this.getWidgetConfig().title);
CQ.DialogEditor.ContainerTreeNode.superclass.updatePreview.call(this)
}});
CQ.DialogEditor.FieldTreeNode=CQ.Ext.extend(CQ.DialogEditor.TreeNode,{isInsertAllowed:function(C){var B=this.getEventRecord(C);
var D;
if(B&&B.get("insertCfg")){D=B.get("insertCfg").xtype
}else{D=CQ.DialogEditor.getXType(C.dropNode.getWidgetConfig())
}return(C.point!="append")&&this.parentNode.isDropAllowed(D)
},isReorderAllowed:function(B){var C;
if(B.dropNode.attributes.insertCfg){C=B.dropNode.attributes.insertCfg.xtype
}else{C=CQ.DialogEditor.getXType(B.dropNode.getWidgetConfig())
}return(B.point!="append")&&this.parentNode.isDropAllowed(C)
},handleDrop:function(D){var B=this.getEventRecord(D);
var C=B.get("insertCfg");
this.parentNode.insert(C,D.point,this);
CQ.DialogEditor.FieldTreeNode.superclass.handleDrop.call(this)
},handleReorder:function(E){var C=E.dropNode.parentNode.getWidgetConfig();
var D=E.target.parentNode.getWidgetConfig();
var B=E.dropNode.getWidgetConfig();
var F=E.target.getWidgetConfig();
this.parentNode.reorder(B,F,C,D,E.point);
CQ.DialogEditor.FieldTreeNode.superclass.handleReorder.call(this)
},getContextMenuActions:function(){return[{text:CQ.I18n.getMessage("Remove"),handler:function(){this.parentNode.remove(this)
},scope:this,tooltip:{title:CQ.I18n.getMessage("Remove Field"),text:CQ.I18n.getMessage("Removes the field from the dialog"),autoHide:true}}]
},afterPropChange:function(){this.setText(this.getWidgetConfig().fieldLabel);
CQ.DialogEditor.FieldTreeNode.superclass.updatePreview.call(this)
}});
CQ.DialogEditor.DialogTreeNode=CQ.Ext.extend(CQ.DialogEditor.TreeNode,{afterPropChange:function(){this.setText(this.getWidgetConfig().title);
CQ.DialogEditor.DialogTreeNode.superclass.updatePreview.call(this)
},remove:function(B){this.removeProperty(this.getWidgetConfig(),B.getWidgetConfig());
this.removeChild(B);
this.updatePreview()
},isInsertAllowed:function(C){var B=this.getEventRecord(C);
if(B&&B.get("text")&&(B.get("text")==CQ.I18n.getMessage("Buttons"))&&(!this.getWidgetConfig().buttons)){return true
}return false
},handleDrop:function(D){var B=this.getEventRecord(D);
this.getWidgetConfig().buttons=B.get("insertCfg");
var C=new CQ.DialogEditor.ButtonsTreeNode({name:"buttons",text:CQ.I18n.getMessage("Buttons"),editor:this.getEditor()});
C.setWidgetConfig(this.getWidgetConfig().buttons);
this.appendChild(C);
CQ.DialogEditor.DialogTreeNode.superclass.handleDrop.call(this)
}});
CQ.DialogEditor.ButtonsTreeNode=CQ.Ext.extend(CQ.DialogEditor.TreeNode,{isInsertAllowed:function(C){var B=this.getEventRecord(C);
if(B&&(B.get("category")==CQ.DialogEditor.BUTTON)){return true
}return false
},handleDrop:function(F){if(!this.getWidgetConfig()){this.setWidgetConfig({});
this.getWidgetConfig()[CQ.DialogEditor.JCR_PRIMARY_TYPE]=CQ.DialogEditor.NT_WIDGET_COLLECTION
}var B=this.getEventRecord(F);
var D=CQ.Util.copyObject(B.get("insertCfg"));
var C=this.getEditor().getNextPropName();
this.getWidgetConfig()[C]=D;
var E=CQ.DialogEditor.createButtonTreeNode(D.text,this.getEditor());
E.setWidgetConfig(D);
this.appendChild(E);
CQ.DialogEditor.ButtonsTreeNode.superclass.handleDrop.call(this)
},getContextMenuActions:function(){return[{text:CQ.I18n.getMessage("Remove"),handler:function(){this.parentNode.remove(this)
},scope:this,tooltip:{title:CQ.I18n.getMessage("Remove Buttons Container"),text:CQ.I18n.getMessage("Removes the buttons container from the dialog"),autoHide:true}}]
},remove:function(B){this.removeProperty(this.getWidgetConfig(),B.getWidgetConfig());
this.removeChild(B);
this.updatePreview()
}});
CQ.DialogEditor.ButtonTreeNode=CQ.Ext.extend(CQ.DialogEditor.TreeNode,{afterPropChange:function(){this.setText.call(this,this.getWidgetConfig().text);
CQ.DialogEditor.DialogTreeNode.superclass.updatePreview.call(this)
},getProperties:function(){return CQ.Ext.applyIf(this.getWidgetConfig(),CQ.DialogEditor.MAPPINGS.button.propList)
},getContextMenuActions:function(){return[{text:CQ.I18n.getMessage("Remove"),handler:function(){this.parentNode.remove(this)
},scope:this,tooltip:{title:CQ.I18n.getMessage("Remove Button"),text:CQ.I18n.getMessage("Removes the button from the dialog"),autoHide:true}}]
}});
CQ.DialogEditor.DragZone=function(B,C){this.view=B;
CQ.DialogEditor.DragZone.superclass.constructor.call(this,B.getEl(),C)
};
CQ.Ext.extend(CQ.DialogEditor.DragZone,CQ.Ext.dd.DragZone,{getDragData:function(G){var F=G.getTarget(".x-control");
if(F){var B=this.view;
if(!B.isSelected(F)){B.onClick(G)
}var D=B.getSelectedNodes();
var C=B.getSelectedRecords();
var E={nodes:D,records:C};
E.ddel=F;
E.single=true;
return E
}return false
},afterRepair:function(){for(var C=0,B=this.dragData.nodes.length;
C<B;
C++){CQ.Ext.fly(this.dragData.nodes[C]).frame("#8db2e3",1)
}this.dragging=false
},getRepairXY:function(C){if(!this.dragData.multi){var B=CQ.Ext.Element.fly(this.dragData.ddel).getXY();
B[0]+=3;
B[1]+=3;
return B
}return false
}});
CQ.MediaBrowseDialog=CQ.Ext.extend(CQ.Dialog,{deleteButton:null,getSelectedPath:function(){try{return this.tree.getSelectionModel().getSelectedNode().getPath()
}catch(B){return""
}},loadContent:function(B){if(typeof B=="string"){this.path=B;
this.tree.selectPath(B)
}},constructor:function(B){var C=this;
if(!B){B=new Object()
}CQ.Ext.applyIf(B,{title:CQ.I18n.getMessage("Select a media item")});
this.mediaView=new CQ.Ext.DataView({cls:"cq-media-view",loadingText:CQ.I18n.getMessage("Loading media..."),templates:{thumbs:{itemSelector:".thumb-wrap",tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="thumb-wrap">','<div class="thumb">','<img src="{[CQ.Util.externalize(values.path + values.img140Postfix)]}"',' qtip="{qtipTitle}: {name}<br/>',"{qtipSize}: {sizeString}<br/>","{qtipCreated}: {createdString}<br/>",'{qtipModified}: {modifiedString}"/>',"</div>","<span>{shortName}</span>","</div>","</tpl>",'<div class="x-clear"></div>')},details:{itemSelector:".detail-wrap",tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="detail-wrap">','<div class="detail">','<img src="{[CQ.Util.externalize(values.path + values.img70Postfix)]}"/>','<div><span class="bold">{qtipTitle}:</span> {name}</div>','<div><span class="bold">{qtipSize}:</span> {sizeString}</div>','<div><span class="bold">{qtipCreated}:</span> {createdString}</div>','<div><span class="bold">{qtipModified}:</span> {modifiedString}</div>',"</div>","</div>",'<div class="x-clear"></div>',"</tpl>")}},multiSelect:false,singleSelect:true,overClass:"x-view-over",emptyText:CQ.I18n.getMessage("No media items to display"),prepareData:function(D){D.qtipTitle=CQ.I18n.getMessage("Title");
D.shortName=CQ.Ext.util.Format.ellipsis(D.name,15);
D.qtipSize=CQ.I18n.getMessage("Size");
D.sizeString=CQ.Ext.util.Format.fileSize(D.size);
D.qtipCreated=CQ.I18n.getMessage("Created");
D.createdString=D.created.format(CQ.themes.MediaBrowseDialog.MEDIA_DATE);
D.qtipModified=CQ.I18n.getMessage("Last Modified");
D.modifiedString=D.lastmod.format(CQ.themes.MediaBrowseDialog.MEDIA_DATE);
D.img140Postfix=".thumb.100.140.png";
D.img70Postfix=".thumb.50.70.png";
return D
},listeners:{render:function(D){D.loadMask=new CQ.Ext.LoadMask(D.getEl(),{store:this.store});
D.dragZone=new CQ.MediaBrowseDialog.DragZone(D,{containerScroll:true});
D.dragZone.addToGroup(CQ.wcm.EditBase.DD_GROUP_ASSET);
D.dragZone.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT)
},selectionchange:function(E,D){if(!C.deleteButton){C.deleteButton=C.findByType("panel")[1].getTopToolbar().items.get(1)
}if(D.length==0){C.deleteButton.disable()
}else{C.deleteButton.enable()
}}}});
this.mediaView.tpl=this.mediaView.templates.thumbs.tpl;
this.mediaView.itemSelector=this.mediaView.templates.thumbs.itemSelector;
if(!B.treeRoot){B.treeRoot=new Object()
}this.treeRootConfig=CQ.Ext.applyIf(B.treeRoot,{name:"content/dam",text:CQ.I18n.getMessage("Media"),draggable:false,expanded:true});
if(!B.treeLoader){B.treeLoader=new Object()
}this.treeLoaderConfig=CQ.Ext.applyIf(B.treeLoader,{baseParams:{predicate:"hierarchy"},requestMethod:"GET",dataUrl:"/bin/tree/ext.json",baseAttrs:{singleClickExpand:true,draggable:false},listeners:{beforeload:function(D,E){this.baseParams.path=E.getPath()
}}});
this.tree=new CQ.Ext.tree.TreePanel({lines:false,animate:true,enableDD:false,containerScroll:true,autoScroll:true,split:true,region:"north",height:115,loader:new CQ.Ext.tree.TreeLoader(this.treeLoaderConfig),root:new CQ.Ext.tree.AsyncTreeNode(this.treeRootConfig),listeners:{click:function(E,D){C.loadMedia.call(C,E.getPath())
}}});
B=CQ.Util.merge(B,{closable:true,cls:"cq-mediabrowse",height:CQ.themes.MediaBrowseDialog.HEIGHT,minHeight:CQ.themes.MediaBrowseDialog.MIN_HEIGHT,width:CQ.themes.MediaBrowseDialog.WIDTH,minWidth:CQ.themes.MediaBrowseDialog.MIN_WIDTH,autoHeight:false,autoWidth:false,resizable:CQ.themes.MediaBrowseDialog.RESIZABLE,resizeHandles:CQ.themes.MediaBrowseDialog.RESIZE_HANDLES,items:{xtype:"panel",layout:"border",autoScroll:false,border:false,items:[this.tree,new CQ.Ext.Panel({autoEl:"div",region:"center",autoScroll:true,collapsible:true,items:[this.mediaView],tbar:[{text:CQ.I18n.getMessage("Upload"),tooltip:{title:CQ.I18n.getMessage("Upload Media"),text:CQ.I18n.getMessage("Allows uploading media items to the selected location"),autoHide:true},handler:function(){var E=CQ.utils.Util.getFlashVersion();
var D=(E!=null)&&(E[0]>=9);
var G;
D=false;
if(D){G={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Upload Media to")+": "+C.getSelectedPath(),formUrl:C.getSelectedPath(),items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",file:{xtype:"smartfile",allowUploadOnly:true,simpleUpload:true,fieldLabel:CQ.I18n.getMessage("File"),autoUploadDelay:"-1",sizeLimit:"1000",name:"./*",uploadUrl:"/tmp/media_upload"+C.getSelectedPath()}}}}
}else{G={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Upload Media to")+": "+C.getSelectedPath(),formUrl:C.getSelectedPath(),fileUpload:true,items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",file:{xtype:"htmlupload",fieldLabel:CQ.I18n.getMessage("File"),name:"./*"}}}}
}var F=CQ.WCM.getDialog(G);
F.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not upload media."))
};
F.success=function(){if(C.mediaView.store!=null){C.mediaView.store.reload()
}};
F.show()
}},{text:CQ.I18n.getMessage("Delete"),disabled:true,tooltip:{title:CQ.I18n.getMessage("Delete Media"),text:CQ.I18n.getMessage("Deletes the selected media"),autoHide:true},handler:function(){var I=CQ.I18n.getMessage("You are going to delete the following media: ")+"<br/>";
var F=C.mediaView;
var H=F.getSelectedRecords();
var J=F.getSelectedNodes();
for(var E=0;
E<H.length;
E++){I+=(H[E].data.name?H[E].data.name:H[E].data.path)+"<br/>"
}I+="<br/>"+CQ.I18n.getMessage("Are you sure?");
var G=CQ.I18n.getMessage("Delete Page?");
var D=this;
CQ.Ext.Msg.show({title:G,msg:I,buttons:CQ.Ext.Msg.YESNO,icon:CQ.Ext.MessageBox.QUESTION,fn:function(O){if(O=="yes"){var N=[];
var L=[];
for(var M=0;
M<H.length;
M++){var K=H[M];
N.push(K.data.path)
}CQ.HTTP.post("/bin/wcmcommand",function(Q,T,P){if(T){for(var R=0;
R<J.length;
R++){var S=J[R];
F.deselect(S);
S.style.display="none"
}}else{CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage(P.message))
}},{path:N,_charset_:"utf-8",cmd:"deletePage",deep:true})
}},scope:this})
}},"->",{text:CQ.I18n.getMessage("Thumbnails"),toggleGroup:"view",view:"thumbs",enableToggle:true,toggleHandler:C.switchView,scope:C,pressed:true,allowDepress:false,tooltip:{title:CQ.I18n.getMessage("Thumbnails View"),text:CQ.I18n.getMessage("Switch to thumbnails view"),autoHide:true}},{text:CQ.I18n.getMessage("Details"),toggleGroup:"view",view:"details",enableToggle:true,toggleHandler:C.switchView,scope:C,pressed:false,allowDepress:false,tooltip:{title:CQ.I18n.getMessage("Details View"),text:CQ.I18n.getMessage("Switch to details view"),autoHide:true}}]})]}});
CQ.MediaBrowseDialog.superclass.constructor.call(this,B);
this.tree.selectPath(this.tree.getRootNode().id);
this.loadMedia(this.tree.getRootNode().getPath())
},loadMedia:function(C){var B=new CQ.Ext.data.JsonStore({url:C+".media.json",root:"items",fields:["name","path",{name:"size",type:"float"},{name:"created",type:"date",dateFormat:"timestamp"},{name:"lastmod",type:"date",dateFormat:"timestamp"}]});
this.mediaView.setStore(B);
this.mediaView.store.reload()
},switchView:function(B,C){if(C){this.mediaView.tpl=this.mediaView.templates[B.view].tpl;
this.mediaView.itemSelector=this.mediaView.templates[B.view].itemSelector
}if(this.mediaView.store!=null){this.mediaView.refresh()
}}});
CQ.Ext.reg("mediabrowsedialog",CQ.MediaBrowseDialog);
CQ.MediaBrowseDialog.DragZone=CQ.Ext.extend(CQ.Ext.dd.DragZone,{constructor:function(B,C){this.view=B;
CQ.MediaBrowseDialog.DragZone.superclass.constructor.call(this,B.getEl(),C)
},getDragData:function(H){var I=H.getTarget(this.view.itemSelector);
if(I){var J=this.view;
if(!J.isSelected(I)){J.onClick(H)
}var C=J.getSelectedNodes();
var F=J.getSelectedRecords();
var D={nodes:C,records:F};
if(C.length==1){D.ddel=I.firstChild.firstChild;
D.single=true
}else{var B=document.createElement("div");
B.className="multi-proxy";
for(var E=0,G=C.length;
E<G;
E++){B.appendChild(C[E].firstChild.firstChild.cloneNode(true));
if((E+1)%2==0){B.appendChild(document.createElement("br"))
}}D.ddel=B;
D.multi=true
}return D
}return false
},afterRepair:function(){for(var C=0,B=this.dragData.nodes.length;
C<B;
C++){CQ.Ext.fly(this.dragData.nodes[C]).frame("#8db2e3",1)
}this.dragging=false
},getRepairXY:function(C){if(!this.dragData.multi){var B=CQ.Ext.Element.fly(this.dragData.ddel).getXY();
B[0]+=3;
B[1]+=3;
return B
}return false
},notifyDropDT:function(D,C,B){if(this.isDropAllowed(D)){if(D.groups){if(D.groups[CQ.wcm.EditBase.DD_GROUP_ASSET]){return D.editComponent.updateParagraph(D.propertyName,B.records[0].data.path,D.postParams)
}}else{return D.editComponent.updateParagraph(D.propertyName,B.records[0].data.path,D.postParams)
}}return false
},notifyEnterDT:function(D,C,B){return""
},notifyOutDT:function(D,C,B){return""
},notifyOverDT:function(D,C,B){if(this.isDropAllowed(D)){return this.dropAllowed
}else{return this.dropNotAllowed
}},isDropAllowed:function(B){if(B&&B.groups&&CQ.Util.isIntersecting(this.groups,B.groups)){return true
}return false
}});
CQ.Switcher=CQ.Ext.extend(CQ.Ext.Toolbar,{id:null,list:{triggerClass:null,listAlign:null,title:null,store:null},constructor:function(B){B=CQ.Util.applyDefaults(B,{id:"cq-switcher",columnWidth:0.9});
B.items=this.setUpButtons(B);
CQ.Switcher.superclass.constructor.call(this,B)
},setUpButtons:function(F){var E=CQ.User.getCurrentUser().getAllowedApps();
var H=this;
var D=new Array();
for(var G in E){if(!E.hasOwnProperty(G)){continue
}var I=E[G];
var C=I.appName?I.appName:CQ.I18n.getMessage("CQ5 / Console");
var B=I.iconClass?I.iconClass:"siteadmin";
B=(this.isActive(I))?B:B+"-inactive";
if(CQ.Ext.isIE6){B+="-ie6"
}D.push(new CQ.Ext.Toolbar.Button({tooltip:C,cls:"cq-switcher-"+B,disabled:false,scope:this,handler:this.doSwitch,app:I}))
}return D
},isActive:function(C){var B=window.location.pathname;
return((B.match("^"+C.path)==C.path)||(B.match("^"+C.vanityPath)==C.vanityPath))
},doSwitch:function(D,B){var F=D.app;
var E=F.vanityPath?F.vanityPath:F.path;
if(!this.isActive(F)){var C=CQ.Util.externalize(E);
if(B.shiftKey){window.open(C)
}else{window.location.href=C
}}}});
CQ.Ext.reg("switcher",CQ.Switcher);
CQ.HistoryButton=CQ.Ext.extend(CQ.Ext.Toolbar.Button,{id:null,pos:0,stack:null,constructor:function(B){if(B.historyId){B=CQ.Util.applyDefaults(B,{tooltip:CQ.I18n.getMessage("Go Forward"),disabled:true,scope:this,forwardHandler:B.forwardHandler,handler:function(){try{var D=CQ.Ext.getCmp(this.historyId);
D.goForward()
}catch(C){}},text:"&raquo;"})
}else{B=CQ.Util.applyDefaults(B,{tooltip:CQ.I18n.getMessage("Go Back"),disabled:true,scope:this,backHandler:B.backHandler,handler:this.goBack,text:"&laquo;"});
this.stack=new Array()
}CQ.HistoryButton.superclass.constructor.call(this,B)
},goForward:function(){if(this.forwardHandler){this.pos=this.pos+1;
this.forwardHandler(this.stack[this.pos]);
if(this.pos==(this.stack.length-1)){this.forwardButton.setDisabled(true)
}this.setDisabled(false)
}},goBack:function(){if(this.backHandler){this.pos=this.pos-1;
var B=this.stack[this.pos];
this.backHandler(B);
if(this.pos==0){this.setDisabled(true)
}this.forwardButton.setDisabled(false)
}},addHistory:function(B){if(this.pos+1!=this.stack.length){this.stack.splice(this.pos+1)
}this.stack.push(B);
this.pos=this.stack.length-1;
if(!this.forwardButton){this.forwardButton=CQ.Ext.getCmp(this.forwardId)
}this.setDisabled(false);
this.forwardButton.setDisabled(true)
}});
CQ.Ext.reg("historybutton",CQ.HistoryButton);
CQ.CustomContentPanel=CQ.Ext.extend(CQ.Ext.Panel,{urlGET:null,urlPOST:null,urlExtensionGET:null,urlExtensionPOST:null,constructor:function(B){B=(!B?{}:B);
var C={};
CQ.Util.applyDefaults(B,C);
this.formPanel=this;
CQ.CustomContentPanel.superclass.constructor.call(this,B)
},initComponent:function(){CQ.CustomContentPanel.superclass.initComponent.call(this);
var B=this;
this.on("render",function(){this.parentDialog=this.findParentByType("dialog");
if(this.parentDialog){this.parentDialog.on("loadContent",function(C){B.computeUrlGET(this.path);
B.loadContent()
},this.parentDialog);
this.parentDialog.on("beforeSubmit",function(){B.computeUrlPOST(this.path);
B.submitPanel(B.urlPOST)
},this.parentDialog)
}},this)
},computeUrlGET:function(B){if(!this.urlGET){this.urlGET=B;
if(this.urlExtensionGET){this.urlGET+=this.urlExtensionGET
}}},computeUrlPOST:function(B){if(!this.urlPOST){this.urlPOST=B;
if(this.urlExtensionPOST){this.urlPOST+=this.urlExtensionPOST
}}},submitPanel:function(D){if(!this.disabled){var B=CQ.Util.findFormFields(this.formPanel);
var F={};
for(var C in B){for(var E=0;
E<B[C].length;
E++){if(!B[C][E].disabled){if(!F[C]){F[C]=new Array()
}F[C].push(B[C][E].getValue());
B[C][E].disable()
}}}var G=CQ.utils.HTTP.post(D,null,F,this);
return CQ.utils.HTTP.isOk(G)
}},loadContent:function(){var B=null;
if(!this.content){var C=CQ.Util.externalize(this.urlGET);
B=new CQ.data.SlingStore({url:C})
}else{if(this.content instanceof CQ.Ext.data.Store){B=this.content
}}B.load({callback:this.processRecords,scope:this})
},processRecords:function(H,B,I){var D;
if(I){D=H[0]
}else{CQ.Log.warn("CQ.Dialog#processRecords: retrieval of records unsuccessful");
D=new CQ.data.SlingRecord();
D.data={}
}CQ.Log.debug("CQ.Dialog#processRecords: processing records for fields");
var J=B.scope?B.scope:this;
var F=CQ.Util.findFormFields(this.formPanel);
for(var C in F){for(var E=0;
E<F[C].length;
E++){try{if((!F[C][E].initialConfig||!F[C][E].initialConfig.disabled)&&F[C][E].enable){F[C][E].enable()
}if(F[C][E].processInit){CQ.Log.debug("CQ.Dialog#processRecords: skip field '{0}'; calling processInit instead",[C]);
F[C][E].processInit(this.path,D)
}if(!F[C][E].initialConfig.ignoreData){CQ.Log.debug("CQ.Dialog#processRecords: field '{0}'",[C]);
F[C][E].processRecord(D,this.path)
}}catch(G){CQ.Log.debug("CQ.Dialog#processRecords: {0}",G.message)
}}}this.fireEvent("loadContent",this)
}});
CQ.Ext.reg("customcontentpanel",CQ.CustomContentPanel);
CQ.WrappingToolbar=CQ.Ext.extend(CQ.Ext.Toolbar,{rewrapWidth:null,constructor:function(B){CQ.WrappingToolbar.superclass.constructor.call(this,B)
},getTableCells:function(D,G){var C=D.childNodes;
for(var K=0;
K<C.length;
K++){if(C[K].nodeType==1){var E=C[K].tagName.toLowerCase();
if(E=="tbody"){var J=C[K].childNodes;
for(var B=0;
B<J.length;
B++){var I=J[B];
if(I.nodeType==1){var H=I.childNodes;
for(var F=0;
F<H.length;
F++){E=H[F].tagName.toLowerCase();
if((E=="th")||(E=="td")){G.push(H[F])
}}}}}}}},rewrap:function(K){var G=this.el.dom;
var N=G.childNodes;
var F=[];
for(var J=0;
J<N.length;
J++){var H=N[J];
this.getTableCells(H,F)
}var R=[];
var C={width:0,cells:[],sepWidth:0,sepCell:null};
R.push(C);
for(var M=0;
M<F.length;
M++){var L=F[M].clientWidth;
var P=(CQ.Ext.DomQuery.select("span[class=ytb-sep]",F[M]).length==1);
if(P){C.sepWidth=L;
C.sepCell=F[M];
C={width:0,cells:[],sepWidth:0,sepCell:0};
R.push(C)
}else{C.width+=L;
C.cells.push(F[M])
}}while(N.length>0){G.removeChild(N[0])
}var B=0;
var E=null;
var O=0;
while(O<R.length){if(B==0){var Q=document.createElement("table");
Q.cellSpacing=0;
G.appendChild(Q);
var D=document.createElement("tbody");
Q.appendChild(D);
E=document.createElement("tr");
D.appendChild(E)
}var I=B+R[O].width+R[O].sepWidth;
if((B>0)&&(I>K)){B=0
}else{for(var S=0;
S<R[O].cells.length;
S++){E.appendChild(R[O].cells[S])
}if(R[O].sepCell){E.appendChild(R[O].sepCell)
}B=I;
O++
}}},onResize:function(B,C){if(typeof (B)=="object"){B=B.width
}if(B&&(B!=this.rewrapWidth)){this.rewrap(B);
this.rewrapWidth=B
}CQ.WrappingToolbar.superclass.onResize.call(this,B,C)
}});
CQ.form.Action.Submit=CQ.Ext.extend(CQ.Ext.form.Action.Submit,{type:"cqsubmit",success:function(C){var B=this.processResponse(C);
if(B.Status&&B.Status.indexOf("2")==0){this.form.afterAction(this,C,true);
return 
}this.form.afterAction(this,false)
},handleResponse:function(E){if(this.form.errorReader){var D=this.form.errorReader.read(E);
var H=[];
if(D.records){for(var F=0,B=D.records.length;
F<B;
F++){var G=D.records[F];
H[F]=G.data
}}if(H.length<1){H=null
}return{success:D.success,errors:H}
}var C=CQ.Util.evalHTML(E.responseText);
return C
}});
CQ.form.CompositeField=CQ.Ext.extend(CQ.Ext.Panel,{allowBlank:true,ignoreData:false,layout:"form",value:null,isFormField:true,dropTargets:null,initComponent:function(){CQ.form.CompositeField.superclass.initComponent.call(this);
this.addEvents("invalid","valid")
},getName:function(){return this.name
},getValue:function(){return this.value!=null?this.value:""
},setValue:function(B){this.value=B
},processRecord:function(B,D){var C=B.get(this.getName());
if(C==undefined&&this.defaultValue!=null){this.setValue(this.defaultValue)
}else{this.setValue(C)
}},getDropTargets:function(){return this.dropTargets
},blankText:CQ.Ext.form.TextField.prototype.blankText,invalidText:CQ.Ext.form.Field.prototype.invalidText,invalidClass:CQ.Ext.form.Field.prototype.invalidClass,isValid:CQ.Ext.form.Field.prototype.isValid,validate:function(){if(this.disabled||this.validateValue(this.processValue(this.getRawValue()))){this.clearInvalid();
return true
}return false
},validateValue:function(B){if(B.length<1){if(this.allowBlank){this.clearInvalid();
return true
}else{this.markInvalid(this.blankText);
return false
}}if(this.vtype){var D=CQ.Ext.form.VTypes;
if(!D[this.vtype](B,this)){this.markInvalid(this.vtypeText||D[this.vtype+"Text"]);
return false
}}if(typeof this.validator=="function"){var C=this.validator(B);
if(C!==true){this.markInvalid(C);
return false
}}if(this.regex&&!this.regex.test(B)){this.markInvalid(this.regexText);
return false
}return true
},processValue:function(B){if((B===undefined)||(B===null)){B=""
}return B
},getRawValue:function(){return this.value
},markInvalid:function(B){this.fireEvent("invalid",this,B)
},clearInvalid:function(){this.fireEvent("valid",this)
},afterRender:function(){CQ.Ext.form.Field.superclass.afterRender.call(this);
this.initValue()
},reset:function(){this.setValue(this.originalValue);
this.clearInvalid()
},initValue:function(){this.originalValue=this.getValue()
}});
CQ.Ext.reg("compositefield",CQ.form.CompositeField);
CQ.form.ClearableComboBox=CQ.Ext.extend(CQ.Ext.form.ComboBox,{editable:false,triggerAction:"all",initComponent:function(){CQ.Ext.form.TwinTriggerField.prototype.initComponent.call(this);
CQ.Ext.form.ComboBox.prototype.initComponent.call(this)
},getTrigger:CQ.Ext.form.TwinTriggerField.prototype.getTrigger,initTrigger:CQ.Ext.form.TwinTriggerField.prototype.initTrigger,trigger1Class:"x-form-clear-trigger",trigger2Class:CQ.Ext.form.ComboBox.prototype.triggerClass,hideTrigger1:true,setValue:function(B){CQ.form.ClearableComboBox.superclass.setValue.call(this,B);
if(this.triggers){this.triggers[0].show()
}},listeners:{render:function(B){var C=this.getValue();
if(C&&(C!="")){this.triggers[0].show()
}}},onTrigger2Click:CQ.Ext.form.ComboBox.prototype.onTriggerClick,onTrigger1Click:function(){this.clearValue();
this.triggers[0].hide();
this.fireEvent("clear",this)
}});
CQ.Ext.reg("clearcombo",CQ.form.ClearableComboBox);
CQ.form.ColorField=CQ.Ext.extend(CQ.Ext.form.TriggerField,{constructor:function(B){B=CQ.Util.applyDefaults(B,{showHexValue:false,triggerClass:"x-form-color-trigger",defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off",maxlength:"6"},lengthText:"Color hex values must be either 3 or 6 characters.",blankText:"Must have a hexidecimal value in the format ABCDEF.",defaultColor:"FFFFFF",curColor:"ffffff",maskRe:/[a-f0-9]/i,regex:/[a-f0-9]/i});
CQ.form.ColorField.superclass.constructor.call(this,B);
this.on("render",this.setDefaultColor)
},validateValue:function(B){if(!this.showHexValue){return true
}if(B.length<1){this.el.setStyle({"background-color":"#"+this.defaultColor});
if(!this.allowBlank){this.markInvalid(String.format(this.blankText,B));
return false
}return true
}if(B.length!=3&&B.length!=6){this.markInvalid(String.format(this.lengthText,B));
return false
}this.setColor(B);
return true
},validateBlur:function(){return !this.menu||!this.menu.isVisible()
},getValue:function(){return this.curColor||this.defaultColor
},setValue:function(B){CQ.form.ColorField.superclass.setValue.call(this,B);
this.setColor(B)
},setColor:function(B){this.curColor=B;
this.el.setStyle({"background-color":"#"+B,"background-image":"none"});
if(!this.showHexValue){this.el.setStyle({"text-indent":"-100px"});
if(CQ.Ext.isIE){this.el.setStyle({"margin-left":"100px"})
}}},setDefaultColor:function(){this.setValue(this.defaultColor)
},menuListeners:{select:function(B,C){this.setValue(C)
},show:function(){this.onFocus()
},hide:function(){this.focus();
var B=this.menuListeners;
this.menu.un("select",B.select,this);
this.menu.un("show",B.show,this);
this.menu.un("hide",B.hide,this)
}},handleSelect:function(C,B){this.setValue(B)
},onTriggerClick:function(){if(this.disabled){return 
}if(this.menu==null){this.menu=new CQ.Ext.menu.ColorMenu();
this.menu.palette.on("select",this.handleSelect,this)
}this.menu.on(CQ.Ext.apply({},this.menuListeners,{scope:this}));
this.menu.show(this.el,"tl-bl?")
}});
CQ.Ext.reg("colorfield",CQ.form.ColorField);
CQ.form.ColorList=CQ.Ext.extend(CQ.form.CompositeField,{constructor:function(B){var C=this;
this.valueField=new CQ.Ext.form.Hidden({name:B.name});
B=CQ.Util.applyDefaults(B,{items:[{xtype:"panel",border:false,bodyStyle:"padding:4px",items:[{xtype:"button",text:"Add",handler:function(){C.addItem()
}},this.valueField]}],listeners:{render:function(D){var E=D.findParentByType("dialog");
if(E){E.on("beforesubmit",function(G){var F=C.getValue();
C.valueField.setValue(F)
})
}}}});
CQ.form.ColorList.superclass.constructor.call(this,B)
},addItem:function(C){var B=this.insert(this.items.getCount()-1,{xtype:"colorlistitem"});
this.doLayout();
if(C){B.setValue(C)
}},getValue:function(){var B="";
var C="";
this.items.each(function(F,D,E){if(F instanceof CQ.form.ColorList.Item){B=B+C+F.getValue();
C=":"
}},this);
return B
},setValue:function(D){if((D!=null)&&(D!="")){var B=D.split(":");
for(var C=0;
C<B.length;
C++){this.addItem(B[C])
}this.doLayout()
}}});
CQ.Ext.reg("colorlist",CQ.form.ColorList);
CQ.form.ColorList.Item=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){this.field=new CQ.form.ColorField({width:60,name:""});
this.field.isFormField=false;
var C=this;
B=CQ.Util.applyDefaults(B,{layout:"table",border:false,layoutConfig:{columns:4},defaults:{bodyStyle:"padding:4px"},items:[{xtype:"panel",border:false,width:90,items:this.field},{xtype:"panel",border:false,items:{xtype:"button",text:"Up",handler:function(){var E=C.ownerCt;
var D=E.items.indexOf(C)-1;
if(D>=0){C.reorder(C,E,D)
}}}},{xtype:"panel",border:false,items:{xtype:"button",text:"Down",handler:function(){var E=C.ownerCt;
var D=E.items.indexOf(C)+1;
if(D<E.items.getCount()-1){C.reorder(C,E,D)
}}}},{xtype:"panel",border:false,items:{xtype:"button",text:"Remove",handler:function(){C.ownerCt.remove(C)
}}}]});
CQ.form.ColorList.superclass.constructor.call(this,B);
if(B.value){this.field.setValue(B.value)
}},reorder:function(E,D,C){var F=E.field.getValue();
D.remove(E);
var B=D.insert(C,{xtype:"colorlistitem"});
D.doLayout();
B.setValue(F)
},getValue:function(){return this.field.getValue()
},setValue:function(B){this.field.setValue(B)
}});
CQ.Ext.reg("colorlistitem",CQ.form.ColorList.Item);
CQ.form.MultiField=CQ.Ext.extend(CQ.form.CompositeField,{fieldConfig:null,constructor:function(C){var D=this;
if(!C.fieldConfig){C.fieldConfig={}
}if(!C.fieldConfig.xtype){C.fieldConfig.xtype="textfield"
}C.fieldConfig.name=C.name;
C.fieldConfig.style="width:95%;";
var B=new Array();
if(C.readOnly){C.fieldConfig.readOnly=true
}else{B.push({xtype:"button",cls:"cq-multifield-btn",text:"+",handler:function(){D.addItem()
}})
}B.push({xtype:"hidden",name:C.name+CQ.Sling.DELETE_SUFFIX});
C=CQ.Util.applyDefaults(C,{defaults:{xtype:"multifielditem",fieldConfig:C.fieldConfig},items:[{xtype:"panel",border:false,bodyStyle:"padding:4px",items:B}]});
CQ.form.MultiField.superclass.constructor.call(this,C);
if(this.defaults.fieldConfig.regex){this.defaults.fieldConfig.regex=C.fieldConfig.regex
}this.addEvents("change")
},addItem:function(C){var B=this.insert(this.items.getCount()-1,{});
this.findParentByType("form").getForm().add(B.field);
this.doLayout();
if(C){B.setValue(C)
}if(B.field.isXType("trigger")){B.field.wrap.setWidth("95%")
}},getValue:function(){var B=new Array();
this.items.each(function(D,C){if(D instanceof CQ.form.MultiField.Item){B[C]=D.getValue();
C++
}},this);
return B
},setValue:function(C){this.fireEvent("change",this,C,this.getValue());
var D=this.items;
D.each(function(E){if(E instanceof CQ.form.MultiField.Item){this.remove(E,true);
this.findParentByType("form").getForm().remove(E)
}},this);
this.doLayout();
if((C!=null)&&(C!="")){if(C instanceof Array||CQ.Ext.isArray(C)){for(var B=0;
B<C.length;
B++){this.addItem(C[B])
}}else{this.addItem(C)
}}}});
CQ.Ext.reg("multifield",CQ.form.MultiField);
CQ.form.MultiField.Item=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(C){var D=this;
this.field=CQ.Util.build(C.fieldConfig,true);
var B=new Array();
B.push({xtype:"panel",border:false,cellCls:"cq-multifield-itemct",items:D.field});
if(!C.fieldConfig.readOnly){B.push({xtype:"panel",border:false,items:{xtype:"button",text:"Up",handler:function(){var F=D.ownerCt;
var E=F.items.indexOf(D);
if(E>0){D.reorder(F.items.itemAt(E-1))
}}}});
B.push({xtype:"panel",border:false,items:{xtype:"button",text:"Down",handler:function(){var F=D.ownerCt;
var E=F.items.indexOf(D);
if(E<F.items.getCount()-1){D.reorder(F.items.itemAt(E+1))
}}}});
B.push({xtype:"panel",border:false,items:{xtype:"button",cls:"cq-multifield-btn",text:"-",handler:function(){D.ownerCt.remove(D)
}}})
}C=CQ.Util.applyDefaults(C,{layout:"table",anchor:"100%",border:false,layoutConfig:{columns:4},defaults:{bodyStyle:"padding:3px"},items:B});
CQ.form.MultiField.Item.superclass.constructor.call(this,C);
if(C.value){this.field.setValue(C.value)
}},reorder:function(B){var C=B.field.getValue();
B.field.setValue(this.field.getValue());
this.field.setValue(C)
},getValue:function(){return this.field.getValue()
},setValue:function(B){this.field.setValue(B)
}});
CQ.Ext.reg("multifielditem",CQ.form.MultiField.Item);
CQ.form.InlineTextField=CQ.Ext.extend(CQ.Ext.form.TextField,{enabledCls:"cq-inline-textfield",disabledCls:"cq-inline-textfield-disabled",onRender:function(){CQ.form.InlineTextField.superclass.onRender.apply(this,arguments);
this.el.addClass(this.enabledCls)
},onFocus:function(){CQ.form.InlineTextField.superclass.onFocus.apply(this,arguments);
this.el.removeClass(this.enabledCls)
},onBlur:function(){CQ.form.InlineTextField.superclass.onBlur.apply(this,arguments);
if(this.isValid()&&!this.el.hasClass(this.enabledCls)){this.el.addClass(this.enabledCls)
}},constructor:function(B){CQ.Util.applyDefaults(B,{listeners:{specialkey:function(C,D){if(D.getKey()==D.ENTER){C.blur()
}else{if(D.getKey()==D.ESC){C.setValue(this.startValue);
C.blur()
}}}}});
CQ.form.InlineTextField.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("inlinetextfield",CQ.form.InlineTextField);
CQ.form.Password=CQ.Ext.extend(CQ.Ext.form.TextField,{defaultAutoCreate:{tag:"input",type:"password",size:"20",autocomplete:"off"}});
CQ.Ext.reg("password",CQ.form.Password);
CQ.form.Spinner=function(B){CQ.form.Spinner.superclass.constructor.call(this,B);
this.addEvents({spinup:true,spindown:true})
};
CQ.Ext.extend(CQ.form.Spinner,CQ.Ext.form.TriggerField,{triggerClass:"x-form-spinner-trigger",splitterClass:"x-form-spinner-splitter",alternateKey:CQ.Ext.EventObject.shiftKey,strategy:undefined,onRender:function(C,B){CQ.form.Spinner.superclass.onRender.call(this,C,B);
this.splitter=this.wrap.createChild({tag:"div",cls:this.splitterClass,style:"width:13px; height:2px;"});
this.splitter.show().setRight((CQ.Ext.isIE)?1:2);
this.splitter.show().setTop(10);
this.proxy=this.trigger.createProxy("",this.splitter,true);
this.proxy.addClass("x-form-spinner-proxy");
this.proxy.setStyle("left","0px");
this.proxy.setSize(14,1);
this.proxy.hide();
this.dd=new CQ.Ext.dd.DDProxy(this.splitter.dom.id,"SpinnerDrag",{dragElId:this.proxy.id});
this.initSpinner()
},initSpinner:function(){this.keyNav=new CQ.Ext.KeyNav(this.el,{up:function(B){B.preventDefault();
this.onSpinUp()
},down:function(B){B.preventDefault();
this.onSpinDown()
},pageUp:function(B){B.preventDefault();
this.onSpinUpAlternate()
},pageDown:function(B){B.preventDefault();
this.onSpinDownAlternate()
},scope:this});
this.trigger.un("click",this.onTriggerClick);
this.repeater=new CQ.Ext.util.ClickRepeater(this.trigger);
this.repeater.on("click",this.onTriggerClick,this,{preventDefault:true});
this.trigger.on("mouseover",this.onMouseOver,this,{preventDefault:true});
this.trigger.on("mouseout",this.onMouseOut,this,{preventDefault:true});
this.trigger.on("mousemove",this.onMouseMove,this,{preventDefault:true});
this.trigger.on("mousedown",this.onMouseDown,this,{preventDefault:true});
this.trigger.on("mouseup",this.onMouseUp,this,{preventDefault:true});
this.wrap.on("mousewheel",this.handleMouseWheel,this);
this.dd.setXConstraint(0,0,10);
this.dd.setYConstraint(1500,1500,10);
this.dd.endDrag=this.endDrag.createDelegate(this);
this.dd.startDrag=this.startDrag.createDelegate(this);
this.dd.onDrag=this.onDrag.createDelegate(this);
if("object"==typeof this.strategy&&this.strategy.xtype){switch(this.strategy.xtype){case"number":this.strategy=new CQ.form.Spinner.NumberStrategy(this.strategy);
break;
case"date":this.strategy=new CQ.form.Spinner.DateStrategy(this.strategy);
break;
case"time":this.strategy=new CQ.form.Spinner.TimeStrategy(this.strategy);
break;
default:delete (this.strategy);
break
}delete (this.strategy.xtype)
}if(this.strategy==undefined){this.strategy=new CQ.form.Spinner.NumberStrategy()
}},onMouseOver:function(){if(this.disabled){return 
}var B=this.getMiddle();
this.__tmphcls=(CQ.Ext.EventObject.getPageY()<B)?"x-form-spinner-overup":"x-form-spinner-overdown";
this.trigger.addClass(this.__tmphcls)
},onMouseOut:function(){this.trigger.removeClass(this.__tmphcls)
},onMouseMove:function(){if(this.disabled){return 
}var B=this.getMiddle();
if(((CQ.Ext.EventObject.getPageY()>B)&&this.__tmphcls=="x-form-spinner-overup")||((CQ.Ext.EventObject.getPageY()<B)&&this.__tmphcls=="x-form-spinner-overdown")){}},onMouseDown:function(){if(this.disabled){return 
}var B=this.getMiddle();
this.__tmpccls=(CQ.Ext.EventObject.getPageY()<B)?"x-form-spinner-clickup":"x-form-spinner-clickdown";
this.trigger.addClass(this.__tmpccls)
},onMouseUp:function(){this.trigger.removeClass(this.__tmpccls)
},onTriggerClick:function(){if(this.disabled||this.getEl().dom.readOnly){return 
}var C=this.getMiddle();
var B=(CQ.Ext.EventObject.getPageY()<C)?"Up":"Down";
this["onSpin"+B]()
},getMiddle:function(){var C=this.trigger.getTop();
var D=this.trigger.getHeight();
var B=C+(D/2);
return B
},handleMouseWheel:function(B){if(this.disabled||this.getEl().dom.readOnly){CQ.Ext.EventObject.preventDefault();
return 
}var C=B.getWheelDelta();
if(C>0){this.onSpinUp();
B.stopEvent()
}else{if(C<0){this.onSpinDown();
B.stopEvent()
}}},startDrag:function(){this.proxy.show();
this._previousY=CQ.Ext.fly(this.dd.getDragEl()).getTop()
},endDrag:function(){this.proxy.hide()
},onDrag:function(){if(this.disabled){return 
}var C=CQ.Ext.fly(this.dd.getDragEl()).getTop();
var B="";
if(this._previousY>C){B="Up"
}if(this._previousY<C){B="Down"
}if(B!=""){this["onSpin"+B]()
}this._previousY=C
},onSpinUp:function(){if(CQ.Ext.EventObject.shiftKey==true){this.onSpinUpAlternate();
return 
}else{this.strategy.onSpinUp(this)
}this.fireEvent("spinup",this)
},onSpinDown:function(){if(CQ.Ext.EventObject.shiftKey==true){this.onSpinDownAlternate();
return 
}else{this.strategy.onSpinDown(this)
}this.fireEvent("spindown",this)
},onSpinUpAlternate:function(){this.strategy.onSpinUpAlternate(this);
this.fireEvent("spinup",this)
},onSpinDownAlternate:function(){this.strategy.onSpinDownAlternate(this);
this.fireEvent("spindown",this)
}});
CQ.Ext.reg("spinner",CQ.form.Spinner);
CQ.form.Spinner.Strategy=function(B){CQ.Ext.apply(this,B)
};
CQ.Ext.extend(CQ.form.Spinner.Strategy,CQ.Ext.util.Observable,{defaultValue:0,minValue:undefined,maxValue:undefined,incrementValue:1,alternateIncrementValue:5,onSpinUp:function(B){this.spin(B,false,false)
},onSpinDown:function(B){this.spin(B,true,false)
},onSpinUpAlternate:function(B){this.spin(B,false,true)
},onSpinDownAlternate:function(B){this.spin(B,true,true)
},spin:function(B,D,C){},fixBoundries:function(B){return B
}});
CQ.form.Spinner.NumberStrategy=function(B){CQ.form.Spinner.NumberStrategy.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.form.Spinner.NumberStrategy,CQ.form.Spinner.Strategy,{allowDecimals:true,decimalPrecision:2,spin:function(C,F,D){CQ.form.Spinner.NumberStrategy.superclass.spin.call(this,C,F,D);
var B=parseFloat(C.getValue());
var E=(D==true)?this.alternateIncrementValue:this.incrementValue;
(F==true)?B-=E:B+=E;
B=(isNaN(B))?this.defaultValue:B;
B=this.fixBoundries(B);
C.setRawValue(B)
},fixBoundries:function(C){var B=C;
if(this.minValue!=undefined&&B<this.minValue){B=this.minValue
}if(this.maxValue!=undefined&&B>this.maxValue){B=this.maxValue
}return this.fixPrecision(B)
},fixPrecision:function(C){var B=isNaN(C);
if(!this.allowDecimals||this.decimalPrecision==-1||B||!C){return B?"":C
}return parseFloat(parseFloat(C).toFixed(this.decimalPrecision))
}});
CQ.form.Spinner.DateStrategy=function(B){CQ.form.Spinner.DateStrategy.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.form.Spinner.DateStrategy,CQ.form.Spinner.Strategy,{defaultValue:new Date(),format:"Y-m-d",incrementValue:1,incrementConstant:Date.DAY,alternateIncrementValue:1,alternateIncrementConstant:Date.MONTH,spin:function(E,H,F){CQ.form.Spinner.DateStrategy.superclass.spin.call(this);
var B=E.getRawValue();
B=Date.parseDate(B,this.format);
var D=(H==true)?-1:1;
var G=(F==true)?this.alternateIncrementValue:this.incrementValue;
var C=(F==true)?this.alternateIncrementConstant:this.incrementConstant;
if(typeof this.defaultValue=="string"){this.defaultValue=Date.parseDate(this.defaultValue,this.format)
}B=(B)?B.add(C,D*G):this.defaultValue;
B=this.fixBoundries(B);
E.setRawValue(CQ.Ext.util.Format.date(B,this.format))
},fixBoundries:function(C){var E=C;
var D=(typeof this.minValue=="string")?Date.parseDate(this.minValue,this.format):this.minValue;
var B=(typeof this.maxValue=="string")?Date.parseDate(this.maxValue,this.format):this.maxValue;
if(this.minValue!=undefined&&E<D){E=D
}if(this.maxValue!=undefined&&E>B){E=B
}return E
}});
CQ.form.Spinner.TimeStrategy=function(B){CQ.form.Spinner.TimeStrategy.superclass.constructor.call(this,B)
};
CQ.Ext.extend(CQ.form.Spinner.TimeStrategy,CQ.form.Spinner.DateStrategy,{format:"H:i",incrementValue:1,incrementConstant:Date.MINUTE,alternateIncrementValue:1,alternateIncrementConstant:Date.HOUR});
CQ.form.DateTime=CQ.Ext.extend(CQ.Ext.form.Field,{defaultAutoCreate:{tag:"input",type:"hidden"},hideTime:false,timeWidth:100,dateWidth:200,dtSeparator:" ",hiddenFormat:"Y-m-d\\TH:i:s.000P",defaultValue:"",allowBlank:true,timePosition:"right",disableTypeHint:false,valueAsString:false,typeHint:null,initComponent:function(){CQ.form.DateTime.superclass.initComponent.call(this);
var C=CQ.Ext.apply({},{id:this.id+"-date",format:this.dateFormat||CQ.Ext.form.DateField.prototype.format,width:this.dateWidth,selectOnFocus:this.selectOnFocus,allowBlank:this.allowBlank,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.dateConfig);
this.df=new CQ.Ext.form.DateField(C);
delete (this.dateFormat);
var B=CQ.Ext.apply({},{id:this.id+"-time",format:this.timeFormat||CQ.Ext.form.TimeField.prototype.format,width:this.timeWidth,minListWidth:this.timeWidth+16,selectOnFocus:this.selectOnFocus,allowBlank:this.allowBlank,listeners:{blur:{scope:this,fn:this.onBlur},focus:{scope:this,fn:this.onFocus}}},this.timeConfig);
this.tf=new CQ.Ext.form.TimeField(B);
delete (this.timeFormat);
this.relayEvents(this.df,["focus","specialkey","invalid","valid"]);
this.relayEvents(this.tf,["focus","specialkey","invalid","valid"])
},onRender:function(D,B){if(this.isRendered){return 
}CQ.form.DateTime.superclass.onRender.call(this,D,B);
var C;
if("below"===this.timePosition||"bellow"===this.timePosition){C=CQ.Ext.DomHelper.append(D,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-bottom:1px",cls:"ux-datetime-date"}]},{tag:"tr",children:[{tag:"td",style:this.hideTime?"display:none;":"",cls:"ux-datetime-time"}]}]},true)
}else{C=CQ.Ext.DomHelper.append(D,{tag:"table",style:"border-collapse:collapse",children:[{tag:"tr",children:[{tag:"td",style:"padding-right:0px",cls:"ux-datetime-date"},{tag:"td",style:this.hideTime?"display:none;":"",cls:"ux-datetime-time"}]}]},true)
}this.tableEl=C;
this.wrap=C.wrap();
this.wrap.on("mousedown",this.onMouseDown,this,{delay:10});
this.df.render(C.child("td.ux-datetime-date"));
this.tf.render(C.child("td.ux-datetime-time"));
if(CQ.Ext.isIE&&CQ.Ext.isStrict){C.select("input").applyStyles({top:0})
}this.on("specialkey",this.onSpecialKey,this);
this.df.el.swallowEvent(["keydown","keypress"]);
this.tf.el.swallowEvent(["keydown","keypress"]);
if("side"===this.msgTarget){var F=this.el.findParent(".x-form-element",10,true);
this.errorIcon=F.createChild({cls:"x-form-invalid-icon"});
this.df.errorIcon=this.errorIcon;
this.tf.errorIcon=this.errorIcon
}this.el.dom.name=this.hiddenName||this.name||this.id;
this.df.el.dom.removeAttribute("name");
this.tf.el.dom.removeAttribute("name");
if(!this.disableTypeHint){var E=new CQ.Ext.form.Hidden({name:this.name+"@TypeHint",value:this.typeHint?this.typeHint:"Date",ignoreDate:true,renderTo:D})
}this.isRendered=true;
this.updateHidden()
},adjustSize:CQ.Ext.BoxComponent.prototype.adjustSize,alignErrorIcon:function(){this.errorIcon.alignTo(this.tableEl,"tl-tr",[2,0])
},initDateValue:function(){if(this.defaultValue=="now"){this.dateValue=new Date()
}else{if(this.defaultValue){this.dateValue=Date.parseDate(this.defaultValue,this.hiddenFormat);
if(!this.dateValue){this.dateValue=new Date(1970,0,1,0,0,0)
}}else{this.dateValue=new Date(1970,0,1,0,0,0)
}}},clearInvalid:function(){this.df.clearInvalid();
this.tf.clearInvalid()
},disable:function(){if(this.isRendered){this.df.disabled=this.disabled;
this.df.onDisable();
this.tf.onDisable()
}this.disabled=true;
this.df.disabled=true;
this.tf.disabled=true;
this.fireEvent("disable",this);
return this
},enable:function(){if(this.rendered){this.df.onEnable();
this.tf.onEnable()
}this.disabled=false;
this.df.disabled=false;
this.tf.disabled=false;
this.fireEvent("enable",this);
return this
},focus:function(){this.df.focus()
},getPositionEl:function(){return this.wrap
},getResizeEl:function(){return this.wrap
},getValue:function(){if(this.valueAsString){return this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):""
}else{return this.dateValue?new Date(this.dateValue):""
}},isValid:function(){return this.df.isValid()&&this.tf.isValid()
},isVisible:function(){return this.df.rendered&&this.df.getActionEl().isVisible()
},onBlur:function(B){if(this.wrapClick){B.focus();
this.wrapClick=false
}if(B===this.df){this.updateDate()
}else{this.updateTime()
}this.updateHidden();
(function(){if(!this.df.hasFocus&&!this.tf.hasFocus){var C=this.getValue();
if(String(C)!==String(this.startValue)){this.fireEvent("change",this,C,this.startValue)
}this.hasFocus=false;
this.fireEvent("blur",this)
}}).defer(100,this)
},onFocus:function(){if(!this.hasFocus){this.hasFocus=true;
this.startValue=this.getValue();
this.fireEvent("focus",this)
}},onMouseDown:function(B){if(!this.disabled){this.wrapClick="td"===B.target.nodeName.toLowerCase()
}},onSpecialKey:function(C,D){var B=D.getKey();
if(B===D.TAB){if(C===this.df&&!D.shiftKey){D.stopEvent();
this.tf.focus()
}if(C===this.tf&&D.shiftKey){D.stopEvent();
this.df.focus()
}}if(B===D.ENTER){this.updateValue()
}},setDate:function(B){this.df.setValue(B)
},setTime:function(B){this.tf.setValue(B)
},setSize:function(B,C){if(!B){return 
}if(typeof B=="object"){C=B.height;
B=B.width
}if("below"===this.timePosition){this.df.setSize(B,C);
this.tf.setSize(B,C);
if(CQ.Ext.isIE){this.df.el.up("td").setWidth(B);
this.tf.el.up("td").setWidth(B)
}}else{this.df.setSize(B-this.timeWidth-18,C);
this.tf.setSize(this.timeWidth,C);
if(CQ.Ext.isIE){this.df.el.up("td").setWidth(B-this.timeWidth-18);
this.tf.el.up("td").setWidth(this.timeWidth)
}}},setValue:function(D){if(!D){this.setDate("");
this.setTime("");
this.updateValue();
return 
}if("number"===typeof D){D=new Date(D)
}if("string"===typeof D){if(D=="now"){D=new Date()
}else{var B=Date.parse(D);
if(!B){B=Date.parseDate(D,this.hiddenFormat)
}if(B){D=new Date(B)
}}}D=D?D:new Date(1970,0,1,0,0,0);
if(D instanceof Date){this.setDate(D);
this.setTime(D);
this.dateValue=new Date(D)
}else{var C=D.split(this.dtSeparator);
this.setDate(C[0]);
if(C[1]){this.setTime(C[1])
}}this.updateValue()
},setVisible:function(B){if(B){this.df.show();
this.tf.show()
}else{this.df.hide();
this.tf.hide()
}return this
},show:function(){return this.setVisible(true)
},hide:function(){return this.setVisible(false)
},updateDate:function(){var B=this.df.getValue();
if(B){if(!(this.dateValue instanceof Date)){this.initDateValue();
if(!this.tf.getValue()){this.setTime(this.dateValue)
}}this.dateValue.setMonth(0);
this.dateValue.setFullYear(B.getFullYear());
this.dateValue.setMonth(B.getMonth());
this.dateValue.setDate(B.getDate())
}else{this.dateValue="";
this.setTime("")
}},updateTime:function(){var B=this.tf.getValue();
if(B&&!(B instanceof Date)){if(B=="now"){B=new Date()
}else{B=Date.parseDate(B,this.tf.format)
}}if(B&&!this.df.getValue()){this.initDateValue();
this.setDate(this.dateValue)
}if(this.dateValue instanceof Date){if(B){this.dateValue.setHours(B.getHours());
this.dateValue.setMinutes(B.getMinutes());
this.dateValue.setSeconds(B.getSeconds())
}else{this.dateValue.setHours(0);
this.dateValue.setMinutes(0);
this.dateValue.setSeconds(0)
}}},updateHidden:function(){if(this.isRendered){this.el.dom.value=this.dateValue instanceof Date?this.dateValue.format(this.hiddenFormat):""
}},updateValue:function(){this.updateDate();
this.updateTime();
this.updateHidden()
},validate:function(){return this.df.validate()&&this.tf.validate()
},renderer:function(C){var B=C.editor.dateFormat||CQ.Ext.form.DateField.prototype.format;
B+=" "+(C.editor.timeFormat||CQ.Ext.form.TimeField.prototype.format);
return function(D){return CQ.Ext.util.Format.date(D,B)
}
}});
CQ.Ext.reg("datetime",CQ.form.DateTime);
CQ.form.FileUploadField=CQ.Ext.extend(CQ.Ext.form.TextField,{buttonText:"Browse...",buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:CQ.Ext.emptyFn,fileNameParameter:null,allowFileNameEditing:false,allowEnctypeSetting:true,constructor:function(B){if(B.fileNameParameter){this.readOnly=false
}CQ.form.FileUploadField.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.FileUploadField.superclass.initComponent.call(this);
this.addEvents("fileselected")
},onRender:function(D,B){CQ.form.FileUploadField.superclass.onRender.call(this,D,B);
this.wrap=this.el.wrap({cls:"x-form-field-wrap x-form-file-wrap"});
this.el.addClass("x-form-file-text");
if(this.fileNameParameter){this.el.dom.setAttribute("name",this.fileNameParameter)
}else{this.el.dom.setAttribute("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 C=CQ.Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});
this.button=new CQ.Ext.Button(CQ.Ext.apply(C,{renderTo:this.wrap,cls:"x-form-file-btn"+(C.iconCls?" x-btn-icon":"")}));
if(this.buttonOnly){this.el.hide();
this.wrap.setWidth(this.button.getEl().getWidth())
}this.fileInput.on("change",function(){var F=this.fileInput.dom.value;
if(CQ.Ext.isIE&&F.lastIndexOf("\\")!=-1){F=F.substring(F.lastIndexOf("\\")+1)
}this.setValue(F);
if(this.allowEnctypeSetting){try{var E=this.findParentByType("form");
E.getForm().el.dom.enctype="multipart/form-data"
}catch(G){}}this.fireEvent("fileselected",this,F)
},this)
},getFileInputId:function(){return this.id+"-file"
},onResize:function(B,C){CQ.form.FileUploadField.superclass.onResize.call(this,B,C);
this.wrap.setWidth(B);
if(!this.buttonOnly){var B=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;
this.el.setWidth(B)
}},preFocus:CQ.Ext.emptyFn,getResizeEl:function(){return this.wrap
},getPositionEl:function(){return this.wrap
},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,"tl-tr",[2,0])
}});
CQ.Ext.reg("fileuploadfield",CQ.form.FileUploadField);
CQ.form.Selection=CQ.Ext.extend(CQ.form.CompositeField,{allowBlank:true,type:"radio",options:null,optionsRoot:null,optionsTextField:null,optionsValueField:null,optionsQTipField:null,optionsCallback:null,optionsConfig:null,comboBox:null,hiddenField:null,optionItems:null,isComboBox:false,isSelect:false,isCheckbox:false,isRadio:false,getValue:function(){if(!this.rendered){return this.value!=null?this.value:""
}if(this.isComboBox){if(this.isSelect){return this.hiddenField.getValue()
}return this.comboBox.getValue()
}if(this.isRadio){for(var C=0;
C<this.optionItems.length;
C++){var D=this.optionItems.get(C);
if(D.getValue()){return D.inputValue
}}return""
}var B=[];
for(var C=0;
C<this.optionItems.length;
C++){var D=this.optionItems.get(C);
if(D.getValue()){B.push(D.inputValue)
}}return B
},processInit:function(path,record){if(this.optionsCallback){if(path==undefined){path=null
}if(record==undefined){record={}
}try{if(typeof this.optionsCallback!="function"){try{eval(this.optionsCallback).call(this,path,record)
}catch(e){CQ.Log.warn("Selection#processRecord: failed to evaluate optionsCallback: "+e.message)
}}else{this.optionsCallback.call(this,path,record)
}}catch(e){CQ.Log.warn("Selection#processRecord: failed to call optionsCallback: "+e.message)
}}},setOptions:function(C){if(this.isCheckbox){if(this.optionItems&&this.optionItems.getCount()>0){var B=this.optionItems.getCount();
for(var D=0;
D<B;
D++){var H=this.optionItems.get(D);
this.remove(H);
if(H.rendered&&H.dom){H.dom.setStyle("display","none")
}H.destroy()
}this.optionItems.clear()
}for(var D=0;
D<C.length;
D++){var E=C[D];
this.optionsConfig.inputValue=E.value?E.value:"";
this.optionsConfig.boxLabel=E.text?E.text:"&nbsp;";
this.optionsConfig.checked=E.checked?E.checked:false;
var H;
if(this.isRadio){H=new CQ.Ext.form.Radio(this.optionsConfig)
}else{H=new CQ.Ext.form.Checkbox(this.optionsConfig)
}this.add(H);
this.optionItems.add(E.value,H)
}}else{var F={fields:["value","text","qtip"],data:[]};
for(var D=0;
D<C.length;
D++){var E=C[D];
var G=[E.value?E.value:"",E.text?CQ.I18n.getMessage(E.text):E.value,E.qtip?E.qtip:""];
F.data.push(G)
}if(!this.comboBox){this.optionsConfig.store=new CQ.Ext.data.SimpleStore(F);
this.comboBox=new CQ.Ext.form.ComboBox(this.optionsConfig);
this.add(this.comboBox)
}else{this.optionsConfig.store.loadData(F.data)
}}if(this.rendered){this.doLayout()
}},setValue:function(G){if(G instanceof Array&&(this.isRadio||this.isComboBox)){G=G[0]
}this.value=G;
if(this.rendered){if(this.isRadio){if(this.value instanceof Array){this.value=G[0]
}if(this.value==null){this.optionItems.get(0).setValue(true);
for(var C=1;
C<this.optionItems.length;
C++){this.optionItems.get(C).setValue(false)
}}else{for(var C=0;
C<this.optionItems.length;
C++){var E=this.optionItems.get(C);
if(E.inputValue==this.value){E.setValue(true)
}else{E.setValue(false)
}}}}else{if(this.isCheckbox){var B;
if(this.value instanceof Array){B="|"+G.join("|")+"|"
}else{B="|"+G+"|"
}for(var C=0;
C<this.optionItems.length;
C++){var E=this.optionItems.get(C);
if(B.indexOf("|"+E.inputValue+"|")!=-1){E.setValue(true)
}else{E.setValue(false)
}}}else{if(this.isSelect){var D=this.comboBox.store.getTotalCount();
var C=0;
for(;
C<D;
C++){var F=this.comboBox.store.getAt(C).data;
if(F.value==this.value){this.hiddenField.setValue(F.value);
this.comboBox.setValue(F.text);
break
}}if(C==D){if(this.defaultValue){this.value=this.defaultValue
}else{this.value=""
}this.hiddenField.setValue(this.value);
this.comboBox.setValue(this.value)
}}else{this.comboBox.setValue(this.value)
}}}}},selectCombo:function(D,B,C){if(B.data.text=="&nbsp;"){this.comboBox.setValue("")
}this.hiddenField.setValue(B.data.value);
this.fireComboboxSelectionChanged(D,B,C)
},fireBoxSelectionChanged:function(C,D){var B;
if(C.constructor==CQ.Ext.form.Radio){B=D
}else{B=true
}if(B){this.fireEvent(CQ.form.Selection.EVENT_SELECTION_CHANGED,this,C.getRawValue(),D)
}},fireComboboxSelectionChanged:function(D,B,C){this.fireEvent(CQ.form.Selection.EVENT_SELECTION_CHANGED,this,B.data.value,true)
},fireComboboxContentChanged:function(D,C,B){this.fireEvent(CQ.form.Selection.EVENT_SELECTION_CHANGED,this,C,true)
},constructor:function(config){if(config.type){this.type=config.type
}switch(this.type){case"radio":this.isRadio=true;
case"checkbox":this.isCheckbox=true;
break;
case"select":this.isSelect=true;
default:this.isComboBox=true
}if(config.allowBlank!=undefined){this.allowBlank=config.allowBlank
}if(config.optionsCallback){this.optionsCallback=config.optionsCallback;
if(!config.options){config.options=[]
}}if(typeof config.options=="string"){try{var json=CQ.Util.eval(CQ.HTTP.get(config.options));
if(config.optionsRoot){var optVF=config.optionsValueField||"value";
var optTF=config.optionsTextField||"text";
var optQF=config.optionsQTipField||"qtip";
var root=json[config.optionsRoot];
config.options=[];
for(var i=0;
i<root.length;
i++){var opt={value:root[i][optVF],text:root[i][optTF]};
if(root[i][optQF]){opt.qtip=root[i][optQF]
}config.options.push(opt)
}}else{config.options=CQ.Util.formatData(json)
}}catch(e){CQ.Log.warn("CQ.utils.WCM#getDialogConfig failed: "+e.message);
config.options=[]
}}else{if(!config.options){if(this.isCheckbox){config.options=[{value:config.inputValue?config.inputValue:"true",text:config.boxLabel?config.boxLabel:""}]
}else{config.options=[]
}}}this.optionsConfig=config.optionsConfig?config.optionsConfig:{};
var defaults={height:"auto",border:false,style:"padding:0;margin-bottom:0;",hideMode:"display",layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET}};
CQ.Util.applyDefaults(config,defaults);
CQ.form.CompositeField.superclass.constructor.call(this,config);
if(this.isCheckbox){this.optionItems=new CQ.Ext.util.MixedCollection();
var checkboxDefaults={xtype:"checkbox",name:config.name,fieldLabel:"&nbsp;",hideLabel:true,hideMode:"display",anchor:CQ.themes.Dialog.SELECT_CHECKBOX_ANCHOR,stateful:false};
CQ.Util.applyDefaults(this.optionsConfig,checkboxDefaults);
this.optionsConfig.listeners={render:function(option){var rootEl=option.getEl().dom.parentNode.parentNode.parentNode;
rootEl.style.overflow="hidden"
},check:{fn:this.fireBoxSelectionChanged,scope:this}};
this.setOptions(config.options);
if(!this.isRadio){this.hiddenField=new CQ.Ext.form.Hidden({name:config.name+CQ.Sling.DELETE_SUFFIX,value:"true"});
this.add(this.hiddenField)
}}else{var comboDefaults={xtype:"combo",name:this.name,fieldLabel:"&nbsp;",hideLabel:true,anchor:"100%",tpl:'<tpl for="."><div ext:qtip="{qtip}" class="x-combo-list-item">{text}</div></tpl>',displayField:"text",typeAhead:false,mode:"local",emptyText:"",triggerAction:"all",allowBlank:this.allowBlank,hideMode:"display",stateful:false};
if(this.isSelect){comboDefaults.selectOnFocus=false;
comboDefaults.editable=false;
comboDefaults.listeners={select:{fn:this.selectCombo,scope:this},render:function(combo){combo.getEl().dom.removeAttribute("name")
}};
this.hiddenField=new CQ.Ext.form.Hidden({name:this.name});
this.add(this.hiddenField)
}else{comboDefaults.listeners={select:{fn:this.fireComboboxSelectionChanged,scope:this},change:{fn:this.fireComboboxContentChanged,scope:this}}
}CQ.Util.applyDefaults(this.optionsConfig,comboDefaults);
this.setOptions(config.options)
}},initComponent:function(){CQ.form.Selection.superclass.initComponent.call(this);
this.addEvents(CQ.form.Selection.EVENT_SELECTION_CHANGED)
},onRender:function(B,C){CQ.form.Selection.superclass.onRender.call(this,B,C);
if(this.value){this.setValue(this.value)
}},disable:function(){CQ.form.Selection.superclass.disable.call(this);
for(var C=0;
C<this.items.getCount();
C++){var B=this.items.get(C);
if(B.disable){B.disable()
}}},enable:function(){CQ.form.Selection.superclass.enable.call(this);
for(var C=0;
C<this.items.getCount();
C++){var B=this.items.get(C);
if(B.enable){B.enable()
}}}});
CQ.form.Selection.EVENT_SELECTION_CHANGED="selectionchanged";
CQ.Ext.reg("selection",CQ.form.Selection);
CQ.form.SuggestField=CQ.Ext.extend(CQ.Ext.form.ComboBox,{url:"",minTermLength:3,lastTerm:null,suggestDelay:500,suggestIntervalId:0,searchDelay:0,searchIntervalId:0,keydownListener:function(G,L){var J=L.getKey();
if((J==39||J==37)&&this.isExpanded()){var F=this.store.getAt(this.selectedIndex);
var I=F.get("value");
var C=F.get("pre");
var K=F.get("post");
var H=-1;
var B=false;
var E=true;
if(J==39){if(F.get("down")===false){B=true;
E=false
}}else{if(F.get("up")===false){return 
}var D=I.lastIndexOf("/",I.lastIndexOf("/")-1);
I=I.substring(0,D);
H+=2;
if(K==""){K=" "
}}this.setRawValue(C+I+K);
this.setCaretPosition(C.length+I.length+H);
if(E){this.requestSuggestions(I,C,K)
}else{this.collapse()
}if(B){this.fireEvent("search",this,C+I+K)
}}},keyupListener:function(D,B){var G=this.getRawValue();
var E=this.getCaretPosition();
var C=this.getTermAt(E);
var F=B.getKey();
if(B.isSpecialKey()){if(F==13){this.fireEvent("search",this,G);
if(this.isExpanded&&this.selectedIndex==-1){this.collapse()
}return 
}if(!this.isExpanded()){if(F==40){this.suggest(C,G,E);
return 
}}return 
}if(C.length<this.minTermLength){return 
}if(F==8&&/\/$/.test(C)==false){return 
}var H=this;
window.clearTimeout(this.suggestIntervalId);
this.suggestIntervalId=window.setTimeout(function(){H.suggest(C,G,E)
},this.suggestDelay);
if(this.searchDelay){window.clearTimeout(this.searchIntervalId);
this.searchIntervalId=window.setTimeout(function(){H.fireEvent("search",H,G)
},this.searchDelay)
}},suggest:function(E,F,B){this.lastTerm=E;
this.caretPos=B;
var G=F.substring(0,(F.lastIndexOf(" ",B-1)+1));
var D=F.indexOf(" ",B);
var C=D==-1?"":F.substring(D);
this.requestSuggestions(E,G,C)
},requestSuggestions:function(D,E,C){var B=this.name?this.name:this.id;
var F={pre:E,post:C};
F[B]=E+D+C;
F[B+"_term"]=D;
this.store.load({params:F})
},beforeSelectListener:function(F,B,C){var E=B.get("pre");
var D=B.get("value");
this.setRawValue(E+D+B.get("post"));
this.setCaretPosition(E.length+D.length);
this.collapse();
return false
},initComponent:function(){CQ.form.SuggestField.superclass.initComponent.call(this);
this.addListener("keyup",this.keyupListener,this);
this.addListener("keydown",this.keydownListener,this);
this.addListener("beforeSelect",this.beforeSelectListener,this);
this.addEvents("search")
},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{if(this.typeAhead&&this.lastKey!=CQ.Ext.EventObject.BACKSPACE&&this.lastKey!=CQ.Ext.EventObject.DELETE){this.taTask.delay(this.typeAheadDelay)
}}}else{this.onEmptyResults()
}},constructor:function(B){CQ.Util.applyDefaults(B,{tpl:new CQ.Ext.XTemplate("<div>",'<tpl for=".">','<div class="x-combo-list-item">','<div ext:qtip="{value}" class="name {cls}">{name}</div>','<div ext:qtip="{value}" class="title">{title}</div>','<div class="nav">','<tpl if="up === true">&laquo;</tpl>','<tpl if="up === false"><span style="color:gray">&laquo;</span></tpl>','<tpl if="down === true">&raquo;</tpl>','<tpl if="down === false"><span style="color:gray">&raquo;</span></tpl>',"</div>","</div>","</tpl>","</div>"),displayField:"value",triggerClass:"x-form-search-trigger",listWidth:CQ.themes.SuggestField.LIST_WIDTH,maxHeight:CQ.themes.SuggestField.MAX_HEIGHT,listClass:"cq-suggestions",mode:"local",selectOnFocus:true,enableKeyEvents:true,validationEvent:false,validateOnBlur:false});
if(!(B.store instanceof CQ.Ext.data.Store)){var C=CQ.Util.applyDefaults(B.store,{proxy:new CQ.Ext.data.HttpProxy({url:B.url,method:"GET"}),baseParams:{_charset_:"utf-8"},reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"suggestions",id:"value",fields:["value","name","title","up","down","pre","post","cls"]})});
B.store=new CQ.Ext.data.Store(C)
}this.store=B.store;
CQ.form.SuggestField.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("suggestfield",CQ.form.SuggestField);
CQ.form.PathCompletion=CQ.Ext.extend(CQ.Ext.form.ComboBox,{searchDelay:0,rootPath:"",lastValue:null,searchIntervalId:0,adjustNewValue:function(B,C){if(/^path:"/.test(B)){C='"'+C+'"'
}return C
},keyup:function(C,B){var F=this.getRawValue();
var E=B.getKey();
if(E==13){this.fireEvent("search",this,F)
}if(F==this.lastValue){return 
}this.lastValue=F;
var G=F;
if(/\/$/.test(G)){if(G=="/"){G=this.rootPath?this.rootPath:"/"
}else{G=G.replace(/\/$/,"")
}this.loadStore(encodeURI(G))
}else{if(this.searchDelay){window.clearTimeout(this.searchIntervalId);
var D=this;
this.searchIntervalId=window.setTimeout(function(){D.fireEvent("search",D,F)
},this.searchDelay)
}}},loadStore:function(B){this.store.proxy.conn.url=CQ.Util.externalize(B+".pages.json");
this.store.reload()
},initComponent:function(){CQ.form.PathCompletion.superclass.initComponent.call(this);
this.addListener("keyup",this.keyup,this);
this.addEvents("search")
},constructor:function(B){CQ.Util.applyDefaults(B,{tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div ext:qtip="{path}" class="x-combo-list-item">','<span class="cq-pathcompletion-list-name">{label}</span>','<span class="cq-pathcompletion-list-title">{title}</span>',"</div>","</tpl>"),displayField:"path",triggerClass:"x-form-search-trigger",typeAhead:true,searchDelay:200,mode:"local",selectOnFocus:true,enableKeyEvents:true,validationEvent:false,validateOnBlur:false});
if(!(B.store instanceof CQ.Ext.data.Store)){var C=CQ.Util.applyDefaults(B.store,{proxy:new CQ.Ext.data.HttpProxy({method:"GET"}),baseParams:{predicate:"hierarchyNotFile"},reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"pages",id:"path",fields:["label","title","path"]})});
B.store=new CQ.Ext.data.Store(C)
}this.store=B.store;
CQ.form.PathCompletion.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("pathcompletion",CQ.form.PathCompletion);
CQ.form.HtmlUpload=CQ.Ext.extend(CQ.form.FileUploadField,{initComponent:function(){CQ.form.HtmlUpload.superclass.initComponent.call(this)
},onRender:function(D,B){CQ.form.HtmlUpload.superclass.onRender.call(this,D,B);
var C=this.findParentByType("dialog");
if(C){C.on("beforesubmit",function(){},this)
}}});
CQ.Ext.reg("htmlupload",CQ.form.HtmlUpload);
CQ.form.SizeField=CQ.Ext.extend(CQ.form.CompositeField,{widthParameter:null,heightParameter:null,fieldWidth:0,widthField:null,heightField:null,constructor:function(B){B=B||{};
var C={widthParameter:"./width",heightParameter:"./height",fieldWidth:"40",border:false,layout:"column",widthSuffix:"px",widthSuffixStyle:"padding-top: 3px; padding-left: 4px;",widthInputClass:"cq-sif-widthinput",heightPrefix:CQ.I18n.getMessage("x"),heightPrefixStyle:"padding-top: 3px; padding-left: 15px; padding-right: 15px;",heightSuffix:"px",heightSuffixStyle:"padding-top: 3px; padding-left: 4px;",heightInputClass:"cq-sif-heightinput",fieldConfig:{vtype:"percent"},stateful:false};
B=CQ.Util.applyDefaults(B,C);
CQ.form.SizeField.superclass.constructor.call(this,B)
},initComponent:function(){var B;
if(this.widthPrefix){this.add(new CQ.Ext.Panel({html:this.widthPrefix,border:false,style:(this.widthPrefixStyle?this.widthPrefixStyle:null)}))
}B={name:this.widthParameter,maxLength:5,width:this.fieldWidth,cls:(this.widthInputClass?this.widthInputClass:""),stateful:false};
CQ.Ext.apply(B,this.fieldConfig);
this.widthField=new CQ.Ext.form.TextField(B);
this.add(this.widthField);
if(this.widthSuffix){this.add(new CQ.Ext.Panel({html:this.widthSuffix,border:false,style:(this.widthSuffixStyle?this.widthSuffixStyle:null)}))
}if(this.heightPrefix){this.add(new CQ.Ext.Panel({html:this.heightPrefix,border:false,style:(this.heightPrefixStyle?this.heightPrefixStyle:null)}))
}B={name:this.heightParameter,maxLength:5,width:this.fieldWidth,cls:(this.heightInputClass?this.heightInputClass:""),stateful:false};
CQ.Ext.apply(B,this.fieldConfig);
this.heightField=new CQ.Ext.form.TextField(B);
this.add(this.heightField);
if(this.heightSuffix){this.add(new CQ.Ext.Panel({html:this.heightSuffix,border:false,style:(this.heightSuffixStyle?this.heightSuffixStyle:null)}))
}},processRecord:function(D,H){var I=null;
var G=null;
if(this.defaultValue!=null){var C=this.defaultValue.split(",");
if(C.length==2){try{I=parseInt(C[0]);
G=parseInt(C[1])
}catch(F){}}}var E=D.get(this.widthParameter);
if((E==undefined)&&(I!=null)){this.widthField.setValue(I)
}else{this.widthField.setValue(E)
}var B=D.get(this.heightParameter);
if((B==undefined)&&(G!=null)){this.heightField.setValue(G)
}else{this.heightField.setValue(B)
}},setValue:function(E){var C=null;
var B=null;
if(E!=null){var D=E.split(",");
if(D.length==2){try{C=parseInt(D[0]);
B=parseInt(D[1])
}catch(F){}}}this.widthField.setValue(C);
this.heightField.setValue(B)
},getValue:function(){return this.getRawValue
},getRawValue:function(){var C=this.widthField.getValue();
var B=this.heightField.getValue();
if((C.length==0)&&(B.length==0)){return""
}return C+","+B
},markInvalid:function(B){this.widthField.markInvalid(B);
this.heightField.markInvalid(B)
},clearInvalid:function(){this.widthField.clearInvalid();
this.heightField.clearInvalid()
}});
CQ.Ext.reg("sizefield",CQ.form.SizeField);
CQ.form.SmartFile=CQ.Ext.extend(CQ.form.CompositeField,{useFlash:true,mimeTypes:null,mimeTypesDescription:null,ddGroups:null,ddAccept:null,fixedHeight:null,compWidth:0,compHeight:0,fileNameParameter:null,fileNameInputField:null,fileReferenceParameter:null,moveParameter:null,deleteFileParameter:null,deletePathParameter:null,uploadText:null,uploadTextUpload:null,uploadTextReference:null,uploadIconCls:null,validateOnSubmitOnly:false,allowUpload:false,allowFileReference:false,isUploaded:false,flash:null,flashEl:null,swfEl:null,queuedFlashCommands:null,uploadPanel:null,fileInfo:null,serverFileInstance:null,referencedFileInfo:null,renditionSuffix:null,constructor:function(B){B=B||{};
var C={hideBorders:true,border:false,anchor:CQ.themes.Dialog.ANCHOR,resourcePath:CQ.form.SmartFile.RESOURCE_PATH,mimeTypes:"*.*",mimeTypesDescription:CQ.I18n.getMessage("All files"),ddAccept:"*",sizeLimit:1,fileLimit:100,stateful:false,allowBlank:true,validateOnSubmitOnly:false,invalidClass:"cq-smartfile-invalid",allowUpload:true,allowFileReference:true,allowFileNameEditing:true,transferFileName:true,uploadPanelCls:"cq-upload-border",removeUploadPanelClsOnProgress:true,uploadIconCls:"cq-file-placeholder",uploadTextUpload:CQ.I18n.getMessage("Click to upload"),uploadTextReference:CQ.I18n.getMessage("Drop an asset"),uploadText:CQ.I18n.getMessage("Drop an asset or click to upload"),iconResources:CQ.themes.SmartFile.ICON_RESOURCES,extensionToIcon:CQ.themes.SmartFile.EXTENSION_TO_ICON,defaultIcon:CQ.themes.SmartFile.DEFAULT_ICON,renditionSuffix:CQ.form.SmartFile.DAM_RENDITION_SUFFIX,height:120,listeners:{resize:this.onComponentResize}};
if(B.allowFileReferenceOnly!==undefined){B.allowFileReference=!B.allowFileReferenceOnly;
delete B.allowFileReferenceOnly
}if(this.allowUploadOnly!==undefined){B.allowUpload=!B.allowUploadOnly;
delete B.allowUploadOnly
}if(!B.allowFileReference&&!B.allowUpload){B.allowFileReference=true
}B.autoScroll=false;
B.bodyStyle="padding: 0px; overflow: hidden;";
B.layout="border";
CQ.Util.applyDefaults(B,C);
if(B.height&&(B.height!="auto")){this.fixedHeight=B.height
}else{this.fixedHeight=null
}if(CQ.endorsed.swfobject.getFlashPlayerVersion().major<9){B.useFlash=false
}CQ.form.SmartFile.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.SmartFile.superclass.initComponent.call(this);
var B=this;
this.containerPanel=new CQ.Ext.Panel({region:"center",activeItem:0,autoScroll:false,bodyStyle:"padding: 0px; overflow: hidden;",layout:"card"});
this.add(this.containerPanel);
this.uploadPanel=new CQ.Ext.Panel({itemId:"upload",cls:this.uploadPanelCls,layout:"fit",border:false,style:"padding: 0;",bodyStyle:"position: relative; top: 0; left: 0;",listeners:{resize:function(D,E,C){if(typeof E=="object"){C=E.height;
E=E.width
}this._width=E;
this._height=C;
if(this.rendered){B.setTextElSize(E,C);
B.setProgressBarSize(E,C);
B.setFlashSize(E,C)
}}},afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY);
if(B.fixedHeight){var C=B.fixedHeight;
this.el.setHeight(C);
this.body.setHeight(C-this.el.getBorderWidth("tb"))
}}});
this.containerPanel.add(this.uploadPanel);
this.createFileNameEditingCapability();
this.processingPanel=this.createProcessingPanel();
this.containerPanel.add(this.processingPanel);
this.createHiddenInterfaceFields();
if(this.headPanel){this.headPanel.region="north";
this.add(this.headPanel)
}if(this.footPanel){this.footPanel.region="south";
this.add(this.footPanel)
}if(!this.useFlash){this.fallbackFileField=new CQ.form.FileUploadField({name:this.name,fileNameParameter:this.fileNameParameter,allowFileNameEditing:this.allowFileNameEditing});
this.fallbackPanel=new CQ.Ext.Panel({itemId:"fallback",border:false,items:this.fallbackFileField});
this.containerPanel.add(this.fallbackPanel)
}},onRender:function(C,D){CQ.form.SmartFile.superclass.onRender.call(this,C,D);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY);
var B=this.findParentByType("dialog");
B.on("beforesubmit",function(){this.syncFormElements();
return this.onBeforeSubmit()
},this)
},afterRender:function(){CQ.form.SmartFile.superclass.afterRender.call(this);
if(this.allowFileReference&&this.ddGroups){if(typeof this.ddGroups=="string"){this.ddGroups=[this.ddGroups]
}var F=this;
var G=new CQ.wcm.EditBase.DropTarget(this.el,{notifyDrop:function(K,H,J){if(K&&K.clearAnimations){K.clearAnimations(this)
}if(K.isDropAllowed(this)){var I=F.handleDrop(J);
if(I){H.stopEvent()
}return I
}}});
var D=this.findParentByType("dialog");
D.on("activate",function(I){if(I&&I.el&&this.highlight){var H=parseInt(I.el.getStyle("z-index"),10);
if(!isNaN(H)){this.highlight.overridenZIndex=H+1
}}},G);
D.on("deactivate",function(I){if(I&&I.el&&this.highlight){var H=parseInt(I.el.getStyle("z-index"),10);
if(!isNaN(H)){this.highlight.overridenZIndex=H+1
}}},G);
for(var C=0;
C<this.ddGroups.length;
C++){G.addToGroup(this.ddGroups[C])
}G.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT);
var B=this.ddAccept;
if(B){if(!CQ.Ext.isArray(B)){var E=new RegExp("[ ;]+","g");
B=B.split(E)
}G.ddAccept=B
}this.dropTargets=[];
this.dropTargets.push(G)
}},onComponentResize:function(C,B){if(typeof C=="object"){B=C.height;
C=C.width
}this.compWidth=C;
this.compHeight=B
},markInvalid:function(B){if(!this.rendered||this.preventMark){return 
}B=B||this.invalidText;
this.uploadPanel.body.addClass(this.invalidClass);
this.processingPanel.markInvalid(this.invalidClass);
this.uploadPanel.body.dom.qtip=B;
this.uploadPanel.body.dom.qclass="x-form-invalid-tip";
if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}this.fireEvent("invalid",this,B)
},clearInvalid:function(){if(!this.rendered||this.preventMark){return 
}this.uploadPanel.body.removeClass(this.invalidClass);
this.processingPanel.clearInvalid(this.invalidClass);
this.fireEvent("valid",this)
},validateOnStateChange:function(){if(!this.validateOnSubmitOnly){this.validate()
}this.validateLinkingFieldsOnStateChange()
},validateLinkingFieldsOnStateChange:function(){var E=this.findParentByType("dialog");
var C=CQ.utils.Util.findFormFields(E);
if(C){for(var B in C){if(C.hasOwnProperty(B)){var G=C[B];
var F=G.length;
for(var H=0;
H<F;
H++){var D=G[H];
if(D.linkedComponent==this.name){D.validate()
}}}}}},hasData:function(){return(this.fileInfo!=null)||(this.referencedFileInfo!=null)
},hasUploadedData:function(){return(this.fileInfo!=null)
},hasReferencedData:function(){return(this.referencedFileInfo!=null)
},createFileNameEditingCapability:function(){if(!this.allowFileNameEditing){this.fileNameField=new CQ.Ext.form.Hidden({disabled:!this.transferFileName})
}else{this.fileNameField=new CQ.Ext.form.TextField({autoHeight:false});
this.transferFileName=true
}this.containerPanel.add(this.fileNameField)
},createHiddenInterfaceFields:function(){this.fileReferenceField=new CQ.Ext.form.Hidden({disabled:true});
this.containerPanel.add(this.fileReferenceField);
this.moveParameter=new CQ.Ext.form.Hidden({disabled:true});
this.containerPanel.add(this.moveParameter);
this.deleteFileParameter=new CQ.Ext.form.Hidden({disabled:true,value:"true"});
this.containerPanel.add(this.deleteFileParameter);
this.deletePathParameter=new CQ.Ext.form.Hidden({disabled:true,value:"true"});
this.containerPanel.add(this.deletePathParameter)
},onBeforeSubmit:function(){return true
},getName:function(){return this.name
},getRawValue:function(){var B="";
if(this.fileInfo){B+='[instance:"'+this.fileInfo.dataPath+'" "'+this.fileInfo.mimeType+'" '+this.fileInfo.size+"]"
}if(this.referencedFileInfo){B+='[reference:"'+this.referencedFileInfo.dataPath+'" "'+this.referencedFileInfo.mimeType+'" '+this.referencedFileInfo.size+"]"
}if(this.fileNameInputField){B+='[fileName:"'+this.fileNameInputField.getValue()+'"]'
}return B
},createOriginalRefUrl:function(B){var C=B.dataPath+this.renditionSuffix;
return CQ.Util.externalize(C)
},getSuitableFileInfo:function(){if(this.referencedFileInfo!=null){return this.referencedFileInfo
}return this.fileInfo
},processInit:function(B){this.dataPath=B;
this.isUploaded=false;
this.fileInfo=null;
this.referencedFileInfo=null;
this.validateOnStateChange();
this.syncFormElements();
this.updateView()
},processRecord:function(B,F){this.dataPath=F;
this.isUploaded=false;
this.fileInfo=null;
this.referencedFileInfo=null;
var G;
if(this.fileNameParameter){G=B.get(this.fileNameParameter)
}if(this.fileReferenceParameter){var C=B.get(this.fileReferenceParameter);
if(C){this.referencedFileInfo=this.resolveReference(C,F);
if(G){this.referencedFileInfo.fileName=G
}this.referencedFileInfo.url=this.createOriginalRefUrl(this.referencedFileInfo)
}}var E=B.get(this.name);
if(E){if(E["jcr:content"]){E=CQ.Sling.processBinaryData(E["jcr:content"])
}else{E=CQ.Sling.processBinaryData(E)
}if(E){var D=CQ.Sling.getContentPath(this.name,F);
this.fileInfo={fileName:G,dataPath:D,mimeType:E.type,size:E.size,url:CQ.Util.externalize(D)};
this.serverFileInstance=this.fileInfo
}}this.postProcessRecord(B,F);
this.validateOnStateChange();
this.syncFormElements();
this.updateView()
},postProcessRecord:function(B,C){},resolveReference:function(fileRef,basePath){var refFileInfo=null;
var originalFileRef=fileRef;
try{if(fileRef.indexOf("/")==0){fileRef=fileRef+"/jcr:content.infinity";
fileRef=encodeURI(fileRef);
var json=CQ.Util.eval(CQ.HTTP.get(fileRef+CQ.HTTP.EXTENSION_JSON));
var refValue=CQ.Util.formatData(json);
if(refValue){refFileInfo=CQ.Sling.processBinaryData(refValue);
refFileInfo.mimeType=refFileInfo.type;
delete refFileInfo.type;
if(basePath){refFileInfo.dataPath=CQ.Sling.getContentPath(originalFileRef,basePath);
refFileInfo.url=CQ.Util.externalize(refFileInfo.dataPath)
}else{refFileInfo.dataPath=originalFileRef;
refFileInfo.url=originalFileRef
}}}else{refFileInfo={dataPath:fileRef,url:fileRef}
}}catch(e){CQ.Log.error("SmartFile#resolveReference: failed to resolve reference: "+e.message)
}return refFileInfo
},syncFormElements:function(){if(this.fileNameField){if(!this.fileNameParameter){this.fileNameParameter=this.name+CQ.form.SmartFile.PARAM_FILENAME_SUFFIX
}if(this.useFlash||this.containerPanel.layout.activeItem.itemId!="fallback"){this.fileNameField.getEl().dom.name=this.fileNameParameter
}else{this.fileNameField.getEl().dom.name=""
}}if(this.fileReferenceField){if(!this.fileReferenceParameter){this.fileReferenceParameter=this.name+CQ.form.SmartFile.PARAM_REFERENCE_SUFFIX
}this.fileReferenceField.getEl().dom.name=this.fileReferenceParameter
}if(this.moveParameter){this.moveParameter.getEl().dom.name=this.name+CQ.utils.Sling.MOVE_SUFFIX
}if(this.deleteFileParameter){this.deleteFileParameter.getEl().dom.name=this.name+CQ.utils.Sling.DELETE_SUFFIX
}if(this.fileReferenceField){var B=(this.referencedFileInfo?this.referencedFileInfo.dataPath:"");
this.fileReferenceField.setValue(B);
this.fileReferenceField.enable()
}if(this.moveParameter){if(this.fileInfo&&this.isUploaded){this.moveParameter.setValue(this.fileInfo.dataPath);
this.moveParameter.enable()
}else{this.moveParameter.disable()
}}if(this.useFlash&&this.deleteFileParameter){if(this.serverFileInstance&&!this.fileInfo){this.deleteFileParameter.enable()
}else{this.deleteFileParameter.disable()
}}},flush:function(){if(this.referencedFileInfo){this.referencedFileInfo=null
}else{if(this.fileInfo){this.fileInfo=null
}}if((this.referencedFileInfo==null)&&(this.fileInfo==null)&&this.fileNameField){this.fileNameField.setValue("")
}this.validateOnStateChange();
if(!this.useFlash){this.deleteFileParameter.enable();
this.fallbackFileField.fileInput.dom.name="";
this.fallbackFileField.setValue("")
}},updateView:function(){var B=(this.fileInfo!=null)||(this.referencedFileInfo!=null);
this.updateViewBasics(B);
if(B){this.createProcessingPanelContents()
}this.doLayout()
},updateViewBasics:function(B){if(!B){this.containerPanel.getLayout().setActiveItem("upload");
if(!this.isUploadPanelCreated){this.createUploadPanel()
}else{this.switchToUploadBase()
}this.isUploadAvailable=true
}else{if(CQ.Ext.isIE){if(this.flash){this.flash.destroy();
this.flash=null
}}this.containerPanel.getLayout().setActiveItem("processing");
this.isUploadAvailable=false
}},createProcessingPanel:function(){return new CQ.form.SmartFile.FileInfoDisplay({itemId:"processing",fileNameField:(this.allowFileNameEditing&&this.fileNameField?this.fileNameField:null),parentComponent:this})
},createProcessingPanelContents:function(){var E=this.getSuitableFileInfo();
var D=E.fileName;
var I=null;
if(D){var F=D.lastIndexOf(".");
if((F>=0)&&(F<(D.length-1))){I=D.substring(F+1,D.length).toLowerCase()
}}var G=this.defaultIcon;
if(I&&this.extensionToIcon[I]){G=this.extensionToIcon[I]
}var H=this.iconResources;
if(H.charAt(H.length-1)!="/"){H+="/"
}var B=CQ.Util.externalize(H+G);
var K=CQ.I18n.getMessage("unkonwn");
if(E.mimeType){K=E.mimeType
}var C=CQ.I18n.getMessage("unkonwn");
if(E.size){C=this.formatFileSize(E.size)
}var J=CQ.I18n.getMessage("MIME type: {0}<br>Size: {1}",[K,C]);
if(!this.transferFileName){D=""
}this.processingPanel.updateContent(D,J,B)
},createUploadPanel:function(){this.isUploadPanelCreated=true;
var D=this.uploadPanel.body;
var H=this.uploadPanel.items.getCount();
for(var C=H-1;
C>=0;
C--){this.remove(this.uploadPanel.items.itemAt(C))
}var B;
if(this.uploadIconCls){B='<img src="'+CQ.Ext.BLANK_IMAGE_URL+'" alt="" border="0" class="'+this.uploadIconCls+'">'
}else{B=""
}var E=this.uploadText;
if(!this.allowUpload){E=this.uploadTextReference
}if(!this.allowFileReference){E=this.uploadTextUpload
}var G=B+"<br>"+E;
this.textEl=D.createChild({tag:"div",html:G});
if(!this.useFlash){this.textEl.addListener("click",function(){this.containerPanel.getLayout().setActiveItem("fallback");
this.fallbackFileField.fileInput.dom.name=this.name;
this.deleteFileParameter.disable()
},this)
}this.textEl.addClass("cq-upload-hint");
this.textEl.setVisibilityMode(CQ.Ext.Element.DISPLAY);
if(this.uploadPanel._width&&this.uploadPanel._height){this.setTextElSize(this.uploadPanel._width,this.uploadPanel._height)
}if(this.useFlash){this.flashEl=D.createChild({tag:"div",style:"position: absolute; top: 0px; left: 0px;"});
var F=this.flashEl.createChild({tag:"span"});
this.swfEl=null;
this.body.addClass("cq-upload-hint");
if(this.allowUpload){this.initFlash(F);
if(this.flash){this.swfEl=CQ.Ext.get(this.flash.movieName)
}}}},switchToUploadProgress:function(){if(this.removeUploadPanelClsOnProgress&&this.uploadPanelCls){this.uploadPanel.removeClass(this.uploadPanelCls)
}var C=this.uploadPanel.body;
this.textEl.setVisible(false);
if(this.flash){this.flash.setButtonDisabled(true)
}if(!this.progressBar){this.progressBar=new CQ.Ext.ProgressBar({text:"&nbsp;"});
var B="padding-left: 5px; padding-right: 5px; position: absolute; top: 0px; left: 0px;";
if(this.fixedHeight){B+=" height: "+this.fixedHeight+"px"
}this.progressBarDiv=C.createChild({tag:"div",style:B});
this.progressBarDiv.setVisibilityMode(CQ.Ext.Element.DISPLAY);
if(this.uploadPanel._width&&this.uploadPanel._height){this.setProgressBarSize(this.uploadPanel._width,this.uploadPanel._height)
}this.progressBar.render(this.progressBarDiv);
this.progressBar.updateProgress(0,"Uploading ...")
}else{this.progressBarDiv.setVisible(true)
}},switchToUploadBase:function(){if(this.allowUpload){if(CQ.Ext.isIE){if(this.useFlash){var B=this.flashEl.dom;
if(this.swfEl){try{B.removeChild(this.swfEl.dom)
}catch(D){}this.swfEl=null
}var C=document.createElement("span");
C.id="__ieworkaround_"+new Date().getTime();
B.appendChild(C);
this.initFlash(C);
if(this.flash){this.swfEl=CQ.Ext.get(this.flash.movieName)
}}}else{if(this.uploadPanel._width&&this.uploadPanel._height){this.setFlashSize(this.uploadPanel._width,this.uploadPanel._height)
}if(this.flash){this.executeFlashCommand(this.flash.setButtonDisabled,[false])
}}}if(this.progressBarDiv){this.progressBarDiv.setVisible(false)
}if(this.removeUploadPanelClsOnProgress&&this.uploadPanelCls){this.uploadPanel.addClass(this.uploadPanelCls)
}this.textEl.setVisible(true)
},setTextElSize:function(C,B){if(this.textEl){if(!this.msgHeight){this.msgHeight=this.textEl.getHeight()
}var D=Math.round((B-this.msgHeight)/2);
if(D>0){this.textEl.setStyle("padding-top",D+"px")
}}},setProgressBarSize:function(C,B){if(this.progressBarDiv){this.progressBarDiv.setSize(C,B)
}},setFlashSize:function(C,B){if(this.flashEl){this.flashEl.setSize(C,B);
if(this.swfEl){this.swfEl.setSize(C,B)
}if(this.flash){this.executeFlashCommand(this.flash.setButtonDimensions,[C,B])
}}},flushFile:function(){this.flush();
this.syncFormElements();
this.updateView()
},handleDrop:function(B){if(this.handleDropBasics(B)){this.syncFormElements();
this.updateView();
return true
}return false
},handleDropBasics:function(D){if(D.records&&D.single){var B=D.records[0];
var C=B.get("path");
this.referencedFileInfo=this.resolveReference(C,this.dataPath);
var E=B.get("name");
if(E){this.referencedFileInfo.fileName=E
}this.referencedFileInfo.url=this.createOriginalRefUrl(this.referencedFileInfo);
this.validateOnStateChange();
return true
}return false
},onUploaded:function(){this.syncFormElements();
this.updateView();
return true
},correctFileSize:function(B){if(B===0){return B
}return B+"Mb"
},formatFileSize:function(C){var D;
if(C<1024){D="bytes"
}else{if(C<1048576){C=Math.round(C/1024);
D="KB"
}else{C=new String(C/1048576);
var B=C.indexOf(".");
if(B>0){if(C.charAt(B+1)=="0"){C=C.substring(0,B)
}else{C=C.substring(0,B+2)
}}D="MB"
}}return C+" "+D
},formatTimeLeft:function(C){if(C>86399){C=Math.round(C/86400);
if(C==1){return CQ.utils.I18n.getMessage("{0} day",[C])
}else{return CQ.utils.I18n.getMessage("{0} days",[C])
}}else{if(C>3599){C=new String(C/3600);
var B=C.indexOf(".");
if(B>0){if(C.charAt(B+1)=="0"){C=C.substring(0,B)
}else{C=C.substring(0,B+2)
}}if(C==1){return CQ.utils.I18n.getMessage("{0} hour",[C])
}else{return CQ.utils.I18n.getMessage("{0} hours",[C])
}}else{if(C<=3600&&C>59){C=Math.round(C/60)+"";
if(C==1){return CQ.utils.I18n.getMessage("{0} minute",[C])
}else{return CQ.utils.I18n.getMessage("{0} minutes",[C])
}}else{if(C==1){return CQ.utils.I18n.getMessage("{0} second",[C])
}else{return CQ.utils.I18n.getMessage("{0} seconds",[C])
}}}}},estimateTimeLeft:function(B,C){var D=new Date().valueOf()-this.startTime;
var E=Math.round(D*(C-B)/B/1000);
return this.formatTimeLeft(E)
},handleDialogStart:function(){if(this.pendingFiles>0){this.flash.cancelUpload();
this.pendingFiles=0
}},handleQueueSuccess:function(B){},handleQueueError:function(B,D,C){C=B.name+": "+C;
switch(D){case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:C+=" ("+this.sizeLimit+" MB)";
break;
case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:C+=" ("+this.fileLimit+")";
break
}this.notify(C,CQ.form.SmartFile.STATUS_ERROR)
},handleDialogComplete:function(){if(this.name){this.flash.setFilePostName(this.name)
}this.flash.startUpload()
},handleUploadStart:function(B){this.hasUploadErrors=false;
this.startTime=new Date().valueOf();
this.switchToUploadProgress();
return true
},handleUploadProgress:function(B,F,E){var D=Math.round(100*F/E);
var C=CQ.utils.I18n.getMessage("{0} of {1} - {2}",[this.formatFileSize(F),this.formatFileSize(E),this.estimateTimeLeft(F,E)]);
this.progressBar.updateProgress(D/100,C)
},handleUploadSuccess:function(D,C){var B=false;
var H=this.fileInfo;
C=CQ.utils.HTTP.buildPostResponseFromHTML(C);
if(CQ.utils.HTTP.isOk(C)){try{var G=C.headers[CQ.utils.HTTP.HEADER_PATH];
if(this.name=="./*"){G=G+"/"+D.name
}else{G=G+"/"+this.name
}try{this.fileInfo=this.resolveReference(G,this.dataPath);
this.fileInfo.fileName=D.name
}catch(F){this.fileInfo={fileName:D.name,dataPath:G,url:CQ.Util.externalize(G),size:D.size}
}this.isUploaded=true;
B=(this.onUploaded()!==false);
if(this.transferFileName&&this.fileNameField){this.fileNameField.setValue(this.fileInfo.fileName)
}else{this.fileNameField.setValue("")
}this.validateOnStateChange()
}catch(F){CQ.Log.error("CQ.form.SmartFile#handleUploadSuccess: "+F.message)
}}else{CQ.Log.error("CQ.form.SmartFile#handleUploadSuccess: response not ok")
}var E;
if(!B){this.fileInfo=H;
this.hasUploadErrors=true;
E=CQ.utils.I18n.getMessage("Error uploading '{0}'",[D.name]);
this.notify(E,CQ.form.SmartFile.STATUS_ERROR)
}},handleUploadError:function(B,D,C){this.hasUploadErrors=true;
C=CQ.utils.I18n.getMessage("Failed to upload '{0}': {1}",[B.name,C]);
this.notify(C,CQ.form.SmartFile.STATUS_ERROR);
if(D!=SWFUpload.UPLOAD_ERROR.FILE_CANCELLED){}},handleUploadComplete:function(){this.startTime=0;
this.pendingFiles=0
},initFlash:function(B){this.flashReady=false;
this.queuedFlashCommands=null;
var C=new Object();
C[CQ.utils.Sling.STATUS]=CQ.utils.Sling.STATUS_BROWSER;
this.flash=new SWFUpload({upload_url:CQ.utils.Util.externalize(this.uploadUrl),file_post_name:this.name,flash_url:CQ.utils.Util.externalize(this.resourcePath)+"/swfupload_f9.swf",file_size_limit:this.correctFileSize(this.sizeLimit),file_upload_limit:this.fileLimit,file_queue_limit:this.fileLimit,file_types:this.mimeTypes,file_types_description:this.mimeTypesDescription,post_params:C,button_placeholder_id:(B.dom?B.dom.id:B.id),button_width:this.uploadPanel.el.getWidth(),button_height:this.uploadPanel.el.getHeight(),debug:false,use_query_string:false,swfupload_loaded_handler:function(){this.processFlashCommandQueue();
this.flashReady=true
}.createDelegate(this),file_dialog_start_handler:this.handleDialogStart.createDelegate(this),file_dialog_complete_handler:this.handleDialogComplete.createDelegate(this),file_queued_handler:this.handleQueueSuccess.createDelegate(this),file_queue_error_handler:this.handleQueueError.createDelegate(this),upload_start_handler:this.handleUploadStart.createDelegate(this),upload_progress_handler:this.handleUploadProgress.createDelegate(this),upload_error_handler:this.handleUploadError.createDelegate(this),upload_success_handler:this.handleUploadSuccess.createDelegate(this),upload_complete_handler:this.handleUploadComplete.createDelegate(this),debug_handler:function(E){E=E.split("\n");
for(var D in E){}}})
},executeFlashCommand:function(C,B){if(this.flashReady){try{C.apply(this.flash,B)
}catch(D){this.tryDeferredFlashCommand(C,B)
}}else{if(!this.queuedFlashCommands){this.queuedFlashCommands=[]
}this.queuedFlashCommands.push({fn:C,args:B})
}},tryDeferredFlashCommand:function(C,B){if(!this.queuedFlashCommands){this.queuedFlashCommands=[]
}this.queuedFlashCommands.push({fn:C,args:B});
if(this.intervalId==null){this.intervalId=window.setInterval(function(){this.processFlashCommandQueue();
if(!this.queuedFlashCommands||(this.queuedFlashCommands.length==0)){window.clearInterval(this.intervalId);
this.intervalId=null
}}.createDelegate(this),50)
}},processFlashCommandQueue:function(){if(this.queuedFlashCommands){var B=false;
while((this.queuedFlashCommands.length>0)&&(!B)){var C=this.queuedFlashCommands[0];
try{C.fn.apply(this.flash,C.args);
this.queuedFlashCommands.splice(0,1)
}catch(D){B=true
}}}},notify:function(C,B){CQ.Ext.Msg.alert(CQ.utils.I18n.getMessage("Upload"),C)
}});
CQ.form.SmartFile.RESOURCE_PATH="/libs/cq/widgets/resources/swfupload";
CQ.form.SmartFile.PARAM_FILENAME_SUFFIX="Name";
CQ.form.SmartFile.PARAM_REFERENCE_SUFFIX="Reference";
CQ.form.SmartFile.DAM_RENDITION_SUFFIX="/_jcr_content/renditions/original";
CQ.form.SmartFile.STATUS_SUCCESS=0;
CQ.form.SmartFile.STATUS_ERROR=1;
CQ.form.SmartFile.STATUS_SUBMISSION=2;
CQ.Ext.reg("smartfile",CQ.form.SmartFile);
CQ.form.SmartFile.FileInfoDisplay=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){B=B||{};
var C={hideBorders:true,border:false,basicPadding:5,afterRender:function(){CQ.form.SmartFile.FileInfoDisplay.superclass.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY)
}};
CQ.Util.applyDefaults(B,C);
CQ.form.SmartFile.FileInfoDisplay.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.SmartFile.FileInfoDisplay.superclass.initComponent.call(this);
this.iconPanel=new CQ.Ext.Panel({hideBorders:true,border:false,html:"&nbsp;",fixedWidth:CQ.themes.SmartFile.ICON_COLUMN_WIDTH});
this.basicPanel=new CQ.Ext.Panel({hideBorders:true,border:false,autoHeight:false});
if(this.fileNameField){this.basicPanel.add(this.fileNameField)
}else{this.fileNameDisplay=new CQ.Ext.Panel({hideBorders:true,border:false,cls:"x-form-field",html:"&nbsp;"});
this.basicPanel.add(this.fileNameDisplay)
}this.fileInfoDisplay=new CQ.Ext.Panel({hideBorders:true,border:false,html:"&nbsp;"});
this.basicPanel.add(this.fileInfoDisplay);
this.buttonsPanel=new CQ.Ext.Panel({hideBorders:true,border:false,autoHeight:false,fixedWidth:CQ.themes.SmartFile.BUTTONS_COLUMN_WIDTH});
this.flushButton=new CQ.Ext.Button({text:"Flush",minWidth:CQ.themes.SmartFile.BUTTONS_COLUMN_WIDTH,listeners:{click:{fn:this.parentComponent.flushFile,scope:this.parentComponent}}});
this.buttonsPanel.add(this.flushButton)
},onRender:function(B,C){CQ.form.SmartFile.FileInfoDisplay.superclass.onRender.call(this,B,C);
this.iconPanel.render(this.body);
this.iconPanel.getEl().setStyle("position","absolute");
this.iconPanel.getEl().setStyle("top","0px");
this.iconPanel.getEl().setStyle("left","0px");
this.iconPanel.setWidth(this.iconPanel.fixedWidth);
this.basicPanel.render(this.body);
this.basicPanel.getEl().setStyle("position","absolute");
this.basicPanel.getEl().setStyle("top","0px");
this.basicPanel.getEl().setStyle("left",this.iconPanel.fixedWidth+"px");
this.buttonsPanel.render(this.body);
this.buttonsPanel.setWidth(this.buttonsPanel.fixedWidth);
this.buttonsPanel.getEl().setStyle("position","absolute");
this.buttonsPanel.getEl().setStyle("top","0px")
},onResize:function(D,B){CQ.form.SmartFile.FileInfoDisplay.superclass.onResize.call(this,D,B);
if(typeof D=="object"){B=D.height;
D=D.width
}var C=D-this.iconPanel.fixedWidth-this.buttonsPanel.fixedWidth-this.basicPadding;
this.basicPanel.setWidth(C);
if(this.fileNameField){this.fileNameField.setWidth(C)
}this.buttonsPanel.getEl().setStyle("left",(D-this.buttonsPanel.fixedWidth)+"px")
},updateContent:function(D,B,C){this.iconPanel.body.dom.innerHTML='<img src="'+C+'" border="0" alt="">';
if(this.fileNameField){this.fileNameField.setValue(D)
}else{if(D){this.fileNameDisplay.body.dom.innerHTML=D
}else{this.fileNameDisplay.body.dom.innerHTML="???"
}}this.fileInfoDisplay.body.dom.innerHTML=B
},markInvalid:function(B){if(this.rendered){this.body.addClass(B);
this.iconPanel.body.addClass(B);
this.fileInfoDisplay.body.addClass(B);
this.basicPanel.body.addClass(B);
this.buttonsPanel.body.addClass(B)
}},clearInvalid:function(B){if(this.rendered){this.body.removeClass(B);
this.iconPanel.body.removeClass(B);
this.fileInfoDisplay.body.removeClass(B);
this.basicPanel.body.removeClass(B);
this.buttonsPanel.body.removeClass(B)
}}});
CQ.form.SmartImage=CQ.Ext.extend(CQ.form.SmartFile,{originalImage:null,processedImage:null,originalRefImage:null,processedRefImage:null,requestSuffix:null,imageToolDefs:null,mapParameter:null,cropParameter:null,rotateParameter:null,disableFlush:null,disableZoom:null,toolComponents:null,pathProvider:null,hideMainToolbar:false,imagesPending:0,constructor:function(C){C=C||{};
var E={mimeTypes:"*.jpg;*.jpeg;*.gif;*.png",mimeTypesDescription:CQ.I18n.getMessage("Images"),ddAccept:"image/",uploadPanelCls:null,removeUploadPanelClsOnProgress:false,allowFileNameEditing:false,transferFileName:false,uploadIconCls:"cq-image-placeholder",uploadTextReference:CQ.I18n.getMessage("Drop an image"),uploadText:CQ.I18n.getMessage("Drop an image or click to upload"),height:"auto",anchor:null,pathProvider:CQ.form.SmartImage.defaultPathProvider,hideMainToolbar:false};
this.imageToolDefs=[];
if(C.mapParameter){this.imageToolDefs.push(new CQ.form.ImageMap(C.mapParameter));
delete C.mapParameter
}if(C.cropParameter){this.imageToolDefs.push(new CQ.form.ImageCrop(C.cropParameter));
delete C.cropParameter
}if(C.rotateParameter){this.imageToolDefs.push(new CQ.form.SmartImage.Tool.Rotate(C.rotateParameter));
delete C.rotateParameter
}CQ.Util.applyDefaults(C,E);
CQ.form.SmartImage.superclass.constructor.call(this,C);
var B=this.imageToolDefs.length;
for(var D=0;
D<B;
D++){this.imageToolDefs[D].initialize(C)
}},initComponent:function(){CQ.form.SmartImage.superclass.initComponent.call(this);
this.workingAreaContainer=new CQ.Ext.Panel({itemId:"workingArea",border:false,layout:"border"});
this.processingPanel.add(this.workingAreaContainer);
this.workingArea=new CQ.Ext.Panel({border:false,layout:"card",region:"center",activeItem:0,listeners:{beforeadd:function(D,E){if(D._width&&D._height&&E.notifyResize){E.notifyResize.call(E,this._width,this._height)
}},bodyresize:function(E,G,D){if(typeof G=="object"){D=G.height;
G=G.width
}if(G&&D){E._width=G;
E._height=D;
var I=E.items.getCount();
for(var F=0;
F<I;
F++){var H=E.items.get(F);
if(H.notifyResize){H.notifyResize.call(H,G,D)
}}}}},afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY)
}});
this.workingAreaContainer.add(this.workingArea);
this.imagePanel=new CQ.form.SmartImage.ImagePanel({itemId:"imageview",listeners:{"smartimage.zoomchange":{fn:function(D){if(this.zoomSlider){this.suspendEvents();
this.zoomSlider.setValue(D*10);
this.resumeEvents()
}},scope:this},"smartimage.defaultview":{fn:this.disableTools,scope:this}}});
this.workingArea.add(this.imagePanel);
if(this.topPanel){this.topPanel.region="north";
this.workingAreaContainer.add(this.topPanel)
}var B=this.imageToolDefs.length;
for(var C=0;
C<B;
C++){this.imageToolDefs[C].initComponent(this)
}},onRender:function(C,D){CQ.form.SmartImage.superclass.onRender.call(this,C,D);
var B=this.findParentByType("dialog");
B.on("hide",function(){this.hideTools();
this.imagePanel.ignoreRotation=false
},this)
},markInvalid:function(B){if(!this.rendered||this.preventMark){return 
}B=B||this.invalidText;
this.uploadPanel.body.addClass(this.invalidClass);
this.imagePanel.addCanvasClass(this.invalidClass);
this.uploadPanel.body.dom.qtip=B;
this.uploadPanel.body.dom.qclass="x-form-invalid-tip";
if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}this.fireEvent("invalid",this,B)
},clearInvalid:function(){if(!this.rendered||this.preventMark){return 
}this.uploadPanel.body.removeClass(this.invalidClass);
this.imagePanel.removeCanvasClass(this.invalidClass);
this.fireEvent("valid",this)
},postProcessRecord:function(C,G){this.dataRecord=C;
this.originalImage=null;
this.processedImage=null;
this.originalRefImage=null;
this.processedRefImage=null;
var F=null;
if(this.referencedFileInfo){this.originalRefImage=new CQ.form.SmartImage.Image({dataPath:this.referencedFileInfo.dataPath,url:this.referencedFileInfo.url});
this.notifyImageLoad(this.originalRefImage);
F=this.createProcessedImageConfig(this.referencedFileInfo.dataPath);
if(F){this.processedRefImage=new CQ.form.SmartImage.Image(F);
this.notifyImageLoad(this.processedRefImage)
}this.originalRefImage.load();
if(F){this.processedRefImage.load()
}}if(this.fileInfo){this.originalImage=new CQ.form.SmartImage.Image({dataPath:this.fileInfo.dataPath,url:this.fileInfo.url});
this.notifyImageLoad(this.originalImage);
F=this.createProcessedImageConfig(G);
if(F){this.processedImage=new CQ.form.SmartImage.Image(this.createProcessedImageConfig(G));
this.notifyImageLoad(this.processedImage)
}this.originalImage.load();
if(F){this.processedImage.load()
}}var B=this.imageToolDefs.length;
for(var E=0;
E<B;
E++){var D=this.imageToolDefs[E];
D.processRecord(C)
}},notifyImageLoad:function(B){if(!this.toolSelector.disabled){this.toolSelector.disable()
}this.imagesPending++;
B.addToolLoadHandler(function(){this.imagesPending--;
if(this.imagesPending==0){this.toolSelector.enable()
}}.createDelegate(this),true)
},createProcessedImageConfig:function(E){var F="";
if(E){var C=E.lastIndexOf(".");
var B=E.lastIndexOf("/");
if((C>0)&&(C>(B+1))){F=E.substring(C,E.length)
}}var D=this.pathProvider.call(this,this.dataPath,this.requestSuffix,F,this.dataRecord,this);
if(D==null){return null
}return{url:D}
},syncFormElements:function(){CQ.form.SmartImage.superclass.syncFormElements.call(this);
var B=this.imageToolDefs.length;
for(var C=0;
C<B;
C++){var D=this.imageToolDefs[C];
D.transferToField()
}},createProcessingPanel:function(){if(!this.hideMainToolbar){var B,D;
this.imageTools=[];
var C=[];
B=this.imageToolDefs.length;
for(D=0;
D<B;
D++){var E=this.imageToolDefs[D];
var F;
if(!E.isCommandTool){F=new CQ.Ext.Toolbar.Button({text:E.toolName,toolRef:E,iconCls:E.iconCls,actionHandler:this.toolClicked.createDelegate(this),enableToggle:true,toggleGroup:"imageTools",allowDepress:true,listeners:{click:function(){this.actionHandler(this.toolRef)
}}})
}else{F=new CQ.Ext.Toolbar.Button({text:E.toolName,toolRef:E,iconCls:E.iconCls,actionHandler:this.commandToolClicked.createDelegate(this),enableToggle:false,listeners:{click:function(){this.actionHandler(this.toolRef)
}}})
}E.buttonComponent=F;
this.imageTools.push(F);
E.createTransferField(this);
C.push(F)
}if(!this.disableFlush){C.push({xtype:"tbseparator"});
C.push({xtype:"tbbutton",text:CQ.I18n.getMessage("Clear"),iconCls:"cq-image-icon-clear",listeners:{click:{fn:this.flushImage,scope:this}}})
}C.push({xtype:"tbfill"});
if(!this.disableZoom){this.zoomSlider=new CQ.Ext.Slider({width:200,minValue:0,maxValue:90,vertical:false,listeners:{change:{fn:function(G,H){this.imagePanel.setZoom(H/10)
},scope:this}}});
C.push(this.zoomSlider)
}}this.toolSelector=new CQ.Ext.Toolbar(C);
this.toolSelector.disable();
return new CQ.Ext.Panel({itemId:"processing",layout:"fit",border:false,bbar:(!this.hideMainToolbar?this.toolSelector:null),afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY)
}})
},updateView:function(){var B=this.originalImage||this.originalRefImage||this.processedImage||this.processedRefImage;
this.updateViewBasics(B);
if(B){this.workingArea.getLayout().setActiveItem("imageview");
this.resetTools();
this.resetZoomSlider()
}this.doLayout();
if(this.processedRefImage){this.imagePanel.updateImage(this.processedRefImage)
}else{if(this.originalRefImage){this.imagePanel.updateImage(this.originalRefImage)
}else{if(this.processedImage){this.imagePanel.updateImage(this.processedImage)
}else{if(this.originalImage){this.imagePanel.updateImage(this.originalImage)
}}}}},resetTools:function(){if(!this.hideMainToolbar){var B=this.imageTools.length;
for(var D=0;
D<B;
D++){var C=this.imageTools[D];
if(C.enableToggle){C.toggle(false)
}}}this.imagePanel.hideAllShapeSets(false)
},resetZoomSlider:function(){if(this.zoomSlider){this.zoomSlider.suspendEvents();
this.zoomSlider.setValue(0);
this.zoomSlider.resumeEvents()
}},getImagePanel:function(){return this.imagePanel
},onUploaded:function(){this.originalImage=new CQ.form.SmartImage.Image(this.fileInfo);
this.originalImage.loadHandler=function(){var B=this.imageToolDefs.length;
for(var C=0;
C<B;
C++){this.imageToolDefs[C].onImageUploaded(this.originalImage)
}this.syncFormElements();
this.updateView()
}.createDelegate(this);
this.notifyImageLoad(this.originalImage);
this.originalImage.load();
this.processedImage=null;
return true
},toolClicked:function(F){var D;
var I=F.buttonComponent;
if(I.pressed){var H=false;
if(this.toolComponents==null){this.toolComponents={}
}if(!this.toolComponents[F.toolId]){this.toolComponents[F.toolId]={isVisible:false,toolRef:F};
H=true
}var E=this.toolComponents[F.toolId];
D=this.hideTools(F.toolId);
if(F.userInterface&&(!F.userInterface.rendered)){F.userInterface.render(CQ.Util.getRoot())
}if(D){D.onDeactivation()
}if(F.userInterface){F.userInterface.show();
E.isVisible=true;
if(!(F.userInterface.saveX&&F.userInterface.saveY)){var J=F.userInterface.getSize().height;
var G=this.getPosition();
var C=G[0];
var B=G[1]-(J+4);
if(C<0){C=0
}if(B<0){B=0
}F.userInterface.setPosition(C,B)
}else{F.userInterface.setPosition(F.userInterface.saveX,F.userInterface.saveY)
}}F.onActivation()
}else{D=this.hideTools();
if(D){D.onDeactivation()
}this.imagePanel.drawImage()
}},commandToolClicked:function(B){B.onCommand()
},hideTools:function(D){if(!this.hideMainToolbar){var E;
for(var C in this.toolComponents){var B=this.toolComponents[C];
if(C!=D){if(B.isVisible){B.toolRef.userInterface.hide();
B.isVisible=false;
E=B.toolRef
}}}}return E
},disableTools:function(){if(!this.hideMainToolbar){var E=this.hideTools();
if(E){E.onDeactivation()
}var B=this.imageTools.length;
for(var C=0;
C<B;
C++){var D=this.imageTools[C];
if(D.pressed){D.suspendEvents();
D.toggle(false);
D.resumeEvents()
}}}},flushImage:function(B){this.flush();
this.processedRefImage=null;
this.processedImage=null;
if(this.originalRefImage){this.originalRefImage=null
}else{if(this.originalImage){this.originalImage=null
}}if(B!==true){this.syncFormElements();
this.notifyToolsOnFlush();
this.hideTools();
this.updateView()
}},notifyToolsOnFlush:function(){var B=this.imageToolDefs.length;
for(var C=0;
C<B;
C++){this.imageToolDefs[C].onImageFlushed()
}},getSuitableImage:function(B){var C;
if(this.processedRefImage&&!B){C=this.processedRefImage
}else{if(this.originalRefImage){C=this.originalRefImage
}else{if(this.processedImage&&!B){C=this.processedImage
}else{if(this.originalImage){C=this.originalImage
}}}}return C
},handleDrop:function(B){if(this.handleDropBasics(B)){this.originalRefImage=new CQ.form.SmartImage.Image(this.referencedFileInfo);
this.originalRefImage.loadHandler=function(){this.hideTools();
var C=this.imageToolDefs.length;
for(var D=0;
D<C;
D++){this.imageToolDefs[D].onImageUploaded(this.originalRefImage)
}this.syncFormElements();
this.updateView()
}.createDelegate(this);
this.processedRefImage=null;
this.notifyImageLoad(this.originalRefImage);
this.originalRefImage.load();
return true
}return false
}});
CQ.form.SmartImage.defaultPathProvider=function(D,C,E,B){if(!C){return null
}return CQ.Util.externalize(D+C)
};
CQ.Ext.reg("smartimage",CQ.form.SmartImage);
CQ.form.SmartImage.Image=CQ.Ext.extend(CQ.Ext.emptyFn,{dataPath:null,url:null,image:null,width:null,height:null,isLoaded:false,loadHandler:null,constructor:function(B){this.url=B.url;
this.dataPath=B.dataPath;
this.isLoaded=false;
this.loadHandler=B.loadHandler;
this.toolLoadHandlers=[]
},load:function(){this.image=new Image();
CQ.Ext.EventManager.on(this.image,"load",function(){this.width=this.image.width;
this.height=this.image.height;
this.isLoaded=true;
if(this.loadHandler){this.loadHandler(this)
}var D=this.toolLoadHandlers.length;
for(var C=D-1;
C>=0;
C--){var B=this.toolLoadHandlers[C];
B.fn(this);
if(B.runOnce){this.toolLoadHandlers.splice(C,1)
}}},this,{single:true});
if(CQ.Ext.isIE){this.image.galleryimg=false
}this.image.src=CQ.utils.HTTP.noCaching(this.url)
},addToolLoadHandler:function(D,B){var C={fn:D,runOnce:B};
this.toolLoadHandlers.push(C)
}});
CQ.form.SmartImage.ImagePanel=CQ.Ext.extend(CQ.Ext.Panel,{isInitialized:false,backgroundColor:null,imageToDisplay:null,zoom:0,rotation:0,ignoreRotation:false,basicSize:null,workingAreaSize:null,originalImageSize:null,basicImageSize:null,zoomedImageSize:null,centerPoint:null,internalOffset:null,internalPadding:null,positioningContainer:null,scollerDiv:null,spacerImage:null,canvasDiv:null,imageCanvas:null,imageOffsets:null,shapeSets:null,shapeDefs:null,rolledOverShapes:null,selectedShapes:null,scheduledDragShapes:null,tolerance:0,canvasClass:null,zoomedTolerance:0,isRollOverHandlingBlocked:false,doc:null,temporaryHandlers:null,constructor:function(B){if(!B){B={}
}var C={backgroundColor:CQ.themes.SmartImage.BACKGROUND_COLOR,canvasClass:CQ.themes.SmartImage.CANVAS_CLASS,border:false,layout:"fit",zoom:0,tolerance:3,internalPadding:{width:8,height:8}};
this.addEvents(CQ.form.SmartImage.ImagePanel.EVENT_ZOOM_CHANGE,CQ.form.SmartImage.ImagePanel.EVENT_ADD_REQUEST,CQ.form.SmartImage.ImagePanel.EVENT_CUSTOM,CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER,CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE,CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,CQ.form.SmartImage.ImagePanel.EVENT_DEFAULT_VIEW);
CQ.Util.applyDefaults(B,C);
CQ.form.SmartImage.ImagePanel.superclass.constructor.call(this,B);
this.shapeSets={};
this.rolledOverShapes=[];
this.selectedShapes=[];
this.scheduledDragShapes=[];
this.internalOffset={x:0,y:0}
},onRender:function(B,C){CQ.form.SmartImage.ImagePanel.superclass.onRender.call(this,B,C);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.positioningContainer=document.createElement("div");
this.positioningContainer.style.position="relative";
this.positioningContainer.style.top="0";
this.positioningContainer.style.left="0";
this.body.dom.appendChild(this.positioningContainer);
this.canvasDiv=document.createElement("div");
this.canvasDiv.style.position="absolute";
this.canvasDiv.style.top="0";
this.canvasDiv.style.left="0";
this.positioningContainer.appendChild(this.canvasDiv);
this.scrollerDiv=document.createElement("div");
this.scrollerDiv.style.position="absolute";
this.scrollerDiv.style.top="0";
this.scrollerDiv.style.left="0";
this.scrollerDiv.style.overflow="scroll";
this.scrollerDiv.onscroll=function(){this.handleScroll()
}.createDelegate(this);
this.positioningContainer.appendChild(this.scrollerDiv);
this.spacerImage=document.createElement("img");
this.spacerImage.src=CQ.Ext.BLANK_IMAGE_URL;
this.scrollerDiv.appendChild(this.spacerImage);
this.spacerImage.style.display="block";
if(CQ.Ext.isIE){this.spacerImage.galleryimg=false
}this.imageCanvas=this.createCanvas(this.canvasDiv,1,1);
this.doc=CQ.Ext.get(document);
if(this.canvasClass){CQ.Ext.get(this.imageCanvas).addClass(this.canvasClass)
}if(this.backgroundColor!=null){this.imageCanvas.style.backgroundColor=this.backgroundColor
}CQ.Ext.EventManager.on(this.spacerImage,"mousemove",this.onMouseMove,this);
CQ.Ext.EventManager.on(this.spacerImage,"mousedown",this.onMouseDown,this);
CQ.Ext.EventManager.on(this.spacerImage,"mouseup",this.onMouseUp,this);
CQ.Ext.EventManager.on(this.spacerImage,"mouseout",this.onComponentLeave,this)
},addCanvasClass:function(B){CQ.Ext.get(this.imageCanvas).addClass(B)
},removeCanvasClass:function(B){CQ.Ext.get(this.imageCanvas).removeClass(B)
},updateImage:function(C){this.imageToDisplay=C;
if(this.rendered){if(this.imageToDisplay.isLoaded){this.handleImageLoaded()
}else{var B=this.imageToDisplay.loadHandler;
this.imageToDisplay.loadHandler=function(){this.handleImageLoaded();
if(B){B(this.imageToDisplay)
}}.createDelegate(this)
}}},switchToDefaultView:function(){this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_DEFAULT_VIEW);
this.setZoom(0);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_ZOOM_CHANGE,0)
},notifyResize:function(C,B){this.body.setSize(C,B);
this.calculateBasicSize();
this.propagateWorkingArea(this.notifyResizeAsync.createDelegate(this))
},notifyResizeAsync:function(){if(CQ.Ext.isIE&&this.shapeDefs){var C=this.shapeDefs.length;
for(var B=0;
B<C;
B++){var D=this.shapeDefs[B];
this.setCanvasSize(D.canvas,this.workingAreaSize)
}}if(this.imageToDisplay&&this.imageToDisplay.isLoaded){this.calculateBasicImageSize();
this.calculateZoomedImageSize();
this.adjustSpacerImage();
this.propagateImage()
}this.isInitialized=true
},onMouseMove:function(E){if(!this.zoomedImageSize){return 
}var F=false;
var D=this.calculateTransformedCoords(E);
if(this.deferredDragShapes!=null){F=true;
if(D.isVirtual){return 
}var H=this.calculateDistance(this.draggingBaseCoords.unzoomedUnclipped,D.unzoomedUnclipped);
if(H>=this.zoomedTolerance){this.directDragShapes=this.deferredDragShapes;
this.fireDragStart(this.draggingBaseCoords);
this.deferredDragShapes=null
}}if(this.directDragShapes!=null){var B=D.unzoomedUnclipped;
var G=B.x-this.draggingBaseCoords.unzoomed.x;
var C=B.y-this.draggingBaseCoords.unzoomed.y;
this.fireMove(G,C,D);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE,this.directDragShapes,false)
}else{if(!F&&!this.isRollOverHandlingBlocked){this.executeFnOnShapes(function(I){var J=(this.rolledOverShapes.indexOf(I)>=0);
var K=I.isTouched(D,this.zoomedTolerance);
if(K!=J){if(K){this.addShapeToRollovers(I,D)
}else{this.removeShapeFromRollovers(I,D)
}}else{if(K){if(I.onRolledOver(D)){this.drawImage()
}}}}.createDelegate(this),true);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER,this.rolledOverShapes)
}}if(!CQ.Ext.isIE){E.stopPropagation()
}else{return false
}},onComponentLeave:function(){if(this.directDragShapes==null){var B=false;
var D=this.rolledOverShapes.length;
for(var C=0;
C<D;
C++){var E=this.rolledOverShapes[C];
if(E.onRollOut()){B=true
}}this.rolledOverShapes.length=0;
if(B){this.drawImage()
}this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER,[])
}},onMouseDown:function(B){if(!this.zoomedImageSize){return 
}var I=this.calculateTransformedCoords(B);
this.scheduledDragShapes.length=0;
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_ADD_REQUEST,I);
var G=this.scheduledDragShapes.length;
if((this.rolledOverShapes.length>0)||(G>0)){var F=[];
var C=[];
var H=this.rolledOverShapes.length;
for(var K=0;
K<H;
K++){var D=this.rolledOverShapes[K];
if(D.isDirectlyDraggable(I,this.zoomedTolerance)){F.push(D)
}else{if(D.isDeferredDraggable(I,this.zoomedTolerance)){C.push(D)
}}}for(var J=0;
J<G;
J++){var E=this.scheduledDragShapes[J];
E.onAddForDrag(I);
F.push(E)
}if(F.length>0){this.directDragShapes=F;
this.deferredDragShapes=null;
this.draggingBaseCoords=I;
this.fireDragStart(I);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE,this.directDragShapes,false)
}else{if(C.length>0){this.directDragShapes=null;
this.deferredDragShapes=C;
this.draggingBaseCoords=I
}else{this.directDragShapes=null;
this.deferredDragShapes=null;
this.draggingBaseCoords=null
}}}this.addTemporaryHandler(this.doc,"mousemove",this.onMouseMove,this);
if(CQ.Ext.isGecko){this.addTemporaryHandler(this.doc,"mouseup",this.onMouseUp,this)
}},onMouseUp:function(E){if(!this.zoomedImageSize){return 
}var F=this.calculateTransformedCoords(E);
var D=F.unzoomedUnclipped;
var C=false;
if((this.directDragShapes!=null)||(this.deferredDragShapes!=null)){if(this.directDragShapes!=null){C=true;
var G=D.x-this.draggingBaseCoords.unzoomedUnclipped.x;
var B=D.y-this.draggingBaseCoords.unzoomedUnclipped.y;
this.fireMove(G,B,F);
this.fireDragEnd(F);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE,this.directDragShapes,true);
this.directDragShapes=null
}this.deferredDragShapes=null;
this.draggingBaseCoords=null
}if(!C){this.selectRollovers()
}else{this.onMouseMove(E)
}if(!CQ.Ext.isIE){E.stopPropagation()
}this.removeTemporaryHandlers()
},fireMove:function(H,C,F){var G=false;
var E=this.directDragShapes.length;
for(var B=0;
B<E;
B++){var D=this.directDragShapes[B];
if(D.moveShapeBy(H,C,F)){G=true
}}if(G){this.drawImage()
}},fireDragStart:function(E){var F=false;
var D=this.directDragShapes.length;
for(var B=0;
B<D;
B++){var C=this.directDragShapes[B];
if(C.onDragStart(E,this.zoomedTolerance)){F=true
}}if(F){this.drawImage()
}},fireDragEnd:function(E){var F=false;
var D=this.directDragShapes.length;
for(var B=0;
B<D;
B++){var C=this.directDragShapes[B];
if(C.onDragEnd(E,this.zoomedTolerance)){F=true
}}if(F){this.drawImage()
}},addTemporaryHandler:function(F,C,E,D){if(this.temporaryHandlers==null){this.temporaryHandlers=[]
}var B={el:F,handlerName:C,fn:E,scope:D};
this.temporaryHandlers.push(B);
F.on(C,E,D)
},removeTemporaryHandlers:function(){if(this.temporaryHandlers!=null){var C=this.temporaryHandlers.length;
for(var D=0;
D<C;
D++){var B=this.temporaryHandlers[D];
B.el.un(B.handlerName,B.fn,B.scope)
}this.temporaryHandlers=null
}},blockRollOver:function(){this.isRollOverHandlingBlocked=true;
var B=this.rolledOverShapes.length;
for(var C=B-1;
C>=0;
C--){this.removeShapeFromRollovers(this.rolledOverShapes[C])
}this.drawImage();
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER,this.rolledOverShapes)
},unblockRollOver:function(){this.isRollOverHandlingBlocked=false
},addShapeToRollovers:function(B,C){this.rolledOverShapes.push(B);
if(B.onRollOver(C)){this.drawImage()
}},removeShapeFromRollovers:function(B,E,D){var C=this.rolledOverShapes.indexOf(B);
if(C>=0){this.rolledOverShapes.splice(C,1);
if(B.onRollOut(E)&&!D){this.drawImage()
}}},getRolledOverShapes:function(){var B=[];
var D=this.rolledOverShapes.length;
for(var C=0;
C<D;
C++){B.push(this.rolledOverShapes[C])
}return B
},selectRollovers:function(){var G=false;
var D=false;
var E;
var C=this.selectedShapes.length;
for(E=0;
E<C;
E++){var H=this.selectedShapes[E];
if(this.rolledOverShapes.indexOf(H)<0){G=true;
if(H.onUnSelect()){D=true
}}}var B=[];
var I=this.rolledOverShapes.length;
for(E=0;
E<I;
E++){G=true;
var F=this.rolledOverShapes[E];
B.push(F);
if(this.selectedShapes.indexOf(F)<0){if(F.onSelect()){D=true
}}if(F.onClick()){D=true
}}this.selectedShapes=B;
if(D){this.drawImage()
}CQ.Log.debug("Firing selection change event.");
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,B);
return G
},clearSelection:function(){var C=false;
var B=this.selectedShapes.length;
for(var D=0;
D<B;
D++){var F=this.selectedShapes[D];
if(F.onUnSelect()){C=true
}}var E=this.selectedShapes;
this.selectedShapes=[];
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,this.selectedShapes);
return E
},deleteSelectedShapes:function(){var C=this.selectedShapes.length;
if(C>0){for(var B=0;
B<C;
B++){var E=this.selectedShapes[B];
var D=this.getSuitableShapeSet(E);
D.removeShape(E)
}this.drawImage();
this.selectedShapes.length=0;
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,this.selectedShapes)
}},getSelectedShapes:function(){var D=[];
var C=this.selectedShapes.length;
for(var B=0;
B<C;
B++){D.push(this.selectedShapes[B])
}return D
},selectShape:function(F,G){if(G===true){var C=this.selectedShapes.length;
for(var B=0;
B<C;
B++){var E=this.selectedShapes[B];
var D=this.getSuitableShapeSet(E);
D.removeShape(E)
}this.selectedShapes.length=0
}F.onSelect();
this.selectedShapes.push(F);
this.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,this.selectedShapes)
},getTolerance:function(){return this.zoomedTolerance
},calculateBasicSize:function(){this.basicSize={width:this.body.dom.clientWidth,height:this.body.dom.clientHeight}
},calculateWorkingAreaSize:function(){this.workingAreaSize={width:this.scrollerDiv.clientWidth,height:this.scrollerDiv.clientHeight}
},calculateOriginalImageSize:function(){this.originalImageSize={width:this.imageToDisplay.width,height:this.imageToDisplay.height,ratio:(this.imageToDisplay.width/this.imageToDisplay.height)}
},calculateZoom:function(B,C){if(C.width!==undefined){return{width:Math.round((B+1)*C.width),height:Math.round((B+1)*C.height)}
}else{if(C.x!==undefined){return{x:Math.round((B+1)*C.x),y:Math.round((B+1)*C.y)}
}}return null
},calculateAbsoluteZoom:function(){return((this.zoom+1)*this.basicImageSize.baseZoom)-1
},calculateInverseZoom:function(C,B){if(B.width!==undefined){return{width:Math.round(B.width/(C+1)),height:Math.round(B.height/(C+1))}
}else{if(B.x!==undefined){return{x:Math.round(B.x/(C+1)),y:Math.round(B.y/(C+1))}
}}return null
},calculateBasicImageSizeForAngle:function(E){while(E<0){E+=360
}E=E%360;
var C=this.originalImageSize.width;
var J=this.originalImageSize.height;
var G=this.originalImageSize.ratio;
if((E==90)||(E==270)){var I=C;
C=J;
J=I;
G=1/G
}var B=C;
var K=C+(this.internalPadding.width*2);
var D=J+(this.internalPadding.height*2);
var F=this.workingAreaSize.width;
var H=this.workingAreaSize.height;
if(K>F){K=F;
C=K-this.internalPadding.width*2;
J=Math.round(C/G);
D=J+this.internalPadding.height*2
}if(D>H){D=H;
J=D-this.internalPadding.height*2;
C=Math.round(J*G);
K=C+this.internalPadding.width*2
}if(C<1){C=1
}if(J<1){J=1
}return{width:C,height:J,displayWidth:K,displayHeight:D,baseZoom:(C/B)}
},calculateBasicImageSize:function(){this.basicImageSize=this.calculateBasicImageSizeForAngle(this.getActualRotation())
},calculateZoomedImageSize:function(){this.zoomedImageSize=this.calculateZoom(this.zoom,this.basicImageSize);
this.zoomedTolerance=this.tolerance/(this.calculateAbsoluteZoom()+1);
this.zoomedImageSize.displayWidth=this.zoomedImageSize.width+(this.internalPadding.width*2);
this.zoomedImageSize.displayHeight=this.zoomedImageSize.height+(this.internalPadding.height*2)
},precalculateRotatedSize:function(D){var B=this.calculateBasicImageSizeForAngle(D);
var C=this.calculateZoom(this.zoom,B);
C.displayWidth=C.width+(this.internalPadding.width*2);
C.displayHeight=C.height+(this.internalPadding.height*2);
return C
},calculateSpacerSize:function(){var C=this.workingAreaSize.width;
var B=this.workingAreaSize.height;
if(this.zoomedImageSize){if(this.zoomedImageSize.displayWidth>C){C=this.zoomedImageSize.displayWidth
}if(this.zoomedImageSize.height>B){B=this.zoomedImageSize.displayHeight
}}return{width:C,height:B}
},calculateTransformedCoords:function(D){var K=this.calcCompFromMouseCoords(D);
if(this.imageOffsets){K.x-=this.imageOffsets.x;
K.y-=this.imageOffsets.y
}var C=this.zoomedImageSize.width;
var B=this.zoomedImageSize.height;
K.isVirtual=(K.x<0)||(K.x>=C)||(K.y<0)||(K.y>=B);
var H=this.calculateAbsoluteZoom();
var J=this.calculateInverseZoom(H,K);
var E=this.getActualRotation();
var I=(E==90)||(E==270);
J.zoom=this.zoom;
J.absoluteZoom=H;
J.imageSize=this.originalImageSize;
J.rotatedImageSize={width:(I?this.originalImageSize.height:this.originalImageSize.width),height:(I?this.originalImageSize.width:this.originalImageSize.height)};
var G={x:J.x,y:J.y,zoom:J.zoom,absoluteZoom:J.absoluteZoom,imageSize:J.imageSize,rotatedImageSize:J.rotatedImageSize};
if(J.x<0){J.x=0
}if(J.y<0){J.y=0
}if(I){if(J.y>=this.originalImageSize.width){J.y=this.originalImageSize.width-1
}if(J.x>=this.originalImageSize.height){J.x=this.originalImageSize.height-1
}}else{if(J.x>=this.originalImageSize.width){J.x=this.originalImageSize.width-1
}if(J.y>=this.originalImageSize.height){J.y=this.originalImageSize.height-1
}}var F;
switch(E){case 0:F={x:J.x,y:J.y};
break;
case 90:F={x:J.y,y:this.originalImageSize.height-J.x};
break;
case 180:F={x:this.originalImageSize.width-J.x,y:this.originalImageSize.height-J.y};
break;
case 270:F={x:this.originalImageSize.width-J.y,y:J.x};
break
}return{screen:K,unzoomed:J,unzoomedUnclipped:G,unrotated:F}
},calcCompFromMouseCoords:function(D){var B=new Object();
var E=CQ.Ext.get(this.canvasDiv).getXY();
var C={hOffset:E[0],vOffset:E[1]};
B.x=D.getPageX();
B.y=D.getPageY();
B.x-=C.hOffset;
B.y-=C.vOffset;
B.x+=this.scrollerDiv.scrollLeft;
B.y+=this.scrollerDiv.scrollTop;
D.preventDefault();
if(this.scrollerDiv.clientWidth<this.scrollerDiv.scrollWidth){B.x-=this.internalPadding.width
}if(this.scrollerDiv.clientHeight<this.scrollerDiv.scrollHeight){B.y-=this.internalPadding.height
}return B
},propagateImage:function(){this.blockRedraw=true;
this.calculateInternalOffset();
var G=this.workingAreaSize.width;
var D=this.workingAreaSize.height;
var F=this.zoomedImageSize.displayWidth;
var B=this.zoomedImageSize.displayHeight;
if((this.internalOffset.x+G)>F){this.internalOffset.x=F-G
}if((this.internalOffset.y+D)>B){this.internalOffset.y=B-D
}if(this.internalOffset.x<0){this.internalOffset.x=0
}else{if(this.internalOffset.y<0){this.internalOffset.y=0
}}var E=(this.internalOffset.x!=this.scrollerDiv.scrollLeft);
var C=(this.internalOffset.y!=this.scrollerDiv.scrollTop);
if(C){this.scrollerDiv.scrollTop=this.internalOffset.y
}if(E){this.scrollerDiv.scrollLeft=this.internalOffset.x
}this.drawImage();
this.blockRedraw=false
},propagateWorkingArea:function(C){this.setCSSSize(this.positioningContainer,this.basicSize);
this.setCSSSize(this.scrollerDiv,this.basicSize);
var B=this.propagateWorkingAreaAsync.createDelegate(this,[C]);
B.defer(1)
},propagateWorkingAreaAsync:function(B){this.calculateWorkingAreaSize();
this.adjustSpacerImage();
this.setCanvasSize(this.imageCanvas,this.workingAreaSize);
if(B){B()
}},setZoom:function(B){this.calculateCenterPoint();
this.zoom=B;
this.calculateZoomedImageSize();
this.adjustSpacerImage();
this.propagateImage()
},calculateCenterPoint:function(){var G=this.workingAreaSize.width;
var B=this.workingAreaSize.height;
var F=this.scrollerDiv.scrollLeft;
var E=this.scrollerDiv.scrollTop;
var C={x:F+(G/2)-this.internalPadding.width,y:E+(B/2)-this.internalPadding.height};
if(C.x<0){C=0
}if(C.y<0){C=0
}var D=this.calculateAbsoluteZoom();
this.centerPoint=this.calculateInverseZoom(D,C)
},calculateInternalOffset:function(){var G=this.workingAreaSize.width;
var B=this.workingAreaSize.height;
if(this.centerPoint){var C=this.calculateAbsoluteZoom();
var D=this.calculateZoom(C,this.centerPoint);
var F=Math.round(D.x+this.internalPadding.width-(G/2));
var E=Math.round(D.y+this.internalPadding.height-(B/2));
if(F<0){F=0
}if(E<0){E=0
}this.internalOffset.x=F;
this.internalOffset.y=E
}else{this.internalOffset.x=0;
this.internalOffset.y=0
}},handleScroll:function(){if(!this.blockRedraw){var D=this.scrollerDiv.scrollLeft;
var C=this.scrollerDiv.scrollTop;
var B=(this.internalOffset.x!=D)||(this.internalOffset.y!=C);
if(B){this.internalOffset.x=D;
this.internalOffset.y=C;
this.calculateCenterPoint();
this.drawImage()
}}},setRotation:function(B){this.calculateCenterPoint();
this.rotation=B;
this.calculateBasicImageSize();
this.calculateZoomedImageSize();
this.adjustSpacerImage();
this.propagateImage()
},getActualRotation:function(){return(this.ignoreRotation?0:this.rotation)
},setImageSize:function(B,C){B.width=C.width;
B.height=C.height;
B.style.width=C.width+"px";
B.style.height=C.height+"px"
},setCSSSize:function(C,B){C.style.width=B.width+"px";
C.style.height=B.height+"px"
},setCanvasSize:function(C,B){C.width=B.width;
C.height=B.height
},calculateDistance:function(C,B){return Math.sqrt(Math.pow(C.x-B.x,2)+Math.pow(C.y-B.y,2))
},handleImageLoaded:function(){this.zoom=0;
this.internalOffset.x=0;
this.internalOffset.y=0;
this.centerPoint=null;
this.calculateOriginalImageSize();
if(this.isInitialized){this.calculateBasicImageSize();
this.calculateZoomedImageSize();
this.adjustSpacerImage();
this.propagateImage()
}},adjustSpacerImage:function(){this.setImageSize(this.spacerImage,this.calculateSpacerSize())
},addShapeSet:function(C){this.shapeSets[C.id]=C;
C.imageComponent=this;
var D=C.getShapeCount();
for(var B=0;
B<D;
B++){this.addShapeToDOM(C.getShapeAt(B))
}if(C.isVisible){this.drawImage()
}},drawShapeSets:function(E,F){var C=this.calculateAbsoluteZoom()+1;
for(var D in this.shapeSets){if(this.shapeSets.hasOwnProperty(D)){var B=this.shapeSets[D];
if(B.isVisible){B.drawShapes(E,C,F)
}}}},executeFnOnShapes:function(D,C){for(var B in this.shapeSets){if(this.shapeSets.hasOwnProperty(B)){var E=this.shapeSets[B];
if(E.isVisible||!C){E.executeFnOnShapes(D)
}}}},getShapeSet:function(B){if(this.shapeSets.hasOwnProperty(B)){return this.shapeSets[B]
}return null
},getSuitableShapeSet:function(C){for(var G in this.shapeSets){if(this.shapeSets.hasOwnProperty(G)){var B=this.shapeSets[G];
var F=B.getShapeCount();
for(var D=0;
D<F;
D++){var E=B.getShapeAt(D);
if(E==C){return B
}}}}return null
},setShapeSetVisible:function(D,B,E){var C=this.shapeSets[D];
if(C){C.executeFnOnShapes(function(G){if(!B){var H=(this.rolledOverShapes.indexOf(G)>=0);
var F=(this.rolledOverShapes.indexOf(G)>=0);
if(H){this.removeShapeFromRollovers(G,null,true)
}if(F>=0){G.onUnSelect();
this.selectedShapes.splice(F,1)
}}}.createDelegate(this),true);
C.setVisible(B);
if(E){this.drawImage()
}}},hideAllShapeSets:function(D){for(var B in this.shapeSets){var C=this.shapeSets[B];
if(C.isVisible){this.setShapeSetVisible(B,false,false)
}}if(D){this.drawImage()
}},scheduleForDragging:function(B){this.scheduledDragShapes.push(B)
},createCanvas:function(F,D,B){var C;
CQ.Log.debug("SmartImage.Image#createCanvas: Started.");
C=document.createElement("canvas");
F.appendChild(C);
if(C){if(D){C.width=D
}if(B){C.height=B
}if(CQ.Ext.isIE){try{C=G_vmlCanvasManager.initElement(C)
}catch(E){C=null
}if(!C){CQ.Log.fatal("SmartImage.Image#createCanvas: Could not create Canvas emulation for Internet Explorer.")
}}}CQ.Log.debug("SmartImage.Image#createCanvas:Finished; creating canvas "+(C?"was successful":"failed")+".");
return C
},drawImage:function(){var O=this.getActualRotation();
var W=this.imageCanvas.getContext("2d");
W.save();
W.globalCompositeOperation="source-over";
var Z=this.workingAreaSize.width;
var F=this.workingAreaSize.height;
var I=Math.floor(Z/2);
var G=Math.floor(F/2);
W.translate(I,G);
W.rotate((O*Math.PI)/180);
var R=0,E=0;
var D=0,h=0;
var T=0,C=0;
var N=Z;
var X=this.zoomedImageSize.displayWidth-Z-this.internalPadding.width;
var g=this.zoomedImageSize.displayHeight-F-this.internalPadding.height;
if(Z>=this.zoomedImageSize.displayWidth){N=this.zoomedImageSize.width;
R=Math.round((Z-N)/2)
}else{D=(this.internalOffset.x<this.internalPadding.width?this.internalPadding.width-this.internalOffset.x:0);
if(this.internalOffset.x>X){h=this.internalOffset.x-X
}N-=D+h
}var L=F;
if(F>=this.zoomedImageSize.displayHeight){L=this.zoomedImageSize.height;
E=Math.round((F-L)/2)
}else{T=(this.internalOffset.y<this.internalPadding.height?this.internalPadding.height-this.internalOffset.y:0);
if(this.internalOffset.y>g){C=this.internalOffset.y-g
}L-=T+C
}this.imageOffsets={x:R,y:E};
var a=-I;
var H=-G;
var P=(O==90)||(O==270);
if(CQ.Ext.isIE){W.clearRect()
}else{if(P){W.clearRect(H,a,F,Z)
}else{W.clearRect(a,H,Z,F)
}}var d={x:0,y:0};
var J=this.calculateAbsoluteZoom();
var U={x:this.internalOffset.x-this.internalPadding.width,y:this.internalOffset.y-this.internalPadding.height};
if(U.x<0){U.x=0
}if(U.y<0){U.y=0
}var V=this.calculateInverseZoom(J,U);
switch(O){case 90:U.x=this.zoomedImageSize.width-U.x-N;
break;
case 180:U.x=this.zoomedImageSize.width-U.x-N;
U.y=this.zoomedImageSize.height-U.y-L;
break;
case 270:U.y=this.zoomedImageSize.height-U.y-L;
break
}d=this.calculateInverseZoom(J,U);
var Y=this.calculateInverseZoom(J,{width:N,height:L});
var B=(P?d.y:d.x);
var m=(P?d.x:d.y);
if(B<0){B=0
}if(m<0){m=0
}var S=(P?Y.height:Y.width);
var c=(P?Y.width:Y.height);
if(S>this.originalImageSize.width){S=this.originalImageSize.width
}if(c>this.originalImageSize.height){c=this.originalImageSize.height
}var l,k,M,Q;
switch(O){case 0:l=a+R+D;
k=H+E+T;
M=N;
Q=L;
break;
case 90:l=H+E+T;
k=a+R+h;
M=L;
Q=N;
break;
case 180:l=a+R+h;
k=H+E+C;
M=N;
Q=L;
break;
case 270:l=H+E+C;
k=a+R+D;
M=L;
Q=N;
break
}var K=false;
try{W.drawImage(this.imageToDisplay.image,B,m,S,c,l,k,M,Q)
}catch(b){window.setTimeout(this.drawImage.createDelegate(this),1);
K=true
}W.restore();
if(!K){this.drawShapeSets(W,{destX:R+D,destY:E+T,srcX:V.x,srcY:V.y,imageSize:this.originalImageSize,zoomedSize:this.zoomedImageSize})
}},addShapeToDOM:function(C){if(CQ.Ext.isIE){var B=CQ.Ext.DomHelper.insertBefore(this.scrollerDiv,{tag:"div"},false);
B.style.position="absolute";
B.style.top="0";
B.style.left="0";
var D=this.createCanvas(B,this.workingAreaSize.width,this.workingAreaSize.height);
var E={container:B,canvas:D,shape:C};
if(!this.shapeDefs){this.shapeDefs=new Array()
}this.shapeDefs.push(E);
C.shapeDef=E
}},removeShapeFromDOM:function(D){if(CQ.Ext.isIE){var E=D.shapeDef;
var C=CQ.Ext.get(E.canvas);
var B=CQ.Ext.get(E.container);
C.remove();
B.remove()
}},getCanvasContext:function(){return this.imageCanvas.getContext("2d")
}});
CQ.form.SmartImage.ImagePanel.EVENT_ZOOM_CHANGE="smartimage.zoomchange";
CQ.form.SmartImage.ImagePanel.EVENT_ADD_REQUEST="smartimage.addrequest";
CQ.form.SmartImage.ImagePanel.EVENT_CUSTOM="smartimage.custom";
CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED="smartimage.selchanged";
CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER="smartimage.rollover";
CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE="smartimage.dragchange";
CQ.form.SmartImage.ImagePanel.EVENT_CONTENTCHANGE="smartimage.contentchange";
CQ.form.SmartImage.ImagePanel.EVENT_DEFAULT_VIEW="smartimage.defaultview";
CQ.form.SmartImage.Tool=CQ.Ext.extend(CQ.Ext.emptyFn,{toolId:null,toolName:null,transferFieldName:null,transferField:null,isCommandTool:false,userInterface:null,imageComponent:null,constructor:function(B){B=B||{};
CQ.Ext.apply(this,B)
},initialize:function(B){},initComponent:function(B){this.imageComponent=B
},onActivation:function(){},onDeactivation:function(){},onCommand:function(){},onImageUploaded:function(B){},onImageFlushed:function(){this.resetToolValue()
},createTransferField:function(B){this.transferField=new CQ.Ext.form.Hidden({name:this.transferFieldName});
B.add(this.transferField)
},transferToField:function(){var B=this.serialize();
if(B==null){B=this.initialValue
}this.transferField.setValue(B)
},resetToolValue:function(){this.transferField.setValue("")
},processRecord:function(B){this.initialValue=B.get(this.transferFieldName);
if(this.initialValue==null){this.initialValue=""
}},serialize:function(){return null
},deserialize:function(){}});
CQ.form.SmartImage.Tool.UserInterface=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){var C={title:CQ.I18n.getMessage("Tool options"),floating:true,draggable:{insertProxy:false,onDrag:function(F){var E=this.proxy.getEl();
this.x=E.getLeft(true);
this.y=E.getTop(true);
var D=this.panel.getEl().shadow;
if(D){D.realign(this.x,this.y,E.getWidth(),E.getHeight())
}},endDrag:function(D){this.panel.setPosition(this.x,this.y)
}},collapsible:true,renderTo:CQ.utils.Util.ROOT_ID,width:400,hidden:true,stateful:false};
CQ.Util.applyDefaults(B,C);
if(!B.items&&!B.tbar&&!B.bbar){B.html="No tools available"
}CQ.form.SmartImage.Tool.UserInterface.superclass.constructor.call(this,B)
},setPosition:function(B,C){CQ.form.SmartImage.Tool.UserInterface.superclass.setPosition.call(this,B,C);
this.saveX=this.x;
this.saveY=this.y
}});
CQ.form.SmartImage.Tool.Rotate=CQ.Ext.extend(CQ.form.SmartImage.Tool,{preRotation:0,constructor:function(B){CQ.form.SmartImage.Tool.Rotate.superclass.constructor.call(this,{toolId:"smartimageRotate",toolName:CQ.I18n.getMessage("Rotate"),iconCls:"cq-image-icon-rotate",isCommandTool:true,userInterface:null,transferFieldName:B})
},onCommand:function(){var D=this.imageComponent.getImagePanel();
var C=new CQ.form.SmartImage.Animation({imageComponent:this.imageComponent,onFinished:this.executeRotate.createDelegate(this)});
var B=0;
if(D.zoom>0){B=200;
C.addStep(new CQ.form.SmartImage.Animation.ZoomOut({durationMs:300,startZoom:D.zoom,endZoom:0}))
}C.addStep(new CQ.form.SmartImage.Animation.ExecuteFn({durationMs:B,fn:function(){D.switchToDefaultView();
var J=D.rotation;
var L=(J==90)||(J==270);
var F={width:(L?D.zoomedImageSize.height:D.zoomedImageSize.width),height:(L?D.zoomedImageSize.width:D.zoomedImageSize.height)};
var H=J+90;
var K=D.precalculateRotatedSize(H);
var I=(H==90)||(H==270);
if(I){var G=K;
K={width:G.height,height:G.width}
}var E=D.imageToDisplay;
C.addStep(new CQ.form.SmartImage.Animation.Rotation({image:E,durationMs:300,startAngle:J,endAngle:J+90,startSize:F,endSize:K}))
}}));
C.play()
},executeRotate:function(){var B=this.imageComponent.getImagePanel();
B.setRotation(Math.round(B.rotation+90)%360);
B.fireEvent(CQ.form.SmartImage.ImagePanel.EVENT_CONTENTCHANGE,{changeType:"rotate",newValue:B.rotation,valueDelta:90})
},onImageFlushed:function(){var B=this.imageComponent.getImagePanel();
B.setRotation(0);
this.preRotation=0;
CQ.form.SmartImage.Tool.Rotate.superclass.onImageFlushed.call(this)
},processRecord:function(B){CQ.form.SmartImage.Tool.Rotate.superclass.processRecord.call(this,B);
this.deserialize(this.initialValue)
},serialize:function(){var B=this.imageComponent.getImagePanel();
return(Math.round(B.rotation)+this.preRotation)%360
},deserialize:function(E){var D=this.imageComponent.getImagePanel();
if(E&&(E.length>0)){var B=0;
try{B=parseInt(E)
}catch(C){}this.preRotation=B
}else{this.preRotation=0
}D.rotation=0
}});
CQ.form.SmartImage.Shape=CQ.Ext.extend(CQ.Ext.emptyFn,{calculateDistance:function(C,B){return Math.sqrt(Math.pow(C.x-B.x,2)+Math.pow(C.y-B.y,2))
},calculateDisplayCoords:function(D,C,B,E){if(typeof (B)=="object"){E=B.y;
B=B.x
}B=Math.round((B-C.srcX)*D)+C.destX;
E=Math.round((E-C.srcY)*D)+C.destY;
return{x:B,y:E}
},calculateDisplaySize:function(D,C,B){if(typeof (C)=="object"){B=C.height;
C=C.width
}C=Math.round(C*D);
B=Math.round(B*D);
return{width:C,height:B}
},onRollOver:function(B){return false
},onRollOut:function(B){return false
},onRolledOver:function(B){return false
},onSelect:function(){return false
},onUnSelect:function(){return false
},onClick:function(){return false
},isDirectlyDraggable:function(C,B){return false
},isDeferredDraggable:function(C,B){return false
},moveShapeBy:function(D,B,C){return false
},onDragStart:function(C,B){return false
},onDragEnd:function(C,B){return false
},onDrag:function(C,B){return false
},onAddForDrag:function(B){},isTouched:function(C,B){return false
},draw:function(B,D,C){}});
CQ.form.SmartImage.ShapeSet=CQ.Ext.extend(CQ.Ext.emptyFn,{id:null,isVisible:false,shapes:null,imageComponent:null,constructor:function(B){this.id=B;
this.isVisible=true;
this.shapes=new Array()
},addShape:function(B){this.shapes.push(B);
if(this.imageComponent){this.imageComponent.addShapeToDOM(B);
this.imageComponent.drawImage()
}},removeShape:function(B){var C=this.getShapeIndex(B);
if(C>=0){this.shapes.splice(C,1);
if(this.imageComponent){this.imageComponent.removeShapeFromDOM(B);
this.imageComponent.drawImage()
}}},removeAllShapes:function(){var C=this.shapes.length;
for(var B=C-1;
B>=0;
B--){this.removeShape(this.shapes[B])
}},getShapeIndex:function(B){var E=this.shapes.length;
for(var C=0;
C<E;
C++){var D=this.shapes[C];
if(D==B){return C
}}return -1
},getShapeCount:function(){return this.shapes.length
},getShapeAt:function(B){return this.shapes[B]
},setVisible:function(B){this.isVisible=B;
if(CQ.Ext.isIE){this.executeFnOnShapes(function(D){var E=D.shapeDef.canvas;
var C=E.getContext("2d");
C.clearRect()
})
}},drawShapes:function(B,F,E){var G=this.shapes.length;
for(var D=0;
D<G;
D++){var C=this.shapes[D];
if(CQ.Ext.isIE){B=C.shapeDef.canvas.getContext("2d");
B.clearRect()
}B.save();
if(CQ.themes.SmartImage.DEFAULT_DRAWING_MODE!=null){B.globalCompositeOperation=CQ.themes.SmartImage.DEFAULT_DRAWING_MODE
}C.draw(B,F,E);
B.restore()
}},executeFnOnShapes:function(C){var D=this.shapes.length;
for(var B=0;
B<D;
B++){var E=this.shapes[B];
C(E)
}}});
CQ.form.SmartImage.Animation=CQ.Ext.extend(CQ.Ext.emptyFn,{imageComponent:null,onFinished:null,steps:null,stepPlayed:null,stepStartTc:null,constructor:function(B){B=B||{};
var C={};
CQ.Ext.apply(this,B,C);
this.steps=[];
this.stepPlayed=null
},addStep:function(B){this.steps.push(B)
},isPlayed:function(){return this.stepPlayed!=null
},play:function(){this.stepPlayed=0;
this.stepStartTc=new Date().getTime();
this.playTick()
},playTick:function(){var D=new Date().getTime();
if(this.stepPlayed<this.steps.length){var C=this.steps[this.stepPlayed];
var B=D-this.stepStartTc;
var E=1;
if(C.durationMs>0){E=B/C.durationMs
}if(E>=1){E=1;
this.stepPlayed++;
this.stepStartTc=D
}C.tick(this.imageComponent,E);
window.setTimeout(this.playTick.createDelegate(this),10)
}else{this.stepPlayed=null;
if(this.onFinished){this.onFinished(this)
}}}});
CQ.form.SmartImage.Animation.Step=CQ.Ext.extend(CQ.Ext.emptyFn,{durationMs:0,constructor:function(B){B=B||{};
var C={durationMs:500};
CQ.Ext.apply(this,B,C)
},tick:function(C,B){}});
CQ.form.SmartImage.Animation.Rotation=CQ.Ext.extend(CQ.form.SmartImage.Animation.Step,{startAngle:null,startSize:null,endAngle:null,endSize:null,image:null,deltaAngle:null,deltaSize:null,constructor:function(B){CQ.form.SmartImage.Animation.Rotation.superclass.constructor.call(this,B);
this.deltaAngle=this.endAngle-this.startAngle;
this.deltaSize={width:this.endSize.width-this.startSize.width,height:this.endSize.height-this.startSize.height}
},tick:function(E,L){var K=E.getImagePanel();
var B=this.startAngle+(L*this.deltaAngle);
var G={width:this.startSize.width+(L*this.deltaSize.width),height:this.startSize.height+(L*this.deltaSize.height)};
var N=K.getCanvasContext();
N.save();
var D=K.imageCanvas.width;
var J=K.imageCanvas.height;
N.clearRect(0,0,D,J);
var M=K.workingAreaSize;
var H=Math.floor(M.width/2);
var F=Math.floor(M.height/2);
N.translate(H,F);
N.rotate((B*Math.PI)/180);
var I=-(G.width/2);
var C=-(G.height/2);
N.drawImage(this.image.image,I,C,G.width,G.height);
N.restore()
}});
CQ.form.SmartImage.Animation.ZoomOut=CQ.Ext.extend(CQ.form.SmartImage.Animation.Step,{startZoom:null,endZoom:null,deltaZoom:null,constructor:function(B){CQ.form.SmartImage.Animation.ZoomOut.superclass.constructor.call(this,B);
this.deltaZoom=this.endZoom-this.startZoom
},tick:function(C,B){var E=C.getImagePanel();
var D=this.startZoom+(B*this.deltaZoom);
E.setZoom(D);
if(B==1){C.resetZoomSlider()
}}});
CQ.form.SmartImage.Animation.ExecuteFn=CQ.Ext.extend(CQ.form.SmartImage.Animation.Step,{fn:null,scopr:null,constructor:function(B){B=B||{};
var C={durationMs:0};
B=CQ.Util.applyDefaults(B,C);
CQ.form.SmartImage.Animation.ExecuteFn.superclass.constructor.call(this,B);
this.deltaZoom=this.endZoom-this.startZoom
},tick:function(C,B){if(this.fn!=null){if(this.scope){this.fn.call(this.scope)
}else{this.fn()
}this.fn=null
}}});
CQ.form.ImageMap=CQ.Ext.extend(CQ.form.SmartImage.Tool,{isInitialized:false,constructor:function(B){CQ.form.ImageMap.superclass.constructor.call(this,{toolId:"smartimageMap",toolName:CQ.I18n.getMessage("Map"),iconCls:"cq-image-icon-map",isCommandTool:false,userInterface:new CQ.form.ImageMap.UI({title:CQ.I18n.getMessage("Image map tools")}),transferFieldName:B})
},initComponent:function(B){CQ.form.ImageMap.superclass.initComponent.call(this,B);
this.workingArea=this.imageComponent.getImagePanel();
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_CONTENTCHANGE,this.onContentChange,this)
},onActivation:function(){CQ.form.ImageMap.superclass.onActivation.call(this);
if(!this.isInitialized){if(this.mapShapeSet==null){this.mapShapeSet=new CQ.form.SmartImage.ShapeSet(CQ.form.ImageMap.SHAPESET_ID);
this.workingArea.addShapeSet(this.mapShapeSet)
}this.userInterface.notifyWorkingArea(this.workingArea,this.mapShapeSet);
this.isInitialized=true
}this.workingArea.hideAllShapeSets(false);
if(this.initialValue!=null){this.deserialize(this.initialValue);
this.initialValue=null
}this.userInterface.isActive=true;
this.workingArea.setShapeSetVisible(CQ.form.ImageMap.SHAPESET_ID,true,true)
},onDeactivation:function(){this.workingArea.clearSelection();
this.userInterface.isActive=false;
this.workingArea.setShapeSetVisible(CQ.form.ImageMap.SHAPESET_ID,false,false);
CQ.form.ImageMap.superclass.onDeactivation.call(this)
},clearMappingInformation:function(){if(this.mapShapeSet){try{this.workingArea.clearSelection();
this.mapShapeSet.removeAllShapes()
}catch(B){alert("Exception: "+B.toSource())
}}this.initialValue=null
},onImageUploaded:function(){this.clearMappingInformation();
CQ.form.ImageMap.superclass.onImageUploaded.call(this)
},onImageFlushed:function(){this.clearMappingInformation();
CQ.form.ImageMap.superclass.onImageFlushed.call(this)
},onContentChange:function(H){if(H.changeType=="rotate"){var G=this.workingArea.originalImageSize;
if(this.mapShapeSet==null){this.mapShapeSet=new CQ.form.SmartImage.ShapeSet(CQ.form.ImageMap.SHAPESET_ID);
this.mapShapeSet.isVisible=false;
this.workingArea.addShapeSet(this.mapShapeSet);
if(this.initialValue){this.deserialize(this.initialValue);
this.initialValue=null
}}var D=parseInt(H.valueDelta);
var B=parseInt(H.newValue);
if(D!=0){var F=this.mapShapeSet.getShapeCount();
for(var C=0;
C<F;
C++){var E=this.mapShapeSet.getShapeAt(C);
E.rotateBy(D,B,G)
}this.workingArea.drawImage()
}}},transferToField:function(){if(this.userInterface){this.userInterface.saveDestinationArea()
}CQ.form.ImageMap.superclass.transferToField.call(this)
},serialize:function(){if(!this.isInitialized){return null
}if(this.mapShapeSet==null){return""
}var E="";
var D=this.mapShapeSet.getShapeCount();
for(var B=0;
B<D;
B++){var C=this.mapShapeSet.getShapeAt(B);
E+="["+C.serialize()+"]"
}return E
},deserialize:function(D){this.mapShapeSet.removeAllShapes();
if(D&&(D.length>0)){var E=0;
while(E<D.length){var C=D.indexOf("[",E);
if(C<0){break
}var B=D.indexOf(")",C+1);
if(B<0){break
}var H=D.substring(C+1,B+1);
var G=null;
if(CQ.form.ImageMap.RectArea.isStringRepresentation(H)){G=CQ.form.ImageMap.RectArea.deserialize(H)
}else{if(CQ.form.ImageMap.PolyArea.isStringRepresentation(H)){G=CQ.form.ImageMap.PolyArea.deserialize(H)
}else{if(CQ.form.ImageMap.CircularArea.isStringRepresentation(H)){G=CQ.form.ImageMap.CircularArea.deserialize(H)
}}}if(G!=null){var F=E;
E=G.destination.deserialize(D,B+1);
this.mapShapeSet.addShape(G);
if(E==null){CQ.Log.error("CQ.form.ImageMap#deserialize: Invalid map definition: "+D+"; trying to continue parsing.");
E=D.indexOf("]",F)+1
}}else{CQ.Log.error("CQ.form.ImageMap#deserialize: Invalid area definition string: "+H);
E=D.indexOf("]",E)+1
}}}}});
CQ.form.ImageMap.SHAPESET_ID="smartimage.imagemap";
CQ.form.ImageMap.EDITMODE_ADD=0;
CQ.form.ImageMap.EDITMODE_EDIT=1;
CQ.form.ImageMap.AREATYPE_RECT=0;
CQ.form.ImageMap.AREATYPE_CIRCLE=1;
CQ.form.ImageMap.AREATYPE_POLYGON=2;
CQ.form.ImageMap.AREATYPE_POINT=3;
CQ.form.ImageMap.EVENT_PREFIX="imagemap.";
CQ.form.ImageMap.EVENT_MODE_CHANGE=CQ.form.ImageMap.EVENT_PREFIX+"modechange";
CQ.form.ImageMap.EVENT_VISUAL_CHANGE=CQ.form.ImageMap.EVENT_PREFIX+"visualchange";
CQ.form.ImageMap.UI=CQ.Ext.extend(CQ.form.SmartImage.Tool.UserInterface,{isActive:false,workingArea:null,mapShapeSet:null,editMode:null,areaType:null,polyAreaAdded:null,constructor:function(B){var E=function(F){this.toolClicked(F.itemId)
}.createDelegate(this);
this.toolbarButtons={addRect:new CQ.Ext.Toolbar.Button({itemId:"addRect",text:CQ.I18n.getMessage("Rectangle"),enableToggle:true,toggleGroup:"mapperTools",allowDepress:false,handler:E}),addCircle:new CQ.Ext.Toolbar.Button({itemId:"addCircle",text:CQ.I18n.getMessage("Circle"),enableToggle:true,toggleGroup:"mapperTools",allowDepress:false,handler:E}),addPoly:new CQ.Ext.Toolbar.Button({itemId:"addPoly",text:CQ.I18n.getMessage("Polygon"),enableToggle:true,toggleGroup:"mapperTools",allowDepress:false,handler:E}),editPolyPoint:new CQ.Ext.Toolbar.Button({itemId:"editPolyPoint",xtype:"tbbutton",text:CQ.I18n.getMessage("Polygon point"),enableToggle:true,toggleGroup:"mapperTools",allowDepress:false,handler:E}),edit:new CQ.Ext.Toolbar.Button({itemId:"edit",text:CQ.I18n.getMessage("Edit"),enableToggle:true,toggleGroup:"mapperTools",allowDepress:false,handler:E})};
var C=new CQ.Ext.Toolbar({xtype:"toolbar",items:[CQ.I18n.getMessage("Add")+":",this.toolbarButtons.addRect,this.toolbarButtons.addCircle,this.toolbarButtons.addPoly,this.toolbarButtons.editPolyPoint,{xtype:"tbseparator"},this.toolbarButtons.edit,{xtype:"tbseparator"},{itemId:"delete",xtype:"tbbutton",text:CQ.I18n.getMessage("Delete"),handler:function(){this.deleteSelection()
}.createDelegate(this)}]});
var D={layout:"column",bodyStyle:"padding-top: 1px; padding-bottom: 1px; padding-left: 3px; padding-right: 2px;",width:CQ.themes.SmartImage.Tool.MAP_TOOLS_WIDTH,tbar:C,items:[{itemId:"col1",xtype:"panel",layout:"form",border:false,columnWidth:0.5,labelWidth:CQ.themes.SmartImage.Tool.MAP_AREAEDITOR_LABEL_WIDTH,defaults:{itemCls:"cq-map-areaeditor-fieldlabel",cls:"cq-map-areaeditor-text",fieldClass:"cq-map-areaeditor-text",width:CQ.themes.SmartImage.Tool.MAP_AREAEDITOR_FIELD_WIDTH},items:[{itemId:"areaDefUrl",name:"url",xtype:"browsefield",fieldLabel:"HREF",listeners:{"browsedialog.opened":{fn:function(){this.__position=this.getPosition();
this.hide()
},scope:this},"browsedialog.closed":{fn:function(){this.show();
this.setPosition(this.__position)
},scope:this}}},{itemId:"areaDefTarget",name:"target",xtype:"textfield",fieldLabel:"Target"}]},{itemId:"col2",xtype:"panel",layout:"form",border:false,columnWidth:0.5,labelWidth:CQ.themes.SmartImage.Tool.MAP_AREAEDITOR_LABEL_WIDTH,defaults:{itemCls:"cq-map-areaeditor-fieldlabel",cls:"cq-map-areaeditor-text",fieldClass:"cq-map-areaeditor-text",width:CQ.themes.SmartImage.Tool.MAP_AREAEDITOR_FIELD_WIDTH},items:[{itemId:"areaDefText",name:"text",xtype:"textfield",fieldLabel:"Text"},{itemId:"areaDefCoords",name:"coords",xtype:"textfield",fieldLabel:"Coordinates"}]}]};
CQ.Util.applyDefaults(B,D);
CQ.form.ImageMap.UI.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.ImageMap.UI.superclass.initComponent.call(this);
this.areaDefUrl=this.items.get("col1").items.get("areaDefUrl");
this.areaDefTarget=this.items.get("col1").items.get("areaDefTarget");
this.areaDefText=this.items.get("col2").items.get("areaDefText");
this.areaDefCoords=this.items.get("col2").items.get("areaDefCoords");
this.areaDefCoords.on("specialkey",function(D,C){var B=this.editedArea;
if((C.getKey()==CQ.Ext.EventObject.ENTER)&&(B!=null)){if(B.fromCoordString(this.areaDefCoords.getValue())){this.workingArea.drawImage()
}this.areaDefCoords.setValue(B.toCoordString())
}},this);
this.setDestinationAreaEditorEnabled(false)
},notifyWorkingArea:function(B,C){this.workingArea=B;
this.mapShapeSet=C;
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_ADD_REQUEST,this.onAddRequest,this);
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_SELECTION_CHANGED,this.onSelectionChange,this);
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_DRAGCHANGE,this.onVisualChange,this);
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_ROLLOVER,this.onRollover,this)
},toolClicked:function(B){if(B=="edit"){this.switchEditMode(CQ.form.ImageMap.EDITMODE_EDIT,null)
}else{if(B=="editPolyPoint"){this.switchEditMode(CQ.form.ImageMap.EDITMODE_EDIT,CQ.form.ImageMap.AREATYPE_POINT)
}else{if(B=="addRect"){this.switchEditMode(CQ.form.ImageMap.EDITMODE_ADD,CQ.form.ImageMap.AREATYPE_RECT)
}else{if(B=="addCircle"){this.switchEditMode(CQ.form.ImageMap.EDITMODE_ADD,CQ.form.ImageMap.AREATYPE_CIRCLE)
}else{if(B=="addPoly"){this.switchEditMode(CQ.form.ImageMap.EDITMODE_ADD,CQ.form.ImageMap.AREATYPE_POLYGON)
}}}}}},setDestinationAreaEditorEnabled:function(B){this.areaDefUrl.setDisabled(!B);
this.areaDefTarget.setDisabled(!B);
this.areaDefText.setDisabled(!B);
this.areaDefCoords.setDisabled(!B)
},saveDestinationArea:function(D){if(!D){D=this.editedArea
}if(D){var B=this.areaDefUrl.getValue();
if(B.length>0){if(B.charAt(0)!="/"){var C=B.indexOf("://");
if(C<0){if(B.indexOf("mailto:")!=0){B="http://"+B
}}}}D.destination.url=B;
D.destination.target=this.areaDefTarget.getValue();
D.destination.text=this.areaDefText.getValue()
}},loadDestinationArea:function(B){if(B!=null){this.areaDefUrl.setValue(B.destination.url);
this.areaDefTarget.setValue(B.destination.target);
this.areaDefText.setValue(B.destination.text);
this.areaDefCoords.setValue(B.toCoordString())
}else{this.areaDefUrl.setValue("");
this.areaDefTarget.setValue("");
this.areaDefText.setValue("");
this.areaDefCoords.setValue("")
}},switchEditMode:function(C,B){this.editMode=C;
this.areaType=B;
this.adjustToolbar();
if(this.editMode==CQ.form.ImageMap.EDITMODE_ADD){this.finishPolygonBuilding(false);
this.workingArea.blockRollOver();
var D=this.workingArea.clearSelection();
this.workingArea.drawImage()
}else{if(this.editMode==CQ.form.ImageMap.EDITMODE_EDIT){if(this.areaType!=CQ.form.ImageMap.AREATYPE_POINT){this.finishPolygonBuilding(false)
}this.workingArea.unblockRollOver();
this.workingArea.drawImage()
}}if(!this.polyAreaAdded){this.workingArea.drawImage()
}},adjustToolbar:function(){var B=null;
if(this.editMode==CQ.form.ImageMap.EDITMODE_EDIT){if(this.areaType==CQ.form.ImageMap.AREATYPE_POINT){B="editPolyPoint"
}else{B="edit"
}}else{if(this.editMode==CQ.form.ImageMap.EDITMODE_ADD){if(this.areaType==CQ.form.ImageMap.AREATYPE_RECT){B="addRect"
}else{if(this.areaType==CQ.form.ImageMap.AREATYPE_POLYGON){B="addPoly"
}else{if(this.areaType==CQ.form.ImageMap.AREATYPE_CIRCLE){B="addCircle"
}}}}}for(var C in this.toolbarButtons){if(this.toolbarButtons.hasOwnProperty(C)){var D=this.toolbarButtons[C];
D.suspendEvents();
D.toggle(C==B);
D.resumeEvents()
}}},deleteSelection:function(){var E=false;
var C=this.mapShapeSet.getShapeCount();
for(var B=0;
B<C;
B++){var D=this.mapShapeSet.getShapeAt(B);
if(D.areaType==CQ.form.ImageMap.AREATYPE_POLYGON){if(D.selectedHandle!=null){D.removePoint(D.selectedHandle);
E=true
}}}if(!E){this.workingArea.deleteSelectedShapes()
}else{this.workingArea.drawImage()
}},finishPolygonBuilding:function(B){if(this.polyAreaAdded){this.polyAreaAdded.isSelected=false;
this.polyAreaAdded.selectedHandle=null;
if(B){this.workingArea.drawImage()
}}this.polyAreaAdded=null
},onAddRequest:function(I){if(this.isActive){I=I.unzoomed;
if(this.editMode==CQ.form.ImageMap.EDITMODE_ADD){var D;
if(this.areaType==CQ.form.ImageMap.AREATYPE_RECT){D=new CQ.form.ImageMap.RectArea({},I.y,I.x,I.y+1,I.x+1)
}else{if(this.areaType==CQ.form.ImageMap.AREATYPE_CIRCLE){D=new CQ.form.ImageMap.CircularArea({},I.x,I.y,1)
}else{if(this.areaType==CQ.form.ImageMap.AREATYPE_POLYGON){D=new CQ.form.ImageMap.PolyArea({},I.x,I.y);
D.selectPointAt(0);
this.polyAreaAdded=D
}}}if(D){this.workingArea.selectShape(D);
this.mapShapeSet.addShape(D);
this.workingArea.scheduleForDragging(D)
}}else{if((this.editMode==CQ.form.ImageMap.EDITMODE_EDIT)&&(this.areaType==CQ.form.ImageMap.AREATYPE_POINT)){var F;
if(this.polyAreaAdded){F=[this.polyAreaAdded]
}else{F=this.workingArea.getRolledOverShapes()
}var K;
var E=false;
var H=false;
var G=this.workingArea.getTolerance();
F=this.filterOnAreaType(F,CQ.form.ImageMap.AREATYPE_POLYGON);
if(F.length>0){var B=F.length;
for(var J=0;
J<B;
J++){var C=F[J];
if(C.handleId==null){K=C.insertPoint(I.x,I.y,G);
if(K!=null){C.handleId=K;
C.selectPoint(K);
E=true
}}else{H=true
}}}if(!E&&this.polyAreaAdded&&!H){K=this.polyAreaAdded.addPoint(I.x,I.y);
if(K!=null){this.polyAreaAdded.selectPoint(K)
}}this.workingArea.drawImage()
}}}},onSelectionChange:function(E){if(this.isActive){var D="ImageMap#onSelectionChange: Received selection change for areas: ";
if(E.length>0){var B=E.length;
for(var C=0;
C<B;
C++){if(C>0){D+=", "
}D+=E[C].serialize()
}}else{D+="None"
}CQ.Log.debug(D);
if(this.editedArea!=null){this.saveDestinationArea(this.editedArea)
}if(E.length==1){this.editedArea=E[0];
this.loadDestinationArea(this.editedArea);
this.setDestinationAreaEditorEnabled(true)
}else{this.editedArea=null;
this.loadDestinationArea(null);
this.setDestinationAreaEditorEnabled(false)
}}},onVisualChange:function(C,E){if(this.isActive){var D=C.length;
var G;
var F=false;
for(var B=0;
B<D;
B++){if(C[B]==this.editedArea){G=this.editedArea.toCoordString();
this.areaDefCoords.setValue(G);
F=true;
break
}}if(!F&&(C.length==1)){G=C[0].toCoordString();
this.areaDefCoords.setValue(G)
}if(E&&((this.editMode==CQ.form.ImageMap.EDITMODE_ADD)&&(this.areaType==CQ.form.ImageMap.AREATYPE_POLYGON))){this.switchEditMode(CQ.form.ImageMap.EDITMODE_EDIT,CQ.form.ImageMap.AREATYPE_POINT)
}}},onRollover:function(D){if(this.isActive){var E="ImageMap#onRollover: Received rollover for areas: ";
if(D.length>0){var C=D.length;
for(var B=0;
B<C;
B++){if(B>0){E+=", "
}E+=D[B].serialize()
}}else{E+="None"
}CQ.Log.debug(E);
if(this.editedArea==null){if(D.length==1){this.loadDestinationArea(D[0])
}else{this.loadDestinationArea(null)
}}}},filterOnAreaType:function(E,B){var G=new Array();
var D=E.length;
for(var C=0;
C<D;
C++){var F=E[C];
if(F.areaType==B){G.push(F)
}}return G
}});
CQ.form.ImageMap.AreaDestination=CQ.Ext.extend(CQ.Ext.emptyFn,{constructor:function(B,C,D){this.url=(B?B:"");
this.target=(C?C:"");
this.text=(D?D:"")
},serialize:function(){var B="";
if(this.url&&(this.url.length>0)){B+='"'+CQ.form.ImageMap.Helpers.encodeString(this.url)+'"'
}B+="|";
if(this.target&&(this.target.length>0)){B+='"'+CQ.form.ImageMap.Helpers.encodeString(this.target)+'"'
}B+="|";
if(this.text&&(this.text.length>0)){B+='"'+CQ.form.ImageMap.Helpers.encodeString(this.text)+'"'
}return B
},deserialize:function(E,C){var D=C;
var F,B;
if(D<E.length){B=E.charAt(D);
if(B!="|"){F=CQ.form.ImageMap.Helpers.decodeFromContainingString(E,D);
if(F==null){return null
}else{this.url=F.decoded;
D=F.nextPos
}}D++
}if(D<E.length){B=E.charAt(D);
if(B!="|"){F=CQ.form.ImageMap.Helpers.decodeFromContainingString(E,D);
if(F==null){return null
}else{this.target=F.decoded;
D=F.nextPos
}}D++
}if(D<E.length){B=E.charAt(D);
if(B!="]"){F=CQ.form.ImageMap.Helpers.decodeFromContainingString(E,D);
if(F==null){return null
}else{this.text=F.decoded;
D=F.nextPos
}}}return D+1
}});
CQ.form.ImageMap.Helpers=function(){return{checkIntersection:function(C,B){if(B<0){return(C>B)&&(C<=0)
}else{return(C>=0)&&(C<B)
}},calculateNoAngledDistance:function(E,D,C){var F=Math.abs(E);
var B=D-C;
if(C<0){if(D>0){F=Math.sqrt(Math.pow(D,2)+Math.pow(E,2))
}else{if(D<C){F=Math.sqrt(Math.pow(B,2)+Math.pow(E,2))
}}}else{if(D<0){F=Math.sqrt(Math.pow(D,2)+Math.pow(E,2))
}else{if(D>C){F=Math.sqrt(Math.pow(B,2)+Math.pow(E,2))
}}}return F
},calculateDistance:function(L,G,Q){var B=L.x;
var P=L.y;
var H=G.x-B;
var D=G.y-P;
var O=Q.x-B;
var K=Q.y-P;
if((Math.abs(H)>0)&&(Math.abs(D)>0)){var N=D/H;
var I=1/N;
var F=(O*I+K)/(N+I);
var C=F*N;
var M=CQ.form.ImageMap.Helpers.checkIntersection(F,H)&&CQ.form.ImageMap.Helpers.checkIntersection(C,D);
if(M){return Math.sqrt(Math.pow(F-O,2)+Math.pow(K-C,2))
}else{var E=Math.sqrt(Math.pow(O,2)+Math.pow(K,2));
var J=Math.sqrt(Math.pow(O-H,2)+Math.pow(K-D,2));
return(E<J?E:J)
}}else{if((H==0)&&(D==0)){return Math.sqrt(Math.pow(O,2),Math.pow(K,2))
}else{if(H==0){return CQ.form.ImageMap.Helpers.calculateNoAngledDistance(O,K,D)
}else{return CQ.form.ImageMap.Helpers.calculateNoAngledDistance(K,O,H)
}}}},calculateDistanceToCircle:function(H,K){var E=K.x-H.x;
var C=K.y-H.y;
var G=C/E;
if((E!=0)&&(C!=0)){var B=Math.atan(G);
var F=Math.cos(B)*H.radius;
var D=Math.sin(B)*H.radius;
if(E<0){D=-D;
F=-F
}var J=F-E;
var I=D-C;
return Math.sqrt(Math.pow(J,2)+Math.pow(I,2))
}else{return Math.abs(C-H.radius)
}},compactArray:function(E){var D=E.length;
var B=0;
for(var C=0;
C<D;
C++){if(E[C]!=null){if(C!=B){E[B]=E[C]
}B++
}}E.length=B
},encodeString:function(H){var C=H.length;
var F="";
var E=0;
for(var G=0;
G<C;
G++){var B=H.charAt(G);
var D=null;
switch(B){case"\\":D="\\\\";
break;
case'"':D='\\"';
break;
case"[":D="\\[";
break;
case"]":D="\\]";
break;
case"|":D="\\|";
break
}if(D!=null){if(E<G){F+=H.substring(E,G)
}F+=D;
E=G+1
}}if(E<C){F+=H.substring(E,C)
}return F
},decodeFromContainingString:function(F,B){var D=F.indexOf('"',B);
if(D<0){return null
}var E=false;
var G=D+1;
var H="";
var C=false;
while(!E){var I=F.charAt(G);
if((I=='"')&&(!C)){E=true
}else{if(I=="\\"){if(C){H+="\\";
C=false
}else{C=true
}}else{if(C){H+=I;
C=false
}else{H+=I
}}}G++;
if((G>=F.length)&&(!E)){return null
}}return{decoded:H,nextPos:G}
},parseCoordinateFromContainingString:function(E,Q){var C=E.length;
var P=Q;
while(P<C){var K=E.charAt(P);
if(K!=" "){break
}P++
}if(P>=C){return null
}var R=new Object();
R.isError=false;
if(E.charAt(P)=="("){var J=E.indexOf(")",P+1);
if(J<0){R.isError=true;
return R
}var I=E.substring(P+1,J);
var H=I.split("/");
if(H.length!=2){R.isError=true;
return R
}var G=parseInt(H[0]);
var F=parseInt(H[1]);
if(isNaN(G)||isNaN(F)){R.isError=true;
return R
}R.coordinates={x:G,y:F};
R.isCoordinatesPair=true;
P=J+1
}else{var B=E.indexOf(":",P);
if(B<(P+1)){R.isError=true;
return R
}var M=E.substring(P,B);
var O=E.indexOf(" ",B+1);
var N=E.indexOf("(",B+1);
var L;
if((O>=0)&&(N>=0)){if(O<N){L=E.substring(B+1,O);
P=O
}else{L=E.substring(B+1,N);
P=N
}}else{if(O>=0){L=E.substring(B+1,O);
P=O
}else{if(N>=0){L=E.substring(B+1,N);
P=N
}else{if((B+1)>=E.length){R.isError=true;
return R
}L=E.substring(B+1,E.length);
P=E.length
}}}if(M=="r"){var D=parseInt(L);
if(isNaN(D)){R.isError=true;
return R
}R.coordinates={radius:D};
R.isCoordinatesPair=false
}else{R.isError=true;
return R
}}R.nextPos=P;
return R
},parseCoordinateString:function(D){var C=new Array();
var B=0;
var F=0;
while(B>=0){var E=CQ.form.ImageMap.Helpers.parseCoordinateFromContainingString(D,B);
if(E!=null){if(E.isError){return null
}C[C.length]=E.coordinates;
if(E.isCoordinatesPair){F++
}B=E.nextPos
}else{B=-1
}}return{coordinates:C,coordinatesPairCnt:F}
},parseRectDef:function(G){var F=null;
var D=G.indexOf("(");
if(D>=0){var C=G.indexOf(")",D+1);
if(C>D){var E=G.substring(D+1,C);
var B=E.split(" ");
if(B.length==4){F=new Object();
F.top=B[0];
F.left=B[3];
F.bottom=B[2];
F.right=B[1]
}}}return F
}}
}();
CQ.form.ImageMap.Area=CQ.Ext.extend(CQ.form.SmartImage.Shape,{areaType:null,destination:null,fillColor:null,shadowColor:null,basicShapeColor:null,rolloverColor:null,selectedColor:null,handleSize:0,handleColor:null,handleRolloverColor:null,handleSelectedColor:null,isRollOver:false,isSelected:false,isHandleRolledOver:false,handleId:null,constructor:function(B,C){this.areaType=B;
this.destination=new CQ.form.ImageMap.AreaDestination();
this.handleId=null;
this.isSelected=false;
this.isRollOver=false;
C=C||{};
var D={fillColor:CQ.themes.ImageMap.FILL_COLOR,shadowColor:CQ.themes.ImageMap.SHADOW_COLOR,basicShapeColor:CQ.themes.ImageMap.BASIC_SHAPE_COLOR,rolloverColor:CQ.themes.ImageMap.ROLLOVER_COLOR,selectedColor:CQ.themes.ImageMap.SELECTED_COLOR,handleSize:CQ.themes.ImageMap.HANDLE_SIZE,handleColor:CQ.themes.ImageMap.HANDLE_COLOR,handleRolloverColor:CQ.themes.ImageMap.HANDLE_ROLLOVER_COLOR,handleSelectedColor:CQ.themes.ImageMap.HANDLE_SELECTED_COLOR};
CQ.Ext.apply(this,C,D)
},isPartOfHandle:function(C,B,H){var J=(H.unzoomed.absoluteZoom+1);
var F=Math.ceil(this.handleSize/J);
var E=C-F;
var D=C+F;
var I=B-F;
var G=B+F;
H=H.unzoomedUnclipped;
return((H.x>=E)&&(H.x<=D)&&(H.y>=I)&&(H.y<=G))
},checkAndSetHandle:function(B){this.handleId=this.calculateHandleId(B);
return(this.handleId!=null)
},calcBasicAngle:function(C,D){var B=D-C;
while(B<0){B=360-B
}B=B%360;
return B
},isDirectlyDraggable:function(C,B){return this.checkAndSetHandle(C)
},isDeferredDraggable:function(C,B){return this.isTouched(C,B)
},onRollOver:function(B){this.isRollOver=true;
this.isHandleRolledOver=this.checkAndSetHandle(B);
CQ.Log.debug("CQ.form.ImageMap.Area.onRollOver: rollover detected.");
return true
},onRolledOver:function(C){var B=this.handleId;
this.checkAndSetHandle(C);
return(B!=this.handleId)
},onRollOut:function(){this.isRollOver=false;
this.isHandleRolledOver=false;
this.handleId=null;
CQ.Log.debug("CQ.form.ImageMap.Area.onRollOut: rollout detected.");
return true
},onSelect:function(){this.isSelected=true;
return true
},onUnSelect:function(){this.isSelected=false;
return true
},onDragStart:function(C,B){this.pointToMove=this.handleId;
this.calculateDraggingReference();
return false
},calculateDestCoords:function(G,D,F,E){var C=F.x+G;
var B=F.y+D;
if(E){if(C<0){C=0
}if(C>=E.width){C=E.width-1
}if(B<0){B=0
}if(B>=E.height){B=E.height-1
}}return{x:C,y:B}
},isValid:function(B){return false
},calculateHandleId:function(B){return null
},calculateDraggingReference:function(){},rotateBy:function(C,D,B){},getColor:function(){var B=this.basicShapeColor;
if(this.isSelected){B=this.selectedColor
}else{if(this.isRollOver){B=this.rolloverColor
}}return B
},drawHandle:function(B,I,E,D,C){var G=B-this.handleSize;
var F=I-this.handleSize;
var H=this.handleSize*2;
C.lineWidth=1;
C.strokeStyle=this.shadowColor;
C.strokeRect(G+1,F+1,H,H);
if(D){C.strokeStyle=this.handleSelectedColor
}else{if(E){C.strokeStyle=this.handleRolloverColor
}else{C.strokeStyle=this.handleColor
}}C.strokeRect(G,F,H,H)
}});
CQ.form.ImageMap.RectArea=CQ.Ext.extend(CQ.form.ImageMap.Area,{constructor:function(C,F,E,B,D){CQ.form.ImageMap.RectArea.superclass.constructor.call(this,CQ.form.ImageMap.AREATYPE_RECT,C);
this.top=F;
this.left=E;
this.bottom=B;
this.right=D
},isTouched:function(J,G){var F=this.calculateHandleId(J);
if(F!=null){return true
}J=J.unzoomedUnclipped;
var I=this.top-G;
var H=this.top+G;
if((J.y>=I)&&(J.y<=H)){if((J.x>=this.left)&&(J.x<=this.right)){return true
}}var E=this.bottom-G;
var C=this.bottom+G;
if((J.y>=E)&&(J.y<=C)){if((J.x>=this.left)&&(J.x<=this.right)){return true
}}var L=this.left-G;
var K=this.left+G;
if((J.x>=L)&&(J.x<=K)){if((J.y>=this.top)&&(J.y<=this.bottom)){return true
}}var D=this.right-G;
var B=this.right+G;
if((J.x>=D)&&(J.x<=B)){if((J.y>=this.top)&&(J.y<=this.bottom)){return true
}}return false
},calculateDraggingReference:function(){if((this.pointToMove=="topleft")||(this.pointToMove==null)){this.draggingReference={x:this.left,y:this.top}
}else{if(this.pointToMove=="topright"){this.draggingReference={x:this.right,y:this.top}
}else{if(this.pointToMove=="bottomleft"){this.draggingReference={x:this.left,y:this.bottom}
}else{if(this.pointToMove=="bottomright"){this.draggingReference={x:this.right,y:this.bottom}
}}}}},moveShapeBy:function(H,C,G){var F=G.unzoomed.rotatedImageSize;
var E=this.calculateDestCoords(H,C,this.draggingReference,F);
if(this.pointToMove==null){var D=this.right-this.left;
this.left=E.x;
this.right=this.left+D;
var B=this.bottom-this.top;
this.top=E.y;
this.bottom=this.top+B;
if(this.right>=F.width){var I=this.right-F.width+1;
this.left-=I;
this.right-=I
}if(this.bottom>=F.height){I=this.bottom-F.height+1;
this.top-=I;
this.bottom-=I
}}else{if(this.pointToMove=="topleft"){this.left=E.x;
this.top=E.y
}else{if(this.pointToMove=="topright"){this.right=E.x;
this.top=E.y
}else{if(this.pointToMove=="bottomleft"){this.left=E.x;
this.bottom=E.y
}else{if(this.pointToMove=="bottomright"){this.right=E.x;
this.bottom=E.y
}}}}}return true
},onDragEnd:function(){var B;
if(this.top>this.bottom){B=this.top;
this.top=this.bottom;
this.bottom=B
}if(this.left>this.right){B=this.left;
this.left=this.right;
this.right=B
}},calculateHandleId:function(B){if(this.isPartOfHandle(this.left,this.top,B)){return"topleft"
}if(this.isPartOfHandle(this.right,this.top,B)){return"topright"
}if(this.isPartOfHandle(this.left,this.bottom,B)){return"bottomleft"
}if(this.isPartOfHandle(this.right,this.bottom,B)){return"bottomright"
}return null
},isValid:function(){return(this.top!=this.bottom)&&(this.left!=this.right)
},rotateBy:function(E,B,G){var C;
var I;
var J=this.calcBasicAngle(E,B);
var F=((J==90)||(J==270)?G.width:G.height);
var H=Math.round(E/90);
for(var D=0;
D<H;
D++){C=this.top;
I=this.bottom;
this.top=this.left;
this.bottom=this.right;
this.right=F-C;
this.left=F-I
}},onAddForDrag:function(B){this.handleId="bottomright"
},draw:function(K,J,E){CQ.Log.debug("CQ.form.ImageMap.RectArea#draw: Started.");
var B=this.right-this.left;
var H=this.bottom-this.top;
var D=this.left;
var F=this.top;
if(B<0){B=-B;
D=this.right
}else{if(B==0){B=1
}}if(H<0){H=-H;
F=this.bottom
}else{if(H==0){H=1
}}var G=this.calculateDisplayCoords(J,E,D,F);
var L=this.calculateDisplaySize(J,B,H);
var I={x:G.x+L.width,y:G.y+L.height};
if(this.fillColor){K.fillStyle=this.fillColor;
K.fillRect(G.x,G.y,L.width,L.height)
}var C=(this.isRollOver);
if(C){this.drawHandle(G.x,G.y,(this.handleId=="topleft"),false,K);
this.drawHandle(I.x,G.y,(this.handleId=="topright"),false,K);
this.drawHandle(G.x,I.y,(this.handleId=="bottomleft"),false,K);
this.drawHandle(I.x,I.y,(this.handleId=="bottomright"),false,K)
}K.strokeStyle=this.getColor();
K.lineWidth=1;
K.strokeRect(G.x,G.y,L.width,L.height);
CQ.Log.debug("CQ.form.ImageMap.RectArea#draw: Finished.")
},serialize:function(){return"rect("+this.left+","+this.top+","+this.right+","+this.bottom+")"+this.destination.serialize()
},toCoordString:function(){return"("+this.left+"/"+this.top+") ("+this.right+"/"+this.bottom+")"
},fromCoordString:function(G){var E=CQ.form.ImageMap.Helpers.parseCoordinateString(G);
if(E==null){return false
}var H=E.coordinates;
if((H.length!=2)||(E.coordinatesPairCnt!=2)){return false
}var C=H[0].x;
var F=H[0].y;
var B=H[1].x;
var D=H[1].y;
if(C==B){return false
}if(F==D){return false
}if(C<B){this.left=C;
this.right=B
}else{this.left=B;
this.right=C
}if(F<D){this.top=F;
this.bottom=D
}else{this.top=D;
this.bottom=F
}return true
}});
CQ.form.ImageMap.RectArea.isStringRepresentation=function(E){var C=E.length;
if(C<13){return false
}var B=E.indexOf("(");
if(B<=0){return false
}var D=E.substring(0,B);
if(D!="rect"){return false
}if(!E.charAt(C)==")"){return false
}return true
};
CQ.form.ImageMap.RectArea.deserialize=function(D){var I=D.indexOf("(");
if(I<0){return null
}var F=D.indexOf(")",I+1);
if(F<0){return null
}var B=D.substring(I+1,F);
var H;
var J=B.split(",");
if(J.length!=4){return null
}var C=new Array();
var G=J.length;
for(H=0;
H<G;
H++){var E=parseInt(J[H]);
if(isNaN(E)){return null
}C[H]=E
}return new CQ.form.ImageMap.RectArea({},C[1],C[0],C[3],C[2])
};
CQ.form.ImageMap.CircularArea=CQ.Ext.extend(CQ.form.ImageMap.Area,{constructor:function(D,C,E,B){CQ.form.ImageMap.RectArea.superclass.constructor.call(this,CQ.form.ImageMap.AREATYPE_CIRCLE,D);
this.x=C;
this.y=E;
this.radius=B;
this.handlePosition=new Object();
this.handlePosition.x=C+B;
this.handlePosition.y=E
},isTouched:function(D,C){var B=this.calculateHandleId(D);
if(B!=null){return true
}D=D.unzoomedUnclipped;
var E=CQ.form.ImageMap.Helpers.calculateDistanceToCircle(this,D);
return(E<=C)
},calculateDraggingReference:function(){if(this.pointToMove==null){this.draggingReference={x:this.x,y:this.y}
}else{this.draggingReference={x:this.pointToMove.x,y:this.pointToMove.y}
}},moveShapeBy:function(K,I,N){var L=N.unzoomed.rotatedImageSize;
var B=this.calculateDestCoords(K,I,this.draggingReference,L);
if(this.pointToMove==null){var D=this.handlePosition.x-this.x;
var C=this.handlePosition.y-this.y;
this.x=B.x;
this.y=B.y;
if(this.x<this.radius){this.x=this.radius
}if(this.y<this.radius){this.y=this.radius
}if(this.x>=(L.width-this.radius)){this.x=L.width-this.radius-1
}if(this.y>=(L.height-this.radius)){this.y=L.height-this.radius-1
}this.handlePosition.x=this.x+D;
this.handlePosition.y=this.y+C
}else{this.pointToMove.x=B.x;
this.pointToMove.y=B.y;
var H=this.pointToMove.x-this.x;
var M=this.pointToMove.y-this.y;
this.radius=Math.sqrt((H*H)+(M*M));
var E=null;
if(H!=0){E=Math.atan(M/H)
}var J=false;
if((this.x-this.radius)<0){this.radius=this.x;
J=true
}if((this.x+this.radius)>=L.width){this.radius=L.width-this.x-1;
J=true
}if((this.y-this.radius)<0){this.radius=this.y;
J=true
}if((this.y+this.radius)>=L.height){this.radius=L.height-this.y-1;
J=true
}if(J){if(E!=null){var G=this.radius*Math.cos(E);
var F=this.radius*Math.sin(E);
if(H<0){G=-G;
F=-F
}this.pointToMove.x=this.x+G;
this.pointToMove.y=this.y+F
}else{this.pointToMove.x=this.x;
if(M<0){this.pointToMove.y=this.y-this.radius
}else{this.pointToMove.y=this.y+this.radius
}}}}return true
},calculateHandleId:function(B){if(this.isPartOfHandle(this.handlePosition.x,this.handlePosition.y,B)){return this.handlePosition
}return null
},isValid:function(){return(this.radius>0)
},rotateBy:function(E,B,H){var C;
var J;
var K=this.calcBasicAngle(E,B);
var F=((K==90)||(K==270)?H.width:H.height);
var I=Math.round(E/90);
var G;
for(var D=0;
D<I;
D++){G=this.x;
this.x=F-this.y;
this.y=G;
G=this.handlePosition.x;
this.handlePosition.x=F-this.handlePosition.y;
this.handlePosition.y=G
}},onAddForDrag:function(B){this.handleId=this.handlePosition
},draw:function(D,H,G){CQ.Log.debug("CQ.form.ImageMap.CircularArea#paint: Started.");
var I=this.calculateDisplayCoords(H,G,this.x,this.y);
var F=this.calculateDisplaySize(H,this.radius,0).width;
if(this.fillColor){D.fillStyle=this.fillColor;
D.beginPath();
D.arc(I.x,I.y,F,0,2*Math.PI,false);
D.closePath();
D.fill()
}D.lineWidth=1;
D.strokeStyle=this.getColor();
D.beginPath();
D.arc(I.x,I.y,F,0,2*Math.PI,false);
D.closePath();
D.stroke();
var C=(this.isRollOver);
if(C){var E=(this.handleId!=null);
var B=this.calculateDisplayCoords(H,G,this.handlePosition);
this.drawHandle(B.x,B.y,E,false,D)
}CQ.Log.debug("CQ.form.ImageMap.CircularArea#paint: Finished.")
},serialize:function(){return"circle("+this.x+","+this.y+","+Math.round(this.radius)+")"+this.destination.serialize()
},toCoordString:function(){return"("+this.x+"/"+this.y+") r:"+Math.round(this.radius)
},fromCoordString:function(C){var H=CQ.form.ImageMap.Helpers.parseCoordinateString(C);
if(H==null){return false
}var J=H.coordinates;
if((J.length!=2)||(H.coordinatesPairCnt!=1)){return false
}var G,K,I;
if(J[0].radius){G=J[0].radius;
K=J[1].x;
I=J[1].y
}else{G=J[1].radius;
K=J[0].x;
I=J[0].y
}var B,L;
var F=this.handlePosition.x-this.x;
var E=this.handlePosition.y-this.y;
if(F!=0){var D=Math.atan(E/F);
B=Math.cos(D)*G;
L=Math.sin(D)*G;
if(F<0){B=-B;
L=-L
}this.handlePosition.x=B+K;
this.handlePosition.y=L+I
}else{this.handlePosition.x=K;
L=(this.handlePosition.y<this.y?-G:G);
this.handlePosition.y=L+I
}this.x=K;
this.y=I;
this.radius=G;
return true
}});
CQ.form.ImageMap.CircularArea.isStringRepresentation=function(E){var C=E.length;
if(C<13){return false
}var B=E.indexOf("(");
if(B<=0){return false
}var D=E.substring(0,B);
if(D!="circle"){return false
}if(!E.charAt(C)==")"){return false
}return true
};
CQ.form.ImageMap.CircularArea.deserialize=function(D){var I=D.indexOf("(");
if(I<0){return null
}var F=D.indexOf(")",I+1);
if(F<0){return null
}var B=D.substring(I+1,F);
var H;
var J=B.split(",");
if(J.length!=3){return null
}var C=new Array();
var G=J.length;
for(H=0;
H<G;
H++){var E=parseInt(J[H]);
if(isNaN(E)){return null
}C[H]=E
}return new CQ.form.ImageMap.CircularArea({},C[0],C[1],C[2])
};
CQ.form.ImageMap.PolyArea=CQ.Ext.extend(CQ.form.ImageMap.Area,{constructor:function(C,B,D){CQ.form.ImageMap.RectArea.superclass.constructor.call(this,CQ.form.ImageMap.AREATYPE_POLYGON,C);
this.areaType=CQ.form.ImageMap.AREATYPE_POLYGON;
this.destination=new CQ.form.ImageMap.AreaDestination();
this.points=new Array();
this.points.push({x:B,y:D})
},addPoint:function(B,D){var C={x:B,y:D};
this.points.push(C);
return C
},insertPoint:function(C,H,D){var E={x:C,y:H};
var F=this.points.length;
var B=this.calculatePointInsertIndex(C,H,D);
if(B<0){return null
}if(B<F){for(var G=F;
G>B;
G--){this.points[G]=this.points[G-1]
}}this.points[B]=E;
return E
},removePoint:function(D){var E=this.points.length;
var C=false;
var B,F;
for(B=0;
B<E;
B++){F=this.points[B];
if(F==D){this.points[B]=null;
if(this.handleId==F){this.handleId=null
}if(this.selectedHandle==F){this.selectedHandle=null
}C=true;
break
}}if(!C){for(B=0;
B<E;
B++){F=this.points[B];
if((F.x==D.x)&&(F.y==D.y)){this.points[B]=null;
if(this.handleId==F){this.handleId=null
}if(this.selectedHandle==F){this.selectedHandle=null
}break
}}}CQ.form.ImageMap.Helpers.compactArray(this.points)
},isOnLine:function(C,D,E,B){var F=CQ.form.ImageMap.Helpers.calculateDistance(D,E,C);
return(F<=B)
},calcBoundingRect:function(){if(this.points.length==0){return null
}var B=this.points[0].x;
var I=this.points[0].y;
var G=B;
var E=I;
var F=this.points.length;
for(var D=0;
D<F;
D++){var H=this.points[D];
if(H.x<B){B=H.x
}else{if(H.x>G){G=H.x
}}if(H.y<I){I=H.y
}else{if(H.y>E){E=H.y
}}}var C=new Object();
C.top=I;
C.left=B;
C.bottom=E;
C.right=G;
return C
},calculatePointInsertIndex:function(G,E,D){var H=this.points.length;
if(H==1){return 1
}var B=new Object();
B.x=G;
B.y=E;
for(var F=1;
F<H;
F++){var J=this.points[F-1];
var I=this.points[F];
if(this.isOnLine(B,J,I,D)){return F
}}var C=this.isOnLine(B,this.points[0],this.points[H-1],D);
if(C){return H
}return -1
},cleanUp:function(){var D=this.points.length;
for(var B=0;
B<(D-1);
B++){var E=this.points[B];
var C=this.points[B+1];
if((E.x==C.x)&&(E.y==C.y)){this.points[B]=null;
CQ.Log.info("CQ.form.ImageMap.PolyArea#cleanUp: Polygon point with identical coordinates removed: "+E.x+"/"+E.y)
}}CQ.form.ImageMap.Helpers.compactArray(this.points)
},isTouched:function(G,E){var B=this.calculateHandleId(G);
if(B!=null){return true
}var I=this.points.length;
G=G.unzoomedUnclipped;
if(I==1){var C=Math.abs(this.points[0].x-G.x);
var F=Math.abs(this.points[0].y-G.y);
return(C<E)&&(F<E)
}else{var D;
for(var H=1;
H<I;
H++){var K=this.points[H-1];
var J=this.points[H];
D=this.isOnLine(G,K,J,E);
if(D){return true
}}return this.isOnLine(G,this.points[0],this.points[I-1],E)
}},calculateDraggingReference:function(){if(this.pointToMove==null){var B=this.calcBoundingRect();
this.draggingReference={x:B.left,y:B.top,width:B.right-B.left+1,height:B.bottom-B.top+1}
}else{this.draggingReference={x:this.pointToMove.x,y:this.pointToMove.y}
}},moveShapeBy:function(G,F,L){var I=L.unzoomed.rotatedImageSize;
var B=this.calculateDestCoords(G,F,this.draggingReference,I);
var M=B.x;
var J=B.y;
if(this.pointToMove==null){var P=M+this.draggingReference.width;
if(P>=I.width){M=I.width-this.draggingReference.width
}var O=J+this.draggingReference.height;
if(O>=I.height){J=I.height-this.draggingReference.height
}var E=this.calcBoundingRect();
var D=M-E.left;
var C=J-E.top;
var N=this.points.length;
for(var K=0;
K<N;
K++){var H=this.points[K];
H.x+=D;
H.y+=C
}}else{this.pointToMove.x=M;
this.pointToMove.y=J
}return true
},calculateHandleId:function(B,F){var D=this.points.length;
for(var C=0;
C<D;
C++){var E=this.points[C];
if(this.isPartOfHandle(E.x,E.y,B,F)){return E
}}return null
},onUnSelect:function(){this.selectedHandle=null;
CQ.form.ImageMap.PolyArea.superclass.onUnSelect.call(this);
return true
},isValid:function(){return(this.points.length>0)
},rotateBy:function(E,B,H){var L=this.calcBasicAngle(E,B);
var F=((L==90)||(L==270)?H.width:H.height);
var I=Math.round(E/90);
var G;
for(var C=0;
C<I;
C++){var K=this.points.length;
for(var J=0;
J<K;
J++){var D=this.points[J];
G=D.x;
D.x=F-D.y;
D.y=G
}}},onAddForDrag:function(B){this.handleId=this.points[0]
},onDragStart:function(){this.selectedHandle=this.handleId;
CQ.form.ImageMap.PolyArea.superclass.onDragStart.call(this);
return true
},selectPointAt:function(B){if((B>=0)&&(B<this.points.length)){this.selectedHandle=this.points[B]
}else{this.selectedHandle=null
}},selectPoint:function(B){if(B==null){this.selectedHandle=null
}else{var D=this.points.length;
for(var C=0;
C<D;
C++){var E=this.points[C];
if((E.x==B.x)&&(E.y==B.y)){this.selectedHandle=E;
return 
}}}},draw:function(M,L,F){CQ.Log.debug("CQ.form.ImageMap.PolyArea#paint: Started.");
var H,B;
var I=this.points.length;
var J=this.calculateDisplayCoords(L,F,this.points[0]);
if(this.fillColor){M.fillStyle=this.fillColor;
M.beginPath();
M.moveTo(J.x,J.y);
for(H=0;
H<I;
H++){B=this.calculateDisplayCoords(L,F,this.points[H]);
M.lineTo(B.x,B.y)
}M.closePath();
M.fill()
}M.lineWidth=1;
M.strokeStyle=this.getColor();
M.beginPath();
M.moveTo(J.x,J.y);
for(H=1;
H<I;
H++){B=this.calculateDisplayCoords(L,F,this.points[H]);
M.lineTo(B.x,B.y)
}M.closePath();
M.stroke();
var D=this.isRollOver||(this.selectedHandle!=null)||this.isSelected;
var G=(this.selectedHandle==this.points[0]);
var E=(this.handleId==this.points[0]);
if(D||G){this.drawHandle(J.x,J.y,E,G,M)
}for(H=1;
H<I;
H++){B=this.calculateDisplayCoords(L,F,this.points[H]);
var C=(this.selectedHandle==this.points[H]);
var K=(this.handleId==this.points[H]);
if(D||C){this.drawHandle(B.x,B.y,K,C,M)
}}CQ.Log.debug("CQ.form.ImageMap.PolyArea#paint: Finished.")
},serialize:function(){var E="poly(";
var D=this.points.length;
for(var C=0;
C<D;
C++){if(C>0){E+=","
}var B=this.points[C];
E+=B.x+","+B.y
}E+=")";
E+=this.destination.serialize();
return E
},toCoordString:function(){var C="";
var E=this.points.length;
for(var B=0;
B<E;
B++){if(B>0){C+=" "
}var D=this.points[B];
C+="("+D.x+"/"+D.y+")"
}return C
},fromCoordString:function(E){var C=CQ.form.ImageMap.Helpers.parseCoordinateString(E);
if(C==null){return false
}var F=C.coordinates;
if((F.length<2)||(C.coordinatesPairCnt!=F.length)){return false
}this.points.length=0;
var G=F.length;
for(var D=0;
D<G;
D++){var B=F[D];
this.addPoint(B.x,B.y)
}return true
}});
CQ.form.ImageMap.PolyArea.isStringRepresentation=function(E){var C=E.length;
if(C<9){return false
}var B=E.indexOf("(");
if(B<=0){return false
}var D=E.substring(0,B);
if(D!="poly"){return false
}if(!E.charAt(C)==")"){return false
}return true
};
CQ.form.ImageMap.PolyArea.deserialize=function(D){var H=D.indexOf("(");
if(H<0){return null
}var F=D.indexOf(")",H+1);
if(F<0){return null
}var B=D.substring(H+1,F);
var L=B.split(",");
var C=new Array();
var J;
var K=L.length;
if((K&1)!=0){return null
}for(J=0;
J<K;
J+=2){var I=parseInt(L[J]);
var G=parseInt(L[J+1]);
if(isNaN(I)){return null
}if(isNaN(G)){return null
}C[J/2]={x:I,y:G}
}K=C.length;
var E=new CQ.form.ImageMap.PolyArea({},C[0].x,C[0].y);
for(J=1;
J<K;
J++){E.addPoint(C[J].x,C[J].y)
}return E
};
CQ.form.ImageCrop=CQ.Ext.extend(CQ.form.SmartImage.Tool,{constructor:function(B){CQ.form.ImageCrop.superclass.constructor.call(this,{toolId:"smartimageCrop",toolName:"Crop",iconCls:"cq-image-icon-crop",isCommandTool:false,userInterface:new CQ.form.ImageCrop.UI({title:CQ.I18n.getMessage("Image crop tools")}),transferFieldName:B,cropMinWidth:32,cropMinHeight:32});
this.cropRectDef=null
},initialize:function(B){if(B.cropConfig){this.aspectRatios=B.cropConfig.aspectRatios
}this.userInterface.updateAspectRatios(this.aspectRatios)
},initComponent:function(B){CQ.form.ImageMap.superclass.initComponent.call(this,B);
this.workingArea=this.imageComponent.getImagePanel();
this.workingArea.on(CQ.form.SmartImage.ImagePanel.EVENT_CONTENTCHANGE,this.onContentChange,this)
},onActivation:function(){CQ.form.ImageCrop.superclass.onActivation.call(this);
this.workingArea.hideAllShapeSets(false);
if(!this.isInitialized){this.cropShapeSet=new CQ.form.SmartImage.ShapeSet(CQ.form.ImageCrop.SHAPESET_ID);
this.workingArea.addShapeSet(this.cropShapeSet);
if(this.initialValue!=null){this.deserialize(this.initialValue);
this.initialValue=null
}this.isInitialized=true
}var B=this.imageComponent.getSuitableImage(true);
if(B){this.workingArea.ignoreRotation=true;
this.workingArea.updateImage(B);
this.adjustRectSize();
this.imageComponent.resetZoomSlider()
}this.userInterface.isActive=true;
this.workingArea.setShapeSetVisible(CQ.form.ImageCrop.SHAPESET_ID,true,true)
},adjustRectSize:function(){var B=false;
if(this.cropRect==null){B=true;
this.cropRect=new CQ.form.ImageCrop.CropRect({cropMinWidth:this.cropMinWidth,cropMinHeight:this.cropMinHeight},null,null,null,null);
this.userInterface.notifyWorkingArea(this.workingArea,this.cropRect)
}if(this.cropRectDef!=null){this.cropRect.x=this.cropRectDef.x;
this.cropRect.y=this.cropRectDef.y;
this.cropRect.width=this.cropRectDef.width;
this.cropRect.height=this.cropRectDef.height
}else{this.cropRect.x=0;
this.cropRect.y=0;
this.userInterface.calculateInitialCropSize()
}if(B){this.cropShapeSet.addShape(this.cropRect)
}else{this.workingArea.drawImage()
}},onDeactivation:function(){this.userInterface.isActive=false;
this.workingArea.setShapeSetVisible(CQ.form.ImageCrop.SHAPESET_ID,false,false);
var B=this.imageComponent.getSuitableImage();
if(B){this.workingArea.ignoreRotation=false;
this.workingArea.updateImage(B);
this.imageComponent.resetZoomSlider()
}CQ.form.ImageCrop.superclass.onDeactivation.call(this)
},clearCroppingInformation:function(){this.cropRectDef=null;
this.initialValue=null
},onImageUploaded:function(){this.clearCroppingInformation();
CQ.form.ImageCrop.superclass.onImageUploaded.call(this)
},onImageFlushed:function(){this.clearCroppingInformation();
CQ.form.ImageCrop.superclass.onImageFlushed.call(this)
},onContentChange:function(B){if(B.changeType=="rotate"){}},serialize:function(){if(!this.isInitialized){return null
}if(this.cropRect==null){return""
}return this.cropRect.x+","+this.cropRect.y+","+(this.cropRect.x+this.cropRect.width)+","+(this.cropRect.y+this.cropRect.height)
},deserialize:function(E){if((E==null)||(E.length==0)){this.cropRectDef=null
}else{var C=E.split(",");
if(C.length==4){var B=parseInt(C[0]);
var D=parseInt(C[1]);
this.cropRectDef={x:B,y:D,width:parseInt(C[2])-B,height:parseInt(C[3])-D}
}}}});
CQ.form.ImageCrop.SHAPESET_ID="smartimage.imagecrop";
CQ.form.ImageCrop.UI=CQ.Ext.extend(CQ.form.SmartImage.Tool.UserInterface,{isActive:false,workingArea:null,cropMinWidth:0,cropMinHeight:0,constructor:function(B){this.aspectRatioText=CQ.I18n.getMessage("Aspect ratio");
this.aspectRatioMenu=new CQ.Ext.menu.Menu({items:[]});
this.toolbar=new CQ.Ext.Toolbar({itemId:"toolbar",items:[{itemId:"ratio",text:this.aspectRatioText,menu:this.aspectRatioMenu}]});
var C={items:[this.toolbar],width:CQ.themes.SmartImage.Tool.CROP_TOOLS_WIDTH,cropMinWidth:32,cropMinHeight:32};
CQ.Util.applyDefaults(B,C);
CQ.form.ImageCrop.UI.superclass.constructor.call(this,B)
},notifyWorkingArea:function(B,C){this.workingArea=B;
this.cropRect=C;
if(this.initialRatio){var D=this.parseRatioFromString(this.initialRatio);
this.defineRatio(D[0],D[1])
}else{this.cropRect.ratio=null
}},updateAspectRatios:function(F){this.aspectRatioMenu.removeAll();
if(!F){F={freeCrop:{value:"0,0",text:"Free crop"}}
}var C=[];
var I,L;
for(var H in F){if(F.hasOwnProperty(H)){var D=F[H];
if(D.value&&D.text){var G=D.checked;
var E={text:D.text,value:D.value,checked:G,group:"aspectRatio",handler:function(N,M){if(M){this.handleRatio(N.value,N.text)
}}.createDelegate(this)};
if(G){L=E
}C.push(E);
if(D.value=="0,0"){I=E
}}}}if(!L&&I){I.checked=true;
L=I
}if(L){var K=L.text;
this.toolbar.items.get("ratio").setText(this.aspectRatioText+": "+K)
}var J=C.length;
for(var B=0;
B<J;
B++){this.aspectRatioMenu.addItem(new CQ.Ext.menu.CheckItem(C[B]))
}this.initialRatio=null;
if(L){this.initialRatio=L.value
}},handleRatio:function(D,C){var B=this.parseRatioFromString(D);
this.changeAspectRatio(B[0],B[1]);
this.toolbar.items.get("ratio").setText(this.aspectRatioText+": "+C)
},calculateInitialCropSize:function(B){if(!B){B=this.workingArea.originalImageSize
}if(this.cropRect.ratio!=null){var C=this.applyRatio(B);
this.cropRect.width=C.width;
this.cropRect.height=C.height
}else{this.cropRect.width=B.width;
this.cropRect.height=B.height
}},getActualCropRatio:function(){return this.cropRect.width/this.cropRect.height
},changeAspectRatio:function(C,B){if(C!==undefined){this.xRatio=C
}if(B!==undefined){this.yRatio=B
}if((this.xRatio!=0)&&(this.yRatio!=0)){this.cropRect.ratio=this.xRatio/this.yRatio;
var D=this.applyRatio(this.cropRect.width);
this.cropRect.width=D.width;
this.cropRect.height=D.height
}else{this.cropRect.ratio=null
}this.workingArea.drawImage()
},applyRatio:function(C){var D=this.workingArea.originalImageSize;
var B=Math.round(C/this.cropRect.ratio);
if((B+this.cropRect.y)>D.height){B=D.height-this.cropRect.y;
C=Math.round(B*this.cropRect.ratio)
}return{width:C,height:B}
},defineRatio:function(B,C){this.xRatio=B;
this.yRatio=C;
if((B>0)||(C>0)){this.cropRect.ratio=B/C
}else{this.cropRect.ratio=null
}},parseRatioFromString:function(B){var C=[0,0];
var D=B.split(",");
if(D.length==2){C[0]=parseInt(D[0]);
C[1]=parseInt(D[1])
}return C
}});
CQ.form.ImageCrop.CropRect=CQ.Ext.extend(CQ.form.SmartImage.Shape,{rectColor:null,invalidPartsBackground:null,handleDistance:0,handleLength:0,handleThickness:0,cropMinWidth:0,cropMinHeight:0,ratio:null,x:0,y:0,width:0,height:0,drawSections:false,fixedCoordinates:null,constructor:function(D,C,G,E,B){var F={rectColor:CQ.themes.ImageCrop.CROP_RECT_COLOR,invalidPartsBackground:CQ.themes.ImageCrop.BACKGROUND_INVALIDPARTS,handleDistance:CQ.themes.ImageCrop.HANDLE_DISTANCE,handleLength:CQ.themes.ImageCrop.HANDLE_LENGTH,handleThickness:CQ.themes.ImageCrop.HANDLE_THICKNESS,handleRollover:CQ.themes.ImageCrop.HANDLE_ROLLOVER};
CQ.Util.applyDefaults(D,F);
CQ.Ext.apply(this,D);
CQ.form.ImageCrop.CropRect.superclass.constructor.call(this,D);
this.x=C;
this.y=G;
this.width=E;
this.height=B;
this.drawSections=false
},isTouched:function(D,C){var B=this.calculateHandleId(D);
if(B!=null){return true
}D=D.unzoomedUnclipped;
return(D.x>=this.x)&&(D.x<(this.x+this.width))&&(D.y>=this.y)&&(D.y<(this.y+this.height))
},isPartOfHandle:function(B,D,C){var E=this.calculateDistance(B,{x:D,y:C});
return E<Math.ceil(this.handleLength/(B.absoluteZoom+1))
},calculateHandleId:function(C){C=C.unzoomedUnclipped;
var B=null;
if(this.isPartOfHandle(C,this.x,this.y)){return"topleft"
}if(this.isPartOfHandle(C,this.x+this.width,this.y)){return"topright"
}if(this.isPartOfHandle(C,this.x,this.y+this.height)){return"bottomleft"
}if(this.isPartOfHandle(C,this.x+this.width,this.y+this.height)){return"bottomright"
}return B
},isDirectlyDraggable:function(C,B){return this.isTouched(C)
},moveShapeBy:function(H,F,J){var G=J.unzoomed.imageSize;
if(this.pointToMove==null){this.x=this.draggingReference.x+H;
this.y=this.draggingReference.y+F;
this.correctCoordinates(G)
}else{var B=this.draggingReference.x+H;
if(B<0){B=0
}if(B>=G.width){B=G.width-1
}var K=this.draggingReference.y+F;
if(K<0){K=0
}if(K>=G.height){K=G.height-1
}var D,I;
if(this.pointToMove=="topleft"){D=this.x-B;
this.x=B;
this.width+=D;
I=this.y-K;
this.y=K;
this.height+=I
}else{if(this.pointToMove=="topright"){this.width=B-this.x+1;
I=this.y-K;
this.y=K;
this.height+=I
}else{if(this.pointToMove=="bottomleft"){D=this.x-B;
this.x=B;
this.width+=D;
this.height=K-this.y+1
}else{if(this.pointToMove=="bottomright"){this.width=B-this.x+1;
this.height=K-this.y+1
}}}}if(this.width<this.cropMinWidth){this.width=this.cropMinWidth;
this.correctXCoord()
}if(this.height<this.cropMinHeight){this.height=this.cropMinHeight;
this.correctYCoord()
}if(this.ratio!=null){this.height=Math.round(this.width/this.ratio);
this.correctYCoord();
var E=false;
if(this.x<0){this.width+=this.x;
this.x=0;
E=true
}if(E){this.height=Math.round(this.width/this.ratio);
this.correctXCoord();
this.correctYCoord()
}var C=false;
if(this.y<0){this.height+=this.y;
this.y=0;
C=true
}if((this.y+this.height)>G.height){this.height=G.height-this.y;
C=true
}if(C){this.width=Math.round(this.height*this.ratio);
this.correctXCoord();
this.correctYCoord()
}}}return true
},correctXCoord:function(){if(this.fixedCoordinates.widthMult<0){this.x=this.fixedCoordinates.x-this.width
}},correctYCoord:function(){if(this.fixedCoordinates.heightMult<0){this.y=this.fixedCoordinates.y-this.height
}},correctCoordinates:function(C){if(this.x<0){this.x=0
}if(this.y<0){this.y=0
}var B=this.x+this.width;
var D=this.y+this.height;
if(B>C.width){this.x=C.width-this.width;
if(this.x<0){this.width+=this.x;
this.x=0
}}if(D>C.height){this.y=C.height-this.height;
if(this.y<0){this.height+=this.y;
this.y=0
}}},onRollOver:function(B){this.handleId=this.calculateHandleId(B);
return true
},onRollOut:function(){this.handleId=null;
return true
},onRolledOver:function(C){var B=this.handleId;
this.handleId=this.calculateHandleId(C);
return(this.handleId!=B)
},onDragStart:function(C,B){this.pointToMove=this.calculateHandleId(C);
if((this.pointToMove=="topleft")||(this.pointToMove==null)){this.draggingReference={x:this.x,y:this.y};
if(this.pointToMove!=null){this.fixedCoordinates={x:this.x+this.width-1,y:this.y+this.height-1,widthMult:-1,heightMult:-1}
}}else{if(this.pointToMove=="topright"){this.draggingReference={x:this.x+this.width-1,y:this.y};
this.fixedCoordinates={x:this.x,y:this.y+this.height-1,widthMult:1,heightMult:-1}
}else{if(this.pointToMove=="bottomleft"){this.draggingReference={x:this.x,y:this.y+this.height-1};
this.fixedCoordinates={x:this.x+this.width-1,y:this.y,widthMult:-1,heightMult:1}
}else{if(this.pointToMove=="bottomright"){this.draggingReference={x:this.x+this.width-1,y:this.y+this.height-1};
this.fixedCoordinates={x:this.x,y:this.y,widthMult:1,heightMult:1}
}}}}this.drawSections=true;
return true
},onDragEnd:function(C,B){this.drawSections=false;
return true
},draw:function(P,B,J){var R=this.calculateDisplayCoords(B,J,this.x,this.y);
var O=this.calculateDisplaySize(B,this.width,this.height);
var T=R.x+O.width;
var D=R.y+O.height;
P.save();
if(this.invalidPartsBackground){P.fillStyle=this.invalidPartsBackground;
var L=J.imageSize;
var F=this.calculateDisplayCoords(B,J,0,0);
var G=this.calculateDisplayCoords(B,J,L.width,L.height);
var C=F.x;
var M=F.y;
var K=G.x;
var Q=G.y;
if(R.x>0){P.fillRect(C,M,R.x-C,Q-M)
}if(R.y>0){P.fillRect(R.x,M,O.width,R.y-M)
}var S=R.y+O.height;
if(S<Q){P.fillRect(R.x,S,O.width,Q-S)
}var E=R.x+O.width;
if(E<K){P.fillRect(E,M,K-E,Q-M)
}}P.restore();
P.strokeStyle=this.rectColor;
if(this.drawSections){P.beginPath();
var H=(O.height/3);
P.moveTo(R.x,R.y+H);
P.lineTo(T,R.y+H);
P.moveTo(R.x,R.y+2*H);
P.lineTo(T,R.y+2*H);
var I=(O.width/3);
P.moveTo(R.x+I,R.y);
P.lineTo(R.x+I,D);
P.moveTo(R.x+2*I,R.y);
P.lineTo(R.x+2*I,D);
P.stroke()
}P.lineWidth=1;
P.strokeRect(R.x,R.y,O.width,O.height);
P.lineWidth=this.handleThickness;
var N=this.handleLength-this.handleDistance;
P.beginPath();
P.strokeStyle=(this.handleId=="topleft"?this.handleRollover:this.rectColor);
P.moveTo(R.x-this.handleDistance,R.y+N);
P.lineTo(R.x-this.handleDistance,R.y-this.handleDistance);
P.lineTo(R.x+N,R.y-this.handleDistance);
P.stroke();
P.beginPath();
P.strokeStyle=(this.handleId=="topright"?this.handleRollover:this.rectColor);
P.moveTo(T+this.handleDistance,R.y+N);
P.lineTo(T+this.handleDistance,R.y-this.handleDistance);
P.lineTo(T-N,R.y-this.handleDistance);
P.stroke();
P.beginPath();
P.strokeStyle=(this.handleId=="bottomleft"?this.handleRollover:this.rectColor);
P.moveTo(R.x-this.handleDistance,D-N);
P.lineTo(R.x-this.handleDistance,D+this.handleDistance);
P.lineTo(R.x+N,D+this.handleDistance);
P.stroke();
P.beginPath();
P.strokeStyle=(this.handleId=="bottomright"?this.handleRollover:this.rectColor);
P.moveTo(T+this.handleDistance,D-N);
P.lineTo(T+this.handleDistance,D+this.handleDistance);
P.lineTo(T-N,D+this.handleDistance);
P.stroke()
}});
CQ.form.Slideshow=CQ.Ext.extend(CQ.form.SmartImage,{fileReferencePrefix:null,headPanel:null,slides:null,editedSlide:null,activeTabToPreselect:null,constructor:function(B){B=B||{};
var C={headPanel:new CQ.form.Slideshow.SlidesPanel({onSlideChanged:this.onSlideChanged.createDelegate(this),onAddButton:this.onAddButton.createDelegate(this),onRemoveButton:this.onRemoveButton.createDelegate(this)}),footPanel:new CQ.form.Slideshow.TitlePanel({}),fileReferencePrefix:"./image$",hideMainToolbar:true};
CQ.Util.applyDefaults(B,C);
CQ.form.Slideshow.superclass.constructor.call(this,B);
this.slides=[]
},initComponent:function(){CQ.form.Slideshow.superclass.initComponent.call(this)
},afterRender:function(){CQ.form.Slideshow.superclass.afterRender.call(this);
if(this.fixedHeight==null){if(CQ.Ext.isIE){var B=this.findParentByType("dialog");
B.on("beforehide",function(){var D=this.ownerCt;
var C=this;
while(D&&!D.isXType("tabpanel")){C=D;
D=D.ownerCt
}if(D){this.activeTabToPreselect=D.getActiveTab();
D.setActiveTab(C)
}},this)
}}},createFileNameEditingCapability:function(){},createHiddenInterfaceFields:function(){},createInterface:function(F){this.headPanel.disableFormElements();
this.footPanel.disableFormElements();
if(!this.interfaceFields){this.interfaceFields=[]
}else{this.interfaceFields.length=0
}var G=this.slides.length;
for(var I=0;
I<G;
I++){var C=this.slides[I];
var B=C.createTransferFields(this.fileReferencePrefix);
var D=B.length;
for(var E=0;
E<D;
E++){var H=B[E];
H.render(F);
this.interfaceFields.push(H)
}}},removeOldInterface:function(){if(this.interfaceFields){var B=this.interfaceFields.length;
for(var C=0;
C<B;
C++){var D=this.interfaceFields[C];
D.getEl().remove()
}this.interfaceFields.length=0
}},onBeforeSubmit:function(){this.saveChanges();
this.removeOldInterface();
this.createInterface(this.el);
return true
},createSlideIndex:function(){var C;
var F=this.slides.length;
var G=0;
for(var E=0;
E<F;
E++){C=this.slides[E];
if(!C.isDeleted&&(C.slideIndex>G)){G=this.slides[E].slideIndex
}}for(var H=1;
H<=G;
H++){var B=false;
for(var D=0;
D<F;
D++){C=this.slides[D];
if(!C.isDeleted&&(C.slideIndex==H)){B=true;
break
}}if(!B){return H
}}return G+1
},getFirstSlide:function(){var C=this.slides.length;
for(var D=0;
D<C;
D++){var B=this.slides[D];
if(!B.isDeleted){return B
}}return null
},addNewSlide:function(){this.saveChanges();
var C=this.createSlideIndex();
var B=this.createSlide(null,C,this.dataPath);
this.showSlide(B);
this.editedSlide=B
},removeSlide:function(){if(this.editedSlide){this.editedSlide.isDeleted=true;
var B=this.getFirstSlide();
if(!B){this.addNewSlide()
}else{this.editedSlide=B;
this.showSlide(this.editedSlide)
}}},createSlide:function(E,F,H){var G=(E?E["jcr:title"]:null);
var D=(E?E.fileReference:null);
var B;
if(E&&D){var C=this.resolveReference(D,H);
if(C){B=new CQ.form.Slideshow.Slide({referencedFileInfo:C,title:G,slideIndex:F,isPersistent:true,isDeleted:false})
}}else{B=new CQ.form.Slideshow.Slide({referencedFileInfo:null,title:null,slideIndex:F,isPersistent:false,isDeleted:false})
}this.slides.push(B);
return B
},processInit:function(B){this.dataPath=B;
this.slides.length=0;
this.headPanel.enableFormElements();
this.footPanel.enableFormElements();
CQ.form.Slideshow.superclass.processInit.call(this,B);
this.slides.length=0;
this.addNewSlide();
this.showSlide(this.editedSlide);
this.buildComboBoxContent()
},processRecord:function(H,N){this.dataPath=N;
this.slides.length=0;
this.headPanel.enableFormElements();
this.footPanel.enableFormElements();
CQ.form.Slideshow.superclass.processInit.call(this,N);
var I=this.fileReferencePrefix.replace("./","");
var K=I.indexOf("$");
var E=I.length;
var D=I;
var C=null;
var M=(K>=0);
if(K==0){D=null;
C=I.substring(1,E)
}else{if(K>0){if(K<(E-1)){D=I.substring(0,K);
C=I.substring(K+1,E)
}else{D=I.substring(0,K);
C=null
}}}var G=H.data;
for(var L in G){if(M){var J=true;
var F;
var B=L.length;
if(D!=null){if(L.indexOf(D)==0){F=D.length
}else{J=false
}}if((C!=null)&&J){B=L.indexOf(C,F);
if(B>F){if((B+C.length)<L.length){J=false
}}else{J=false
}}if(J){this.createSlide(H.get(L),L.substring(F,B),N)
}}else{if(L==D){this.createSlide(H.get(L),1,N)
}}}this.editedSlide=this.getFirstSlide();
if(!this.editedSlide){this.addNewSlide()
}this.showSlide(this.editedSlide);
this.buildComboBoxContent()
},saveChanges:function(){if(this.editedSlide){var B=this.footPanel.getTitle();
this.editedSlide.referencedFileInfo=this.referencedFileInfo;
this.editedSlide.title=(B?B:null);
this.headPanel.updateSlide(this.editedSlide)
}},buildComboBoxContent:function(){var D=[];
for(var C=0;
C<this.slides.length;
C++){var B=this.slides[C];
if(!B.isDeleted){D.push({value:B,text:B.createDisplayText()})
}}this.headPanel.setInitialComboBoxContent(D);
this.headPanel.select(this.editedSlide)
},showSlide:function(B){this.referencedFileInfo=B.referencedFileInfo;
this.footPanel.setTitle(B.title);
if(this.referencedFileInfo){this.originalRefImage=new CQ.form.SmartImage.Image(this.referencedFileInfo);
this.originalRefImage.loadHandler=function(){this.hideTools();
var C=this.imageToolDefs.length;
for(var D=0;
D<C;
D++){this.imageToolDefs[D].onImageUploaded(this.originalRefImage)
}this.updateView()
}.createDelegate(this);
this.originalRefImage.load()
}else{this.originalRefImage=null;
this.updateView()
}},onSlideChanged:function(B){this.saveChanges();
this.editedSlide=B;
if(this.editedSlide){this.showSlide(this.editedSlide)
}},onAddButton:function(){this.addNewSlide();
this.buildComboBoxContent()
},onRemoveButton:function(){if(this.editedSlide){this.removeSlide()
}this.buildComboBoxContent()
}});
CQ.Ext.reg("slideshow",CQ.form.Slideshow);
CQ.form.Slideshow.Slide=CQ.Ext.extend(CQ.Ext.emptyFn,{referencedFileInfo:null,slideIndex:0,isPersistent:false,isDeleted:false,constructor:function(B){var C={referencedFileInfo:null,isPersistent:false,isDeleted:false,slideIndex:-1};
CQ.Ext.apply(this,B,C)
},createDisplayText:function(){if(this.title){return this.title
}else{if(this.referencedFileInfo){return this.referencedFileInfo.dataPath
}else{return CQ.I18n.getMessage("New slide")
}}},createTransferFields:function(E){var B=[];
var G="./"+E.replace("$",this.slideIndex);
if(!this.isDeleted){var D=G+"/fileReference";
var F=G+"/jcr:title";
if(this.referencedFileInfo){B.push(new CQ.Ext.form.Hidden({name:D,value:this.referencedFileInfo.dataPath}))
}else{B.push(new CQ.Ext.form.Hidden({name:D,value:""}))
}if(this.title){B.push(new CQ.Ext.form.Hidden({name:F,value:this.title}))
}else{B.push(new CQ.Ext.form.Hidden({name:F,value:""}))
}}else{if(this.isPersistent){var C=G+CQ.utils.Sling.DELETE_SUFFIX;
if(this.referencedFileInfo){B.push(new CQ.Ext.form.Hidden({name:C,value:"true"}))
}}}return B
}});
CQ.form.Slideshow.SlidesPanel=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){var D=this;
var C=new CQ.Ext.Button({itemId:"addButton",xtype:"button",text:"Add",afterRender:function(){CQ.Ext.Button.prototype.afterRender.call(this);
if(D._width){D.adjustSelectorWidth(D._width)
}},handler:function(){if(D.onAddButton){D.onAddButton()
}}});
var E=new CQ.Ext.Button({itemId:"removeButton",xtype:"button",text:"Remove",afterRender:function(){CQ.Ext.Button.prototype.afterRender.call(this);
if(D._width){D.adjustSelectorWidth(D._width)
}},handler:function(){if(D.onRemoveButton){D.onRemoveButton()
}}});
B=B||{};
var F={layout:"table",layoutConfig:{columns:3},defaults:{style:"padding: 3px;"},minSize:30,maxSize:30,height:30,items:[{itemId:"slideSelector",xtype:"panel",layout:"fit",border:false,height:30,hideBorders:true,items:[{itemId:"selector",xtype:"selection",type:"select",listeners:{selectionchanged:{fn:function(G,H){if(this.onSlideChanged){this.onSlideChanged(H)
}},scope:this}}}]},C,E],listeners:{bodyresize:{fn:function(H,G,I){this.adjustSelectorWidth(G)
},scope:this}}};
CQ.Util.applyDefaults(B,F);
CQ.form.Slideshow.SlidesPanel.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.Slideshow.SlidesPanel.superclass.initComponent.call(this)
},afterRender:function(){CQ.form.Slideshow.SlidesPanel.superclass.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY)
},adjustSelectorWidth:function(F){if(F){var C=this.items.get("slideSelector");
var E=this.items.get("addButton");
var G=this.items.get("removeButton");
if(E.rendered&&G.rendered){var D=F-E.getEl().getWidth()-G.getEl().getWidth();
C.setSize(D,30);
var B=C.items.get("selector");
B.setSize(D,E.getEl().getHeight())
}else{this._width=F
}}},setInitialComboBoxContent:function(C){var B=this.items.get("slideSelector").items.get("selector");
B.setOptions(C)
},select:function(C){var B=this.items.get("slideSelector").items.get("selector");
B.suspendEvents();
if(C){B.setValue(C)
}else{B.setValue(null)
}B.resumeEvents()
},updateSlide:function(C){if(C){var B=this.items.get("slideSelector").items.get("selector");
var D=B.comboBox.store;
var G=D.getTotalCount();
for(var F=0;
F<G;
F++){var E=D.getAt(F);
if(E.get("value")==C){E.set("text",C.createDisplayText())
}}D.commitChanges()
}},disableFormElements:function(){var B=this.items.get("slideSelector").items.get("selector");
B.disable()
},enableFormElements:function(){var B=this.items.get("slideSelector").items.get("selector");
B.enable()
}});
CQ.form.Slideshow.TitlePanel=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){B=B||{};
var C={layout:"table",layoutConfig:{columns:2},defaults:{style:"padding: 3px;"},minSize:30,maxSize:30,height:30,items:[{itemId:"titleLabel",xtype:"label",text:CQ.I18n.getMessage("Title")},{itemId:"titlePanel",xtype:"panel",layout:"fit",border:false,hideBorders:true,items:[{itemId:"title",xtype:"textfield"}]}],listeners:{bodyresize:{fn:function(E,D,F){this.adjustTitleWidth(D)
},scope:this}}};
CQ.Util.applyDefaults(B,C);
CQ.form.Slideshow.TitlePanel.superclass.constructor.call(this,B)
},initComponent:function(){CQ.form.Slideshow.SlidesPanel.superclass.initComponent.call(this)
},afterRender:function(){CQ.form.Slideshow.TitlePanel.superclass.afterRender.call(this);
this.el.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.body.setVisibilityMode(CQ.Ext.Element.DISPLAY)
},adjustTitleWidth:function(B){if(B){var C=this.items.get("titlePanel");
var D=this.items.get("titleLabel");
if(D.rendered){var E=B-D.getEl().getWidth();
C.setSize(E,30)
}else{this._width=B
}}},setTitle:function(D){var C=this.items.get("titlePanel");
var B=C.items.get("title");
B.setValue(D?D:"")
},getTitle:function(){var C=this.items.get("titlePanel");
var B=C.items.get("title");
return B.getValue()
},disableFormElements:function(){var C=this.items.get("titlePanel");
var B=C.items.get("title");
B.disable()
},enableFormElements:function(){var C=this.items.get("titlePanel");
var B=C.items.get("title");
B.enable()
}});
CQ.form.RichText=CQ.Ext.extend(CQ.Ext.form.HtmlEditor,{enableEditTools:false,enableStyle:false,enableParagraphFormat:false,enableSpecialChars:false,specialCharsConfig:null,enableSubSuperScript:false,linkButtons:null,cssStyles:null,externalStyleSheets:null,requiredStyleSheets:null,requiredCssPath:null,requiredLinkedCss:null,linkbrowseConfig:null,anchordialogConfig:null,defaultPasteMode:null,stripHtmlTags:false,trimLinkSelection:false,tabSize:0,allowBlank:true,removeSingleParagraphContainer:false,singleParagraphContainerReplacement:null,preProcessor:null,postProcessor:null,whitespaceProcessor:null,htmlBeforeKey:null,registeredCommands:null,registeredPlugins:null,isPasteOperation:false,contextMenuBuilder:null,contextMenu:null,adjustEditorToToolbarHeight:false,configurePlugins:function(){var J=function(P,N){var L=false;
var O=null;
if(P=="format"){L=this.enableFormat;
O=this.formatButtons
}else{if(P=="alignments"){L=this.enableAlignments;
O=this.alignmentButtons
}else{if(P=="lists"){L=this.enableLists;
O=this.listButtons
}else{if(P=="links"){L=this.enableLinks;
O=this.linkButtons
}else{if(P=="edit"){L=this.enableEditTools;
O=this.editToolButtons
}}}}}var M=false;
if(L){if(O){M=!!O[N]
}else{M=true
}}return M
}.createDelegate(this);
var D=function(L,N){var M=L;
switch(L){case"format":break;
case"justify":M="alignments";
N=N.substring(7,N.length);
break;
case"lists":break;
case"subsuperscript":return this.enableSubSuperScript;
case"links":if(N=="modifylink"){N="createlink"
}break;
case"paraformat":return this.enableParagraphFormat;
case"styles":return this.enableStyle;
case"misctools":if(N=="sourceedit"){return this.enableSourceEdit
}if(N=="specialchars"){return this.enableSpecialChars
}break
}return J(M,N)
}.createDelegate(this);
var H=this.rtePlugins;
for(var E in this.registeredPlugins){var G=this.registeredPlugins[E];
var C={features:[]};
var B=G.getFeatures();
var K=B.length;
for(var F=0;
F<K;
F++){var I=D(E,B[F]);
if(I){C.features.push(B[F])
}}if(H&&H[E]){CQ.Ext.apply(C,H[E])
}G.notifyPluginConfig(C)
}},processRecord:function(B,D){var C=B.get(this.getName());
if(C==undefined&&this.defaultValue!=null){this.setValue(this.defaultValue)
}else{this.setValue(C?C:"")
}},validateValue:function(B){if(B.length<1||B===CQ.Ext.form.TextField.prototype.emptyText){if(this.allowBlank){this.clearInvalid();
return true
}else{this.markInvalid(CQ.Ext.form.TextField.prototype.blankText);
return false
}}if(typeof this.validator=="function"){var C=this.validator(B);
if(C!==true){this.markInvalid(C);
return false
}}if(this.regex&&!this.regex.test(B)){this.markInvalid(CQ.Ext.form.TextField.prototype.regexText);
return false
}return true
},markInvalid:function(C){if(!this.rendered||this.preventMark){return 
}C=C||this.invalidText;
var B=this.wrap.mask();
B.addClass(this.invalidClass);
B.dom.qtip=C;
B.dom.qclass="x-form-invalid-tip";
B.on("click",function(){this.clearInvalid();
this.focus()
},this);
if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}this.fireEvent("invalid",this,C)
},clearInvalid:function(){if(!this.rendered||this.preventMark){return 
}if(this.wrap){this.wrap.unmask()
}this.fireEvent("valid",this)
},createTooltips:function(){this.tooltips={bold:{title:CQ.I18n.getMessage("Bold (Ctrl+B)"),text:CQ.I18n.getMessage("Make the selected text bold.")},italic:{title:CQ.I18n.getMessage("Italic (Ctrl+I)"),text:CQ.I18n.getMessage("Make the selected text italic.")},underline:{title:CQ.I18n.getMessage("Underline (Ctrl+U)"),text:CQ.I18n.getMessage("Underline the selected text.")},justifyleft:{title:CQ.I18n.getMessage("Align Text Left"),text:CQ.I18n.getMessage("Align text to the left.")},justifycenter:{title:CQ.I18n.getMessage("Center Text"),text:CQ.I18n.getMessage("Center text in the editor.")},justifyright:{title:CQ.I18n.getMessage("Align Text Right"),text:CQ.I18n.getMessage("Align text to the right.")},insertunorderedlist:{title:CQ.I18n.getMessage("Bullet List"),text:CQ.I18n.getMessage("Start a bulleted list.")},insertorderedlist:{title:CQ.I18n.getMessage("Numbered List"),text:CQ.I18n.getMessage("Start a numbered list.")},modifylink:{title:CQ.I18n.getMessage("Hyperlink"),text:CQ.I18n.getMessage("Create or modify a hyperlink.")},sourceedit:{title:CQ.I18n.getMessage("Source Edit"),text:CQ.I18n.getMessage("Switch to source editing mode.")},unlink:{title:CQ.I18n.getMessage("Unlink"),text:CQ.I18n.getMessage("Remove an existing hyperlink from the selected text.")},anchor:{title:CQ.I18n.getMessage("Anchor"),text:CQ.I18n.getMessage("Add or edit an anchor.")},specialchars:{title:CQ.I18n.getMessage("Special characters"),text:CQ.I18n.getMessage("Insert a special character.")},subscript:{title:CQ.I18n.getMessage("Subscript"),text:CQ.I18n.getMessage("Formats the selected text as subscript.")},superscript:{title:CQ.I18n.getMessage("Superscript"),text:CQ.I18n.getMessage("Formats the selected text as superscript.")},indent:{title:CQ.I18n.getMessage("Indent"),text:CQ.I18n.getMessage("Indents the selected paragraph(s) or list item(s).")},outdent:{title:CQ.I18n.getMessage("Outdent"),text:CQ.I18n.getMessage("Outdents the current paragraph(s) or list item(s).")},cut:{title:CQ.I18n.getMessage("Cut"),text:CQ.I18n.getMessage("Cuts the currently selected text and puts it in to the clipboard.")},copy:{title:CQ.I18n.getMessage("Copy"),text:CQ.I18n.getMessage("Copies the currently selected text to the clipboard.")},"paste-default":{title:CQ.I18n.getMessage("Paste"),text:CQ.I18n.getMessage("Pastes the clipboard content with the default paste method.")},"paste-plaintext":{title:CQ.I18n.getMessage("Paste as text"),text:CQ.I18n.getMessage("Pastes the clipboard content as plain text.")},"paste-wordhtml":{title:CQ.I18n.getMessage("Paste from Word"),text:CQ.I18n.getMessage("Pastes the clipboard content from Word, applying some cleanup.")},table:{title:CQ.I18n.getMessage("Table"),text:CQ.I18n.getMessage("Creates a new table or edits the properties of an existing table.")},find:{title:CQ.I18n.getMessage("Find"),text:CQ.I18n.getMessage("Finds a text fragment in the currently edited text.")},replace:{title:CQ.I18n.getMessage("Replace"),text:CQ.I18n.getMessage("Replaces a text fragment with another fragment.")}}
},constructor:function(D){var G=CQ.form.RichText;
var E=G.Command;
var F=G.Plugin;
var C=G.Common;
this.createTooltips();
var H={name:"text",layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},enableExtendedPasting:false,defaultPasteMode:"wordhtml",stripHtmlTags:true,trimLinkSelection:true,tabSize:4,indentSize:40,enableEditTools:false,enableStyle:false,enableParagraphFormat:false,enableSpecialChars:false,enableSourceEdit:false,enableFont:false,enableFontSize:false,enableColors:false,enableSubSuperScript:false,linkbrowseConfig:{protocols:["http://","ftp://","mailto:"],targetConfig:{mode:"manual"}},tagReplace:{strong:"b",em:"i"},styleReplace:[{style:"font-weight",value:"bold"},{style:"font-style",value:"italic"}],linkInternalize:[{tag:"a",attribute:"href"},{tag:"img",attribute:"src"}],formats:{paragraph:{tag:"p",description:CQ.I18n.getMessage("Paragraph")},heading1:{tag:"h1",description:CQ.I18n.getMessage("Heading 1")},heading2:{tag:"h2",description:CQ.I18n.getMessage("Heading 2")},heading3:{tag:"h3",description:CQ.I18n.getMessage("Heading 3")}},specialCharsConfig:{tableCls:"cq-rte-scd-table",cellCls:"cq-rte-scd-cell",overCls:"cq-rte-scd-cell-over",magnifyCls:"cq-rte-scd-magnify",chars:{copyright:{entity:"&copy;"},registered:{entity:"&reg;"},trademark:{entity:"&trade;"}}},height:CQ.themes.RichText.DEFAULT_HEIGHT,removeSingleParagraphContainer:false,singleParagraphContainerReplacement:"div",requiredCssPath:CQ.themes.RichText.DEFAULT_REQCSS_PATH,adjustEditorToToolbarHeight:true};
this.requiredStyleSheets=null;
this.requiredLinkedCss={iframeDefault:"RichText.iFrame.css"};
if(D&&D.formats){delete H.formats
}if(D&&D.specialCharsConfig&&D.specialCharsConfig.chars){delete H.specialCharsConfig.chars
}CQ.Util.applyDefaults(D,H);
CQ.form.RichText.superclass.constructor.call(this,D);
C.removeJcrData(this.cssStyles);
C.removeJcrData(this.externalStyleSheets);
C.removeJcrData(this.requiredLinkedCss);
C.removeJcrData(this.formats);
this.registeredCommands={subscript:new E.SubScript(),superscript:new E.SuperScript(),inserthtml:new E.InsertHtml(),indent:new E.Indent(),outdent:new E.Outdent(),justify:new E.Justify(),cutcopy:new E.CutCopy(),paste:new E.Paste(),link:new E.Link(),anchor:new E.Anchor(),format:new E.Format(),style:new E.Style(),table:new E.Table()};
this.registeredPlugins={edit:new G.EditTools(this),findreplace:new G.FindReplacePlugin(this),format:new G.SimpleFormatPlugin(this,"format",F.SORT_FORMAT,["bold","italic","underline"]),justify:new G.SimpleFormatPlugin(this,"justify",F.SORT_JUSTIFY,["justifyleft","justifycenter","justifyright"]),lists:new G.Lists(this),subsuperscript:new G.SubSuperScript(this),links:new G.LinkPlugin(this,this.linkbrowseConfig,this.anchordialogConfig),paraformat:new G.ParagraphFormatPlugin(this,this.formats),styles:new G.StylesPlugin(this,this.cssStyles),table:new G.TablePlugin(this),misctools:new G.MiscTools(this,this.specialCharsConfig)};
this.configurePlugins();
delete this.rtePlugins;
var B={};
for(var J in this.tagReplace){var I=this.tagReplace[J];
B[J]={rename:I}
}this.preProcessor=new CQ.form.RichText.HtmlProcessor.Pre({normalizeTags:true,stripIdAttribute:true,tagRules:B});
this.postProcessor=new CQ.form.RichText.HtmlProcessor.Post({normalizeTags:true,stripIdAttribute:true,tagRules:B});
this.whitespaceProcessor=new CQ.form.RichText.HtmlProcessor.WhitespaceProcessor();
this.contextMenuBuilder=new CQ.form.RichText.ContextMenuBuilder(this);
if(this.height){this.editorHeight=this.height
}},afterRender:function(){CQ.Ext.form.HtmlEditor.superclass.afterRender.call(this);
if(this.editorHeight){this.setHeight(this.editorHeight)
}},onRender:function(C,B){CQ.form.RichText.superclass.onRender.call(this,C,B);
var D=CQ.Ext.get(this.iframe);
D.setVisibilityMode(CQ.Ext.Element.DISPLAY);
var E=this.findParentByType("dialog");
if(E){E.on("show",function(G){if(CQ.Ext.isGecko){(function(){try{this.doc.execCommand("enableInlineTableEditing",false,false)
}catch(H){}}).createDelegate(this).defer(500)
}var F=CQ.Ext.get(this.iframe);
if(F){F.show()
}},this);
E.on("hide",function(G){var F=CQ.Ext.get(this.iframe);
if(F){F.hide()
}},this);
E.on("beforesubmit",function(F){if(this.initialized){this.getValue()
}if(!CQ.Ext.isIE){this.syncValue()
}},this)
}},getToolbarHeight:function(){var B=0;
for(var C=0;
C<this.tb.length;
C++){B+=this.tb[C].el.getHeight()
}return B
},onResize:function(J,F){CQ.Ext.form.HtmlEditor.superclass.onResize.apply(this,arguments);
if(this.el&&this.iframe){var E=this.wrap.getHeight();
var D;
var G=this.tb.length;
if(typeof (J)=="number"){var B=J-this.wrap.getFrameWidth("lr");
this.el.setWidth(this.adjustWidth("textarea",B));
if(!isNaN(B)&&(B>0)){this.iframe.style.width=B+"px"
}}var H=this.getToolbarHeight();
for(D=0;
D<G;
D++){this.tb[D].onResize(J,this.tb[D].el.getHeight())
}var C=this.getToolbarHeight();
if((typeof F=="number")||((H!=C)&&this.adjustEditorToToolbarHeight)){if(!F){F=E-this.wrap.getFrameWidth("tb")
}var I=F-this.wrap.getFrameWidth("tb")-C;
this.el.setHeight(this.adjustWidth("textarea",I));
if(!isNaN(I)&&(I>0)){this.iframe.style.height=I+"px";
if(this.doc){this.getEditorBody().style.height=(I-(this.iframePad*2))+"px"
}}}}},initEditor:function(){var C=this.getEditorBody();
var B=this.el.getStyles("font-size","font-family","background-image","background-repeat");
B["background-attachment"]="fixed";
C.bgProperties="fixed";
CQ.Ext.DomHelper.applyStyles(C,B);
if(this.doc){try{CQ.Ext.EventManager.removeAll(this.doc)
}catch(D){}}this.doc=this.getDoc();
if(CQ.Ext.isIE){CQ.Ext.EventManager.on(this.doc,{selectionchange:this.onEditorEvent,keyup:this.onEditorEvent,buffer:100,scope:this})
}else{CQ.Ext.EventManager.on(this.doc,{keyup:this.onEditorEvent,mouseup:this.onEditorEvent,buffer:100,scope:this})
}if(CQ.Ext.isGecko){CQ.Ext.EventManager.on(this.doc,"keypress",this.applyCommand,this)
}CQ.Ext.EventManager.on(this.doc,{keydown:this.handleKeys,keyup:this.onAfterKeyPressed,scope:this});
CQ.Ext.EventManager.on(this.win,{focus:this.onEditorEvent,scope:this});
if(CQ.Ext.isGecko){this.doc.execCommand("styleWithCSS",false,false)
}CQ.Ext.EventManager.on(this.doc.body,{contextmenu:function(E){E.preventDefault();
this.handleContextMenu(E);
return false
},scope:this});
this.addStyleSheets();
this.initialized=true;
this.fireEvent("initialize",this);
this.doc.editorInitialized=true;
this.pushValue()
},getDocMarkup:function(){var D="<html><head>";
if(this.requiredLinkedCss){for(var C in this.requiredLinkedCss){if(this.requiredLinkedCss.hasOwnProperty(C)){var B=this.requiredCssPath+"/"+this.requiredLinkedCss[C];
D+='<link rel="stylesheet" type="text/css" href="'+CQ.Util.externalize(B)+'">'
}}}D+='</head><body id="CQrte">'+this.getEmptyLinePlaceholderMarkup()+"</body></html>";
return D
},onEditorEvent:function(C){var B=false;
if(CQ.Ext.isGecko){B=(C.type=="mouseup")&&(C.button==2)
}else{if(CQ.Ext.isIE){B=(C.type=="selectionchange")
}}if(!B){if(this.contextMenu&&this.contextMenu.isVisible()){this.contextMenu.hide()
}}this.updateToolbar()
},getEmptyLinePlaceholderMarkup:function(){if(CQ.Ext.isGecko){return"<p><br></p>"
}return"<p>&nbsp;</p>"
},pushValue:function(){var C=CQ.form.RichText.DomProcessor;
if(this.initialized){var B=this.el.dom.value;
if(B.length<1){B=this.getEmptyLinePlaceholderMarkup()
}else{B=B.replace(/\n/g,"");
B=B.replace(/\r/g,"");
B=B.replace(/\t/g,"")
}if(this.fireEvent("beforepush",this,B)!==false){if(!CQ.Ext.isGecko){this.getEditorBody().innerHTML=B
}else{this.getEditorBody().innerHTML="";
if(B){var D=this.doc.designMode;
this.doc.designMode="off";
this.getEditorBody().innerHTML=B;
this.doc.designMode=D
}}C.ensureBlockContent(this.win,"p",null,false,false);
C.addRequiredEmptyLines(this.win);
C.adjustTables(this.win);
this.fireEvent("push",this,B)
}}},handleContextMenu:function(B){var F=CQ.form.RichText.Selection;
var L=CQ.form.RichText.DomProcessor;
this.contextMenuBuilder.clear();
var M=F.createProcessingSelection(this.win);
var G=L.createNodeList(M);
var D={selection:M,nodeList:G};
for(var C in this.registeredPlugins){if(this.registeredPlugins.hasOwnProperty(C)){this.registeredPlugins[C].handleContextMenu(this.contextMenuBuilder,D)
}}this.contextMenu=this.contextMenuBuilder.build();
if(this.contextMenu){var J=this.getEditorPosition();
var E=[0,0];
if(CQ.Ext.isGecko){E=[this.doc.body.scrollLeft,this.doc.body.scrollTop]
}else{if(CQ.Ext.isIE){var I=CQ.utils.WCM.getContentWindow()||window.top;
var K=I.document;
var H=K.body;
E=[K.documentElement.scrollLeft||H.scrollLeft,K.documentElement.scrollTop||H.scrollTop];
this.contextMenuSavedRange=F.getLeadRange(this.win)
}}var N=B.getPoint();
this.contextMenu.showAt([J[0]+N.x-E[0],J[1]+N.y-E[1]])
}},handleKeys:function(U){var C=CQ.form.RichText.DomProcessor;
var T=CQ.form.RichText.Selection;
var I=CQ.form.RichText.Common;
var O=this.getEditorBody();
var Z=U.getKey();
var H=false;
if(this.defaultPasteMode!="browser"){var Y=false;
if(CQ.Ext.isMac){Y=(U.metaKey&&(U.charCode==118))||(U.ctrlKey&&(Z==86))
}else{Y=(U.ctrlKey&&(Z==86))||(U.shiftKey&&(Z==45))
}if(Y){this.beforePaste()
}}if(Z==U.TAB){H=true;
var R="";
for(var L=0;
L<this.tabSize;
L++){R+="&nbsp;"
}if(CQ.Ext.isIE){var P=this.doc.selection.createRange();
if(P){P.collapse(true);
P.pasteHTML(R)
}}else{if(CQ.Ext.isOpera||CQ.Ext.isGecko){this.win.focus();
this.execCmd("InsertHTML",R)
}else{if(CQ.Ext.isSafari){this.execCmd("InsertText","\t")
}}}}var a;
this.mustEnsureBlocks=false;
if(Z==U.ENTER){if(!U.shiftKey){var N=false;
try{a=T.createProcessingSelection(this.win);
if(T.isSelection(a)){this.execCmd("Delete",null);
this.ensureMinimumContent()
}a=T.createProcessingSelection(this.win);
var S=a.startNode;
var W=C.getContainerNode(S);
if(I.isTag(W,["ul","ol","li"])){N=true
}if(!N){var K=a.startOffset;
var E=C.insertParagraph(this.win,S,K);
var B;
if(CQ.Ext.isGecko){B=I.getFirstChild(E);
if(!B){B=E
}else{if(B.nodeType==3){B=B.parentNode
}}}else{B=E
}T.selectNode(this.win,B,true);
if(CQ.Ext.isGecko){var D=this.win.document.body.scrollTop;
var M=this.iframe.clientHeight;
var J=E.offsetTop;
var G=E.clientHeight;
var Q=D+M;
var X=J+G;
if(X>Q){this.win.document.body.scrollTop=X-M
}}H=true
}}catch(U){N=true
}if(N){if(CQ.Ext.isGecko){this.mustEnsureBlocks=true
}}}}this.auxRootParaNodeCnt=0;
if((Z==U.BACKSPACE)||(Z==U.DELETE)){a=T.createProcessingSelection(this.win);
var V=C.createNodeList(a);
var F=I.getTagInPath(V.commonAncestor,C.AUXILIARY_ROOT_TAGS);
if(F){this.auxRootParaNodeCnt=I.getChildNodesByType(F,"p").length
}}if(H){if(CQ.Ext.isIE){this.htmlBeforeKey=null
}U.stopEvent();
this.deferFocus()
}else{if(CQ.Ext.isIE){this.htmlBeforeKey=O.innerHTML
}}},onAfterKeyPressed:function(K){var D=CQ.form.RichText.Selection;
var E=CQ.form.RichText.Common;
var N=CQ.form.RichText.DomProcessor;
var F;
if(CQ.Ext.isIE){if(this.htmlBeforeKey!=null){var M=this.getEditorBody().innerHTML;
this.handleIEAutoLinks(this.htmlBeforeKey,M);
this.htmlBeforeKey=null
}}this.ensureMinimumContent();
if(this.mustEnsureBlocks){var O=D.getSelection(this.win);
if(O.focusNode&&(O.focusNode.nodeType==1)){F=O.focusNode.childNodes[O.focusOffset];
if(E.isBodyNode(F.parentNode)&&E.isTag(F,"br")){var Q=N.insertAsParent(this.doc,F,"p",null);
D.selectNode(this.win,Q,true)
}}}var P=K.getKey();
if((P==K.BACKSPACE)||(P==K.DELETE)){if(CQ.Ext.isIE){var H=D.getLeadRange(this.win);
var L=H.duplicate();
if(H.move("character",1)==1){D.selectRange(this.win,H)
}else{if(H.move("character",-1)==-1){D.selectRange(this.win,H)
}}D.selectRange(this.win,L)
}O=D.createProcessingSelection(this.win);
if(!D.isSelection(O)){F=O.startNode;
var C=N.getScopedBlockNode(F);
if(C){if(!C.isAuxiliaryRoot){var B=C.dom.parentNode;
if(E.isTag(B,N.AUXILIARY_ROOT_TAGS)){var G=E.getChildNodesByType(B,"p");
var I=G.length;
if((I==1)&&(I<this.auxRootParaNodeCnt)){var R=G[0];
var J=D.createSelectionBookmark(this.win);
N.removeWithoutChildren(R);
D.selectBookmark(this.win,J)
}}}}}N.addRequiredEmptyLines(this.win)
}},ensureMinimumContent:function(){var F=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var G=CQ.form.RichText.Selection;
var B=this.getEditorBody();
var D=null;
if(B.childNodes.length==1){if(C.isTag(B.childNodes[0],"br")){B.removeChild(B.childNodes[0])
}}var E=F.ensureBlockContent(this.win,"p",null,false,true);
if(E){G.selectBookmark(this.win,E)
}if(B.childNodes.length==0){D=this.win.document.createElement("p");
B.appendChild(D);
F.ensureEmptyLinePlaceholders(this.win,D);
G.selectNode(this.win,D,true)
}return D
},handleIEAutoLinks:function(F,L){var P=CQ.form.RichText.Selection;
var D=CQ.form.RichText.HtmlProcessor;
if(F!=L){var N=D.TagMap;
var K=(new N()).create(F);
var S=(new N()).create(L);
if(K.length!=S.length){var T,I,R,O;
var G=K.length;
var J=L.length-F.length;
for(T=0;
T<G;
T++){I=K[T];
for(R=0;
R<S.length;
R++){O=S[R];
var H=(O.startPos==I.startPos)||(O.startPos==(I.startPos+J));
if((H)&&(O.charCnt==I.charCnt)){if(N.isTagEqual(I,O)){S.splice(R,1);
break
}}}}var C=S.length;
var E=0;
var B=false;
if(C>0){for(var W=0;
W<C;
W++){var M=S[W];
if(M.tagName=="a"){var V=M.opening.startPos-E;
var Q=V+M.opening.charCnt-1;
E+=M.opening.charCnt;
L=D.replace(L,V,Q,"");
V=M.closing.startPos-E;
Q=V+M.closing.charCnt-1;
E+=M.closing.charCnt;
L=D.replace(L,V,Q,"");
B=true
}}}if(B){var U=P.getCaretPos(this.win);
this.getEditorBody().innerHTML=L;
P.setCaretPos(this.win,U)
}}}},getHtmlPayload:function(){if(!this.initialized){return this.el.dom.value
}var H=this.getEditorBody();
if(!this.removeSingleParagraphContainer){return H.innerHTML
}var B=CQ.form.RichText.Common;
var J=H.childNodes.length;
var E=null;
for(var D=0;
D<J;
D++){var I=H.childNodes[D];
if(B.isTag(I,"p")){if(B.hasContent(I)){if(E!=null){return H.innerHTML
}E=I
}}else{return H.innerHTML
}}if(E!=null){var F=E.innerHTML;
var C=E.style;
if(E.className||C.textAlign||C.marginLeft){var G="<"+this.singleParagraphContainerReplacement;
if(E.className){G+=' class="'+CQ.Ext.util.Format.htmlEncode(E.className)+'"'
}if(C.textAlign||C.marginLeft){G+=' style="';
if(C.textAlign){G+="text-align: "+C.textAlign+";"
}if(C.marginLeft){G+="margin-left: "+C.marginLeft+";"
}G+='"'
}G+=">";
F=G+F+"</"+this.singleParagraphContainerReplacement+">"
}return F
}return""
},getValue:function(){if(this.initialized){this.cleanDom()
}var B=this.getHtmlPayload();
B=this.cleanHtml(B);
this.el.dom.value=B;
return CQ.form.RichText.superclass.getValue.call(this)
},syncValue:function(){if(this.initialized){var E=this.getEditorBody();
var D=this.getHtmlPayload();
if(CQ.Ext.isSafari){var C=E.getAttribute("style");
var B=C.match(/text-align:(.*?);/i);
if(B&&B[1]){D='<div style="'+B[0]+'">'+D+"</div>"
}}D=this.cleanHtml(D);
if(this.fireEvent("beforesync",this,D)!==false){this.el.dom.value=D;
this.fireEvent("sync",this,D)
}}},preprocessHtml:function(B){B=this.whitespaceProcessor.process(B);
B=CQ.form.RichText.HtmlProcessor.executeStyleReplace(B,this.styleReplace);
return this.preProcessor.process(B)
},setValue:function(B){CQ.Log.debug("CQ.form.RichText#setValue: unprocessed html: "+B);
B=this.preprocessHtml(B);
CQ.Log.debug("CQ.form.RichText#setValue: processed html: "+B);
CQ.form.RichText.superclass.setValue.call(this,B);
CQ.form.RichText.Selection.resetSelection(this.win,"start")
},getEditorPosition:function(B){if(this.rendered&&this.iframe){var C=CQ.Ext.get(this.iframe);
if(B===true){return[C.getLeft(true),C.getTop(true)]
}return C.getXY()
}return CQ.form.RichText.superclass.getPosition.call(this,B)
},addStyleSheets:function(){var X=this.doc.getElementsByTagName("head")[0];
if(this.externalStyleSheets){for(var W in this.externalStyleSheets){if(this.externalStyleSheets.hasOwnProperty(W)){var B=this.externalStyleSheets[W];
var C=this.doc.createElement("link");
C.type="text/css";
C.rel="stylesheet";
C.href=CQ.utils.Util.externalize(B);
C.media="screen";
X.appendChild(C)
}}}var T=[];
if(this.requiredStyleSheets){var U=this.requiredStyleSheets.length;
for(var R=0;
R<U;
R++){T.push(this.requiredStyleSheets[R])
}}if(this.cssStyles){for(S in this.cssStyles){T.push(S)
}}var G=T.length;
var J=document.styleSheets;
var L=J.length;
var S,I,O,M,H,N,P,Q,E,F;
if(CQ.Ext.isIE){var D=this.doc.createStyleSheet();
for(F=0;
F<G;
F++){S=T[F];
for(I=0;
I<L;
I++){O=J[I];
M=O.rules;
H=M.length;
N=null;
for(P=0;
P<H;
P++){Q=M[P];
E=Q.selectorText;
if(E=="."+S){D.addRule("."+E,Q.style.cssText);
break
}}}}}else{var K=this.doc.createElement("style");
K.type="text/css";
var V="";
for(F=0;
F<G;
F++){S=T[F];
for(I=0;
I<L;
I++){O=J[I];
M=O.cssRules;
H=M.length;
N=null;
for(P=0;
P<H;
P++){Q=M[P];
if(Q.type){if(Q.type==CSSRule.STYLE_RULE){E=Q.selectorText;
if(E==("."+S)){N=Q;
break
}}}}if(N){V+=N.cssText;
break
}}}K.appendChild(this.doc.createTextNode(V));
X.appendChild(K)
}},createToolbar:function(E){var D=new CQ.form.RichText.ToolbarBuilder(this);
for(var C in this.registeredPlugins){var F=this.registeredPlugins[C];
F.initializeUI(D)
}var B=new CQ.WrappingToolbar({renderTo:this.wrap.dom.firstChild});
B.el.on("click",function(G){G.preventDefault()
});
this.tb=[B];
D.createToolbar(this.tb)
},updateToolbar:function(){if(!this.activated){this.onFirstFocus();
return 
}var C=this.analyzeSelection();
for(var B in this.registeredPlugins){var D=this.registeredPlugins[B];
D.updateState(C)
}if(!this.contextMenu||!this.contextMenu.isVisible()){CQ.Ext.menu.MenuMgr.hideAll()
}this.syncValue()
},toggleSourceEdit:function(B){if(B===undefined){B=!this.sourceEditMode
}this.sourceEditMode=B===true;
var D=this.getToolbarItem("sourceedit");
if(D.pressed!==this.sourceEditMode){D.toggle(this.sourceEditMode);
return 
}var E=this.tb.length;
var G;
if(this.sourceEditMode){for(G=0;
G<E;
G++){this.tb[G].items.each(function(H){if(H.itemId!="sourceedit"){H.disable()
}})
}CQ.form.RichText.DomProcessor.removeUnnecessaryEmptyLinePlaceholders(this.getEditorBody());
this.syncValue();
this.iframe.className="x-hidden";
this.el.removeClass("x-hidden");
this.el.dom.removeAttribute("tabIndex");
this.el.focus()
}else{if(this.initialized){for(G=0;
G<E;
G++){this.tb[G].items.each(function(H){H.enable()
})
}}var F=this.el.dom.value;
this.el.dom.value=this.preprocessHtml(F);
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)
},analyzeSelection:function(){var E=CQ.form.RichText.Selection;
var N=CQ.form.RichText.DomProcessor;
var F=CQ.form.RichText.Common;
var L=false;
var C=[];
var D=[];
var B={};
var J=[];
var M=E.createProcessingSelection(this.win);
if(M){L=E.isSelection(M);
var G=N.createNodeList(M);
G.getAnchors(C,true);
G.getNamedAnchors(D,true);
if(L){G.getStyles(B,true)
}else{var I=M.startNode;
var H=M.startOffset;
if(H==0){var K=I;
while(I){I=F.getPreviousNode(I);
if(I&&I.nodeType==3){break
}if(F.isTag(I,"span")&&!F.isAncestor(I,K)){break
}if(F.isBlockNode(I)){I=null;
break
}}if(!I){I=K
}}N.getStyles(B,I)
}var O=G.commonAncestor;
while(O){if(F.isBodyNode(O)){break
}J.push(O);
O=O.parentNode
}}var P=(B.styles?B.styles:[]);
return{nodeList:G,isSelection:L,anchorCount:C.length,anchors:C,namedAnchorCount:D.length,namedAnchors:D,styleCount:P.length,styles:P,isContinuousStyle:B.isContinuousStyle,consistentFormatting:J,containerList:N.createContainerList(M)}
},getCustomCommand:function(E){var D=this.registeredCommands[E];
if(D){return D
}for(var C in this.registeredCommands){var B=this.registeredCommands[C];
if(B.isCommand(E)){return B
}}return null
},relayCmd:function(C,B){(function(){var E=CQ.form.RichText.Selection;
this.focus();
try{var D=this.execCmd(C,B);
if(CQ.Ext.isGecko&&D){if(D.geckoEnsureCaretVisibility&&D.bookmark){E.ensureCaretVisibility(this.win,this.iframe);
E.selectBookmark(this.win,D.bookmark)
}}}catch(F){if(F=="Cannot paste."){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Paste"),CQ.I18n.getMessage("Could not paste due to security restrictions of the browser.<br>Please use Ctrl+V to paste directly."),this.deferFocus,this)
}else{if(F=="Cannot copy."){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Copy"),CQ.I18n.getMessage("Could not copy due to security restrictions of the browser.<br>Please use Ctrl+C to copy directly."),this.deferFocus,this)
}else{if(F=="Cannot cut."){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Cut"),CQ.I18n.getMessage("Could not cut due to security restrictions of the browser.<br>Please use Ctrl+X to cut directly."),this.deferFocus,this)
}else{if(F=="Could not insert html due to IE limitations."){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not insert text due to internal Internet Explorer limitations. Please try to select a smaller text fragment and try again."),this.deferFocus,this)
}else{throw F
}}}}}this.updateToolbar()
}).defer(10,this)
},execCmd:function(G,L){var F=CQ.form.RichText;
var B=F.Selection;
var M=F.DomProcessor;
var D=F.Command;
var C=F.Common;
var E=this.getCustomCommand(G);
var J=null;
if(E){var N=E.getProcessingOptions();
var H={win:this.win,doc:this.doc,command:G,value:L,component:this};
if((N&D.PO_SELECTION)>0){H.selection=B.createProcessingSelection(this.win)
}if((N&D.PO_BOOKMARK)>0){if(H.selection){H.bookmark=B.bookmarkFromProcessingSelection(this.win,H.selection)
}else{H.bookmark=B.createSelectionBookmark(this.win)
}}if((N&D.PO_NODELIST)>0){if(!H.selection){H.selection=B.createProcessingSelection(this.win)
}H.nodeList=M.createNodeList(H.selection)
}var K=E.execute(H);
var I=H.bookmark;
if(I&&K&&K.selOffset){if(K.selOffset.start){I.startPos+=K.selOffset.start
}if(K.selOffset.collapse){I.charCnt=0
}else{if(K.selOffset.cnt){I.charCnt+=K.selOffset.cnt
}}}if(I){B.selectBookmark(this.win,I)
}if(K&&K.calleeRet){J=K.calleeRet
}}else{this.doc.execCommand(G,false,L===undefined?null:L);
if(CQ.Ext.isGecko&&C.strStartsWith(G,"insert")&&C.strEndsWith(G,"list")){M.ensureBlockContent(this.win,"p",null,true,false)
}}this.syncValue();
return J
},queryState:function(D,B){var C=this.getCustomCommand(D);
if(!C){return this.doc.queryCommandState(D)
}if(!B){B=this.analyzeSelection()
}return C.queryState(B,D)
},cleanDom:function(){var B=CQ.form.RichText.DomProcessor;
B.removeUnnecessaryEmptyLinePlaceholders(this.win.document.body)
},cleanHtml:function(E){var C=CQ.form.RichText.HtmlProcessor;
var D=CQ.form.RichText.Common;
E=E.replace(/[\n\r\t]/g,"");
var B=this.getEmptyLinePlaceholderMarkup();
E=E.replace(/<p><\/p>/ig,B);
var F=E.toLowerCase();
if(F==B){return""
}if(D.strEndsWith(F,B)){E=E.substring(0,E.length-B.length)
}E=C.executeInternalizeLinks(E,this.linkInternalize);
E=C.executeStyleReplace(E,this.styleReplace);
E=this.postProcessor.process(E);
return E
},beforePaste:function(){if(this.isPasteOperation){return 
}this.isPasteOperation=true;
this.pasteRange=null;
if(CQ.Ext.isIE){this.pasteRange=this.doc.selection.createRange()
}else{this.pasteRange=this.win.getSelection().getRangeAt(0)
}this.clipboard=this.doc.createElement("div");
this.clipboard.style.position="absolute";
this.clipboard.style.left="-1000px";
this.clipboard.style.top="-1000px";
if(CQ.Ext.isGecko){this.pasteRange.deleteContents();
this.pasteRange.insertNode(this.clipboard)
}else{this.doc.body.appendChild(this.clipboard)
}this.clipboard.appendChild(this.doc.createElement("br"));
var C;
if(CQ.Ext.isIE){C=this.doc.selection.createRange();
C.moveToElementText(this.clipboard);
C.select()
}else{this.scrollTopBeforePaste=this.doc.body.scrollTop;
C=this.doc.createRange();
C.selectNodeContents(this.clipboard);
var B=this.win.getSelection();
B.removeAllRanges();
B.addRange(C)
}this.afterPaste.createDelegate(this).defer(1)
},afterPaste:function(){var D=CQ.form.RichText.Selection;
var C=this.clipboard.innerHTML;
this.clipboard.parentNode.removeChild(this.clipboard);
var B=this.execCmd("paste",{html:C,mode:this.defaultPasteMode,pasteRange:this.pasteRange,stripHtmlTags:this.stripHtmlTags});
if(CQ.Ext.isGecko&&B.bookmark){D.ensureCaretVisibility(this.win,this.iframe);
D.selectBookmark(this.win,B.bookmark)
}this.clipboard=null;
this.pasteRange=null;
this.isPasteOperation=false
}});
CQ.form.RichText.removePrefixForInternalLinks=function(E){var H=location.href;
var D=CQ.HTTP.getSchemeAndAuthority(H)+"/";
var C=D.length;
if(E.length>C){if(E.substring(0,C)==D){var F=false;
var B=false;
if(E.length>H.length){if(E.substring(0,H.length)==H){var G=E.charAt(H.length);
switch(G){case"?":B=true;
F=true;
break;
case"#":F=true;
break
}}}if(F&&!B){E=E.substring(H.length,E.length)
}else{E=E.substring(C-1,E.length)
}}}return E
};
CQ.Ext.reg("richtext",CQ.form.RichText);
CQ.form.RichText.Common=function(){return{isBodyNode:function(B){return CQ.form.RichText.Common.isTag(B,"body")
},isTag:function(F,B){if(!F||(F.nodeType!=1)){return false
}var E=F.tagName.toLowerCase();
if(!CQ.Ext.isArray(B)){return(E==B.toLowerCase())
}var C=B.length;
for(var D=0;
D<C;
D++){if(E==B[D].toLowerCase()){return true
}}return false
},getNodeText:function(C){var B=C.nodeValue;
if(B){B=B.replace(/[\n\t\r]/g,"")
}return B
},getNodeCharacterCnt:function(C){if(C.nodeType==1){if(C.tagName.toLowerCase()=="br"){return 1
}return 0
}var B=CQ.form.RichText.Common.getNodeText(C);
if(B){return B.length
}return 0
},getNodeTextLength:function(E){if(E.nodeType==3){return CQ.form.RichText.Common.getNodeCharacterCnt(E)
}else{if(E.nodeType==1){var B=0;
var D=E.childNodes.length;
for(var F=0;
F<D;
F++){var C=E.childNodes[F];
B+=CQ.form.RichText.Common.getNodeTextLength(C)
}return B
}}return 0
},getNodeAtPositionRec:function(E,B,I){var D=CQ.form.RichText.Common;
if(E.nodeType==3){var J=D.getNodeCharacterCnt(E);
var C=B.charPos+J;
if((I>=B.charPos)&&(I<C)){B.node={dom:E,start:B.charPos,offset:I-B.charPos,nodeBefore:B.nodeBefore};
return 
}else{if(I==C){B.nodeBefore=E
}}B.charPos+=J
}else{if(E.nodeType==1){if(E.tagName.toLowerCase()=="br"){if(B.charPos==I){B.node={isNodeSelection:true,startOfElement:true,dom:E};
return 
}B.charPos++
}else{var F=B.charPos;
var H=E.childNodes.length;
for(var G=0;
G<H;
G++){D.getNodeAtPositionRec(E.childNodes[G],B,I);
if(B.node){if(!B.node.parentDom){B.node.parentDom=E;
B.node.parentStart=F;
B.node.parentOffset=I-F
}return 
}}if(D.isBlockNode(E)){if(B.charPos==I){B.node={isNodeSelection:true,startOfElement:false,dom:E};
return 
}B.charPos++
}}}}},getNodeAtPosition:function(D,E){var C={node:null,charPos:0,nodeBefore:null};
CQ.form.RichText.Common.getNodeAtPositionRec(D.document.body,C,E);
var B=C.node;
if(!B){if(!C.nodeBefore){return null
}B={dom:null,nodeBefore:C.nodeBefore}
}return B
},getCharacterOffsetForNodeRec:function(G,F,E){var C=CQ.form.RichText.Common;
if(E==G){return{isFound:true,charPos:F}
}if(E.nodeType==3){F+=C.getNodeCharacterCnt(E);
return{isFound:false,charPos:F}
}if(E.nodeType==1){if(E.tagName.toLowerCase()=="br"){F++
}else{var D=E.childNodes.length;
for(var H=0;
H<D;
H++){var B=C.getCharacterOffsetForNodeRec(G,F,E.childNodes[H]);
if(B.isFound){return B
}F=B.charPos
}if(C.isBlockNode(E)){F++
}}return{isFound:false,charPos:F}
}return{isFound:false,charPos:-1}
},getCharacterOffsetForNode:function(C,B){return CQ.form.RichText.Common.getCharacterOffsetForNodeRec(B,0,C.document.body).charPos
},getPreviousNode:function(C){if(C.previousSibling){C=C.previousSibling;
while(true){var B=C.childNodes.length;
if(B==0){return C
}C=C.childNodes[B-1]
}}return CQ.form.RichText.Common.getParentNode(C)
},getPreviousTextNode:function(B){do{B=CQ.form.RichText.Common.getPreviousNode(B)
}while(B&&(B.nodeType!=3));
return B
},getNextNode:function(B){if(B.childNodes.length>0){return B.childNodes[0]
}if(B.nextSibling){return B.nextSibling
}while(true){B=CQ.form.RichText.Common.getParentNode(B);
if(!B){return null
}if(B.nextSibling){return B.nextSibling
}}},isAncestor:function(C,B){do{B=CQ.form.RichText.Common.getParentNode(B);
if(B){if(B==C){return true
}}}while(B);
return false
},getChildIndex:function(C){var B=C.parentNode.childNodes.length;
for(var D=0;
D<B;
D++){if(C.parentNode.childNodes[D]==C){return D
}}return -1
},createIndexPath:function(C){var B=CQ.form.RichText.Common.getParentNode(C);
if(!B){return[]
}var E=CQ.form.RichText.Common.getChildIndex(C);
var D=CQ.form.RichText.Common.createIndexPath(B);
D.push(E);
return D
},compareIndexPaths:function(F,D){var E=F.length;
var C=D.length;
var B=0;
while(true){if(B>=E){if(B>=C){return 0
}return 1
}if(B>=C){return -1
}if(F[B]<D[B]){return 1
}if(F[B]>D[B]){return -1
}B++
}},fastParseTagName:function(B){var E=B.indexOf("<");
if(E<0){return null
}var D=B.indexOf(">",E+1);
if(D<0){return null
}var F=B.substring(E+1,D);
var C=F.indexOf(" ");
if(C>0){F=F.substring(0,C)
}return F.toLowerCase()
},getLastChild:function(D,E){var B=CQ.form.RichText.Common;
if(D.nodeType==3){return D
}var C=D.childNodes.length;
if(C==0){return(E?D:null)
}return B.getLastChild(D.childNodes[C-1],true)
},getFirstChild:function(D,E){var B=CQ.form.RichText.Common;
if(D.nodeType==3){return D
}var C=D.childNodes.length;
if(C==0){return(E?D:null)
}return B.getFirstChild(D.childNodes[0],true)
},hasTextChild:function(C,B){return(CQ.form.RichText.Common.getFirstTextChild(C,B)!=null)
},getFirstTextChild:function(E,B){var C=CQ.form.RichText.Common;
if(B){if(C.getNodeCharacterCnt(E)>0){return E
}}else{if(E.nodeType==3){return E
}}var D=E.childNodes.length;
for(var G=0;
G<D;
G++){var F=C.getFirstTextChild(E.childNodes[G],B);
if(F){return F
}}return null
},getLastTextChild:function(C){if(C.nodeType==3){return C
}var B=C.childNodes.length;
for(var E=B-1;
E>=0;
E--){var D=CQ.form.RichText.Common.getLastTextChild(C.childNodes[E]);
if(D){return D
}}return null
},getParentNode:function(B){if((B.nodeType==1)&&(B.tagName.toLowerCase()=="body")){return null
}return B.parentNode
},getBlockNode:function(C){var B=CQ.form.RichText.Common;
while(C){if(B.isBodyNode(C.parentNode)){return C
}C=B.getParentNode(C)
}return null
},isBlockNode:function(B){return(B&&B.parentNode&&CQ.form.RichText.Common.isBodyNode(B.parentNode))
},removeNodesWithoutContent:function(C){while(C&&(C.nodeType==1)&&(C.tagName.toLowerCase()!="body")){if(C.childNodes.length>0){break
}var B=C.parentNode;
B.removeChild(C);
C=B
}},hasContent:function(F){if(F.nodeType==3){return true
}var C=F.childNodes.length;
if(C==0){return false
}for(var G=0;
G<C;
G++){var B=F.childNodes[G];
if(B.nodeType==3){var E=B.nodeValue;
E=E.replace(/[\n\t\r \u00A0]/g,"");
if(E.length>0){return true
}}else{var D=CQ.form.RichText.Common.hasContent(B);
if(D){return true
}}}return false
},getTagInPath:function(D,C){var B=CQ.form.RichText.Common;
while(D){if(D.nodeType==1){if(B.isBodyNode(D)){return null
}if(B.isTag(D,C)){return D
}}D=B.getParentNode(D)
}return null
},containsTagInPath:function(C,B){return(CQ.form.RichText.Common.getTagInPath(C,B)!=null)
},matchesTagDefs:function(E,B){var D=B.length;
for(var C=0;
C<D;
C++){if(CQ.form.RichText.Common.matchesTagDef(E,B[C])){return true
}}return false
},matchesTagDef:function(F,D){if(F.nodeType!=1){return false
}if(F.tagName.toLowerCase()!=D.tagName.toLowerCase()){return false
}var E,B,C;
if(D.attribsDefined){B=D.attribsDefined.length;
for(E=0;
E<B;
E++){C=D.attribsDefined[E];
if(!F.getAttribute(C)){return false
}}}if(D.attribsUndefined){B=D.attribsUndefined.length;
for(E=0;
E<B;
E++){C=D.attribsUndefined[E];
if(F.getAttribute(C)){return false
}}}return true
},replaceNode:function(B,D){var C=B.childNodes;
while(C.length>0){var E=C[0];
B.removeChild(E);
D.appendChild(E)
}B.parentNode.replaceChild(D,B)
},getListLevel:function(D){var B=CQ.form.RichText.Common;
var C=0;
while(D){D=B.getParentNode(D);
if(D&&(B.isTag(D,"ul")||B.isTag(D,"ol"))){C++
}}return C
},moveChildren:function(E,C,D){if(!D){D=0
}var G=E.childNodes.length;
for(var F=G-1;
F>=D;
F--){var B=E.childNodes[F];
E.removeChild(B);
C.insertBefore(B,C.firstChild)
}},strStartsWith:function(D,C){var B=C.length;
if(D.length>=B){return(D.substring(0,B)==C)
}return false
},strEndsWith:function(E,D){var C=E.length;
var B=D.length;
if(C>=B){return(E.substring(C-B,C)==D)
}return false
},getChildNodesByType:function(G,E,F,J){var D=CQ.form.RichText.Common;
J=J||[];
E=E.toLowerCase();
var C=G.childNodes;
var I=C.length;
for(var H=0;
H<I;
H++){var B=C[H];
if(D.isTag(B,E)){J.push(B)
}if(F&&(B.nodeType==1)){D.getChildNodesByType(B,E,F,J)
}}return J
},getConsistentStyle:function(F,D,B){var C=F.length;
var H;
for(var I=0;
I<C;
I++){var G=F[I];
var E=G.style[D]?G.style[D]:B;
if(I==0){H=E
}else{if(E!=H){return null
}}}return H
},insertNode:function(F,E,G){var D=CQ.form.RichText.Common;
if(E.nodeType==1){if(!G){E.parentNode.insertBefore(F,E)
}else{if(G>=E.childNodes.length){E.parentNode.append(F)
}else{var B=E.childNodes[G];
E.parentNode.insertBefore(F,B)
}}return 
}if(G==0){E.parentNode.insertBefore(F,E)
}else{if(G>=D.getNodeCharacterCnt(E)){E.parentNode.insertBefore(F,E.nextSibling)
}else{var I=E.nodeValue;
E.nodeValue=I.substring(0,G);
var C=E.cloneNode(false);
C.nodeValue=I.substring(G,I.length);
var H=E.nextSibling;
var J=E.parentNode;
J.insertBefore(F,H);
J.insertBefore(C,H)
}}},getLastBlockNode:function(C){while(!CQ.form.RichText.Common.isBodyNode(C)){C=C.parentNode
}var B=C.childNodes;
if(B.length==0){return null
}return B[B.length-1]
},parseCSS:function(B){if(B.nodeType!=1){return[]
}return B.className.split(" ")
},hasCSS:function(E,C){if(E.nodeType!=1){return false
}var B=CQ.form.RichText.Common.parseCSS(E);
var D=B.length;
for(var F=0;
F<D;
F++){if(B[F]==C){return true
}}},addClass:function(C,B){if(!CQ.form.RichText.Common.hasCSS(C,B)){if(C.className){C.className+=" "+B
}else{C.className=B
}}},removeClass:function(G,E){var F=CQ.form.RichText.Common.parseCSS(G);
var D="";
var B=false;
for(var C=0;
C<F.length;
C++){if(F[C]==E){B=true
}else{if(D.length>0){D+=" "
}D+=F[C]
}}if(B){if(D){G.className=D
}else{if(CQ.Ext.isIE){G.removeAttribute("className")
}else{G.removeAttribute("class")
}}}},getTableRow:function(B){var C=CQ.form.RichText.Common;
var D=[];
var F=B.parentNode.childNodes;
for(var E=0;
E<F.length;
E++){B=F[E];
if(C.isTag(B,["td","th"])){D.push(B)
}}return D
},getTableColumn:function(B){var D=CQ.form.RichText.Common;
var F=[];
var H=B.parentNode.parentNode.childNodes;
var I=B.parentNode.childNodes;
var C=-1;
for(var G=0;
G<I.length;
G++){if(B==I[G]){C=G
}}if(C<0){return F
}for(G=0;
G<H.length;
G++){I=H[G].childNodes;
if(C<I.length){var E=I[C];
if(D.isTag(E,["td","th"])){F.push(E)
}}}return F
},removeJcrData:function(C){for(var B in C){if(CQ.form.RichText.Common.strStartsWith(B,"jcr:")){delete C[B]
}else{if(B=="xtype"){delete C[B]
}}}},dumpNode:function(B,C,D){var E=(C?C:"");
if(B){if(B.nodeType==1){E+=B.tagName
}else{if(B.nodeType==3){E+='"'+B.nodeValue+'"'
}}}else{E+="[No node]"
}if(D){E+=D
}return E
},dumpNodeRecursively:function(D,B){if(!B){B=0
}var E="";
for(var G=0;
G<B;
G++){E+="   "
}E+=CQ.form.RichText.Common.dumpNode(D)+"\n";
if(D&&(D.nodeType==1)){var C=D.childNodes.length;
for(var F=0;
F<C;
F++){E+=CQ.form.RichText.Common.dumpNodeRecursively(D.childNodes[F],B+1)
}}return E
},dumpObject:function(F,E,D){var C=CQ.form.RichText.Common;
var G="";
if(!E){E=0
}var H="";
for(var J=0;
J<E;
J++){H+=" "
}if(!F){return H+"---"
}if(F.hasOwnProperty){for(var B in F){if(F.hasOwnProperty(B)){var I=F[B];
G+=H+B+":";
if((I===null)||(I===undefined)){G+=" [undefined]\n"
}else{if(typeof (I)=="object"){if(I.nodeType&&(I.tagName||I.nodeValue)){if(D){G+="\n"+C.dumpNodeRecursively(I,E+2)
}else{G+=C.dumpNode(I)+"\n"
}}else{G+="\n"+C.dumpObject(I,E+2)
}}else{G+=" "+I+"\n"
}}}}}else{if(F.nodeType){if(D){G+=C.dumpNodeRecursively(F,E)
}else{G+=H+C.dumpNode(F)+"\n"
}}else{G+=H+"[native object]\n"
}}return G
},ieLog:function(C){var D=document.getElementById("debug");
if(D){if(!C){C=""
}C=CQ.Ext.util.Format.htmlEncode(C);
var B=true;
if((C.length>0)&&(C.charAt(C.length-1)=="\n")){B=false
}C=C.replace(/\n/g,"<br>");
C=C.replace(/ /g,"&nbsp;");
D.innerHTML=D.innerHTML+C+(B?"<br>":"")
}}}
}();
CQ.form.RichText.HtmlProcessor=function(){return{replace:function(text,startPos,endPosIncl,replacement){var preStr="";
if(startPos>0){preStr=text.substring(0,startPos)
}var postStr="";
if((endPosIncl+1)<text.length){postStr=text.substring(endPosIncl+1,text.length)
}return preStr+replacement+postStr
},isBlockTag:function(tagName){var tags=CQ.form.RichText.DomProcessor.BLOCK_TAGS;
var tagNameLC=tagName.toLowerCase();
var tagCnt=tags.length;
for(var tagIndex=0;
tagIndex<tagCnt;
tagIndex++){if(tags[tagIndex]==tagNameLC){return true
}}return false
},skipWhitespace:function(str,pos){while((pos<str.length)&&(str.charCodeAt(pos)<=32)){pos++
}if(pos>=str.length){return -1
}return pos
},stripSurroundingWhitespace:function(text,excludeSpace){var spaceIndex=0;
var lastValidChar=(excludeSpace?31:32);
while(spaceIndex<text.length){if(text.charCodeAt(spaceIndex)>lastValidChar){break
}spaceIndex++
}if(spaceIndex<text.length){text=text.substring(spaceIndex,text.length)
}else{text=""
}spaceIndex=text.length;
while(spaceIndex>0){spaceIndex--;
if(text.charCodeAt(spaceIndex)>=lastValidChar){break
}}if(spaceIndex>=0){text=text.substring(0,spaceIndex+1)
}else{text=""
}return text
},parseTag:function(tagStr){var tagDef={tagName:null,attributes:{}};
if(tagStr.length<3){return tagDef
}var firstChar=CQ.form.RichText.HtmlProcessor.skipWhitespace(tagStr,0);
if(firstChar<0){return tagDef
}if(tagStr.charAt(firstChar)!="<"){return tagDef
}var closingBrace=tagStr.lastIndexOf(">");
if(closingBrace<=firstChar){return tagDef
}if(closingBrace>0){if(tagStr.charAt(closingBrace-1)=="/"){closingBrace--
}}var tagEnd=tagStr.indexOf(" ",firstChar);
if(tagEnd<0){tagDef.tagName=tagStr.substring(firstChar+1,closingBrace).toLowerCase();
return tagDef
}tagDef.tagName=tagStr.substring(firstChar+1,tagEnd).toLowerCase();
var processPos=tagEnd;
while(true){if(processPos>=closingBrace){return tagDef
}processPos=CQ.form.RichText.HtmlProcessor.skipWhitespace(tagStr,processPos);
if(processPos<0){return tagDef
}var attribSepPos=tagStr.indexOf("=",processPos);
if(attribSepPos<0){return tagDef
}var attributeName=tagStr.substring(processPos,attribSepPos).toLowerCase();
var spacePos=tagStr.indexOf(" ",attribSepPos+1);
var quotChar='"';
var quotPos=tagStr.indexOf('"',attribSepPos+1);
var aposPos=tagStr.indexOf("'",attribSepPos+1);
var attributeValue;
var valueStartIndex=-1;
var valueCharCnt=-1;
var isQuotedValue=true;
if(quotPos>closingBrace){quotPos=-1
}if(aposPos>closingBrace){aposPos=-1
}if(spacePos>closingBrace){spacePos=-1
}if(aposPos>=0){if((aposPos<quotPos)||(quotPos<0)){quotPos=aposPos;
quotChar="'"
}}if((quotPos>=0)&&((quotPos<spacePos)||(spacePos<0))){var endQuotPos=tagStr.indexOf(quotChar,quotPos+1);
if(endQuotPos<0){return tagDef
}attributeValue=tagStr.substring(quotPos+1,endQuotPos);
valueStartIndex=quotPos+1;
valueCharCnt=(endQuotPos-(quotPos+1));
processPos=endQuotPos+1
}else{var lastCharPos=(spacePos>=0?spacePos:closingBrace);
attributeValue=tagStr.substring(attribSepPos+1,lastCharPos);
isQuotedValue=false;
valueStartIndex=attribSepPos+1;
valueCharCnt=(lastCharPos-(attribSepPos+1));
processPos=lastCharPos+1
}tagDef.attributes[attributeName]={name:attributeName,value:attributeValue,pos:valueStartIndex,cnt:valueCharCnt,quoted:isQuotedValue}
}},parseStyleDef:function(styleStr){styleStr=CQ.Ext.util.Format.htmlDecode(styleStr);
var processPos=0;
var styleDef={};
while(true){processPos=CQ.form.RichText.HtmlProcessor.skipWhitespace(styleStr,processPos);
if(processPos<0){return styleDef
}var sepPos=styleStr.indexOf(":",processPos+1);
var styleName=styleStr.substring(processPos,sepPos);
styleName=CQ.form.RichText.HtmlProcessor.stripSurroundingWhitespace(styleName);
if(styleName.length==0){return styleDef
}var defEndPos=styleStr.indexOf(";",sepPos+1);
if(defEndPos<0){defEndPos=styleStr.length
}var styleCode=styleStr.substring(sepPos+1,defEndPos);
styleCode=CQ.form.RichText.HtmlProcessor.stripSurroundingWhitespace(styleCode);
styleDef[styleName]=styleCode;
processPos=defEndPos+1
}},handleHtmlText:function(htmlStr,callback,startPos,endPos){var noReplacementRet={html:htmlStr,delta:0};
if(!callback.onHtmlText){return noReplacementRet
}if(endPos<=startPos){return noReplacementRet
}var text=htmlStr.substring(startPos,endPos);
var replaceStr=callback.onHtmlText(text);
if(replaceStr==null){return noReplacementRet
}var delta=replaceStr.length-(endPos-startPos);
htmlStr=CQ.form.RichText.HtmlProcessor.replace(htmlStr,startPos,endPos-1,replaceStr);
return{html:htmlStr,delta:delta}
},getProcessingTagEndPos:function(htmlStr,dataPos){var strLen=htmlStr.length;
var charAtPos=htmlStr.charAt(dataPos);
if(charAtPos=="!"){if(strLen>dataPos+3){if(htmlStr.substring(dataPos,dataPos+3)=="!--"){return htmlStr.indexOf("-->",dataPos+3)+2
}}return htmlStr.indexOf(">",dataPos+1)
}return htmlStr.indexOf(">",dataPos)
},parseHtml:function(htmlStr,callback){var hpr=CQ.form.RichText.HtmlProcessor;
var processingPos=0;
var textPos=0;
var textHandlerResult;
while((processingPos>=0)&&(processingPos<htmlStr.length)){var tagStartPos=htmlStr.indexOf("<",processingPos);
if(tagStartPos>=0){var dataPos=hpr.skipWhitespace(htmlStr,tagStartPos+1);
var firstCharOfTag=htmlStr.charAt(dataPos);
var tagName,tagEndPos,replaceStr;
if((firstCharOfTag=="?")||(firstCharOfTag=="!")){processingPos=hpr.getProcessingTagEndPos(htmlStr,dataPos);
if(processingPos>0){textHandlerResult=hpr.handleHtmlText(htmlStr,callback,textPos,tagStartPos);
htmlStr=textHandlerResult.html;
tagStartPos+=textHandlerResult.delta;
dataPos+=textHandlerResult.delta;
processingPos+=textHandlerResult.delta;
if(callback.onProcessingTag){var pTag=htmlStr.substring(tagStartPos,processingPos+1);
replaceStr=callback.onProcessingTag(pTag);
if(replaceStr!=null){htmlStr=hpr.replace(htmlStr,tagStartPos,processingPos,replaceStr);
processingPos+=replaceStr.length-pTag.length+1
}}else{processingPos++
}textPos=processingPos
}}else{if(firstCharOfTag=="/"){tagEndPos=htmlStr.indexOf(">",dataPos+1);
if(tagEndPos>0){textHandlerResult=hpr.handleHtmlText(htmlStr,callback,textPos,tagStartPos);
htmlStr=textHandlerResult.html;
tagStartPos+=textHandlerResult.delta;
dataPos+=textHandlerResult.delta;
tagEndPos+=textHandlerResult.delta;
tagName=htmlStr.substring(dataPos+1,tagEndPos);
tagName=hpr.stripSurroundingWhitespace(tagName);
if(callback.onTagEnd){replaceStr=callback.onTagEnd(tagName.toLowerCase(),tagStartPos,tagEndPos-tagStartPos+1);
if(replaceStr!=null){htmlStr=hpr.replace(htmlStr,tagStartPos,tagEndPos,replaceStr);
var endTagLen=tagEndPos-tagStartPos+1;
tagEndPos+=replaceStr.length-endTagLen
}}}else{tagEndPos=dataPos
}processingPos=tagEndPos+1;
textPos=processingPos
}else{tagEndPos=htmlStr.indexOf(">",tagStartPos);
if(tagEndPos>0){var includesClosingTag=false;
if(htmlStr.charAt(tagEndPos-1)=="/"){includesClosingTag=true
}textHandlerResult=hpr.handleHtmlText(htmlStr,callback,textPos,tagStartPos);
htmlStr=textHandlerResult.html;
tagStartPos+=textHandlerResult.delta;
dataPos+=textHandlerResult.delta;
tagEndPos+=textHandlerResult.delta;
var tag=htmlStr.substring(tagStartPos,tagEndPos+1);
var tagDef=hpr.parseTag(tag);
tagName=tagDef.tagName;
if(tagName&&callback.onTagStart){replaceStr=callback.onTagStart(tagName,tagDef.attributes,tagStartPos,tag.length);
if(replaceStr!=null){htmlStr=hpr.replace(htmlStr,tagStartPos,tagEndPos,replaceStr);
tagEndPos+=replaceStr.length-tag.length
}}if(tagName&&includesClosingTag&&callback.onTagEnd){replaceStr=callback.onTagEnd(tagName);
if(replaceStr!=null){htmlStr=hpr.replace(htmlStr,tagEndPos+1,tagEndPos,replaceStr);
tagEndPos+=replaceStr.length
}}}else{tagEndPos=dataPos
}processingPos=tagEndPos+1;
textPos=processingPos
}}}else{textHandlerResult=hpr.handleHtmlText(htmlStr,callback,processingPos,htmlStr.length);
htmlStr=textHandlerResult.html;
processingPos=-1
}}return htmlStr
},hasEqualAttributes:function(attribs,cmpAttribs){var attribCnt=0;
for(var attribToCheck in attribs){if(attribs.hasOwnProperty(attribToCheck)){if(!cmpAttribs.hasOwnProperty(attribToCheck)){return false
}if(attribs[attribToCheck].value!=cmpAttribs[attribToCheck].value){return false
}attribCnt++
}}for(attribToCheck in cmpAttribs){if(cmpAttribs.hasOwnProperty(attribToCheck)){attribCnt--;
if(attribCnt<0){return false
}}}return(attribCnt==0)
},parseStyleTag:function(tagStr){var tagReplacement=null;
var tagDef=CQ.form.RichText.HtmlProcessor.parseTag(tagStr);
var styleDef=tagDef.attributes.style;
if(styleDef){styleDef=styleDef.value;
var styleDefs=CQ.form.RichText.HtmlProcessor.parseStyleDef(styleDef);
if(styleDefs["font-weight"]=="bold"){if(!tagReplacement){tagReplacement=new Array()
}tagReplacement.push("b")
}if(styleDefs["font-style"]=="italic"){if(!tagReplacement){tagReplacement=new Array()
}tagReplacement.push("i")
}}return tagReplacement
},executeTagReplace:function(value,tagReplace){if(tagReplace){for(var srcTag in tagReplace){if(tagReplace.hasOwnProperty(srcTag)){var destTag=tagReplace[srcTag];
if(srcTag&&destTag){var srcStartTag="<"+srcTag+">";
var srcEndTag="<\\/"+srcTag+">";
var destStartTag="<"+destTag+">";
var destEndTag="</"+destTag+">";
var expStart=eval("/"+srcStartTag+"/gi");
var expEnd=eval("/"+srcEndTag+"/gi");
value=value.replace(expStart,destStartTag);
value=value.replace(expEnd,destEndTag)
}}}}return value
},executeStyleReplace:function(value,styleReplace){if(styleReplace){var tag,tagEndPos,tagsToReplace,replaceText;
var replacePos=0;
var spanEndTags=new Array();
while(replacePos>=0){var valueLC=value.toLowerCase();
tag=null;
var closingTagPos=valueLC.indexOf("</span>",replacePos);
var wholeTagPos=valueLC.indexOf("<span>",replacePos);
replacePos=valueLC.indexOf("<span ",replacePos);
if((wholeTagPos>=0)&&((wholeTagPos<replacePos)||(replacePos<0))){replacePos=wholeTagPos
}while((closingTagPos>=0)&&((closingTagPos<replacePos)||(replacePos<0))){tagsToReplace=spanEndTags.pop();
var replaceCnt=tagsToReplace.length;
if((replaceCnt>0)&&(tagsToReplace[0]!="span")){replaceText="";
for(var replaceIndex=replaceCnt-1;
replaceIndex>=0;
replaceIndex--){replaceText+="</"+tagsToReplace[replaceIndex]+">"
}value=CQ.form.RichText.HtmlProcessor.replace(value,closingTagPos,closingTagPos+6,replaceText);
closingTagPos+=replaceText.length;
replacePos+=replaceText.length-7
}else{closingTagPos+=7
}valueLC=value.toLowerCase();
closingTagPos=valueLC.indexOf("</span>",closingTagPos)
}if(replacePos>=0){tagEndPos=valueLC.indexOf(">",replacePos);
if(tagEndPos>replacePos){tag=value.substring(replacePos,tagEndPos+1)
}}if(tag){tagsToReplace=CQ.form.RichText.HtmlProcessor.parseStyleTag(tag);
if(tagsToReplace){replaceText="";
var tagCnt=tagsToReplace.length;
var closingTagInfo=new Array();
for(var tagIndex=0;
tagIndex<tagCnt;
tagIndex++){var tagToReplace=tagsToReplace[tagIndex];
closingTagInfo.push(tagToReplace);
replaceText+="<"+tagToReplace+">"
}value=CQ.form.RichText.HtmlProcessor.replace(value,replacePos,tagEndPos,replaceText);
replacePos+=replaceText.length;
spanEndTags.push(closingTagInfo)
}else{replacePos+=tag.length;
spanEndTags.push(["span"])
}}}}return value
},executeInternalizeLinks:function(value,linkInternalize){var valueLC=value.toLowerCase();
var replacePos,tagEndPos;
var tagCnt=linkInternalize.length;
for(var tagIndex=0;
tagIndex<tagCnt;
tagIndex++){var tag=linkInternalize[tagIndex];
var tagName=tag.tag;
var attribute=tag.attribute;
replacePos=0;
while((replacePos>=0)&&(replacePos<value.length)){replacePos=valueLC.indexOf("<"+tagName+" ",replacePos);
if(replacePos>=0){var tagStr=null;
tagEndPos=valueLC.indexOf(">",replacePos+1);
if(tagEndPos>replacePos){tagStr=value.substring(replacePos,tagEndPos+1)
}if(tagStr){var tagDef=CQ.form.RichText.HtmlProcessor.parseTag(tagStr);
if(tagDef){var attribDef=tagDef.attributes[attribute];
if(attribDef){var attribValue=attribDef.value;
var attribPos=attribDef.pos;
var attribCharCnt=attribDef.cnt;
var isQuoted=attribDef.quoted;
var url=CQ.form.RichText.removePrefixForInternalLinks(attribValue);
if(url!=attribValue){if(!isQuoted){url='"'+url+'"'
}value=CQ.form.RichText.HtmlProcessor.replace(value,replacePos+attribPos,replacePos+attribPos+attribCharCnt-1,url);
valueLC=value.toLowerCase();
replacePos+=tagStr.length+(url.length-attribValue.length)
}else{replacePos+=tagStr.length
}}else{replacePos+=tagStr.length
}}else{replacePos+=tagStr.length
}}else{replacePos+=tagName.length+2
}}}}return value
}}
}();
CQ.form.RichText.HtmlProcessor.Base=CQ.Ext.extend(CQ.Ext.emptyFn,{stripIdAttribute:false,normalizeTags:false,tagsToRewrite:null,tagsToRemove:null,tagRules:null,removeIdAttribute:function(C){if(!this.stripIdAttribute){return null
}if(!C.id){return null
}var B=[];
for(var D in C){if(D!="id"){B[D]=C[D]
}}return B
},createTag:function(D,E,C){var B="<";
if(C){B+="/"
}B+=(this.normalizeTags?D.toLowerCase():D);
if(E&&!C){B+=this.createAttributes(E)
}B+=">";
return B
},createAttributes:function(G){var C="";
if(!G){return C
}for(var D in G){if(G.hasOwnProperty(D)){if(D!="classname"){var E=G[D];
if(E){C+=" "+(this.normalizeTags?D.toLowerCase():D)+"=";
var F=E.value;
var B=E.quoted;
if(!B){B=(F.indexOf(" ")>=0)
}if(B||this.normalizeTags){C+='"'
}C+=F;
if(B||this.normalizeTags){C+='"'
}}}}}return C
},createStyleAttrib:function(F){var D="";
if(!F){return D
}var B=true;
for(var E in F){if(F.hasOwnProperty(E)){var C=F[E];
if(B){B=false
}else{D+=" "
}D+=E+": "+C+";"
}}return D
},constructor:function(B){B=B||{};
CQ.Ext.apply(this,B)
},process:function(B){return CQ.form.RichText.HtmlProcessor.parseHtml(B,this)
},onTagStart:function(E,C){if(E.indexOf(":")>0){return""
}var B=true;
var G=this.removeIdAttribute(C);
if(G==null){G=C;
B=false
}var D;
if(this.tagsToRewrite){var F=this.tagsToRewrite[E];
if(F){if(F.onTagStart){D=F.onTagStart(G);
if((D==null)&&this.normalizeTags){D=this.createTag(E,G);
return D
}}}}if(this.tagsToRemove){if(this.tagsToRemove[E]){return""
}}if(this.tagRules){var H=this.tagRules[E];
if(H){if(H.rename){E=H.rename;
B=true
}}}if(B||this.normalizeTags){var I=this.createTag(E,G,false);
switch(E){case"table":case"tbody":case"tr":case"ul":case"ol":case"br":I+="\n";
break
}return I
}return null
},onTagEnd:function(C){if(C.indexOf(":")>0){return""
}if(this.tagsToRemove){if(this.tagsToRemove[C]){return""
}}if(this.tagsToRewrite){var D=this.tagsToRewrite[C];
if(D){if(D.onTagEnd){return D.onTagEnd()
}}}var B=false;
if(this.tagRules){var E=this.tagRules[C];
if(E){if(E.rename){C=E.rename;
B=true
}}}if(B||this.normalizeTags){var F=this.createTag(C,null,true);
if(CQ.form.RichText.HtmlProcessor.isBlockTag(C)){F+="\n"
}else{switch(C){case"tbody":case"tr":case"td":case"th":case"li":F+="\n";
break
}}return F
}return null
},onProcessingTag:function(B){return""
}});
CQ.form.RichText.HtmlProcessor.Pre=CQ.Ext.extend(CQ.form.RichText.HtmlProcessor.Base,{paragraphStack:null,constructor:function(B){B=B||{};
CQ.Util.applyDefaults(B,{tagsToRemove:{font:{}},tagsToRewrite:{div:{onTagStart:function(C){if(C.hasOwnProperty("align")){var D=C.align.value;
var E=C.style;
var F;
if(E){F=CQ.form.RichText.HtmlProcessor.parseStyleDef(E.value)
}else{F={};
C.style={name:"style",value:null}
}F["text-align"]=D;
delete C.align;
C.style.value=this.createStyleAttrib(F);
return this.createTag("div",C,false)
}return null
}.createDelegate(this)},p:{onTagStart:function(C){if(C.hasOwnProperty("align")){var D=C.align.value;
var E=C.style;
var F;
if(E){F=CQ.form.RichText.HtmlProcessor.parseStyleDef(E.value)
}else{F={};
C.style={name:"style",value:null}
}F["text-align"]=D;
delete C.align;
C.style.value=this.createStyleAttrib(F);
return this.createTag("p",C,false)
}return null
}.createDelegate(this)},a:{onTagStart:function(C){if(C.hasOwnProperty("name")){return'<a name="'+C.name.value+'" class="'+CQ.themes.RichText.ANCHOR_CLASS+'">'
}return null
}},table:{onTagStart:function(C){if(C.hasOwnProperty("border")){try{if(parseInt(C.border.value)==0){var D=null;
if(C["class"]){D=C["class"].value
}else{C["class"]={name:"class",value:null}
}if(!D){D=CQ.themes.RichText.TABLE_NOBORDER_CLASS
}else{D+=" "+CQ.themes.RichText.TABLE_NOBORDER_CLASS
}C["class"].value=D;
return this.createTag("table",C)
}}catch(E){}}return null
}.createDelegate(this)}}});
CQ.form.RichText.HtmlProcessor.Pre.superclass.constructor.call(this,B);
this.paragraphStack=new Array()
}});
CQ.form.RichText.HtmlProcessor.Post=CQ.Ext.extend(CQ.form.RichText.HtmlProcessor.Base,{paragraphStack:null,constructor:function(B){B=B||{};
CQ.Util.applyDefaults(B,{tagsToRemove:{font:{}},tagsToRewrite:{a:{onTagStart:function(C){if(C.hasOwnProperty("name")){var D=C.name.value;
return'<a name="'+D+'">'
}return null
}},table:{onTagStart:function(E){var D=CQ.form.RichText.HtmlProcessor;
if(E.hasOwnProperty("class")){var G=CQ.themes.RichText.TABLE_NOBORDER_CLASS;
var C=E["class"].value;
if(C==G){delete E["class"]
}else{var F=C.indexOf(G);
if(F==0){C=D.replace(C,0,G.length,"")
}else{if(F>0){C=D.replace(C,F-1,F+G.length-1,"")
}}E["class"].value=C
}return this.createTag("table",E)
}return null
}.createDelegate(this)}}});
CQ.form.RichText.HtmlProcessor.Post.superclass.constructor.call(this,B);
this.paragraphStack=new Array()
}});
CQ.form.RichText.HtmlProcessor.TagMap=CQ.Ext.extend(CQ.Ext.emptyFn,{tagMap:null,processingStack:null,create:function(B){this.tagMap=[];
this.processingStack=[];
CQ.form.RichText.HtmlProcessor.parseHtml(B,this);
this.processingStack=null;
return this.tagMap
},onTagStart:function(D,F,C,B){var E={tagName:D,attributes:F,opening:{startPos:C,charCnt:B}};
this.tagMap.push(E);
this.processingStack.push(E)
},onTagEnd:function(D,C,B){while(this.processingStack.length>0){var E=this.processingStack.pop();
if(E.tagName==D){E.closing={startPos:C,charCnt:B};
break
}}}});
CQ.form.RichText.HtmlProcessor.TagMap.isTagEqual=function(B,E){var D=B.tagName;
var G=E.tagName;
if(D!=G){return false
}var F=B.attributes;
var C=E.attributes;
return CQ.form.RichText.HtmlProcessor.hasEqualAttributes(F,C)
};
CQ.form.RichText.HtmlProcessor.StripTags=CQ.Ext.extend(CQ.Ext.emptyFn,{ignoreContent:false,strip:function(B){return CQ.form.RichText.HtmlProcessor.parseHtml(B,this)
},onTagStart:function(D,E,C,B){if((D=="style")||(D=="script")){this.ignoreContent=true
}if(D=="br"){return"\n"
}return""
},onTagEnd:function(D,C,B){if((D=="style")||(D=="script")){this.ignoreContent=false
}if(D=="tr"){return"\n"
}if(D=="p"){return"\n\n"
}if(D.match(/h[1-6]/)){return"\n\n"
}if(D=="li"){return"\n\n"
}return""
},onHtmlText:function(C){if(this.ignoreContent){return""
}var B=C.replace(/\n/g," ");
B=B.replace(/\r/g,"");
return(B!=C?B:null)
},onProcessingTag:function(B){return""
}});
CQ.form.RichText.HtmlProcessor.HtmlRazor=CQ.Ext.extend(CQ.Ext.emptyFn,{ignoreContent:false,supportedTags:["p","h1","h2","h3","h4","h5","h6","br","ul","ol","li","b","i","u"],mappedTags:{strong:function(){return"b"
},em:function(){return"i"
}},process:function(B){return CQ.form.RichText.HtmlProcessor.parseHtml(B,this)
},onTagStart:function(F,I,E,C){if((F=="style")||(F=="script")){this.ignoreContent=true
}else{if(F=="tr"){return"<p>"
}else{var G=this.supportedTags.length;
for(var H=0;
H<G;
H++){if(F==this.supportedTags[H]){return"<"+F+">"
}}for(var B in this.mappedTags){if(B==F){var D=this.mappedTags[B]();
if(D==null){break
}return"<"+D+">"
}}}}return""
},onTagEnd:function(F,E,C){if((F=="style")||(F=="script")){this.ignoreContent=false
}else{if(F=="tr"){return"</p>"
}else{var G=this.supportedTags.length;
for(var H=0;
H<G;
H++){if(F==this.supportedTags[H]){return"</"+F+">"
}}for(var B in this.mappedTags){if(B==F){var D=this.mappedTags[B]();
if(D==null){break
}return"</"+D+">"
}}}}return""
},onHtmlText:function(C){if(this.ignoreContent){return""
}var B=C.replace(/[\n\r\t]/g,"");
return(B!=C?B:null)
},onProcessingTag:function(B){return""
}});
CQ.form.RichText.HtmlProcessor.WhitespaceProcessor=CQ.Ext.extend(CQ.Ext.emptyFn,{isBodyData:false,tagCnt:0,process:function(B){this.isBodyData=true;
this.tagCnt=0;
return CQ.form.RichText.HtmlProcessor.parseHtml(B,this)
},onTagStart:function(D,E,C,B){if(D=="html"){this.isBodyTag=false
}else{if(D=="body"){this.isBodyTag=true;
this.tagCnt++
}else{if(this.isBodyData){if((D!="br")&&(D!="img")){this.tagCnt++
}}}}return null
},onTagEnd:function(D,C,B){if(D=="body"){this.isBodyData=false
}else{if(this.isBodyData){this.tagCnt--
}}return null
},onHtmlText:function(D){var C=D.replace(/[\n\r\t ]/g,"");
if((C.length>0)||(this.tagCnt>0)){var B=D.replace(/[\n\t]/g," ");
return B.replace(/\r/g,"")
}return D.replace(/[\n\t\r ]/g,"")
},onProcessingTag:function(B){return""
}});
CQ.form.RichText.DomProcessor=function(){var B=CQ.form.RichText.Common;
return{getTagType:function(G){var F=CQ.form.RichText.DomProcessor;
var C=(G instanceof String?G:G.tagName).toLowerCase();
var D=F.STRUCTURE;
var E=F.TYPE_TABLE;
if(E.hasOwnProperty(C)){D=E[C];
if(typeof (D)!="string"){D=D.type
}}return D
},resolveTagType:function(G){var F=CQ.form.RichText.DomProcessor;
var C=(G instanceof String?G:G.tagName).toLowerCase();
var D=F.STRUCTURE;
var E=F.TYPE_TABLE;
if(E.hasOwnProperty(C)){D=E[C];
if(typeof (D)!="string"){if(D.type==F.DYNAMIC){if(D.getDynamicType){D=D.getDynamicType(G)
}else{D=F.STRUCTURE
}}else{D=D.type
}}}return D
},createNodeList:function(D){var C=new CQ.form.RichText.DomProcessor.NodeList();
C.createFromDocument(D);
return C
},getCommonAncestor:function(E,D){if(B.isAncestor(E,D)){return E.parentNode
}if(B.isAncestor(D,E)){return D.parentNode
}while(E){var C=D;
while(C){if(C==E){return E
}C=B.getParentNode(C)
}E=B.getParentNode(E)
}return null
},splitTextNode:function(M,D,I){if(D.nodeType!=3){throw"splitTextNode() may only operate on text nodes."
}if(!CQ.Ext.isArray(I)){I=[I]
}I.sort(function(P,O){return P-O
});
var J=[];
var G=0;
var E=D.nodeValue;
var N=I.length;
var F=D.parentNode;
var H,C;
for(var L=0;
L<N;
L++){var K=I[L];
H=E.substring(G,K);
C=M.createTextNode(H);
J.push(C);
F.insertBefore(C,D);
G=K
}H=E.substring(G,E.length);
C=M.createTextNode(H);
J.push(C);
F.insertBefore(C,D);
F.removeChild(D);
return J
},createNode:function(G,D,I){var E=G.createElement(D);
if(I){var H=!!E.setAttribute;
for(var C in I){if(I.hasOwnProperty(C)){var F=I[C];
if(H){if(!CQ.Ext.isIE&&(C=="className")){C="class"
}E.setAttribute(C,F)
}else{E[C]=F
}}}}return E
},insertAsParent:function(H,G,E,I){var F=CQ.form.RichText.DomProcessor;
var D=F.createNode(H,E,I);
var C=G.parentNode;
C.insertBefore(D,G);
C.removeChild(G);
D.appendChild(G);
return D
},removeWithoutChildren:function(C){var D=C.parentNode;
while(C.childNodes.length>0){var E=C.childNodes[0];
C.removeChild(E);
D.insertBefore(E,C)
}D.removeChild(C)
},restructureAsChild:function(J,F,E,G,D){var K=CQ.form.RichText.DomProcessor;
var H=K.createNode(J,G,D);
F.insertBefore(H,E[0]);
var L=E.length;
for(var I=0;
I<L;
I++){var C=E[I];
F.removeChild(C);
H.appendChild(C)
}return H
},isPlaceholderObject:function(C){if(CQ.Ext.isIE){return((C.nodeType==3)&&(C.nodeValue==CQ.form.RichText.DomProcessor.NBSP))
}if(CQ.Ext.isGecko){return((C.nodeType==1)&&(C.tagName.toLowerCase()=="br"))
}return false
},getEmptyLinePlaceholder:function(C){if(C.nodeType!=1){return null
}if(C.childNodes.length!=1){return null
}var D=C.childNodes[0];
if(CQ.form.RichText.DomProcessor.isPlaceholderObject(D)){return D
}return null
},createEmptyLinePlaceholder:function(F,D){var G;
var E=F.document;
if(CQ.Ext.isIE){G=E.createTextNode(String.fromCharCode(160))
}else{G=E.createElement("br")
}if(D){var C=E.createElement("p");
if(G){C.appendChild(G)
}G=C
}return G
},ensureEmptyLinePlaceholders:function(H,E){if(E.nodeType==1){var D=CQ.form.RichText.DomProcessor;
var F=CQ.form.RichText.Selection;
if(D.getTagType(E)==D.CONTAINER){var C=B.getFirstTextChild(E,true);
if(C==null){var J=D.getEmptyLinePlaceholder(E);
if(!J){J=D.createEmptyLinePlaceholder(H,false);
if(J){var I=B.getFirstChild(E);
if(I==null){I=E
}else{while(F.isNoInsertNode(I)){I=I.parentNode;
if(I==E){break
}}}I.appendChild(J)
}}}}else{if(D.isPlaceholderObject(C)){var G=B.getFirstChild(E);
if(!F.isNoInsertNode(G)){if(G!=C){C.parentNode.removeChild(C);
G.appendChild(C)
}}}}}},removeUnnecessaryEmptyLinePlaceholders:function(H,D){var G=CQ.form.RichText.DomProcessor;
if(!H){return 
}if((H.nodeType==1)&&(G.getTagType(H)==G.CONTAINER)){D=H
}else{if(D){var E=H.parentNode;
if(CQ.Ext.isIE){if(H.nodeType==3){if(E.lastChild==H){var I=H.nodeValue;
var C=I.length;
if(C>=1){if(I.charCodeAt(C-1)==160){if(C==1){H.parentNode.removeChild(H)
}else{H.nodeValue=I.substring(0,C-1)
}}}}return 
}}else{if(CQ.Ext.isGecko){if((H.nodeType==1)&&(H.tagName.toLowerCase()=="br")){if((E.childNodes.length>1)&&(E.lastChild==H)){H.parentNode.removeChild(H)
}return 
}}}}}var F=H.childNodes.length;
for(var J=0;
J<F;
J++){G.removeUnnecessaryEmptyLinePlaceholders(H.childNodes[J],D)
}},adjustTables:function(J){var M=J.document;
var I=J.document.body;
var F=I.childNodes;
var G;
for(G=0;
G<F.length;
G++){var E=F[G];
if(B.isTag(E,"p")){if(E.childNodes.length==1){var C=E.childNodes[0];
if(B.isTag(C,"table")){I.insertBefore(C,E);
I.removeChild(E);
E=C
}}}if(B.isTag(E,"table")){var H=B.getChildNodesByType(E,"thead");
if(H.length==1){H=H[0];
var L=B.getChildNodesByType(E,"tbody");
if(L.length==0){L.push(M.createElement("tbody"))
}L=L[0];
var D=null;
if(L.childNodes.length>0){D=L.childNodes[0]
}for(G=H.childNodes.length-1;
G>=0;
G--){var K=H.childNodes[G];
H.removeChild(K);
L.insertBefore(K,D)
}E.removeChild(H)
}}}},splitToParent:function(K,E,G){var D=CQ.form.RichText.Selection;
var N=D.isNoInsertNode(E);
var O,H,M;
var C=[];
while(true){if(!E){return null
}if(N){C.push(E);
E=E.parentNode;
N=false
}H=E.parentNode;
if(E.nodeType==3){if(G==0){C.push(E)
}else{if(G<B.getNodeCharacterCnt(E)){var J=E.nodeValue;
E.nodeValue=J.substring(0,G);
O=E.cloneNode(false);
O.nodeValue=J.substring(G,J.length);
C.push(O)
}}}else{O=E.cloneNode(false);
var L=C.length;
for(var I=0;
I<L;
I++){M=C[I];
if(M.parentNode){M.parentNode.removeChild(M)
}O.appendChild(C[I])
}C.length=0;
C.push(O)
}if(E!=K){var F=B.getChildIndex(E)+1;
while(F<H.childNodes.length){M=H.childNodes[F];
H.removeChild(M);
C.push(M)
}}else{H.insertBefore(O,E.nextSibling);
return O
}E=H
}},removeUnwantedEmptyTags:function(D,E){if(B.matchesTagDefs(D,E)){if(!B.hasTextChild(D,true)){D.parentNode.removeChild(D);
return 
}}var C=D.childNodes.length;
for(var F=0;
F<C;
F++){CQ.form.RichText.DomProcessor.removeUnwantedEmptyTags(D.childNodes[F],E)
}},insertParagraph:function(I,D,F){var L=CQ.form.RichText.DomProcessor;
var H;
if((D.nodeType==1)&&(F==D.childNodes.length)){var K=false;
if(B.isBodyNode(D)){H=D.childNodes[F-1].cloneNode(false);
D.appendChild(H);
D=D.childNodes[F-1];
K=true
}else{H=D.cloneNode(false);
D.parentNode.insertBefore(H,D.nextSibling)
}var G=null;
var M=B.getLastTextChild(D);
while(M!=D){if(M.nodeType==1){var N=M.cloneNode(false);
if(G!=null){N.appendChild(G)
}G=N
}M=B.getParentNode(M)
}if(G!=null){H.appendChild(G)
}L.ensureEmptyLinePlaceholders(I,H)
}else{var C=L.getScopedBlockNode(D);
if(!C){throw"Inserting paragraph outside an existing format scope"
}var E=C.dom;
if(C.isAuxiliaryRoot){var J=I.document.createElement("p");
B.moveChildren(E,J);
E.appendChild(J);
E=J
}H=L.splitToParent(E,D,F);
L.removeUnwantedEmptyTags(H,L.EMPTYTEXT_EXCLUSIONS);
L.ensureEmptyLinePlaceholders(I,H);
L.ensureEmptyLinePlaceholders(I,E)
}return H
},getContainerNode:function(D){var C=CQ.form.RichText.DomProcessor;
while(D){if(D.nodeType==1){if(C.getTagType(D)==C.CONTAINER){return D
}}D=B.getParentNode(D)
}return null
},getLastContainerNode:function(E){var D=CQ.form.RichText.DomProcessor;
var C=B.getLastChild(E);
while(C!=E){if(C.nodeType==1){if(D.getTagType(C)==D.CONTAINER){return C
}}C=B.getPreviousNode(C)
}return null
},getFormatTagInPath:function(F,C){while(F){if(F.nodeType==1){var D=F.tagName.toLowerCase();
if(D=="body"){return null
}for(var E in C){var G=C[E];
if(G.tag&&(G.tag==D)){return F
}}}F=F.parentNode
}return null
},createContainerList:function(E){var H=CQ.form.RichText.Selection;
var G=CQ.form.RichText.DomProcessor;
E=H.adaptToInclusiveEndNode(E);
var F;
if(!E.isEOT){F=G.getContainerNode(E.startNode)
}else{F=G.getLastContainerNode(E.startNode)
}if(!F){return[]
}var C=E.endNode;
if(!C){return[F]
}C=G.getContainerNode(C);
if(!C){C=G.getLastContainerNode(E.endNode)
}var D=[];
while(F){if(F.nodeType==1){if(G.getTagType(F)==G.CONTAINER){D.push(F)
}}if(F==C){break
}F=B.getNextNode(F)
}return D
},changeContainerTag:function(G,I,F,C){var J=CQ.form.RichText.DomProcessor;
var D=I.length;
for(var E=0;
E<D;
E++){var H=I[E];
var K=F.cloneNode(F);
B.replaceNode(H,K);
if(C){J.ensureEmptyLinePlaceholders(G,K)
}}},getStyles:function(C,E){var D=C.styles;
if(!D){D=[];
C.styles=D
}while(!B.isBodyNode(E)){if(B.isTag(E,"span")){if(E.className){D.push({dom:E,className:E.className})
}}E=B.getParentNode(E)
}C.isContinuousStyle=(D.length==1)
},convertListItem:function(I,K,F,D){var E=CQ.form.RichText.Common;
var M=CQ.form.RichText.DomProcessor;
var L=I.document;
var C=E.getChildIndex(K);
var J=K.parentNode;
var H=J.childNodes.length;
var N=M.createNode(L,F,D);
E.moveChildren(K,N);
J.removeChild(K);
if(C==0){J.parentNode.insertBefore(N,J)
}else{if(C==(H-1)){J.parentNode.insertBefore(N,J.nextSibling)
}else{var G=J.cloneNode(false);
E.moveChildren(J,G,C);
J.parentNode.insertBefore(G,J.nextSibling);
J.parentNode.insertBefore(N,G)
}}return N
},getScopedBlockNode:function(D){var C=CQ.form.RichText.DomProcessor;
while(D){if(B.isTag(D,C.BLOCK_TAGS)){return{dom:D,isAuxiliaryRoot:false}
}if(B.isTag(D,C.AUXILIARY_ROOT_TAGS)){return{dom:D,isAuxiliaryRoot:true}
}if(B.isBodyNode(D.parentNode)){return{dom:D,isAuxiliaryRoot:false}
}D=B.getParentNode(D)
}return null
},ensureBlockContent:function(K,G,D,P,O){var F=CQ.form.RichText.Common;
var R=CQ.form.RichText.DomProcessor;
var E=CQ.form.RichText.Selection;
var L=null;
var S=null;
var J=K.document.body;
var Q=null;
var C=J.childNodes;
for(var H=C.length-1;
H>=0;
H--){var I=C[H];
var N=F.isTag(I,"br");
var M=F.isTag(I,R.BLOCK_TAGS);
if((I.nodeType==3)||(N&&!P)||(!N&&!M)){if((L==null)&&O){L=E.createSelectionBookmark(K)
}if(!S){S=R.createNode(K.document,G,D);
J.insertBefore(S,Q);
Q=S
}J.removeChild(I);
S.insertBefore(I,S.firstChild)
}else{if(N){if((L==null)&&O){L=E.createSelectionBookmark(K)
}S=null;
J.removeChild(I)
}else{if(I.nodeType==1){Q=I;
S=null
}}}}return L
},insertText:function(K,D,F,M){var G=K.body;
var C,E;
if(D.nodeType==1){if(F==null){E=D;
D=B.getFirstTextChild(D);
if(!D){var I=false;
C=B.getFirstChild(E);
if(!C){if(B.isBlockNode(E)){C=E;
I=true
}else{C=E
}}D=K.createTextNode("");
if(I){C.appendChild(D)
}else{C.parentNode.insertBefore(D,C)
}}F=0
}else{var H=D.childNodes.length;
if(H>0){if(F>=H){D=B.getLastChild(D);
if(D.nodeType==3){F=B.getNodeCharacterCnt(D)
}else{var L=D.parentNode;
D=K.createTextNode("");
L.appendChild(D);
F=0
}}else{D=D.childNodes[F];
if(D.nodeType==1){D=B.getPreviousTextNode(D);
if(!D){C=B.getFirstChild(G);
D=K.createTextNode("");
C.parentNode.insertBefore(D,C)
}}F=B.getNodeCharacterCnt(D)
}}else{D=B.getPreviousTextNode(D);
if(!D){C=B.getFirstChild(G);
D=K.createTextNode("");
C.parentNode.insertBefore(D,C)
}F=B.getNodeCharacterCnt(D)
}}}var J=D.nodeValue;
if(J.length<=F){J+=M
}else{if(F==0){J=M+J
}else{J=J.substring(0,F)+M+J.substring(F,J.length)
}}D.nodeValue=J;
return{node:D,offset:F+M.length}
},removeTagsFromHierarchy:function(G,H){var F=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var E=G.childNodes.length;
for(var I=E-1;
I>=0;
I--){var D=G.childNodes[I];
F.removeTagsFromHierarchy(D,H)
}if(G.nodeType==1){if(C.isTag(G,H)){G.parentNode.remove(G)
}}},cleanupContainer:function(C){var H=0;
var D=CQ.form.RichText.Common;
var G=CQ.form.RichText.DomProcessor;
var E=C.childNodes;
var I=0;
while(I<E.length){var F=E[I];
if(D.isTag(F,G.BLOCK_TAGS)){F.parentNode.removeChild(F);
C.parentNode.insertBefore(F,C);
H++
}else{I++
}}if(C.childNodes.length==0){C.parentNode.removeChild(C);
H--
}return H
},cleanupNestedBlocks:function(F){var H=0;
var E=CQ.form.RichText.DomProcessor;
var G=F.childNodes;
var D=G.length-1;
while(D>=0){var C=G[D];
if(C.nodeType==1){H+=E.cleanupContainer(C)
}D--
}return H
},addRequiredEmptyLines:function(H){var J=false;
var K=CQ.form.RichText.DomProcessor;
var G=H.document.body;
var I=G.childNodes;
var D=true;
for(var E=I.length-1;
E>=0;
E--){var F=I[E];
if(B.isTag(F,"table")){if(D){var C=K.createEmptyLinePlaceholder(H,true);
G.appendChild(C);
J=true
}}D=false
}return J
},removeUnnecessaryEmptyLines:function(H){var J=CQ.form.RichText.DomProcessor;
var G=H.document.body;
var I=G.childNodes;
var D=true;
for(var E=I.length-1;
E>=0;
E--){var F=I[E];
if(J.getTagType(F)==J.CONTAINER){var K=false;
if(F.childNodes.length==0){K=true
}else{if(F.childNodes.length==1){if(D){var C=F.childNodes[0];
if(CQ.Ext.isIE){if((C.nodeType==3)&&(C.nodeValue.length==1)){if(C.nodeValue.charCodeAt(0)==160){K=true
}}}else{if(CQ.Ext.isGecko){if(B.isTag(C,"br")){K=true
}}}}}}if(K){F.parentNode.removeChild(F)
}}D=false
}},saveChildNodes:function(F){var C=[];
var E=F.childNodes;
for(var D=0;
D<E.length;
D++){var H=E[D];
var G={dom:H};
C.push(G);
if(H.nodeType==1){G.children=CQ.form.RichText.DomProcessor.saveChildNodes(H)
}else{G.text=H.nodeValue
}}return C
},restoreChildNodes:function(G,C){while(G.childNodes.length>0){G.removeChild(G.childNodes[0])
}for(var E=0;
E<C.length;
E++){var H=C[E];
var F=H.dom;
if(H.text!==undefined){F.nodeValue=H.text
}var D=H.children;
G.appendChild(F);
if(D){CQ.form.RichText.DomProcessor.restoreChildNodes(F,D)
}}},TEXT_NODE:"text",DOM_NODE:"dom",CONTAINER:"container",STRUCTURE:"structure",DYNAMIC:"dynamic",IGNORE:"ignore",BLOCK_TAGS:["p","h1","h2","h3","h4","h5","h6","div","ol","ul","pre","table","address","blockquote","center","dl","fieldset","form","hr","marquee","noscript","script"],AUXILIARY_ROOT_TAGS:["td","th"],NBSP:String.fromCharCode(160),EMPTYTEXT_EXCLUSIONS:[{tagName:"a",attribsDefined:["href"],attribsUndefined:["name"]}]}
}();
CQ.form.RichText.DomProcessor.TYPE_TABLE={h1:CQ.form.RichText.DomProcessor.CONTAINER,h2:CQ.form.RichText.DomProcessor.CONTAINER,h3:CQ.form.RichText.DomProcessor.CONTAINER,h4:CQ.form.RichText.DomProcessor.CONTAINER,h5:CQ.form.RichText.DomProcessor.CONTAINER,h6:CQ.form.RichText.DomProcessor.CONTAINER,p:CQ.form.RichText.DomProcessor.CONTAINER,div:CQ.form.RichText.DomProcessor.CONTAINER,li:CQ.form.RichText.DomProcessor.CONTAINER,ul:CQ.form.RichText.DomProcessor.IGNORE,ol:CQ.form.RichText.DomProcessor.IGNORE};
CQ.form.RichText.DomProcessor.NodeList=CQ.Ext.extend(CQ.Ext.emptyFn,{nodes:null,commonAncestor:null,nodesChanged:null,constructor:function(){this.nodes=[];
this.nodesChanged=[]
},addChildNode:function(B,D,C){B.parentNode=null;
B.nodeList=D;
if(!C||(C>=this.nodes.length)){this.nodes.push(B)
}else{this.nodes.splice(C,0,B)
}},removeChildNode:function(C){var B=this.getTopLevelNodeIndex(C);
if(B<0){return -1
}this.nodes.splice(B,1);
return B
},createTextNode:function(I,F,D,C){var E=CQ.form.RichText.Common.getNodeCharacterCnt(I);
if(E>0){var H=0;
var B=E;
if(F){H=F;
B-=F
}if(D){B-=(E-D)
}var G=new CQ.form.RichText.DomProcessor.TextNode(I,H,B);
if(!C){this.addChildNode(G,this)
}else{C.addChildNode(G,this)
}}},createStructuralNode:function(D,B){var C=new CQ.form.RichText.DomProcessor.StructuralNode(D);
if(!B){this.addChildNode(C,this)
}else{B.addChildNode(C,this)
}return C
},createAncestors:function(G,F,E){var H=[];
if(G==this.commonAncestor){H.push(G)
}else{do{H.push(G);
G=CQ.form.RichText.Common.getParentNode(G)
}while(G&&(G!=this.commonAncestor))
}var D=null;
var C=H.length;
for(var B=C-1;
B>=0;
B--){if(H[B].nodeType==1){D=this.createStructuralNode(H[B],D)
}else{if(H[B].nodeType==3){this.createTextNode(H[B],F,E,D)
}}}return D
},createList:function(I){var D=CQ.form.RichText.Common;
var C=I.startNode;
var F=I.endNode;
if(F==null){F=C
}var H=null;
var J=null;
var G=I.startNode;
if(G.nodeType==3){H=I.startOffset;
if(C==F){if(I.endOffset){J=I.endOffset+1
}else{J=I.startOffset
}}}var E=this.createAncestors(G,H,J);
if(C==F){return 
}while(true){var B=G.childNodes;
if(B.length>0){G=G.firstChild
}else{if((G.nodeType==1)&&E){E=E.parentNode
}if(G.nextSibling){G=G.nextSibling
}else{while(true){G=D.getParentNode(G);
E=E.parentNode;
if(!G){break
}if(G.nextSibling){G=G.nextSibling;
break
}}}}H=null;
J=null;
if(G==F){if(F.nodeType==3){J=I.endOffset+1
}}if(G.nodeType==1){E=this.createStructuralNode(G,E)
}else{if(G.nodeType==3){this.createTextNode(G,H,J,E)
}}if(G==F){break
}}},createFromDocument:function(C){var B=CQ.form.RichText.Common;
var D=CQ.form.RichText.DomProcessor;
C=CQ.form.RichText.Selection.adaptToInclusiveEndNode(C);
this.nodes.length=0;
if(C.isEOT){C={startNode:B.getLastChild(C.startNode),startOffset:null,endNode:null,endOffset:null};
if(C.startNode.nodeType==3){C.startOffset=B.getNodeCharacterCnt(C.startNode)
}}if((C.startNode==C.endNode)||(C.endNode==null)){this.commonAncestor=C.startNode.parentNode
}else{this.commonAncestor=D.getCommonAncestor(C.startNode,C.endNode)
}if(!this.commonAncestor){throw"No common ancestor found, cannot continue."
}this.createList(C)
},hasContainers:function(){var C=this.nodes.length;
for(var D=0;
D<C;
D++){var B=this.nodes[D];
if(B.hasContainers()){return true
}}return false
},isAligned:function(){var C=this.nodes.length;
for(var D=0;
D<C;
D++){var B=this.nodes[D];
if(!B.isAligned()){return false
}}return true
},createTopLevelDomNodes:function(){var B=[];
var C=this.nodes.length;
for(var D=0;
D<C;
D++){B.push(this.nodes[D].dom)
}return B
},getTopLevelNodeIndex:function(D){var C=this.nodes.length;
for(var E=0;
E<C;
E++){var B=this.nodes[E];
if(B==D){return E
}}return -1
},surround:function(G,N,B){this.nodesChanged.length=0;
var K,C;
var J=G.document;
var H=[];
if(this.isAligned()&&!this.hasContainers()){var D=CQ.form.RichText.DomProcessor.restructureAsChild(J,this.commonAncestor,this.createTopLevelDomNodes(),N,B);
var M=this.nodes;
this.nodes=[];
var E=this.createStructuralNode(D,null);
K=M.length;
for(C=0;
C<K;
C++){E.addChildNode(M[C],this)
}H.push(D);
return H
}K=this.nodes.length;
var L=null;
for(C=0;
C<K;
C++){var F=this.nodes[C];
L=F.surround(J,L,N,B,H)
}if(this.nodesChanged.length>0){var I={startNode:this.nodesChanged[0],endNode:this.nodesChanged[this.nodesChanged.length-1]};
if(I.startNode.nodeType==3){I.startOffset=0
}if(I.endNode.nodeType==3){I.endOffset=CQ.form.RichText.Common.getNodeCharacterCnt(I.endNode)
}this.createFromDocument(I)
}return H
},removeUnnecessaryLinebreaks:function(M){var C;
var J=CQ.form.RichText.DomProcessor;
var D=CQ.form.RichText.Common;
if(M){var F=this.commonAncestor;
while(F){if(F.nodeType==1){if(F.tagName.toLowerCase()=="body"){break
}if(J.getTagType(F)==J.CONTAINER){C=F;
break
}}F=D.getParentNode(F)
}}var K=this.nodes.length;
var L=[];
for(var E=0;
E<K;
E++){var G=this.nodes[E];
if(G.nodeType==J.DOM_NODE){G.getUnnecessaryLinebreaks(C,L)
}}var N=L.length;
for(var B=0;
B<N;
B++){var H=L[B];
var I=H.parentNode;
I=(I?I:this);
J.removeWithoutChildren(H.dom);
I.removeChildNode(H)
}},removeNodesByTag:function(M,L){var K=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var I=this.nodes.length;
for(var E=0;
E<I;
E++){var H=this.nodes[E];
if(H.nodeType==K.DOM_NODE){H.removeNodesByTag(M)
}}if(L){var F=this.commonAncestor;
var G=M.length;
while(F){var B=C.getParentNode(F);
if(F.nodeType==1){var D=F.tagName.toLowerCase();
for(var J=0;
J<G;
J++){if(M[J]==D){K.removeWithoutChildren(F);
break
}}}F=B
}}},remove:function(F){var D=this.getTopLevelNodeIndex(F);
if(D<0){F.parentNode.removeChild(F);
return 
}CQ.form.RichText.DomProcessor.removeWithoutChildren(F.dom);
this.nodes.splice(D,1);
if(F.childNodes){var C=F.childNodes;
var E=C.length;
for(var G=0;
G<E;
G++){var B=C[G];
B.parentNode=this;
this.nodes.splice(D+G,0,B)
}}},getAnchors:function(H,G){if(G){var D=this.commonAncestor;
while(D){if(D.nodeType==1){var B=D.tagName.toLowerCase();
if(B=="body"){break
}if(B=="a"){if(D.href){var F={dom:D,href:D.href};
if(D.target){F.target=D.target
}H.push(F)
}}}D=CQ.form.RichText.Common.getParentNode(D)
}}var E=this.nodes.length;
for(var I=0;
I<E;
I++){var C=this.nodes[I];
if(C.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){C.getAnchors(H)
}}},getNamedAnchors:function(E,G){if(G){var D=this.commonAncestor;
while(D){if(D.nodeType==1){var B=D.tagName.toLowerCase();
if(B=="body"){break
}if(B=="a"){if(D.name){E.push({dom:D,name:D.name})
}}}D=CQ.form.RichText.Common.getParentNode(D)
}}var F=this.nodes.length;
for(var H=0;
H<F;
H++){var C=this.nodes[H];
if(C.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){C.getNamedAnchors(E)
}}},getStyles:function(B,C){var L=B.styles;
if(!L){L=[];
B.styles=L
}var M=false;
if(C){var E=this.commonAncestor;
while(E){if(E.nodeType==1){var G=E.tagName.toLowerCase();
if(G=="body"){break
}if(G=="span"){if(E.className){M=true;
L.push({dom:E,className:E.className})
}}}E=CQ.form.RichText.Common.getParentNode(E)
}}var H=null;
var K=false;
var J=this.nodes.length;
for(var D=0;
D<J;
D++){var F=this.nodes[D];
if(F.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){var I=F.getStyles(L);
H=CQ.form.RichText.DomProcessor.NodeList.calcNewContState(H,I)
}else{K=true
}}if(H==null){H="unstyled"
}B.isContinuousStyle=(M&&(H=="unstyled"))||(!M&&(H=="single")&&!K)
},containsTag:function(D){D=D.toLowerCase();
var C=this.nodes.length;
for(var E=0;
E<C;
E++){var B=this.nodes[E];
if(B.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){if(B.containsTag(D)){return true
}}}return false
},getTags:function(F,B){var K=CQ.form.RichText.DomProcessor;
var D=CQ.form.RichText.Common;
var L=[];
var E=F.length;
if(B){var H=this.commonAncestor;
while(H){for(var C=0;
C<E;
C++){var I=F[C];
if(I.matcher){if(I.matcher(H)){L.push({nodeType:null,isAncestor:true,dom:H});
break
}}else{if(D.matchesTagDef(H,I)){L.push({nodeType:null,isAncestor:true,dom:H});
break
}}}H=D.getParentNode(H)
}}var J=this.nodes.length;
for(var G=0;
G<J;
G++){if(this.nodes[G].nodeType==K.DOM_NODE){this.nodes[G].getTags(F,L)
}}return L
},hasContent:function(){var B=this.nodes.length;
for(var C=0;
C<B;
C++){if(this.nodes[C].nodeType==CQ.form.RichText.DomProcessor.TEXT_NODE){return true
}else{if(this.nodes[C].hasContent()){return true
}}}return false
},getFirstNode:function(){if(this.nodes.length==0){return null
}var B=this.nodes[0];
while(B.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){if(!B.childNodes||(B.childNodes.length==0)){break
}B=B.childNodes[0]
}return B
},getLastNode:function(){var B=this.nodes.length;
if(B==0){return null
}var D=this.nodes[B-1];
while(D.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){if(!D.childNodes){break
}var C=D.childNodes.length;
if(C==0){break
}D=D.childNodes[C-1]
}return D
},createDump:function(){var C=this.nodes.length;
var E="---";
if(this.commonAncestor.nodeType==1){E=this.commonAncestor.tagName
}else{E=this.commonAncestor.nodeValue
}var D="Common ancestor: "+E+"\n";
D+="Nodes in list: "+C+"\n";
for(var F=0;
F<C;
F++){var B=this.nodes[F];
D+=B.createDump()+"\n"
}return D
}});
CQ.form.RichText.DomProcessor.TextNode=CQ.Ext.extend(CQ.Ext.emptyFn,{nodeType:CQ.form.RichText.DomProcessor.TEXT_NODE,nodeList:null,parentNode:null,dom:null,startPos:0,charCnt:0,nodeLength:0,constructor:function(D,C,B){this.dom=D;
this.startPos=C;
this.charCnt=B;
this.nodeLength=CQ.form.RichText.Common.getNodeCharacterCnt(D)
},isStartAligned:function(){return(this.startPos==0)
},isEndAligned:function(){return((this.startPos+this.charCnt)==this.nodeLength)
},isAligned:function(){return this.isStartAligned()&&this.isEndAligned()
},hasContainers:function(){return false
},getActualTextContent:function(){var B=this.dom.nodeValue;
return B.substring(this.startPos,this.startPos+this.charCnt)
},surround:function(H,G,F,D){var E=this.dom;
var C=0;
var I=[];
if(!this.isStartAligned()){I.push(this.startPos);
C=1
}if(!this.isEndAligned()){I.push(this.startPos+this.charCnt)
}if(I.length>0){var B=CQ.form.RichText.DomProcessor.splitTextNode(H,this.dom,I);
E=B[C]
}if(G!=null){E.parentNode.removeChild(E);
G.appendChild(E)
}else{G=CQ.form.RichText.DomProcessor.insertAsParent(H,E,F,D);
this.nodeList.nodesChanged.push(G)
}this.dom=E;
this.nodeList.nodesChanged.push(E);
return G
},createNewTextNode:function(B){return B.createTextNode(this.getActualTextContent())
},createDump:function(){var C;
var B=this.dom.nodeValue;
if(this.charCnt==0){if(this.startPos<(B.length-1)){C="("+B.substring(this.startPos,this.startPos+1)+")"
}else{C="(behind text)"
}}else{C=B.substring(this.startPos,this.startPos+this.charCnt)
}C=C.replace(/ /g,"*");
return"Text node (s:"+this.startPos+"/l:"+this.charCnt+"/tl:"+this.nodeLength+"): "+C
}});
CQ.form.RichText.DomProcessor.NodeList.calcNewContState=function(C,B){if(C==null){C=B
}else{if((C=="unstyled")||(C=="single")){if((B=="single")||(B=="multiple")){C="multiple"
}else{if(C=="single"&&(C=="unstyled")){C="multiple"
}}}else{if(B=="multiple"){C="multiple"
}}}return C
};
CQ.form.RichText.DomProcessor.StructuralNode=CQ.Ext.extend(CQ.Ext.emptyFn,{nodeType:CQ.form.RichText.DomProcessor.DOM_NODE,parentNode:null,tagName:null,dom:null,nodeList:null,type:null,childNodes:null,constructor:function(B){this.dom=B;
this.tagName=B.tagName.toLowerCase();
this.type=CQ.form.RichText.DomProcessor.getTagType(B)
},addChildNode:function(B,D,C){if(!this.childNodes){this.childNodes=[]
}B.parentNode=this;
B.nodeList=D;
if(!C||(C>=this.childNodes.length)){this.childNodes.push(B)
}else{this.childNodes.splice(C,0,B)
}},removeChildNode:function(B){var C=this.getChildIndex(B);
if(C<0){return -1
}this.childNodes.splice(C,1);
if(this.childNodes.length==0){this.childNodes=null
}return C
},getActualParent:function(){return(this.parentNode?this.parent:this.nodeList)
},isStartAligned:function(){if(this.childNodes==null){return true
}var D=this.childNodes.length;
for(var E=0;
E<D;
E++){var C=this.childNodes[E];
var B=C.isStartAligned();
if(!B){return false
}}return true
},isEndAligned:function(){if(this.childNodes==null){return true
}var D=this.childNodes.length;
for(var E=0;
E<D;
E++){var C=this.childNodes[E];
var B=C.isEndAligned();
if(!B){return false
}}return true
},isAligned:function(){if(this.childNodes==null){return true
}var D=this.childNodes.length;
for(var E=0;
E<D;
E++){var C=this.childNodes[E];
var B=C.isAligned();
if(!B){return false
}}return true
},hasContainers:function(){var D=CQ.form.RichText.DomProcessor;
var B;
if(this.type==D.DYNAMIC){B=true;
if(D.TYPE_TABLE.hasOwnProperty(this.tagName)){var E=D.TYPE_TABLE[this.tagName];
if(E&&E.getDynamicType){B=(E.getDynamicType(this.dom)==D.CONTAINER)
}}}else{B=(this.type==D.CONTAINER)
}if(B){return true
}if(this.childNodes!=null){var C=this.childNodes.length;
for(var F=0;
F<C;
F++){if(this.childNodes[F].hasContainers()){return true
}}}return false
},containsTag:function(C){if(this.tagName==C){return true
}if(this.childNodes){var D=this.childNodes.length;
for(var E=0;
E<D;
E++){var B=this.childNodes[E];
if(B.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){if(B.containsTag(C)){return true
}}}}return false
},getTags:function(E,J){var I=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var D=E.length;
for(var B=0;
B<D;
B++){var G=E[B];
if(G.matcher){if(G.matcher(this.dom)){J.push(this);
break
}}else{if(C.matchesTagDef(this.dom,G)){J.push(this);
break
}}}if(this.childNodes){var H=this.childNodes.length;
for(var F=0;
F<H;
F++){if(this.childNodes[F].nodeType==I.DOM_NODE){this.childNodes[F].getTags(E,J)
}}}return J
},hasContent:function(){if(!this.childNodes){return false
}var C=this.childNodes.length;
for(var D=0;
D<C;
D++){var B=this.childNodes[D];
if(B.nodeType==CQ.form.RichText.DomProcessor.TEXT_NODE){return true
}else{if(B.hasContent()){return true
}}}return false
},getAnchors:function(E){if(this.tagName=="a"){if(this.dom.href){var B={dom:this.dom,href:this.dom.href};
if(this.dom.target){B.target=this.dom.target
}E.push(B)
}}if(this.childNodes!=null){var D=this.childNodes.length;
for(var F=0;
F<D;
F++){var C=this.childNodes[F];
if(C.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){C.getAnchors(E)
}}}},getNamedAnchors:function(D){if(this.tagName=="a"){if(this.dom.name){D.push({dom:this.dom,name:this.dom.name})
}}if(this.childNodes!=null){var C=this.childNodes.length;
for(var E=0;
E<C;
E++){var B=this.childNodes[E];
if(B.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){B.getNamedAnchors(D)
}}}},getStyles:function(H){var E="unstyled";
if(this.tagName=="span"){if(this.dom.className){H.push({dom:this.dom,className:this.dom.className});
E="single"
}}if(this.childNodes!=null){var D=false;
var F=null;
var G=this.childNodes.length;
for(var I=0;
I<G;
I++){var C=this.childNodes[I];
if(C.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){var B=C.getStyles(H);
F=CQ.form.RichText.DomProcessor.NodeList.calcNewContState(F,B)
}else{D=true
}}if(F==null){F="unstyled"
}if(E=="unstyled"){if(F!="unstyled"){E=(D?"multiple":F)
}}else{E=(F=="unstyled"?E:"multiple")
}}return E
},createChildDomNodes:function(){var B=[];
if(this.childNodes==null){return B
}var C=this.childNodes.length;
for(var D=0;
D<C;
D++){B.push(this.childNodes[D].dom)
}return B
},addChangedNodes:function(B){this.nodeList.nodesChanged.push(B);
if(B.nodeType==1){var C=B.childNodes.length;
for(var D=0;
D<C;
D++){this.addChangedNodes(B.childNodes[D])
}}},surroundStructure:function(H,E,B,I,D,C){var G=true;
if(C&&C.isApplicable){G=C.isApplicable(this.dom,B,I)
}if(!G){return null
}if(this.isAligned()){if(E!=null){this.dom.parentNode.removeChild(this.dom);
E.appendChild(this.dom);
this.nodeList.nodesChanged.push(this.dom)
}else{E=CQ.form.RichText.DomProcessor.insertAsParent(H,this.dom,B,I);
D.push(E);
this.nodeList.nodesChanged.push(E);
this.nodeList.nodesChanged.push(this.dom)
}}else{var F;
if(!this.isStartAligned()){F=this.processLeftSubtree(H);
E=CQ.form.RichText.DomProcessor.createNode(H,B,I);
D.push(E);
E.appendChild(F);
this.dom.parentNode.insertBefore(E,this.dom.nextSibling);
this.addChangedNodes(E)
}if(!this.isEndAligned()){F=this.processRightSubtree(H);
E.appendChild(F);
this.addChangedNodes(F)
}}return E
},surroundContainer:function(G,I,K,C,F,D){var H=CQ.form.RichText.DomProcessor;
var B=true;
if(D&&D.isApplicable){B=D.isApplicable(this.dom,K,C)
}if(!B){return null
}if(this.childNodes==null){return I
}if(this.isAligned()){var J=this.createChildDomNodes();
var E=H.restructureAsChild(G,this.dom,J,K,C);
F.push(E);
this.addChangedNodes(E)
}else{I=H.createNode(G,K,C);
F.push(I);
if(!this.isStartAligned()){this.processLeftContainerSubtree(G,I,true);
this.dom.appendChild(I)
}if(!this.isEndAligned()){this.processRightContainerSubtree(G,I,true);
this.dom.insertBefore(I,this.dom.firstChild)
}this.addChangedNodes(I)
}return null
},surround:function(K,M,O,B,J){var L=CQ.form.RichText.DomProcessor;
switch(this.type){case L.STRUCTURE:M=this.surroundStructure(K,M,O,B,J);
break;
case L.CONTAINER:M=this.surroundContainer(K,M,O,B,J);
break;
case L.DYNAMIC:var E=null;
var I=this.tagName;
var N=L.TYPE_TABLE;
if(N.hasOwnProperty(I)){var G=N[I];
if(typeof (G)=="object"){E=G
}}var C=true;
if(E&&E.getDynamicType){C=(E.getDynamicType(this.dom)==L.CONTAINER)
}if(C){M=this.surroundContainer(K,M,O,B,J,E)
}else{M=this.surroundStructure(K,M,O,B,J,E)
}break;
case L.IGNORE:if(this.childNodes){var H=this.childNodes.length;
for(var F=0;
F<H;
F++){var D=this.childNodes[F];
if(D.nodeType==L.DOM_NODE){M=D.surround(K,M,O,B,J)
}}}}return M
},processLeftSubtree:function(L,H){var M=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var N=this.dom.cloneNode(false);
if(!H){H=N
}else{H.appendChild(N)
}if(this.childNodes==null){return H
}var J=this.childNodes.length;
for(var G=0;
G<J;
G++){var I=this.childNodes[G];
var F=I.nodeType;
if(F==M.DOM_NODE){I.processLeftSubtree(L,N)
}else{if(F==M.TEXT_NODE){var K=I.dom;
if(I.isAligned()){var D=K.parentNode;
D.removeChild(K);
C.removeNodesWithoutContent(D);
N.appendChild(K)
}else{N.appendChild(I.createNewTextNode(L));
var B=K.parentNode;
B.removeChild(K);
if(I.startPos>0){var E=K.nodeValue.substring(0,I.startPos);
B.appendChild(L.createTextNode(E))
}else{C.removeNodesWithoutContent(B)
}}}}}return H
},processRightSubtree:function(M,I){var N=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var O=this.dom.cloneNode(false);
if(!I){I=O
}else{I.appendChild(O)
}if(this.childNodes==null){return I
}var K=this.childNodes.length;
for(var H=0;
H<K;
H++){var J=this.childNodes[H];
var G=J.nodeType;
if(G==N.DOM_NODE){J.processRightSubtree(M,O)
}else{if(G==N.TEXT_NODE){var L=J.dom;
if(J.isAligned()){var D=L.parentNode;
D.removeChild(L);
C.removeNodesWithoutContent(D);
O.appendChild(L)
}else{O.appendChild(J.createNewTextNode(M));
var B=L.parentNode;
B.removeChild(L);
var E=J.startPos+J.charCnt;
if(E<J.nodeLength){var F=L.nodeValue.substring(E,J.nodeLength);
B.appendChild(M.createTextNode(F))
}else{C.removeNodesWithoutContent(B)
}}}}}return I
},processLeftContainerSubtree:function(N,J,F){var O=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var E;
if(!F){if(this.isAligned()){this.dom.parentNode.removeChild(this.dom);
J.appendChild(this.dom);
return 
}E=this.dom.cloneNode(false);
J.appendChild(E)
}else{E=J
}var L=this.childNodes.length;
for(var I=0;
I<L;
I++){var K=this.childNodes[I];
var H=K.nodeType;
if(H==O.DOM_NODE){K.processLeftContainerSubtree(N,E)
}else{if(H==O.TEXT_NODE){var M=K.dom;
if(K.isAligned()){var D=M.parentNode;
D.removeChild(M);
C.removeNodesWithoutContent(D);
E.appendChild(M)
}else{E.appendChild(K.createNewTextNode(N));
var B=M.parentNode;
B.removeChild(M);
if(K.startPos>0){var G=M.nodeValue.substring(0,K.startPos);
B.appendChild(N.createTextNode(G))
}else{C.removeNodesWithoutContent(B)
}}}}}},processRightContainerSubtree:function(O,K,G){var P=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var E;
if(!G){if(this.isAligned()){this.dom.parentNode.removeChild(this.dom);
K.appendChild(this.dom);
return 
}E=this.dom.cloneNode(false);
K.appendChild(E)
}else{E=K
}var M=this.childNodes.length;
for(var J=0;
J<M;
J++){var L=this.childNodes[J];
var I=L.nodeType;
if(I==P.DOM_NODE){L.processRightContainerSubtree(O,E)
}else{if(I==P.TEXT_NODE){var N=L.dom;
if(L.isAligned()){var D=N.parentNode;
D.removeChild(N);
C.removeNodesWithoutContent(D);
E.appendChild(N)
}else{E.appendChild(L.createNewTextNode(O));
var B=N.parentNode;
B.removeChild(N);
var F=L.startPos+L.charCnt;
if(F<L.nodeLength){var H=N.nodeValue.substring(F,L.nodeLength);
B.insertBefore(O.createTextNode(H),B.firstChild)
}else{C.removeNodesWithoutContent(B)
}}}}}},removeNodesByTag:function(D,C){var F=D.length;
for(var H=0;
H<F;
H++){var B=D[H];
if(B==this.tagName){C.remove(this);
break
}}if(this.childNodes){var G=this.childNodes.length;
for(var I=0;
I<G;
I++){var E=this.childNodes[I];
if(E.nodeType==CQ.form.RichText.DomProcessor.DOM_NODE){E.removeNodesByTag(D,C)
}}}},getUnnecessaryLinebreaks:function(C,B){var G=CQ.form.RichText.DomProcessor;
var D=CQ.form.RichText.Common;
if(this.tagName=="br"){if(C){if(D.getLastChild(C)==this.dom){B.push(this)
}}}else{if(this.type==G.CONTAINER){C=this.dom
}}if(this.childNodes){var F=this.childNodes.length;
for(var H=0;
H<F;
H++){var E=this.childNodes[H];
if(E.nodeType==G.DOM_NODE){E.getUnnecessaryLinebreaks(C,B)
}}}},getChildIndex:function(D){if(!this.childNodes){return -1
}var C=this.childNodes.length;
for(var E=0;
E<C;
E++){var B=this.childNodes[E];
if(B==D){return E
}}return -1
},removeChild:function(E){var G,F;
if(this.childNodes){var D=this.getChildIndex(E);
if(D>=0){CQ.form.RichText.DomProcessor.removeWithoutChildren(E.dom);
this.childNodes.splice(D,1);
if(E.childNodes){var C=E.childNodes;
F=C.length;
for(G=0;
G<F;
G++){var B=C[G];
B.parentNode=this;
this.childNodes.splice(D+G,0,B)
}}}}},createDump:function(B){if(!this.childNodes){return"DOM node; tag name: "+this.tagName
}else{var C="";
if(B){for(var D=0;
D<B;
D++){C+="   "
}}else{B=0
}var G="DOM node; tag name: "+this.tagName;
C+="   ";
var E=this.childNodes.length;
for(var H=0;
H<E;
H++){var F=this.childNodes[H];
G+="\n"+C+F.createDump(B+1)
}return G
}}});
CQ.form.RichText.Selection=function(){var B=CQ.form.RichText.Common;
var C={getScrollOffsets:function(D){return{scrollTop:D.document.body.scrollTop,scrollLeft:D.document.body.scrollLeft}
},setScrollOffsets:function(E,D){if((D.scrollTop!==undefined)&&(D.scrollLeft!==undefined)){E.document.body.scrollTop=D.scrollTop;
E.document.body.scrollLeft=D.scrollLeft
}},hasWhitespaceOnly:function(H){var F=" \n\r\t";
if(CQ.Ext.isGecko){F+=String.fromCharCode(160)
}var E=H.length;
for(var G=0;
G<E;
G++){var D=H.charAt(G);
if(F.indexOf(D)<0){return false
}}return true
},bookmarkFromProcessingSelection:function(H,G){var D=CQ.form.RichText.Common;
var F=D.getCharacterOffsetForNode(H,G.startNode);
if(G.startOffset){F+=G.startOffset
}var E=F;
if(G.endNode){E=D.getCharacterOffsetForNode(H,G.endNode);
if(G.endOffset){E+=G.endOffset
}}return{startPos:F,charCnt:(E-F),object:null,insertObject:null}
},isLineDelimiter:function(H){if(H.nodeType!=1){return false
}var G=CQ.form.RichText.Selection.LINE_DELIMITING_TAGS;
var E=G.length;
var D=H.tagName.toLowerCase();
for(var F=0;
F<E;
F++){if(G[F]==D){return true
}}return false
},getLineDelimiter:function(D){while(D){if(D.nodeType==1){if(CQ.form.RichText.Selection.isLineDelimiter(D)){return D
}}D=B.getParentNode(D)
}return null
},adaptToInclusiveEndNode:function(K){var D=CQ.form.RichText.Selection;
var E={startNode:K.startNode,startOffset:K.startOffset};
if(B.isTag(K.startNode,"body")&&(K.startOffset==K.startNode.childNodes.length)){E.isEOT=true;
return E
}var G=K.endNode;
var J=K.endOffset;
if(G){var H=G.childNodes.length;
if(B.isTag(G,"body")&&(J==H)){G=B.getLastChild(G);
if(G.nodeType==1){J=null
}else{J=B.getNodeCharacterCnt(G)
}}else{if((G.nodeType==1)&&(J==H)){G=G.childNodes[H-1];
J=null
}else{if(J!=null){J--;
if(J<0){var L=D.SELECTION_INCLUSION_TAGS;
while(G){G=B.getPreviousNode(G);
if(G&&G.nodeType==1){var I=false;
for(var F=0;
F<L.length;
F++){if(B.matchesTagDef(G,L[F])){I=true;
break
}}if(I){J=null;
break
}}else{if(G&&(G.nodeType==3)){J=B.getNodeCharacterCnt(G)-1;
if(J>=0){break
}}}}}}}}E.endNode=G;
E.endOffset=J
}return E
},expandToLineBorders:function(M){var E=CQ.form.RichText.Selection.isLineDelimiter;
var H=CQ.form.RichText.Selection.getLineDelimiter;
var D,G;
var F=M.startNode;
var J=M.endNode;
if(J==null){J=F
}var L=H(F);
if(L==null){var N=F;
while(N){do{D=N;
N=B.getPreviousNode(N);
if(!N){break
}if(B.isBodyNode(N)){N=null;
break
}if(H(N)!=null){N=null;
break
}}while(N.nodeType==3);
if(!N){L=D;
break
}G=N.tagName.toLowerCase();
if(G=="br"){L=D;
break
}}}var I=H(J);
if(I==null){if((J.nodeType==1)&&(J.tagName.toLowerCase()=="br")){I=J
}else{var K=J;
while(K){do{D=K;
K=B.getNextNode(K);
if(!K){break
}if(B.isBodyNode(K)){K=null;
break
}}while(K.nodeType==3);
if(!K||E(K)){I=D;
break
}G=K.tagName.toLowerCase();
if(G=="br"){I=K;
break
}}}}if(E(L)){if(L.childNodes.length>0){L=L.childNodes[0]
}}if(E(I)){if(I.childNodes.length>0){I=B.getLastChild(I)
}}return{startNode:L,startOffset:(L.nodeType==3?0:null),endNode:I,endOffset:(I&&I.nodeType==3?B.getNodeCharacterCnt(I):null)}
},isNoInsertNode:function(F){if(F.nodeType==3){return false
}var G=CQ.form.RichText.Selection.NO_INSERT_TAGS;
for(var D=0;
D<G.length;
D++){var E=B.matchesTagDef(F,G[D]);
if(E){return true
}}return false
},isSelection:function(D){return(D.endNode!=null)
},LINE_DELIMITING_TAGS:["p","li","h1","h2","h3","h4","h5","h6"],NO_INSERT_TAGS:[{tagName:"a",attribsDefined:["name"],attribsUndefined:["href"]}],SELECTION_INCLUSION_TAGS:[{tagName:"a",attribsDefined:["name"],attribsUndefined:["href"]}]};
return CQ.Ext.apply(C,CQ.Ext.isIE?{getRangePosition:function(H,E){E.collapse(true);
var G=E.parentElement();
var I=B.getCharacterOffsetForNode(H,G);
var D=E.duplicate();
CQ.form.RichText.Selection.setNodeToRange(D,G,true);
var F=I;
while(D.compareEndPoints("StartToStart",E)<0){if(D.moveEnd("character",1)==0){break
}if(D.text.length==1){F++
}else{if(D.htmlText.toLowerCase()=="<br>"){F++
}}D.collapse(false)
}return F
},setRangePosition:function(J,F){var E=CQ.form.RichText.Selection;
var H=J.document.selection.createRange();
var K=B.getNodeAtPosition(J,F);
if(K==null){H.moveToElementText(J.document.body);
H.collapse(false);
return H
}if(K.isNodeSelection){if(K.startOfElement){E.setNodeToRange(H,K.dom,true)
}else{H.moveToElementText(K.dom);
H.collapse(false);
var G=H.duplicate();
if(G.move("character",1)==1){H.move("character",-1)
}}return H
}var I=K.parentDom;
var D=K.parentOffset;
if(!I){var L=K.nodeBefore;
if(L){if(L.nodeType==3){H.moveToElementText(L.parentNode)
}else{H.moveToElementText(L)
}}else{H.moveToElementText(J.document.body)
}H.collapse(false);
return H
}E.setNodeToRange(H,I,true);
while(D>0){if(H.moveEnd("character",1)==0){break
}if((H.text.length>0)||(H.htmlText.toLowerCase()=="<br>")){D--
}H.collapse(false)
}return H
},getSelection:function(D){return D.document.selection
},getLeadRange:function(D){return D.document.selection.createRange()
},getCaretPos:function(E){var D=E.document.selection.createRange();
return CQ.form.RichText.Selection.getRangePosition(E,D)
},setCaretPos:function(F,E){var D=CQ.form.RichText.Selection.setRangePosition(F,E);
if(D){D.select()
}},createRange:function(D){return D.document.selection.createRange()
},selectRange:function(E,D){D.select()
},getRangeTextContent:function(E,D){return D.text
},createSelectionBookmark:function(J){var F=CQ.form.RichText.Selection;
var H=J.document.selection.createRange();
var L=null;
var D=null;
var K,E;
if(H.item){L=H.item(0);
K=B.getCharacterOffsetForNode(J,L);
E=K
}else{var M=H.duplicate();
M.collapse(true);
K=F.getRangePosition(J,M);
var G=H.duplicate();
G.collapse(false);
E=F.getRangePosition(J,G);
if(K==E){var I=H.parentElement();
if(I){if(I.childNodes.length==0){D=I;
if(F.isNoInsertNode(D)){D=null
}}}}}return CQ.Ext.apply({startPos:K,charCnt:(E-K),object:L,insertObject:D},F.getScrollOffsets(J))
},selectBookmark:function(J,G){var I=CQ.form.RichText.Selection;
var D=null;
var E=false;
if(G.object){D=G.object;
E=true
}else{if(G.insertObject){D=G.insertObject
}}var F;
if(D){if(E){F=J.document.body.createControlRange();
F.addElement(D)
}else{F=J.document.selection.createRange();
F.moveToElementText(D);
F.collapse(true)
}}else{F=I.setRangePosition(J,G.startPos);
if(G.charCnt>0){var H=I.setRangePosition(J,G.startPos+G.charCnt);
F.setEndPoint("EndToEnd",H)
}}if(F){F.select()
}I.setScrollOffsets(J,G)
},trimRangeWhitespace:function(J,F){var I=CQ.form.RichText.Selection;
var E,D;
E=F.duplicate();
E.collapse(true);
var H=0;
while(true){D=E.duplicate();
D.moveEnd("character",H+1);
if(!I.hasWhitespaceOnly(D.text)){break
}H++
}E=F.duplicate();
E.collapse(false);
var G=0;
while(true){D=E.duplicate();
D.moveStart("character",-(G+1));
if(!I.hasWhitespaceOnly(D.text)){break
}G++
}D=F.duplicate();
if(H>0){D.moveStart("character",H)
}if(G>0){D.moveEnd("character",-G)
}if(D.text.length>0){F=D
}return F
},getRangeNodeAndOffset:function(P){var J=CQ.form.RichText.Common;
var T=CQ.form.RichText.Selection;
var K;
var N=P.parentElement();
if(T.isNoInsertNode(N)){K=0;
var E=J.getBlockNode(N);
var I=false;
while(N.nodeType==1){N=J.getNextNode(N);
if(!N){N=P.parentElement();
while(!J.isTag(N,"body")){N=N.parentNode
}K=N.childNodes.length;
I=true;
break
}}if(!I&&(J.getBlockNode(N)!=E)){N=E;
K=E.childNodes.length
}return{dom:N,offset:K}
}var W=P.duplicate();
W.moveEnd("character",1);
var O=W.duplicate();
O.collapse(false);
var D=O.parentElement();
var a=P.duplicate();
var R=P.parentElement();
a.moveToElementText(R);
a.collapse(true);
if(a.move("character",1)==1){a.move("character",-1)
}var Y=null;
var H=null;
var G=R.childNodes.length;
for(var U=0;
U<G;
U++){var L=R.childNodes[U];
if(L.nodeType==1){var F=a.duplicate();
a.moveToElementText(L);
var M=a.duplicate();
a.collapse(true);
M.collapse(false);
if(a.compareEndPoints("StartToStart",W)==0){Y=L;
break
}else{if(M.compareEndPoints("EndToEnd",W)==0){Y=L;
var X=J.getLastTextChild(Y);
if(X){Y=X;
H=J.getNodeCharacterCnt(Y)
}break
}else{if(D==L){Y=L;
break
}}}var V=L.tagName.toLowerCase();
var Z=J.hasTextChild(L);
if((V=="br")||Z){a.moveToElementText(L);
a.collapse(false)
}else{F.move("character",2);
a=F
}}else{if(L.nodeType==3){var S=J.getNodeCharacterCnt(L);
K=0;
while(K<S){if(a.compareEndPoints("StartToStart",P)>=0){Y=L;
H=K;
break
}a.move("character",1);
K++
}if(Y){break
}}}}if(Y&&(Y.nodeType==1)){var Q=J.getFirstTextChild(Y);
if(Q){Y=Q;
H=0
}}if(!Y){Y=J.getLastTextChild(N);
if(Y){H=J.getNodeTextLength(Y)
}else{Y=N
}}return{dom:Y,offset:H}
},createProcessingSelection:function(J){var H=CQ.form.RichText.Selection;
var F=J.document.selection.createRange();
if(F.item){return{startNode:F.item(0)}
}var I=F.duplicate();
I.collapse(true);
var E=H.getRangeNodeAndOffset(I);
var G=F.duplicate();
G.collapse(false);
var D=H.getRangeNodeAndOffset(G);
if((E.dom==D.dom)&&(E.offset==D.offset)){D.dom=null;
D.offset=null
}return{startNode:E.dom,startOffset:E.offset,endNode:D.dom,endOffset:D.offset}
},setNodeToRange:function(D,G,E){if(G.nodeType==3){throw"Cannot select text node"
}try{D.moveToElementText(G);
if(E){D.collapse(true);
if(D.move("character",1)==1){D.move("character",-1)
}}}catch(F){}},selectNode:function(F,G,E){if(G.nodeType==3){throw"Selecting a text node is not supported."
}var D=F.document.selection.createRange();
CQ.form.RichText.Selection.setNodeToRange(D,G,E);
D.select()
},resetSelection:function(H,I){var D=H.document.selection.createRange();
var F=H.document.body;
if(H.document.body.childNodes.length>0){var G=H.document.body.childNodes;
for(var E=0;
E<G.length;
E++){if(G[E].nodeType==1){F=G[E];
break
}}}CQ.form.RichText.Selection.setNodeToRange(D,F,true);
switch(I){case"start":D.collapse(true);
break;
case"end":D.collapse(false);
break
}D.select()
}}:{getNodeCharacters:function(E){var D=E.nodeValue;
if(D){return D
}return""
},getCharPosition:function(I,G,J){var F=0;
var H,D;
if(G.nodeType==1){if(G.tagName.toLowerCase()!="body"){F=B.getCharacterOffsetForNode(I,G)
}for(var K=0;
K<J;
K++){var E=G.childNodes[K];
F+=B.getNodeCharacterCnt(E);
H=I.document.createTreeWalker(E,NodeFilter.SHOW_TEXT,null,false);
while(true){D=H.nextNode();
if(D==null){break
}F+=B.getNodeCharacterCnt(D)
}}return F
}return B.getCharacterOffsetForNode(I,G)+J
},calcNodeAndOffsetForPosition:function(M,G,Q){var D=0;
var P=M.document.createTreeWalker(M.document.body,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null,false);
var L=null;
while(true){var J=P.nextNode();
if(J==null){break
}var K=B.getBlockNode(J);
var R;
if(L==null){L=K
}else{if(K!=L){R=(Q?(G<=D+1):G==D);
if((G>=D)&&R){var H=B.getLastTextChild(L);
var E=B.getNodeCharacterCnt(H);
return{node:H,offset:E}
}D++;
L=K;
continue
}}var O=B.getNodeCharacterCnt(J);
R=(Q?(G<=(D+O)):(G<(D+O)));
if((G>=D)&&R){var N=G-D;
return{node:J,offset:N}
}D+=O
}var F=B.getLastChild(M.document.body);
var I=0;
if(F.nodeType==3){I=B.getNodeCharacterCnt(F)
}return{node:F,offset:I}
},getSelectionObject:function(D){if(D.anchorNode!=D.focusNode){return null
}if(Math.abs(D.anchorOffset-D.focusOffset)!=1){return null
}var F=(D.anchorOffset<D.focusOffset?D.anchorOffset:D.focusOffset);
var E=D.anchorNode.childNodes[F];
if(!E){return null
}if(E.nodeType==3){return null
}return E
},getSelection:function(D){return D.getSelection()
},getLeadRange:function(D){return D.getSelection().getRangeAt(0)
},getCaretPos:function(E){var D=E.getSelection();
if((D.anchorNode!=D.focusNode)||(D.anchorOffset!=D.focusOffset)){return -1
}return CQ.form.RichText.Selection.getCharPosition(E,D.anchorNode,D.anchorOffset)
},setCaretPos:function(H,G){if(G<0){G=0
}var F=H.getSelection();
var E=H.document.createRange();
var D=CQ.form.RichText.Selection.calcNodeAndOffsetForPosition(H,G);
E.setStart(D.node,D.offset);
E.setEnd(D.node,D.offset);
F.removeAllRanges();
F.addRange(E)
},createRange:function(D){return D.document.createRange()
},selectRange:function(F,D){var E=F.getSelection();
E.removeAllRanges();
E.addRange(D)
},getRangeTextContent:function(H,F){var I=F.cloneContents();
var E=H.document.createTreeWalker(I,NodeFilter.SHOW_TEXT,null,false);
var G="";
while(true){var D=E.nextNode();
if(D==null){break
}G+=CQ.form.RichText.Selection.getNodeCharacters(D)
}return G
},createSelectionBookmark:function(J){var M=J.getSelection();
var L=CQ.form.RichText.Selection.getSelectionObject(M);
var D=null;
var K=CQ.form.RichText.Selection.getCharPosition(J,M.anchorNode,M.anchorOffset);
var E=CQ.form.RichText.Selection.getCharPosition(J,M.focusNode,M.focusOffset);
if(E<K){var F=E;
E=K;
K=F
}if(K==E){var G=M.getRangeAt(0);
var H=G.commonAncestorContainer;
if(H.nodeType==1){var I=H.childNodes.length;
if((I==0)||(I==1)&&(H.childNodes[0].tagName.toLowerCase()=="br")){D=H;
if(CQ.form.RichText.Selection.isNoInsertNode(D)){D=null
}}}}return CQ.Ext.apply({startPos:K,charCnt:E-K,object:L,insertObject:D},CQ.form.RichText.Selection.getScrollOffsets(J))
},adjustForSelection:function(E){if(E.node.nodeType==1){var D=E.node;
E.node=D.parentNode;
E.offset=B.getChildIndex(D)
}},selectBookmark:function(I,J){var D=CQ.form.RichText.Selection;
var K=null;
if(J.object){K=J.object
}else{if(J.insertObject){K=J.insertObject
}}var G=I.document.createRange();
if(K){G.selectNode(K);
G.collapse(true)
}else{var F=D.calcNodeAndOffsetForPosition(I,J.startPos);
var H=F;
if(J.charCnt>0){H=D.calcNodeAndOffsetForPosition(I,J.startPos+J.charCnt,true)
}D.adjustForSelection(F);
if(J.charCnt>0){D.adjustForSelection(H)
}if((F.node==H.node)&&(F.offset==H.offset)){var E=F.node;
if(E.nodeType==1){E=E.childNodes[F.offset];
D.selectNode(I,E,true);
return 
}}G.setStart(F.node,F.offset);
G.setEnd(H.node,H.offset)
}var L=I.getSelection();
L.removeAllRanges();
L.addRange(G)
},trimRangeWhitespace:function(J,H){var K=CQ.form.RichText.Selection.getRangeTextContent(J,H);
var N=0;
var M=1;
var E;
while(M<K.length){E=K.substring(0,M++);
if(!CQ.form.RichText.Selection.hasWhitespaceOnly(E)){break
}N++
}var G=0;
M=K.length;
while(M>0){E=K.substring(--M,K.length);
if(!CQ.form.RichText.Selection.hasWhitespaceOnly(E)){break
}G++
}if((K.length-N-G)>0){if(N>0){var L=CQ.form.RichText.Selection.getCharPosition(J,H.startContainer,H.startOffset);
L+=N;
var F=CQ.form.RichText.Selection.calcNodeAndOffsetForPosition(J,L);
H.setStart(F.node,F.offset)
}if(G>0){var D=CQ.form.RichText.Selection.getCharPosition(J,H.endContainer,H.endOffset);
D-=G;
var I=CQ.form.RichText.Selection.calcNodeAndOffsetForPosition(J,D);
H.setEnd(I.node,I.offset)
}}return H
},createProcessingSelection:function(J){var D,L,H,M;
var O=J.getSelection();
if(O.rangeCount>1){var G=O.getRangeAt(0);
D=G.startContainer;
L=null;
if(D.nodeType==1){D=D.childNodes[G.startOffset]
}else{L=G.startOffset
}G=O.getRangeAt(O.rangeCount-1);
M=null;
H=G.endContainer;
if(H.nodeType==1){if(G.endOffset<H.childNodes.length){H=B.getPreviousNode(H.childNodes[G.endOffset])
}else{H=B.getLastChild(H)
}if(H.nodeType==3){M=B.getNodeCharacterCnt(H)
}}else{M=G.endOffset
}return{startNode:D,startOffset:L,endNode:H,endOffset:M,isDiscontinuousSelection:true}
}var K=CQ.form.RichText.Selection.getSelectionObject(O);
if(K){return{startNode:K}
}D=O.anchorNode;
L=O.anchorOffset;
H=O.focusNode;
M=O.focusOffset;
var I;
if(!B.isTag(D,"br")&&(D.nodeType==1)){I=D.childNodes.length;
if(I==0){L=null
}else{if(L<I){D=D.childNodes[L];
L=null
}else{D=B.getLastChild(D);
if(D.nodeType==3){L=B.getNodeCharacterCnt(D)
}else{L=null
}}}}if(!B.isTag(H,"br")&&(H.nodeType==1)){I=H.childNodes.length;
if(I==0){M=null
}else{if(M<I){H=H.childNodes[M];
M=null
}else{H=B.getLastChild(H);
if(H.nodeType==3){M=B.getNodeCharacterCnt(H)
}else{M=null
}}}}if((D==H)&&(L==M)){return{startNode:D,startOffset:L}
}var N=false;
if(D==H){N=(M<L)
}else{var P=B.createIndexPath(D);
var F=B.createIndexPath(H);
N=(B.compareIndexPaths(P,F)<0)
}if(N){var E=H;
H=D;
D=E;
E=M;
M=L;
L=E
}return{startNode:D,startOffset:L,endNode:H,endOffset:M}
},selectNode:function(G,I,F){if(I.nodeType==3){throw"Selecting a text node is not supported."
}var E=G.getSelection();
var D=G.document.createRange();
if(F){var H=B.getFirstTextChild(I);
if(H){D.setStart(H,0);
D.setEnd(H,0)
}else{if((I.childNodes.length==1)&&(I.childNodes[0].nodeType==1)){D.selectNode(I.childNodes[0]);
D.collapse(true)
}else{D.selectNode(I);
D.collapse(true)
}}}else{D.selectNode(I)
}E.removeAllRanges();
E.addRange(D)
},ensureCaretVisibility:function(M,I){var G=CQ.form.RichText.Selection;
var K=G.getLeadRange(M);
var H=M.document.createElement("span");
K.insertNode(H);
var O=H.offsetTop;
var L=H;
while(L.offsetParent){L=L.offsetParent;
O+=L.offsetTop
}var Q=H.clientHeight;
var F=M.document.body.scrollTop;
var J=I.clientHeight;
var E=F+J;
var D=O+Q;
var N=M.document.body.scrollHeight;
if((N-D)<8){D=N
}if(D>E){M.document.body.scrollTop=D-J
}var P=H.parentNode;
P.removeChild(H);
P.normalize()
},flushSelection:function(E){var D=E.getSelection();
D.selectAllChildren(E.document.body);
D.collapseToStart()
},resetSelection:function(E,F){var D=E.getSelection();
D.selectAllChildren(E.document.body);
switch(F){case"start":D.collapseToStart();
break;
case"end":D.collapseToEnd();
break
}}})
}();
CQ.form.RichText.Command=CQ.Ext.extend(CQ.Ext.emptyFn,{isCommand:function(B){return false
},getProcessingOptions:function(){return CQ.form.RichText.Command.PO_NONE
},execute:function(B){},queryState:function(B,C){return false
}});
CQ.form.RichText.Command.PO_NONE=0;
CQ.form.RichText.Command.PO_SELECTION=1;
CQ.form.RichText.Command.PO_BOOKMARK=2;
CQ.form.RichText.Command.PO_NODELIST=4;
CQ.form.RichText.Command.SurroundBase=CQ.Ext.extend(CQ.form.RichText.Command,{tagName:null,attributes:null,constructor:function(C,B){this.tagName=C;
this.attributes=B
},containsTag:function(E,D){var B=CQ.form.RichText.Common;
for(var C in E){var F=E[C];
if(B.isTag(F,D)){return true
}}return false
},isCommand:function(B){return(B.toLowerCase()==this.tagName.toLowerCase())
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_SELECTION|B.PO_BOOKMARK|B.PO_NODELIST
},execute:function(E){var B=CQ.form.RichText.Common;
var C=E.nodeList;
var D=B.containsTagInPath(C.commonAncestor,this.tagName);
if(!D){C.surround(E.win,this.tagName,this.attributes)
}else{C.removeNodesByTag([this.tagName],true)
}},queryState:function(B,D){var C=B.consistentFormatting;
return this.containsTag(C,this.tagName)
}});
CQ.form.RichText.Command.SubScript=CQ.Ext.extend(CQ.form.RichText.Command.SurroundBase,{constructor:function(){CQ.form.RichText.Command.SubScript.superclass.constructor.call(this,"sub",null)
},isCommand:function(B){return(B.toLowerCase()=="subscript")
}});
CQ.form.RichText.Command.SuperScript=CQ.Ext.extend(CQ.form.RichText.Command.SurroundBase,{constructor:function(){CQ.form.RichText.Command.SubScript.superclass.constructor.call(this,"sup",null)
},isCommand:function(B){return(B.toLowerCase()=="superscript")
}});
CQ.form.RichText.Command.InsertHtml=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(B){return(B.toLowerCase()=="inserthtml")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_SELECTION
},execute:function(D){var C=D.value;
if(CQ.Ext.isIE){try{var B=D.doc.selection.createRange(C);
B.pasteHTML(C)
}catch(E){throw"Could not insert html due to IE limitations."
}}else{if(CQ.Ext.isGecko){D.doc.execCommand("inserthtml",false,C)
}}},queryState:function(B,C){return false
}});
CQ.form.RichText.Command.Indent=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(B){return(B.toLowerCase()=="indent")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_SELECTION|B.PO_BOOKMARK|B.PO_NODELIST
},execute:function(E){var K={selOffset:{collapse:true}};
var I=CQ.form.RichText;
var C=I.Selection;
var D=I.Common;
var H=E.nodeList;
var P=E.doc;
var M=E.win;
var N=E.component;
var B=H.getTags([{matcher:function(Q){if(D.isBlockNode(Q)&&!D.isTag(Q,"ul")){return true
}return D.isTag(Q,"li")
}}],true);
var O=B.length;
for(var G=0;
G<O;
G++){var L=B[G];
var J=L.dom;
if(D.isBlockNode(J)){var F=0;
if(J.style.marginLeft){F=parseInt(J.style.marginLeft)
}F+=N.indentSize;
J.style.marginLeft=F+"px"
}else{C.selectNode(M,J,true);
P.execCommand("indent",false,null)
}}return K
},queryState:function(C,E){var B=CQ.form.RichText.Common;
var D=C.nodeList.getTags([{matcher:function(F){if(B.isBlockNode(F)&&!B.isTag(F,"ul")){return !!F.style.marginLeft
}return B.isTag(F,"li")
}}],true);
return(D.length>0)
}});
CQ.form.RichText.Command.Outdent=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(B){return(B.toLowerCase()=="outdent")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_SELECTION|B.PO_BOOKMARK|B.PO_NODELIST
},execute:function(C){var I={selOffset:{start:0,collapse:true}};
var G=CQ.form.RichText;
var J=G.Selection;
var F=G.Common;
var B=G.DomProcessor;
var Q=C.nodeList;
var H=C.component;
var S=C.doc;
var E=C.win;
var P=Q.getTags([{matcher:function(U){if(F.isBlockNode(U)&&!F.isTag(U,"ul")){return !!U.style.marginLeft
}return F.isTag(U,"li")
}}],true);
var O=false;
var T=false;
var N=P.length;
for(var M=0;
M<N;
M++){var D=P[M];
var L=D.dom;
if(F.isBlockNode(L)){var K=0;
if(L.style.marginLeft){K=parseInt(L.style.marginLeft);
K-=H.indentSize;
if(K<=0){L.style.marginLeft=null
}else{L.style.marginLeft=K+"px"
}}}else{var R=F.getListLevel(L);
if(R==1){if(M==0){O=true;
T=(F.getChildIndex(L)==0)
}B.convertListItem(E,L,"p")
}else{J.selectNode(E,L,true);
S.execCommand("outdent",false,null)
}}}if(O&&!T){I.selOffset.start=1
}return I
}});
CQ.form.RichText.Command.Justify=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(C){var B=CQ.form.RichText.Common;
return B.strStartsWith(C.toLowerCase(),"justify")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_SELECTION|B.PO_BOOKMARK
},execute:function(F){var H=CQ.form.RichText;
var K=H.DomProcessor;
var C=H.Common;
var L=F.selection;
var G=F.command;
var B;
switch(G){case"justifyleft":B=null;
break;
default:B=G.substring(7,G.length);
break
}var E=K.createContainerList(L);
var N=C.getConsistentStyle(E,"textAlign","left");
var J=(N!=null);
var M=E.length;
for(var D=0;
D<M;
D++){var I=E[D];
if(J){if(I.style.textAlign==B){I.style.textAlign=null
}else{I.style.textAlign=B
}}else{I.style.textAlign=B
}}},queryState:function(D,E){var C=CQ.form.RichText.Common;
var B=D.containerList;
var G=E.substring(7,E.length);
var F=C.getConsistentStyle(B,"textAlign","left");
return(G==F)
}});
CQ.form.RichText.Command.CutCopy=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(C){var B=C.toLowerCase();
return(B=="cut")||(B=="copy")
},execute:function(B){var E=B.command;
var D=B.doc;
try{D.execCommand(E,false,null)
}catch(C){throw"Cannot "+E+"."
}}});
CQ.form.RichText.Command.Paste=CQ.Ext.extend(CQ.form.RichText.Command,{whitespaceProcessor:null,constructor:function(){this.whitespaceProcessor=new CQ.form.RichText.HtmlProcessor.WhitespaceProcessor()
},isCommand:function(B){if(B.toLowerCase()=="paste"){return true
}},pasteAsPlainText:function(D){var G=CQ.form.RichText.HtmlProcessor;
var B=CQ.form.RichText.DomProcessor;
var U=CQ.form.RichText.Selection;
var I=CQ.form.RichText.Common;
var O=D.value.html;
var Q=D.value.text;
var H=D.win;
var X=D.doc;
var R;
if(Q){R=Q
}else{R=(new G.StripTags()).strip(O);
R=G.stripSurroundingWhitespace(R,true);
if(D.value.stripHtmlTags){R=CQ.Ext.util.Format.htmlDecode(R);
R=CQ.Ext.util.Format.stripTags(R)
}}var E=R.split("\n\n");
var M=E.length;
var T=U.createProcessingSelection(H);
var J=T.startNode;
var W=T.startOffset;
if(I.isBodyNode(J)){J=this.ensureMinimumContent();
W=null
}for(var L=0;
L<M;
L++){if(L>0){J=B.insertParagraph(H,J,W);
W=null
}var C=E[L].split("\n");
var K=C.length;
for(var S=0;
S<K;
S++){var N=C[S];
if(S>0){var F=X.createElement("br");
if(W==0){J.parentNode.insertBefore(F,J)
}else{if(W>=I.getNodeCharacterCnt(J)){J.parentNode.insertBefore(F,J.nextSibling);
J=I.getNextNode(F);
if(!J){var V=X.body.childNodes;
J=V[V.length-1];
W=J.childNodes.length
}else{if(J.nodeType==3){W=0
}else{W=null
}}}else{J=B.splitTextNode(X,J,W)[1];
J.parentNode.insertBefore(F,J);
W=0
}}}var P=B.insertText(X,J,W,N);
J=P.node;
W=P.offset
}}return{startNode:J,startOffset:W}
},pasteAsWordHtml:function(C){var H=CQ.form.RichText.HtmlProcessor;
var J=CQ.form.RichText.DomProcessor;
var B=CQ.form.RichText.Selection;
var D=C.value.html;
var F=C.win;
var I=C.doc;
D=this.whitespaceProcessor.process(D);
D=new H.HtmlRazor().process(D);
if(CQ.Ext.isIE){var E=B.getLeadRange(F);
E.pasteHTML(D)
}else{I.execCommand("InsertHTML",false,D)
}var G=B.createSelectionBookmark(F);
G.startPos+=J.cleanupNestedBlocks(I.body);
C.bookmark=G
},execute:function(E){var D=CQ.form.RichText.Selection;
var C=CQ.form.RichText.Command.Paste;
var H=E.win;
var L=E.doc;
var M=E.value;
var G=M.mode;
var F=M.pasteRange;
if(G==C.MODE_BROWSER){try{L.execCommand("paste",false,null)
}catch(J){throw"Cannot paste."
}return 
}D.selectRange(H,F);
var K=D.getSelection(H);
if(CQ.Ext.isIE){if(F.text.length>1){K.clear()
}}else{if(!K.isCollapsed){L.executeCommand("Delete")
}}var B;
switch(G){case C.MODE_PLAINTEXT:B=this.pasteAsPlainText(E);
break;
case C.MODE_WORDHTML:B=this.pasteAsWordHtml(E);
break;
default:throw"Invalid paste mode: "+G;
break
}var I=E.bookmark;
if(B){I=D.bookmarkFromProcessingSelection(H,B)
}E.bookmark=I;
return{calleeRet:{bookmark:I,geckoEnsureCaretVisibility:(G==C.MODE_PLAINTEXT)}}
}});
CQ.form.RichText.Command.Paste.MODE_BROWSER="browser";
CQ.form.RichText.Command.Paste.MODE_PLAINTEXT="plaintext";
CQ.form.RichText.Command.Paste.MODE_WORDHTML="wordhtml";
CQ.form.RichText.Command.Link=CQ.Ext.extend(CQ.form.RichText.Command,{addLinkToDom:function(H){var E=H.nodeList;
var D=H.value.url;
var G=H.value.css;
var I=H.value.target;
var C=H.value.attributes;
var B=[];
E.getAnchors(B,true);
if(B.length>0){for(var F=0;
F<B.length;
F++){this.applyLinkProperties(B[F].dom,D,G,I,C)
}}else{C.href=D;
if(G){C.className=G
}if(I){C.target=I
}E.surround(H.win,"a",C)
}},applyLinkProperties:function(G,B,C,E,F){G.href=B;
if(E){G.target=E
}else{G.removeAttribute("target")
}if(C){G.className=C
}else{if(CQ.Ext.isIE){G.removeAttribute("className")
}else{G.removeAttribute("class")
}}for(var D in F){if(F.hasOwnProperty(D)){if(F[D].length>0){G[D]=F[D]
}else{G.removeAttribute(D)
}}}},removeLinkFromDom:function(F){var E=CQ.form.RichText.DomProcessor;
var C=F.nodeList;
var B=[];
C.getAnchors(B,true);
for(var D=0;
D<B.length;
D++){E.removeWithoutChildren(B[D].dom)
}},isCommand:function(C){var B=C.toLowerCase();
return(B=="modifylink")||(B=="unlink")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_BOOKMARK|B.PO_SELECTION|B.PO_NODELIST
},execute:function(B){switch(B.command.toLowerCase()){case"modifylink":this.addLinkToDom(B);
break;
case"unlink":this.removeLinkFromDom(B);
break
}},queryState:function(B,C){return(B.anchorCount>0)
}});
CQ.form.RichText.Command.Anchor=CQ.Ext.extend(CQ.form.RichText.Command,{addAnchorToDom:function(E){var D=CQ.form.RichText.Common;
var K=CQ.form.RichText.DomProcessor;
var F=E.nodeList;
var C=E.value;
var B=[];
F.getNamedAnchors(B,false);
if(B.length>0){for(var I=0;
I<B.length;
I++){this.applyAnchorProperties(B[I].dom,C)
}}else{var H={name:C,className:CQ.themes.RichText.ANCHOR_CLASS};
var J=E.selection;
var G=K.createNode(E.doc,"a",H);
D.insertNode(G,J.startNode,J.startOffset)
}},applyAnchorProperties:function(C,B){C.name=B;
C.className=CQ.themes.RichText.ANCHOR_CLASS
},removeAnchorFromDom:function(F){var E=CQ.form.RichText.DomProcessor;
var B=F.nodeList;
var D=[];
B.getNamedAnchors(D,true);
for(var C=0;
C<D.length;
C++){E.removeWithoutChildren(D[C].dom)
}},isCommand:function(C){var B=C.toLowerCase();
return(B=="anchor")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_BOOKMARK|B.PO_SELECTION|B.PO_NODELIST
},execute:function(B){if(B.value){this.addAnchorToDom(B)
}else{this.removeAnchorFromDom(B)
}},queryState:function(B,C){return(B.namedAnchorCount>0)
}});
CQ.form.RichText.Command.Format=CQ.Ext.extend(CQ.form.RichText.Command,{isCommand:function(B){return(B.toLowerCase()=="format")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_BOOKMARK|B.PO_SELECTION
},execute:function(G){var F=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Common;
var I;
var E=G.selection;
var B=F.createContainerList(E);
if(B.length==0){var D=G.nodeList;
if(!D){D=F.createNodeList(E)
}var H=C.getTagInPath(D.commonAncestor,F.AUXILIARY_ROOT_TAGS);
if(H){I=F.createNode(G.doc,G.value.tag);
C.moveChildren(H,I);
H.appendChild(I)
}}else{I=F.createNode(G.doc,G.value.tag);
F.changeContainerTag(G.win,B,I,true)
}},queryState:function(B,C){return false
}});
CQ.form.RichText.Command.Style=CQ.Ext.extend(CQ.form.RichText.Command,{addStyleSpan:function(D){var C=D.value;
var B=D.nodeList;
if(B){B.surround(D.win,"span",{className:C})
}},removeStyleSpan:function(F){var D=CQ.form.RichText.Common;
var L=CQ.form.RichText.DomProcessor;
var H=F.nodeList;
var J=H.getTags([{matcher:function(O){return D.isTag(O,"span")
}}],true);
var I=[];
var N=J.length;
for(var G=0;
G<N;
G++){var C=J[G].dom;
if(F.value&&F.value.styles){for(var E in F.value.styles){if(D.hasCSS(C,E)){I.push(C);
break
}}}else{if(C.className){I.push(C)
}}}var M=I.length;
for(var B=0;
B<M;
B++){var K=I[B];
L.removeWithoutChildren(K)
}},isCommand:function(C){var B=C.toLowerCase();
return(B=="applystyle")||(B=="removestyle")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_BOOKMARK|B.PO_SELECTION|B.PO_NODELIST
},execute:function(B){switch(B.command.toLowerCase()){case"applystyle":this.addStyleSpan(B);
break;
case"removestyle":this.removeStyleSpan(B);
break
}},queryState:function(B,C){return false
}});
CQ.form.RichText.Command.Table=CQ.Ext.extend(CQ.form.RichText.Command,{getTable:function(C){var B=CQ.form.RichText.Common;
return B.getTagInPath(C.nodeList.commonAncestor,"table")
},transferConfigToTable:function(F,C){var B=CQ.form.RichText.Common;
if(C.cellpadding){F.cellPadding=C.cellpadding
}if(C.cellspacing){F.cellSpacing=C.cellspacing
}if(C.border){F.border=C.border;
if(C.border==0){B.addClass(F,CQ.themes.RichText.TABLE_NOBORDER_CLASS)
}else{B.removeClass(F,CQ.themes.RichText.TABLE_NOBORDER_CLASS)
}}if(C.width){F.width=C.width
}if(C.height){F.height=C.height
}var E=B.parseCSS(F);
for(var D=0;
D<E.length;
D++){if(E[D]!=CQ.themes.RichText.TABLE_NOBORDER_CLASS){B.removeClass(F,E[D])
}}if(C.tableStyle){B.addClass(F,C.tableStyle)
}},createTable:function(H){var B=CQ.form.RichText.DomProcessor;
var N=CQ.form.RichText.Selection;
var S=H.selection;
var J=S.startNode;
var Q=S.startOffset;
J=B.insertParagraph(H.win,J,Q);
if(!J){return 
}var K=H.doc.createElement("table");
J.parentNode.insertBefore(K,J);
var R=H.value;
var F=R.header;
var L=(F.indexOf("top")>=0);
var M=(F.indexOf("left")>=0);
this.transferConfigToTable(K,R);
var C=H.doc.createElement("tbody");
K.appendChild(C);
var G=null;
for(var P=0;
P<R.rows;
P++){var D=H.doc.createElement("tr");
C.appendChild(D);
for(var O=0;
O<R.columns;
O++){var I="td";
if(((P==0)&&L)||((O==0)&&M)){I="th"
}var E=H.doc.createElement(I);
if(!G){G=E
}D.appendChild(E);
E.appendChild(B.createEmptyLinePlaceholder(H.win))
}}H.bookmark=N.bookmarkFromProcessingSelection(H.win,{startNode:G,startOffset:0})
},modifyTable:function(E){var D=CQ.form.RichText.Selection;
var C=this.getTable(E);
var B=E.value;
if(C&&B){this.transferConfigToTable(C,B)
}if(CQ.Ext.isGecko){D.flushSelection(E.win)
}else{E.bookmark=null
}},removeTable:function(E){var D=CQ.form.RichText.Selection;
var C=this.getTable(E);
if(C){var B=D.bookmarkFromProcessingSelection(E.win,{startNode:C,startOffset:0});
C.parentNode.removeChild(C);
if(CQ.Ext.isGecko){D.flushSelection(E.win)
}E.bookmark=B
}},getTableBody:function(E){var B=CQ.form.RichText.Common;
var C=this.getTable(E);
var D=B.getChildNodesByType(C,"tr",true);
if(D.length>0){C=D[0].parentNode
}return C
},getSelectedRows:function(C){var B=CQ.form.RichText.Common;
return C.getTags([{matcher:function(D){return B.isTag(D,"tr")
}}],true)
},insertEmptyRow:function(E,H,G){var I=CQ.form.RichText.DomProcessor;
var B=CQ.form.RichText.Selection;
var D=this.getTableBody(E);
var K=E.doc.createElement("tr");
D.insertBefore(K,H);
var J=G.childNodes.length;
for(var F=0;
F<J;
F++){var C=G.childNodes[F].cloneNode(false);
K.appendChild(C);
C.appendChild(I.createEmptyLinePlaceholder(E.win,false))
}if(CQ.Ext.isGecko){B.flushSelection(E.win)
}},insertRowBefore:function(D){var C=CQ.form.RichText.Selection;
var B=this.getSelectedRows(D.nodeList);
if(B.length>=1){this.insertEmptyRow(D,B[0].dom,B[0].dom);
D.bookmark=C.bookmarkFromProcessingSelection(D.win,D.selection)
}},insertRowAfter:function(E){var D=CQ.form.RichText.Selection;
var C=this.getSelectedRows(E.nodeList);
if(C.length>=1){var B=C[C.length-1].dom;
this.insertEmptyRow(E,B.nextSibling,B);
E.bookmark=D.bookmarkFromProcessingSelection(E.win,E.selection)
}},removeRow:function(F){var E=CQ.form.RichText.Selection;
var D=this.getSelectedRows(F.nodeList);
var I=this.getTableBody(F);
var H=D.length;
var B=I.childNodes.length;
if(B==H){this.removeTable(F);
return 
}var G=null;
if(H>0){G=D[0].dom.previousSibling;
if(!G){G=D[0].dom.nextSibling
}}for(var C=0;
C<H;
C++){I.removeChild(D[C].dom)
}if(CQ.Ext.isGecko){E.flushSelection(F.win)
}if(G){F.bookmark=E.bookmarkFromProcessingSelection(F.win,{startNode:G,startOffset:null})
}else{F.bookmark=null
}},getSelectedCells:function(C){var B=CQ.form.RichText.Common;
return C.getTags([{matcher:function(D){return B.isTag(D,["td","th"])
}}],true)
},insertEmptyCol:function(E,H){var I=CQ.form.RichText.DomProcessor;
var C=CQ.form.RichText.Selection;
var J,O,F;
var D=this.getTableBody(E);
if(H){O=H.parentNode;
var L=O.childNodes;
for(F=0;
F<L.length;
F++){if(L[F]==H){J=F;
break
}}}else{J=-1
}var N=D.childNodes;
var G=N.length;
for(F=0;
F<G;
F++){O=N[F];
var B,M;
if(J<0){B=O.childNodes[O.childNodes.length-1];
M=null
}else{B=O.childNodes[J];
M=B
}var K=B.cloneNode(false);
K.appendChild(I.createEmptyLinePlaceholder(E.win,false));
O.insertBefore(K,M)
}if(CQ.Ext.isGecko){C.flushSelection(E.win)
}},insertColBefore:function(D){var C=CQ.form.RichText.Selection;
var B=this.getSelectedCells(D.nodeList);
if(B.length==1){this.insertEmptyCol(D,B[0].dom);
D.bookmark=C.bookmarkFromProcessingSelection(D.win,D.selection)
}},removeCol:function(G){var C=CQ.form.RichText.Selection;
var E=CQ.form.RichText.Common;
var N=this.getSelectedCells(G.nodeList);
if(N.length==1){var H;
var D=N[0].dom;
var K=D.parentNode;
if(K.childNodes.length==1){this.removeTable(G);
return 
}H=D.nextSibling;
if(!H){H=D.previousSibling
}var L=E.getChildIndex(D);
var F=this.getTableBody(G);
var O=F.childNodes;
var J=O.length;
for(var I=0;
I<J;
I++){var B=O[I];
var M=B.childNodes[L];
B.removeChild(M)
}if(CQ.Ext.isGecko){C.flushSelection(G.win)
}if(H){G.bookmark=C.bookmarkFromProcessingSelection(G.win,{startNode:H,startOffset:null})
}else{G.bookmark=null
}}},insertColAfter:function(D){var C=CQ.form.RichText.Selection;
var B=this.getSelectedCells(D.nodeList);
if(B.length==1){this.insertEmptyCol(D,B[0].dom.nextSibling);
D.bookmark=C.bookmarkFromProcessingSelection(D.win,D.selection)
}},transferConfigToCell:function(D,C){var B=CQ.form.RichText.Common;
if(C.width){D.width=C.width
}if(C.height){D.height=C.height
}if(C.align){D.align=C.align
}if(C.valign){D.vAlign=C.valign
}D.className=null;
if(C.cellStyle){B.addClass(D,C.cellStyle)
}},modifyCell:function(I){var H=CQ.form.RichText.Selection;
var C=CQ.form.RichText.Common;
var B=this.getSelectedCells(I.nodeList);
if(B.length!=1){return 
}B=B[0].dom;
var D=I.value;
if(B&&D){var G=D._applyTo;
var F;
switch(G){case"cell":F=[B];
break;
case"row":F=C.getTableRow(B);
break;
case"column":F=C.getTableColumn(B);
break
}for(var E=0;
E<F.length;
E++){this.transferConfigToCell(F[E],D)
}}if(CQ.Ext.isGecko){H.flushSelection(I.win)
}else{I.bookmark=null
}},isCommand:function(D){var B=CQ.form.RichText.Common;
var C=D.toLowerCase();
return B.strEndsWith(C,"table")||B.strEndsWith(C,"column")||B.strEndsWith(C,"row")||B.strEndsWith(C,"cell")
},getProcessingOptions:function(){var B=CQ.form.RichText.Command;
return B.PO_BOOKMARK|B.PO_SELECTION|B.PO_NODELIST
},execute:function(C){var B;
switch(C.command.toLowerCase()){case"createtable":this.createTable(C);
break;
case"modifytable":this.modifyTable(C);
break;
case"removetable":this.removeTable(C);
break;
case"insertrow":B=C.value;
if(!B||B=="before"){this.insertRowBefore(C)
}else{this.insertRowAfter(C)
}break;
case"removerow":this.removeRow(C);
break;
case"insertcolumn":B=C.value;
if(!B||(B=="before")){this.insertColBefore(C)
}else{this.insertColAfter(C)
}break;
case"removecolumn":this.removeCol(C);
break;
case"modifycell":this.modifyCell(C);
break
}},queryState:function(C,D){var B=CQ.form.RichText.Common;
if(D=="table"){return B.getTagInPath(C.nodeList.commonAncestor,"table")
}else{if(D=="modifycell"){return B.getTagInPath(C.nodeList.commonAncestor,["td","th"])
}}return false
}});
CQ.form.RichText.ToolbarBuilder=CQ.Ext.extend(CQ.Ext.emptyFn,{rteComponent:null,groups:null,constructor:function(B){this.groups=[];
this.rteComponent=B
},insertInArray:function(F,D){var C=D.sort;
var E=F.length;
for(var B=0;
B<E;
B++){if(F[B].sort&&F[B].sort>C){F.splice(B,0,D);
return 
}}F.push(D)
},getGroupById:function(D){var B=this.groups.length;
for(var C=0;
C<B;
C++){if(this.groups[C].id==D){return this.groups[C]
}}},addElement:function(E,B,D,C){var F=this.getGroupById(E);
if(!F){F={id:E,sort:B,elements:[]};
this.insertInArray(this.groups,F)
}this.insertInArray(F.elements,{sort:C,def:D})
},createToolbar:function(K){var D=this.groups.length;
var B=[];
for(var J=0;
J<D;
J++){var I=this.groups[J].elements;
var C=I.length;
for(var E=0;
E<C;
E++){var F=I[E].def;
var G=F.getToolbar();
var H=null;
if(G<K.length){H=K[G]
}if(!H){H=new CQ.WrappingToolbar({renderTo:this.rteComponent.wrap.dom.firstChild});
K[G]=H
}if((E==0)&&B[G]){H.add("-")
}else{B[G]=true
}F.addToToolbar(H)
}}}});
CQ.form.RichText.ToolbarBuilder.MAIN_TOOLBAR=0;
CQ.form.RichText.ToolbarBuilder.STYLE_TOOLBAR=1;
CQ.form.RichText.ToolbarBuilder.Element=CQ.Ext.extend(CQ.Ext.emptyFn,{id:null,plugin:null,toggle:null,tooltip:null,toolbar:null,constructor:function(E,C,B,D){this.id=E;
this.plugin=C;
this.toggle=B;
if(D&&CQ.Ext.QuickTips&&CQ.Ext.QuickTips.isEnabled()){this.tooltip=D;
this.tooltip.cls="x-html-editor-tip"
}else{this.tooltip=null
}},getToolbar:function(){return CQ.form.RichText.ToolbarBuilder.MAIN_TOOLBAR
},addToToolbar:function(B){this.toolbar=B;
B.add({itemId:this.id,cls:"x-btn-icon x-edit-"+this.id,enableToggle:(this.toggle!==false),scope:this,handler:function(){this.plugin.execute(this.id)
},clickEvent:"mousedown",tooltip:this.tooltip,tabIndex:-1})
},getExtUI:function(){return this.toolbar.items.map[this.id]
}});
CQ.form.RichText.ToolbarBuilder.ParagraphFormatter=CQ.Ext.extend(CQ.form.RichText.ToolbarBuilder.Element,{formatSelector:null,formats:null,constructor:function(E,C,D,B){CQ.form.RichText.ToolbarBuilder.ParagraphFormatter.superclass.constructor.call(this,E,C,false,D);
this.formats=B
},createFormatOptions:function(){var B="";
if(this.formats){for(var C in this.formats){if(this.formats.hasOwnProperty(C)){var D=this.formats[C].description;
B+='<option value="'+C+'">'+D+"</option>"
}}}return B
},getToolbar:function(){return CQ.form.RichText.ToolbarBuilder.STYLE_TOOLBAR
},addToToolbar:function(B){this.formatSelector=B.el.createChild({tag:"select",cls:"x-font-select",html:this.createFormatOptions()});
this.formatSelector.on("change",function(){var C=this.formatSelector.dom.value;
if(C.length>0){this.plugin.execute(this.id)
}},this);
this.formatSelector.setHeight(20);
B.add(CQ.I18n.getMessage("Format")," ",this.formatSelector.dom)
},getSelectedFormat:function(){var B=this.formatSelector.dom.value;
if(B.length>0){return B
}return null
},getExtUI:function(){return this.formatSelector
}});
CQ.form.RichText.ToolbarBuilder.StyleSelector=CQ.Ext.extend(CQ.form.RichText.ToolbarBuilder.Element,{styleSelector:null,removeButton:null,styles:null,constructor:function(E,C,D,B){CQ.form.RichText.ToolbarBuilder.StyleSelector.superclass.constructor.call(this,E,C,false,D);
this.styles=B
},createStyleOptions:function(){var D='<option value="">[None]</option>';
if(this.styles){for(var F in this.styles){var B=F;
var E;
var C=this.styles[F];
if(typeof (C)!="string"){B=C.className;
E=C.text
}else{E=C
}D+='<option value="'+B+'" class="'+B+'">'+E+"</option>"
}}return D
},getToolbar:function(){return CQ.form.RichText.ToolbarBuilder.STYLE_TOOLBAR
},addToToolbar:function(B){this.styleSelector=B.el.createChild({tag:"select",cls:"x-font-select",html:this.createStyleOptions()});
this.styleSelector.on("change",function(){var C=this.styleSelector.dom.value;
if(C.length>0){this.plugin.execute(this.id)
}},this);
this.styleSelector.setHeight(19);
this.removeButton=B.el.createChild({tag:"button",type:"button",value:CQ.I18n.getMessage("X"),html:CQ.I18n.getMessage("X"),cls:"x-btn"});
this.removeButton.on("click",function(){this.plugin.execute(this.id+"_remove")
},this);
B.add(CQ.I18n.getMessage("Style")," ",this.styleSelector.dom,this.removeButton.dom)
},getSelectedStyle:function(){var B=this.styleSelector.dom.value;
if(B.length>0){return B
}return null
},getExtUI:function(){return this.styleSelector
},getRemoveButtonUI:function(){return this.removeButton
}});
CQ.form.RichText.ContextMenuBuilder=CQ.Ext.extend(CQ.Ext.emptyFn,{items:null,menu:null,constructor:function(B){this.items=[];
this.rteComponent=B;
this.menu=new CQ.Ext.menu.Menu()
},addItem:function(B){this.items.push(B)
},clear:function(){this.items.length=0
},build:function(){this.menu.removeAll();
var D=this.items.length;
if(D==0){return null
}for(var B=0;
B<D;
B++){var C=this.items[B];
C.build(this.menu,this.rteComponent)
}return this.menu
}});
CQ.form.RichText.ContextMenuBuilder.Item=CQ.Ext.extend(CQ.Ext.emptyFn,{text:null,handlerFn:null,defaultHandlerFn:null,subItems:null,constructor:function(B){this.subItems=[];
if(B.subItems){var D=B.subItems.length;
for(var C=0;
C<D;
C++){this.subItems.push(new CQ.form.RichText.ContextMenuBuilder.Item(B.subItems[C]))
}delete B.subItems
}this.defaultHandlerFn=function(){if(CQ.Ext.isIE&&this.rteComponent.contextMenuSavedRange){this.rteComponent.contextMenuSavedRange.select()
}if(this.plugin&&this.cmd){this.plugin.execute(this.cmd,this.cmdValue)
}}.createDelegate(this);
CQ.Ext.apply(this,B)
},build:function(F,D){this.rteComponent=D;
var E=this.subItems.length;
var B=null;
if(E>0){B=new CQ.Ext.menu.Menu()
}F.addItem(new CQ.Ext.menu.Item({text:this.text,menu:B,handler:this.handlerFn?this.handlerFn:this.defaultHandlerFn}));
for(var C=0;
C<E;
C++){this.subItems[C].build(B,D)
}}});
CQ.form.RichText.Plugin=CQ.Ext.extend(CQ.Ext.emptyFn,{rteComponent:null,config:null,isFeatureEnabled:function(C){if(!this.config||!this.config.features){return false
}if(this.config.features==="*"){return true
}var D=this.config.features.length;
for(var E=0;
E<D;
E++){var B=this.config.features[E];
if(B==C){return true
}}return false
},constructor:function(B){this.rteComponent=B
},getFeatures:function(){return[]
},notifyPluginConfig:function(B){this.config=B
},initializeUI:function(B){},execute:function(B){},updateState:function(B){},handleContextMenu:function(C,B){}});
CQ.form.RichText.SimpleFormatPlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{commands:null,commandsUI:null,groupDef:null,getFeatures:function(){return this.commands
},constructor:function(E,D,C,B){CQ.form.RichText.SimpleFormatPlugin.superclass.constructor.call(this,E);
this.groupDef={id:D,sort:C};
this.commands=B
},initializeUI:function(C){this.commandsUI=[];
var D=this.commands.length;
for(var E=0;
E<D;
E++){var F=this.commands[E];
if(this.isFeatureEnabled(F)){var B=new CQ.form.RichText.ToolbarBuilder.Element(F,this,true,this.rteComponent.tooltips[F]);
this.commandsUI.push(B);
C.addElement(this.groupDef.id,this.groupDef.sort,B,(E+1)*10)
}}},execute:function(B){this.rteComponent.relayCmd(B)
},updateState:function(B){var D=this.commandsUI.length;
for(var E=0;
E<D;
E++){var F=this.commandsUI[E];
var C=F.getExtUI();
C.toggle(this.rteComponent.queryState(F.id,B))
}}});
CQ.form.RichText.Plugin.SORT_EDIT=10;
CQ.form.RichText.Plugin.SORT_FORMAT=20;
CQ.form.RichText.Plugin.SORT_JUSTIFY=30;
CQ.form.RichText.Plugin.SORT_LINKS=40;
CQ.form.RichText.Plugin.SORT_LISTS=50;
CQ.form.RichText.Plugin.SORT_TABLE=60;
CQ.form.RichText.Plugin.SORT_STYLES=250;
CQ.form.RichText.Plugin.SORT_PARAFORMAT=260;
CQ.form.RichText.Plugin.SORT_MISC=1000;
CQ.form.RichText.EditTools=CQ.Ext.extend(CQ.form.RichText.Plugin,{cutUI:null,copyUI:null,pasteDefaultUI:null,pastePlainTextUI:null,pasteAsWordUI:null,pasteDefaultDialog:null,pastePlainTextDialog:null,pasteWordHtmlDialog:null,constructor:function(B){CQ.form.RichText.EditTools.superclass.constructor.call(this,B)
},createPasteDialog:function(D,C){var B=new CQ.form.RichText.PasteDialog({type:D,pasteFn:C.createDelegate(this),cancelFn:function(){this.pasteRange=null
}.createDelegate(this)});
B.setPosition(this.rteComponent.getEditorPosition());
return B
},showPasteDialog:function(B){B.setValue("");
B.show();
window.setTimeout(function(){B.toFront();
B.focus()
},10)
},pasteDefault:function(){var B=CQ.form.RichText.Command.Paste;
var D=this.rteComponent.defaultPasteMode;
var C;
switch(D){case B.MODE_BROWSER:this.rteComponent.relayCmd("paste",{mode:D});
return ;
case B.MODE_WORDHTML:C="iframe";
break;
case B.MODE_PLAINTEXT:C="plaintext";
break;
default:throw"Invalid default paste mode: '"+D+"'."
}if(!this.pasteDefaultDialog){this.pasteDefaultDialog=this.createPasteDialog("iframe",this.execPasteDefault)
}this.showPasteDialog(this.pasteDefaultDialog)
},execPasteDefault:function(C,B){if(B){this.execPasteWordHtml(C)
}else{this.execPastePlainText(C)
}},pastePlainText:function(){if(!this.pastePlainTextDialog){this.pastePlainTextDialog=this.createPasteDialog("plaintext",this.execPastePlainText)
}this.showPasteDialog(this.pastePlainTextDialog)
},execPastePlainText:function(C){var B=CQ.form.RichText.Command.Paste;
this.rteComponent.relayCmd("paste",{mode:B.MODE_PLAINTEXT,text:C,pasteRange:this.pasteRange,stripHtmlTags:this.rteComponent.stripHtmlTags});
this.pasteRange=null
},pasteWordHtml:function(){if(!this.pasteWordHtmlDialog){this.pasteWordHtmlDialog=this.createPasteDialog("iframe",this.execPasteWordHtml)
}this.showPasteDialog(this.pasteWordHtmlDialog)
},execPasteWordHtml:function(C){var B=CQ.form.RichText.Command.Paste;
this.rteComponent.relayCmd("paste",{mode:B.MODE_WORDHTML,html:C,pasteRange:this.pasteRange});
this.pasteRange=null
},getFeatures:function(){return["cut","copy","paste-default","paste-plaintext","paste-wordhtml"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("cut")){this.cutUI=new E.Element("cut",this,false,this.rteComponent.tooltips.cut);
C.addElement("edit",D.SORT_EDIT,this.cutUI,10)
}if(this.isFeatureEnabled("copy")){this.copyUI=new E.Element("copy",this,false,this.rteComponent.tooltips.copy);
C.addElement("edit",D.SORT_EDIT,this.copyUI,10)
}if(this.isFeatureEnabled("paste-default")){this.pasteDefaultUI=new E.Element("paste-default",this,false,this.rteComponent.tooltips["paste-default"]);
C.addElement("edit",D.SORT_EDIT,this.pasteDefaultUI,30)
}if(this.isFeatureEnabled("paste-plaintext")){this.pastePlainTextUI=new E.Element("paste-plaintext",this,false,this.rteComponent.tooltips["paste-plaintext"]);
C.addElement("edit",D.SORT_EDIT,this.pastePlainTextUI,40)
}if(this.isFeatureEnabled("paste-wordhtml")){this.pasteAsWordUI=new E.Element("paste-wordhtml",this,false,this.rteComponent.tooltips["paste-wordhtml"]);
C.addElement("edit",D.SORT_EDIT,this.pasteAsWordUI,50)
}},execute:function(C){this.pasteRange=CQ.form.RichText.Selection.getLeadRange(this.rteComponent.win);
var B=C.toLowerCase();
switch(B){case"cut":case"copy":this.rteComponent.relayCmd(B);
break;
case"paste-default":this.pasteDefault();
break;
case"paste-plaintext":this.pastePlainText();
break;
case"paste-wordhtml":this.pasteWordHtml();
break
}},updateState:function(B){if(this.cutUI){this.cutUI.getExtUI().setDisabled(!B.isSelection)
}if(this.copyUI){this.copyUI.getExtUI().setDisabled(!B.isSelection)
}}});
CQ.form.RichText.Lists=CQ.Ext.extend(CQ.form.RichText.Plugin,{orderedListUI:null,unorderedListUI:null,indentUI:null,outdentUI:null,constructor:function(B){CQ.form.RichText.Lists.superclass.constructor.call(this,B)
},getFeatures:function(){return["ordered","unordered","indent","outdent"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("unordered")){this.unorderedListUI=new E.Element("insertunorderedlist",this,true,this.rteComponent.tooltips.insertunorderedlist);
C.addElement("lists",D.SORT_LISTS,this.unorderedListUI,10)
}if(this.isFeatureEnabled("ordered")){this.orderedListUI=new E.Element("insertorderedlist",this,true,this.rteComponent.tooltips.insertorderedlist);
C.addElement("lists",D.SORT_LISTS,this.orderedListUI,20)
}if(this.isFeatureEnabled("indent")){this.indentUI=new E.Element("indent",this,false,this.rteComponent.tooltips.indent);
C.addElement("lists",D.SORT_LISTS,this.indentUI,40)
}if(this.isFeatureEnabled("outdent")){this.outdentUI=new E.Element("outdent",this,false,this.rteComponent.tooltips.outdent);
C.addElement("lists",D.SORT_LISTS,this.outdentUI,30)
}},execute:function(B){this.rteComponent.relayCmd(B)
},updateState:function(B){if(this.orderedListUI){this.orderedListUI.getExtUI().toggle(this.rteComponent.queryState("insertorderedlist",B))
}if(this.unorderedListUI){this.unorderedListUI.getExtUI().toggle(this.rteComponent.queryState("insertunorderedlist",B))
}if(this.outdentUI){this.outdentUI.getExtUI().setDisabled(!this.rteComponent.queryState("indent",B))
}}});
CQ.form.RichText.SubSuperScript=CQ.Ext.extend(CQ.form.RichText.Plugin,{subscriptUI:null,superscriptUI:null,constructor:function(B){CQ.form.RichText.SubSuperScript.superclass.constructor.call(this,B)
},getFeatures:function(){return["subscript","superscript"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("subscript")){this.subscriptUI=new E.Element("subscript",this,true,this.rteComponent.tooltips.subscript);
C.addElement("format",D.SORT_FORMAT,this.subscriptUI,100)
}if(this.isFeatureEnabled("superscript")){this.superscriptUI=new E.Element("superscript",this,true,this.rteComponent.tooltips.superscript);
C.addElement("format",D.SORT_FORMAT,this.superscriptUI,110)
}},execute:function(B){this.rteComponent.relayCmd(B)
},updateState:function(E){var C=E.nodeList;
var B=this.rteComponent.queryState("subscript",E);
var F=this.rteComponent.queryState("superscript",E);
var D=C.containsTag("sub")||C.containsTag("sup");
if(this.subscriptUI!=null){this.subscriptUI.getExtUI().setDisabled(!(B||(!D&&!F&&E.isSelection)));
this.subscriptUI.getExtUI().toggle(B)
}if(this.superscriptUI!=null){this.superscriptUI.getExtUI().setDisabled(!(F||(!D&&!B&&E.isSelection)));
this.superscriptUI.getExtUI().toggle(F)
}}});
CQ.form.RichText.MiscTools=CQ.Ext.extend(CQ.form.RichText.Plugin,{specialCharsUI:null,sourceEditUI:null,specialCharsDialog:null,specialCharsConfig:null,savedRange:null,constructor:function(C,B){CQ.form.RichText.MiscTools.superclass.constructor.call(this,C);
this.specialCharsConfig=B
},getFeatures:function(){return["specialchars","sourceedit"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("specialchars")){this.specialCharsUI=new E.Element("specialchars",this,false,this.rteComponent.tooltips.specialchars);
C.addElement("misc",D.SORT_MISC,this.specialCharsUI,100)
}if(this.isFeatureEnabled("sourceedit")){this.sourceEditUI=new E.Element("sourceedit",this,true,this.rteComponent.tooltips.sourceedit);
C.addElement("misc",D.SORT_MISC,this.sourceEditUI,100)
}},insertSpecialChars:function(){if(!this.specialCharsDialog){var B={title:CQ.I18n.getMessage("Insert special character"),modal:true,width:450,height:300,buttons:CQ.Dialog.CANCEL,insertCharacter:function(C){this.insertCharacter(C)
}.createDelegate(this)};
if(!this.specialCharsConfig){this.specialCharsConfig={}
}this.specialCharsConfig["jcr:primaryType"]="cq:RTESpecialCharsDialog";
this.specialCharsConfig.xtype="rtespecialcharsdialog";
CQ.Util.applyDefaults(this.specialCharsConfig,B);
this.specialCharsDialog=CQ.WCM.getDialog(this.specialCharsConfig)
}if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}this.specialCharsDialog.show();
window.setTimeout(function(){this.specialCharsDialog.toFront()
}.createDelegate(this),10)
},insertCharacter:function(B){if(CQ.Ext.isIE){this.savedRange.select();
this.savedRange.pasteHTML(B)
}else{this.rteComponent.execCmd("InsertHTML",B)
}this.rteComponent.deferFocus()
},execute:function(B){if(B=="specialchars"){this.insertSpecialChars()
}else{if((B=="sourceedit")&&this.sourceEditUI){this.rteComponent.toggleSourceEdit(this.sourceEditUI.getExtUI().pressed)
}}},updateState:function(B){}});
CQ.form.RichText.LinkPlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{linkDialogConfig:null,linkDialog:null,anchorDialogConfig:null,anchorDialog:null,linkUI:null,removeLinkUI:null,anchorUI:null,constructor:function(D,C,B){CQ.form.RichText.LinkPlugin.superclass.constructor.call(this,D);
this.linkDialogConfig=C;
this.anchorDialogConfig=B
},getFeatures:function(){return["modifylink","unlink","anchor"]
},modifyLink:function(){if(!this.linkDialog){var B={title:CQ.I18n.getMessage("Hyperlink"),modal:true,value:"test",width:400,height:200,allowAnchors:(this.anchorUI!=null),ok:function(){var E=this.linkDialog.getLinkUrl();
if(E){var D=this.linkDialog.getClass();
var F=this.linkDialog.getTarget();
var G=this.linkDialog.getAdditionalAttributes();
this.linkDialog.hide();
if(CQ.Ext.isIE){this.savedRange.select()
}this.rteComponent.relayCmd("modifylink",{url:E,css:D,target:F,attributes:G})
}else{CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("You have entered an invalid HREF.<br>\nPlease use an appropriate protocol and<br>\nenter a valid HREF."))
}}.createDelegate(this)};
if(!this.linkDialogConfig){this.linkDialogConfig={}
}this.linkDialogConfig["jcr:primaryType"]="cq:RTELinkDialog";
this.linkDialogConfig.xtype="rtelinkdialog";
CQ.Util.applyDefaults(this.linkDialogConfig,B);
this.linkDialog=CQ.WCM.getDialog(this.linkDialogConfig)
}else{this.linkDialog.resetValues()
}var C=this.rteComponent.analyzeSelection();
if(C.anchorCount==1){this.linkDialog.setAnchor(C.anchors[0])
}if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}this.linkDialog.show();
window.setTimeout(function(){this.linkDialog.toFront()
}.createDelegate(this),10)
},modifyAnchor:function(){if(!this.anchorDialog){var B={title:CQ.I18n.getMessage("Anchor"),modal:true,value:"test",width:400,height:200,ok:function(){var D=this.anchorDialog.getName();
var E=null;
if(D){E=D
}this.anchorDialog.hide();
if(CQ.Ext.isIE){this.savedRange.select()
}this.rteComponent.relayCmd("anchor",E)
}.createDelegate(this)};
if(!this.anchorDialogConfig){this.anchorDialogConfig={}
}this.anchorDialogConfig["jcr:primaryType"]="cq:RTEAnchorDialog";
this.anchorDialogConfig.xtype="rteanchordialog";
CQ.Util.applyDefaults(this.anchorDialogConfig,B);
this.anchorDialog=CQ.WCM.getDialog(this.anchorDialogConfig)
}else{this.anchorDialog.resetValues()
}var C=this.rteComponent.analyzeSelection();
if(C.namedAnchorCount==1){this.anchorDialog.setAnchor(C.namedAnchors[0])
}if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}this.anchorDialog.show();
window.setTimeout(function(){this.anchorDialog.toFront()
}.createDelegate(this),10)
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("modifylink")){this.linkUI=new E.Element("modifylink",this,false,this.rteComponent.tooltips.modifylink);
C.addElement("links",D.SORT_LINKS,this.linkUI,10)
}if(this.isFeatureEnabled("unlink")){this.removeLinkUI=new E.Element("unlink",this,false,this.rteComponent.tooltips.unlink);
C.addElement("links",D.SORT_LINKS,this.removeLinkUI,20)
}if(this.isFeatureEnabled("anchor")){this.anchorUI=new E.Element("anchor",this,true,this.rteComponent.tooltips.anchor);
C.addElement("links",D.SORT_LINKS,this.anchorUI,30)
}},execute:function(B){if(B=="modifylink"){this.modifyLink()
}else{if(B=="anchor"){this.modifyAnchor()
}else{this.rteComponent.relayCmd(B)
}}},updateState:function(F){var C=F.anchorCount==1;
var E=F.anchorCount==0;
var B=C||(F.isSelection&&E);
if(this.linkUI){this.linkUI.getExtUI().setDisabled(!B)
}if(this.removeLinkUI){this.removeLinkUI.getExtUI().setDisabled(!C)
}if(this.anchorUI){var D=(F.namedAnchorCount==1);
this.anchorUI.getExtUI().toggle(D)
}}});
CQ.form.RichText.ParagraphFormatPlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{formatUI:null,formats:null,constructor:function(C,B){CQ.form.RichText.ParagraphFormatPlugin.superclass.constructor.call(this,C);
this.formats=B
},getFeatures:function(){return["paraformat"]
},getFormatId:function(D){var B=D.tagName.toLowerCase();
for(var C in this.formats){var E=this.formats[C];
if(E.tag&&(E.tag==B)){return C
}}return null
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("paraformat")){this.formatUI=new E.ParagraphFormatter("paraformat",this,null,this.formats);
C.addElement("paraformat",D.SORT_PARAFORMAT,this.formatUI,10)
}},execute:function(B){if(this.formatUI){var C=this.formatUI.getSelectedFormat();
if(C){this.rteComponent.relayCmd("format",this.formats[C])
}}},updateState:function(K){if(!this.formatUI){return 
}var H=CQ.form.RichText.Common;
var B=CQ.form.RichText.DomProcessor;
var E=null;
var T=K.nodeList;
var S=T.commonAncestor;
var D=false;
var J={};
var I=0;
var N=0;
var C=null;
while(S){if(S.nodeType==1){E=this.getFormatId(S);
if(E){J[E]=true;
D=true;
N++;
break
}else{if(H.isTag(S,B.AUXILIARY_ROOT_TAGS)){if(C==null){C=S
}}}}S=S.parentNode
}if(!D){var Q=T.nodes.length;
for(var P=0;
P<Q;
P++){S=T.nodes[P];
if(S.dom.nodeType==1){var R=this.getFormatId(S.dom);
if(R){if(!J[R]){J[R]=true;
N++
}if(E==null){E=R
}}else{I++
}}else{I++
}}}var O=-1;
var M=this.formatUI.getExtUI().dom;
if((E!=null)&&(N==1)&&(I==0)){var F=M.options;
for(var L=0;
L<F.length;
L++){var G=F[L];
if(G.value==E){O=L;
break
}}}M.disabled=(I>0)&&(C==null);
M.selectedIndex=O
}});
CQ.form.RichText.StylesPlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{stylesUI:null,styles:null,constructor:function(B,C){CQ.form.RichText.StylesPlugin.superclass.constructor.call(this,B);
this.styles=C
},getFeatures:function(){return["styles"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("styles")){this.stylesUI=new E.StyleSelector("styles",this,null,this.styles);
C.addElement("styles",D.SORT_STYLES,this.stylesUI,10)
}},execute:function(B){if(!this.stylesUI){return 
}var D=null;
var C=null;
switch(B.toLowerCase()){case"styles":D="applystyle";
C=this.stylesUI.getSelectedStyle();
break;
case"styles_remove":D="removestyle";
C={styles:this.styles};
break
}if(D){this.rteComponent.relayCmd(D,C)
}},updateState:function(G){if(!this.stylesUI){return 
}var D;
var N=G.styles;
var H=[];
var L=N.length;
for(var K=0;
K<L;
K++){var M=N[K];
for(var E in this.styles){if(E==M.className){H.push(M);
break
}}}var F=this.stylesUI.getExtUI().dom;
var C=this.stylesUI.getRemoveButtonUI().dom;
if(H.length==0){D=0
}else{if(H.length>1){D=-1
}else{if(G.isContinuousStyle){var B=H[0];
var O=F.options;
for(var I=0;
I<O.length;
I++){var J=O[I];
if(J.value==B.className){D=I;
break
}}}else{D=-1
}}}F.selectedIndex=D;
if(G.isSelection){F.disabled=!((D==0)&&this.styles);
C.disabled=true
}else{C.disabled=(D==0);
F.disabled=true
}}});
CQ.form.RichText.TablePlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{tableUI:null,constructor:function(B){CQ.form.RichText.TablePlugin.superclass.constructor.call(this,B)
},createOrEditTable:function(){var E=this.rteComponent.queryState("table");
if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}var D;
if(E){D={cmd:"modifytable",table:E}
}else{D={cmd:"createtable",table:null}
}var F={basicDefs:true,basicStyling:true,tableStyles:null};
var B=this.config.tablePropConfig||{};
CQ.utils.Util.applyDefaults(B,F);
B.propConfig=D;
B.execFn=this.execCreateOrEditTable.createDelegate(this);
var C=new CQ.form.RichText.TablePropertiesDialog(B);
C.show();
C.setPosition(this.rteComponent.getEditorPosition());
window.setTimeout(function(){C.toFront();
C.focus()
},10)
},execCreateOrEditTable:function(C,B){if(CQ.Ext.isIE){this.savedRange.select()
}if(C&&B){this.rteComponent.relayCmd(C,B)
}},editCellProps:function(){var B=this.rteComponent.queryState("modifycell");
if(!B){return 
}if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}var E={basicDefs:true,cellStyles:null};
var C=this.config.cellPropConfig||{};
CQ.utils.Util.applyDefaults(C,E);
C.propConfig={cell:B};
C.execFn=this.execEditCellProps.createDelegate(this);
var D=new CQ.form.RichText.CellPropertiesDialog(C);
D.show();
D.setPosition(this.rteComponent.getEditorPosition());
window.setTimeout(function(){D.toFront();
D.focus()
},10)
},execEditCellProps:function(B){if(CQ.Ext.isIE){this.savedRange.select()
}if(B){this.rteComponent.relayCmd("modifyCell",B)
}},getFeatures:function(){return["createtable","removetable","insertrow","removerow","insertcolumn","cellprops"]
},initializeUI:function(C){var B=CQ.form.RichText;
var F=B.ToolbarBuilder;
var E=B.Plugin;
var D=B.Common;
if(this.config.tablePropConfig&&this.config.tablePropConfig.tableStyles){D.removeJcrData(this.config.tablePropConfig.tableStyles)
}if(this.config.cellPropConfig&&this.config.cellPropConfig.cellStyles){D.removeJcrData(this.config.cellPropConfig.cellStyles)
}if(this.isFeatureEnabled("table")){this.tableUI=new F.Element("table",this,false,this.rteComponent.tooltips.table);
C.addElement("table",E.SORT_TABLE,this.tableUI,10)
}},execute:function(B){var D=null;
var C=B;
var E=B.indexOf(".",B);
if(E>0){C=B.substring(0,E);
D=B.substring(E+1,B.length)
}if(C=="table"){this.createOrEditTable()
}else{if(C=="cellprops"){this.editCellProps()
}else{this.rteComponent.relayCmd(C,D)
}}},updateState:function(B){},handleContextMenu:function(I,C){var D=CQ.form.RichText.Common;
var H=CQ.form.RichText.ContextMenuBuilder;
var E=C.nodeList;
var B=D.containsTagInPath(E.commonAncestor,["td","th"]);
var K=B||D.containsTagInPath(E.commonAncestor,"table");
if(B){var F=[];
if(this.isFeatureEnabled("cellprops")){F.push({text:CQ.I18n.getMessage("Cell properties"),plugin:this,cmd:"cellprops"})
}if(F.length>0){I.addItem(new H.Item({text:CQ.I18n.getMessage("Cell"),subItems:F}))
}var J=[];
if(this.isFeatureEnabled("insertcolumn")){J.push({text:CQ.I18n.getMessage("Insert before"),plugin:this,cmd:"insertcolumn.before"});
J.push({text:CQ.I18n.getMessage("Insert after"),plugin:this,cmd:"insertcolumn.after"})
}if(this.isFeatureEnabled("removecolumn")){J.push({text:CQ.I18n.getMessage("Remove"),plugin:this,cmd:"removecolumn"})
}if(J.length>0){I.addItem(new H.Item({text:CQ.I18n.getMessage("Column"),subItems:J}))
}}if(K){var G=[];
if(this.isFeatureEnabled("insertrow")){G.push({text:CQ.I18n.getMessage("Insert before"),plugin:this,cmd:"insertrow.before"});
G.push({text:CQ.I18n.getMessage("Insert after"),plugin:this,cmd:"insertrow.after"})
}if(this.isFeatureEnabled("removerow")){G.push({text:CQ.I18n.getMessage("Remove"),plugin:this,cmd:"removerow"})
}if(G.length>0){I.addItem(new H.Item({text:CQ.I18n.getMessage("Row"),subItems:G}))
}if(this.isFeatureEnabled("removetable")){I.addItem(new H.Item({text:CQ.I18n.getMessage("Remove table"),plugin:this,cmd:"removetable"}))
}if(this.isFeatureEnabled("table")){I.addItem(new H.Item({text:CQ.I18n.getMessage("Table properties"),plugin:this,cmd:"table"}))
}}else{if(this.isFeatureEnabled("table")){I.addItem(new H.Item({text:CQ.I18n.getMessage("Create table"),plugin:this,cmd:"table"}))
}}}});
CQ.form.RichText.SearchableDocument=CQ.Ext.extend(CQ.Ext.emptyFn,{plainText:null,plainTextLC:null,refs:null,findPos:0,currentSearch:0,config:null,createInternally:function(F){var B=CQ.form.RichText.Common;
if(F.nodeType==3){var E=B.getNodeText(F);
if(E){this.refs.push({textPos:this.plainText.length,charCnt:E.length,nodeRef:F});
this.plainText+=E
}}else{if(F.nodeType==1){var G=(B.isTag(F,CQ.form.RichText.SearchableDocument.WHITESPACE_TAGS)||B.isTag(F,CQ.form.RichText.DomProcessor.BLOCK_TAGS))&&(!B.strEndsWith(this.plainText," "));
if((this.plainText.length>0)&&G){this.refs.push({textPos:this.plainText.length,charCnt:1,nodeRef:F});
this.plainText+=" "
}var D=F.childNodes;
for(var C=0;
C<D.length;
C++){this.createInternally(D[C])
}}}},create:function(B){this.plainText="";
this.refs=[];
this.createInternally(B);
this.plainTextLC=this.plainText.toLowerCase()
},getRefForPosition:function(C){for(var D=0;
D<this.refs.length;
D++){var B=this.refs[D];
if((B.textPos>=C)&&((B.textPos+B.charCnt)<C)){return B
}}return null
},createMatch:function(E,C){var B=[];
var I=E+C-1;
var D=this.refs.length;
for(var F=0;
F<D;
F++){var G=this.refs[F];
var H=G.textPos+G.charCnt-1;
if(((G.textPos>=E)&&(G.textPos<=I))||((H>=E)&&(H<=I))||((G.textPos>=E)&&(H<=I))||((G.textPos<=E)&&(H>=I))){B.push({matchPos:E,matchChars:C,nodePos:G.textPos,nodeCharCnt:G.charCnt,node:G.nodeRef})
}else{if(B.length>0){return B
}}}return B
},getRefForNode:function(C){for(var B=0;
B<this.refs.length;
B++){if(this.refs[B].nodeRef==C){return this.refs[B]
}}return null
},find:function(C,B){this.config=B;
this.currentSearch=C;
this.findPos=B.startPos||0;
return this.findNext()
},findNext:function(){var B=(this.config.ignoreCase?this.plainTextLC:this.plainText);
var D=(this.config.ignoreCase?this.currentSearch.toLowerCase():this.currentSearch);
var C=B.indexOf(D,this.findPos);
if(C<0){this.findPos=0;
return null
}this.findPos=C+D.length;
return this.createMatch(C,D.length)
},adjustToReplace:function(B){this.findPos+=B.length-this.currentSearch.length
},createDump:function(){var B="Searchable text:\n"+this.plainText+"\n\n";
B+="References:\n"+CQ.form.RichText.Common.dumpObject(this.refs);
return B
}});
CQ.form.RichText.SearchableDocument.WHITESPACE_TAGS=["br","td","th","li"];
CQ.form.RichText.FindReplacePlugin=CQ.Ext.extend(CQ.form.RichText.Plugin,{findUI:null,replaceUI:null,findDialog:null,replaceDialog:null,currentSearchDef:null,savedRange:null,constructor:function(B){CQ.form.RichText.FindReplacePlugin.superclass.constructor.call(this,B)
},find:function(){if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}if(!this.findDialog){var B={isReplace:false,findFn:this.execFind.createDelegate(this),cancelFn:this.execCancel.createDelegate(this)};
this.findDialog=new CQ.form.RichText.FindReplaceDialog(B);
this.findDialog.setPosition(this.rteComponent.getEditorPosition())
}this.findDialog.setMode(true,false);
this.findDialog.show();
window.setTimeout(function(){this.findDialog.toFront();
this.findDialog.focus()
}.createDelegate(this),10)
},execFind:function(F,W){if(CQ.Ext.isIE&&this.savedRange){this.savedRange.select()
}var E=F.findText;
if(this.currentSearchDef&&(this.currentSearchDef.findText!=E)){this.currentSearchDef=null
}var L,c;
var G=this.rteComponent.win;
var H=CQ.form.RichText.Common;
var T=CQ.form.RichText.Selection;
var B=CQ.form.RichText.DomProcessor;
if(!this.currentSearchDef){c=T.createProcessingSelection(G);
var b=c.startNode;
var V=c.startOffset;
if(b.nodeType!=3){b=H.getFirstTextChild(b);
V=0
}var Y=new CQ.form.RichText.SearchableDocument();
Y.create(G.document.body);
var a={ignoreCase:!F.matchCase};
this.currentSearchDef={findText:E,doc:Y};
var S=Y.getRefForNode(b);
if(S){S=S.textPos+V;
a.startPos=S
}L=Y.find(E,a)
}else{L=this.currentSearchDef.doc.findNext()
}if(!L){W.setMode(false,false);
CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Find/Replace"),CQ.I18n.getMessage("No more occurences of '{0}' found in document.<br>Search will be continued from the top.",[E]));
this.currentSearchDef.doc.create(G.document.body)
}if(L&&(L.length>0)){W.setMode(false,true);
var I=L[0];
var Z=L[L.length-1];
c={startNode:I.node,startOffset:I.matchPos-I.nodePos,endNode:Z.node,endOffset:(Z.matchPos-Z.nodePos)+Z.matchChars};
if(CQ.Ext.isIE){this.rteComponent.focus()
}var K=T.bookmarkFromProcessingSelection(G,c);
T.selectBookmark(G,K);
if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}if(CQ.Ext.isGecko){var P=T.getLeadRange(G);
var M=P.commonAncestorContainer;
while(M.nodeType==3){M=M.parentNode
}var X=B.saveChildNodes(M);
var U=G.document.createElement("span");
P.surroundContents(U);
var Q=U.offsetTop;
var O=U.offsetParent;
while(O){Q+=O.offsetTop;
O=O.offsetParent
}var J=Q+U.offsetHeight;
var C=G.document.body.scrollTop;
var N=this.rteComponent.iframe.clientHeight;
var R=C+N;
if(J<C){G.document.body.scrollTop=Q
}else{if(J>R){var D=G.document.body.scrollHeight;
if((D-J)<8){J=D
}if(J>R){G.document.body.scrollTop=J-N
}}}B.removeWithoutChildren(U);
M.normalize();
B.restoreChildNodes(M,X);
T.selectBookmark(G,K)
}}},replace:function(){if(CQ.Ext.isIE){this.savedRange=this.rteComponent.doc.selection.createRange()
}if(!this.replaceDialog){var B={isReplace:true,findFn:this.execFind.createDelegate(this),replaceFn:this.execReplace.createDelegate(this),cancelFn:this.execCancel.createDelegate(this)};
this.replaceDialog=new CQ.form.RichText.FindReplaceDialog(B);
this.replaceDialog.setPosition(this.rteComponent.getEditorPosition())
}this.replaceDialog.setMode(true,false);
this.replaceDialog.show();
window.setTimeout(function(){this.replaceDialog.toFront();
this.replaceDialog.focus()
}.createDelegate(this),10)
},execReplace:function(O,M){if(CQ.Ext.isIE){this.savedRange.select()
}var J=this.rteComponent.win;
var D=CQ.form.RichText.Selection;
if(O.replaceAll){this.rteComponent.focus();
var F=new CQ.form.RichText.SearchableDocument();
F.create(J.document.body);
var E={ignoreCase:!O.matchCase};
var C=0;
var H=F.find(O.findText,E);
while(H){var B=H[0];
var I=H[H.length-1];
var N={startNode:B.node,startOffset:B.matchPos-B.nodePos,endNode:I.node,endOffset:(I.matchPos-I.nodePos)+I.matchChars};
var L=D.bookmarkFromProcessingSelection(J,N);
D.selectBookmark(J,L);
this.rteComponent.execCmd("inserthtml",O.replaceText);
F.adjustToReplace(O.replaceText);
C++;
F.create(J.document.body);
H=F.findNext()
}M.hide();
if(C>0){CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Replace all"),CQ.I18n.getMessage("Text '{0}' has been replaced {1} times.",[O.findText,C]),this.rteComponent.focus,this.rteComponent)
}else{CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Replace all"),CQ.I18n.getMessage("Text '{0}' not found."),this.rteComponent.focus,this.rteComponent)
}this.rteComponent.focus()
}else{var G=false;
try{this.rteComponent.focus();
this.rteComponent.execCmd("inserthtml",CQ.Ext.util.Format.htmlEncode(O.replaceText));
this.currentSearchDef.doc.adjustToReplace(O.replaceText);
this.currentSearchDef.doc.create(J.document.body)
}catch(K){if(K=="Could not insert html due to IE limitations."){CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Replace"),CQ.I18n.getMessage("Could not replace due to limited functionality in Internet Explorer."));
G=true
}else{throw K
}this.rteComponent.focus()
}this.rteComponent.updateToolbar();
if(!G){if(CQ.Ext.isIE){this.savedRange=null
}this.execFind(O,M)
}else{if(CQ.Ext.isIE){this.savedRange.select()
}M.setMode(false,false)
}}},execCancel:function(){this.currentSearchDef=null
},getFeatures:function(){return["find","replace"]
},initializeUI:function(C){var B=CQ.form.RichText;
var E=B.ToolbarBuilder;
var D=B.Plugin;
if(this.isFeatureEnabled("find")){this.findUI=new E.Element("find",this,false,this.rteComponent.tooltips.find);
C.addElement("findreplace",D.SORT_EDIT+5,this.findUI,100)
}if(this.isFeatureEnabled("replace")){this.replaceUI=new E.Element("replace",this,false,this.rteComponent.tooltips.replace);
C.addElement("findreplace",D.SORT_EDIT+5,this.replaceUI,110)
}},execute:function(B){switch(B){case"find":this.find();
break;
case"replace":this.replace();
break
}},updateState:function(B){}});
CQ.form.RichText.FindReplaceDialog=CQ.Ext.extend(CQ.Ext.Window,{isReplace:false,canReplace:false,findText:null,findNextText:null,findFn:null,replaceFn:null,constructor:function(C){var B=this;
var D=[];
var E=[];
var F={isReplace:false,replaceFn:null,findFn:null,findText:CQ.I18n.getMessage("Find"),findNextText:CQ.I18n.getMessage("Find next")};
CQ.utils.Util.applyDefaults(C,F);
CQ.Ext.apply(this,C);
D.push({itemId:"findText",name:"findText",xtype:"textfield",fieldLabel:CQ.I18n.getMessage("Find what"),value:"",enableKeyEvents:true,listeners:{keyup:{fn:this.adjustButtonState,scope:this}},anchor:CQ.themes.Dialog.ANCHOR});
if(this.isReplace){D.push({itemId:"replaceText",name:"replaceText",xtype:"textfield",fieldLabel:CQ.I18n.getMessage("Replace with"),value:"",enableKeyEvents:true,anchor:CQ.themes.Dialog.ANCHOR})
}D.push({itemId:"matchCase",name:"matchCase",xtype:"checkbox",boxLabel:"Match case",value:false});
E.push({itemId:"find",name:"find",text:this.findText,handler:function(){this.applyDialog(this.findFn,null)
},disabled:true,scope:this});
if(this.isReplace){E.push({itemId:"replace",name:"replace",text:CQ.I18n.getMessage("Replace"),handler:function(){this.applyDialog(this.replaceFn,{replaceAll:false})
},disabled:true,scope:this});
E.push({itemId:"replaceAll",name:"replaceAll",text:CQ.I18n.getMessage("Replace all"),handler:function(){this.applyDialog(this.replaceFn,{replaceAll:true})
},disabled:true,scope:this})
}E.push({text:CQ.I18n.getMessage("Cancel"),handler:function(){this.hide();
if(this.cancelFn){this.cancelFn()
}},scope:this});
CQ.form.RichText.FindReplaceDialog.superclass.constructor.call(this,{renderTo:CQ.Util.ROOT_ID,title:CQ.I18n.getMessage("Find/Replace"),stateful:false,minWidth:350,minHeight:170,width:350,height:170,plain:true,layout:"fit",items:[{xtype:"panel",layout:"fit",stateful:false,items:[{border:false,xtype:"form",itemId:"findReplaceForm",stateful:false,items:D,bodyStyle:"overflow: auto;",afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
B.findItems=this.items;
this.body.addClass("cq-rte-findreplacedialog")
}}]}],buttons:E,modal:true})
},applyDialog:function(C,B){B=B||{};
if(C){B.findText=this.findItems.get("findText").getValue();
B.matchCase=this.findItems.get("matchCase").getValue();
if(this.isReplace){B.replaceText=this.findItems.get("replaceText").getValue()
}C(B,this)
}},adjustButtonState:function(){var C=this.findItems.get("findText").getValue();
var B=(C.length>0);
if(this.isReplace){this.buttons[0].setDisabled(!B);
this.buttons[1].setDisabled(!(B&this.canReplace));
this.buttons[2].setDisabled(!B)
}else{this.buttons[0].setDisabled(!B)
}},setMode:function(C,B){this.canReplace=B;
if(C){this.buttons[0].setText(this.findText)
}else{this.buttons[0].setText(this.findNextText)
}if(this.isReplace){this.buttons[1].setDisabled(!B)
}}});
CQ.form.RichText.LinkDialog=CQ.Ext.extend(CQ.Dialog,{cssInternal:null,cssExternal:null,protocols:null,defaultProtocol:null,targetConfig:null,linkAttributes:null,constructor:function(D){if(!D){D=new Object()
}this.protocols=D.protocols;
var P=[];
var L=this.protocols.length;
for(var C=0;
C<L;
C++){P[C]={value:this.protocols[C],text:this.protocols[C]};
if((C==0)&&!this.defaultProtocol){this.defaultProtocol=this.protocols[C]
}}delete D.protocol;
this.targetConfig=D.targetConfig;
this.allowAnchors=D.allowAnchors;
var K=this;
var H=new CQ.form.BrowseField({itemId:"href",name:"href",parBrowse:true,anchor:CQ.themes.Dialog.ANCHOR,fieldLabel:CQ.I18n.getMessage("HREF"),type:"browsefield",ddGroups:[CQ.wcm.EditBase.DD_GROUP_PAGE,CQ.wcm.EditBase.DD_GROUP_ASSET],fieldDescription:CQ.I18n.getMessage("Drop files or pages from the Content Finder"),listeners:{dialogSelect:function(R){var Q=R.getSelectedAnchor();
if((K.anchorField)&&(Q!="")){K.anchorField.setValue(Q)
}},render:function(){if(this.ddGroups){if(typeof this.ddGroups=="string"){this.ddGroups=[this.ddGroups]
}var T=this;
var S=new CQ.wcm.EditBase.DropTarget(this.el,{notifyDrop:function(X,V,W){if(X&&X.clearAnimations){X.clearAnimations(this)
}if(X.isDropAllowed(this)){if(W.records&&W.single){var U=W.records[0];
var Y=U.get("path");
T.setValue(Y);
V.stopEvent();
return true
}return false
}}});
var R=this.findParentByType(CQ.form.RichText.LinkDialog);
R.on("activate",function(V){if(V&&V.el&&this.highlight){var U=parseInt(V.el.getStyle("z-index"),10);
if(!isNaN(U)){this.highlight.overridenZIndex=U+1
}}},S);
R.on("deactivate",function(V){if(V&&V.el&&this.highlight){var U=parseInt(V.el.getStyle("z-index"),10);
if(!isNaN(U)){this.highlight.overridenZIndex=U+1
}}},S);
for(var Q=0;
Q<this.ddGroups.length;
Q++){S.addToGroup(this.ddGroups[Q])
}S.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT);
this.dropTargets=[];
this.dropTargets.push(S)
}}}});
var N=[];
N.push({xtype:"selection",itemId:"protocol",name:"protocol",fieldLabel:CQ.I18n.getMessage("Protocol"),anchor:CQ.themes.Dialog.ANCHOR,type:"select",options:P,value:this.defaultProtocol});
N.push(H);
if(this.allowAnchors){this.anchorField=new CQ.Ext.form.TextField({itemId:"anchor",name:"anchor",anchor:CQ.themes.Dialog.ANCHOR,fieldLabel:CQ.I18n.getMessage("Anchor")});
N.push(this.anchorField)
}if(this.targetConfig.mode=="manual"){N.push({xtype:"textfield",itemId:"target",name:"target",anchor:CQ.themes.Dialog.ANCHOR,fieldLabel:CQ.I18n.getMessage("Target")})
}delete D.targetConfig;
this.linkAttributes=D.linkAttributes;
if(this.linkAttributes){delete D.linkAttributes;
if(!(this.linkAttributes instanceof Array)){var O=this.linkAttributes;
this.linkAttributes=[];
for(var I in O){if(O.hasOwnProperty(I)){this.linkAttributes.push(O[I])
}}}var J=this.linkAttributes.length;
for(var G=0;
G<J;
G++){var M=this.linkAttributes[G];
var F=M.xtype;
var E=M.attribute;
var B=M.fieldLabel;
if(F&&E){N.push({itemId:E,xtype:F,name:E,anchor:CQ.themes.Dialog.ANCHOR,fieldLabel:(B?B:CQ.I18n.getMessage("Attribute '{0}'",[E]))})
}}}CQ.utils.Util.applyDefaults(D,{title:CQ.I18n.getMessage("Hyperlink"),items:[{xtype:"panel",layout:"fit",items:[{xtype:"panel",layout:"form",cls:"cq-rte-linkdialog",border:false,items:N}]}]});
CQ.form.RichText.LinkDialog.superclass.constructor.call(this,D)
},getContainer:function(){return this.getComponent(0).getComponent(0)
},getLinkUrl:function(){var C=null;
var J;
var E=this.getContainer();
var I=E.getComponent("protocol");
var G=E.getComponent("href");
var M=null;
if(this.allowAnchors){M=E.getComponent("anchor")
}var O=I.getValue();
var D=G.getValue();
if(D.length>0){if(D.charAt(0)=="/"){C=encodeURI(D);
var H=C.lastIndexOf(".");
J=C.lastIndexOf("/");
if((H<=0)||(H<J)){C+=CQ.HTTP.EXTENSION_HTML
}}else{if(D.charAt(0)=="#"){C=D
}else{var P=false;
var F=D.indexOf("://");
if(F>0){J=D.indexOf("/");
if((P<J)||(J<0)){P=true
}}if(P){O=D.substring(0,F+3);
var L=this.protocols.length;
for(var B=0;
B<L;
B++){var N=this.protocols[B];
if(O==N){C=D;
break
}}}else{C=O+D
}}}}if(M!=null){var K=M.getValue();
if(K.length>0){if(K.charAt(0)=="#"){K=K.substring(1,K.length)
}}if(K){C=(C!=null?C+"#"+K:"#"+K)
}}return C
},getTarget:function(){var B=this.getContainer();
var F=null;
if(this.targetConfig.mode=="manual"){var E=B.getComponent("target");
var D=E.getValue();
if(D.length>0){F=D
}}else{if(this.targetConfig.mode=="auto"){var G=B.getComponent("href");
var C=G.getValue();
if(C.length>0){if(C.charAt(0)=="/"){if(this.targetConfig.targetInternal){F=this.targetConfig.targetInternal
}}else{if(this.targetConfig.targetExternal){F=this.targetConfig.targetExternal
}}}}}return F
},getClass:function(){var F=false;
var B=this.getContainer();
var G=B.getComponent("href");
var E=(this.allowAnchors?B.getComponent("anchor"):null);
var C=G.getValue();
var D=(E?E.getValue():"");
if(C.length>0){F=(C.charAt(0)=="/")||(C.charAt(0)=="#")
}else{if(D.length>0){F=true
}}return(F?this.cssInternal:this.cssExternal)
},getAdditionalAttributes:function(){var H=new Object();
var B=this.getContainer();
if(this.linkAttributes){var I=this.linkAttributes.length;
for(var D=0;
D<I;
D++){var J=this.linkAttributes[D];
var C=J.xtype;
var E=J.attribute;
if(C&&E){var F=B.getComponent(E);
var G=F.getValue();
if(G&&(G.length>0)){H[E]=G
}else{H[E]=""
}}}}return H
},resetValues:function(){var B=this.getContainer();
var G=B.getComponent("protocol");
var E=B.getComponent("href");
if(this.allowAnchors){var L=B.getComponent("anchor");
L.setValue("")
}G.setValue("http://");
E.setValue("");
if(this.targetConfig.mode=="manual"){var H=B.getComponent("target");
H.setValue("")
}if(this.linkAttributes){var J=this.linkAttributes.length;
for(var F=0;
F<J;
F++){var K=this.linkAttributes[F];
var D=K.xtype;
var C=K.attribute;
if(D&&C){var I=B.getComponent(C);
I.setValue("")
}}}},setAnchor:function(I){var N=this.getContainer();
var U=N.getComponent("protocol");
var Q=N.getComponent("href");
var L=null;
if(this.allowAnchors){L=N.getComponent("anchor")
}var T=CQ.form.RichText.removePrefixForInternalLinks(I.href);
var M=T.indexOf("://");
if(M>=0){M+=3;
var O=T.substring(0,M);
U.setValue(O);
if(M<T.length){T=T.substring(M,T.length)
}else{T=""
}}else{U.setValue("http://");
var K=CQ.HTTP.EXTENSION_HTML;
var S=K.length;
var J=T.length;
if(J>S){if(T.substring(J-S,J)==K){T=T.substring(0,J-S)
}}}if(L!=null){var B="";
var C=T.indexOf("#");
if(C>=0){B=T.substring(C+1,T.length);
T=T.substring(0,C)
}L.setValue(B)
}Q.setValue(T);
if(this.targetConfig.mode=="manual"){var P=N.getComponent("target");
if(I.target){P.setValue(I.target)
}else{P.setValue("")
}}var V=I.dom;
if(this.linkAttributes&&(V)){var H=this.linkAttributes.length;
for(var E=0;
E<H;
E++){var G=this.linkAttributes[E];
var F=G.xtype;
var D=G.attribute;
if(F&&D){var R=N.getComponent(D);
if(V[D]){R.setValue(V[D])
}else{R.setValue("")
}}}}}});
CQ.Ext.reg("rtelinkdialog",CQ.form.RichText.LinkDialog);
CQ.form.RichText.AnchorDialog=CQ.Ext.extend(CQ.Dialog,{constructor:function(C){if(!C){C=new Object()
}var B=[{xtype:"textfield",name:"name",fieldLabel:CQ.I18n.getMessage("Name"),fieldDescription:CQ.I18n.getMessage("Leave empty to remove anchor."),anchor:CQ.themes.Dialog.ANCHOR}];
CQ.utils.Util.applyDefaults(C,{title:CQ.I18n.getMessage("Anchor"),items:[{xtype:"panel",layout:"fit",items:[{xtype:"panel",layout:"form",cls:"cq-rte-anchordialog",border:false,items:B}]}]});
CQ.form.RichText.AnchorDialog.superclass.constructor.call(this,C)
},getContainer:function(){return this.getComponent(0).getComponent(0)
},getName:function(){var E=null;
var D=this.getContainer();
var C=D.getComponent(0);
var B=C.getValue();
if(B.length>0){E=B
}return B
},resetValues:function(){var C=this.getContainer();
var B=C.getComponent(0);
B.setValue("")
},setAnchor:function(E){var D=this.getContainer();
var C=D.getComponent(0);
var B=E.dom.name;
if(B){C.setValue(B)
}}});
CQ.Ext.reg("rteanchordialog",CQ.form.RichText.AnchorDialog);
CQ.form.RichText.PasteDialog=CQ.Ext.extend(CQ.Ext.Window,{constructor:function(C){if(!C){C={}
}var B;
if(C.type=="iframe"){B=new CQ.form.RichText.PasteDialog.IFrame({itemId:"pasteArea",region:"center",stateful:false})
}else{B={xtype:"textarea",itemId:"pasteArea",region:"center",stateful:false}
}var D={renderTo:CQ.Util.ROOT_ID,title:CQ.I18n.getMessage("Paste"),stateful:false,minWidth:300,minHeight:200,width:300,height:200,plain:true,layout:"border",items:[{xtype:"label",margins:"4 4 4 4",html:CQ.I18n.getMessage('Please use the field below to paste with Ctrl+V, then hit "OK".'),region:"north",minSize:25,maxSize:50,bodyBorder:false,hideBorders:true,border:false,cls:null,stateful:false},B],buttons:[{text:CQ.I18n.getMessage("OK"),handler:function(){var E=this.items.get("pasteArea");
var F=(this.type=="iframe");
var G=E.getValue();
this.hide();
if(this.pasteFn){this.pasteFn(G,F)
}},scope:this},{text:CQ.I18n.getMessage("Cancel"),handler:function(){this.hide();
if(this.cancelFn){this.cancelFn()
}},scope:this}],modal:true};
CQ.utils.Util.applyDefaults(C,D);
CQ.form.RichText.PasteDialog.superclass.constructor.call(this,C)
},setValue:function(C){var B=this.items.get("pasteArea");
B.setValue(C)
},focus:function(){var B=this.items.get("pasteArea");
B.focus(false,10)
}});
CQ.form.RichText.PasteDialog.IFrame=CQ.Ext.extend(CQ.Ext.Panel,{autoEl:"div",onRender:function(B,C){CQ.form.RichText.PasteDialog.IFrame.superclass.onRender.call(this,B,C);
this.iframe=document.createElement("iframe");
this.iframe.name=CQ.Ext.id();
this.iframe.frameBorder="0";
this.iframe.src=CQ.Ext.isIE?CQ.Ext.SSL_SECURE_URL:"javascript:;";
this.body.dom.appendChild(this.iframe);
this.win=CQ.Ext.isIE?this.iframe.contentWindow:window.frames[this.iframe.name];
this.win.document.open();
this.win.document.write('<html><head><style type="text/css">body{border:0;margin:0;padding:3px;cursor:text;font-family:sans-serif;font-size:11px}</style></head><body></body></html>');
this.win.document.close()
},focus:function(){this.win.document.designMode="on";
window.setTimeout(function(){this.win.focus()
}.createDelegate(this),10)
},getValue:function(){if(!this.rendered){return""
}return this.win.document.body.innerHTML
},setValue:function(B){if(!this.rendered){return 
}if(CQ.Ext.isGecko){this.win.document.designMode="off"
}this.win.document.body.innerHTML=B;
if(CQ.Ext.isGecko){this.win.document.designMode="on"
}},onResize:function(B,C){CQ.form.RichText.PasteDialog.superclass.onResize.call(this,B,C);
if(CQ.Ext.isArray(B)){C=B[1];
B=B[0]
}if(this.iframe&&B&&C){this.iframe.width=B;
this.iframe.height=C
}}});
CQ.form.RichText.TablePropertiesDialog=CQ.Ext.extend(CQ.Ext.Window,{constructor:function(C){if(!C){C={}
}this.table=C.propConfig.table;
this.cmd=C.propConfig.cmd;
this.tableStyles=C.tableStyles;
this.execFn=C.execFn;
this.cancelFn=C.cancelFn;
var B={cellspacing:"0",cellpadding:"1",border:"1",columns:"3",rows:"2",header:"none"};
this.defaultValues=C.defaultValues||{};
CQ.utils.Util.applyDefaults(this.defaultValues,B);
var H=[];
if(C.basicDefs){if(!this.table){H.push({itemId:"columns",name:"columns",allowBlank:false,xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Columns"),regex:/^[1-9][0-9]*$/});
H.push({itemId:"rows",name:"rows",allowBlank:false,xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Rows"),regex:/^[1-9][0-9]*$/});
H.push({itemId:"header",name:"header",xtype:"selection",type:"select",options:[{value:"none",text:CQ.I18n.getMessage("No header")},{value:"top",text:CQ.I18n.getMessage("First row")},{value:"left",text:CQ.I18n.getMessage("First column")},{value:"topleft",text:CQ.I18n.getMessage("First row and column")}],fieldLabel:CQ.I18n.getMessage("Header")})
}H.push({itemId:"width",name:"width",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Width"),regex:/(^[1-9][0-9]*$)|(^1?[0-9][0-9]%$)/});
H.push({itemId:"height",name:"height",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Height"),regex:/(^[1-9][0-9]*$)|(^1?[0-9][0-9]%$)/})
}if(C.basicStyling){H.push({itemId:"border",name:"border",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Border"),regex:/^[0-9][0-9]?$/});
H.push({itemId:"cellpadding",name:"cellpadding",domProp:"cellPadding",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Cell padding"),regex:/^[0-9][0-9]?$/});
H.push({itemId:"cellspacing",name:"cellspacing",domProp:"cellSpacing",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Cell spacing"),regex:/^[0-9][0-9]?$/})
}if(this.tableStyles){var D=[{value:"---",text:CQ.I18n.getMessage("[None]")}];
for(var E in this.tableStyles){if(this.tableStyles.hasOwnProperty(E)){var F=E;
var J;
var G=this.tableStyles[E];
if(typeof (G)!="string"){F=G.className;
J=G.text
}else{J=G
}D.push({value:F,text:J})
}}H.push({itemId:"tableStyle",name:"tableStyle",xtype:"selection",type:"select",fieldLabel:CQ.I18n.getMessage("Style"),options:D})
}var I=this;
CQ.form.RichText.TablePropertiesDialog.superclass.constructor.call(this,{renderTo:CQ.Util.ROOT_ID,title:CQ.I18n.getMessage("Table properties"),stateful:false,minWidth:300,minHeight:300,width:300,height:350,plain:true,layout:"fit",items:[{xtype:"panel",layout:"fit",stateful:false,items:[{border:false,xtype:"form",itemId:"tablePropForm",stateful:false,items:H,bodyStyle:"overflow: auto;",afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
I.propertyItems=this.items;
this.body.addClass("cq-rte-tablepropsdialog");
var K=I.calculateTableConfig();
if(K){this.items.each(function(L){var N=L.itemId;
var M=K[N];
if(M||L.isXType("selection")){if(M==null){M="---"
}L.setValue(M)
}return true
},this)
}}}]}],buttons:[{text:CQ.I18n.getMessage("OK"),handler:function(){this.applyDialog()
},scope:this},{text:CQ.I18n.getMessage("Cancel"),handler:function(){this.hide();
if(this.cancelFn){this.cancelFn()
}},scope:this}],modal:true})
},calculateTableConfig:function(){var B;
if(this.table){B={};
this.propertyItems.each(function(D){var G=D.itemId;
if(G=="tableStyle"){var F=CQ.form.RichText.Common.parseCSS(this.table);
for(var C=0;
C<F.length;
C++){if(this.tableStyles[F[C]]){B[G]=F[C];
break
}}}else{var E=D.domProp||G;
B[G]=this.table[E]
}return true
},this)
}else{B=this.defaultValues
}return B
},createTableConfig:function(){var B={};
this.propertyItems.each(function(C){var E=C.itemId;
var D=C.getValue();
if(C.isXType("selection")){if(D=="---"){D=null
}}if(D){B[E]=D
}return true
},this);
return B
},applyDialog:function(){var B=this.findBy(function(D){return(D.getItemId()=="tablePropForm")
});
if(B&&B.length==1){B=B[0];
var C=B.getForm();
if(C.isValid()){this.hide();
this.execFn(this.cmd,this.createTableConfig())
}}}});
CQ.form.RichText.CellPropertiesDialog=CQ.Ext.extend(CQ.Ext.Window,{constructor:function(E){if(!E){E={}
}this.cell=E.propConfig.cell;
this.cellStyles=E.cellStyles;
this.execFn=E.execFn;
this.cancelFn=E.cancelFn;
var H=[];
if(E.basicDefs){H.push({itemId:"width",name:"width",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Width"),regex:/(^[1-9][0-9]*$)|(^1?[0-9][0-9]%$)/});
H.push({itemId:"height",name:"height",xtype:"textfield",width:50,fieldLabel:CQ.I18n.getMessage("Height"),regex:/(^[1-9][0-9]*$)|(^1?[0-9][0-9]%$)/});
H.push({itemId:"align",name:"align",xtype:"selection",type:"select",fieldLabel:CQ.I18n.getMessage("Horizontal align"),options:[{value:"---",text:CQ.I18n.getMessage("[None]")},{value:"left",text:CQ.I18n.getMessage("Left")},{value:"center",text:CQ.I18n.getMessage("Center")},{value:"right",text:CQ.I18n.getMessage("Right")}]});
H.push({itemId:"valign",name:"valign",domProp:"vAlign",xtype:"selection",type:"select",fieldLabel:CQ.I18n.getMessage("Vertical align"),options:[{value:"---",text:CQ.I18n.getMessage("[None]")},{value:"top",text:CQ.I18n.getMessage("Top")},{value:"middle",text:CQ.I18n.getMessage("Middle")},{value:"bottom",text:CQ.I18n.getMessage("Bottom")},{value:"baseline",text:CQ.I18n.getMessage("Baseline")}]})
}if(this.cellStyles){var C=[{value:"---",text:CQ.I18n.getMessage("[None]")}];
for(var D in this.cellStyles){if(this.cellStyles.hasOwnProperty(D)){var F=D;
var I;
var G=this.cellStyles[D];
if(typeof (G)!="string"){F=G.className;
I=G.text
}else{I=G
}C.push({value:F,text:I})
}}H.push({itemId:"cellStyle",name:"cellStyle",xtype:"selection",type:"select",fieldLabel:CQ.I18n.getMessage("Style"),options:C})
}H.push({itemId:"_applyTo",name:"_applyTo",xtype:"selection",type:"radio",fieldLabel:CQ.I18n.getMessage("Apply to ..."),value:"cell",options:[{value:"cell",text:CQ.I18n.getMessage("Single cell")},{value:"row",text:CQ.I18n.getMessage("Entire row")},{value:"column",text:CQ.I18n.getMessage("Entire column")}]});
var B=this;
CQ.form.RichText.TablePropertiesDialog.superclass.constructor.call(this,{renderTo:CQ.Util.ROOT_ID,title:CQ.I18n.getMessage("Cell properties"),stateful:false,minWidth:300,minHeight:300,width:300,height:350,plain:true,layout:"fit",items:[{xtype:"panel",layout:"fit",stateful:false,items:[{border:false,xtype:"form",itemId:"cellPropForm",stateful:false,items:H,bodyStyle:"overflow: auto;",afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
B.propertyItems=this.items;
this.body.addClass("cq-rte-cellpropsdialog");
var J=B.calculateCellConfig();
if(J){this.items.each(function(L){var N=L.itemId;
var K=!N||(N.charAt(0)=="_");
if(!K){var M=J[N];
if(M||L.isXType("selection")){if(M==null){M="---"
}L.setValue(M)
}}return true
},this)
}}}]}],buttons:[{text:CQ.I18n.getMessage("OK"),handler:function(){this.applyDialog()
},scope:this},{text:CQ.I18n.getMessage("Cancel"),handler:function(){this.hide();
if(this.cancelFn){this.cancelFn()
}},scope:this}],modal:true})
},calculateCellConfig:function(){var B={};
this.propertyItems.each(function(D){var H=D.itemId;
if(H=="cellStyle"){var G=CQ.form.RichText.Common.parseCSS(this.cell);
for(var C=0;
C<G.length;
C++){if(this.cellStyles[G[C]]){B[H]=G[C];
break
}}}else{var E=D.domProp||H;
try{if(this.cell.hasAttribute(E)){B[H]=this.cell[E]
}}catch(F){B[H]=this.cell[E]
}}return true
},this);
return B
},createCellConfig:function(){var B={};
this.propertyItems.each(function(C){var E=C.itemId;
var D=C.getValue();
if(C.isXType("selection")){if(D=="---"){D=null
}}if(D){B[E]=D
}return true
},this);
return B
},applyDialog:function(){var B=this.findBy(function(D){return(D.getItemId()=="cellPropForm")
});
if(B&&B.length==1){B=B[0];
var C=B.getForm();
if(C.isValid()){this.hide();
this.execFn(this.createCellConfig())
}}}});
CQ.form.RichText.SpecialCharsDialog=CQ.Ext.extend(CQ.Dialog,{charsInTable:null,backRef:null,constructor:function(B){var K="<table";
if(B.tableCls){K+=' class="'+B.tableCls+'"'
}K+="><tr><td";
if(B.magnifyCls){K+=' class="'+B.magnifyCls+'"'
}K+=">&nbsp;</td></tr></table>";
var F="<table";
if(B.tableCls){F+=' class="'+B.tableCls+'"'
}F+=">";
this.chars=B.chars;
this.charsInTable=[];
var G=0;
for(var H in this.chars){if(this.chars.hasOwnProperty(H)){var E=this.chars[H];
var C;
if(E.entity){C=G%CQ.themes.RichText.SPECIAL_CHARS_PER_ROW;
if(C==0){F+="<tr>"
}F+="<td";
if(B.cellCls!=null){F+=' class="'+B.cellCls+'"'
}F+=">";
F+=E.entity;
F+="</td>";
this.charsInTable.push(E.entity);
if(C==(CQ.themes.RichText.SPECIAL_CHARS_PER_ROW-1)){F+="</tr>"
}G++
}else{if((E.rangeStart)&&(E.rangeEnd)){for(var J=E.rangeStart;
J<=E.rangeEnd;
J++){var D="&#"+J+";";
C=G%CQ.themes.RichText.SPECIAL_CHARS_PER_ROW;
if(C==0){F+="<tr>"
}F+="<td";
if(B.cellCls!=null){F+=' class="'+B.cellCls+'"'
}F+=">";
F+=D;
F+="</td>";
this.charsInTable.push(D);
if(C==(CQ.themes.RichText.SPECIAL_CHARS_PER_ROW-1)){F+="</tr>"
}G++
}}}}}C=G%CQ.themes.RichText.SPECIAL_CHARS_PER_ROW;
if(C>0){for(;
C<CQ.themes.RichText.SPECIAL_CHARS_PER_ROW;
C++){F+="<td>&nbsp;</td>"
}F+="</tr>"
}F+="</table>";
delete B.chars;
delete B.tableCls;
delete B.cellCls;
delete B.magnifyCls;
var I=this;
CQ.utils.Util.applyDefaults(B,{title:CQ.I18n.getMessage("Insert special character"),items:[{xtype:"panel",layout:"border",items:[{xtype:"panel",region:"center",cls:"cq-rte-specialcharsdialog",border:false,html:F,autoScroll:true,afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
var R=this.body.dom.firstChild;
var S;
if(CQ.Ext.isIE){S=R.cells
}else{S=[];
var U=R.rows;
for(var L=0;
L<U.length;
L++){var T=U[L];
for(var P=0;
P<T.childNodes.length;
P++){if(T.childNodes[P].nodeType==1){S.push(T.childNodes[P])
}}}}var N=I.charsInTable.length;
for(var O=0;
O<N;
O++){var Q=S[O];
var M=CQ.Ext.get(Q);
Q.charToInsert=I.charsInTable[O];
CQ.Ext.EventManager.on(M,"click",function(){I.hide();
I.insertCharacter(this.charToInsert)
});
CQ.Ext.EventManager.on(M,"mouseover",function(){if(I.overCls){var V=CQ.Ext.get(this);
V.addClass(I.overCls)
}if(I.magnifierCell){I.magnifierCell.innerHTML=this.charToInsert
}});
CQ.Ext.EventManager.on(M,"mouseout",function(){if(I.overCls){var V=CQ.Ext.get(this);
V.removeClass(I.overCls)
}if(I.magnifierCell){I.magnifierCell.innerHTML="&nbsp;"
}})
}}},{xtype:"panel",region:"east",cls:"cq-rte-specialcharsdialog",width:70,border:false,html:K,afterRender:function(){CQ.Ext.Panel.prototype.afterRender.call(this);
var L=this.body.dom.firstChild;
var M=L.rows[0];
I.magnifierCell=M.childNodes[0]
}}]}]});
CQ.form.RichText.SpecialCharsDialog.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("rtespecialcharsdialog",CQ.form.RichText.SpecialCharsDialog);
CQ.form.OwnerDraw=CQ.Ext.extend(CQ.form.CompositeField,{url:null,html:null,hiddenField:null,processRecord:function(B,E){var C=B.get(this.getName());
if(C==undefined&&this.defaultValue!=null){this.setValue(this.defaultValue)
}else{this.setValue(C)
}if(this.url!=""){var D=CQ.HTTP.addParameter(this.url,"path",CQ.Sling.getContentPath(this.name,E));
D=CQ.HTTP.addParameter(D,"id",this.id);
var F=CQ.HTTP.get(D);
this.getEl().update(F.responseText)
}},setValue:function(B){this.hiddenField.setValue(B)
},getValue:function(){return this.hiddenField.getValue()
},getName:function(){return this.hiddenField.getName()
},constructor:function(B){this.html=B.html;
this.url=B.url?B.url:"";
this.hiddenField=new CQ.Ext.form.Hidden({name:B.name});
CQ.Ext.applyIf(B,{border:false,items:this.hiddenField});
CQ.form.OwnerDraw.superclass.constructor.call(this,B)
}});
CQ.Ext.reg("ownerdraw",CQ.form.OwnerDraw);
CQ.form.BrowseField=CQ.Ext.extend(CQ.Ext.form.TriggerField,{content:null,browseDialog:null,onTriggerClick:function(){if(this.disabled){return 
}if(this.browseDialog==null){var B={"jcr:primaryType":"cq:BrowseDialog",ok:function(){if(this.browseField){if(this.browseField.formatHtmlLink){var C=this.browseField.getParagraphAnchor();
C=C==""?C:"#"+C;
this.browseField.setValue(this.getSelectedPath()+".html"+C)
}else{this.browseField.setValue(this.getSelectedPath())
}this.browseField.fireEvent("dialogSelect",this)
}this.hide()
},parBrowse:this.parBrowse,treeRoot:this.treeRoot,treeLoader:this.treeLoader,listeners:{hide:function(){if(this.browseField){this.browseField.fireEvent("browsedialog.closed")
}}}};
this.browseDialog=new CQ.Util.build(B);
this.browseDialog.browseField=this;
this.browseDialog.loadContent(this.content)
}this.browseDialog.show();
this.fireEvent("browsedialog.opened")
},constructor:function(B){CQ.form.BrowseField.superclass.constructor.call(this,B);
this.addEvents("browsedialog.opened","browssedialog.closed")
},initComponent:function(){CQ.form.BrowseField.superclass.initComponent.call(this);
this.addEvents("dialogSelect")
},getParagraphAnchor:function(){return this.browseDialog.getSelectedAnchor()
}});
CQ.Ext.reg("browsefield",CQ.form.BrowseField);
CQ.BrowseDialog=CQ.Ext.extend(CQ.Dialog,{treePanel:null,browseField:null,initComponent:function(){CQ.BrowseDialog.superclass.initComponent.call(this)
},loadContent:function(B){if(typeof B=="string"){this.path=B;
this.treePanel.selectPath(B)
}},getSelectedPath:function(){try{return this.treePanel.getSelectionModel().getSelectedNode().getPath()
}catch(B){return""
}},getSelectedAnchor:function(){try{var B=this.data.getSelectedRecords()[0].get("path");
B=B.substring(B.indexOf("jcr:content")+"jcr:content".length+1);
return B.replace(/\//g,"_").replace(/:/g,"_")
}catch(C){return""
}},constructor:function(E){var F=CQ.Util.applyDefaults(E.treeRoot,{name:"content",text:CQ.I18n.getMessage("Site"),draggable:false,singleClickExpand:true,expanded:true});
var H=CQ.Util.applyDefaults(E.treeLoader,{dataUrl:CQ.Util.externalize("/bin/tree/ext.json?predicate=hierarchy"),requestMethod:"GET",baseAttrs:{singleClickExpand:true},listeners:{beforeload:function(I,J){this.baseParams.path=J.getPath()
}}});
this.treePanel=new CQ.Ext.tree.TreePanel({region:"west",lines:CQ.themes.BrowseDialog.TREE_LINES,bodyBorder:CQ.themes.BrowseDialog.TREE_BORDER,bodyStyle:CQ.themes.BrowseDialog.TREE_STYLE,height:"100%",width:200,autoScroll:true,containerScroll:true,root:new CQ.Ext.tree.AsyncTreeNode(F),loader:new CQ.Ext.tree.TreeLoader(H),defaults:{draggable:false}});
var G=CQ.themes.BrowseDialog.WIDTH;
var D=this.treePanel;
if(E.parBrowse){this.treePanel.on("click",this.onSelectPage.createDelegate(this));
var B=new CQ.Ext.data.JsonReader({id:"path",root:"paragraphs",totalProperty:"count",fields:["path","html"]});
this.paraProxy=new CQ.Ext.data.HttpProxy({url:""});
this.paraStore=new CQ.Ext.data.Store({proxy:this.paraProxy,reader:B,autoLoad:false});
var C=new CQ.Ext.XTemplate('<tpl for=".">','<div class="cq-paragraphreference-paragraph">{html}</div>',"</tpl>");
this.data=new CQ.Ext.DataView({id:"cq-paragraphreference-data",region:"center",store:this.paraStore,tpl:C,itemSelector:"div.cq-paragraphreference-paragraph",selectedClass:"cq-paragraphreference-selected",singleSelect:true,style:{overflow:"auto"}});
G=550;
D=new CQ.Ext.Panel({border:false,layout:"border",items:[this.treePanel,this.data]})
}CQ.Util.applyDefaults(E,{title:CQ.I18n.getMessage(CQ.themes.BrowseDialog.TITLE),closable:true,width:G,height:CQ.themes.BrowseDialog.HEIGHT,minWidth:CQ.themes.BrowseDialog.MIN_WIDTH,minHeight:CQ.themes.BrowseDialog.MIN_HEIGHT,resizable:CQ.themes.BrowseDialog.RESIZABLE,resizeHandles:CQ.themes.BrowseDialog.RESIZE_HANDLES,autoHeight:false,autoWidth:false,cls:"cq-browsedialog",ok:function(){this.hide()
},buttons:CQ.Dialog.OKCANCEL,items:D});
CQ.BrowseDialog.superclass.constructor.call(this,E)
},onSelectPage:function(C,B){this.paraProxy.conn.url=CQ.Util.externalize(encodeURI(C.getPath())+".paragraphs.json");
this.paraStore.reload()
}});
CQ.Ext.reg("browsedialog",CQ.BrowseDialog);
CQ.UserInfo=CQ.Ext.extend(CQ.Ext.Toolbar,{impersonated:false,constructor:function(B){B=CQ.Util.applyDefaults(B,{id:"cq-userinfo",menu:{items:[]},sudoables:{listWidth:150,typeAhead:true,triggerAction:"all",inputType:"text",displayField:"name",stateful:false,width:150,minChars:0,editable:true,tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="cq-impersonators-list">','<div class="cq-impersonators-list-entry">{[values.name==""? values.id: values.name]}</div>',"</div>","</tpl>"),itemSelector:"div.cq-impersonators-list"},passwordDialog:CQ.UserInfo.PASSWORD_DIALOG_CFG});
CQ.UserInfo.superclass.constructor.call(this,B)
},initComponent:function(){var D=this.initialConfig;
var E=CQ.User.getCurrentUser();
this.impersonated=E.isImperonated();
if(!D.iconCls){D.iconCls=this.impersonated?"impersonateIcon":"userIcon"
}var F=new CQ.Ext.menu.Menu(D.menu);
if(this.impersonated){F.addMenuItem({iconCls:"revertIcon",text:CQ.I18n.getMessage("Revert to self"),handler:this.revertHandler})
}else{F.addMenuItem({text:CQ.I18n.getMessage("Log out"),handler:this.logout});
F.addSeparator();
if(E.getUserID()!="admin"){F.addMenuItem({text:CQ.I18n.getMessage("Set Password"),handler:this.setPassword,scope:this})
}F.addMenuItem({text:CQ.I18n.getMessage("Notification Inbox"),handler:this.openNotificationInbox});
F.addMenuItem({text:CQ.I18n.getMessage("Properties"),handler:this.openUserProperties});
F.addSeparator();
F.addMenuItem({iconCls:"impersonateIcon",text:CQ.I18n.getMessage("Impersonate as:"),hideOnClick:false,style:{cursor:"default"},canActivate:false});
var B=D.sudoables;
B=CQ.Util.applyDefaults(B,{style:{cursor:"text"},listeners:{expand:{fn:function(H){var G=F.getEl().getPositioning();
if(G&&H.list){H.list.setStyle("z-index",G["z-index"]+1)
}}},select:{fn:this.sudoHandler,scope:this}}});
if(!B.store){B.store=new CQ.Ext.data.Store({autoLoad:false,proxy:new CQ.Ext.data.HttpProxy({url:E.getHome()+".sudoables.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({root:"authorizables",id:"id",fields:["name","id"]})})
}var C=new CQ.Ext.menu.Adapter(new CQ.Ext.Panel({border:false,cls:"impersonateMenu",items:[new CQ.Ext.form.ComboBox(B)]}),{hideOnClick:false,canActivate:false});
F.addItem(C)
}this.items=[{iconCls:D.iconCls,text:E.getUserName(),menu:F}];
CQ.UserInfo.superclass.initComponent.call(this)
},setPassword:function(){var D=CQ.WCM.getDialog(this.initialConfig.passwordDialog);
if(!D){CQ.Notification.notify(CQ.I18n.getMessage("Failure"),CQ.I18n.getMessage("Dialog not available"));
return 
}var B=CQ.User.getCurrentUser();
if(!(B&&B.getHome())){CQ.Notification.notify(CQ.I18n.getMessage("Failure"),CQ.I18n.getMessage("User not available"));
return 
}var C=CQ.Util.externalize(B.getHome());
C=CQ.HTTP.noCaching(C);
var E=D.form;
E.on({beforeaction:{fn:function(F,G){if(G.type=="cqsubmit"||G.type=="submit"){F.url=C;
G.options.success=function(){try{B.login(F.findField("rep:password").getValue())
}catch(H){CQ.Notification.notify(CQ.I18n.getMessage("Failure"),CQ.I18n.getMessage("Could not set Password"))
}}
}}}});
D.failure=function(){CQ.Notification.notify(CQ.I18n.getMessage("Failure"),CQ.I18n.getMessage("Could not set Password"))
};
D.show()
},sudoHandler:function(B,D,C){CQ.Ext.MessageBox.confirm(CQ.I18n.getMessage("Impersonation"),CQ.I18n.getMessage("Do you want to impersonate as {0} ?",D.get("name")?D.get("name"):D.id),function(E){if(E=="yes"){CQ.User.getCurrentUser().sudoAs(D.id)
}},this)
},revertHandler:function(){CQ.Ext.MessageBox.confirm(CQ.I18n.getMessage("Impersonation"),CQ.I18n.getMessage("Do you want to end impersonation to {0}?",CQ.User.getUserName()),function(B){if(B=="yes"){CQ.User.getCurrentUser().revertSelf()
}},this)
},logout:function(){CQ.Util.logout()
},openNotificationInbox:function(){CQ.Util.reload(window,CQ.Util.externalize("/libs/wcm/content/inbox.html"))
},openUserProperties:function(){var B=CQ.WCM.getDialog("/libs/security/content/tools/userProperties.infinity.json");
B.loadContent("/libs/security/preferences/proxy");
B.success=function(){CQ.Util.reload()
};
B.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not set user properties."))
};
B.show()
}});
CQ.Ext.reg("userinfo",CQ.UserInfo);
CQ.UserInfo.PASSWORD_DIALOG_CFG={width:400,height:200,"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Set Password"),params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",password:{inputType:"password",fieldLabel:CQ.I18n.getMessage("Password"),name:"rep:password",allowBlank:false,msgTarget:"under"},password2:{inputType:"password",fieldLabel:CQ.I18n.getMessage("Confirm Password"),name:"rep:password",allowBlank:false,msgTarget:"under",validator:function(B){var C=this.ownerCt.items.get(0).getRawValue();
if(C==B){return true
}return CQ.I18n.getMessage("Provided passwords do not match.")
}}}},okText:CQ.I18n.getMessage("Set"),buttons:CQ.Dialog.OKCANCEL};
CQ.form.TableEdit=CQ.Ext.extend(CQ.form.CompositeField,{isFormField:true,hideLabel:true,ignoreRecords:false,useColPercentage:false,hiddenField:null,store:null,colModel:null,fields:[],columnArray:[],editorConfig:null,gridConfig:null,htmlEditor:null,editor:null,editorGrid:null,deleteRow:function(){var D=this.editorGrid;
var C=D.getSelectionModel();
var B=C.getSelectedCell();
if(B){CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Delete Row"),CQ.I18n.getMessage("Are you sure you want to delete this row?"),function(E){if(E=="yes"){this.editorGrid.stopEditing();
this.editorGrid.store.remove(this.editorGrid.store.getAt(B[0]))
}},this)
}},deleteColumn:function(){var C=this.editorGrid.getSelectionModel();
var B=C.getSelectedCell();
if(B){this.editorGrid.stopEditing();
CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Delete Column"),CQ.I18n.getMessage("Are you sure you want to delete this column?"),function(I){var L=this.editorGrid.colModel.getColumnCount();
var J=this.editorGrid.store.getCount();
for(var G=0;
G<L;
G++){this.editorGrid.colModel.setEditor(G,null)
}for(var H=0;
H<J;
++H){var E=this.editorGrid.store.getAt(H);
for(var G=0;
G<L-1;
++G){var F=(G<B[1])?G:G+1;
var M=this.editorGrid.colModel.getDataIndex(G);
var D=this.editorGrid.colModel.getDataIndex(F);
E.set(M,E.get(D))
}}for(var G=0;
G<L-1;
G++){var F=(G<B[1])?G:G+1;
var K=this.editorGrid.colModel.getColumnWidth(F);
this.editorGrid.colModel.setColumnWidth(G,K)
}this.fields.pop();
this.columnArray.pop();
this.editorGrid.colModel.setConfig(this.columnArray);
for(var G=0;
G<L-1;
G++){this.editorGrid.colModel.setEditor(G,this.editor)
}},this)
}},addRows:function(G){this.editorGrid.stopEditing();
var F=new CQ.Ext.data.Record.create(this.fields);
var D=this.editorGrid.colModel.getColumnCount();
for(var C=0;
C<G;
++C){var E={};
for(var B=0;
B<D;
++B){E["tcol-"+B]=""
}this.editorGrid.store.add(new F(E))
}},addColumns:function(G){this.editorGrid.stopEditing();
var E=this.editorGrid.colModel.getColumnCount();
for(var C=0;
C<E;
C++){this.editorGrid.colModel.setEditor(C,null)
}for(var D=E;
D<E+G;
++D){var B="tcol-"+(D);
var F=String.fromCharCode(65+D/26)+String.fromCharCode(65+D%26);
this.fields.push({name:B,mapping:"td:nth("+(D+1)+")/@innerHTML"});
this.columnArray.push({header:F,dataIndex:B,width:CQ.form.TableEdit.DEFAULT_COLUMN_WIDTH,tooltip:F,sortable:this.gridConfig.sortable})
}this.editorGrid.colModel.setConfig(this.columnArray);
this.editorGrid.store.each(function(H){H.set(B,"")
});
for(var C=0;
C<E+G;
C++){this.editorGrid.colModel.setEditor(C,this.editor)
}},getValue:function(){var N=this.editorGrid.colModel.getColumnCount();
var M=this.editorGrid.store.getCount();
var B=document.createElement("div");
var Q=B.appendChild(document.createElement("table"));
var E=Q.appendChild(document.createElement("colgroup"));
for(var H=0;
H<N;
++H){var C=E.appendChild(document.createElement("col"));
var O=this.editorGrid.colModel.getColumnWidth(H);
if(this.useColPercentage){C.width=this.convertWidthToPercentage(O)+"%"
}else{C.width=O
}}var G=Q.appendChild(document.createElement("tbody"));
for(var R=0;
R<M;
++R){var L=G.appendChild(document.createElement("tr"));
var J=this.editorGrid.store.getAt(R);
for(var C=0;
C<N;
++C){if(!this.editorGrid.colModel.isHidden(C)){var F="td";
var D=L.appendChild(document.createElement(F));
var P=J.get(this.editorGrid.colModel.getDataIndex(C));
D.innerHTML=P?P:""
}}}var K=CQ.form.RichText.HtmlProcessor;
var I=B.innerHTML;
I=K.executeInternalizeLinks(I,[{tag:"a",attribute:"href"}]);
I=this.htmlEditor.postProcessor.process(I);
return I
},initializeTable:function(G){var F=document.createElement("div");
if(!G){F.innerHTML="<table><colgroup><col></colgroup><tbody><tr><td></td></tr></tbody></table>"
}else{F.innerHTML=G
}F=CQ.Ext.get(F);
var I=F.query("col");
this.fields=[];
this.columnArray=[];
for(var C=0,E;
E=I[C];
++C){var B="tcol-"+C;
var H=String.fromCharCode(65+C/26)+String.fromCharCode(65+C%26);
this.fields.push({name:B,mapping:"td:nth("+(C+1)+")/@innerHTML"});
var D=E.width;
if(D){if(this.useColPercentage){D=this.convertPercentageToWidth(D)
}}else{D=CQ.form.TableEdit.DEFAULT_COLUMN_WIDTH
}this.columnArray.push({header:H,dataIndex:B,width:parseInt(D),tooltip:E.title,sortable:this.gridConfig.sortable,editor:this.editor})
}this.editorGrid.store=new CQ.Ext.data.Store({reader:new CQ.Ext.data.XmlReader({record:"tr"},this.fields)});
this.editorGrid.store.loadData(F.dom);
this.editorGrid.colModel=new CQ.Ext.grid.ColumnModel(this.columnArray)
},clear:function(){if(this.htmlEditor){this.htmlEditor.setValue("")
}if(this.editorGrid){this.editorGrid.stopEditing();
this.editorGrid.store.removeAll()
}},processRecord:function(B,D){var C=B.get(this.getName());
if(C==undefined&&this.defaultValue!=null){C=this.defaultValue
}if(C!=null){this.clear();
this.initializeTable(C);
this.editorGrid.reconfigure(this.editorGrid.store,this.editorGrid.colModel);
this.hiddenField.setValue(this.getValue())
}},getColsTotalWidth:function(){if(this.editorGrid.colModel){return this.editorGrid.colModel.getTotalWidth()
}return CQ.form.TableEdit.DEFAULT_GRID_WIDTH
},convertWidthToPercentage:function(C){var B=0;
if(C>0){B=Math.round(100*C/this.getColsTotalWidth())
}return B
},convertPercentageToWidth:function(C){var B=C;
if(typeof C=="string"){if(C.charAt(C.length-1)=="%"){B=C.substring(0,C.length-1)
}}B=Math.round(B*this.getColsTotalWidth()/100);
return B
},getColDisplayWidth:function(B,D){var C=this.editorGrid.colModel.getColumnWidth(B);
if(D){C+=D
}if(this.useColPercentage){return this.convertWidthToPercentage(C)+"%"
}else{return C+"px"
}},pasteHTML:function(I,L,G){var P=document.createElement("div");
P.innerHTML=G;
P=CQ.Ext.get(P);
var Q=P.query("tr");
if(!Q||Q.length==0){return false
}var J=CQ.Ext.get(Q[0]).query("td");
if(!J||J.length==0){return false
}var R=Q.length;
var E=J.length;
var H=this.editorGrid.store.getCount();
var N=this.editorGrid.colModel.getColumnCount();
if(I+Q.length>H){this.addRows((I+R)-H)
}if(L+J.length>N){this.addColumns((L+E)-N)
}this.editorGrid.reconfigure(this.editorGrid.store,this.editorGrid.colModel);
var M;
for(var F=0;
F<R;
++F){var C=this.editorGrid.store.getAt(F+I);
var O=CQ.Ext.get(Q[F]).query("td");
for(var D=0,B=0;
D<J.length;
++D,++B){var K=this.editorGrid.colModel.getDataIndex(D+L);
M=O[B].innerHTML;
if(M!=null&&K){C.set(K,M)
}if(O[B].colSpan>1){D+=(O[B].colSpan-1)
}}}this.editor.setValue(M);
this.editorGrid.selModel.select(I+R-1,L+E-1);
this.editorGrid.startEditing(I+R-1,L+E-1);
return false
},editorSync:function(D,F){var C,I;
this.isSynced=true;
var B=this.editorGrid.selModel.getSelectedCell();
if(B){I=B[0];
C=B[1]
}else{I=0;
C=0
}if(F){var G=F.toLowerCase();
if(G.indexOf("<table")>=0){this.editorGrid.stopEditing();
return this.pasteHTML(I,C,F)
}if(B){var E=this.editorGrid.getColumnModel().getDataIndex(B[1]);
var H=this.editorGrid.store.getAt(B[0]);
H.set(E,F)
}}this.isSynced=false
},gridKeyHandler:function(B){},onResize:function(B,C){if(this.editor){this.editor.setSize(B,C)
}if(this.editorGrid.view){this.editorGrid.view.refresh()
}},onShow:function(B){this.editorGrid.enable();
this.htmlEditor.enable()
},onRender:function(C){CQ.form.TableEdit.superclass.onRender.call(this,C);
var B=this.findParentByType("dialog");
if(B){B.on("beforesubmit",function(D){this.htmlEditor.syncValue();
this.editorGrid.stopEditing();
this.hiddenField.setValue(this.getValue());
this.editorGrid.disable();
this.htmlEditor.disable()
},this);
B.on("show",function(D){if(this.editorGrid){this.editorGrid.enable()
}if(this.htmlEditor){this.htmlEditor.enable()
}if(this.editorGrid.view.splitone){this.editorGrid.view.splitone.enableTooltip=true;
this.editorGrid.view.splitone.showTooltip=this.showResizeTooltip;
this.editorGrid.view.splitone.hideTooltip=this.hideResizeTooltip
}},this)
}if(CQ.Ext.isIE){this.htmlEditor.on("render",this.htmlEditor.initEditor)
}return true
},fixFocusIssue:function(){var B=this;
CQ.Ext.apply(this.editorGrid.view,{focusCell:function(E,C,D){if(!B.isSynced){CQ.Ext.grid.GridView.prototype.focusCell.call(this,E,C,D)
}}})
},showResizeTooltip:function(B,E){var D=this.grid.findParentByType("tableedit");
var C=D.getColDisplayWidth(this.cellIndex);
this.tooltip=new CQ.Ext.ToolTip({target:this.grid.id,html:C,trackMouse:true,autoHide:false,visibilityMode:CQ.Ext.Element.DISPLAY,targetXY:[B,E],tableEdit:D,cellIndex:this.cellIndex});
this.tooltip.on("move",function(H,F,J){var G=Math.max(this.minX,F);
var I=G-this.startPos;
this.tooltip.body.dom.innerHTML=this.tooltip.tableEdit.getColDisplayWidth(this.tooltip.cellIndex,I)
},this);
this.tooltip.enable();
this.tooltip.show()
},hideResizeTooltip:function(B,C){this.tooltip.hide();
this.tooltip.disable();
this.tooltip.destroy()
},initComponent:function(){CQ.form.TableEdit.superclass.initComponent.call(this);
this.htmlEditor=new CQ.form.RichText(this.editorConfig);
this.editor=new CQ.Ext.grid.GridEditor(this.htmlEditor,{autoSize:null});
this.editorGrid=new CQ.Ext.grid.EditorGridPanel(this.gridConfig);
this.initializeTable(this.defaultValue);
this.add(this.htmlEditor);
this.add(this.editorGrid);
this.htmlEditor.on("beforesync",this.editorSync,this);
this.editorGrid.on("afteredit",function(B){this.hiddenField.setValue(this.getValue())
},this);
this.editorGrid.on("keypress",this.gridKeyHandler,this);
this.hiddenField=new CQ.Ext.form.Hidden({name:this.name});
this.add(this.hiddenField)
},constructor:function(B){var C=this;
var D={hideLabel:true,autoHeight:false,defaultValue:"",gridConfig:{xtype:"editorgrid",isFormField:false,height:158,sm:new CQ.Ext.grid.CellSelectionModel({handleMouseDown:function(){}}),afterRender:function(){CQ.Ext.grid.EditorGridPanel.prototype.afterRender.call(this);
C.fixFocusIssue()
},clicksToEdit:1,enableColumnMove:true,enableHdMenu:false,hideLabel:true,stateful:false,sortable:false,tbar:[{text:CQ.I18n.getMessage("Add Row"),handler:function(){this.addRows(1)
},scope:this},{text:CQ.I18n.getMessage("Add Column"),handler:function(){this.addColumns(1)
},scope:this},{text:CQ.I18n.getMessage("Delete Row"),handler:this.deleteRow,scope:this},{text:CQ.I18n.getMessage("Delete Column"),handler:this.deleteColumn,scope:this}]},editorConfig:{height:60,hideLabel:true,defaultPasteMode:"browser",removeSingleParagraphContainer:true,tabSize:1,name:""}};
CQ.Util.applyDefaults(B,D);
if(B.useColPercentage){CQ.Util.applyDefaults(B,{gridConfig:{viewConfig:{forceFit:true,autoFill:true}}})
}CQ.form.TableEdit.superclass.constructor.call(this,B)
}});
CQ.form.TableEdit.DEFAULT_COLUMN_WIDTH=100;
CQ.form.TableEdit.DEFAULT_GRID_WIDTH=450;
CQ.Ext.reg("tableedit",CQ.form.TableEdit);
CQ.form.ParagraphReference=CQ.Ext.extend(CQ.Ext.form.TriggerField,{constructor:function(F){CQ.form.ParagraphReference.superclass.constructor.call(this,F);
var D=new CQ.Ext.tree.TreeLoader({url:CQ.Util.externalize("/content.ext.json"),requestMethod:"GET",baseParams:{predicate:"hierarchy",depth:0},baseAttrs:{iconCls:"page"}});
D.on("beforeload",function(H,I){this.url=CQ.Util.externalize(I.getPath()+".ext.json")
});
var E=new CQ.Ext.tree.AsyncTreeNode({name:"content",text:CQ.I18n.getMessage("Pages"),expanded:true,iconCls:"page"});
var C=new CQ.Ext.tree.TreePanel({id:"cq-paragraphreference-tree",xtype:"treepanel",region:"west",width:200,loader:D,root:E,autoScroll:true});
C.on("click",this.onSelectPage.createDelegate(this));
var B=new CQ.Ext.data.JsonReader({id:"path",root:"paragraphs",totalProperty:"count",fields:["path","html"]});
this.proxy=new CQ.Ext.data.HttpProxy({url:""});
this.store=new CQ.Ext.data.Store({proxy:this.proxy,reader:B,autoLoad:false});
var G=new CQ.Ext.XTemplate('<tpl for=".">','<div class="cq-paragraphreference-paragraph">{html}</div>',"</tpl>");
this.data=new CQ.Ext.DataView({id:"cq-paragraphreference-data",region:"center",store:this.store,tpl:G,itemSelector:"div.cq-paragraphreference-paragraph",selectedClass:"cq-paragraphreference-selected",singleSelect:true,style:{overflow:"auto"}});
this.data.on("selectionchange",this.onSelectionChange.createDelegate(this));
this.selectButton=new CQ.Ext.Button({text:CQ.I18n.getMessage("Select"),handler:this.onSelect.createDelegate(this)});
this.dialog=new CQ.Ext.Window({title:CQ.I18n.getMessage("Select paragraph"),layout:"border",modal:true,y:20,width:CQ.themes.Dialog.WIDTH,height:CQ.themes.Dialog.HEIGHT,minWidth:CQ.themes.Dialog.MIN_WIDTH,minHeight:CQ.themes.Dialog.MIN_HEIGHT,closable:true,closeAction:"hide",stateful:false,items:[C,this.data],buttons:[this.selectButton,{text:CQ.I18n.getMessage("Cancel"),handler:this.onCancel.createDelegate(this)}]})
},onTriggerClick:function(){this.onSelectionChange();
this.dialog.show(this)
},onSelectPage:function(C,B){this.proxy.conn.url=CQ.Util.externalize(encodeURI(C.getPath())+".paragraphs.json");
this.store.reload()
},onSelectionChange:function(){if(this.data.getSelectedRecords().length>0){this.selectButton.enable()
}else{this.selectButton.disable()
}},onSelect:function(){var B=this.data.getSelectedRecords();
if(B.length>0){this.setValue(B[0].get("path"))
}this.dialog.hide()
},onCancel:function(B){this.dialog.hide()
}});
CQ.form.ParagraphReference.onParagraphLoad=function(){};
CQ.Ext.reg("paragraphreference",CQ.form.ParagraphReference);
CQ.wcm.Viewport=CQ.Ext.extend(CQ.Ext.Viewport,{constructor:function(B){this.debug=B.debug;
var D={id:"cq-header",xtype:"container",region:"north",autoEl:"div",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar",items:[new CQ.Switcher({}),new CQ.UserInfo({})]}]};
var C={id:B.id+"-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[D].concat(B.items)};
B.layout="border";
B.renderTo="CQ";
B.items=[C];
CQ.wcm.Viewport.superclass.constructor.call(this,B)
},initComponent:function(){CQ.wcm.Viewport.superclass.initComponent.call(this)
}});
CQ.wcm.SiteAdmin=CQ.Ext.extend(CQ.Ext.Viewport,{copyClipboard:null,constructor:function(config){config=CQ.Util.applyDefaults(config,{id:"cq-siteadmin",search:{width:200},grid:{pages:{pathRegex:"(/.*)?",storeProxyPrefix:"",storeProxySuffix:".pages.json",storePredicate:"siteadmin",storeReaderTotalProperty:"results",storeReaderRoot:"pages",storeReaderId:"path",storeReaderFields:["title","label","type","dialogPath","lastModifiedBy","lastModified","templateTitle","templatePath","replication",{name:"inWorkflow",type:"bool"},"lockedBy","monthlyHits",CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP,CQ.wcm.msm.MSM.PARAM_IS_IN_BLUEPRINT,CQ.wcm.msm.MSM.PARAM_IS_SOURCE],columns:[CQ.wcm.SiteAdmin.COLUMNS.numberer,CQ.wcm.SiteAdmin.COLUMNS.title,CQ.wcm.SiteAdmin.COLUMNS.template,CQ.wcm.SiteAdmin.COLUMNS.name,CQ.wcm.SiteAdmin.COLUMNS.published,CQ.wcm.SiteAdmin.COLUMNS.modified,CQ.wcm.SiteAdmin.COLUMNS.workflow,CQ.wcm.SiteAdmin.COLUMNS.locked,CQ.wcm.SiteAdmin.COLUMNS.impressions,CQ.wcm.SiteAdmin.COLUMNS.liveCopyStatus],defaultSortable:true}}});
var gridCfgs={};
for(var name in config.grid){if(!config.grid[name].pathRegex){continue
}gridCfgs[name]=config.grid[name];
if(name!="pages"){gridCfgs[name]=CQ.Ext.applyIf(gridCfgs[name],config.grid.pages)
}gridCfgs[name].storeConfig=CQ.Util.applyDefaults(config.store,{autoLoad:false,proxy:new CQ.Ext.data.HttpProxy({url:gridCfgs[name].storeProxyPrefix,method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:gridCfgs[name].storeReaderTotalProperty,root:gridCfgs[name].storeReaderRoot,id:gridCfgs[name].storeReaderId,fields:gridCfgs[name].storeReaderFields}),baseParams:{predicate:gridCfgs[name].storePredicate}});
gridCfgs[name].colModelConfig=new Array();
for(var i=0;
i<gridCfgs[name].columns.length;
i++){var c=gridCfgs[name].columns[i];
var pref=null;
if(typeof c=="string"){pref=c
}else{if(typeof c=="object"&&c.usePredefined){pref=c.usePredefined
}}if(pref&&CQ.wcm.SiteAdmin.COLUMNS[pref]){gridCfgs[name].colModelConfig.push(CQ.wcm.SiteAdmin.COLUMNS[pref])
}else{gridCfgs[name].colModelConfig.push(c)
}}}this.debug=config.debug;
var admin=this;
var id=config.id;
var body=CQ.Ext.getBody();
body.setStyle("margin","0");
if(CQ.Ext.isIE){body.dom.scroll="no"
}else{body.setStyle("overflow","hidden")
}this.actions=[];
this.checkedActions=[];
var gridContextActions=[];
this.actions.push({id:id+"-grid-refresh",iconCls:"cq-siteadmin-refresh",handler:function(){CQ.Ext.getCmp(id+"-grid").getStore().reload()
},scope:this,tooltip:{title:CQ.I18n.getMessage("Refresh Page List"),text:CQ.I18n.getMessage("Refreshs the list of pages"),autoHide:true}});
this.actions.push("-");
this.actions=this.actions.concat(this.formatActions(config.actions,gridContextActions));
this.actions.push("->");
var search=new CQ.SearchField(config.search);
search.on("select",function(combo,record,index){var parent=record.id.substring(0,record.id.lastIndexOf("/"));
admin.loadPath(parent,record.id)
});
this.actions.push(search);
this.actions.push(CQ.wcm.HelpBrowser.createHelpButton());
var depth=1;
if(config.considerSubNodes===false){depth=0
}delete config.considerSubNodes;
var treeLdrCfg=CQ.Util.applyDefaults(config.treeLoader,{baseParams:{predicate:"siteadmin",depth:depth},filterFn:this.treeFilter.createDelegate(this),requestMethod:"GET",dataUrl:"/bin/tree/ext.json",baseAttrs:{singleClickExpand:true},listeners:{beforeload:function(loader,node){this.baseParams.path=node.getPath()
}},createNode:function(attr){if(this.baseAttrs){CQ.Ext.applyIf(attr,this.baseAttrs)
}if(attr.type=="cq:Page"){attr.iconCls="page"
}else{if(/.*[fF]older/.test(attr.type)){attr.iconCls="folder"
}else{if(attr.cls){attr.iconCls=attr.cls
}}}if(this.applyLoader!==false){attr.loader=this
}if(typeof attr.uiProvider=="string"){attr.uiProvider=this.uiProviders[attr.uiProvider]||eval(attr.uiProvider)
}if(attr.type&&attr.type=="cq:Page"){if(attr.leaf){delete attr.leaf;
attr.children=[];
attr.expanded=true
}}var node;
if(attr.leaf){node=new CQ.Ext.tree.TreeNode(attr)
}else{node=new CQ.Ext.tree.AsyncTreeNode(attr);
node.on("move",function(tree,node,oldParent,newParent,index){if(newParent.attributes.children&&(newParent.attributes.children.length==0)){delete newParent.attributes.children
}})
}node.on("dblclick",function(node,evt){CQ.wcm.SiteAdmin.openPage.call(admin,node.getPath(),node.attributes.type,evt.shiftKey);
evt.stopEvent()
});
return node
}});
this.treeRootCfg=CQ.Util.applyDefaults(config.treeRoot,{name:"content",text:CQ.I18n.getMessage("Websites"),draggable:false,expanded:true,iconCls:"file"});
var anchor=CQ.HTTP.getAnchor(document.location.href);
if(anchor){var state=CQ.Ext.state.Manager.get(id+"-tree");
if(state){CQ.Ext.state.Manager.set(id+"-tree",state.width?{width:state.width}:{})
}}CQ.wcm.SiteAdmin.superclass.constructor.call(this,{id:id,layout:"border",renderTo:CQ.Util.ROOT_ID,gridConfig:gridCfgs,attribFilter:{type:"dam:Asset"},items:[{id:id+"-wrapper",cls:"cq-siteadmin-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[{id:"cq-header",xtype:"container",autoEl:"div",region:"north",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar",items:[new CQ.Switcher({}),new CQ.UserInfo({})]}]},{xtype:"treepanel",id:id+"-tree",cls:"cq-siteadmin-tree",region:"west",margins:"5 0 5 5",width:CQ.themes.SiteAdmin.TREE_WIDTH,autoScroll:true,containerScroll:true,collapsible:true,collapseMode:"mini",animate:true,split:true,stateful:true,enableDD:true,ddScroll:false,ddGroup:CQ.wcm.SiteAdmin.DD_GROUP,loader:new CQ.wcm.SiteAdmin.TreeLoader(treeLdrCfg),root:new CQ.Ext.tree.AsyncTreeNode(this.treeRootCfg),tbar:[{id:id+"-tree-refresh",iconCls:"cq-siteadmin-refresh",handler:function(){CQ.Ext.getCmp(id+"-tree").getRootNode().reload();
admin.loadPath()
},tooltip:{title:CQ.I18n.getMessage("Refresh Page Tree"),text:CQ.I18n.getMessage("Refreshs the page tree"),autoHide:true}}],listeners:{beforemovenode:function(tree,node,oldParent,newParent,index){var successHandler;
if(admin.copyNode){successHandler=admin.performCopy(tree,node,oldParent,newParent,index)
}else{successHandler=admin.performMoveOrReorder(tree,node,oldParent,newParent,index)
}if(successHandler!=null){successHandler.call(admin);
return true
}else{return false
}},movenode:function(tree,node,oldParent,newParent,index){if(admin.copyNode){admin.performAfterCopy(tree,node,oldParent,newParent,index)
}},beforenodedrop:function(dropEvent){admin.copyNode=dropEvent.rawEvent.browserEvent.ctrlKey
}}},{xtype:"editorgrid",id:id+"-grid",cls:"cq-siteadmin-tree",region:"center",enableDragDrop:true,ddGroup:"damDD",ddText:CQ.I18n.getMessage("Reordering..."),margins:"5 5 5 0",loadMask:true,stripeRows:true,cm:new CQ.Ext.grid.ColumnModel([]),sm:new CQ.Ext.grid.RowSelectionModel({singleSelect:false}),clicksToEdit:1,viewConfig:new CQ.Ext.grid.GridView({forceFit:true}),store:new CQ.Ext.data.Store({}),tbar:this.actions,listeners:{rowcontextmenu:function(grid,index,e){if(e.altKey){return 
}var xy=e.getXY();
e.stopEvent();
grid.getSelectionModel().selectRow(index);
if(!grid.contextMenu&&(gridContextActions.length>0)){grid.contextMenu=new CQ.Ext.menu.Menu({items:gridContextActions,listeners:{beforeshow:function(){var admin=CQ.Ext.getCmp(id);
admin.checkActions.call(admin);
if(!this.hasDefaultAction){this.items.find(function(item){if(item.isDefaultAction===true){item.addClass("x-menu-item-default");
this.hasDefaultAction=true;
return true
}else{return false
}})
}}}})
}grid.contextMenu.showAt(xy)
},rowdblclick:function(grid,rowIndex,evt){CQ.wcm.SiteAdmin.openPages.call(admin,evt.shiftKey)
},afteredit:function(params){params.record.commit();
if(params.field=="label"){var oldID=params.record.id;
params.record.id=oldID.substring(0,oldID.lastIndexOf("/")+1)+params.value;
var tree=CQ.Ext.getCmp(id+"-tree");
var root=tree.getRootNode();
var node;
var path=oldID.split("/");
for(var i=1;
i<path.length;
i++){var name=path[i];
if(name==root.attributes.name){node=root
}else{node=node.findChild("name",name)
}}node.attributes.name=params.value
}},validateedit:function(params){if(params.field=="label"){var srcPath=params.record.id;
var dstName=params.value;
var destPath=srcPath.substring(0,srcPath.lastIndexOf("/")+1)+dstName;
var params="?cmd=movePage&_charset_=utf-8&srcPath="+srcPath+"&destPath="+destPath;
var response=CQ.HTTP.post("/bin/wcmcommand"+params);
var status="500";
if(response.headers.Status){status=response.headers.Status
}if(status=="200"){return true
}else{if(status=="412"){var data={path:srcPath,dstName:dstName};
new CQ.wcm.HeavyMoveDialog(data).show();
return false
}else{return false
}}}},render:function(grid){grid.getSelectionModel().on("selectionchange",function(sm,node){admin.checkActions()
});
try{var ddrow=new CQ.Ext.dd.DropZone(grid.getView().mainBody,{ddGroup:"damDD",copy:false,notifyDrop:function(dd,e,data){var sm=grid.getSelectionModel();
var rows=sm.getSelections();
var cindex=dd.getDragData(e).rowIndex;
var ds=grid.store;
var row=ds.getAt(cindex);
if(typeof cindex!="undefined"&&row.id.indexOf("/content/dam")==0){for(i=0;
i<rows.length;
i++){rowData=ds.getById(rows[i].id);
admin.performReorder(rows[i].id,row.id);
if(!this.copy){ds.remove(ds.getById(rows[i].id));
ds.insert(cindex,rowData)
}}sm.selectRecords(rows)
}},notifyOver:function(dd,e,data){var path=dd.dragData.selections[0].id;
return(path.indexOf("/content/dam")==0)?this.dropAllowed:this.dropNotAllowed
}})
}catch(e){}}}}]}]});
var tree=CQ.Ext.getCmp(id+"-tree");
tree.dropZone.onNodeOver=function(n,dd,e,data){var pt=this.getDropPoint(e,n,dd);
var node=n.node;
if(!this.expandProcId&&pt=="append"&&node.hasChildNodes()&&!n.node.isExpanded()){this.queueExpand(node)
}else{if(pt!="append"){this.cancelExpand()
}}var returnCls=this.dropNotAllowed;
if(this.isValidDropPoint(n,pt,dd,e,data)){if(pt){var el=n.ddel;
var cls;
if(pt=="above"){if(n.node.isFirst()){returnCls=e.browserEvent.ctrlKey?"x-tree-drop-ok-copy":"x-tree-drop-ok-above"
}else{returnCls=e.browserEvent.ctrlKey?"x-tree-drop-ok-copy":"x-tree-drop-ok-between"
}cls="x-tree-drag-insert-above"
}else{if(pt=="below"){if(n.node.isLast()){returnCls=e.browserEvent.ctrlKey?"x-tree-drop-ok-copy":"x-tree-drop-ok-below"
}else{returnCls=e.browserEvent.ctrlKey?"x-tree-drop-ok-copy":"x-tree-drop-ok-between"
}cls="x-tree-drag-insert-below"
}else{returnCls=e.browserEvent.ctrlKey?"x-tree-drop-ok-copy":"x-tree-drop-ok-move";
cls="x-tree-drag-append"
}}if(this.lastInsertClass!=cls){CQ.Ext.fly(el).replaceClass(this.lastInsertClass,cls);
this.lastInsertClass=cls
}}}return returnCls
};
new CQ.Ext.form.Hidden({id:CQ.Ext.History.fieldId,renderTo:CQ.Util.ROOT_ID});
var historyFrame=document.createElement("iframe");
historyFrame.id=CQ.Ext.History.iframeId;
historyFrame.src=CQ.Ext.SSL_SECURE_URL;
historyFrame.className="x-hidden";
historyFrame.frameBorder="0";
historyFrame.border="0";
new CQ.Ext.Element(historyFrame).appendTo(CQ.Util.getRoot());
CQ.Ext.History.init();
CQ.Ext.History.on("change",function(token){var current=admin.getCurrentPath();
if(token!=current){admin.loadPath(token)
}});
if(anchor){admin.loadPath(anchor)
}window.CQ_SiteAdmin_id=id
},initComponent:function(){CQ.wcm.SiteAdmin.superclass.initComponent.call(this);
var B=this;
CQ.Ext.getCmp(B.id+"-tree").getSelectionModel().on("selectionchange",function(C,D){if(D){B.treePath=D.getPath();
B.loadPages(D);
CQ.Ext.History.add(D.getPath(),true)
}B.checkActions()
})
},copySelectionToClipboard:function(){this.copyClipboard=new Array();
var C=this.getSelectedPages();
for(var B=0;
B<C.length;
B++){this.copyClipboard.push(C[B].id)
}this.checkActions()
},hasClipboardSelection:function(){return((this.copyClipboard!=null)&&(this.copyClipboard.length>0))
},pasteFromClipboard:function(D){var E=CQ.wcm.SiteAdmin.getTargetFromTree();
for(var C=0;
C<this.copyClipboard.length;
C++){var F="cmd=copyPage&_charset_=utf-8&srcPath="+this.copyClipboard[C]+"&destParentPath="+E+"&before=";
if(D){F+="&shallow=true"
}var B=CQ.HTTP.post("/bin/wcmcommand?"+F)
}this.reloadCurrentTreeNode()
},performCopy:function(B,G,E,F,D){var H="cmd=copyPage&_charset_=utf-8&srcPath="+G.getPath()+"&destParentPath="+F.getPath();
if(F.childNodes[D]){H+="&before="+F.childNodes[D].getPath()
}else{H+="&before="
}var C=CQ.HTTP.post("/bin/wcmcommand?"+H);
return(C.headers.Status&&(C.headers.Status=="200"))?CQ.Ext.emptyFn:null
},performAfterCopy:function(C,G,E,F,D){var B=this;
window.setTimeout(function(){C.getLoader().load(E,function(){E.expand();
E.select()
});
CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
},10)
},performMoveOrReorder:function(P,D,L,N,I){var O=D.getPath().split("/");
var B=O[O.length-1];
var C=D.getPath();
var K=N.getPath();
var F="cmd=movePage&_charset_=utf-8&srcPath="+C+"&destPath="+K+"/"+B;
if(N.childNodes[I]){F+="&before="+N.childNodes[I].getPath()
}else{F+="&before="
}var E=CQ.HTTP.post("/bin/wcmcommand?"+F);
var M=this;
var J=function(){M.loadPath(N.getPath())
};
var G="500";
if(E.headers.Status){G=E.headers.Status
}if(G=="200"){return J
}else{if(G=="412"){var H={path:C,dstName:B,dstParentPath:K};
new CQ.wcm.HeavyMoveDialog(H).show()
}}return null
},performReorder:function(G,F){var H="cmd=movePage&_charset_=utf-8&srcPath="+G+"&destPath="+G+"&before="+F;
var D=CQ.HTTP.post("/bin/wcmcommand?"+H);
var B=this;
var E=function(){};
var C="500";
if(D.headers.Status){C=D.headers.Status
}if(C=="200"){return E
}return null
},getGridConfig:function(D){var E=this.initialConfig.gridConfig;
var B;
for(var C in E){B=E[C];
if(new RegExp(E[C].pathRegex).test(D)){break
}}return B
},reconfigureGrid:function(E,F){var C;
var B=this.getGridConfig(F);
if(!B){return E.getStore()
}if(!B.inited){B.store=new CQ.Ext.data.Store(B.storeConfig);
B.colModel=new CQ.Ext.grid.ColumnModel(B.colModelConfig);
B.colModel.defaultSortable=B.defaultSortable;
B.inited=true
}var D=B.storeProxyPrefix+F+B.storeProxySuffix;
D=CQ.HTTP.addParameter(D,"lrAdvancedStatus","true");
B.store.proxy.conn.url=D;
if(B.pathRegex!=this.lastGridPathRegex){E.reconfigure(B.store,B.colModel);
this.lastGridPathRegex=B.pathRegex
}return B.store
},loadPages:function(D,E){var C=CQ.Ext.getCmp(this.id+"-grid");
var B=this.reconfigureGrid(C,D.getPath());
B.reload({callback:function(F,G,I){if(E){for(var H=0;
H<F.length;
H++){if(F[H].id==E){C.getSelectionModel().clearSelections();
C.getSelectionModel().selectRecords([F[H]])
}}}}})
},loadPath:function(E,D){var C=this;
var F=function(I,G,H){if(I){this.treePath=G.getPath();
this.loadPages(G,H);
G.expand()
}};
var B=CQ.Ext.getCmp(this.id+"-tree");
B.getSelectionModel().clearSelections();
if(!E&&!this.treePath){this.treePath=B.getRootNode().getPath();
B.selectPath(B.getRootNode().id,"id",function(H,G){F.call(C,H,G,D)
})
}else{if(E){this.treePath=E
}if(this.treePath==B.getRootNode().getPath()){B.selectPath(B.getRootNode().id,"id",function(H,G){F.call(C,H,G,D)
})
}else{B.selectPath(this.treePath,"name",function(H,G){F.call(C,H,G,D)
})
}}},reloadCurrentTreeNode:function(){var B=CQ.Ext.getCmp(this.id+"-tree");
var C;
try{C=B.getSelectionModel().getSelectedNode()
}catch(D){}if(C&&C!=B.getRootNode()){var E=C.getPath();
C.parentNode.reload(function(){B.selectPath(E,null,function(G,F){if(G){F.expand()
}})
})
}else{B.getRootNode().reload()
}CQ.Ext.getCmp(this.id+"-grid").getStore().reload()
},getCurrentPath:function(){var B=CQ.Ext.getCmp(this.id+"-tree");
var C=B.getSelectionModel().getSelectedNode();
if(C!=null){return C.getPath()
}},getSelectedPages:function(){var B=CQ.Ext.getCmp(this.id+"-grid").getSelectionModel().getSelections();
if(B.length>0){return B
}else{if(this.treePath){return[{id:this.treePath}]
}else{return[]
}}},checkActions:function(){for(var B=0;
B<this.checkedActions.length;
B++){var C=this.checkedActions[B];
if((C instanceof CQ.PrivilegedAction)&&C.target){C.setPath(C.target.call(this),C.forceCheck)
}}},formatActions:function(I,D){var H=[];
var C=false;
for(var B in I){if(typeof (I[B])!="object"){continue
}if(I[B].xtype=="separator"){if(this.isToolbarAction(I[B])){H.push(I[B].value)
}if(this.isContextMenuAction(I[B])){D.push(I[B].value)
}}else{var E=this.formatActionConfig(I[B],D);
if(this.isToolbarAction(E)){var F=false;
if(E.isDefaultAction&&!H.hasDefaultAction){H.hasDefaultAction=F=true
}H.push(this.createAction(E,F))
}if(this.isContextMenuAction(E)){var G=false;
if(E.isDefaultAction&&!D.hasDefaultAction){D.hasDefaultAction=G=true
}D.push(this.createAction(E,G,true))
}}}return H
},formatActionConfig:function(config,gridContextActions){if(!config.scope){config.scope=this
}if(typeof (config.handler)=="string"){config.handler=eval(config.handler)
}if(config.menu){var menuItems=this.formatActions(config.menu,gridContextActions);
config.menu=new CQ.Ext.menu.Menu({items:menuItems})
}return config
},createAction:function(config,isDefault,inContextMenu){var admin=this;
var action=new CQ.PrivilegedAction(config);
if(config.split&&config.menu&&!this.isContextMenuAction(config)){action.xtype="tbsplit";
var defaultAction=config.menu.items.find(function(item){if(item.isDefaultAction===true){item.addClass("x-menu-item-default");
return true
}else{return false
}});
if(defaultAction){var showMenu=function(){if(!this.menu){return 
}if(!this.menu.isVisible()){this.showMenu()
}};
action.setIconClass(defaultAction.initialConfig.iconCls);
action.setHandler(function(){if(!defaultAction.disabled){defaultAction.initialConfig.handler.call(admin)
}else{if(!this.menu){return 
}if(!this.menu.isVisible()){this.showMenu()
}}})
}else{action.setHandler(showMenu)
}}if(inContextMenu){action.id+="-contextmenu"
}if(isDefault){action.isDefaultAction=true
}if(config.target){action.target=eval("("+config.target+")")
}if(config.forceCheck){action.forceCheck=config.forceCheck
}if(!config.menu){this.checkedActions.push(action)
}return action
},isToolbarAction:function(B){return !B.context||B.context.indexOf(CQ.wcm.SiteAdmin.CONTEXT_TOOLBAR)>=0
},isContextMenuAction:function(B){return B.context&&B.context.indexOf(CQ.wcm.SiteAdmin.CONTEXT_CONTEXTMENU)>=0
},tryFilter:function(C){if(this.attribFilter){for(var B in this.attribFilter){var D=this.attribFilter[B];
if(C[B]==D){return false
}}}return true
},treeFilter:function(B){if(CQ.Ext.isArray(B)){for(var E=0;
E<B.length;
){if(!this.tryFilter(B[E])){B.splice(E,1)
}else{var D=B[E].children;
if(D){var F=D.length;
var G=true;
for(var C=0;
C<F;
C++){if(this.tryFilter(D[C])){G=false;
break
}}if(G){B[E].leaf=true
}delete B[E].children
}E++
}}}return B
}});
CQ.Ext.reg("siteadmin",CQ.wcm.SiteAdmin);
CQ.wcm.SiteAdmin.formatDate=function(B){return B.format("d-M-Y H:i")
};
CQ.wcm.SiteAdmin.DD_GROUP="cq.siteadmin.tree";
CQ.wcm.SiteAdmin.COLUMNS={numberer:new CQ.Ext.grid.RowNumberer(),title:{header:CQ.I18n.getMessage("Title"),dataIndex:"title"},template:{header:CQ.I18n.getMessage("Template"),dataIndex:"templateTitle",hidden:true,renderer:function(C,D,B){return CQ.I18n.getMessage(C)
}},name:{header:CQ.I18n.getMessage("Name"),dataIndex:"label",editor:new CQ.Ext.form.TextField({allowBlank:false,vtype:"itemname"})},published:{header:CQ.I18n.getMessage("Published"),renderer:function(C,H,B){var D="";
var G="";
var F="";
var E=B.data.replication;
if(E&&E.published){G=CQ.wcm.SiteAdmin.formatDate(new Date(E.published));
G+=" ("+E.publishedBy+")";
if(E.numQueued>0){D="status-pending";
F=' title="';
if(E.action=="ACTIVATE"){F+=CQ.I18n.getMessage("Activation pending. #{0} in Queue.",E.numQueued)
}else{F+=CQ.I18n.getMessage("Deactivation pending. #{0} in Queue.",E.numQueued)
}F+='"'
}else{if(E.action=="ACTIVATE"){D="status-activated"
}else{D="status-deactivated"
}}}return"<div"+F+' class="status '+D+'">'+G+"</div>"
}},modified:{header:CQ.I18n.getMessage("Modified"),renderer:function(D,H,C){var F=C.data.replication;
var B=C.data.lastModified;
var G="";
var E="";
if(B>0){G=CQ.wcm.SiteAdmin.formatDate(new Date(C.data.lastModified));
G+=" ("+C.data.lastModifiedBy+")";
E="status-localmodified"
}if(F&&F.published){if(F.action=="ACTIVATE"){if(B>F.published){E="status-modified"
}}}return'<div class="status '+E+'">'+G+"</div>"
}},workflow:{header:CQ.I18n.getMessage("In Workflow"),dataIndex:"inWorkflow",renderer:function(C,D,B){return C?CQ.I18n.getMessage("Yes"):""
}},locked:{header:CQ.I18n.getMessage("Is Locked"),dataIndex:"lockedBy"},impressions:{header:CQ.I18n.getMessage("Impressions"),dataIndex:"monthlyHits",tooltip:CQ.I18n.getMessage("Page impressions last 30 days"),sortable:true,renderer:function(H,F,B,I,D,C){if(H>0){var G=H;
C.each(function(J){G=Math.max(G,J.get("monthlyHits"))
});
var E=Math.ceil(75*(H/G));
return'<div class="'+F.css+'monthly-hits" style="width:'+E+'px">'+H+"</div>"
}else{return'<div class="'+F.css+'no-hits">'+H+"</div>"
}}},liveCopyStatus:{header:CQ.I18n.getMessage("Live Copy"),renderer:function(D,E,B){var C=B.data[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP];
return CQ.wcm.msm.MSM.getRelationStatus(C)
}}};
CQ.wcm.SiteAdmin.CONTEXT_TOOLBAR="toolbar";
CQ.wcm.SiteAdmin.CONTEXT_CONTEXTMENU="contextmenu";
CQ.wcm.SiteAdmin.TreeLoader=CQ.Ext.extend(CQ.Ext.tree.TreeLoader,{filterFn:null,processResponse:function(response,node,callback){var json=response.responseText;
try{var o=eval("("+json+")");
if(this.filterFn){o=this.filterFn(o)
}node.beginUpdate();
for(var i=0,len=o.length;
i<len;
i++){var n=o[i];
if(n.children){delete n.children
}n=this.createNode(n);
if(n){node.appendChild(n)
}}node.endUpdate();
if(typeof callback=="function"){callback(this,node)
}}catch(e){this.handleFailure(response)
}}});
CQ.wcm.SiteAdmin.createPage=function(){var C=this.getCurrentPath();
var G=new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/templates",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"templates",id:"path"},["path","title","description","thumbnailPath","iconPath","ranking"]),baseParams:{_charset_:"utf-8",path:C},listeners:{load:function(){this.sort("ranking")
}}});
var F=new CQ.Ext.DataView({multiSelect:false,singleSelect:true,emptyText:CQ.I18n.getMessage("No template available"),store:G,overClass:"x-view-over",itemSelector:"div.template-item",tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="template-item">','<tpl if="thumbnailPath">','<img class="template-thumbnail" src="{thumbnailPath}">',"</tpl>",'<div class="template-title">{title}</div>','<div class="template-description">{description}</div>','<div style="clear:both"></div>',"</div>","</tpl>",'<div style="height:5px;overflow:hidden"></div>'),prepareData:function(H){H.ranking=H.ranking!=null?H.ranking:900000000;
return H
}});
var E=new CQ.Ext.form.Hidden({name:"template"});
F.refresh=function(){this.clearSelections(false,true);
this.el.update("");
var I=[];
var H=this.store.getRange();
if(H.length<1){if(!this.deferEmptyText||this.hasSkippedEmptyText){this.el.update(this.emptyText)
}this.hasSkippedEmptyText=true;
this.all.clear();
return 
}this.tpl.overwrite(this.el,this.collectData(H,0));
this.all.fill(CQ.Ext.query(this.itemSelector,this.el.dom));
this.updateIndexes(0);
this.select(0)
};
var B={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Create Page"),formUrl:"/bin/wcmcommand",params:{cmd:"createPage",_charset_:"utf-8"},height:520,items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",title:{fieldLabel:CQ.I18n.getMessage("Title"),allowBlank:false,name:"title"},label:{fieldLabel:CQ.I18n.getMessage("Name"),vtype:"itemname",name:"label"},template:{xtype:"panel",border:false,cls:"cq-template-view",autoScroll:true,width:"100%",autoHeight:false,height:350,items:[E,F],listeners:{render:{fn:function(){G.load()
}}}}}},okText:CQ.I18n.getMessage("Create")};
var D=CQ.WCM.getDialog(B);
D.on("beforesubmit",function(){if(F.getSelectedRecords()[0]&&F.getSelectedRecords()[0].data){E.setRawValue(F.getSelectedRecords()[0].data.path)
}});
D.addHidden({parentPath:C});
D.success=function(){var H=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
H.reloadCurrentTreeNode()
};
D.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not create page."))
};
D.show()
};
CQ.wcm.SiteAdmin.createSite=function(){var B=this;
var C=CQ.WCM.getDialog("","cq-siteadmin-csw",true);
if(!C){C=new CQ.wcm.CreateSiteWizard();
C.success=function(){B.reloadCurrentTreeNode()
};
CQ.WCM.registerDialog("cq-siteadmin-csw",C)
}C.loadContent({dstPath:this.getCurrentPath()});
C.show()
};
CQ.wcm.SiteAdmin.createLiveCopy=function(){var G=this.getCurrentPath();
var D=new CQ.Ext.form.Hidden({name:"destPath",value:G});
var J=new CQ.Ext.form.TextField({fieldLabel:CQ.I18n.getMessage("Title"),allowBlank:false,name:"title"});
var H=new CQ.Ext.form.TextField({fieldLabel:CQ.I18n.getMessage("Name"),name:"label",vtype:"itemname"});
var B=new CQ.form.BrowseField({fieldLabel:CQ.I18n.getMessage("Live Copy From"),name:"srcPath",rootPath:"/content"});
var C=CQ.wcm.msm.MSM.getSyncTriggerConfig();
var F=CQ.wcm.msm.MSM.getSyncActionsConfig(false);
try{C.setValue("rollout");
var E=F.getComponent(0);
E.setValue(true)
}catch(I){}var L={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Create Live Copy"),formUrl:"/bin/wcmcommand",params:{cmd:"createLiveCopy",_charset_:"utf-8"},height:500,items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",titleField:J,labelField:H,srcField:B,lcSyncTrigger:C,lcSyncActions:F,destPath:D}},okText:CQ.I18n.getMessage("Create")};
var K=CQ.WCM.getDialog(L);
K.success=function(){var M=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
M.reloadCurrentTreeNode()
};
K.show()
};
CQ.wcm.SiteAdmin.internalDeletePage=function(C){var D=this.getSelectedPages();
var L=CQ.Ext.getCmp(this.id+"-tree");
var H=CQ.Ext.getCmp(this.id+"-grid");
var K=[];
var B=[];
for(var G=0;
G<D.length;
G++){var I=D[G];
K.push(I.id);
var J=I.id.split("/");
var E=L.getRootNode();
for(var F=2;
F<J.length;
F++){E=E.findChild("name",J[F])
}B.push(E)
}CQ.Ext.Ajax.request({url:CQ.Util.externalize("/bin/wcmcommand"),method:"POST",callback:function(O,R,Q){var N=CQ.HTTP.buildPostResponseFromHTML(Q.responseText);
var M=N.headers[CQ.utils.HTTP.HEADER_STATUS];
if(M==200){for(var P=0;
P<D.length;
P++){H.getStore().remove(D[P])
}for(var P=0;
P<B.length;
P++){B[P].remove()
}}else{if(M==412){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Delete Page"),msg:"One or more selected pages are referenced. Click 'yes' to proceed deleting the pages, click 'no' to review the references or 'cancel' to cancel the operation.",buttons:CQ.Ext.Msg.YESNOCANCEL,icon:CQ.Ext.MessageBox.QUESTION,fn:function(S){if(S=="yes"){CQ.wcm.SiteAdmin.internalDeletePage.call(this,true)
}else{if(S=="no"){CQ.wcm.SiteAdmin.showReferences.call(this)
}}},scope:this})
}}},params:{path:K,_charset_:"utf-8",cmd:"deletePage",force:C},scope:this})
};
CQ.wcm.SiteAdmin.deletePage=function(){var C=this.getSelectedPages();
var E=CQ.I18n.getMessage("You are going to delete following pages: ")+"<br/>";
for(var B=0;
B<C.length;
B++){E+=C[B].id+"<br/>"
}E+="<br/>"+CQ.I18n.getMessage("Are you sure?");
var D=(C.length>1)?CQ.I18n.getMessage("Delete Pages?"):CQ.I18n.getMessage("Delete Page?");
CQ.Ext.Msg.show({title:D,msg:E,buttons:CQ.Ext.Msg.YESNO,icon:CQ.Ext.MessageBox.QUESTION,fn:function(F){if(F=="yes"){CQ.wcm.SiteAdmin.internalDeletePage.call(this,false)
}},scope:this})
};
CQ.wcm.SiteAdmin.openPage=function(path,type,newWindow){if(!/.*([fF]older|[fF]ile)/.test(type)){var url=CQ.Util.externalize("/bin/wcmcommand")+"?cmd=open";
url+="&_charset_=utf-8";
url+="&path="+encodeURIComponent(path);
if(CQ.Ext.isIE){var jsonUrl=CQ.HTTP.addParameter(url,"jsonMode",true);
var r=CQ.Util.eval(CQ.HTTP.get(jsonUrl));
url=r.Location
}if(newWindow){window.open(url)
}else{window.location.href=url
}}};
CQ.wcm.SiteAdmin.openPages=function(E,B){if(typeof E=="object"&&B){E=B.shiftKey
}var D=this.getSelectedPages();
for(var C=0;
C<D.length;
C++){CQ.wcm.SiteAdmin.openPage(D[C].id,D[C].get("type"),E);
E=true
}};
CQ.wcm.SiteAdmin.openFindReplaceDialog=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var C=CQ.wcm.SiteAdmin.getSingleTarget();
if(!C){return 
}var D=CQ.WCM.getDialog("/libs/wcm/content/tools/findreplacedialog");
D.success=function(){var E=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
E.reloadCurrentTreeNode()
};
D.loadContent(C);
D.show()
}};
CQ.wcm.SiteAdmin.openPropertiesDialog=function(F,E,B){if((E!=null)&&(E=="cq:Page")){var C;
if((B==null)||(B=="")){C="/libs/foundation/components/page/dialog.infinity.json"
}else{C=B+".infinity.json"
}var D=CQ.WCM.getDialog(C,"NEW");
D.loadContent(F+"/jcr:content");
D.success=function(){var G=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
G.reloadCurrentTreeNode()
};
D.show()
}else{if((E!=null)&&(E=="nt:file")){}}};
CQ.wcm.SiteAdmin.openProperties=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var D=B.getSelectedPages();
for(var C=0;
C<D.length;
C++){CQ.wcm.SiteAdmin.openPropertiesDialog(D[C].id,D[C].get("type"),D[C].get("dialogPath"))
}}};
CQ.wcm.SiteAdmin.copyPages=function(){this.copySelectionToClipboard()
};
CQ.wcm.SiteAdmin.pastePages=function(B,C){this.pasteFromClipboard(C.shiftKey)
};
CQ.wcm.SiteAdmin.movePage=function(){var E=this.getSelectedPages();
var B=this;
for(var D=0;
D<E.length;
D++){var F={path:E[D].id};
var C=new CQ.wcm.HeavyMoveDialog(F);
C.success=function(){B.loadPath()
};
C.show();
break
}};
CQ.wcm.SiteAdmin.showReferences=function(){var C=this.getSelectedPages();
var F=[];
for(var B=0;
B<C.length;
B++){F.push(C[B].id)
}var D={path:F};
var E=new CQ.wcm.ReferencesDialog(D);
E.on("pageopen",function(H,G){H.close();
CQ.wcm.SiteAdmin.openPage(G)
});
E.show()
};
CQ.wcm.SiteAdmin.activatePage=function(){var B=this;
var E=[];
var D=this.getSelectedPages();
for(var C=0;
C<D.length;
C++){E.push(D[C].id)
}CQ.HTTP.post("/bin/replicate.json",function(G,H,F){if(H){CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
}},{_charset_:"utf-8",path:E,cmd:"Activate"})
};
CQ.wcm.SiteAdmin.deactivatePage=function(){var C=this.getSelectedPages();
var E=CQ.I18n.getMessage("You are going to deactivate the following pages: ")+"<br/>";
for(var B=0;
B<C.length;
B++){E+=C[B].id+"<br/>"
}E+="<br/>"+CQ.I18n.getMessage("Are you sure?");
var D=(C.length>1)?CQ.I18n.getMessage("Delete Pages?"):CQ.I18n.getMessage("Delete Page?");
CQ.Ext.Msg.show({title:D,msg:E,buttons:CQ.Ext.Msg.YESNO,icon:CQ.Ext.MessageBox.QUESTION,fn:function(F){if(F=="yes"){CQ.wcm.SiteAdmin.internalDeactivatePage.call(this,false)
}},scope:this})
};
CQ.wcm.SiteAdmin.internalDeactivatePage=function(){var B=this;
var E=[];
var D=this.getSelectedPages();
for(var C=0;
C<D.length;
C++){E.push(D[C].id)
}CQ.HTTP.post("/bin/replicate.json",function(G,H,F){if(H){CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
}},{_charset_:"utf-8",path:E,cmd:"Deactivate"})
};
CQ.wcm.SiteAdmin.openRolloutDialog=function(E,D){var B=this;
var C=new CQ.wcm.msm.RolloutWizard({path:E,hideComponents:true});
C.show()
};
CQ.wcm.SiteAdmin.rolloutPage=function(){var B=this;
var D=this.getSelectedPages();
for(var C=0;
C<D.length;
++C){CQ.wcm.SiteAdmin.openRolloutDialog.call(B,D[C].id,D[C].get("type"))
}};
CQ.wcm.SiteAdmin.lockPage=function(){var B=this;
var E=[];
var D=this.getSelectedPages();
for(var C=0;
C<D.length;
C++){E.push(D[C].id)
}CQ.HTTP.post("/bin/wcmcommand",function(G,H,F){if(H){CQ.Ext.getCmp(this+"-grid").getStore().reload()
}},{_charset_:"utf-8",path:E,cmd:"lockPage"})
};
CQ.wcm.SiteAdmin.unlockPage=function(){var B=this;
var E=[];
var D=this.getSelectedPages();
for(var C=0;
C<D.length;
C++){E.push(D[C].id)
}CQ.HTTP.post("/bin/wcmcommand",function(G,H,F){if(H){CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
}},{_charset_:"utf-8",path:E,cmd:"unlockPage"},this)
};
CQ.wcm.SiteAdmin.startWorkflow=function(){var admin=this;
var startWorkflowDialog={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Start Workflow"),formUrl:"/etc/workflow/instances",params:{_charset_:"utf-8",payloadType:"JCR_PATH"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",model:{xtype:"combo",name:"model",hiddenName:"model",fieldLabel:CQ.I18n.getMessage("Workflow"),displayField:"label",valueField:"wid",title:CQ.I18n.getMessage("Available Workflows"),selectOnFocus:true,triggerAction:"all",allowBlank:false,editable:false,store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/workflow/content/console/workflows.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"workflows"},[{name:"wid"},{name:"label"}])})},title:{"jcr:primaryType":"cq:TextArea",fieldLabel:CQ.I18n.getMessage("Comment"),name:"startComment",height:200}}},okText:CQ.I18n.getMessage("Start")};
var dialog=CQ.WCM.getDialog(startWorkflowDialog);
var selections=this.getSelectedPages();
for(var i=0;
i<selections.length;
i++){var selection=selections[i];
var pagePath=selection.id;
var response=CQ.HTTP.get("/bin/workflow.json?isInWorkflow="+pagePath);
var isInWorkflow=false;
if(response){var data=CQ.Util.eval(response);
isInWorkflow=data.status
}if(!isInWorkflow){dialog.addHidden({payload:pagePath})
}else{CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("Page is already subject to a workflow!"));
return 
}}dialog.success=function(){CQ.Ext.getCmp(admin.id+"-grid").getStore().reload()
};
dialog.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not start workflow."))
};
dialog.show()
};
CQ.wcm.SiteAdmin.offlineExport=function(){var D=CQ.wcm.SiteAdmin.getTargetFromList();
if(D){var C={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Offline Export")+": "+D,formUrl:"/libs/wcm/offline/import?parent="+D,items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",type:{xtype:"textfield",fieldLabel:CQ.I18n.getMessage("Subpages"),name:"subpages"}}},buttons:{"jcr:primaryType":"cq:WidgetCollection",custom:{text:CQ.I18n.getMessage("Export"),handler:function(){var E=this.getField("subpages").getValue();
CQ.Util.reload(window,CQ.Util.externalize("/libs/wcm/offline/import?parent="+D+"&subpages="+E));
this.hide()
}},cancel:CQ.Dialog.CANCEL}};
var B=CQ.WCM.getDialog(C);
B.show()
}};
CQ.wcm.SiteAdmin.offlineImport=function(){var D=CQ.wcm.SiteAdmin.getTargetFromList();
if(D){var C={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Offline Import")+": "+D,formUrl:"/libs/wcm/offline/import?parent="+D,items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",document:{xtype:"htmlupload",fieldLabel:CQ.I18n.getMessage("Word Document"),fieldDescription:CQ.I18n.getMessage("Select Word Document to import"),name:"document"},template:{xtype:"combo",editable:false,allowBlank:false,selectOnFocus:true,triggerAction:"all",fieldLabel:CQ.I18n.getMessage("Template"),fieldDescription:CQ.I18n.getMessage("Choose Page Template which is chosen for the import"),valueField:"path",displayField:"title",name:"template",hiddenName:"template",store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/templates",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"templates",id:"path"},["path","title","description","thumbnailPath"]),baseParams:{_charset_:"utf-8"}}),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="template-item">','<tpl if="thumbnailPath">','<img class="template-thumbnail" src="{thumbnailPath}">',"</tpl>",'<div class="template-title">{title}</div>','<div class="template-description">{description}</div>','<div style="clear:both"></div>',"</div>","</tpl>"),itemSelector:"div.template-item"}}}};
var B=CQ.WCM.getDialog(C);
B.show()
}};
CQ.wcm.SiteAdmin.openLinkChecker=function(){CQ.Util.reload(window,CQ.Util.externalize("/etc/linkchecker.html"))
};
CQ.wcm.SiteAdmin.openLanguageCopy=function(){var B=this;
var C=new CQ.wcm.LanguageCopyDialog({path:this.getCurrentPath()});
C.success=function(){CQ.Ext.getCmp(B.id+"-tree").getSelectionModel().getSelectedNode().reload();
CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
};
C.show()
};
CQ.wcm.SiteAdmin.openBlueprintEditor=function(){var B=this;
var C={xtype:"dialog",height:660,width:810,items:{xtype:"tabpanel",items:[{xtype:"blueprinteditor",masterPath:this.getCurrentPath(),path:"/etc/msm/msm1"}]},buttons:[{text:CQ.I18n.getMessage("Ok"),handler:function(){}},CQ.Dialog.CANCEL]};
var D=CQ.WCM.getDialog(C);
D.success=function(){};
D.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not edit blueprint."))
};
D.show()
};
CQ.wcm.SiteAdmin.workflowAutoAssign=function(){var B={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Auto Assign Rule"),formUrl:"/bin/wcm/workflow/assign",failure:function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not create rule."))
},params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",template:{xtype:"combo",editable:false,allowBlank:false,selectOnFocus:true,triggerAction:"all",fieldLabel:CQ.I18n.getMessage("Template"),valueField:"path",displayField:"title",name:"add",hiddenName:"add",store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/templates",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"templates",id:"path"},["path","title","description","thumbnailPath"]),baseParams:{_charset_:"utf-8"}}),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="template-item">','<tpl if="thumbnailPath">','<img class="template-thumbnail" src="{thumbnailPath}">',"</tpl>",'<div class="template-title">{title}</div>','<div class="template-description">{description}</div>','<div style="clear:both"></div>',"</div>","</tpl>"),itemSelector:"div.template-item"},model:{xtype:"combo",fieldLabel:CQ.I18n.getMessage("Workflow"),displayField:"label",valueField:"wid",title:CQ.I18n.getMessage("Available Workflows"),selectOnFocus:true,triggerAction:"all",editable:false,allowBlank:false,name:"modelId",hiddenName:"modelId",store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/workflow/content/console/workflows.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"workflows"},[{name:"wid"},{name:"label"}])})},globbing:{xtype:"browsefield",content:"content",selectOnFocus:true,allowBlank:false,name:"globbing",fieldLabel:CQ.I18n.getMessage("Path"),treeRoot:{text:CQ.I18n.getMessage("Site")},treeLoader:{dataUrl:"/bin/tree/ext.json"}}}}};
var D={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Auto Assign Workflow"),params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:EditorGrid",id:"wfAutoAssignGrid",cm:new CQ.Ext.grid.ColumnModel([new CQ.Ext.grid.RowNumberer(),{header:CQ.I18n.getMessage("Globbing"),dataIndex:"globbing"},{header:CQ.I18n.getMessage("Workflow"),dataIndex:"workflowModelTitle"},{header:CQ.I18n.getMessage("Template"),dataIndex:"templateTitle"}]),tbar:[{id:"wfAutoAssignAdd",text:CQ.I18n.getMessage("Add"),handler:function(){var E=CQ.WCM.getDialog(B);
E.success=function(){CQ.Ext.getCmp("wfAutoAssignGrid").getStore().reload()
};
E.show()
}},{id:"wfAutoAssignDel",text:CQ.I18n.getMessage("Remove"),disabled:true,handler:function(){var E=CQ.Ext.getCmp("wfAutoAssignGrid");
var F=E.getSelectionModel().getSelected();
CQ.HTTP.post("/bin/wcm/workflow/assign",function(H,I,G){if(I){E.getStore().reload()
}},{"delete":F.id},this)
}}],store:new CQ.Ext.data.Store({autoLoad:true,proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/workflow/assign.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"rules",id:"rulePath",fields:["globbing","workflowModelTitle","workflowModelPath","templatePath","templateTitle","rulePath"]})}),viewConfig:new CQ.Ext.data.GroupingStore({forceFit:true,groupTextTpl:'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "'+CQ.I18n.getMessage("Rules")+'" : "'+CQ.I18n.getMessage("Rule")+'"]})'}),sm:new CQ.Ext.grid.RowSelectionModel({singleSelect:true,listeners:{selectionchange:function(F){var E=CQ.Ext.getCmp("wfAutoAssignGrid");
E.getTopToolbar().items.get(1).setDisabled(!F.hasSelection())
}}})},cancelText:CQ.I18n.getMessage("Close"),buttons:{"jcr:primaryType":"cq:WidgetCollection",cancel:CQ.Dialog.CANCEL}};
var C=CQ.WCM.getDialog(D);
C.show()
};
CQ.wcm.SiteAdmin.restoreVersion=function(){var B=this;
var C=CQ.WCM.getDialog("/libs/wcm/content/tools/restoreversiondialog","NEW");
C.loadContent(this.getCurrentPath(),true);
C.success=function(){CQ.Ext.getCmp(B.id+"-tree").getSelectionModel().getSelectedNode().reload();
CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
};
C.show()
};
CQ.wcm.SiteAdmin.restoreTree=function(){var B=this;
var C=CQ.WCM.getDialog("/libs/wcm/content/tools/restoretreedialog");
C.loadContent(this.getCurrentPath(),true);
C.success=function(){CQ.Ext.getCmp(B.id+"-tree").getSelectionModel().getSelectedNode().reload();
CQ.Ext.getCmp(B.id+"-grid").getStore().reload()
};
C.show()
};
CQ.wcm.SiteAdmin.createFolder=function(){var B=CQ.Ext.getCmp(this.id+"-tree");
var D;
try{D=B.getSelectionModel().getSelectedNode()
}catch(E){}if(!D){return 
}var F={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Create Folder"),params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",label:{fieldLabel:CQ.I18n.getMessage("Name"),fieldDescription:CQ.I18n.getMessage("Name of the new folder (eg. 'myfolder')"),vtype:"alphanum",name:"label",allowBlank:false}}},buttons:{"jcr:primaryType":"cq:WidgetCollection",custom:{text:CQ.I18n.getMessage("Create"),handler:function(){var G=this.getField("label").getValue();
var H={"./jcr:primaryType":"sling:OrderedFolder"};
CQ.HTTP.post(D.getPath()+"/"+G,function(J,L,I){if(L){if(D!=B.getRootNode()){var K=D.getPath();
D.parentNode.reload(function(){B.selectPath(K,null,function(N,M){if(N){M.expand()
}})
})
}else{B.getRootNode().reload()
}}},H);
H={"./jcr:primaryType":"nt:folder"};
CQ.HTTP.post(D.getPath().replace("/content/dam","/var/dam")+"/"+G,function(J,K,I){},H);
this.hide()
}},cancel:CQ.Dialog.CANCEL}};
var C=CQ.WCM.getDialog(F);
C.show()
};
CQ.wcm.SiteAdmin.uploadFiles=function(){var tree=CQ.Ext.getCmp(this.id+"-tree");
var selectedNode;
try{selectedNode=tree.getSelectionModel().getSelectedNode()
}catch(e){}if(!selectedNode){return 
}var path=selectedNode.getPath();
var displayPath=path;
var maxLength=40;
if(displayPath.length>maxLength){var i=path.indexOf("/",path.length-maxLength);
displayPath='<span qtip="'+path+'">...'+path.substring(i!=-1?i:path.lastIndexOf("/"))+"</span>"
}var ts=new Date().getTime();
var dialogConfig={xtype:"dialog",title:CQ.I18n.getMessage("Upload Asset"),formUrl:CQ.Util.externalize("/tmp"),fileUpload:true,height:190,width:400,items:{xtype:"panel",items:[{xtype:"static",html:"&nbsp;"},{xtype:"fileuploadfield",hideLabel:true,name:"./asset"+ts,fileNameParameter:":assetname",allowFileNameEditing:true,vtype:"name",listeners:{fileselected:function(field,value){field.setValue(CQ.Ext.form.VTypes.makeName(value))
}}},{xtype:"static",cls:"x-form-item-description",html:CQ.I18n.getMessage("Upload to")+": "+displayPath}]},listeners:{beforesubmit:function(dialog){var name=dialog.findByType("fileuploadfield")[0].getValue();
var parent=CQ.Util.eval(CQ.HTTP.get(path+".1.json"));
if(!parent[name]){return true
}CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Name Conflict"),CQ.I18n.getMessage("An older asset of the same name already exists in this location.")+"<br><br>"+CQ.I18n.getMessage("Click 'Yes' to replace it or 'No' to adjust the name."),function(btnId){if(btnId=="yes"){CQ.HTTP.post(path+"/"+name,null,{":operation":"delete"});
dialog.ok()
}});
return false
}}};
dialogConfig=CQ.WCM.getDialogConfig(dialogConfig);
var dialog=CQ.WCM.getDialog(dialogConfig);
dialog.failure=function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not upload files."))
};
dialog.success=function(){var f=dialog.findByType("fileuploadfield")[0];
var name=f.getValue();
var url=CQ.Util.externalize("/tmp/asset"+ts);
url=CQ.HTTP.addParameter(url,CQ.Sling.OPERATION,"move");
url=CQ.HTTP.addParameter(url,"_charset_","utf-8");
url=CQ.HTTP.addParameter(url,":dest",path.replace("/content/dam","/var/dam")+"/"+name);
CQ.HTTP.post(url);
if(selectedNode!=tree.getRootNode()){selectedNode.parentNode.reload(function(){tree.selectPath(path,null,function(success,node){if(success){node.expand()
}})
})
}else{tree.getRootNode().reload()
}};
dialog.show()
};
CQ.wcm.SiteAdmin.canDoFolderOp=function(){var info=CQ.Util.eval(CQ.HTTP.get(this.path+".json"));
if(info){var type=info["jcr:primaryType"];
if(type&&((type=="nt:folder")||(type=="sling:Folder")||(type=="nt:unstructured"))){return true
}}return false
};
CQ.wcm.SiteAdmin.noFolder=function(){return !CQ.wcm.SiteAdmin.canDoFolderOp.call(this)
};
CQ.wcm.SiteAdmin.hasAnySelection=function(){return CQ.wcm.SiteAdmin.hasListSelection()||CQ.wcm.SiteAdmin.hasTreeSelection()
};
CQ.wcm.SiteAdmin.hasSingleSelection=function(){if(CQ.wcm.SiteAdmin.hasListSelection()){return CQ.wcm.SiteAdmin.hasSingleListSelection()
}else{CQ.wcm.SiteAdmin.hasTreeSelection()
}};
CQ.wcm.SiteAdmin.hasListSelection=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var C=B.getSelectedPages();
return C.length>0
}};
CQ.wcm.SiteAdmin.hasSingleListSelection=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var C=B.getSelectedPages();
return C.length==1
}return false
};
CQ.wcm.SiteAdmin.hasTreeSelection=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id+"-tree");
if(B){var C=B.getSelectionModel().getSelectedNode();
return C!=null
}};
CQ.wcm.SiteAdmin.canPaste=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){return B.hasClipboardSelection()
}};
CQ.wcm.SiteAdmin.isAsset=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var D=B.getSelectedPages();
for(var C=0;
C<D.length;
C++){if(D[C].get("type")=="nt:file"){return true
}}return false
}};
CQ.wcm.SiteAdmin.isPage=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var D=B.getSelectedPages();
for(var C=0;
C<D.length;
C++){try{if(D[C].get("type")=="cq:Page"){return true
}}catch(E){}}return false
}};
CQ.wcm.SiteAdmin.isLiveCopySource=function(){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var D=B.getSelectedPages();
for(var C=0;
C<D.length;
C++){try{if(D[C].get(CQ.wcm.msm.MSM.PARAM_IS_SOURCE)){return true
}}catch(E){}}return false
}};
CQ.wcm.SiteAdmin.getAnyTarget=function(){return CQ.wcm.SiteAdmin.getTargetFromList()||CQ.wcm.SiteAdmin.getTargetFromTree()
};
CQ.wcm.SiteAdmin.getSingleTarget=function(){if(CQ.wcm.SiteAdmin.hasListSelection()){if(!CQ.wcm.SiteAdmin.hasSingleListSelection()){return null
}else{return CQ.wcm.SiteAdmin.getTargetFromList()
}}else{return CQ.wcm.SiteAdmin.getTargetFromTree()
}};
CQ.wcm.SiteAdmin.getTargetFromList=function(){if(CQ.wcm.SiteAdmin.hasListSelection()){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){var C=B.getSelectedPages();
return C[0].id
}}return null
};
CQ.wcm.SiteAdmin.getTargetFromTree=function(){if(CQ.wcm.SiteAdmin.hasTreeSelection()){var B=CQ.Ext.getCmp(window.CQ_SiteAdmin_id);
if(B){return B.getCurrentPath()
}}return null
};
CQ.wcm.SiteAdmin.scheduleForActivation=function(){var C={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Activate Later"),id:CQ.Util.createId("cq-activate-later-dialog"),params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",absTime:{xtype:"datetime",fieldLabel:CQ.I18n.getMessage("Activation Date"),name:"absTime",defaultValue:"now"}}},buttons:{"jcr:primaryType":"cq:WidgetCollection",custom:{text:CQ.I18n.getMessage("Ok"),cls:"cq-btn-create",handler:function(){var D=this.getField("absTime").getValue();
var E={model:"/etc/workflow/models/scheduled_activation",absoluteTime:D.getTime(),payload:CQ.wcm.SiteAdmin.getTargetFromList(),payloadType:"JCR_PATH"};
CQ.HTTP.post("/etc/workflow/instances",function(G,I,F){if(!I){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not schedule page for activation."))
}else{try{CQ.Ext.getCmp(this.id+"-tree").getSelectionModel().getSelectedNode().reload()
}catch(H){}}},E);
this.hide()
}},cancel:CQ.Dialog.CANCEL}};
var B=CQ.WCM.getDialog(C);
B.show()
};
CQ.wcm.DamAdmin={};
CQ.wcm.DamAdmin.createFolder=function(){var B=CQ.Ext.getCmp(this.id+"-tree");
var D;
try{D=B.getSelectionModel().getSelectedNode()
}catch(E){}if(!D){return 
}var F={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Create Folder"),params:{_charset_:"utf-8"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",label:{fieldLabel:CQ.I18n.getMessage("Name"),fieldDescription:CQ.I18n.getMessage("Label of the new folder (eg. 'myfolder')"),vtype:"alphanum",name:"label",allowBlank:false}}},buttons:{"jcr:primaryType":"cq:WidgetCollection",custom:{text:CQ.I18n.getMessage("Create"),handler:function(){var G=this.getField("label").getValue();
var H={"./jcr:primaryType":"sling:OrderedFolder"};
CQ.HTTP.post(D.getPath()+"/"+G,function(J,L,I){if(L){if(D!=B.getRootNode()){var K=D.getPath();
D.parentNode.reload(function(){B.selectPath(K,null,function(N,M){if(N){M.expand()
}})
})
}else{B.getRootNode().reload()
}}},H);
H={"./jcr:primaryType":"nt:folder"};
CQ.HTTP.post(D.getPath().replace("/content/dam","/var/dam")+"/"+G,function(J,K,I){},H);
this.hide()
}},cancel:CQ.Dialog.CANCEL}};
var C=CQ.WCM.getDialog(F);
C.show()
};
CQ.wcm.DamAdmin.uploadFiles=function(){if(CQ.endorsed.swfobject.getFlashPlayerVersion().major!=9){CQ.wcm.SiteAdmin.uploadFiles.call(this);
return 
}var J=CQ.Ext.getCmp(this.id+"-tree");
var H=this;
var C;
try{C=J.getSelectionModel().getSelectedNode()
}catch(D){}if(!C){return 
}var F={};
var I=C.getPath();
var E=new Date().getTime();
var G=new CQ.dam.SwfUploadPanel({width:500,height:300,path:I,damPath:I.replace("/content/dam","/var/dam"),upload_url:CQ.Util.externalize("/tmp"),post_params:{damPath:I.replace("/content/dam","/var/dam")},debug:false,flash_url:CQ.Util.externalize("/libs/dam/widgets/resources/swfupload/swfupload_f9.swf"),file_post_name:"./asset"+E,listeners:{allUploadsComplete:function(){window.setTimeout(function(){CQ.Ext.getCmp(H.id+"-grid").getStore().reload()
},1000)
}}});
var B={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Upload File to")+": "+C.getPath(),items:G,id:CQ.Util.createId("cq-uploaddialog"),cancelText:CQ.I18n.getMessage("Close"),buttons:[CQ.Dialog.CANCEL]};
F=CQ.WCM.getDialog(B);
F.show()
};
CQ.wcm.DamAdmin.canDoFolderOp=function(){return true
};
CQ.wcm.DamAdmin.openPages=function(){var D=this.getSelectedPages();
var B=CQ.Util.externalize("/bin/wcmcommand")+"?cmd=open";
B+="&_charset_=utf-8";
for(var C=0;
C<D.length;
C++){B=CQ.HTTP.addParameter(B,"path",D[C].id)
}window.open(B,"AssetEditorWindow")
};
CQ.wcm.DamAdmin.internalDeleteAsset=function(C){var D=this.getSelectedPages();
var L=CQ.Ext.getCmp(this.id+"-tree");
var H=CQ.Ext.getCmp(this.id+"-grid");
var K=[];
var B=[];
for(var G=0;
G<D.length;
G++){var I=D[G];
K.push(I.id);
var J=I.id.split("/");
var E=L.getRootNode();
for(var F=3;
F<J.length;
F++){E=E.findChild("name",J[F])
}B.push(E)
}CQ.Ext.Ajax.request({url:CQ.Util.externalize("/bin/wcmcommand"),method:"POST",callback:function(O,R,Q){var N=CQ.HTTP.buildPostResponseFromHTML(Q.responseText);
var M=N.headers[CQ.utils.HTTP.HEADER_STATUS];
if(M==200){for(var P=0;
P<D.length;
P++){H.getStore().remove(D[P])
}for(var P=0;
P<B.length;
P++){B[P].remove()
}}else{if(M==412){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Delete Asset"),msg:"One or more selected assets are referenced. Click 'yes' to proceed deleting the assets, click 'no' to review the references or 'cancel' to cancel the operation.",buttons:CQ.Ext.Msg.YESNOCANCEL,icon:CQ.Ext.MessageBox.QUESTION,fn:function(S){if(S=="yes"){CQ.wcm.SiteAdmin.internalDeletePage.call(this,true)
}else{if(S=="no"){CQ.wcm.SiteAdmin.showReferences.call(this)
}}},scope:this})
}}},params:{path:K,_charset_:"utf-8",cmd:"deletePage",force:C},scope:this})
};
CQ.wcm.DamAdmin.deleteAsset=function(){var C=this.getSelectedPages();
var E=CQ.I18n.getMessage("You are going to delete following assets: ")+"<br/>";
for(var B=0;
B<C.length;
B++){E+=C[B].id+"<br/>"
}E+="<br/>"+CQ.I18n.getMessage("Are you sure?");
var D=(C.length>1)?CQ.I18n.getMessage("Delete Assets?"):CQ.I18n.getMessage("Delete Asset?");
CQ.Ext.Msg.show({title:D,msg:E,buttons:CQ.Ext.Msg.YESNO,icon:CQ.Ext.MessageBox.QUESTION,fn:function(F){if(F=="yes"){CQ.wcm.DamAdmin.internalDeleteAsset.call(this,false)
}},scope:this})
};
CQ.wcm.EditBase={actions:null,editText:null,deleteText:null,insertText:null,copyText:null,pasteText:null,referenceText:null,params:{},dialog:null,element:null,path:null,insertBehavior:null,lastAction:null,dialogs:null,orderable:true,targetMode:null,componentPath:null,dropTarget:null,isDropTarget:null,componentDropTarget:null,elementDropTarget:null,subDropTargets:null,dragZoneClass:null,dropTargetClass:null,inlineEditing:null,isContained:null,containerClass:null,IEScriptInsert:"&nbsp;",getEditConfig:function(){return{text:this.editText,handler:function(){CQ.wcm.EditBase.showDialog(this,CQ.wcm.EditBase.EDIT)
},listeners:{render:function(C){var D=this;
var B=CQ.WCM.getSelection();
if(B.getCount()>1&&B.contains(D)){C.disable()
}CQ.WCM.onSelectionChange(function(){var E=CQ.WCM.getSelection();
if(E.getCount()>1&&E.contains(D)){C.disable()
}else{C.enable()
}})
}}}
},getDeleteConfig:function(){return{text:this.deleteText,handler:function(){this.removeParagraph()
}}
},getInsertConfig:function(){return{text:this.insertText,handler:function(B){CQ.wcm.EditBase.showDialog(this,CQ.wcm.EditBase.INSERT)
},listeners:{render:function(C){var D=this;
var B=CQ.WCM.getSelection();
if(B.getCount()>1&&B.contains(D)){C.disable()
}CQ.WCM.onSelectionChange(function(){if(CQ.WCM.getSelection().getCount()>1&&B.contains(D)){C.disable()
}else{C.enable()
}})
}}}
},getCopyMoveConfig:function(){return[{text:this.cutText,handler:function(){var B=CQ.WCM.getSelectedItems();
if(B.length==0){B.push(this)
}CQ.WCM.cut(B)
}},{text:this.copyText,handler:function(){var B=CQ.WCM.getSelectedItems();
if(B.length==0){B.push(this)
}CQ.WCM.copy(B)
}},this.getPasteConfig()]
},getPasteConfig:function(){return{text:this.pasteText,handler:function(){var B=CQ.WCM.paste();
while(B.length>0){var C=B.shift();
if(C.action!=CQ.WCM.ACTION_CUT){this.copyParagraph(C.path,C.resourceType)
}else{this.moveParagraph(C.path,C.resourceType)
}}},listeners:{render:function(C){var B=CQ.WCM.getClipboard();
if(!B.getCount()){C.disable()
}CQ.WCM.onClipboardChange(function(){if(!B.getCount()){C.disable()
}else{C.enable()
}})
}}}
},getEditDialog:function(){if(!this.dialogs[CQ.wcm.EditBase.EDIT]){if(this.dialog instanceof CQ.Dialog){this.dialogs[CQ.wcm.EditBase.EDIT]=this.dialog
}else{var B;
if(typeof this.dialog=="string"){B={url:this.dialog}
}else{B=this.dialog
}B.responseScope=this;
B.params=this.params;
B=CQ.WCM.getDialogConfig(B);
B=CQ.Util.applyDefaults(B,{title:CQ.I18n.getMessage("Edit Component")});
if(this.enableLiveRelationship){B=CQ.Util.applyDefaults(B,{editLockMode:true,editLock:!this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]})
}if(this.element&&this.element.getWidth()>this.getInlineConfig().size&&!CQ.wcm.EditBase.isInlineDialogChildOpened(this.path)){B=CQ.Util.applyDefaults({closable:false,collapsible:false,draggable:false,header:false,hideCollapseTool:true,maximizable:false,modal:false,plain:true,resizeHandles:"s",shadow:false,shadowOffset:0,title:null},B)
}this.dialogs[CQ.wcm.EditBase.EDIT]=CQ.WCM.getDialog(B,"editdialog-"+this.path)
}}this.lastAction=CQ.wcm.EditBase.ACTION_EDIT;
return this.dialogs[CQ.wcm.EditBase.EDIT]
},getInlineConfig:function(){var C=true;
var B=CQ.themes.wcm.EditBase.INLINE_MINIMUM_WIDTH;
if(this.inlineEditing){if(typeof this.inlineEditing=="string"){if(isNaN(this.inlineEditing)){if(this.inlineEditing==CQ.wcm.EditBase.INLINE_MODE_NEVER){C=false;
B=Number.MAX_VALUE
}else{if(this.inlineEditing==CQ.wcm.EditBase.INLINE_MODE_FORCED){C=true;
B=0
}}}else{C=true;
B=parseInt(this.inlineEditing)
}}else{if(typeof this.inlineEditing=="number"){C=true;
B=this.inlineEditing
}}}return{active:C,size:B}
},getInsertDialog:function(){if(!this.dialogs[CQ.wcm.EditBase.INSERT]){var D=this;
var B=new CQ.Ext.Panel({border:false,autoScroll:true,layout:"accordion",cls:"cq-sidekick-buttons"});
var C={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Insert New Component"),items:B,width:CQ.themes.wcm.EditBase.INSERT_DIALOG_WIDTH,buttons:CQ.Dialog.CANCEL};
this.dialogs[CQ.wcm.EditBase.INSERT]=CQ.WCM.getDialog(C,"insertdialog-"+this.path);
CQ.WCM.loadComponentList(B,this.getParentPath(),this)
}this.lastAction=CQ.wcm.EditBase.ACTION_INSERT;
return this.dialogs[CQ.wcm.EditBase.INSERT]
},selectInsertComponent:function(D){this.dialogs[CQ.wcm.EditBase.INSERT].hide();
var I=this.path;
var B=CQ.wcm.EditBase.INSERT_LAST;
var F;
if(I.charAt(I.length-1)!="*"){F=I.substring(I.lastIndexOf("/")+1);
I=I.substring(0,I.lastIndexOf("/")+1)+"*"
}else{I=I.substring(0,I.length-1)
}if(this.insertBehavior){B=this.insertBehavior
}else{if(F){B=CQ.wcm.EditBase.INSERT_BEFORE
}}if(F&&(B==CQ.wcm.EditBase.INSERT_BEFORE||B==CQ.wcm.EditBase.INSERT_AFTER)){B+=" "+F
}var H=CQ.WCM.getDialogConfig(D.get("dialog"));
H.title=CQ.I18n.getMessage("Edit Component");
var E=D.get("config");
if(E&&E.params){H.params=CQ.Util.copyObject(E.params)
}if(!H.params){H.params={}
}if(!H.params["./sling:resourceType"]){H.params["./sling:resourceType"]=D.get("resourceType")
}var C=H.params["./sling:resourceType"];
if(C){H.params[":nameHint"]=C.substring(C.lastIndexOf("/")+1)
}if(B){H.params[CQ.Sling.ORDER]=B
}var G=CQ.WCM.getDialog(H,"editdialog-"+B+C+I);
G.loadContent(I);
G.responseScope=this;
G.show()
},processComponentList:function(C,B,D){},getParent:function(C){if(!C){C=this.initialConfig
}var B;
if(C.path.lastIndexOf("/")!=-1){B=C.path.substring(0,C.path.lastIndexOf("/"))
}if(B){return CQ.WCM.getEditable(B)
}else{return null
}},getParentPath:function(){var B;
if(this.path&&this.path.lastIndexOf("/")!=-1){B=this.path.substring(0,this.path.lastIndexOf("/"))
}return B
},getResourceType:function(){if(this.initialConfig&&this.initialConfig.params&&this.initialConfig.params["./sling:resourceType"]){return this.initialConfig.params["./sling:resourceType"]
}else{return""
}},inheritConfig:function(B,C){if(!C){C=this.getParent(B)
}if(!C||!C.childConfig){return B
}return CQ.Ext.applyIf(B,C.childConfig)
},listenersChecker:function(config){if(config&&config.listeners){for(var event in config.listeners){var listener=config.listeners[event];
if(listener&&typeof listener=="string"){delete config.listeners[event];
if(this.REFRESH_SHORTCUTS[listener]){config.listeners[event]=this.REFRESH_SHORTCUTS[listener]
}else{try{config.listeners[event]=eval(listener)
}catch(err){}}}}}return config
},getDropTargets:function(){var B=[];
try{for(var C=0;
C<this.subDropTargets.length;
C++){B.push(this.subDropTargets[C])
}}catch(D){}if(this.elementDropTarget){B.push(this.elementDropTarget)
}if(this.componentDropTarget&&this.componentDropTarget!=this.elementDropTarget){B.push(this.componentDropTarget)
}return B
},insertBefore:function(C){if(this.isContained){var B=this.element.parent();
B.insertBefore(C)
}else{if(this.placeholder){this.placeholder.insertBefore(C)
}this.element.insertBefore(C)
}},refresh:function(F){if(this.deleted){if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}var E=this;
this.element.hide({callback:function(){if(E.isContained){E.element.parent().remove()
}if(E.remove){E.remove()
}}});
CQ.Util.runComponentObservation();
return 
}if(!F){F=this.path+CQ.HTTP.EXTENSION_HTML
}F=CQ.HTTP.noCaching(F);
if(this.hideHighLight){CQ.wcm.EditRollover.preventNextHighLight=true;
this.hideHighLight()
}var D=CQ.HTTP.get(F);
if(D){var C=D.responseText;
this.removeSubDropTargets();
this.element.update(C);
this.buildSubDropTargets();
this.element.show();
if(this.refreshComponent){this.refreshComponent()
}var B=this.element.dom.getElementsByTagName("img");
for(var G=0;
G<B.length;
G++){B[G].src=CQ.HTTP.noCaching(B[G].src)
}if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}CQ.DOM.executeScripts(this.element);
CQ.Util.runComponentObservation()
}},failure:function(C,B){if(B.failureType=="client"){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Unknown Error"))
}else{CQ.Ext.Msg.alert(B.response.status,B.response.responseText)
}},success:function(G,B){if(this.lastAction==CQ.wcm.EditBase.ACTION_INSERT){var F=G.findField("./sling:resourceType").getValue();
var C=B.result.Path;
if(F&&C){var E=CQ.WCM.getComponentConfig(F);
if(C&&E){var D=C+".html";
this.listenersChecker(E.config);
if(E.config&&E.config.listeners&&E.config.listeners[CQ.wcm.EditBase.EVENT_AFTER_INSERT]){E.config.listeners[CQ.wcm.EditBase.EVENT_AFTER_INSERT].call(this,C,E)
}else{this.refreshCreated(C,E)
}}else{this.refreshPage()
}}else{this.refreshPage()
}}else{this.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_EDIT)
}},initI18n:function(B){this.editText=B.editText?B.editText:CQ.I18n.getMessage("Edit");
this.deleteText=B.deleteText?B.deleteText:CQ.I18n.getMessage("Delete");
this.insertText=B.insertText?B.insertText:CQ.I18n.getMessage("New...");
this.cutText=B.copyText?B.copyText:CQ.I18n.getMessage("Cut");
this.copyText=B.copyText?B.copyText:CQ.I18n.getMessage("Copy");
this.pasteText=B.pasteText?B.pasteText:CQ.I18n.getMessage("Paste");
this.referenceText=B.referenceText?B.referenceText:CQ.I18n.getMessage("Refer")
},applyConfigDefaults:function(config,defaults){config=CQ.Util.applyDefaults(config,defaults);
var container=config[config.container];
var ctrlDef=config[config.ctrlDef];
if(config.actions){var finalActionArray=[];
if(typeof config.actions=="string"){config.actions=[config.actions]
}container.items=[];
for(var i=0;
i<config.actions.length;
i++){var anActionConfig=config.actions[i];
var actionArray=[];
if(anActionConfig instanceof Array||CQ.Ext.isArray(anActionConfig)){actionArray=anActionConfig
}else{actionArray=[anActionConfig]
}for(var j=0;
j<actionArray.length;
j++){var currentAction=actionArray[j];
finalActionArray.push(currentAction);
if(typeof currentAction=="string"){if(currentAction==CQ.wcm.EditBase.EDIT){var editButton=this.getEditConfig();
editButton=CQ.Util.applyDefaults(editButton,ctrlDef);
container.items.push(editButton)
}else{if(currentAction==CQ.wcm.EditBase.DELETE){var deleteButton=this.getDeleteConfig();
deleteButton=CQ.Util.applyDefaults(deleteButton,ctrlDef);
container.items.push(deleteButton)
}else{if(currentAction==CQ.wcm.EditBase.INSERT){var insertButton=this.getInsertConfig();
insertButton=CQ.Util.applyDefaults(insertButton,ctrlDef);
container.items.push(insertButton);
if(config.actions.indexOf(CQ.wcm.EditBase.COPYMOVE)==-1){var pasteButton=this.getPasteConfig();
pasteButton=CQ.Util.applyDefaults(pasteButton,ctrlDef);
container.items.push(pasteButton)
}}else{if(currentAction==CQ.wcm.EditBase.COPYMOVE){var cfg=this.getCopyMoveConfig();
container.items.push(CQ.Util.applyDefaults(cfg[0],ctrlDef));
container.items.push(CQ.Util.applyDefaults(cfg[1],ctrlDef));
container.items.push(CQ.Util.applyDefaults(cfg[2],ctrlDef))
}else{if(this.convertAction){var converted=this.convertAction(currentAction);
if(converted&&converted!=""){container.items.push(converted)
}}else{container.items.push(currentAction)
}}}}}}else{var button=this.convertAction(currentAction);
if(button!=null){if(typeof button=="string"&&button!=""){container.items.push(button)
}else{if(typeof (button.handler)=="string"){try{button.handler=eval(button.handler);
button=CQ.Util.applyDefaults(button,ctrlDef);
container.items.push(button)
}catch(err){}}else{button=CQ.Util.applyDefaults(button,ctrlDef);
button=CQ.Util.applyDefaults(button,ctrlDef);
container.items.push(button)
}}}}}}delete config.actions;
config.actions=finalActionArray
}config.items=CQ.Util.applyDefaults(config.items,[container])
},showTarget:function(B){if(this.targetMode&&this.targetMode==CQ.wcm.EditBase.TARGET_MODE_LINE){this.showTargetLine()
}else{this.showTargetGhost(B)
}},showTargetGhost:function(C){var G=this.element.getWidth();
var B=CQ.themes.wcm.EditBase.TARGETGHOST_HEIGHT;
if(C&&C.element){if(C.savedElementHeight&&C.savedElementWidth){B=C.savedElementHeight
}}if(B<1){B=CQ.themes.wcm.EditBase.TARGETGHOST_HEIGHT
}else{if(B>CQ.themes.wcm.EditBase.TARGETGHOST_MAXHEIGHT){B=CQ.themes.wcm.EditBase.TARGETGHOST_MAXHEIGHT
}}var F="<div></div>";
var E=CQ.DOM.getBlockDefaultStyles();
var D=CQ.Util.applyDefaults({height:B+(2*CQ.themes.wcm.EditBase.TARGETGHOST_PADDING)+"px",width:G+"px"},E);
if(D.bottom){delete D.bottom
}if(!CQ.wcm.EditBase.TargetGhost.placeholder){if(this.isContained){CQ.wcm.EditBase.TargetGhost.placeholder=CQ.Ext.DomHelper.insertBefore(this.placeholder.parent(),F,true)
}else{CQ.wcm.EditBase.TargetGhost.placeholder=CQ.Ext.DomHelper.insertBefore(this.placeholder,F,true)
}CQ.wcm.EditBase.TargetGhost.placeholder.setVisibilityMode(CQ.Ext.Element.DISPLAY)
}else{if(this.isContained){CQ.wcm.EditBase.TargetGhost.placeholder.insertBefore(this.placeholder.parent())
}else{CQ.wcm.EditBase.TargetGhost.placeholder.insertBefore(this.placeholder)
}}CQ.wcm.EditBase.TargetGhost.placeholder.setStyle(D);
CQ.wcm.EditBase.TargetGhost.placeholder.addClass(["cq-editcomponent-placeholder","cq-editcomponent-ghost-placeholder"]);
CQ.wcm.EditBase.TargetGhost.placeholder.show();
CQ.wcm.EditBase.TargetGhost.render(CQ.Util.ROOT_ID);
CQ.wcm.EditBase.TargetGhost.el.setStyle("position","absolute");
CQ.wcm.EditBase.TargetGhost.el.anchorTo(CQ.wcm.EditBase.TargetGhost.placeholder,"topleft",[0,CQ.themes.wcm.EditBase.TARGETGHOST_PADDING],false,null);
CQ.wcm.EditBase.TargetGhost.observe=function(){if(!this.hidden&&!CQ.Util.isEqualPosition(this.el.getXY(),this.placeholder.getXY(),CQ.themes.wcm.EditBase.TARGETGHOST_PADDING+1)){this.el.alignTo(this.placeholder,"tl-tl",[0,CQ.themes.wcm.EditBase.TARGETGHOST_PADDING])
}};
CQ.Util.observeComponent(CQ.wcm.EditBase.TargetGhost);
CQ.wcm.EditBase.TargetGhost.setWidth(G);
CQ.wcm.EditBase.TargetGhost.setHeight(B);
CQ.wcm.EditBase.TargetGhost.show();
CQ.Util.runComponentObservation()
},showTargetLine:function(){var C=0,B=0,D=0;
if(this.element&&this.element.isVisible()){C=this.element.getWidth();
B=this.element.getLeft();
D=this.element.getTop()
}if(this.placeholder){D=this.placeholder.getTop()
}D-=CQ.themes.wcm.EditBase.TARGETLINE_DISTANCE;
CQ.wcm.EditBase.TargetLine.setWidth(C);
CQ.wcm.EditBase.TargetLine.setPosition(B,D);
CQ.wcm.EditBase.TargetLine.render(CQ.Util.ROOT_ID);
CQ.wcm.EditBase.TargetLine.show()
},hideTarget:function(){if(this.targetMode&&this.targetMode==CQ.wcm.EditBase.TARGET_MODE_LINE){this.hideTargetLine()
}else{this.hideTargetGhost()
}},hideTargetLine:function(){CQ.wcm.EditBase.TargetLine.hide()
},hideTargetGhost:function(){CQ.wcm.EditBase.TargetGhost.hide();
if(CQ.wcm.EditBase.TargetGhost.placeholder){CQ.wcm.EditBase.TargetGhost.placeholder.hide()
}CQ.Util.cancelObservation(CQ.wcm.EditBase.TargetGhost);
CQ.Util.runComponentObservation()
},isActionInsertOnly:function(){return(this.actions.length==1&&this.actions[0]==CQ.wcm.EditBase.INSERT)
},isActionInsert:function(){return(this.actions&&this.actions.indexOf(CQ.wcm.EditBase.INSERT)!=-1)
},isActionEdit:function(){return(this.actions&&this.actions.indexOf(CQ.wcm.EditBase.EDIT)!=-1)
},isActionDelete:function(){return(this.actions&&this.actions.indexOf(CQ.wcm.EditBase.DELETE)!=-1)
},isActionCopyMove:function(){return(this.actions&&this.actions.indexOf(CQ.wcm.EditBase.COPYMOVE)!=-1)
},isSameParent:function(B){if(B&&B.getParentPath){return(this.getParentPath()==B.getParentPath())
}return false
},equals:function(B){if(B){return(this.path==B.path)
}return false
},isInsertAllowed:function(C){if(this.isActionInsert()){var B=this.getParentPath();
if(B){return CQ.WCM.isInComponentList(B,C)
}}return false
},buildSubDropTargets:function(){if(this.dropTarget){this.subDropTargets=new Array();
var H=0;
for(;
H<this.dropTarget.length;
H++){var B=this.dropTarget[H].id;
var F=this.dropTarget[H].accept;
var I=this.dropTarget[H].params;
if(F&&!CQ.Ext.isArray(F)){var C=new RegExp("[ ;]+","g");
F=F.split(C)
}var D=this.dropTarget[H].groups;
if(D){var E;
if(!CQ.Ext.isArray(D)){E=new Array();
E[0]=D
}else{E=D
}B=this.searchDropTargetInCSSClass(B);
if(B!=null){if(this.elementDropTarget){if(this.elementDropTarget.groups){for(var J in this.elementDropTarget.groups){if(E.indexOf(J)==-1){E.push(J)
}}}}if(E.length>0){this.subDropTargets[H]=this.dropTargetClass.getInstance(B,this,E,{propertyName:this.dropTarget[H].name});
if(F){this.subDropTargets[H].ddAccept=F
}if(I){this.subDropTargets[H].postParams=I
}}}else{if(this.elementDropTarget){var G=0;
for(;
G<E.length;
G++){this.elementDropTarget.addToGroup(E[G]);
this.componentDropTarget.addToGroup(E[G])
}if(!this.elementDropTarget.propertyName){this.elementDropTarget.propertyName=this.dropTarget[H].name
}if(!this.componentDropTarget.propertyName){this.componentDropTarget.propertyName=this.dropTarget[H].name
}if(F){this.elementDropTarget.ddAccept=F
}if(I){this.elementDropTarget.postParams=I
}}}}}}},searchDropTargetInCSSClass:function(C){if(this.element&&this.element.dom){var B=CQ.Ext.DomQuery.selectNode('*[class*="cq-dd-'+C+'"]',this.element.dom);
if(B){if(B.id){return B.id
}else{return CQ.Ext.id(B)
}}}return null
},resumeDropTargets:function(){if(this.componentDropTarget){this.componentDropTarget.unlock()
}if(this.elementDropTarget&&this.elementDropTarget!==this.componentDropTarget){this.elementDropTarget.unlock()
}this.resumeSubDropTargets()
},suspendDropTargets:function(){if(this.componentDropTarget){this.componentDropTarget.lock()
}if(this.elementDropTarget&&this.elementDropTarget!==this.componentDropTarget){this.elementDropTarget.lock()
}this.suspendSubDropTargets()
},resumeSubDropTargets:function(){if(this.subDropTargets){var B=0;
for(;
B<this.subDropTargets.length;
B++){this.subDropTargets[B].unlock()
}}},suspendSubDropTargets:function(){if(this.subDropTargets){var B=0;
for(;
B<this.subDropTargets.length;
B++){this.subDropTargets[B].lock()
}}},removeDropTargets:function(){if(this.componentDropTarget){this.componentDropTarget.lock();
CQ.Ext.destroy(this.componentDropTarget);
delete this.componentDropTarget
}if(this.elementDropTarget&&this.elementDropTarget!==this.componentDropTarget){this.elementDropTarget.lock();
CQ.Ext.destroy(this.elementDropTarget);
CQ.Ext.destroy(this.componentDropTarget);
delete this.elementDropTarget;
delete this.componentDropTarget
}this.removeSubDropTargets()
},removeSubDropTargets:function(){if(this.subDropTargets){var B=0;
for(;
B<this.subDropTargets.length;
B++){this.subDropTargets[B].lock();
CQ.Ext.destroy(this.subDropTargets[B]);
this.subDropTargets.remove(B)
}}},getThumbnailPath:function(){if(this.componentPath){return this.componentPath+".png"
}else{var C=null;
if(this.dialog){if(typeof this.dialog=="string"){C=this.dialog
}else{C=this.dialog.url
}if(C){var B=C.lastIndexOf("/");
if(B!=-1){C=C.substring(0,C.lastIndexOf("/")+1)+"thumbnail.png"
}}}return C
}},getIconPath:function(){var C=null;
if(this.dialog){if(typeof this.dialog=="string"){C=this.dialog
}else{C=this.dialog.url
}if(C){var B=C.lastIndexOf("/");
if(B!=-1){C=C.substring(0,C.lastIndexOf("/")+1)+"icon.png"
}}}return C
},handleLiveRelationship:function(B){if(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP]!=null&&this.liveStatus==null){if(!this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]&&(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]||this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED])){this.enableLiveRelationship=true;
this.liveStatusContainerMode=(B===true);
this.liveStatusLocked=!this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED];
this.on(CQ.wcm.EditBase.EVENT_AFTER_MOVE,function(){var C=this.getParent();
if(C){if(C.liveStatusLocked){C.doSwitchLock()
}}},this)
}}},switchLock:function(C){var D,B;
if(this.liveStatusLocked){D=CQ.I18n.getMessage("Cancel inheritance");
B=CQ.I18n.getMessage("Do you really want to cancel the live copy inheritance?")
}else{D=CQ.I18n.getMessage("Restore inheritance");
B=CQ.I18n.getMessage("Do you really want to restore the live copy inheritance?")
}CQ.Ext.Msg.confirm(D,B,function(E){if(E=="yes"){this.doSwitchLock(C)
}},this);
if(C&&C.setEditLock){C.setEditLock(this.liveStatusLocked)
}},doSwitchLock:function(B){var C={};
C[CQ.wcm.msm.MSM.PARAM_STATUS+"/"+CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]=this.liveStatusLocked;
C.containerMode=this.liveStatusContainerMode;
var D=CQ.utils.HTTP.post(this.path+".msm.conf",null,C,this);
if(CQ.utils.HTTP.isOk(D)){this.liveStatusLocked=!this.liveStatusLocked;
if(this.liveStatusLocked){this.refreshPage()
}else{if(this.handleLiveStatus){this.handleLiveStatus();
if(B&&B.setEditLock){B.setEditLock(this.liveStatusLocked)
}}}}},constructorStart:function(B){this.actions=[];
this.dialogs={};
this.initRefreshShortcuts();
this.initI18n(B);
this.params=B.params;
this.inheritConfig(B);
this.listenersChecker(B)
},constructorEnd:function(C){var B=this.getParentPath();
if(B){CQ.WCM.getComponentList(B)
}}};
CQ.wcm.EditBase.INSERT_BEFORE="before";
CQ.wcm.EditBase.INSERT_AFTER="after";
CQ.wcm.EditBase.INSERT_LAST="";
CQ.wcm.EditBase.ACTION_EDIT="EDIT";
CQ.wcm.EditBase.ACTION_INSERT="INSERT";
CQ.wcm.EditBase.EDIT="EDIT";
CQ.wcm.EditBase.DELETE="DELETE";
CQ.wcm.EditBase.INSERT="INSERT";
CQ.wcm.EditBase.COPYMOVE="COPYMOVE";
CQ.wcm.EditBase.EDITDELETE=[CQ.wcm.EditBase.EDIT,CQ.wcm.EditBase.DELETE];
CQ.wcm.EditBase.EDITCOPYMOVEDELETEINSERT=[CQ.wcm.EditBase.EDIT,"-",CQ.wcm.EditBase.COPYMOVE,CQ.wcm.EditBase.DELETE,"-",CQ.wcm.EditBase.INSERT];
CQ.wcm.EditBase.EDITCOPYMOVEINSERT=[CQ.wcm.EditBase.EDIT,"-",CQ.wcm.EditBase.COPYMOVE,"-","-",CQ.wcm.EditBase.INSERT];
CQ.wcm.EditBase.EDITDELETEINSERT=[CQ.wcm.EditBase.EDIT,"-",CQ.wcm.EditBase.DELETE,CQ.wcm.EditBase.INSERT];
CQ.wcm.EditBase.EVENT_AFTER_INSERT="afterinsert";
CQ.wcm.EditBase.EVENT_AFTER_MOVE="aftermove";
CQ.wcm.EditBase.EVENT_AFTER_COPY="aftercopy";
CQ.wcm.EditBase.EVENT_AFTER_EDIT="afteredit";
CQ.wcm.EditBase.EVENT_AFTER_DELETE="afterdelete";
CQ.wcm.EditBase.EVENT_AFTER_CHILD_INSERT="afterchildinsert";
CQ.wcm.EditBase.EVENT_RENDER="render";
CQ.wcm.EditBase.EVENTS_LIST=[CQ.wcm.EditBase.EVENT_AFTER_INSERT,CQ.wcm.EditBase.EVENT_AFTER_COPY,CQ.wcm.EditBase.EVENT_AFTER_DELETE,CQ.wcm.EditBase.EVENT_AFTER_EDIT,CQ.wcm.EditBase.EVENT_AFTER_MOVE,CQ.wcm.EditBase.EVENT_RENDER,CQ.wcm.EditBase.EVENT_AFTER_CHILD_INSERT];
CQ.wcm.EditBase.INLINE_MODE_AUTO="auto";
CQ.wcm.EditBase.INLINE_MODE_NEVER="never";
CQ.wcm.EditBase.INLINE_MODE_FORCED="forced";
CQ.wcm.EditBase.REFERENCE_COMPONENT="foundation/components/reference";
CQ.wcm.EditBase.REFERENCE_COMPONENT_PATH_PROPERTY="./path";
CQ.wcm.EditBase.showDialog=function(G,E){if(!G){return 
}CQ.WCM.deselect();
var D;
if(E&&E==CQ.wcm.EditBase.INSERT){D=G.getInsertDialog();
D.processInit()
}else{D=G.getEditDialog();
D.loadContent(G.path);
D.on("hide",function(H){this.resumeDropTargets()
},G);
if(G.enableLiveRelationship){var C=function(){G.switchLock(D)
};
D.on("editLocked",C);
D.on("editUnlocked",C);
D.on("beforeshow",function(){D.editLock=this.liveStatusLocked
},G)
}if(D.hidden&&G.element&&G.element.getWidth()>G.getInlineConfig().size&&!CQ.wcm.EditBase.isInlineDialogChildOpened(G.path)){var B=G.getInlinePlaceholder();
if(B){var F=G.getInlinePlaceholderInitialHeight();
G.hideElement(true);
D.setWidth(B.getWidth());
D.anchorTo(B,"tl",[0,F],true,"actionMethod");
D.on("resize",function(J,I,H){this.getInlinePlaceholder().setHeight(H+this.getInlinePlaceholderInitialHeight()+CQ.themes.wcm.EditBase.INLINE_BOTTOM_PADDING)
},G);
D.on("hide",function(H){H.removeAnchorToAction("actionMethod");
CQ.Util.cancelObservation(H);
CQ.wcm.EditBase.unRegisterInlineDialog(H);
this.showElement();
this.refreshComponent();
if(this.enableDrag){this.enableDrag()
}},G);
D.anchoredTo=G;
CQ.Util.observeComponent(D);
B.setHeight(D.getFrameHeight()+D.getInnerHeight()+B.getHeight()+CQ.themes.wcm.EditBase.INLINE_BOTTOM_PADDING);
if(G.disableDrag){G.disableDrag()
}CQ.wcm.EditBase.registerInlineDialog(D)
}}}D.show();
G.suspendDropTargets()
};
CQ.wcm.EditBase.buildTargetGhost=function(){return new CQ.Ext.Container({xtype:"box",autoEl:"div",cls:"cq-editcomponent-ghost"})
};
CQ.wcm.EditBase.buildTargetLine=function(){var D=new CQ.Ext.Container({xtype:"box",autoEl:"div",cls:"cq-editcomponent-targetline"});
var B=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editcomponent-targetline-left"});
var C=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editcomponent-targetline-right"});
D.add(B);
D.add(C);
return D
};
CQ.wcm.EditBase.TargetLine=CQ.wcm.EditBase.buildTargetLine();
CQ.wcm.EditBase.TargetGhost=CQ.wcm.EditBase.buildTargetGhost();
CQ.wcm.EditBase.TARGET_MODE_LINE="line";
CQ.wcm.EditBase.TARGET_MODE_GHOST="ghost";
CQ.wcm.EditBase.openedInlineDialog=[];
CQ.wcm.EditBase.registerInlineDialog=function(B){if(CQ.wcm.EditBase.openedInlineDialog.indexOf(B)==-1){CQ.wcm.EditBase.openedInlineDialog.push(B)
}};
CQ.wcm.EditBase.unRegisterInlineDialog=function(B){CQ.wcm.EditBase.openedInlineDialog.remove(B)
};
CQ.wcm.EditBase.isInlineDialogChildOpened=function(D){var B=0;
for(;
B<CQ.wcm.EditBase.openedInlineDialog.length;
B++){var C=CQ.wcm.EditBase.openedInlineDialog[B].path;
if(C&&C.substring(0,D.length)==D){return true
}}return false
};
CQ.wcm.EditBase.LiveStatus=CQ.Ext.extend(CQ.Ext.Component,{frameLeft:null,frameRight:null,frameBottom:null,frameTop:null,containerMode:false,constructor:function(B){CQ.wcm.EditBase.LiveStatus.superclass.constructor.call(this);
if(B){this.containerMode=true
}this.frameLeft=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-livestatus-left"});
this.frameRight=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-livestatus-right"});
this.frameBottom=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-livestatus-bottom"});
this.frameTop=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-livestatus-top"})
},showFrames:function(E,J){if(!this.frameLeft.rendered){this.frameLeft.render(CQ.Util.ROOT_ID)
}if(!this.frameRight.rendered){this.frameRight.render(CQ.Util.ROOT_ID)
}if(!this.frameBottom.rendered){this.frameBottom.render(CQ.Util.ROOT_ID)
}if(!this.frameTop.rendered){this.frameTop.render(CQ.Util.ROOT_ID)
}if(E){var G=E.element;
var I=1;
var C=2;
var F=10;
var B=G.getWidth();
var K=G.getHeight();
var D=G.getLeft();
var H=G.getTop();
if(this.containerMode){C+=4;
B+=14;
F=2
}this.frameTop.setWidth(B+2*I+2*C);
this.frameTop.setHeight(I);
this.frameTop.setPosition(D-I-C,H-I-C);
this.frameBottom.setWidth(B+2*I+2*C);
this.frameBottom.setHeight(I);
this.frameBottom.setPosition(D-I-C,H+K+C);
this.frameLeft.setWidth(I);
this.frameLeft.setHeight(K+2*C);
this.frameLeft.setPosition(D-I-C,H-C);
this.frameRight.setWidth(I);
this.frameRight.setHeight(K+2*C);
this.frameRight.setPosition(D+B-F-C-I-6,H-C);
if(J){this.displayLock()
}else{this.displayUnLock()
}this.frameLeft.show();
this.frameRight.show();
this.frameBottom.show();
this.frameTop.show()
}},lockCls:"cq-editrollover-livestatus-lock",lockRightCls:"cq-editrollover-livestatus-right-lock",unlockCls:"cq-editrollover-livestatus-unlock",unlockRightCls:"cq-editrollover-livestatus-right-unlock",displayLock:function(){this.frameRight.removeClass(this.unlockRightCls);
this.frameLeft.removeClass(this.unlockCls);
this.frameBottom.removeClass(this.unlockCls);
this.frameTop.removeClass(this.unlockCls);
this.frameRight.addClass(this.lockRightCls);
this.frameLeft.addClass(this.lockCls);
this.frameBottom.addClass(this.lockCls);
this.frameTop.addClass(this.lockCls)
},displayUnLock:function(){this.frameRight.removeClass(this.lockRightCls);
this.frameLeft.removeClass(this.lockCls);
this.frameBottom.removeClass(this.lockCls);
this.frameTop.removeClass(this.lockCls);
this.frameLeft.addClass(this.unlockCls);
this.frameRight.addClass(this.unlockRightCls);
this.frameBottom.addClass(this.unlockCls);
this.frameTop.addClass(this.unlockCls)
},hideFrames:function(){this.frameLeft.hide();
this.frameRight.hide();
this.frameBottom.hide();
this.frameTop.hide()
},addClass:function(B){this.frameLeft.addClass(B);
this.frameRight.addClass(B);
this.frameBottom.addClass(B);
this.frameTop.addClass(B)
},removeClass:function(B){this.frameLeft.removeClass(B);
this.frameRight.removeClass(B);
this.frameBottom.removeClass(B);
this.frameTop.removeClass(B)
},on:function(B,D,C){this.frameLeft.on(B,D,C);
this.frameRight.on(B,D,C);
this.frameBottom.on(B,D,C);
this.frameTop.on(B,D,C)
},un:function(B,D,C){this.frameLeft.un(B,D,C);
this.frameRight.un(B,D,C);
this.frameBottom.un(B,D,C);
this.frameTop.un(B,D,C)
},destroy:function(){CQ.Ext.destroy(this.frameLeft);
CQ.Ext.destroy(this.frameRight);
CQ.Ext.destroy(this.frameBottom);
CQ.Ext.destroy(this.frameTop);
delete this.frameLeft;
delete this.frameRight;
delete this.frameBottom;
delete this.frameTop;
CQ.wcm.EditBase.LiveStatus.superclass.destroy.call(this)
}});
CQ.wcm.EditBase.DD_GROUP_COMPONENT="editcomponent";
CQ.wcm.EditBase.DD_GROUP_ASSET="media";
CQ.wcm.EditBase.DD_GROUP_PAGE="page";
CQ.wcm.EditBase.DD_GROUP_PARAGRAPH="paragraph";
CQ.wcm.EditBase.DD_GROUP_DEFAULT="default";
CQ.wcm.EditBase.DragZone=CQ.Ext.extend(CQ.Ext.dd.DragZone,{editComponent:null,isDropCancelled:false,currentDropTarget:null,constructor:function(C,B){B=B||{};
var D=document.createElement("div");
CQ.Ext.apply(B,{ddel:D});
if(B.editComponent){this.editComponent=B.editComponent;
this.editComponent.on("destroy",function(){this.destroy()
},this)
}CQ.wcm.EditBase.DragZone.superclass.constructor.call(this,C,B)
},getDragData:function(F){CQ.wcm.EditBase.DragZone.superclass.getDragData.call(this,F);
var E=this.editComponent.getEl();
if(this.editComponent.element){E=this.editComponent.element
}var D=E.getWidth();
var B=E.getHeight();
var C=this.editComponent.getThumbnailPath();
if(C){this.ddel.innerHTML="<img src='"+C+"'>"
}else{this.ddel.className="cq-editcomponent-dragzone-proxy";
this.ddel.style.width=D+"px";
this.ddel.style.height=B+"px"
}return{ddel:this.ddel,item:this.editComponent}
},handleOnESC:function(B){if(B.getKey()==B.ESC){this.showEditComponent();
this.isDropCancelled=true;
this.unregisterESCKeyPress();
this.proxy.repair(this.getRepairXY(B,this.dragData),this.afterRepair,this);
if(this.currentDropTarget&&this.currentDropTarget.editComponent){this.currentDropTarget.editComponent.hideTarget()
}}},registerESCKeyPress:function(){if(CQ.Ext.isIE){CQ.Ext.EventManager.on(window.document,"keypress",this.handleOnESC,this)
}else{CQ.Ext.EventManager.on(window.document,"keypress",this.handleOnESC,this);
CQ.Ext.EventManager.on(window.top.document,"keypress",this.handleOnESC,this)
}},unregisterESCKeyPress:function(){if(CQ.Ext.isIE){CQ.Ext.EventManager.un(window.document,"keypress",this.handleOnESC,this)
}else{CQ.Ext.EventManager.un(window.document,"keypress",this.handleOnESC,this);
CQ.Ext.EventManager.un(window.top.document,"keypress",this.handleOnESC,this)
}},onInitDrag:function(B,C){CQ.wcm.EditBase.DragZone.superclass.onInitDrag.call(this,B,C);
this.isDropCancelled=false;
this.currentDropTarget=null;
this.registerESCKeyPress();
this.hideEditComponent()
},getRepairXY:function(C,B){if(!this.isDropCancelled){this.showEditComponent();
if(this.editComponent&&this.editComponent.element){return this.editComponent.element.getXY()
}else{return B.item.getXY()
}}return null
},notifyDropDT:function(E,D,C){var B=false;
this.currentDropTarget=null;
if(!this.isDropCancelled&&this.isDropAllowed(E)){this.unregisterESCKeyPress();
if(this.editComponent){if(D.ctrlKey){B=E.editComponent.copyParagraph(this.editComponent.path,this.editComponent.getResourceType())
}else{B=E.editComponent.moveParagraph(this.editComponent.path,this.editComponent.getResourceType())
}this.showEditComponent()
}}E.editComponent.hideTarget();
return B
},showEditComponent:function(){if(this.editComponent){this.editComponent.showElement();
this.editComponent.show()
}},hideEditComponent:function(){if(this.editComponent){this.editComponent.hide();
this.editComponent.hideElement();
this.DDM.refreshCache(this.groups)
}},notifyEnterDT:function(D,C,B){if(this.isDropAllowed(D)){this.currentDropTarget=D;
D.editComponent.showTarget(this.editComponent)
}return""
},notifyOutDT:function(D,C,B){if(this.isDropAllowed(D)){this.currentDropTarget=null
}D.editComponent.hideTarget();
return""
},notifyOverDT:function(D,C,B){if(this.isDropAllowed(D)){this.currentDropTarget=D;
D.editComponent.showTarget(this.editComponent);
return this.dropAllowed
}else{this.currentDropTarget=null;
D.editComponent.hideTarget();
return this.dropNotAllowed
}},isDropAllowed:function(B){return(!this.isDropCancelled&&CQ.Util.isIntersecting(this.groups,B.groups)&&B.editComponent&&this.editComponent&&!this.editComponent.equals(B.editComponent)&&B.editComponent.isInsertAllowed(this.editComponent.getResourceType()))
},clearGroups:function(){this.groups={}
},addToGroups:function(B){if(B instanceof Array){for(var C=0;
C<B.length;
C++){this.addToGroup(B[C])
}}else{for(var C in B){this.addToGroup(B[C])
}}}});
CQ.wcm.EditBase.DragZone.getInstance=function(E,F,C){var B=new CQ.wcm.EditBase.DragZone(E,{editComponent:F});
if(C){var D=0;
for(;
D<C.length;
D++){B.addToGroup(C[D])
}B.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT)
}return B
};
CQ.wcm.EditBase.DropTarget=CQ.Ext.extend(CQ.Ext.dd.DropTarget,{constructor:function(C,B){B=B||{};
if(B.editComponent){this.editComponent=B.editComponent;
this.editComponent.on("destroy",function(){this.destroy()
},this)
}CQ.wcm.EditBase.DropTarget.superclass.constructor.call(this,C,B);
this.highlight=new CQ.Highlight({element:this.el,cls:"cq-editbase-droptarget-highlight"})
},notifyDrop:function(B,E,D){var C;
if(B.notifyDropDT){C=B.notifyDropDT(this,E,D)
}else{C=CQ.wcm.EditBase.DropTarget.superclass.notifyDrop.call(this,B,E,D)
}E.stopEvent();
return C
},notifyEnter:function(B,D,C){if(B.notifyEnterDT){return B.notifyEnterDT(this,D,C)
}else{return CQ.wcm.EditBase.DropTarget.superclass.notifyEnter.call(this,B,D,C)
}},notifyOut:function(B,D,C){if(B.notifyOutDT){return B.notifyOutDT(this,D,C)
}else{return CQ.wcm.EditBase.DropTarget.superclass.notifyOut.call(this,B,D,C)
}},notifyOver:function(B,D,C){if(B.notifyOverDT){return B.notifyOverDT(this,D,C)
}else{return CQ.wcm.EditBase.DropTarget.superclass.notifyOver.call(this,B,D,C)
}},showHighlight:function(){this.highlight.showFrame()
},hideHighlight:function(){this.highlight.hideFrame()
},flash:function(){this.highlight.flash()
},normalize:function(){this.el.stopFx();
this.el.fxQueue=[]
}});
CQ.wcm.EditBase.DropTarget.getInstance=function(E,G,B,C){C=C||{};
if(G){C.editComponent=G
}var F=new CQ.wcm.EditBase.DropTarget(E,C);
if(B){var D=0;
for(;
D<B.length;
D++){F.addToGroup(B[D])
}F.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT)
}return F
};
CQ.wcm.EditBase.referenceParagraph=function(D){try{if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}var B=CQ.WCM.getComponentConfig(CQ.wcm.EditBase.REFERENCE_COMPONENT);
var E={};
E[CQ.wcm.EditBase.REFERENCE_COMPONENT_PATH_PROPERTY]=D;
return this.createParagraph(B,E)
}catch(C){CQ.Ext.Msg.alert("",C)
}return false
};
CQ.wcm.EditBase.copyParagraph=function(E,C){if(this.isInsertAllowed(C)){try{if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}var B=CQ.WCM.getComponentConfig(C);
var F={};
F["./"+CQ.Sling.COPY_SUFFIX]=E;
return this.createParagraph(B,F)
}catch(D){CQ.Ext.Msg.alert("",D)
}}return false
};
CQ.wcm.EditBase.moveParagraph=function(K,B){if(this.isInsertAllowed(B)){try{if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}var C=CQ.WCM.getComponentConfig(B);
var D=CQ.WCM.getEditable(K);
var G=false;
var E={};
var G=D!=null;
var J=G&&(D.getParent()==this.getParent());
if(G&&J){var F=this.path.substring(this.path.lastIndexOf("/")+1);
if(F=="*"){E[CQ.Sling.ORDER]="last"
}else{E[CQ.Sling.ORDER]="before "+F
}var H=CQ.utils.HTTP.post(K,null,E,this);
if(CQ.utils.HTTP.isOk(H)){D.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_MOVE,this.path);
return true
}}else{E["./"+CQ.Sling.MOVE_SUFFIX]=K;
if(this.createParagraph(C,E,G)){if(G){D.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_MOVE,this.path);
return true
}}}}catch(I){CQ.Ext.Msg.alert("",I)
}}return false
};
CQ.wcm.EditBase.createParagraph=function(F,L,I){if(F&&F.resourceType&&this.isInsertAllowed(F.resourceType)){var H={};
if(F.config&&F.config.params){for(var C in F.config.params){H[C]=F.config.params[C]
}}H._charset_="utf-8";
H["./sling:resourceType"]=F.resourceType;
H["./jcr:lastModified"]="";
H["./jcr:lastModifiedBy"]="";
var G=H["./sling:resourceType"];
if(G){H[":nameHint"]=G.substring(G.lastIndexOf("/")+1)
}if(L){for(var C in L){H[C]=L[C]
}}var J=this.path.substring(this.path.lastIndexOf("/")+1);
var B=this.getParentPath()+"/";
if(J=="*"){H[CQ.utils.Sling.ORDER]="last"
}else{H[CQ.utils.Sling.ORDER]="before "+J
}var K=CQ.utils.HTTP.post(B,null,H,this);
if(CQ.utils.HTTP.isOk(K)&&K.headers){var D=K.headers.Path;
if(H["./"+CQ.Sling.COPY_SUFFIX]){var E=CQ.WCM.getEditable(H["./"+CQ.Sling.COPY_SUFFIX]);
if(!E||E.enableLiveRelationship){var M={};
M.removeLCMarkers="true";
CQ.utils.HTTP.post(D+".msm.conf",null,M,this)
}}if(D&&!I){this.listenersChecker(F.config);
if(F.config&&F.config.listeners&&F.config.listeners[CQ.wcm.EditBase.EVENT_AFTER_INSERT]){F.config.listeners[CQ.wcm.EditBase.EVENT_AFTER_INSERT].call(this,D,F)
}else{this.refreshCreated(D,F)
}var N=this.getParent();
if(N){N.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_CHILD_INSERT)
}}if(this.hideHighLight){CQ.wcm.EditRollover.preventNextHighLight=true
}return true
}}return false
};
CQ.wcm.EditBase.updateParagraph=function(F,K,H){var D={_charset_:"utf-8"};
if(F.indexOf("$")>=0){if(!CQ.Ext.isArray(K)){K=[K]
}for(var I=0;
I<K.length;
I++){var J=K[I];
var E=F.replace("$",I+1);
D[E]=J;
var G=E.lastIndexOf("/");
if(G!=-1){D[E.substring(0,G)+"/jcr:lastModified"]="";
D[E.substring(0,G)+"/jcr:lastModifiedBy"]=""
}}}else{D[F]=K;
var G=F.lastIndexOf("/");
if(G!=-1){D[F.substring(0,G)+"/jcr:lastModified"]="";
D[F.substring(0,G)+"/jcr:lastModifiedBy"]=""
}}if(H){for(var B in H){D[B]=H[B]
}}D["./jcr:lastModified"]="";
D["./jcr:lastModifiedBy"]="";
var C=this;
CQ.HTTP.post(this.path,function(M,N,L){if(N){C.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_EDIT)
}},D);
return true
};
CQ.wcm.EditBase.removeParagraph=function(){if(!CQ.WCM.getSelection().contains(this)){CQ.WCM.deselect()
}var B=CQ.WCM.getSelectedItems();
if(B.length==0&&this){B.push(this)
}if(B.length>0){var F=false;
var D=false;
for(var C=0;
C<B.length;
C++){if(B[C].enableLiveRelationship&&B[C].liveStatusLocked){F=true;
D=true;
break
}}var E=CQ.I18n.getMessage("Do you really want to delete the selected component(s)?");
if(F){E=CQ.I18n.getMessage("Do you really want to cancel inheritance and delete the selected component(s)?")
}CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Delete Component(s)"),E,function(H){if(H=="yes"){for(var G=0;
G<B.length;
G++){CQ.wcm.EditBase.doRemoveParagraph(B[G])
}if(D){this.refreshPage()
}}},this)
}};
CQ.wcm.EditBase.doRemoveParagraph=function(D){CQ.WCM.deselect(D);
var C=D.path;
C=CQ.HTTP.addParameter(C,CQ.Sling.STATUS,CQ.Sling.STATUS_BROWSER);
if(D.enableLiveRelationship){C=CQ.HTTP.addParameter(C,"./sling:resourceType","wcm/msm/components/ghost");
C=CQ.HTTP.addParameter(C,"./jcr:mixinTypes",CQ.wcm.msm.MSM.MIXIN_LIVE_RELATIONSHIP);
C=CQ.HTTP.addParameter(C,"./jcr:mixinTypes",CQ.wcm.msm.MSM.MIXIN_LIVE_SYNC_CANCELLED);
var B=CQ.HTTP.post(C);
if(CQ.utils.HTTP.isOk(B)){D.deleted=true;
D.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_DELETE)
}}else{C=CQ.HTTP.addParameter(C,CQ.Sling.OPERATION,CQ.Sling.OPERATION_DELETE);
B=CQ.HTTP.post(C);
if(CQ.utils.HTTP.isOk(B)){D.deleted=true;
D.fireEvent(CQ.wcm.EditBase.EVENT_AFTER_DELETE)
}}};
CQ.wcm.EditBase.refreshCreated=function(P,F){if(P&&F&&F.resourceType){var B=CQ.Util.externalize(P+".html");
var I=CQ.HTTP.get(B);
if(I){if(this.hideHighLight){this.hideHighLight()
}if(CQ.wcm.EditRollover.currentlyHighLighted){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight()
}CQ.WCM.deselect();
if(!F.config){F.config={}
}var D=I.responseText;
var Q="";
if(F.divAttributes){if(F.divAttributes["class"]){F.divAttributes["class"]="section "+F.divAttributes["class"]
}else{F.divAttributes["class"]="section"
}}else{F.divAttributes={};
F.divAttributes["class"]="section"
}var L="";
if(CQ.Ext.isIE&&D.toLowerCase().indexOf("<script")!=-1){L=this.IEScriptInsert
}if(F.config.isContained===true){var O=(F.containerClass?F.containerClass:"section");
Q=L+"<div class='"+O+"' style='display: none'><div"
}else{Q=L+"<div style='display: none'"
}if(F.divAttributes){for(var M in F.divAttributes){Q+=" "+M+'="'+F.divAttributes[M]+'"'
}}Q+=">";
D=Q+D+"</div>";
if(F.config.isContained===false){D+="</div>"
}var H=this.placeholder?this.placeholder:this.element;
var K;
if(this.isContained){var G=CQ.Ext.DomHelper.insertBefore(H.parent(),D);
if(F.config.isContained===false){K=G.firstChild
}else{K=G
}}else{K=CQ.Ext.DomHelper.insertBefore(H,D)
}var C={path:P,type:F.resourceType,dialog:F.dialog,editConfig:CQ.Util.copyObject(F.config),element:K};
var E=CQ.WCM.edit(C);
E.showElement();
E.show();
if(CQ.Ext.isIE){CQ.DOM.executeScripts(E.element)
}var N=E.element.dom.getElementsByTagName("img");
for(var J=0;
J<N.length;
J++){N[J].src=CQ.HTTP.noCaching(N[J].src)
}CQ.Util.runComponentObservation()
}}};
CQ.wcm.EditBase.refreshSelf=function(){this.refresh()
};
CQ.wcm.EditBase.refreshSelfMoved=function(D){var C=CQ.WCM.getEditable(D);
var B=C.placeholder?C.placeholder:C.element;
if(C.isContained){this.insertBefore(B.parent())
}else{this.insertBefore(B)
}CQ.Util.runComponentObservation()
};
CQ.wcm.EditBase.refreshParent=function(){try{var B=this.getParent();
if(B){this.getParent().refresh();
return 
}}catch(C){}CQ.wcm.EditBase.refreshPage()
};
CQ.wcm.EditBase.refreshPage=function(){CQ.Util.reload(CQ.WCM.getContentWindow())
};
CQ.wcm.EditBase.initRefreshShortcuts=function(){this.REFRESH_SHORTCUTS={REFRESH_PAGE:function(){this.refreshPage()
},REFRESH_SELF:function(){this.refreshSelf()
},REFRESH_PARENT:function(){this.refreshParent()
},REFRESH_SELFMOVED:function(B){this.refreshSelfMoved(B)
},REFRESH_INSERTED:function(C,B){this.refreshCreated(C,B)
}}
};
CQ.wcm.EditBar=CQ.Ext.extend(CQ.Ext.Panel,{placeholder:null,selectBox:null,constructor:function(B){this.dragZoneClass=CQ.wcm.EditBase.DragZone;
this.dropTargetClass=CQ.wcm.EditBase.DropTarget;
this.constructorStart(B);
var C=this;
this.selectBox=new CQ.Ext.form.Checkbox({listeners:{check:function(D,E){if(E){CQ.WCM.select(C,true)
}else{CQ.WCM.deselect(C,true)
}}}});
this.applyConfigDefaults(B,{renderTo:CQ.Util.ROOT_ID,element:null,path:"",actions:CQ.wcm.EditBase.EDIT,childConfig:{actions:CQ.wcm.EditBase.EDITCOPYMOVEDELETEINSERT},container:"toolbar",ctrlDef:"button",toolbar:{xtype:"toolbar"},button:{xtype:"button",scope:this},orderable:true,listeners:{afteredit:this.refreshSelf,afterdelete:this.refreshSelf,afterinsert:this.refreshCreated,aftermove:this.refreshSelfMoved,aftercopy:this.refreshSelf},stateful:false,inlineEditing:CQ.wcm.EditBase.INLINE_MODE_AUTO,targetMode:CQ.wcm.EditBase.TARGET_MODE_GHOST,isDropTarget:true,isContained:false,containerClass:"section",hideMode:"display"});
if(CQ.WCM.isEditMode()){B.toolbar.items.push("->");
B.toolbar.items.push(this.selectBox);
B.toolbar.items.push("&nbsp;")
}CQ.wcm.EditBar.superclass.constructor.call(this,B);
if(B.element){this.buildPlaceholderAndElement(B.element)
}this.constructorEnd(B)
},initComponent:function(){CQ.wcm.EditBar.superclass.initComponent.call(this);
this.addEvents(CQ.wcm.EditBase.EVENT_AFTER_EDIT,CQ.wcm.EditBase.EVENT_AFTER_DELETE,CQ.wcm.EditBase.EVENT_AFTER_INSERT);
this.on("render",function(){if(this.isActionInsertOnly()){this.orderable=false
}if(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP]!=null){if(this.isActionEdit()||this.isActionDelete()){this.handleLiveRelationship()
}}if(this.isActionInsertOnly()){var C=this.getParent();
if(C&&C.handleLiveRelationship){C.handleLiveRelationship(true)
}}if(this.orderable){this.dd=this.dragZoneClass.getInstance(this.el,this,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}var B=CQ.WCM.getSelection();
B.on("clear",this.handleSelectionClear,this)
})
},handleSelectionClear:function(){this.selectBox.setValue(false)
},buildPlaceholderAndElement:function(F){if(F){this.element=CQ.Ext.get(F)
}this.element.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.getEl().setVisibilityMode(CQ.Ext.Element.DISPLAY);
if(this.isContained){this.element.parent().setVisibilityMode(CQ.Ext.Element.DISPLAY)
}if(this.placeholder){this.placeholder.remove()
}if(!this.hidden&&!this.disabled){this.element.linkedEditComponent=this;
var E=this.element.getWidth();
if(E==0){if(this.isContained){if(this.element.parent()){if(this.element.parent().parent()){E=this.element.parent().parent().getWidth()
}else{E=this.element.parent().getWidth()
}}}else{if(this.element.parent()){E=this.element.parent().getWidth()
}}}var D="<div></div>";
var C=CQ.DOM.getBlockDefaultStyles();
this.placeholder=CQ.Ext.DomHelper.insertBefore(this.element,D,true);
var B=CQ.Util.applyDefaults({height:this.el.getHeight()+"px",width:E+"px"},C);
this.placeholder.setStyle(B);
this.placeholder.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.placeholder.addClass(["cq-editcomponent-placeholder","cq-editbar-placeholder"]);
this.initialPlaceholderHeight=this.el.getHeight();
CQ.Util.observeComponent(this);
this.el.setStyle("position","absolute");
this.el.anchorTo(this.placeholder,"topleft",null,false,null);
this.el.setStyle("width",E+"px");
if(this.isDropTarget===true&&this.isActionInsert()){this.componentDropTarget=this.dropTargetClass.getInstance(this.placeholder,this,[CQ.wcm.EditBase.DD_GROUP_COMPONENT]);
this.elementDropTarget=this.dropTargetClass.getInstance(this.element,this,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}this.buildSubDropTargets()
}},handleLiveStatus:function(){if(this.enableLiveRelationship){if(this.liveStatus){var B=this.liveStatusLocked?"cq-editbar-livestatus-right-lock":"cq-editbar-livestatus-right-unlock";
this.liveStatus.setIconClass(B)
}}},observeLiveStatus:function(){if(!this.liveStatusRendered&&this.enableLiveRelationship){if(this.isActionEdit()||this.isActionDelete()){var G=this.items.items[0];
if(G){var C=this;
var E=null;
var B="cq-editbar-livestatus-right-unlock";
var F=CQ.I18n.getMessage("Inheritance is broken at the page level");
if(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_EDITABLE]){B=this.liveStatusLocked?"cq-editbar-livestatus-right-lock":"cq-editbar-livestatus-right-unlock";
E=function(){C.switchLock()
};
F=CQ.I18n.getMessage("Click to toggle Live Copy inheritance")
}var D=G.items.length;
if(G.items.length>2){D=G.items.length-2
}this.liveStatus=G.insertButton(D,{iconCls:B,handler:E,tooltip:F})
}this.liveStatusRendered=true
}}else{if(this.enableLiveRelationship){if(this.liveStatusLocked){this.suspendSubDropTargets()
}else{this.resumeSubDropTargets()
}}}},observe:function(){this.observeLiveStatus();
if(!CQ.Util.isEqualPosition(this.el.getXY(),this.placeholder.getXY(),1)){this.el.alignTo(this.placeholder,"tl-tl")
}},show:function(){this.placeholder.setVisible(true);
this.placeholder.show();
this.getEl().show();
CQ.WCM.showPlaceholders(this.element);
this.resumeDropTargets();
return this
},hide:function(){this.suspendDropTargets();
this.getEl().hide();
this.placeholder.setVisible(false);
CQ.WCM.hidePlaceholders(this.element);
return this
},convertAction:function(B){if(B!=null){if(typeof B=="string"){var C=CQ.wcm.EditBar.ActionsConvertor[B];
if(C!=null){if(typeof C=="string"){if(C.length>0){return C
}else{return null
}}else{return C
}}}else{if(B.xtype){if(CQ.wcm.EditBar.MenuXTypesToTBActions[B.xtype]!=null){return this.convertAction(CQ.wcm.EditBar.MenuXTypesToTBActions[B.xtype])
}}else{return CQ.Util.applyDefaults(B,{xtype:"tbtext"})
}}}return B
},disableDrag:function(){if(this.dd){this.dd.lock()
}},enableDrag:function(){if(this.dd){this.dd.unlock()
}},hideElement:function(B){this.element.hide();
if(B!==true&&this.isContained){this.element.parent().hide()
}},showElement:function(){if(this.isContained){this.element.parent().show()
}this.element.show()
},refreshComponent:function(){this.placeholder.setHeight(this.initialPlaceholderHeight);
this.placeholder.show()
},getInlinePlaceholder:function(){return this.placeholder
},getInlinePlaceholderInitialHeight:function(){return this.initialPlaceholderHeight
},remove:function(){this.removeDropTargets();
CQ.WCM.unregisterDialog("editdialog-"+this.path);
CQ.WCM.unregisterEditable(this.path);
CQ.Util.cancelObservation(this);
if(this.rendered){CQ.Ext.destroy(this.el);
delete this.el
}if(this.placeholder){CQ.Ext.destroy(this.placeholder);
CQ.Ext.ComponentMgr.unregister(this.placeholder);
delete this.placeholder
}if(this.selectBox){CQ.Ext.destroy(this.selectBox);
CQ.Ext.ComponentMgr.unregister(this.selectBox);
delete this.selectBox
}CQ.Ext.destroy(this.element);
CQ.Ext.ComponentMgr.unregister(this.element);
delete this.element;
CQ.Ext.ComponentMgr.unregister(this);
CQ.wcm.EditBar.superclass.destroy.call(this)
}});
CQ.Ext.reg("editbar",CQ.wcm.EditBar);
CQ.Ext.override(CQ.wcm.EditBar,CQ.wcm.EditBase);
CQ.wcm.EditBar.ActionsConvertor=new Array;
CQ.wcm.EditBar.ActionsConvertor.separator={xtype:"tbseparator"};
CQ.wcm.EditBar.ActionsConvertor["-"]=CQ.wcm.EditBar.ActionsConvertor.separator;
CQ.wcm.EditBar.ActionsConvertor.spacer={xtype:"tbspacer"};
CQ.wcm.EditBar.ActionsConvertor[" "]=CQ.wcm.EditBar.ActionsConvertor.spacer;
CQ.wcm.EditBar.ActionsConvertor.fill={xtype:"tbfill"};
CQ.wcm.EditBar.ActionsConvertor["->"]=CQ.wcm.EditBar.ActionsConvertor.fill;
CQ.wcm.EditBar.MenuXTypesToTBActions=new Array;
CQ.wcm.EditRollover=CQ.Ext.extend(CQ.Ext.Component,{isEmpty:false,selected:false,highLighted:false,editText:null,deleteText:null,insertText:null,emptyText:null,enableInsertOnlyText:true,enableHighLight:null,enableContextMenu:null,enableEditOnDblClick:null,selectable:false,animateShow:null,animateHide:null,inactiveMode:null,highLight:null,elementPlaceholder:null,emptyComponent:null,constructor:function(B){this.dragZoneClass=CQ.wcm.EditRollover.DragZone;
this.dropTargetClass=CQ.wcm.EditRollover.DropTarget;
this.constructorStart(B);
this.applyConfigDefaults(B,{renderTo:CQ.Util.ROOT_ID,element:null,path:"",actions:CQ.wcm.EditBase.EDIT,childConfig:{actions:CQ.wcm.EditBase.EDITCOPYMOVEDELETEINSERT},container:"menu",ctrlDef:"menuitem",menu:{},menuitem:{},listeners:{afteredit:this.refreshSelf,afterdelete:this.refreshSelf,afterinsert:this.refreshCreated,aftermove:this.refreshSelfMoved,aftercopy:this.refreshSelf},stateful:false,inlineEditing:CQ.wcm.EditBase.INLINE_MODE_AUTO,targetMode:CQ.wcm.EditBase.TARGET_MODE_GHOST,orderable:true,enableInsertOnlyText:true,isDropTarget:true,enableHighLight:true,enableContextMenu:true,enableEditOnDblClick:true,selectable:true,animateShow:true,animateHide:false,isContained:false,containerClass:"section"});
if(B.inactiveMode){B.isDropTarget=false;
B.orderable=false;
B.enableHighLight=false;
B.enableContextMenu=false;
B.enableEditOnDblClick=false;
B.selectable=false
}delete B.style;
CQ.wcm.EditRollover.superclass.constructor.call(this,B);
this.el=this.element=CQ.Ext.get(this.element);
var C=this.element.first("iframe");
if(C){this.element.setHeight(this.element.getHeight()+C.getHeight())
}this.buildElement();
this.constructorEnd(B)
},initComponent:function(){CQ.wcm.EditRollover.superclass.initComponent.call(this);
this.addEvents(CQ.wcm.EditBase.EVENT_AFTER_EDIT,CQ.wcm.EditBase.EVENT_AFTER_DELETE,CQ.wcm.EditBase.EVENT_AFTER_INSERT);
this.on("render",function(){CQ.Timing.stamp("Start rendering rollover","ROLLOVER",true);
if(this.isActionInsertOnly()){this.orderable=false
}this.highLight=new CQ.wcm.EditRollover.HighLight();
if(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP]!=null){if(this.enableHighLight&&(this.isActionEdit()||this.isActionDelete())){this.handleLiveRelationship()
}}if(this.isActionInsertOnly()){var C=this.getParent();
if(C&&C.handleLiveRelationship){C.handleLiveRelationship(true)
}}var B=CQ.WCM.getSelection();
B.on("add",this.handleSelect,this);
B.on("remove",this.handleDeselect,this);
B.on("clear",this.handleSelectionClear,this);
CQ.Timing.stamp("Completed rendering rollover","ROLLOVER")
})
},buildElement:function(){this.clearListeners();
if(this.emptyComponent){this.emptyComponent.hide()
}if(this.elementPlaceholder){this.elementPlaceholder.hide()
}if(this.placeholder){this.placeholder.hide()
}if(!this.hidden&&!this.disabled){var D="<div></div>";
var C=CQ.DOM.getBlockDefaultStyles();
var E,B;
var F=this.element.getWidth();
this.element.setVisibilityMode(CQ.Ext.Element.DISPLAY);
if(this.isContained){this.element.parent().setVisibilityMode(CQ.Ext.Element.DISPLAY)
}this.elementHidden=false;
if(!this.placeholder){this.placeholder=CQ.Ext.DomHelper.insertBefore(this.element,D,true)
}B=CQ.Util.applyDefaults({width:F+"px",height:"0"},C);
this.placeholder.setStyle(B);
this.placeholder.setVisibilityMode(CQ.Ext.Element.DISPLAY);
this.placeholder.show();
if(this.isActionInsertOnly()||this.isEmpty){E=(this.enableInsertOnlyText?CQ.themes.wcm.EditRollover.ELEMENT_MIN_HEIGHT:CQ.themes.wcm.EditRollover.ELEMENT_NO_TEXT_MIN_HEIGHT);
if(!this.elementPlaceholder){this.elementPlaceholder=this.element.insertHtml("beforeEnd",D,true)
}B=CQ.Util.applyDefaults({height:E+"px",width:F+"px"},C);
this.elementPlaceholder.setStyle(B);
this.elementPlaceholder.setVisibilityMode(CQ.Ext.Element.DISPLAY);
var G=this.emptyText?this.emptyText:CQ.I18n.getMessage("Drag components or assets here");
if(!this.emptyComponent){this.emptyComponent=new CQ.Ext.Container({autoEl:"div",cls:"cq-editrollover-insert-container",hideMode:"visibility",renderTo:CQ.Util.ROOT_ID});
if(this.enableInsertOnlyText){this.emptyComponent.add(new CQ.Ext.form.Label({text:G,cls:"cq-editrollover-insert-message"}))
}this.emptyComponent.render()
}else{if(this.enableInsertOnlyText){this.emptyComponent.items.items[0].text=G
}}this.emptyComponent.setWidth(F);
this.emptyComponent.setHeight(E);
this.emptyComponent.el.setStyle("position","absolute");
this.emptyComponent.el.anchorTo(this.elementPlaceholder,"topleft",null,false,null);
if(this.enableContextMenu){this.emptyComponent.el.on("contextmenu",this.handleContextMenu,this)
}if(this.enableHighLight&&!((this.isActionInsertOnly()||this.isEmpty)&&!this.enableInsertOnlyText)){this.emptyComponent.el.on("mouseover",this.handleMouseOver,this)
}if(this.selectable){this.emptyComponent.el.on("click",this.handleClick,this)
}if(this.enableEditOnDblClick&&(this.isActionInsertOnly()||this.isActionEdit())){this.emptyComponent.el.on("dblclick",this.handleDblClick,this)
}this.elementPlaceholder.show();
this.emptyComponent.show()
}this.element.linkedEditComponent=this;
if(this.enableContextMenu){CQ.DOM.addElementEventListener(this.element.dom,"contextmenu",this.handleContextMenu,true,this)
}if(this.enableHighLight&&!((this.isActionInsertOnly()||this.isEmpty)&&!this.enableInsertOnlyText)){this.element.on("mouseover",this.handleMouseOver,this)
}if(this.selectable){this.element.on("click",this.handleClick,this)
}if(this.enableEditOnDblClick&&(this.isActionInsertOnly()||this.isActionEdit())){this.element.on("dblclick",this.handleDblClick,this)
}if(this.isDropTarget===true&&this.isActionInsert()){this.elementDropTarget=this.dropTargetClass.getInstance(this.element,this,[CQ.wcm.EditBase.DD_GROUP_COMPONENT]);
this.componentDropTarget=this.elementDropTarget
}this.buildSubDropTargets()
}CQ.Util.observeComponent(this)
},handleLiveStatus:function(){if(this.enableLiveRelationship&&this.liveStatus){if(CQ.WCM.isShownLayer(CQ.utils.WCM.LAYER_LCSTATUS)&&!this.hidden&&!this.disabled&&!this.elementHidden){this.liveStatus.showFrames(this,this.liveStatusLocked)
}else{this.liveStatus.hideFrames()
}}},observeLiveStatus:function(){if(this.enableLiveRelationship){if(this.liveStatusLocked){this.suspendSubDropTargets()
}else{this.resumeSubDropTargets()
}if(!this.liveStatusRendered){this.liveStatus=new CQ.wcm.EditBase.LiveStatus(this.liveStatusContainerMode);
var B=this;
if(this[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP][CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_EDITABLE]){this.liveStatus.frameRight.on("render",function(){this.getEl().on("click",B.switchLock,B)
},this.liveStatus.frameRight)
}else{this.liveStatus.frameRight.on("render",function(){this.getEl().dom.title=CQ.I18n.getMessage("Inheritance is broken at the page level")
},this.liveStatus.frameRight)
}this.liveStatusRendered=true
}this.handleLiveStatus()
}},observe:function(){var B,C;
this.observeLiveStatus();
if(!this.hidden&&!this.disabled&&!this.elementHidden){if(this.elementPlaceholder&&this.elementPlaceholder.getHeight()==0){this.buildElement()
}else{if(this.isActionInsertOnly()||this.isEmpty){B=this.element.getWidth();
C=(this.enableInsertOnlyText?CQ.themes.wcm.EditRollover.ELEMENT_MIN_HEIGHT:CQ.themes.wcm.EditRollover.ELEMENT_NO_TEXT_MIN_HEIGHT);
if(this.elementPlaceholder){if(this.elementPlaceholder.getWidth()!=B){this.elementPlaceholder.setWidth(B)
}if(this.elementPlaceholder.getHeight()!=C){this.elementPlaceholder.setHeight(C)
}}if(this.emptyComponent){if(this.emptyComponent.el.getWidth()!=B){this.emptyComponent.setWidth(B)
}if(this.emptyComponent.el.getHeight()!=C){this.emptyComponent.setHeight(C)
}if(!CQ.Util.isEqualPosition(this.emptyComponent.el.getXY(),this.elementPlaceholder.getXY(),1)){this.emptyComponent.el.alignTo(this.elementPlaceholder,"tl-tl")
}}}else{if(this.emptyComponent){if(this.emptyComponent.el.getWidth()!=B){this.emptyComponent.setWidth(B)
}if(this.emptyComponent.el.getHeight()!=C){this.emptyComponent.setHeight(C)
}if(!CQ.Util.isEqualPosition(this.emptyComponent.el.getXY(),this.elementPlaceholder.getXY(),1)){this.emptyComponent.el.alignTo(this.elementPlaceholder,"tl-tl")
}}}}}},handleContextMenu:function(C){if(C.altKey){return 
}CQ.WCM.select(this,C.shiftKey||C.ctrlKey,true);
var B=this.element.linkedEditComponent;
if(B&&B.menu){B.showHighLight();
if(!B.menuComponent){B.menuComponent=new CQ.Ext.menu.Menu({defaults:{scope:B},items:B.menu.items})
}B.menuComponent.showAt(C.getXY());
C.stopEvent()
}},handleWindowResize:function(){this.hideHighLight()
},handleClick:function(C){var B=C.shiftKey||C.ctrlKey;
if(!this.isActionCopyMove()&&!this.isActionDelete()&&!this.isActionInsert()){if(B){CQ.Util.clearDocumentSelection(CQ.WCM.getContentWindow())
}return 
}if(this.selected){if(B){CQ.WCM.deselect(this,true)
}else{CQ.WCM.select(this,false,true)
}}else{CQ.WCM.select(this,B,true)
}},handleDblClick:function(B){if(this.isActionEdit()){CQ.wcm.EditBase.showDialog(this,CQ.wcm.EditBase.EDIT)
}else{if(this.isActionInsert()){CQ.wcm.EditBase.showDialog(this,CQ.wcm.EditBase.INSERT)
}}B.stopEvent()
},isParentHighLighted:function(){if(CQ.wcm.EditRollover.currentlyHighLighted&&CQ.wcm.EditRollover.currentlyHighLighted.element){var C=CQ.wcm.EditRollover.currentlyHighLighted.element.dom;
var B=this.element.dom.parentNode;
while(B!=null){if(B==C){return true
}B=B.parentNode
}}return false
},handleMouseOver:function(B){if(!CQ.Ext.dd.DragDropMgr.dragCurrent&&!CQ.WCM.isContentWindowLoading()){if(!CQ.wcm.EditRollover.currentlyHighLighted){if(CQ.wcm.EditRollover.preventNextHighLight){CQ.wcm.EditRollover.preventNextHighLight=false
}else{this.showHighLight()
}}else{if(this.isParentHighLighted()){CQ.wcm.EditRollover.currentlyHighLighted.hideHighLight();
this.showHighLight()
}else{if(CQ.wcm.EditRollover.currentlyHighLighted!==this){CQ.wcm.EditRollover.requestHighLight=this
}}}}B.stopEvent()
},handleDocumentMouseMove:function(F){var H=CQ.themes.wcm.EditRollover.HIGHLIGHT_WIDTH;
var E=CQ.themes.wcm.EditRollover.HIGHLIGHT_PADDING;
var D=this.element.getRegion();
var B=F.getPageX();
var G=F.getPageY();
var C=new CQ.Ext.lib.Region(D.top-H-E,D.right+H+E,D.bottom+H+E,D.left-H-E);
if(!C.contains(new CQ.Ext.lib.Region(G,B,G,B))||this!==CQ.wcm.EditRollover.currentlyHighLighted){this.hideHighLight()
}C=null
},handleDocumentScroll:function(B){this.hideHighLight()
},handleSelect:function(B,C){if(C!=this){return 
}if(!this.selected){this.selected=true;
this.highLight.addClass("cq-editrollover-selected");
this.highLight.showFrames(this)
}},handleDeselect:function(B){if(B!=this){return 
}if(this.selected){this.highLight.hideFrames();
this.highLight.removeClass("cq-editrollover-selected");
this.selected=false
}},handleSelectionClear:function(){this.handleDeselect(this)
},showHighLight:function(){if(this.enableHighLight){if(!CQ.Ext.dd.DragDropMgr.dragCurrent&&!CQ.WCM.isContentWindowLoading()){CQ.wcm.EditRollover.currentlyHighLighted=this;
this.element.un("mouseover",this.handleMouseOver,this);
CQ.DOM.addDocumentEventListener("mousemove",this.handleDocumentMouseMove,this);
CQ.DOM.addDocumentEventListener("scroll",this.handleDocumentScroll,this);
CQ.Ext.EventManager.onWindowResize(this.handleWindowResize,this);
this.highLight.showFrames(this)
}}},hideHighLight:function(){if(CQ.wcm.EditRollover.currentlyHighLighted===this){delete CQ.wcm.EditRollover.currentlyHighLighted
}CQ.DOM.removeDocumentEventListener("mousemove",this.handleDocumentMouseMove,this);
CQ.DOM.removeDocumentEventListener("scroll",this.handleDocumentScroll,this);
CQ.Ext.EventManager.removeResizeListener(this.handleWindowResize,this);
if(this.enableHighLight){this.element.un("mouseover",this.handleMouseOver,this);
this.element.on("mouseover",this.handleMouseOver,this)
}if(CQ.wcm.EditRollover.requestHighLight&&!CQ.Ext.dd.DragDropMgr.dragCurrent){CQ.wcm.EditRollover.currentlyHighLighted=CQ.wcm.EditRollover.requestHighLight;
CQ.wcm.EditRollover.currentlyHighLighted.showHighLight();
delete CQ.wcm.EditRollover.requestHighLight
}if(!this.selected){this.highLight.hideFrames()
}},clearListeners:function(){if(CQ.wcm.EditRollover.currentlyHighLighted===this){delete CQ.wcm.EditRollover.currentlyHighLighted;
CQ.DOM.removeDocumentEventListener("mousemove",this.handleDocumentMouseMove,this);
CQ.DOM.removeDocumentEventListener("scroll",this.handleDocumentScroll,this);
CQ.Ext.EventManager.removeResizeListener(this.handleWindowResize,this)
}if(this.emptyComponent){this.emptyComponent.el.un("contextmenu",this.handleContextMenu,this);
this.emptyComponent.el.un("mouseover",this.handleMouseOver,this);
this.emptyComponent.el.un("click",this.handleClick,this)
}this.element.un("mouseover",this.handleMouseOver,this);
this.element.un("click",this.handleClick,this);
this.element.un("dblclick",this.handleDblClick,this);
CQ.DOM.removeElementEventListener(this.element.dom,"contextmenu",this.handleContextMenu,true,this)
},show:function(B){this.hidden=false;
this.hideHighLight();
if(this.liveStatus){this.liveStatus.showFrames()
}CQ.WCM.showPlaceholders(this.element);
this.buildElement();
if(this.isContained&&this.isActionInsertOnly()){this.element.parent().show()
}this.resumeDropTargets();
return this
},hide:function(B){this.suspendDropTargets();
this.hidden=true;
if(this.liveStatus){this.liveStatus.hideFrames()
}if(this.element){this.hideHighLight();
if(this.isContained&&this.isActionInsertOnly()){this.element.parent().hide()
}CQ.WCM.hidePlaceholders(this.element);
this.buildElement()
}return this
},convertAction:function(B){if(B!=null){if(typeof B=="string"){var C=CQ.wcm.EditRollover.ActionsConvertor[B];
if(C!=null){if(typeof C=="string"){if(C.length>0){return C
}else{return null
}}else{return C
}}else{return{text:B,disabled:true}
}}else{if(B.xtype){if(B.xtype=="tbtext"||B.xtype=="text"){delete B.xtype;
return CQ.Util.applyDefaults(B,{xtype:"text",disabled:true})
}else{if(CQ.wcm.EditRollover.TBXTypesToMenuActions[B.xtype]!=null){return this.convertAction(CQ.wcm.EditRollover.TBXTypesToMenuActions[B.xtype])
}}}else{return CQ.Util.applyDefaults(B,{xtype:"text",disabled:true})
}}}return B
},hideElement:function(B){this.elementHidden=true;
if(this.liveStatus){this.liveStatus.hideFrames()
}this.hideHighLight();
this.savedElementHeight=this.element.getHeight();
this.savedElementWidth=this.element.getWidth();
this.element.hide(this.animateHide);
if(B!==true&&this.isContained){this.element.parent().hide()
}if(this.emptyComponent){this.emptyComponent.hide()
}if(this.elementPlaceholder){this.elementPlaceholder.hide()
}},showElement:function(){this.elementHidden=false;
if(this.emptyComponent){this.emptyComponent.show()
}if(this.elementPlaceholder){this.elementPlaceholder.show()
}if(this.isContained){this.element.parent().show()
}this.element.show(this.animateShow);
this.savedElementHeight=this.element.getHeight();
this.savedElementWidth=this.element.getWidth()
},refreshComponent:function(){this.placeholder.setHeight(0);
this.placeholder.show()
},getInlinePlaceholder:function(){return this.placeholder
},getInlinePlaceholderInitialHeight:function(){return 0
},remove:function(){this.removeDropTargets();
CQ.WCM.unregisterDialog("editdialog-"+this.path);
CQ.WCM.unregisterEditable(this.path);
CQ.Util.cancelObservation(this);
if(this.liveStatus){this.liveStatus.hideFrames();
CQ.Ext.destroy(this.liveStatus);
CQ.Ext.ComponentMgr.unregister(this.liveStatus);
delete this.liveStatus
}if(this.placeholder){CQ.Ext.destroy(this.placeholder);
CQ.Ext.ComponentMgr.unregister(this.placeholder);
delete this.placeholder
}if(this.menuComponent){CQ.Ext.destroy(this.menuComponent);
CQ.Ext.ComponentMgr.unregister(this.menuComponent);
delete this.menuComponent
}CQ.Ext.destroy(this.element);
CQ.Ext.ComponentMgr.unregister(this.element);
if(this.highLight){this.highLight.hideFrames();
CQ.Ext.destroy(this.highLight);
CQ.Ext.ComponentMgr.unregister(this.highLight);
delete this.highLight
}this.clearListeners();
CQ.Ext.ComponentMgr.unregister(this);
this.purgeListeners();
if(this.emptyComponent){CQ.Ext.destroy(this.emptyComponent);
delete this.emptyComponent
}delete this.element;
CQ.wcm.EditRollover.superclass.destroy.call(this)
}});
CQ.Ext.reg("editrollover",CQ.wcm.EditRollover);
CQ.Ext.override(CQ.wcm.EditRollover,CQ.wcm.EditBase);
CQ.wcm.EditRollover.HighLight=CQ.Ext.extend(CQ.Ext.Component,{frameLeft:null,frameRight:null,frameBottom:null,frameTop:null,constructor:function(){CQ.wcm.EditRollover.HighLight.superclass.constructor.call(this);
this.frameLeft=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-highlight-left"});
this.frameRight=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-highlight-right"});
this.frameBottom=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-highlight-bottom"});
this.frameTop=new CQ.Ext.BoxComponent({autoEl:"div",cls:"cq-editrollover-highlight-top"})
},showFrames:function(E){if(!this.frameLeft.rendered){this.frameLeft.render(CQ.Util.ROOT_ID)
}if(!this.frameRight.rendered){this.frameRight.render(CQ.Util.ROOT_ID)
}if(!this.frameBottom.rendered){this.frameBottom.render(CQ.Util.ROOT_ID)
}if(!this.frameTop.rendered){this.frameTop.render(CQ.Util.ROOT_ID)
}if(E){var C=E.element;
var I=CQ.themes.wcm.EditRollover.HIGHLIGHT_WIDTH;
var F=CQ.themes.wcm.EditRollover.HIGHLIGHT_PADDING;
var D=C.getWidth();
var B=C.getHeight();
if(E.emptyComponent){B=E.emptyComponent.getEl().getHeight()
}var H=C.getLeft();
var G=C.getTop();
this.frameTop.setWidth(D+2*I+2*F);
this.frameTop.setHeight(I);
this.frameTop.setPosition(H-I-F,G-I-F);
this.frameBottom.setWidth(D+2*I+2*F);
this.frameBottom.setHeight(I);
this.frameBottom.setPosition(H-I-F,G+B+F);
this.frameLeft.setWidth(I);
this.frameLeft.setHeight(B+2*F);
this.frameLeft.setPosition(H-I-F,G-F);
this.frameRight.setWidth(I);
this.frameRight.setHeight(B+2*F);
this.frameRight.setPosition(H+D+F,G-F);
if(E.orderable){if(!this.frameTop.dd){this.frameTop.dd=CQ.wcm.EditRollover.DragZone.getInstance(this.frameTop.getEl(),E,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}else{this.frameTop.dd.unlock();
this.frameTop.dd.clearGroups();
this.frameTop.dd.editComponent=E;
this.frameTop.dd.addToGroups([CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}if(!this.frameBottom.dd){this.frameBottom.dd=CQ.wcm.EditRollover.DragZone.getInstance(this.frameBottom.getEl(),E,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}else{this.frameBottom.dd.unlock();
this.frameBottom.dd.clearGroups();
this.frameBottom.dd.editComponent=E;
this.frameBottom.dd.addToGroups([CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}if(!this.frameLeft.dd){this.frameLeft.dd=CQ.wcm.EditRollover.DragZone.getInstance(this.frameLeft.getEl(),E,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}else{this.frameLeft.dd.unlock();
this.frameLeft.dd.clearGroups();
this.frameLeft.dd.editComponent=E;
this.frameLeft.dd.addToGroups([CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}if(!this.frameRight.dd){this.frameRight.dd=CQ.wcm.EditRollover.DragZone.getInstance(this.frameRight.getEl(),E,[CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}else{this.frameRight.dd.unlock();
this.frameRight.dd.clearGroups();
this.frameRight.dd.editComponent=E;
this.frameRight.dd.addToGroups([CQ.wcm.EditBase.DD_GROUP_COMPONENT])
}}else{if(this.frameTop.dd){this.frameTop.dd.clearGroups();
delete this.frameTop.dd.editComponent;
this.frameTop.dd.lock()
}if(this.frameBottom.dd){this.frameBottom.dd.clearGroups();
delete this.frameBottom.dd.editComponent;
this.frameBottom.dd.lock()
}if(this.frameLeft.dd){this.frameLeft.dd.clearGroups();
delete this.frameLeft.dd.editComponent;
this.frameLeft.dd.lock()
}if(this.frameRight.dd){this.frameRight.dd.clearGroups();
delete this.frameRight.dd.editComponent;
this.frameRight.dd.lock()
}}this.frameLeft.show();
this.frameRight.show();
this.frameBottom.show();
this.frameTop.show()
}},hideFrames:function(){this.frameLeft.hide();
this.frameRight.hide();
this.frameBottom.hide();
this.frameTop.hide()
},addClass:function(B){this.frameLeft.addClass(B);
this.frameRight.addClass(B);
this.frameBottom.addClass(B);
this.frameTop.addClass(B)
},removeClass:function(B){this.frameLeft.removeClass(B);
this.frameRight.removeClass(B);
this.frameBottom.removeClass(B);
this.frameTop.removeClass(B)
},on:function(B,D,C){this.frameLeft.on(B,D,C);
this.frameRight.on(B,D,C);
this.frameBottom.on(B,D,C);
this.frameTop.on(B,D,C)
},un:function(B,D,C){this.frameLeft.un(B,D,C);
this.frameRight.un(B,D,C);
this.frameBottom.un(B,D,C);
this.frameTop.un(B,D,C)
},destroy:function(){CQ.Ext.destroy(this.frameLeft);
CQ.Ext.destroy(this.frameRight);
CQ.Ext.destroy(this.frameBottom);
CQ.Ext.destroy(this.frameTop);
delete this.frameLeft;
delete this.frameRight;
delete this.frameBottom;
delete this.frameTop;
CQ.wcm.EditRollover.HighLight.superclass.destroy.call(this)
}});
CQ.wcm.EditRollover.ActionsConvertor=new Array;
CQ.wcm.EditRollover.ActionsConvertor.separator="-";
CQ.wcm.EditRollover.ActionsConvertor["-"]=CQ.wcm.EditRollover.ActionsConvertor.separator;
CQ.wcm.EditRollover.ActionsConvertor.spacer="";
CQ.wcm.EditRollover.ActionsConvertor[" "]=CQ.wcm.EditRollover.ActionsConvertor.spacer;
CQ.wcm.EditRollover.ActionsConvertor.fill="";
CQ.wcm.EditRollover.ActionsConvertor["->"]=CQ.wcm.EditRollover.ActionsConvertor.fill;
CQ.wcm.EditRollover.TBXTypesToMenuActions=new Array;
CQ.wcm.EditRollover.TBXTypesToMenuActions.tbseparator="separator";
CQ.wcm.EditRollover.TBXTypesToMenuActions.tbspacer="spacer";
CQ.wcm.EditRollover.TBXTypesToMenuActions.tbfill="fill";
CQ.wcm.EditRollover.DragZone=CQ.Ext.extend(CQ.wcm.EditBase.DragZone,{onBeforeDrag:function(){CQ.WCM.deselect();
this.editComponent.highLight.showFrames(this.editComponent)
}});
CQ.wcm.EditRollover.DragZone.getInstance=function(E,F,C){var B=new CQ.wcm.EditRollover.DragZone(E,{editComponent:F});
if(C){var D=0;
for(;
D<C.length;
D++){B.addToGroup(C[D])
}B.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT)
}return B
};
CQ.wcm.EditRollover.DropTarget=CQ.Ext.extend(CQ.wcm.EditBase.DropTarget,{notifyEnter:function(B,D,C){CQ.WCM.deselect();
return CQ.wcm.EditRollover.DropTarget.superclass.notifyEnter.call(this,B,D,C)
},notifyOver:function(B,D,C){this.editComponent.highLight.hideFrames();
return CQ.wcm.EditRollover.DropTarget.superclass.notifyOver.call(this,B,D,C)
}});
CQ.wcm.EditRollover.DropTarget.getInstance=function(E,G,B,C){C=C||{};
if(G){C.editComponent=G
}var F=new CQ.wcm.EditRollover.DropTarget(E,C);
if(B){var D=0;
for(;
D<B.length;
D++){F.addToGroup(B[D])
}F.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT)
}return F
};
CQ.wcm.NotificationInbox=CQ.Ext.extend(CQ.Ext.Viewport,{constructor:function(D){this.debug=D.debug;
var B=new CQ.Ext.grid.ColumnModel([new CQ.Ext.grid.RowNumberer(),{header:CQ.I18n.getMessage("Modification"),dataIndex:"modification"},{header:CQ.I18n.getMessage("Path"),dataIndex:"path"},{header:CQ.I18n.getMessage("Date"),dataIndex:"date"},{header:CQ.I18n.getMessage("User"),dataIndex:"user"},{header:CQ.I18n.getMessage("Read"),dataIndex:"isRead"}]);
B.defaultSortable=true;
var F=new CQ.Ext.grid.RowSelectionModel({singleSelect:true});
var E=CQ.Util.applyDefaults(D.store,{autoLoad:true,proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/notification/inbox/messages.json",method:"GET"}),baseParams:{start:0,limit:25},reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"messages",id:"id",fields:["id","modification","path","date","user",{name:"isRead",type:"bool"},{name:"isUserMessage",type:"bool"}]})});
var C=new CQ.Ext.data.GroupingStore(E);
CQ.wcm.NotificationInbox.superclass.constructor.call(this,{id:"cq-notification-inbox",layout:"border",renderTo:"CQ",items:[{id:"cq-notification-inbox-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[{id:"cq-header",xtype:"container",region:"north",autoEl:"div",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar",items:[new CQ.Switcher({}),new CQ.UserInfo({})]}]},{xtype:"grid",id:"cq-notification-inbox-grid",region:"center",margins:"5 5 5 5",pageSize:25,loadMask:true,stripeRows:true,cm:B,sm:F,viewConfig:new CQ.Ext.grid.GroupingView({forceFit:true,groupTextTpl:'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Messages" : "Message"]})'}),bbar:new CQ.Ext.PagingToolbar({pageSize:25,store:C,displayInfo:true,displayMsg:CQ.I18n.getMessage("Displaying messages {0} - {1} of {2}"),emptyMsg:CQ.I18n.getMessage("No message to display")}),tbar:[{id:"cq-notification-inbox-read",text:CQ.I18n.getMessage("Approve"),handler:this.approveMessage,tooltip:{title:CQ.I18n.getMessage("Approve the message"),text:CQ.I18n.getMessage("Approves a message and marks it as read."),autoHide:true}},{id:"cq-notification-inbox-remove",text:CQ.I18n.getMessage("Delete"),handler:this.deleteMessage,tooltip:{title:CQ.I18n.getMessage("Delete the message"),text:CQ.I18n.getMessage("Deletes a message."),autoHide:true}},{id:"cq-notification-inbox-config",text:CQ.I18n.getMessage("Configure..."),handler:this.showConfigDialog,tooltip:{title:CQ.I18n.getMessage("Configure subscriptions"),text:CQ.I18n.getMessage("Opens the subscription configuration dialog."),autoHide:true}}],store:C}]}]})
},initComponent:function(){CQ.wcm.NotificationInbox.superclass.initComponent.call(this)
},reloadAll:function(){CQ.Ext.getCmp("cq-notification-inbox-grid").getStore().reload()
},approveMessage:function(){var C=CQ.Ext.getCmp("cq-notification-inbox-grid");
var E=C.getSelectionModel().getSelections();
for(var B=0;
B<E.length;
B++){var D=E[B];
CQ.Ext.Ajax.request({url:CQ.Util.externalize("/bin/wcm/notification/inbox/action.json"),success:CQ.Ext.getCmp("cq-notification-inbox-grid").getStore().reload(),failure:function(){CQ.Ext.Msg.alert("Error","Could not approve message: "+D.id)
},params:{path:D.id,cmd:"approve"}})
}C.getStore().reload()
},deleteMessage:function(){var C=CQ.Ext.getCmp("cq-notification-inbox-grid");
var E=C.getSelectionModel().getSelections();
for(var B=0;
B<E.length;
B++){var D=E[B];
CQ.Ext.Ajax.request({url:CQ.Util.externalize("/bin/wcm/notification/inbox/action.json"),success:CQ.Ext.getCmp("cq-notification-inbox-grid").getStore().reload(),failure:function(){CQ.Ext.Msg.alert("Error","Could not remove message: "+D.id)
},params:{path:D.id,cmd:"delete"}})
}C.getStore().reload()
},showConfigDialog:function(){function C(N){if(N=="true"){return CQ.I18n.getMessage("Yes")
}return CQ.I18n.getMessage("No")
}function G(N){if(N=="true"){return CQ.I18n.getMessage("Allow")
}return CQ.I18n.getMessage("Deny")
}var K=new CQ.Ext.grid.ColumnModel([{header:"Path",dataIndex:"path",editor:new CQ.Ext.form.TextField({allowBlank:false})},{header:"Exact?",dataIndex:"exact",renderer:C,editor:new CQ.Ext.form.ComboBox({store:[["true",CQ.I18n.getMessage("Yes")],["false",CQ.I18n.getMessage("No")]],triggerAction:"all"})},{header:"Rule",dataIndex:"allow",renderer:G,editor:new CQ.Ext.form.ComboBox({store:[["true",CQ.I18n.getMessage("Allow")],["false",CQ.I18n.getMessage("Deny")]],triggerAction:"all"})}]);
var I=new CQ.Ext.Action({id:"cq-notification-subscriptions-add",text:CQ.I18n.getMessage("Add"),handler:function(){J.add(new CQ.Ext.data.Record({path:"",exact:"true",allow:"true"}))
},scope:this,tooltip:{title:CQ.I18n.getMessage("Add a subscription"),text:CQ.I18n.getMessage("Adds a new subscription."),autoHide:true}});
var E=new CQ.Ext.Action({id:"cq-notification-subscriptions-remove",text:CQ.I18n.getMessage("Delete"),disabled:true,handler:function(){var O=CQ.Ext.getCmp("cq-notification-subscriptions-grid");
var Q=O.getSelectionModel().getSelections();
for(var N=0;
N<Q.length;
N++){var P=Q[N];
O.getStore().remove(P)
}},tooltip:{title:CQ.I18n.getMessage("Delete the subscription"),text:CQ.I18n.getMessage("Deletes a subscription."),autoHide:true}});
var F=[I,E];
var D=new CQ.Ext.grid.RowSelectionModel({singleSelect:false,listeners:{selectionchange:function(N){if(N.hasSelection()){E.setDisabled(false)
}else{E.setDisabled(true)
}}}});
var M=[{value:"Activate",text:CQ.I18n.getMessage("Activated")},{value:"Deactivate",text:CQ.I18n.getMessage("Deactivated")},{value:"Delete",text:CQ.I18n.getMessage("Deleted (syndication)")},{value:"PageModified",text:CQ.I18n.getMessage("Modified")},{value:"PageCreated",text:CQ.I18n.getMessage("Created")},{value:"PageDeleted",text:CQ.I18n.getMessage("Deleted")},{value:"PageRolledOut",text:CQ.I18n.getMessage("Rolled out")}];
var B={autoLoad:true,proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/notification/config.json",method:"GET"}),baseParams:{start:0,limit:25},listeners:{load:function(Q,O,P){var N=CQ.Ext.getCmp("inbox-channel-combo");
N.setValue(B.reader.jsonData.type);
var R=CQ.Ext.getCmp("inbox-actions-selection");
R.setValue(B.reader.jsonData.actions)
}},reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"configs",fields:["path","exact","allow"]})};
var J=new CQ.Ext.data.GroupingStore(B);
var L={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Subscribe..."),buttons:[{text:CQ.I18n.getMessage("OK"),handler:function(){var N=CQ.Ext.getCmp("inbox-channel-combo");
var R=CQ.Ext.getCmp("inbox-actions-selection");
var O=new Array(J.getCount());
for(var P=0;
P<J.getCount();
P++){var Q=J.getAt(P);
O[P]=new Array(3);
O[P][0]=Q.get("path");
O[P][1]=Q.get("exact");
O[P][2]=Q.get("allow")
}CQ.HTTP.post("/bin/wcm/notification/config.json",function(T,U,S){if(U){H.hide()
}},{type:N.getValue(),actions:R.getValue(),configs:CQ.Ext.util.JSON.encode(O)})
}},CQ.Dialog.CANCEL],items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",channel:{xtype:"combo",fieldLabel:CQ.I18n.getMessage("Select Notification Channels"),editable:false,id:"inbox-channel-combo",store:[["inbox","Inbox"]]},actions:{xtype:"selection",type:"checkbox",fieldLabel:CQ.I18n.getMessage("Select actions to be notified"),editable:false,id:"inbox-actions-selection",options:M},sub1:{xtype:"label",text:CQ.I18n.getMessage("Define Packages")},subscriptions:{xtype:"editorgrid",id:"cq-notification-subscriptions-grid",region:"center",anchor:"-30 -100",margins:"5 5 5 5",loadMask:true,stripeRows:true,clicksToEdit:1,cm:K,sm:D,viewConfig:new CQ.Ext.grid.GroupingView({forceFit:true}),tbar:F,store:J,listeners:{rowcontextmenu:function(O,N,Q){if(!this.contextMenu){this.contextMenu=new CQ.Ext.menu.Menu({items:F})
}var P=Q.getXY();
this.contextMenu.showAt(P);
Q.stopEvent()
}}}}}};
var H=CQ.WCM.getDialog(L);
H.failure=function(){CQ.Ext.Msg.alert("Error","Could not save subscriptions.")
};
H.show()
}});
CQ.Ext.reg("notificationinbox",CQ.wcm.NotificationInbox);
CQ.wcm.OfflineImporter=CQ.Ext.extend(CQ.wcm.Viewport,{props:null,conn:new CQ.Ext.data.Connection(),data:null,constructor:function(B){this.debug=B.debug;
var C=new CQ.Ext.FormPanel({labelWidth:75,url:"/libs/wcm/offline/import",fileUpload:true,title:"Import",border:false,labelWidth:100,buttonAlign:"left",bodyStyle:{"background-color":"#DFE8F6",padding:"5px"},items:[{xtype:"htmlupload",fieldLabel:CQ.I18n.getMessage("Word Document"),fieldDescription:CQ.I18n.getMessage("Select Word Document to import"),name:"document",anchor:"99%"},{xtype:"browsefield",anchor:"99%",content:"content",selectOnFocus:true,allowBlank:false,name:"parent",fieldLabel:CQ.I18n.getMessage("Path"),treeRoot:{text:CQ.I18n.getMessage("Site")},treeLoader:{dataUrl:"/bin/tree/ext.json"},fieldDescription:CQ.I18n.getMessage("Select location to import")},{xtype:"hidden",name:"configPath",value:CQ.Util.getPath(window.location.pathname)}],buttons:[{text:"Import",handler:function(){var D={};
var E=new CQ.form.Action.Submit(C.getForm(),D);
C.getForm().doAction(E)
}}]});
CQ.wcm.OfflineImporter.superclass.constructor.call(this,{id:"cq-offlineimporter",items:[{id:"cq-offlineimporter-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[{id:"cq-offline-form",xtype:"container",region:"north",autoEl:"div",height:200,border:"false",items:[C]},{id:"cq-offlineimporter-property-grid",xtype:"propgrid",region:"center",border:true,title:"Offline Importer Configuration"}]}]});
CQ.Ext.getCmp("cq-offlineimporter-property-grid").showProperties(CQ.Ext.getCmp("cq-offlineimporter"))
},initComponent:function(){CQ.wcm.OfflineImporter.superclass.initComponent.call(this)
},getPropertyEditors:function(){var B={};
B["Page Template"]=new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({editable:false,allowBlank:false,selectOnFocus:true,triggerAction:"all",valueField:"path",displayField:"title",store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/templates",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"templates",id:"path"},["path","title","description","thumbnailPath"]),baseParams:{_charset_:"utf-8"}}),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="template-item">','<tpl if="thumbnailPath">','<img class="template-thumbnail" src="{thumbnailPath}">',"</tpl>",'<div class="template-title">{title}</div>','<div class="template-description">{description}</div>','<div style="clear:both"></div>',"</div>","</tpl>"),itemSelector:"div.template-item"}));
B["Text Paragraph"]=new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/wcm/offline/import.offlinecomponents.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"components"},[{name:"value"},{name:"text"}])}),displayField:"text",valueField:"value",selectOnFocus:true,triggerAction:"all",editable:false}));
B["Image Paragraph"]=new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/wcm/offline/import.offlinecomponents.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"components"},[{name:"value"},{name:"text"}])}),displayField:"text",valueField:"value",selectOnFocus:true,triggerAction:"all",editable:false}));
B["Text Image Paragraph"]=new CQ.Ext.grid.GridEditor(new CQ.Ext.form.ComboBox({store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/wcm/offline/import.offlinecomponents.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"components"},[{name:"value"},{name:"text"}])}),displayField:"text",valueField:"value",selectOnFocus:true,triggerAction:"all",editable:false}));
return B
},getProperties:function(){if(this.data==null){var request=CQ.HTTP.get(CQ.Util.getPath(window.location.pathname)+".json");
this.data=CQ.Util.eval(request)
}var props=new Object();
props["Page Template"]=this.data.template;
props["Text Paragraph"]=this.data.text;
props["Image Paragraph"]=this.data.image;
props["Text Image Paragraph"]=this.data.textimage;
return props
},setProperties:function(B){this.props=B
},afterPropChange:function(){var C=this.props;
var B=new CQ.Ext.data.Connection();
B.request({scope:this,url:CQ.Util.getPath(window.location.pathname),params:{setconfig:"true",text:C["Text Paragraph"],image:C["Image Paragraph"],textimage:C["Text Image Paragraph"],template:C["Page Template"],type:"JSON",_charset_:"utf-8"},success:function(D,E){},failure:function(D,E){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not offline configuration!!"))
}})
}});
CQ.Ext.reg("offlineimporter",CQ.wcm.OfflineImporter);
CQ.wcm.AuditLogDialog=CQ.Ext.extend(CQ.Dialog,{store:null,constructor:function(D){this.debug=D.debug;
var B=new CQ.Ext.grid.ColumnModel([{header:CQ.I18n.getMessage("Modification"),dataIndex:"type"},{header:CQ.I18n.getMessage("Date"),dataIndex:"date"},{header:CQ.I18n.getMessage("User"),dataIndex:"user"}]);
var G=new CQ.Ext.grid.RowSelectionModel({singleSelect:true});
var F={autoLoad:false,proxy:new CQ.Ext.data.HttpProxy({url:"/bin/audit/page.json",method:"GET"}),baseParams:{start:0,limit:25},reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"entries",fields:["type","date","user"]})};
this.store=new CQ.Ext.data.GroupingStore(F);
var E={xtype:"grid",region:"center",margins:"5 5 5 5",loadMask:true,stripeRows:true,cm:B,sm:G,viewConfig:new CQ.Ext.grid.GroupingView({forceFit:true}),store:this.store};
var C=new CQ.Ext.Panel({layout:"border",width:500,minHeight:500,statefull:false,items:[E]});
dialog=this;
D.items=[C];
D.buttons=[{text:CQ.I18n.getMessage("OK"),handler:function(){dialog.hide()
}}];
CQ.wcm.AuditLogDialog.superclass.constructor.call(this,D)
},loadContent:function(B){this.setTitle(CQ.I18n.getMessage("AuditLog for")+" "+B);
this.store.baseParams.path=B;
this.store.reload()
},initComponent:function(){CQ.wcm.AuditLogDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("auditlogdialog",CQ.wcm.AuditLogDialog);
CQ.wcm.FindReplaceDialog=CQ.Ext.extend(CQ.Dialog,{selectedPaths:null,constructor:function(B){var D=this;
if(!B){B={}
}var F=new CQ.Ext.grid.CheckboxSelectionModel({listeners:{selectionchange:function(I){var H=I.getSelections();
D.selectedPaths=[];
for(var G=0;
G<H.length;
G++){D.selectedPaths.push(H[G].data.path)
}}}});
var E=function(I,H,G){if(G.data.deleted){H.attr='style="color:grey;"'
}return I
};
var C=function(){D.preview()
};
this.grid=new CQ.Ext.grid.GridPanel({id:"find-replace-grid",height:125,loadMask:true,stripeRows:true,cm:new CQ.Ext.grid.ColumnModel([F,{header:CQ.I18n.getMessage("Title"),dataIndex:"title",sortable:true,width:200,renderer:E},{header:CQ.I18n.getMessage("Path"),dataIndex:"path",sortable:true,width:212,renderer:E}]),sm:F,store:new CQ.Ext.data.SimpleStore({fields:CQ.wcm.FindReplaceDialog.FIELDS}),enableHdMenu:false,listeners:{rowdblclick:function(H,G){try{CQ.wcm.SiteAdmin.openPage(H.getStore().getAt(G).data.path)
}catch(I){}}}});
this.previewMessage=new CQ.Static({style:"text-align:center;line-height:150px;color:#aaa;border:solid #bbb 1px",height:125});
B={id:"find-replace-dialog",title:CQ.I18n.getMessage("Find & Replace"),items:{xtype:"panel",items:[{xtype:"pathcompletion",name:"s",fieldLabel:CQ.I18n.getMessage("Start in"),hideTrigger:true,listeners:{change:function(){D.resetPreview()
},blur:function(){if(!/\/content\/.*/.test(this.getValue())){alert(CQ.I18n.getMessage("Start path must start with '/content'"));
this.el.focus()
}}}},{xtype:"trigger",name:"f",fieldLabel:CQ.I18n.getMessage("Find"),triggerClass:"x-form-search-trigger",onTriggerClick:C,listeners:{change:function(){D.resetPreview()
}}},{xtype:"textfield",name:"r",fieldLabel:CQ.I18n.getMessage("Replace")},{xtype:"checkbox",name:"cs",height:"auto",boxLabel:CQ.I18n.getMessage("Case sensitive"),listeners:{check:function(){D.resetPreview(true)
}}},{xtype:"checkbox",name:"wwo",boxLabel:CQ.I18n.getMessage("Whole words only"),listeners:{check:function(){D.resetPreview(true)
}}},this.previewMessage,this.grid]},listeners:{beforeshow:function(){this.resetForm();
this.resetPreview(true);
if(this.path){this.getField("s").setValue(this.path)
}},beforesubmit:function(){if((this.previewed||this.preview())&&this.selectedPaths.length>0){if(confirm(CQ.I18n.getMessage("Are you sure you want to replace '{0}' with '{1}' on all the selected page(s)?",[this.getField("f").getValue(),this.getField("r").getValue()]))){var G=this.getField("s").getValue()+CQ.wcm.FindReplaceDialog.SUFFIX_REPLACE;
while(this.selectedPaths.length>0){G=CQ.HTTP.addParameter(G,"p",this.selectedPaths.shift())
}this.formPanel.form.el.dom.action=G;
return true
}}else{alert(CQ.I18n.getMessage("There is nothing to replace."))
}return false
}},okText:CQ.I18n.getMessage("Replace"),buttons:[{text:CQ.I18n.getMessage("Preview"),handler:C},CQ.Dialog.OK,CQ.Dialog.CANCEL]};
CQ.wcm.FindReplaceDialog.superclass.constructor.call(this,B)
},preview:function(){if(!this.getField("s").getValue()){alert(CQ.I18n.getMessage("Enter where you want to start searching."));
this.getField("s").el.dom.focus();
return false
}if(!this.getField("f").getValue()){alert(CQ.I18n.getMessage("Enter what are you searching for."));
this.getField("f").el.dom.focus();
return false
}var D=this.getField("s").getValue()+CQ.wcm.FindReplaceDialog.SUFFIX_FIND;
D=CQ.HTTP.addParameter(D,"_charset_",this.getField("_charset_").getValue());
D=CQ.HTTP.addParameter(D,"f",this.getField("f").getValue());
D=CQ.HTTP.addParameter(D,"cs",this.getField("cs").getValue());
D=CQ.HTTP.addParameter(D,"wwo",this.getField("wwo").getValue());
D=CQ.HTTP.noCaching(D);
var I=new CQ.Ext.data.JsonReader({root:"matches",fields:CQ.wcm.FindReplaceDialog.FIELDS});
var K={};
try{var B=I.read(CQ.HTTP.get(D));
for(var G=0;
G<B.records.length;
G++){var F=B.records[G].data;
if(!K[F.path]){K[F.path]=[]
}var H=K[F.path];
H[H.length]=[F.title,F.path]
}}catch(J){}var E=[];
for(var C in K){E[E.length]=K[C][0]
}if(E.length>0){this.grid.getStore().loadData(E);
this.grid.getSelectionModel().selectAll();
this.grid.show();
this.previewMessage.hide();
this.previewed=this.getField("f").getValue();
return true
}else{this.resetPreview();
this.previewMessage.updateText(CQ.I18n.getMessage("No occurrences found"));
this.previewMessage.show();
return false
}},loadContent:function(B){this.path=B
},resetForm:function(){this.formPanel.getForm().reset()
},resetPreview:function(B){if(B||(this.previewed&&this.previewed!=this.getField("f").getValue())){this.previewed=null;
this.selectedPaths=[];
this.grid.hide();
this.previewMessage.updateText("");
this.previewMessage.show()
}}});
CQ.wcm.FindReplaceDialog.SUFFIX_FIND=".find.json";
CQ.wcm.FindReplaceDialog.SUFFIX_REPLACE=".replace.html";
CQ.wcm.FindReplaceDialog.FIELDS=[{name:"title"},{name:"path"}];
CQ.Ext.reg("findreplacedialog",CQ.wcm.FindReplaceDialog);
CQ.wcm.CreateVersionDialog=CQ.Ext.extend(CQ.Dialog,{constructor:function(B){var C=this;
if(!B){B={}
}B={xtype:"dialog",title:CQ.I18n.getMessage("Create Version"),formUrl:"/bin/wcmcommand",params:{cmd:"createVersion",_charset_:"utf-8"},items:{xtype:"panel",items:[{xtype:"fieldset",autoHeight:true,autoWidtht:true,stateful:false,items:[{id:"path",xtype:"hidden",allowBlank:false,name:"path"},{id:"label",fieldLabel:CQ.I18n.getMessage("Label"),xtype:"textfield",allowBlank:true,name:"label",width:300},{id:"comment",fieldLabel:CQ.I18n.getMessage("Comment"),xtype:"textfield",allowBlank:true,name:"comment",width:300}]}]},okText:CQ.I18n.getMessage("Create"),success:function(E,F){var D=CQ.HTTP.buildPostResponseFromHTML(F.response.responseText);
CQ.Notification.notifyFromResponse(D)
}};
B.buttons=CQ.Dialog.OKCANCEL;
B.width=600;
B.height=200;
CQ.wcm.CreateVersionDialog.superclass.constructor.call(this,B)
},loadContent:function(B,C){this.form.findField("path").setValue(B);
this.form.findField("label").setValue("");
this.form.findField("comment").setValue(CQ.I18n.getMessage("Created by ")+CQ.User.getCurrentUser().getUserName())
},initComponent:function(){CQ.wcm.CreateVersionDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("createversiondialog",CQ.wcm.CreateVersionDialog);
CQ.wcm.CreateSiteWizard=CQ.Ext.extend(CQ.Dialog,{blueprintPath:null,sitePath:null,activePage:0,wizPanel:null,actListId:null,dataView:null,progressStore:null,progressTemplate:null,progressPanel:null,firstPanel:null,lastPanel:null,loadMask:null,constructor:function(D){var J=this;
var I=new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/bin/wcm/templates",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"templates",id:"path"},["path","title","description","thumbnailPath","iconPath","ranking","sitePath"]),baseParams:{_charset_:"utf-8",path:"/content",type:"site"},listeners:{load:function(){this.sort("ranking")
}}});
var N=CQ.Util.externalize("/libs/cq/widgets/themes/default/widgets/wcm/CreateSiteWizard/thumb-bp-default.png");
var L=new CQ.Ext.DataView({multiSelect:false,singleSelect:true,emptyText:CQ.I18n.getMessage("No template available"),store:I,overClass:"x-view-over",itemSelector:"div.template-item",tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="template-item">','<tpl if="thumbnailPath">','<img class="template-thumbnail" src="{thumbnailPath}">',"</tpl>",'<tpl if="!thumbnailPath">','<img class="template-thumbnail" src="{this.defThumb}">',"</tpl>",'<div class="template-title">{title}</div>','<div class="template-description">{description}</div>','<div style="clear:both"></div>',"</div>","</tpl>",'<div style="height:5px;overflow:hidden"></div>',{defThumb:N}),prepareData:function(O){O.ranking=O.ranking!=null?O.ranking:900000000;
return O
},listeners:{selectionchange:function(O){var P=O.getSelectedRecords()[0];
if(P&&P.data){J.setBlueprintInfo(P.data)
}}}});
this.dataView=L;
var E=[{idx:0,title:"Select Blueprint"},{idx:1,title:"Finish"}];
this.progressStore=E;
var C=new CQ.Ext.XTemplate('<div class="x-toolbar x-small-editor">','<table cellspacing="0"><tr>','<tpl for=".">','<tpl if="values.idx != 0">','<td><span class="wiz-sep">&gt;&gt;</span></td>',"</tpl>",'<td><span class="wiz-step {[this.isActive(values.idx) ? "wiz-step-active" : ""]}">{#}. {title}</span></td>',"</tpl>","</table>","</div>",{isActive:function(O){return O==J.activePage
}});
this.progressTemplate=C;
var G=new CQ.Ext.Panel({id:"cq-createsitewizard-info",border:false,html:C.apply(E)});
this.progressPanel=G;
var H=new CQ.Ext.Panel({id:"cq-card-first",layout:"form",autoScroll:true,title:CQ.I18n.getMessage("Select Blueprint"),header:false,bodyStyle:CQ.themes.Dialog.TAB_BODY_STYLE,labelWidth:CQ.themes.Dialog.LABEL_WIDTH,defaultType:"textfield",stateful:false,layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET,anchor:CQ.themes.Dialog.ANCHOR,stateful:false},items:[{xtype:"hidden",name:"destPath"},{xtype:"hidden",name:"srcPath"},{fieldLabel:CQ.I18n.getMessage("Title"),fieldDescription:CQ.I18n.getMessage("Page title of the new site."),allowBlank:false,name:"./jcr:title"},{fieldLabel:CQ.I18n.getMessage("Name"),fieldDescription:CQ.I18n.getMessage("Page name of the new site."),name:"label",vtype:"itemname"},{xtype:"panel",border:false,cls:"cq-template-view",autoScroll:true,width:"100%",autoHeight:false,height:370,layout:"fit",items:L,listeners:{render:{fn:function(){I.load()
}}}}]});
this.firstPanel=H;
var M=new CQ.Ext.Panel({id:"cq-card-last",layout:"form",autoScroll:true,title:CQ.I18n.getMessage("Finish"),header:false,bodyStyle:CQ.themes.Dialog.TAB_BODY_STYLE,labelWidth:CQ.themes.Dialog.LABEL_WIDTH,stateful:false,layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET,anchor:CQ.themes.Dialog.ANCHOR,stateful:false},items:[{border:false,cls:"cq-card-last x-form-item",html:"<h1>Setup Complete</h1><p>You completed all steps. <br><br>Click the <em>Create Site</em> button below to create the new site.</p>"}]});
this.lastPanel=M;
var F=function(){J.navHandler.call(J,1)
};
var B=function(){J.navHandler.call(J,-1)
};
var K=new CQ.Ext.Panel({id:"cq-createsite-wizpanel",layout:"card",deferredRender:false,plain:CQ.themes.Dialog.TABPANEL_PLAIN,border:false,stateful:false,activeItem:0,bbar:G,defaults:{border:false},items:[H,M]});
this.wizPanel=K;
D={id:"cq-createsitewizard",title:CQ.I18n.getMessage("Create Site"),formUrl:"/bin/wcmcommand",params:{cmd:"createSite",_charset_:"utf-8"},height:560,width:600,items:[K],buttons:[{id:"cq-btn-prev",text:CQ.I18n.getMessage("Prev"),handler:B,disabled:true},{id:"cq-btn-next",text:CQ.I18n.getMessage("Next"),handler:F,disabled:true},CQ.Dialog.CANCEL]};
CQ.wcm.CreateSiteWizard.superclass.constructor.call(this,D)
},loadContent:function(B){this.getField("destPath").setValue(B.dstPath);
this.activePage=0;
this.actListId=null;
this.blueprintPath=null;
this.sitePath=null;
this.wizPanel.items.each(function(C){if(C.id!="cq-card-first"&&C.id!="cq-card-last"){this.remove(C,true)
}},this.wizPanel);
this.updateProgressBar();
this.wizPanel.layout.setActiveItem(0);
this.doLayout();
this.updateButtons()
},navHandler:function(D){var C=this.wizPanel.items.getCount();
var B=this.activePage+D;
if(B==C){this.ok()
}else{if(B>=0&&B<C){this.activePage=B;
this.wizPanel.layout.setActiveItem(B);
this.updateButtons()
}}},setBlueprintInfo:function(B){this.blueprintPath=B.path;
this.sitePath=B.sitePath;
this.getField("srcPath").setValue(B.path);
this.loadPanels()
},loadPanels:function(){var id=this.blueprintPath;
if(id!=this.actListId){if(!this.loadMask){this.loadMask=new CQ.Ext.LoadMask(this.wizPanel.body,{msg:"Loading..."})
}this.loadMask.show();
if(this.actListId){this.wizPanel.items.each(function(item){if(item.id!="cq-card-first"){this.remove(item,item.id!="cq-card-last")
}},this.wizPanel)
}this.actListId=id;
var url=CQ.Util.externalize(id+"/jcr:content/dialog.infinity.json");
var data=CQ.utils.Util.eval(CQ.HTTP.get(url));
if(data){var ct=CQ.utils.Util.formatData(data);
this.processExternalDialog(ct)
}this.wizPanel.add(this.lastPanel);
this.processInit(this.sitePath);
this.updateProgressBar();
this.doLayout();
this.updateButtons();
this.loadMask.hide()
}},updateProgressBar:function(){var C=[];
var B=0;
this.wizPanel.items.each(function(){C.push({title:this.title,idx:B++})
});
this.progressStore=C
},processExternalDialog:function(C){if(C&&C.items){if(C.items instanceof Array){for(var B=0;
B<C.items.length;
B++){this.processExternalItem(C.items[B])
}}else{this.processExternalItem(C.items)
}}},processExternalItem:function(D){if(D.xtype=="tabpanel"){this.processExternalDialog(D)
}else{if(D instanceof Array){for(var C=0;
C<D.length;
C++){this.processExternalItem(D[C])
}}else{var B=CQ.Util.applyDefaults(D,this.configDefaults.panel);
var E=B.title;
if(!E){E="untitled"
}B.header=false;
this.wizPanel.add(B)
}}},updateButtons:function(){var D=this.wizPanel.items.getCount();
var B=CQ.Ext.getCmp("cq-btn-next");
var C=CQ.Ext.getCmp("cq-btn-prev");
if(this.activePage<D&&this.actListId){B.enable();
if(this.activePage==D-1){B.setText("Create Site")
}else{B.setText("Next")
}}else{B.disable();
B.setText("Next")
}if(this.activePage>0){C.enable()
}else{C.disable()
}this.progressTemplate.overwrite(this.progressPanel.body,this.progressStore)
}});
CQ.wcm.CreateSiteWizard.setLanguagesCB=function(path){var flagRoot=CQ.Util.externalize("/libs/wcm/msm/resources/flags/");
var data=CQ.Util.eval(CQ.HTTP.get(path+".languages.json"));
var opts=[];
if(data.rows){for(var i=0;
i<data.rows.length;
i++){var row=data.rows[i];
var img="<img style='position:absolute;left:2px;top:6px;vertical-align:text-bottom;height:12px;' src='"+flagRoot+row.country+".gif'>";
var lbl="<span style='padding-left: 28px'>"+row.language+"</span>";
opts.push({text:img+lbl,value:row.path,checked:i==0})
}}this.setOptions(opts)
};
CQ.wcm.CreateSiteWizard.setChaptersCB=function(path){var url="/libs/wcm/msm/content/commands/chapters.json?path="+path;
var data=CQ.Util.eval(CQ.HTTP.get(url));
var opts=[];
if(data.rows){for(var i=0;
i<data.rows.length;
i++){var row=data.rows[i];
opts.push({text:row.displayText,value:row.path,checked:true})
}}this.setOptions(opts)
};
CQ.Ext.reg("createsitewizard",CQ.wcm.CreateSiteWizard);
CQ.wcm.RestoreVersionDialog=CQ.Ext.extend(CQ.Dialog,{revisionsTable:null,gridStore:null,comboStore:null,dataUrl:null,path:null,fields:null,sm:null,constructor:function(C){var E=this;
if(!C){C={}
}this.dataUrl=C.dataUrl||"/bin/wcm/versions.json";
this.fields=[{name:"name"},{name:"title"},{name:"created"},{name:"label"},{name:"id"},{name:"deleted"}];
this.gridStore=new CQ.Ext.data.SimpleStore({fields:this.fields});
this.comboStore=new CQ.Ext.data.SimpleStore({fields:this.fields,sortInfo:{field:"created",direction:"DESC"}});
this.sm=new CQ.Ext.grid.CheckboxSelectionModel();
function F(I,H,G){if(G.data.deleted){H.attr='style="color:grey;"'
}return I
}var B=new CQ.Ext.grid.ColumnModel([this.sm,{header:CQ.I18n.getMessage("Name"),dataIndex:"name",hidden:"true"},{header:CQ.I18n.getMessage("Title"),dataIndex:"title",sortable:true,width:100,renderer:F},{header:CQ.I18n.getMessage("Created"),dataIndex:"created",width:200,editor:new CQ.Ext.form.ComboBox({triggerAction:"all",editable:false,store:this.comboStore,displayField:"created",valueField:"created",mode:"local"}),renderer:CQ.utils.Util.renderDate},{header:CQ.I18n.getMessage("Name"),dataIndex:"label",sortable:true,width:100,renderer:F},{header:CQ.I18n.getMessage("Id"),dataIndex:"id",hidden:"true"},{header:CQ.I18n.getMessage("Deleted"),dataIndex:"deleted",hidden:"true"}]);
var D={xtype:"editorgrid",id:"restore-version-grid",region:"center",margins:"5 5 5 5",loadMask:true,stripeRows:true,cm:B,sm:this.sm,store:this.gridStore,enableHdMenu:false,listeners:{beforeedit:function(H){var G=E.revisionsTable[H.record.data.name];
E.comboStore.loadData(G)
}},clicksToEdit:1};
C={xtype:"dialog",cls:"cq-restoreversiondialog",title:CQ.I18n.getMessage("Restore Version"),formUrl:C.formUrl||"/bin/wcmcommand",params:{cmd:"restoreVersion",_charset_:"utf-8"},items:{xtype:"panel",layout:"border",width:500,minHeight:500,stateful:false,items:[D]},listeners:{beforesubmit:function(){if(E.sm.hasSelection()){E.findById("restore-version-grid").stopEditing();
var H=CQ.Util.findFormFields(E.formPanel);
var M=H.path;
if(M){H.remove(M)
}M=H.id;
if(M){H.remove(M)
}E.addHidden({path:E.path});
var G=E.sm.getSelections();
for(var J=0;
J<G.length;
J++){var L=G[J];
var K=E.revisionsTable[L.data.name];
for(var I=0;
I<K.length;
I++){if(K[I][2]==L.data.created){E.addHidden({id:K[I][4]})
}}}return true
}return false
}},okText:CQ.I18n.getMessage("Restore")};
C.buttons=CQ.Dialog.OKCANCEL;
CQ.wcm.RestoreVersionDialog.superclass.constructor.call(this,C)
},loadContent:function(L,J){this.path=L;
var D=CQ.HTTP.addParameter(this.dataUrl,"path",L);
if(J){D=CQ.HTTP.addParameter(D,"showChildren",true)
}D=CQ.HTTP.noCaching(D);
var I=new CQ.Ext.data.JsonReader({root:"versions",fields:this.fields});
var F={};
var B=I.read(CQ.HTTP.get(D));
for(var H=0;
H<B.records.length;
H++){var G=B.records[H].data;
var C=G.name;
if(!F[G.name]){F[G.name]=[]
}var K=F[G.name];
K[K.length]=[G.name,G.title,G.created,G.label,G.id,G.deleted]
}this.revisionsTable=F;
var E=[];
for(var C in F){E[E.length]=F[C][0]
}this.gridStore.loadData(E);
this.sm.clearSelections()
},initComponent:function(){CQ.wcm.RestoreVersionDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("restoreversiondialog",CQ.wcm.RestoreVersionDialog);
CQ.wcm.RestoreTreeDialog=CQ.Ext.extend(CQ.Dialog,{dataUrl:null,treeLoaderConfig:null,treePath:null,root:null,constructor:function(B){var F=this;
if(!B){B={}
}this.dataUrl=B.dataUrl||"/bin/wcm/versiontree";
var C=CQ.Util.applyDefaults(B.treeRoot||{},{name:"",text:CQ.I18n.getMessage("Site"),draggable:false,singleClickExpand:true,id:".",iconCls:"page"});
var E=CQ.Util.applyDefaults(B.treeLoader||{},{dataUrl:this.dataUrl,requestMethod:"GET",baseAttrs:{iconCls:"page",singleClickExpand:true},listeners:{beforeload:function(H,J){var I=F.form;
if(I&&I.isValid()){this.baseParams.path=I.findField("path").getValue();
this.baseParams.date=I.findField("date").getValue();
return true
}return false
}}});
var G=new CQ.Ext.tree.TreeLoader(E);
F.root=new CQ.Ext.tree.AsyncTreeNode(C);
var D=new CQ.Ext.tree.TreePanel({anchor:"100%",bodyBorder:CQ.themes.BrowseDialog.TREE_BORDER,bodyStyle:CQ.themes.BrowseDialog.TREE_STYLE,autoScroll:true,containerScroll:true,loader:G,root:F.root,defaults:{draggable:false},height:260,rootVisible:false});
B={xtype:"dialog",cls:"cq-restoretreedialog",title:CQ.I18n.getMessage("Restore Tree"),formUrl:"/bin/wcmcommand",params:{cmd:"restoreTree",_charset_:"utf-8"},items:{xtype:"panel",items:[{xtype:"fieldset",autoHeight:true,autoWidtht:true,stateful:false,items:[{id:"path",xtype:"browsefield",fieldLabel:CQ.I18n.getMessage("Choose a tree"),allowBlank:false,name:"path",readOnly:true,width:300,value:B.treePath||""},{id:"date",fieldLabel:CQ.I18n.getMessage("Date"),xtype:"datetime",allowBlank:false,name:"date",value:B.date||new Date(),valueAsString:true},{xtype:"button",text:CQ.I18n.getMessage("Show Revisions"),handler:function(){G.load(F.root)
}}]},D]},listeners:{beforesubmit:function(){return F.root.hasChildNodes()
}},okText:CQ.I18n.getMessage("Restore")};
B.buttons=CQ.Dialog.OKCANCEL;
B.width=600;
B.height=470;
CQ.wcm.RestoreTreeDialog.superclass.constructor.call(this,B)
},loadContent:function(B){this.form.findField("path").setValue(B);
this.form.findField("date").setValue(new Date());
while(this.root.firstChild){this.root.removeChild(this.root.firstChild)
}},initComponent:function(){CQ.wcm.RestoreTreeDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("restoretreedialog",CQ.wcm.RestoreTreeDialog);
CQ.wcm.HeavyMoveDialog=CQ.Ext.extend(CQ.Dialog,{store:null,dataUrl:null,path:null,constructor:function(D){if(!D){D=new Object()
}this.dataUrl=D.dataUrl;
if(!this.dataUrl){this.dataUrl="/bin/wcm/heavymove"
}this.path=D.path;
var G=new CQ.wcm.HeavyMoveDialog.CheckColumn({header:CQ.I18n.getMessage("Adjust"),dataIndex:"adjust",enabledIf:"adjustable",width:40});
var H=new CQ.wcm.HeavyMoveDialog.CheckColumn({header:CQ.I18n.getMessage("Republish"),dataIndex:"publish",enabledIf:"published",width:60});
var K=new CQ.Ext.grid.ColumnModel([G,H,{header:CQ.I18n.getMessage("Title"),dataIndex:"title",width:130},{id:"path",header:CQ.I18n.getMessage("Path"),dataIndex:"path",width:220}]);
K.defaultSortable=true;
this.store=new CQ.Ext.data.JsonStore({url:CQ.HTTP.addParameter(this.dataUrl,"path",this.path),root:"pages",fields:[{name:"title"},{name:"path"},{name:"published"},{name:"adjustable"},{name:"publish",defaultValue:true},{name:"adjust",defaultValue:true}]});
var B=new CQ.Ext.grid.GridPanel({store:this.store,stateful:false,cm:K,height:242,frame:false,disableSelection:true,enableHdMenu:false,autoExpandColumn:"path",plugins:[H,G],clicksToEdit:1});
B.on("headerclick",function(M,L,O){if(L==0||L==1){var P=L==0?"adjust":"publish";
var N;
M.store.each(function(Q){if(typeof N=="undefined"){N=!Q.data[P]
}Q.set(P,N);
Q.dirty=false;
return true
})
}return true
});
var F=this.path.lastIndexOf("/");
var C=this.path.substring(0,F);
var E=this.path.substring(F+1);
var I=D.dstParentPath?D.dstParentPath:C;
var J=D.dstName?D.dstName:E;
D={xtype:"dialog",title:CQ.I18n.getMessage("Move"),formUrl:"/bin/wcmcommand",params:{cmd:"movePage",_charset_:"utf-8"},items:{xtype:"panel",items:[{xtype:"fieldset",title:"Location",autoHeight:true,autoWidtht:true,stateful:false,items:[{xtype:"textfield",anchor:"100%",fieldLabel:CQ.I18n.getMessage("Move"),allowBlank:false,name:"srcPath",readOnly:true,value:this.path},{fieldLabel:CQ.I18n.getMessage("to"),xtype:"browsefield",anchor:"100%",name:"destParentPath",value:I,listeners:{blur:function(){while(/(.*)\/$/.test(this.getValue())){this.setValue(this.getValue().replace(/(.*)\/$/,"$1"))
}}}},{xtype:"textfield",anchor:"50%",fieldLabel:CQ.I18n.getMessage("Rename to"),allowBlank:false,name:"destName",value:J}]},B]}};
D.buttons=[{text:CQ.I18n.getMessage("Move"),disabled:false,handler:function(){var M=this;
var L=this.getField("destParentPath").getValue();
if(L==this.path||L.indexOf(this.path+"/")==0){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Move Page"),msg:CQ.I18n.getMessage("Page cannot be moved below itself."),buttons:CQ.Ext.Msg.OK,icon:CQ.Ext.Msg.ERROR});
return 
}CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Move Page"),CQ.I18n.getMessage("Do you really want to move the page to the selected destination?"),function(N){if(N=="yes"){M.ok.call(M)
}})
}},CQ.Dialog.CANCEL];
D.width=600;
D.height=470;
CQ.wcm.HeavyMoveDialog.superclass.constructor.call(this,D);
this.on("beforesubmit",function(){var L=this;
L.store.each(function(M){if(M.data.adjust){L.addHidden({adjust:M.data.path})
}if(M.data.publish){L.addHidden({publish:M.data.path})
}});
return true
})
},initComponent:function(){this.store.load();
CQ.wcm.HeavyMoveDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("heavymovedialog",CQ.wcm.HeavyMoveDialog);
CQ.wcm.HeavyMoveDialog.CheckColumn=function(B){CQ.Ext.apply(this,B);
if(!this.id){this.id=CQ.Ext.id()
}this.renderer=this.renderer.createDelegate(this)
};
CQ.wcm.HeavyMoveDialog.CheckColumn.prototype={init:function(B){this.grid=B;
this.grid.on("render",function(){var C=this.grid.getView();
C.mainBody.on("mousedown",this.onMouseDown,this)
},this)
},onMouseDown:function(E,D){if(D.className&&D.className.indexOf("x-grid3-cc-"+this.id)!=-1){E.stopEvent();
var C=this.grid.getView().findRowIndex(D);
var B=this.grid.store.getAt(C);
B.set(this.dataIndex,!B.data[this.dataIndex]);
B.dirty=false
}},renderer:function(C,D,B){if(!this.enabledIf||B.data[this.enabledIf]){D.css+=" x-grid3-check-col-td";
return'<div class="x-grid3-check-col'+(C?"-on":"")+" x-grid3-cc-"+this.id+'">&#160;</div>'
}else{return"&nbsp;"
}}};
CQ.wcm.ReferencesDialog=CQ.Ext.extend(CQ.Dialog,{TXT_REFERENCE:CQ.I18n.getMessage("reference"),TXT_REFERENCES:CQ.I18n.getMessage("references"),store:null,dataUrl:null,path:null,constructor:function(C){var E=this;
if(!C){C=new Object()
}this.dataUrl=C.dataUrl;
if(!this.dataUrl){this.dataUrl="/bin/wcm/references"
}this.addEvents("pageopen");
this.path=C.path;
var B=new CQ.Ext.grid.ColumnModel([{header:CQ.I18n.getMessage("Title"),dataIndex:"title",width:130},{header:CQ.I18n.getMessage("srcPath"),dataIndex:"srcPath",width:130,hidden:true},{header:CQ.I18n.getMessage("srcTitle"),dataIndex:"srcTitle",width:130,hidden:true},{id:"path",header:CQ.I18n.getMessage("Path"),dataIndex:"path",width:220}]);
B.defaultSortable=true;
this.store=new CQ.Ext.data.GroupingStore({proxy:new CQ.Ext.data.HttpProxy({url:this.dataUrl,method:"GET"}),baseParams:{path:this.path},reader:new CQ.Ext.data.JsonReader({root:"pages",totalProperty:"results",fields:[{name:"title",type:"string"},{name:"path",type:"string"},{name:"srcPath",type:"string"},{name:"srcTitle",type:"string"}]}),sortInfo:{field:"srcPath",direction:"ASC"},groupField:"srcPath",listeners:{load:function(F,H,G){if(H.length==0){CQ.Ext.Msg.alert(CQ.I18n.getMessage("No References"),CQ.I18n.getMessage("The selected page(s) are not referenced."),function(){E.close()
})
}}}});
var D=new CQ.Ext.grid.GridPanel({store:this.store,stateful:false,cm:B,sm:new CQ.Ext.grid.RowSelectionModel({singleSelect:true}),frame:false,view:new CQ.Ext.grid.GroupingView({forceFit:true,groupTextTpl:'{[values.rs[0].data.srcTitle]} ({[values.rs.length]} {[values.rs.length > 1 ? "'+this.TXT_REFERENCES+'" : "'+this.TXT_REFERENCE+'"]})'}),disableSelection:true,enableHdMenu:false,hideHeaders:true,autoExpandColumn:"path",listeners:{rowdblclick:function(G,F,I){var H=G.store.getAt(F);
E.fireEvent("pageopen",E,H.data.path)
}}});
C={xtype:"dialog",title:CQ.I18n.getMessage("References"),formUrl:"/bin//dev/null",items:[D]};
C.buttons=[CQ.Dialog.CANCEL];
C.width=600;
C.height=470;
CQ.wcm.ReferencesDialog.superclass.constructor.call(this,C)
},initComponent:function(){this.store.load();
CQ.wcm.ReferencesDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("referencesdialog",CQ.wcm.ReferencesDialog);
CQ.wcm.LanguageCopyDialog=CQ.Ext.extend(CQ.Dialog,{store:null,dataUrl:null,path:null,rootPath:null,constructor:function(D){if(!D){D=new Object()
}var I=this;
this.path=D.path;
this.rootPath=D.path;
this.dataUrl=D.dataUrl;
var C=this.dataUrl?this.dataUrl:"";
C+=this.path+".languages.json?deep=true";
var G=CQ.Util.externalize("/libs/wcm/msm/resources/flags/");
var B=new CQ.Ext.grid.ColumnModel([{id:"path",header:CQ.I18n.getMessage("Path"),dataIndex:"path"}]);
B.defaultSortable=false;
var H=[];
var F={};
this.store=new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:C}),reader:new CQ.Ext.data.JsonReader(),listeners:{metachange:function(J,N){I.rootPath=N.rootPath;
var M=[];
H=N.fields;
for(var K=0;
K<N.fields.length;
K++){var L=N.fields[K];
if(L.name=="path"){var O=CQ.I18n.getMessage("Path");
O+="<br>"+N.rootPath+"/*";
M.push({id:"path",header:O,dataIndex:"path",title:" "});
continue
}F[L.name]=new CQ.Ext.data.SimpleStore({fields:["value","text"]});
var O=CQ.I18n.getMessage(L.text);
var P='<img style="height:24px" src="'+G+L.country+'.gif" alt="'+O+'" title="'+O+'">';
P+="<br>"+O;
M.push({header:P,title:O,dataIndex:L.name,renderer:CQ.wcm.LanguageCopyDialog.LangRenderer,width:64,editor:new CQ.Ext.form.ComboBox({listWidth:140,triggerAction:"all",editable:false,store:F[L.name],valueField:"value",displayField:"text",mode:"local"})});
M.sort(function(R,Q){if(R.title<Q.title){return -1
}else{if(R.title==Q.title){return 0
}else{return 1
}}})
}B.setConfig(M)
}}});
var E=new CQ.Ext.grid.EditorGridPanel({store:this.store,stateful:false,cm:B,margin:"12",frame:false,disableSelection:true,enableHdMenu:false,autoExpandColumn:"path",clicksToEdit:1,listeners:{beforeedit:function(M){if(M.value.hasContent){return false
}var K=[["",CQ.I18n.getMessage("(auto)")],["-",CQ.I18n.getMessage("(ignore)")]];
for(var N=0;
N<H.length;
N++){var L=H[N];
if(L.name=="path"||L.name==M.field){continue
}if(M.record.data[L.name].hasContent){var J=CQ.I18n.getMessage(L.text);
K.push([L.name,J]);
K.push([L.name+"+",J+"+"])
}}F[M.field].loadData(K)
}}});
D={xtype:"dialog",title:CQ.I18n.getMessage("Language Copy"),formUrl:"/bin/wcmcommand",params:{cmd:"copyLanguages",_charset_:"utf-8"},items:E};
D.buttons=[{text:CQ.I18n.getMessage("Ok"),handler:function(){E.stopEditing();
if(I.store.getModifiedRecords().length==0){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Language Copy"),msg:CQ.I18n.getMessage("No copy operations specified."),buttons:CQ.Ext.Msg.OK,icon:CQ.Ext.Msg.ERROR});
return 
}CQ.Ext.Msg.confirm(CQ.I18n.getMessage("Language Copy"),CQ.I18n.getMessage("Do you really want to copy the respective pages?"),function(J){if(J=="yes"){I.ok.call(I)
}})
}},CQ.Dialog.CANCEL];
D.width=700;
D.height=500;
CQ.wcm.LanguageCopyDialog.superclass.constructor.call(this,D);
this.on("beforesubmit",function(){var O=this;
O.addHidden({path:O.rootPath});
var K=O.store.getModifiedRecords();
for(var L=0;
L<K.length;
L++){var M=K[L];
for(var P in M.data){if(P=="path"){continue
}var J=M.data[P];
if(J&&(typeof J!="object")){var N={};
N[P+"/"+M.data.path]=J;
O.addHidden(N)
}}}return true
})
},initComponent:function(){this.store.load();
CQ.wcm.LanguageCopyDialog.superclass.initComponent.call(this)
}});
CQ.Ext.reg("languagecopydialog",CQ.wcm.LanguageCopyDialog);
CQ.wcm.LanguageCopyDialog.LangRenderer=function(C,D,B){if(typeof C=="object"){return C&&C.hasContent?"X":""
}else{return C
}};
CQ.wcm.ContentFinderDragZone=CQ.Ext.extend(CQ.Ext.dd.DragZone,{scroll:false,IDDM_startX:0,IDDM_startY:0,IDDM_dragThreshMet:false,dropTargets:[],dropTargetRegions:[],constructor:function(C,B){C.on("remove",function(){this.destroy()
},this);
C.on("destroy",function(){this.destroy()
},this);
CQ.wcm.ContentFinderDragZone.superclass.constructor.call(this,C,B)
},destroy:function(){clearTimeout(this.IDDM_clickTimeout);
CQ.Ext.EventManager.un(document,"mousemove",this.IDDM_handleMouseMove,this);
CQ.Ext.EventManager.un(document,"mouseup",this.IDDM_handleMouseUp,this);
CQ.wcm.ContentFinderDragZone.superclass.destroy.call(this)
},matchRange:function(D,B,C){if(!D||!B){return false
}if(!C){C=20
}return(B[0]>D[0]-C&&B[0]<D[0]+C&&B[1]>D[1]-C&&B[1]<D[1]+C)
},updateMouseInfo:function(B,D){try{this.mouse.time=new Date().valueOf();
this.mouse.pos=[B,D]
}catch(C){}},onDragEnter:function(D,E){var C=(typeof E=="string")?CQ.Ext.dd.DragDropMgr.getDDById(E):E;
this.cachedTarget=C;
if(this.beforeDragEnter(C,D,E)!==false){if(C.isNotifyTarget){var B=C.notifyEnter(this,D,this.dragData);
this.proxy.setStatus(B)
}else{this.proxy.setStatus(this.dropAllowed)
}if(this.afterDragEnter){this.afterDragEnter(C,D,E)
}}},onDragCancel:function(){},GEN_handleKeyPress:function(B){if(!CQ.WCM.isContentWindowLoading()){if(B.getKey()==B.ESC){CQ.Ext.EventManager.un(document,"mouseup",this.IDDM_handleMouseUp,this);
CQ.Ext.EventManager.un(document,"keypress",this.GEN_handleKeyPress,this);
CQ.Ext.EventManager.un(CQ.WCM.getContentWindow().document,"keypress",this.GEN_handleKeyPress,this);
if(this.proxy){this.proxy.repair(this.getRepairXY(B,this.dragData),this.afterRepair,this)
}clearTimeout(this.IDDM_clickTimeout);
this.onDragCancel(B,this.cachedTarget);
this.IDDM_dragCurrent=false;
this.dragging=false;
window.setTimeout(this.CF_cleanUpDD,1)
}}},handleMouseDown:function(F){if(!CQ.WCM.isContentWindowLoading()){if(this.primaryButtonOnly&&F.button!=0&&F.type!="mousedown"){return 
}if(this.isLocked()){return 
}this.CF_cleanUpDD();
var E=new CQ.Ext.lib.Point(CQ.Ext.lib.Event.getPageX(F),CQ.Ext.lib.Event.getPageY(F));
if(this.IDDM_isOverTarget(E,this)&&this.clickValidator(F)){CQ.Ext.EventManager.on(document,"mousemove",this.IDDM_handleMouseMove,this);
CQ.Ext.EventManager.on(document,"mouseup",this.IDDM_handleMouseUp,this);
CQ.Ext.EventManager.on(document,"keypress",this.GEN_handleKeyPress,this);
CQ.Ext.EventManager.on(CQ.WCM.getContentWindow().document,"keypress",this.GEN_handleKeyPress,this);
this.setStartPosition();
if(this.dragging){return 
}this.IDDM_dragCurrent=true;
var D=this.getDragData(F);
if(D&&this.onBeforeDrag(D,F)!==false){this.dragData=D;
this.proxy.stop()
}this.b4MouseDown(F);
this.onMouseDown(F);
this.IDDM_startX=F.getPageX();
this.IDDM_startY=F.getPageY();
this.IDDM_deltaX=this.IDDM_startX-this.getEl().offsetLeft;
this.IDDM_deltaY=this.IDDM_startY-this.getEl().offsetTop;
this.IDDM_dragThreshMet=false;
var B=F.getPageX();
var G=F.getPageY();
var C=this;
this.IDDM_clickTimeout=setTimeout(function(){C.IDDM_startDrag(B,G)
},this.DDM.clickTimeThresh);
this.IDDM_stopEvent(F)
}}},CF_storeDropTargets:function(D){if(!CQ.WCM.isContentWindowLoading()){if(!D.isVisible()||!D.getDropTargets||!this.isDropAllowed){return 
}var C=D.getDropTargets();
if(!C){return 
}var B=CQ.WCM.getContentWindow();
try{if(!B.CQ){return 
}}catch(H){return 
}for(var E=0;
E<C.length;
E++){var G=C[E];
if(G.isLocked()||!this.isDropAllowed(G)){continue
}var F=B.CQ.Ext.lib.Region.getRegion(G.getEl());
this.dropTargets.push(G);
this.dropTargetRegions.push(F)
}}},CF_cleanUpDD:function(){CQ.wcm.ContentFinder.unmaskFrame();
this.dropTargets=[];
this.dropTargetRegions=[];
this.dragging=false;
this.IDDM_dragCurrent=false
},CF_b4StartDrag:function(B,H){if(!CQ.WCM.isContentWindowLoading()){var G=CQ.WCM.getContentFinder();
if(!G){throw new Error("No finder defined")
}G.contentWindowLeft=CQ.Ext.get("cq-cf-framewrapper").getX();
var D=CQ.wcm.ContentFinder.maskFrame();
this.dropTargets=[];
this.dropTargetRegions=[];
var C=CQ.WCM.getContentWindow();
try{if(!C.CQ){return 
}}catch(F){return 
}var E=this;
window.setTimeout(function(){var J=C.CQ.WCM.getDialogs();
for(var Q in J){var O=J[Q];
if(!O.isVisible()){continue
}var I=O.getActiveTab();
var N=CQ.Util.findFormFields(I);
for(var K in N){var L=N[K];
for(var M=0;
M<L.length;
M++){E.CF_storeDropTargets(L[M],E)
}}E.CF_storeDropTargets(I,E)
}var P=G.getContentWindow().CQ.WCM.getEditables();
for(var Q in P){E.CF_storeDropTargets(P[Q],E)
}},1);
this.mouse={pos:[-1,-1],lastPos:[-1,-1],time:0}
}},CF_handleMouseMove:function(G){if(!CQ.WCM.isContentWindowLoading()){var F=CQ.WCM.getContentFinder();
if(!F){throw new Error("No finder defined")
}var C=CQ.WCM.getContentWindow();
try{if(!C.CQ){return 
}}catch(G){return 
}var B=G.getPageX()-F.contentWindowLeft+C.CQ.Ext.dd.DDM.getScrollLeft();
var I=G.getPageY()+C.CQ.Ext.dd.DDM.getScrollTop();
var H=this.dropTargetRegions;
for(var D=0;
D<H.length;
D++){if(H[D].contains(new CQ.Ext.lib.Point(B,I))){var E=this.dropTargets[D];
if(E.isLocked()){continue
}if(E==this.cachedTarget){this.onDragOver(G);
this.updateMouseInfo(B,I);
return 
}else{if(this.cachedTarget){this.onDragOut(G)
}this.onDragEnter(G,E);
this.updateMouseInfo(B,I);
return 
}}}if(this.cachedTarget){this.onDragOut(G)
}this.updateMouseInfo(B,I)
}},IDDM_startDrag:function(B,C){clearTimeout(this.IDDM_clickTimeout);
if(this.IDDM_dragCurrent){this.b4StartDrag(B,C);
this.CF_b4StartDrag(B,C);
this.startDrag(B,C)
}this.IDDM_dragThreshMet=true
},IDDM_handleMouseMove:function(D){if(!this.IDDM_dragCurrent||D.type!="mousemove"){return true
}if(CQ.Ext.isIE){document.selection.empty()
}if(CQ.Ext.isIE&&(D.button!==0&&D.button!==1&&D.button!==2)){this.IDDM_stopEvent(D);
return this.IDDM_handleMouseUp(D)
}if(!this.IDDM_dragThreshMet){var C=Math.abs(this.IDDM_startX-D.getPageX());
var B=Math.abs(this.IDDM_startY-D.getPageY());
if(C>this.DDM.clickPixelThresh||B>this.DDM.clickPixelThresh){this.IDDM_startDrag(this.IDDM_startX,this.IDDM_startY)
}}if(this.IDDM_dragThreshMet){this.b4Drag(D);
this.onDrag(D);
this.CF_handleMouseMove(D)
}this.IDDM_stopEvent(D);
return true
},IDDM_handleMouseUp:function(B){if(!CQ.WCM.isContentWindowLoading()){if(CQ.Ext.QuickTips){CQ.Ext.QuickTips.enable()
}if(!this.IDDM_dragCurrent){return 
}clearTimeout(this.IDDM_clickTimeout);
CQ.Ext.EventManager.un(document,"mouseup",this.IDDM_handleMouseUp,this);
CQ.Ext.EventManager.un(document,"keypress",this.GEN_handleKeyPress,this);
CQ.Ext.EventManager.un(CQ.WCM.getContentWindow().document,"keypress",this.GEN_handleKeyPress,this);
if(this.IDDM_dragThreshMet){if(this.cachedTarget){this.onDragDrop(B)
}else{this.onInvalidDrop(this.cachedTarget,B)
}}if(this.IDDM_dragCurrent){if(this.IDDM_dragThreshMet){this.b4EndDrag(B);
this.endDrag(B)
}}this.IDDM_dragCurrent=false;
this.dragging=false;
this.IDDM_stopEvent(B);
window.setTimeout(this.CF_cleanUpDD,1)
}},stopPropagation:true,preventDefault:true,IDDM_stopEvent:function(B){if(this.stopPropagation){B.stopPropagation()
}if(this.preventDefault){B.preventDefault()
}},addToGroup:function(B){this.groups[B]=true
},removeFromGroup:function(B){if(this.groups[B]){delete this.groups[B]
}},setHandleElId:function(B){if(typeof B!=="string"){B=CQ.Ext.id(B)
}this.handleElId=B
},unreg:function(){CQ.Ext.EventManager.un(this.id,"mousedown",this.handleMouseDown,this);
this._domRef=null
},isLocked:function(){return this.locked
},clickValidator:function(C){var B=C.getTarget();
return(this.isValidHandleChild(B)&&(this.id==this.handleElId))
},IDDM_isOverTarget:function(F,B){var G=this.IDDM_getLocation();
if(!G){return false
}this.cursorIsOver=G.contains(F);
if(!this.IDDM_dragCurrent||(!B&&!this.constrainX&&!this.constrainY)){return this.cursorIsOver
}this.overlap=null;
var H=this.getTargetCoord(F.x,F.y);
var D=this.getDragEl();
var E=new CQ.Ext.lib.Region(H.y,H.x+D.offsetWidth,H.y+D.offsetHeight,H.x);
var C=E.intersect(G);
if(C){this.overlap=C;
return(B)?true:this.cursorIsOver
}else{return false
}},IDDM_getLocation:function(){var E=this.getEl(),I,D,C,K,J,L,B,H,F;
try{I=CQ.Ext.lib.Dom.getXY(E)
}catch(G){}if(!I){return null
}D=I[0];
C=D+E.offsetWidth;
K=I[1];
J=K+E.offsetHeight;
L=K-this.padding[0];
B=C+this.padding[1];
H=J+this.padding[2];
F=D-this.padding[3];
return new CQ.Ext.lib.Region(L,B,H,F)
}});
CQ.wcm.ContentFinder=CQ.Ext.extend(CQ.Ext.Viewport,{url:null,path:null,contentWindow:null,contentWindowLeft:0,constructor:function(F){this.debug=F.debug;
var H=this;
if(!document.title){document.title=CQ.wcm.ContentFinder.TITLE
}var B=CQ.Ext.getBody();
B.setStyle("margin","0");
if(CQ.Ext.isIE){B.dom.scroll="no"
}else{B.setStyle("overflow","hidden")
}F=CQ.Util.applyDefaults(F,{sidekick:{xtype:"sidekick"}});
CQ.Ext.EventManager.on(document,"mouseup",function(){CQ.wcm.ContentFinder.unmaskFrame()
});
var E=CQ.HTTP.getAnchor(document.location.href);
if(E&&E!=CQ.wcm.ContentFinder.EXTERNAL_URL){this.url=E
}else{if(F.path){this.url=F.path+".html"
}}var G=document.createElement("iframe");
G.src=this.url?CQ.Util.externalize(this.url):CQ.Ext.SSL_SECURE_URL;
G.id=CQ.wcm.ContentFinder.FRAME_ID;
G.name=CQ.wcm.ContentFinder.FRAME_ID;
G.frameBorder="0";
G.border="0";
var I=new CQ.Ext.Element(G);
I.addClass("cq-frame");
I.setStyle("height","100%");
I.on("load",function(){H.contentWindow=frames[CQ.wcm.ContentFinder.FRAME_ID];
H.contentWindow.onscroll=function(N){var M=CQ.WCM.getContentFinder();
if(M){M.onContentScroll(arguments)
}};
try{var K=H.contentWindow.location.href
}catch(L){if(window.location.anchor!=CQ.wcm.ContentFinder.EXTERNAL_URL){document.title=CQ.wcm.ContentFinder.TITLE;
H.url=CQ.wcm.ContentFinder.EXTERNAL_URL;
CQ.Ext.History.add(CQ.wcm.ContentFinder.EXTERNAL_URL,true,true)
}return 
}var J=CQ.Util.internalize(H.contentWindow.location.href);
J=CQ.HTTP.removeParameters(J);
if(J==CQ.Ext.SSL_SECURE_URL){return 
}if(J!=H.url){H.url=J;
CQ.Ext.History.add(J,true,true)
}document.title=H.contentWindow.document.title;
CQ.WCM.onClipboardChange(function(M){if(!H.clipboardLocked){H.clipboardLocked=true;
window.setTimeout(function(){var O=CQ.WCM.getClipboardRecords();
var N=H.clipboard.items.first().store;
if(N.getCount()){N.removeAll()
}if(O.length>0){N.add(O);
H.clipboard.expand()
}H.clipboardLocked=false
},100)
}})
});
var D=F.items!=undefined?F.items:[];
if(F.extensions){if(F.extensions[CQ.wcm.ContentFinder.EXTENSIONS_TABS]){D=D.concat(F.extensions[CQ.wcm.ContentFinder.EXTENSIONS_TABS])
}}D=CQ.Util.sortByRanking(D);
this.clipboard=new CQ.Ext.Panel({xtype:"panel",region:"south",title:CQ.I18n.getMessage("Clipboard"),id:CQ.wcm.ContentFinder.CLIPBOARD_ID,stateful:true,height:CQ.themes.wcm.ContentFinder.CLIPBOARD_HEIGHT,tools:[{id:"refresh",handler:function(J){CQ.WCM.clearClipboard()
},scope:H}],collapseMode:"mini",collapsible:true,collapsed:true,split:true,animate:true,autoScroll:true,items:[{xtype:"dataview",cls:"cq-cf-clipboard",border:false,layout:"fit",multiSelect:true,overClass:"x-view-over",selectedClass:"x-view-selected",tpl:CQ.wcm.ContentFinder.CLIPBOARD_TEMPLATE,itemSelector:CQ.wcm.ContentFinder.CLIPBOARD_ITEMSELECTOR,store:new CQ.Ext.data.SimpleStore({fields:["path","xtype","action"],data:[]}),prepareData:function(J){J.qtip=J.path;
J.title=CQ.Ext.util.Format.ellipsis(J.title,32);
J.icon=CQ.Util.externalize(J.icon);
return J
}}]});
CQ.wcm.ContentFinder.superclass.constructor.call(this,{id:"cq-cf",layout:"border",renderTo:"CQ",stateful:true,stateEvents:["pathselected"],items:[{id:"cq-cf-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[{id:"cq-cf-west",stateful:true,xtype:"panel",region:"west",layout:"border",collapseMode:"mini",collapsible:true,split:true,animate:true,border:false,width:CQ.themes.wcm.ContentFinder.FINDER_WIDTH,margins:"5 0 0 5",items:[{xtype:"tabpanel",region:"center",id:CQ.wcm.ContentFinder.TABPANEL_ID,stateful:true,activeTab:0,deferredRender:false,enableTabScroll:true,border:false,items:D},this.clipboard]},{xtype:"panel",stateful:false,id:"cq-cf-framewrapper",region:"center",layout:"fit",items:I},{xtype:"panel",stateful:false,id:"cq-cf-east",region:"east",layout:"fit",collapseMode:"mini",collapsible:true,hideCollapseTool:true,collapsed:true,split:true,animate:true,width:400,border:false,hidden:true,hideMode:"offsets",listeners:{collapse:function(J){J.items.each(function(){J.remove(this,true)
});
J.hide()
}}}]}],listeners:{beforeshow:function(){if(CQ.WCM.isEditMode()){this.expand(false)
}else{this.collapse(false)
}}}});
window.top.CQ_ContentFinder=this;
new CQ.Ext.form.Hidden({id:CQ.Ext.History.fieldId,renderTo:CQ.Util.ROOT_ID});
var C=document.createElement("iframe");
C.id=CQ.Ext.History.iframeId;
C.src="javascript:false";
C.className="x-hidden";
C.frameBorder="0";
C.border="0";
new CQ.Ext.Element(C).appendTo(CQ.Util.getRoot());
CQ.Ext.History.init();
CQ.Ext.History.on("change",function(J){if(J==CQ.wcm.ContentFinder.EXTERNAL_URL){return 
}var K=H.url;
if(J!=K){CQ.wcm.ContentFinder.loadContentWindow(J,true)
}})
},getContentWindow:function(){return this.contentWindow?this.contentWindow:frames[CQ.wcm.ContentFinder.FRAME_ID]
},getClipboard:function(){return CQ.WCM.getClipboard(this)
},collapse:function(){CQ.Ext.getCmp("cq-cf-west").collapse()
},expand:function(){CQ.Ext.getCmp("cq-cf-west").expand()
},openSideBoard:function(B,E){var D=document.createElement("iframe");
D.src=B;
D.frameBorder="0";
D.border="0";
var C=new CQ.Ext.Element(D);
C.addClass("cq-frame");
C.setStyle("height","100%");
var F=CQ.Ext.getCmp("cq-cf-east");
if(E){F.setWidth(E)
}F.add(C);
F.on("show",function(){F.expand();
F.un("show")
},this);
F.show()
},closeSideBoard:function(){var B=CQ.Ext.getCmp("cq-cf-east");
B.collapse()
},isSideBoardCollapsed:function(){var B=CQ.Ext.getCmp("cq-cf-east");
return B.collapsed
},onContentScroll:function(){var D=CQ.Ext.getCmp("cq-cf-east");
var B=D.items.get(0);
if(B){var C=B.getEl();
if(C){var E=this.getContentWindow().scrollY
}}}});
CQ.Ext.reg("contentfinder",CQ.wcm.ContentFinder);
CQ.wcm.ContentFinder.TABPANEL_ID="cq-cf-tabpanel";
CQ.wcm.ContentFinder.CLIPBOARD_ID="cq-cf-clipboard";
CQ.wcm.ContentFinder.TITLE=CQ.I18n.getMessage("CQ5 / Content Finder");
CQ.wcm.ContentFinder.EXTERNAL_URL="_";
CQ.wcm.ContentFinder.loadContentWindow=function(C,D){var B=CQ.WCM.getContentWindow();
if(D){B.location.replace(CQ.Util.externalize(C))
}else{B.location.href=CQ.Util.externalize(C)
}};
CQ.wcm.ContentFinder.maskFrame=function(){if(!CQ.wcm.ContentFinder.frameMask){CQ.wcm.ContentFinder.frameMask=CQ.Ext.get("cq-cf-framewrapper").mask()
}return CQ.wcm.ContentFinder.frameMask
};
CQ.wcm.ContentFinder.unmaskFrame=function(){if(CQ.wcm.ContentFinder.frameMask){CQ.wcm.ContentFinder.frameMask=null;
CQ.Ext.get("cq-cf-framewrapper").unmask()
}};
CQ.wcm.ContentFinder.FRAME_ID="cq-cf-frame";
CQ.wcm.ContentFinder.EXTENSIONS_TABS="tabs";
CQ.wcm.ContentFinder.CLIPBOARD_ITEMSELECTOR=".item-wrap";
CQ.wcm.ContentFinder.CLIPBOARD_TEMPLATE='<tpl for="."><div class="item-wrap"  style="background-image:url({icon})" title="{qtip}"><span>{title}</span></div></tpl><div class="x-clear"></div>';
CQ.wcm.ContentFinderTab=CQ.Ext.extend(CQ.Ext.Panel,{fields:null,dataView:null,form:null,history:null,initComponent:function(){CQ.wcm.ContentFinderTab.superclass.initComponent.call(this);
try{this.dataView=this.findByType("dataview")[0]
}catch(D){}try{var B=this.findByType("form");
if(B.length==1){var C=B[0];
this.fields=CQ.Util.findFormFields(C)
}}catch(D){}if(this.historyId){this.history=CQ.Ext.getCmp(this.historyId)
}},constructor:function(B){B=CQ.Util.applyDefaults(B,{layout:"border",items:[],listeners:{show:function(){this.loadStore(this.getParams())
}}});
CQ.wcm.ContentFinderTab.superclass.constructor.call(this,B)
},getParams:function(C){var B;
if((this.fields==null)&&C){var F=C.findParentByType("form");
B=CQ.Util.findFormFields(F)
}else{B=this.fields
}var H=new Object();
for(var D in this.fields){var G=this.fields[D];
for(var E=0;
E<G.length;
E++){H[D]=G[E].getValue()
}}return H
},submitQueryBox:function(B){try{var E=this.getParams(B);
var C=this.getQueryValue();
CQ.wcm.ContentFinderTab.disablePathCombo(this);
this.loadStore(E)
}catch(D){CQ.Log.error("ContentFinderTab#submitQueryBox: "+D.message)
}},loadStore:function(C){try{this.loading=true;
this.dataView.store.load({params:C})
}catch(B){CQ.Log.error("ContentFinderTab#loadStore: "+B.message)
}},setQueryValue:function(C){var B="query";
try{this.fields[B][0].setValue(C)
}catch(D){}},getQueryValue:function(C){var B="query";
try{return this.fields[B][0].getValue()
}catch(D){}}});
CQ.Ext.reg("contentfindertab",CQ.wcm.ContentFinderTab);
CQ.wcm.ContentFinderTab.ROOTPATH="/content";
CQ.wcm.ContentFinderTab.DATAVIEW_URL="/bin/wcm/search/gql.json";
CQ.wcm.ContentFinderTab.getQueryBoxConfig=function(B){B=CQ.Util.applyDefaults(B,{xtype:"form",method:"GET",region:"north",height:CQ.themes.wcm.ContentFinderTab.QUERYBOX_HEIGHT,bodyStyle:CQ.themes.wcm.ContentFinderTab.QUERYBOX_BODYSTYLE,layout:"fit",split:true,autoScroll:true,cls:"cq-ctf-querybox",baseParams:{_charset_:"utf-8"},defaults:{hideLabel:true,anchor:CQ.themes.wcm.ContentFinderTab.QUERYBOX_ANCHOR,stateful:false,style:CQ.themes.wcm.ContentFinderTab.QUERYBOX_FIELDS_STYLE}});
return B
};
CQ.wcm.ContentFinderTab.getSuggestFieldConfig=function(B){B=CQ.Util.applyDefaults(B,{xtype:"suggestfield",name:"query",style:"margin-top:0;",onTriggerClick:function(C){if(C){this.search()
}},listeners:{search:function(){this.search()
}},search:function(){var C=this.findParentByType("contentfindertab");
if(C.history){C.history.addHistory(C.getParams(C))
}C.submitQueryBox.call(C,this)
}});
return B
};
CQ.wcm.ContentFinderTab.getPathComboConfig=function(B){B=CQ.Util.applyDefaults(B,{xtype:"combo",mode:"local",displayField:"text",editable:false,triggerAction:"all",disabled:true,cls:"cq-cft-pathcombo",listClass:"cq-cft-pathcombo-list",width:131,listWidth:131,store:new CQ.Ext.data.SimpleStore({fields:["value","text"],data:[]}),listeners:{select:function(E,C){var D=CQ.Ext.getCmp(B.tabId);
CQ.wcm.ContentFinderTab.openFolder(D,C.data.value)
}}});
return B
};
CQ.wcm.ContentFinderTab.getResultsBoxConfig=function(C,D,E,B){if(!C.store){D=CQ.Util.applyDefaults(D,{url:"",method:"GET"});
E=CQ.Util.applyDefaults(E,{autoLoad:false,proxy:new CQ.Ext.data.HttpProxy(D),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"hits",fields:["name","path","title","excerpt","mimeType","isFolder","contentType","ddGroups","ddNewParagraph","size","lastModified"],id:"path"}),baseParams:{_charset_:"utf-8"},listeners:{load:function(G,F,H){G.records=F
}}})
}C=CQ.Util.applyDefaults(C,{xtype:"panel",region:"center",autoScroll:true,itemsDDGroups:[],itemsDDNewParagraph:null,items:{xtype:"dataview",cls:"cq-cft-dataview",layout:"fit",loadingText:CQ.I18n.getMessage("Loading content..."),multiSelect:true,singleSelect:true,overClass:"x-view-over",emptyText:CQ.I18n.getMessage("No content items to display"),tpl:CQ.wcm.ContentFinderTab.THUMBS_TEMPLATE,itemSelector:CQ.wcm.ContentFinderTab.THUMBS_ITEMSELECTOR,store:new CQ.Ext.data.GroupingStore(E),prepareData:function(F){F.qtipTitle=CQ.I18n.getMessage("Title");
F.shortTitle=CQ.Ext.util.Format.ellipsis(F.title,15);
F.qtipName=CQ.I18n.getMessage("Name");
F.img140Postfix=".thumb.100.140.png";
F.img70Postfix=".thumb.50.70.png";
F.id=this.id;
F.isFolder=F.isFolder===true?true:false;
F.contentType=F.contentType?F.contentType:0;
return F
},listeners:{click:function(P,M,R,O){if(this.ddGroupsFromConfig){return 
}for(var L in this.dragZone.groups){this.dragZone.removeFromGroup(L)
}this.dragZone.itemsDDNewParagraph={};
var G=this.getSelectedRecords();
var F=G[0];
if(!F){return 
}if(F.data.ddGroups){for(var J=0;
J<F.data.ddGroups.length;
J++){var Q=F.data.ddGroups[J];
var N=true;
for(var I=1;
I<G.length;
I++){var K=G[I];
for(var H=0;
H<K.data.ddGroups.length;
H++){if(Q==K.data.ddGroups[H]){N=true;
break
}N=false
}if(!N){break
}}if(N){this.dragZone.addToGroup(Q)
}}}if(F.data.ddNewParagraph){var N=true;
for(var J=1;
J<G.length;
J++){var K=G[J];
if(F.data.ddNewParagraph.path!=K.data.ddNewParagraph.path||F.data.ddNewParagraph.propertyName!=K.data.ddNewParagraph.propertyName){N=false;
break
}}if(N){this.dragZone.itemsDDNewParagraph=F.data.ddNewParagraph;
this.dragZone.addToGroup(CQ.wcm.EditBase.DD_GROUP_COMPONENT)
}}},load:function(){this.loading=false
},render:function(G){if(B!="0"){if(!B){B=CQ.Util.LONG_INTERVAL
}CQ.Util.observeComponent(this,B)
}G.loadMask=new CQ.Ext.LoadMask(G.getEl(),{store:this.store});
G.dragZone=new CQ.wcm.ContentFinderTab.DragZone(G,{containerScroll:false});
G.dragZone.removeFromGroup(CQ.wcm.EditBase.DD_GROUP_DEFAULT);
if(C.itemsDDGroups&&CQ.Ext.isArray(C.itemsDDGroups)&&C.itemsDDGroups.length>0){this.ddGroupsFromConfig=true;
for(var F=0;
F<C.itemsDDGroups.length;
F++){G.dragZone.addToGroup(C.itemsDDGroups[F])
}}if(C.itemsDDNewParagraph){G.dragZone.itemsDDNewParagraph=C.itemsDDNewParagraph;
G.dragZone.addToGroup(CQ.wcm.EditBase.DD_GROUP_COMPONENT)
}}},observe:function(){if(!this.store.records){return 
}if(this.loading||this.refreshing){return 
}if(!this.tab){this.tab=this.findParentByType("contentfindertab")
}var G=CQ.Ext.getCmp(CQ.wcm.ContentFinder.TABPANEL_ID);
if(G.getActiveTab()!=this.tab){return 
}this.refreshing=true;
if(!this.checkStore&&D.url){this.checkStore=new CQ.Ext.data.GroupingStore({proxy:new CQ.Ext.data.HttpProxy({url:D.url,method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"hits",fields:["name","path","title","excerpt","mimeType","isFolder","contentType"],id:"path"}),listeners:{load:function(){var J=this.dataView.store;
var H=this.dataView.checkStore;
var K=J.getCount();
for(var L=0;
L<K;
L++){var I=J.getAt(L);
if(!H.getById(I.id)){J.remove(I);
K--
}}K=H.getCount();
for(var L=0;
L<K;
L++){var I=H.getAt(L);
if(!J.getById(I.id)){J.insert(L,I)
}}this.dataView.refreshing=false
}},dataView:this})
}this.checkStore.proxy.conn.url=this.store.proxy.conn.url;
var F=this.store.lastOptions.params==undefined?this.store.baseParams:this.store.lastOptions.params;
this.checkStore.load({params:F})
}}});
return C
};
CQ.wcm.ContentFinderTab.resultDblClick=function(E,H,D,B,G){try{if(G!=CQ.wcm.ContentFinderTab.NO_CONTENT&&!E.altKey){if(G==CQ.wcm.ContentFinderTab.INTERNAL_CONTENT){CQ.wcm.ContentFinder.loadContentWindow(D+".html")
}else{CQ.Util.reload(window,CQ.Util.externalize(D))
}}else{if(B){var F=CQ.Ext.getCmp(H);
var C=F.findParentByType("contentfindertab");
CQ.wcm.ContentFinderTab.openFolder(C,D)
}}}catch(E){}};
CQ.wcm.ContentFinderTab.openFolder=function(B,C){B.setQueryValue("path:"+C);
var D=B.getParams();
D.openFolder="true";
if(B.history){B.history.addHistory(D)
}CQ.wcm.ContentFinderTab.adjustPathCombo(B,C);
B.loadStore(D)
};
CQ.wcm.ContentFinderTab.adjustPathCombo=function(C,G){try{if(!C.pathCombo&&C.pathComboId){C.pathCombo=CQ.Ext.getCmp(C.pathComboId)
}if(C.pathCombo){var E=[];
var D=G;
while(D.lastIndexOf("/")!=0){D=D.substring(0,D.lastIndexOf("/"));
var B=D.substring(D.lastIndexOf("/")+1);
E.push([D,B?B:"/"])
}C.pathCombo.store.loadData(E);
C.pathCombo.setDisabled(false);
C.pathCombo.setValue(G.substring(G.lastIndexOf("/")+1))
}}catch(F){}};
CQ.wcm.ContentFinderTab.disablePathCombo=function(B){if(!B.pathCombo&&B.pathComboId){B.pathCombo=CQ.Ext.getCmp(B.pathComboId)
}if(B.pathCombo){B.pathCombo.setValue("");
B.pathCombo.setDisabled(true)
}};
CQ.wcm.ContentFinderTab.THUMBS_ITEMSELECTOR=".thumb-wrap";
CQ.wcm.ContentFinderTab.THUMBS_TEMPLATE='<tpl for="."><div class="thumb-wrap"><div class="thumb" style="background-image:url(\'{[CQ.Util.externalize(values.path + values.img140Postfix)]}\');" ondblclick="CQ.wcm.ContentFinderTab.resultDblClick(event, \'{id}\',\'{path}\',{isFolder},{contentType});" qtip="{qtipTitle}: {title}<br/>{qtipName}: {name}"></div><span>{shortTitle}</span></div></tpl><div class="x-clear"></div>';
CQ.wcm.ContentFinderTab.DETAILS_ITEMSELECTOR=".cq-cft-search-item";
CQ.wcm.ContentFinderTab.DETAILS_TEMPLATE='<tpl for="."><div class="cq-cft-search-item"><div title="{path}" class="cq-cft-search-thumb"><img src="{path}.thumb.48.48.png"/></div><div class="cq-cft-search-title">{title}</div><div class="cq-cft-search-size">'+CQ.I18n.getMessage("Size:")+' {size}</div><div class="cq-cft-search-size">'+CQ.I18n.getMessage("Last modified:")+' {lastModified}</div><div class="cq-cft-search-separator"></div></div></tpl>';
CQ.wcm.ContentFinderTab.NO_CONTENT=0;
CQ.wcm.ContentFinderTab.INTERNAL_CONTENT=1;
CQ.wcm.ContentFinderTab.EXTERNAL_CONTENT=2;
CQ.wcm.ContentFinderTab.DragZone=CQ.Ext.extend(CQ.wcm.ContentFinderDragZone,{constructor:function(B,C){this.view=B;
CQ.wcm.ContentFinderTab.DragZone.superclass.constructor.call(this,B.getEl(),C)
},onInitDrag:function(C,D){CQ.wcm.EditBase.DragZone.superclass.onInitDrag.call(this,C,D);
var B=this;
this.flashDropTargetsCheck=window.setInterval(function(){if(!B){return 
}var E=B.mouse;
var F=new Date().valueOf();
if(E&&B.matchRange(E.pos,E.lastPos)&&(F-E.time)>2000){B.flashDropTargets(CQ.WCM.altKey);
E.time=F
}else{B.normalizeDropTargets()
}E.lastPos=E.pos
},500)
},getDragData:function(I){var J=I.getTarget(this.view.itemSelector);
if(J){var L=this.view;
if(!L.isSelected(J)){L.onClick(I)
}var C=L.getSelectedNodes();
var G=L.getSelectedRecords();
var E={nodes:C,records:G};
if(C.length==1){this.initialxy=CQ.Ext.Element.fly(J.firstChild).getXY();
E.ddel=J.firstChild.cloneNode(true);
E.ddel.className+=" cq-cft-ddproxy";
E.single=true
}else{var B=document.createElement("div");
B.style.width=(CQ.themes.wcm.ContentFinderTab.DDPROXY_MULTI_OFFSET*(C.length-1)+CQ.themes.wcm.ContentFinderTab.DDPROXY_WIDTH)+"px";
B.style.height=(CQ.themes.wcm.ContentFinderTab.DDPROXY_MULTI_OFFSET*(C.length-1)+CQ.themes.wcm.ContentFinderTab.DDPROXY_HEIGHT)+"px";
for(var F=0,H=C.length;
F<H;
F++){var K=C[F].firstChild.cloneNode(true);
K.className+=" cq-cft-ddproxy";
K.style.position="absolute";
var D=F*CQ.themes.wcm.ContentFinderTab.DDPROXY_MULTI_OFFSET;
K.style.left=(CQ.themes.wcm.ContentFinderTab.DDPROXY_PADDING_LEFT+D)+"px";
K.style.top=(CQ.themes.wcm.ContentFinderTab.DDPROXY_PADDING_TOP+D)+"px";
B.appendChild(K)
}E.ddel=B;
E.multi=true
}return E
}return null
},afterRepair:function(){for(var C=0,B=this.dragData.nodes.length;
C<B;
C++){}this.dragging=false
},getRepairXY:function(B){if(!this.dragData.multi){this.initialxy[0]+=3;
this.initialxy[1]+=3;
return this.initialxy
}return false
},onInvalidDrop:function(C,B){CQ.wcm.ContentFinderTab.DragZone.superclass.onInvalidDrop.call(this,C,B);
this.clearAnimations(C)
},clearAnimations:function(B){if(B){if(B.hideHighlight){B.hideHighlight()
}if(B.editComponent&&B.editComponent.hideTarget){B.editComponent.hideTarget()
}}this.normalizeDropTargets();
window.clearInterval(this.flashDropTargetsCheck)
},notifyDropDT:function(B,H,F){var I=false;
this.clearAnimations(B);
if(this.isDropAllowed(B,(H&&H.altKey))){if(H&&!H.altKey){var J=[];
for(var G=0;
G<this.dragData.records.length;
G++){J.push(this.dragData.records[G].data.path)
}I=B.editComponent.updateParagraph(B.propertyName,J,B.postParams)
}if(H&&H.altKey){var D=CQ.WCM.getComponentConfig(this.itemsDDNewParagraph.path);
if(D){var E={};
if(this.itemsDDNewParagraph.params){for(var C in this.itemsDDNewParagraph.params){E[C]=this.itemsDDNewParagraph.params[C]
}}var K=true;
for(var G=0;
G<this.dragData.records.length;
G++){E[this.itemsDDNewParagraph.propertyName]=this.dragData.records[G].data.path;
var L=B.editComponent.createParagraph(D,E);
K=(L===false?L:K)
}I=K
}}}this.clearAnimations(B);
return I
},notifyEnterDT:function(C,B){if(this.isDropAllowed(C,(!B||B.altKey))){if(B&&B.altKey){if(C.editComponent){C.editComponent.showTarget()
}C.hideHighlight()
}else{C.showHighlight()
}}return""
},notifyOutDT:function(C,B){if(C.editComponent){C.editComponent.hideTarget()
}C.hideHighlight();
return""
},notifyOverDT:function(D,C){var B=this.isDropAllowed(D,(!C||C.altKey));
if(B){if(C&&C.altKey){if(D.editComponent){D.editComponent.showTarget()
}D.hideHighlight()
}else{if(D.editComponent){D.editComponent.hideTarget()
}}}return B?this.dropAllowed:this.dropNotAllowed
},isDropAllowed:function(C,B){if(B==undefined){return(this.isNonComponentDropAllowed(C)||this.isComponentDropAllowed(C))
}return(B!==true?this.isNonComponentDropAllowed(C):this.isComponentDropAllowed(C))
},isNonComponentDropAllowed:function(D){if(D&&D.groups){var B={};
B[CQ.wcm.EditBase.DD_GROUP_COMPONENT]=true;
if(CQ.Util.isIntersecting(this.groups,D.groups,B)){var C=this.dragData.records[0].data.mimeType;
if(C&&D.ddAccept&&D.ddAccept.indexOf("*")==-1){return CQ.Util.isAcceptedMimeType(D.ddAccept,C)
}else{return true
}}}return false
},isComponentDropAllowed:function(B){return B&&B.groups&&B.groups[CQ.wcm.EditBase.DD_GROUP_COMPONENT]&&this.itemsDDNewParagraph&&this.itemsDDNewParagraph.path&&B.editComponent&&B.editComponent.isInsertAllowed(this.itemsDDNewParagraph.path)
},flashDropTargets:function(C){if(!this.dropTargetsHighlighted){for(var B=0;
B<this.dropTargets.length;
B++){if(!this.isDropAllowed(this.dropTargets[B],C)){continue
}if(this.dropTargets[B]==this.cachedTarget){continue
}this.dropTargets[B].flash()
}this.dropTargetsHighlighted=true
}},normalizeDropTargets:function(){for(var B=0;
B<this.dropTargets.length;
B++){this.dropTargets[B].normalize()
}this.dropTargetsHighlighted=false
},onDragCancel:function(B,C){this.clearAnimations(C)
}});
CQ.wcm.CreateComponentWizard=CQ.Ext.extend(CQ.Ext.Viewport,{constructor:function(C){this.debug=C.debug;
var D=this;
var B=CQ.Ext.getBody();
B.setStyle("margin","0");
if(CQ.Ext.isIE){B.dom.scroll="no"
}else{B.setStyle("overflow","hidden")
}this.form=new CQ.Ext.form.FormPanel({id:"cq-createcomponentwizard-form",region:"center",border:false,labelWidth:150,defaults:{anchor:"100%"},bodyStyle:{padding:"5px"},items:[{xtype:"hidden",name:"./jcr:primaryType",value:"cq:Component"},{xtype:"textfield",name:"./jcr:title",allowBlank:false,fieldLabel:CQ.I18n.getMessage("Title")},{xtype:"textfield",name:"./jcr:description",fieldLabel:CQ.I18n.getMessage("Description")},{xtype:"selection",type:"checkbox",name:"./cq:isContainer",options:[{value:true,text:CQ.I18n.getMessage("Can contain other components")}]},{xtype:"textfield",name:"./cq:cellName",fieldLabel:CQ.I18n.getMessage("Cell Name")},{xtype:"textfield",name:"./sling:resourceSuperType",fieldLabel:CQ.I18n.getMessage("Supertype")},{xtype:"textfield",name:"./componentGroup",fieldLabel:CQ.I18n.getMessage("Group")},{xtype:"browsefield",name:"./dialogPath",fieldLabel:CQ.I18n.getMessage("Dialog Path"),treeRoot:{name:"",text:CQ.I18n.getMessage("/")}}]});
this.locationInfo=new CQ.Ext.Panel({id:"cq-createcomponentwizard-locationInfo",region:"north",border:"false",layout:"form",border:false,labelWidth:150,defaults:{anchor:"100%"},bodyStyle:{padding:"5px"},items:[{xtype:"browsefield",fieldLabel:CQ.I18n.getMessage("Path"),value:"/libs/foundation/components",treeRoot:{name:"",text:CQ.I18n.getMessage("/")}},{xtype:"textfield",name:"label",vtype:"alphanum",fieldLabel:CQ.I18n.getMessage("Name Hint")}]});
this.dialogInfo=new CQ.Ext.Panel({id:"cq-createcomponentwizard-dialogInfo",border:"false",layout:"form",border:false,labelWidth:150,defaults:{anchor:"100%"},bodyStyle:{padding:"5px"},items:[{xtype:"selection",type:"checkbox",name:"dialogs",options:[{value:"component",text:CQ.I18n.getMessage("Create component Dialog")},{value:"design",text:CQ.I18n.getMessage("Create design Dialog")}]}]});
var E=new CQ.Ext.Panel({id:"cq-createcomponentwizard-formwrapper",region:"center",margins:"5 5 5 5",buttonAlign:"right",items:[this.locationInfo,this.form],buttons:[{text:CQ.I18n.getMessage("Create"),handler:function(){if(D.form.getForm().isValid()){var F=D.locationInfo.items.get(0).getValue();
if(!(F.match("^//")=="/")){F=F+"/"
}var G=D.locationInfo.items.get(1).getValue();
if(G&&(G!="")){F=F+G
}D.form.getForm().url=F;
var H=new CQ.form.Action.Submit(D.form.getForm(),{success:function(I,J){},failure:function(I,J){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error creating component"),CQ.I18n.getMessage(J.response.responseText))
},waitMsg:CQ.I18n.getMessage("Creating component...")});
D.form.getForm().doAction(H)
}}}]});
CQ.wcm.CreateComponentWizard.superclass.constructor.call(this,{id:"cq-createcomponentwizard",layout:"border",renderTo:"CQ",items:[{id:"cq-createcomponentwizard-wrapper",xtype:"panel",layout:"border",region:"center",border:false,items:[{id:"cq-header",xtype:"container",autoEl:"div",region:"north",items:[{xtype:"panel",border:false,layout:"column",cls:"cq-header-toolbar"}]},E]}]})
}});
CQ.Ext.reg("createcomponentwizard",CQ.wcm.CreateComponentWizard);
CQ.wcm.Sidekick=CQ.Ext.extend(CQ.Dialog,{pathParam:null,createText:null,createDialog:null,templateSelectionId:null,templateList:null,deleteText:null,deleteUrl:null,publishText:null,publishUrl:null,rolloutText:null,referencesText:null,rolloutUrl:null,lockText:null,lockedByText:null,unlockText:null,lockUrl:null,locked:false,unlockUrl:null,readOnly:false,versionText:null,restoreText:null,restoreDialog:null,versionSelectionId:null,versionList:null,auditText:null,auditDialog:null,permsText:null,permsDialog:null,propsText:null,propsDialog:null,startWorkflowDialog:null,previewText:null,editText:null,designText:null,adminText:null,adminUrl:null,liveCopyStatusText:null,startWorkflowText:null,gotoText:null,actns:null,buttons:null,panels:null,previewReload:false,getPath:function(){return this.path
},loadContent:function(D,B){if(typeof D=="string"){if(this.path){var C=0;
for(;
C<CQ.wcm.Sidekick.componentsWithDragZone.length;
C++){if(CQ.wcm.Sidekick.componentsWithDragZone[C].dragZone){CQ.wcm.Sidekick.componentsWithDragZone[C].dragZone.destroy();
delete CQ.wcm.Sidekick.componentsWithDragZone[C].dragZone
}}CQ.wcm.Sidekick.componentsWithDragZone=[];
if(this.items.getCount()==0){this.add({xtype:"panel",cls:"cq-sidekick-loading"});
this.doLayout()
}}this.path=D;
this.loadPanels(D,B);
this.fireEvent("loadContent",this)
}},addAction:function(C,F){if(C instanceof Array){for(var E=0;
E<C.length;
E++){this.addAction(C[E],F)
}}else{if(!C.xtype){C.xtype="button"
}if(!C.scope){C.scope=this
}if(!C.handler&&C.dialog){C.handler=function(){try{var I=CQ.WCM.getDialog(C.dialog);
I.loadContent(this.getPath());
I.show()
}catch(H){}}
}if(!C.context){C.context=CQ.wcm.Sidekick.PAGE
}if(!this.actns){this.actns=[]
}if(C.context instanceof Array){for(var E=0;
E<C.context.length;
E++){var D=this.panels[C.context[E]].add(C);
this.actns.push(D);
this.buttons[C.name]=D
}}else{var B=this.panels[C.context];
try{if(!B.hasClass("cq-sidekick-buttons")){B.addClass("cq-sidekick-buttons")
}}catch(G){}var D=B.add(C);
this.actns.push(D);
this.buttons[C.name]=D
}}},getCreateConfig:function(){return{text:this.createText,handler:function(){var sidekick=CQ.wcm.Sidekick.findSidekick(this);
if(!(sidekick.createDialog instanceof CQ.Dialog)){try{if(!sidekick.initialConfig.createDialog){CQ.Log.warn("CQ.wcm.Sidekick#getCreateConfig: no create dialog specified");
return 
}sidekick.createDialog=CQ.WCM.getDialog(sidekick.initialConfig.createDialog);
if(sidekick.templateSelectionId&&sidekick.templateList){var templates=sidekick.templateList;
if(typeof sidekick.templateList=="string"){var url=sidekick.templateList;
url=CQ.HTTP.addParameter(url,sidekick.pathParam,this.getPath());
templates=CQ.Util.eval(CQ.HTTP.get(url))
}CQ.Ext.getCmp(sidekick.templateSelectionId).setOptions(templates,true)
}}catch(e){CQ.Log.error("CQ.wcm.Sidekick#getCreateConfig: failed to build create dialog: {0}",e.message);
return 
}}sidekick.createDialog.show()
},context:[CQ.wcm.Sidekick.PAGE]}
},getDeleteConfig:function(){return{text:this.deleteText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
var D=this.getPath();
var C=D.substring(D.lastIndexOf("/")+1);
CQ.Ext.Msg.confirm(B.deleteText,CQ.I18n.getMessage("Do you really want to delete '{0}'?",C),function(E){if(E=="yes"){B.internalDelete(false)
}},this)
},context:[CQ.wcm.Sidekick.PAGE]}
},internalDelete:function(B){CQ.Ext.Ajax.request({url:CQ.Util.externalize("/bin/wcmcommand"),method:"POST",callback:function(E,H,G){var D=CQ.HTTP.buildPostResponseFromHTML(G.responseText);
var C=D.headers[CQ.utils.HTTP.HEADER_STATUS];
if(C==200){var F=this.path.substring(0,this.path.lastIndexOf("/"));
CQ.Util.reload(CQ.WCM.getContentWindow(),CQ.Util.externalize(F+CQ.HTTP.EXTENSION_HTML))
}else{if(C==412){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Delete Page"),msg:"This page is referenced. Click 'yes' to proceed deleting the page, click 'no' to review the references or 'cancel' to cancel the operation.",buttons:CQ.Ext.Msg.YESNOCANCEL,icon:CQ.Ext.MessageBox.QUESTION,fn:function(I){if(I=="yes"){this.internalDelete(true)
}else{if(I=="no"){this.showReferences()
}}},scope:this})
}else{CQ.Notification.notifyFromResponse(D)
}}},params:{path:this.path,_charset_:"utf-8",cmd:"deletePage",force:B},scope:this})
},getPublishConfig:function(){return{text:this.publishText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
CQ.Ext.Msg.confirm(B.publishText,CQ.I18n.getMessage("Do you really want to activate '{0}'?",this.getPath()),function(E){if(E=="yes"){var C=B.publishUrl;
C=CQ.HTTP.addParameter(C,B.pathParam,this.getPath());
C=CQ.HTTP.addParameter(C,"cmd","activate");
var D=CQ.HTTP.post(C)
}},this)
},context:[CQ.wcm.Sidekick.PAGE]}
},getRolloutConfig:function(){var B=CQ.WCM.getPage(this.path);
return{disabled:!B.isLiveCopySource(),text:this.rolloutText,handler:function(){var C=CQ.wcm.Sidekick.findSidekick(this);
var D=this.getPath();
this.rolloutWizard=new CQ.wcm.msm.RolloutWizard({path:D});
this.rolloutWizard.show()
},context:[CQ.wcm.Sidekick.PAGE]}
},getReferencesConfig:function(){return{text:this.referencesText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
B.showReferences()
},context:[CQ.wcm.Sidekick.PAGE]}
},showReferences:function(){var B=new CQ.wcm.ReferencesDialog({path:this.path});
B.on("pageopen",function(D,C){D.close();
CQ.Util.reload(CQ.WCM.getContentWindow(),CQ.Util.externalize(C+CQ.HTTP.EXTENSION_HTML))
});
B.show()
},getLockConfig:function(){var B=CQ.WCM.getPage(this.path);
var C;
if(B.isLocked()){if(!B.canUnlock()){C=this.lockedByText+B.getLockOwner()+")"
}else{C=this.unlockText
}}else{C=this.lockText
}return{text:C,handler:function(){var D=CQ.wcm.Sidekick.findSidekick(this);
var E=CQ.WCM.getPage(D.path);
if(E){var F="";
if(E.isLocked()){E.unlock();
F=this.lockText
}else{E.lock();
F=this.unlockText
}D.buttons[CQ.wcm.Sidekick.LOCK].setText(F)
}},context:CQ.wcm.Sidekick.PAGE}
},getVersionConfig:function(){return{text:this.versionText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
if(!(B.versionDialog instanceof CQ.Dialog)){try{if(!B.initialConfig.versionDialog){CQ.Log.warn("CQ.wcm.Sidekick#getVersionConfig: no version dialog specified");
return 
}B.versionDialog=CQ.WCM.getDialog(B.initialConfig.versionDialog)
}catch(C){CQ.Log.error("CQ.wcm.Sidekick#getVersionConfig: failed to build version dialog: {0}",C.message);
return 
}}B.versionDialog.loadContent(this.getPath());
B.versionDialog.show()
},context:CQ.wcm.Sidekick.VERSIONING}
},getRestoreConfig:function(){return{text:this.restoreText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
if(!(B.restoreDialog instanceof CQ.Dialog)){try{if(!B.initialConfig.restoreDialog){CQ.Log.warn("CQ.wcm.Sidekick#getRestoreConfig: no restore dialog specified");
return 
}B.restoreDialog=CQ.WCM.getDialog(B.initialConfig.restoreDialog)
}catch(C){CQ.Log.error("CQ.wcm.Sidekick#getRestoreConfig: failed to build restore dialog: {0}",C.message);
return 
}}B.restoreDialog.loadContent(this.getPath());
B.restoreDialog.success=function(){CQ.WCM.getContentWindow().setTimeout(function(){CQ.Util.reload(CQ.WCM.getContentWindow())
},1000)
};
B.restoreDialog.show()
},context:CQ.wcm.Sidekick.VERSIONING}
},getAuditConfig:function(){return{text:this.auditText,handler:function(){var B=CQ.wcm.Sidekick.findSidekick(this);
if(!(B.auditDialog instanceof CQ.Dialog)){try{if(!B.initialConfig.auditDialog){CQ.Log.warn("CQ.wcm.Sidekick#getAuditConfig: no audit log dialog specified");
return 
}B.auditDialog=CQ.WCM.getDialog(B.initialConfig.auditDialog)
}catch(C){CQ.Log.error("CQ.wcm.Sidekick#getAuditConfig: failed to build audit log dialog: {0}",C.message);
return 
}}B.auditDialog.loadContent(this.getPath());
B.auditDialog.show()
},context:CQ.wcm.Sidekick.INFO}
},getPermsConfig:function(B){return{text:this.permsText,handler:function(){var D=CQ.wcm.Sidekick.findSidekick(this);
var C=B.permsDialog?B.permsDialog:D.initialConfig.permsDialog;
var E;
try{if(!C){CQ.Log.warn("CQ.wcm.Sidekick#getPermsConfig: no permissions dialog specified");
return 
}E=CQ.WCM.getDialog(C)
}catch(F){CQ.Log.error("CQ.wcm.Sidekick#getPermsConfig: failed to build permissions dialog: {0}",F.message);
return 
}E.loadContent(this.getPath());
E.show()
},context:CQ.wcm.Sidekick.INFO}
},getPropsConfig:function(B){return{text:this.propsText,handler:function(){var E=CQ.wcm.Sidekick.findSidekick(this);
var D=B.propsDialog?B.propsDialog:E.initialConfig.propsDialog;
var F;
try{var C=CQ.utils.WCM.getContentWindow();
if(!D){CQ.Log.warn("CQ.wcm.Sidekick#getPropsConfig: no properties dialog specified");
return 
}var H=C.CQ.WCM.getDialogConfig(D);
if(!H.success){H.success=function(I,J){CQ.Util.reload(CQ.WCM.getContentWindow())
}
}if(!H.failure){H.failure=function(J,K){var I=CQ.HTTP.buildPostResponseFromHTML(K.response);
CQ.Ext.Msg.alert(I.headers[CQ.HTTP.HEADER_MESSAGE])
}
}F=C.CQ.WCM.getDialog(H,D);
F.loadContent(this.getPath()+"/jcr:content")
}catch(G){CQ.Log.error("CQ.wcm.Sidekick#getPropsConfig: failed to build properties dialog: {0}",G.message);
return 
}F.show()
},context:CQ.wcm.Sidekick.PAGE}
},getStartWorkflowConfig:function(){return{text:this.startWorkflowText,handler:function(){var C=CQ.wcm.Sidekick.findSidekick(this);
if(!(C.startWorkflowDialog instanceof CQ.Dialog)){try{if(!C.initialConfig.startWorkflowDialog){CQ.Log.warn("CQ.wcm.Sidekick#getStartWorkflowConfig: no start workflow dialog specified");
return 
}var B={"jcr:primaryType":"cq:Dialog",title:CQ.I18n.getMessage("Start Workflow"),formUrl:"/etc/workflow/instances",params:{_charset_:"utf-8",payloadType:"JCR_PATH"},items:{"jcr:primaryType":"cq:Panel",items:{"jcr:primaryType":"cq:WidgetCollection",model:{xtype:"combo",name:"model",hiddenName:"model",fieldLabel:CQ.I18n.getMessage("Workflow"),displayField:"label",valueField:"wid",title:CQ.I18n.getMessage("Available Workflows"),selectOnFocus:true,triggerAction:"all",allowBlank:false,editable:false,store:new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/libs/workflow/content/console/workflows.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"workflows"},[{name:"wid"},{name:"label"}])})},title:{"jcr:primaryType":"cq:TextArea",fieldLabel:CQ.I18n.getMessage("Comment"),name:"startComment",height:200}}},okText:CQ.I18n.getMessage("Start")};
var D=CQ.WCM.getDialog(B);
D.addHidden({payload:this.getPath()});
D.failure=function(){CQ.Ext.Msg.alert("Error","Could not start workflow.")
};
C.startWorkflowDialog=D
}catch(G){CQ.Log.error("CQ.wcm.Sidekick#getStartWorkflowConfig: failed to build start workflow dialog: {0}",G.message);
return 
}}var E=CQ.WCM.getPageInfo(this.getPath());
var F=E.workflow&&E.workflow.isRunning;
if(!F){C.startWorkflowDialog.getField("payload").setValue(this.getPath());
C.startWorkflowDialog.show()
}else{CQ.Ext.Msg.alert(CQ.I18n.getMessage("Information"),CQ.I18n.getMessage("Page is already subject to a workflow!"))
}},context:CQ.wcm.Sidekick.WORKFLOW}
},loadPanels:function(F,C){var B=this;
if(!C){C={}
}C=CQ.Ext.applyIf(C,this.initialConfig);
if(!this.panelsLoaded){this.panels={};
for(var E=0;
E<CQ.wcm.Sidekick.CONTEXTS.length;
E++){if(CQ.wcm.Sidekick.CONTEXTS[E]==CQ.wcm.Sidekick.COMPONENTS){this.panels[CQ.wcm.Sidekick.CONTEXTS[E]]=new CQ.Ext.Panel({border:false,autoScroll:true,layout:"accordion",stateful:false,id:"cq-sk-tab-"+CQ.wcm.Sidekick.CONTEXTS[E]})
}else{if(CQ.wcm.Sidekick.CONTEXTS[E]==CQ.wcm.Sidekick.VERSIONING||CQ.wcm.Sidekick.CONTEXTS[E]==CQ.wcm.Sidekick.WORKFLOW){this.panels[CQ.wcm.Sidekick.CONTEXTS[E]]=new CQ.Ext.Panel({border:false,stateful:false,layout:"fit",id:"cq-sk-tab-"+CQ.wcm.Sidekick.CONTEXTS[E]})
}else{this.panels[CQ.wcm.Sidekick.CONTEXTS[E]]=new CQ.Ext.Panel({border:false,stateful:false,id:"cq-sk-tab-"+CQ.wcm.Sidekick.CONTEXTS[E]})
}}}this.items.get(0).getEl().fadeOut({callback:function(G){B.remove(B.items.get(0),true);
B.add({xtype:"tabpanel",border:false,enableTabScroll:true,deferredRender:false,activeTab:0,stateful:true,id:"cq-sk-tabpanel",listeners:{tabchange:function(I,H,J){H.doLayout()
}},items:[{tabTip:CQ.I18n.getMessage("Components"),iconCls:"cq-sidekick-tab cq-sidekick-tab-icon-components",items:B.panels[CQ.wcm.Sidekick.COMPONENTS],layout:"fit"},{tabTip:CQ.I18n.getMessage("Page"),iconCls:"cq-sidekick-tab cq-sidekick-tab-icon-page",items:B.panels[CQ.wcm.Sidekick.PAGE],layout:"fit"},{tabTip:CQ.I18n.getMessage("Information"),iconCls:"cq-sidekick-tab cq-sidekick-tab-icon-info",items:B.panels[CQ.wcm.Sidekick.INFO],layout:"fit"},{tabTip:CQ.I18n.getMessage("Versioning"),iconCls:"cq-sidekick-tab cq-sidekick-tab-icon-versioning",items:B.panels[CQ.wcm.Sidekick.VERSIONING],layout:"fit"},{tabTip:CQ.I18n.getMessage("Workflow"),iconCls:"cq-sidekick-tab cq-sidekick-tab-icon-workflow",items:B.panels[CQ.wcm.Sidekick.WORKFLOW],layout:"fit"}]});
B.doLayout();
B.items.get(0).getEl().fadeIn()
}});
this.panelsLoaded=true
}else{for(var D in this.panels){if(this.panels[D].items){while(this.panels[D].items.getCount()>0){this.panels[D].remove(this.panels[D].items.get(0),true)
}}}}this.loadActions(C);
window.setTimeout(function(){CQ.WCM.loadComponentList(B.panels[CQ.wcm.Sidekick.COMPONENTS],B.getPath(),null);
B.loadVersioningTab();
B.loadWorkflowTab()
},1);
this.doLayout()
},loadVersioningTab:function(){var D=[{name:"name"},{name:"title"},{name:"created"},{name:"label"},{name:"id"},{name:"deleted"}];
var C=new CQ.Ext.data.JsonReader({root:"versions",fields:D});
var H=new CQ.Ext.grid.CheckboxSelectionModel({singleSelect:true});
var G=function(K,J,I){if(I.data.deleted){J.attr='style="color:grey;"'
}return K
};
var E=new CQ.Ext.grid.GridPanel({border:false,width:"auto",height:"auto",loadMask:true,stripeRows:true,cm:new CQ.Ext.grid.ColumnModel([H,{header:CQ.I18n.getMessage("Label"),dataIndex:"label",sortable:false,width:50,renderer:G},{header:CQ.I18n.getMessage("Created"),dataIndex:"created",sortable:false,width:116,renderer:G},{header:CQ.I18n.getMessage("Title"),dataIndex:"title",sortable:false,hidden:true,width:80,renderer:G},{header:CQ.I18n.getMessage("Name"),dataIndex:"name",hidden:true,sortable:false,width:80,renderer:G}]),sm:H,store:new CQ.Ext.data.SimpleStore({fields:D}),enableHdMenu:true});
var F=this.panels[CQ.wcm.Sidekick.VERSIONING];
var B={xtype:"panel",layout:"accordion",defaults:{xtype:"panel",border:false,autoScroll:true},border:false,items:[{title:CQ.I18n.getMessage("Create Version"),layout:"form",cls:"cq-sidekick-form",items:[{xtype:"textfield",name:"label",id:"cq-sk-cv-label",fieldLabel:CQ.I18n.getMessage("Label"),listeners:{render:function(){this.el.parent().parent().setStyle("display","none")
}}},{xtype:"textarea",name:"comment",id:"cq-sk-cv-comment",growMin:30,fieldLabel:CQ.I18n.getMessage("Comment"),defaultValue:CQ.I18n.getMessage("Created by {0}",CQ.User.getCurrentUser().getUserName())},{xtype:"panel",layout:"column",border:false,defaults:{border:false},items:[{xtype:"panel",items:{xtype:"button",text:CQ.I18n.getMessage("Create Version"),handler:function(){var I=CQ.wcm.Sidekick.findSidekick(this);
var J=CQ.Util.externalize("/bin/wcmcommand");
var K={};
K[CQ.Sling.CHARSET]="utf-8";
K[CQ.Sling.STATUS]=CQ.Sling.STATUS_BROWSER;
K.cmd="createVersion";
K.label=CQ.Ext.getCmp("cq-sk-cv-label").getValue();
K.comment=CQ.Ext.getCmp("cq-sk-cv-comment").getValue();
K[I.pathParam]=I.getPath();
var L=function(M,P,O){if(P){var N=CQ.HTTP.buildPostResponseFromHTML(O.responseText);
if(N.headers[CQ.HTTP.HEADER_STATUS]=="200"){CQ.Notification.notifyFromResponse(N);
CQ.Ext.getCmp("cq-sk-cv-label").reset();
CQ.Ext.getCmp("cq-sk-cv-comment").reset()
}}};
CQ.HTTP.post(J,L,K)
}}},{xtype:"panel",items:{xtype:"button",text:CQ.I18n.getMessage("More")+" &raquo;",handler:function(){var I=CQ.Ext.getCmp("cq-sk-cv-label").el.parent().parent();
if(I.isVisible()){I.setStyle("display","none");
this.setText(CQ.I18n.getMessage("More")+" &raquo;")
}else{I.setStyle("display","");
this.setText(CQ.I18n.getMessage("Less")+" &laquo;")
}}}}]}]},{title:CQ.I18n.getMessage("Restore Version"),layout:"form",cls:"cq-sidekick-form",listeners:{beforeexpand:function(){var J=CQ.wcm.Sidekick.findSidekick(this);
var K="/bin/wcm/versions.json";
K=CQ.HTTP.addParameter(K,J.pathParam,J.getPath());
K=CQ.HTTP.noCaching(K);
var M=C.read(CQ.HTTP.get(K));
var I={};
for(var L=0;
L<M.records.length;
L++){var O=M.records[L].data;
I[O.id]=[O.name,O.title,O.created,O.label,O.id,O.deleted]
}var N=[];
for(var P in I){N[N.length]=I[P]
}E.getStore().loadData(N);
if(CQ.HTTP.getParameter(CQ.WCM.getContentUrl(),"cq_diffTo")!=null){E.el.mask()
}}},items:[{xtype:"panel",layout:"column",border:false,defaults:{border:false,autoScroll:true},items:[{xtype:"panel",items:{xtype:"button",hidden:true,text:CQ.I18n.getMessage("View"),handler:function(){}}},{xtype:"panel",items:{xtype:"button",text:CQ.HTTP.getParameter(CQ.WCM.getContentUrl(),"cq_diffTo")==null?CQ.I18n.getMessage("Diff"):"&laquo; "+CQ.I18n.getMessage("Back"),handler:function(){var J=CQ.HTTP.getParameter(CQ.WCM.getContentUrl(),"cq_diffTo")!=null;
var I=CQ.wcm.Sidekick.findSidekick(this);
if(J){this.setText(CQ.I18n.getMessage("Diff"));
E.el.unmask();
var K=CQ.Util.externalize(I.getPath()+".html");
K=CQ.HTTP.noCaching(K);
CQ.Util.reload(CQ.WCM.getContentWindow(),K)
}else{var L=E.getSelectionModel().getSelected();
if(!L){alert(CQ.I18n.getMessage("Please select a version first."));
return 
}var K=CQ.Util.externalize(I.getPath()+".html");
K=CQ.HTTP.addParameter(K,"cq_diffTo",L.data.label);
K=CQ.HTTP.addParameter(K,"wcmmode","disabled");
K=CQ.HTTP.noCaching(K);
this.setText("&laquo; "+CQ.I18n.getMessage("Back"));
E.el.mask();
CQ.Util.reload(CQ.WCM.getContentWindow(),K)
}}}},{xtype:"panel",items:{xtype:"button",text:CQ.I18n.getMessage("Restore"),handler:function(){var I=CQ.wcm.Sidekick.findSidekick(this);
var L=E.getSelectionModel().getSelected();
if(!L){alert(CQ.I18n.getMessage("Please select a version first."));
return 
}if(confirm(CQ.I18n.getMessage("Do you really want to restore the selected version of this page?"))){var J=CQ.Util.externalize("/bin/wcmcommand");
var K={};
K[CQ.Sling.CHARSET]="utf-8";
K[CQ.Sling.STATUS]=CQ.Sling.STATUS_BROWSER;
K.cmd="restoreVersion";
K.id=L.data.id;
K[I.pathParam]=I.getPath();
var M=function(O,R,Q){if(R){var P=CQ.HTTP.buildPostResponseFromHTML(Q.responseText);
if(P.headers[CQ.HTTP.HEADER_STATUS]=="200"){var N=CQ.Util.externalize(I.getPath()+".html");
N=CQ.HTTP.noCaching(N);
CQ.Util.reload(CQ.WCM.getContentWindow(),N)
}}};
CQ.HTTP.post(J,M,K)
}}}}]},{xtype:"panel",border:false,style:"border-top-width:1px",items:E}]}]};
F.add(B);
F.doLayout()
},loadWorkflowTab:function(){var d=this.panels[CQ.wcm.Sidekick.WORKFLOW];
var a=this.path;
var N=[];
var C=CQ.WCM.getPageInfo(this.getPath());
var Q=[];
var P=C.workflows.models;
for(var S=0;
S<P.length;
++S){Q.push({value:P[S]["wid"],text:P[S]["label"]})
}var I={};
var H=C.workflow&&C.workflow.isRunning;
if(H){I=new CQ.Ext.Button({text:CQ.I18n.getMessage("Start Workflow"),disabled:true,tooltip:CQ.I18n.getMessage("Page is already subject to a workflow")})
}else{I=new CQ.Ext.Button({text:CQ.I18n.getMessage("Start Workflow"),handler:function(){var k=CQ.wcm.Sidekick.findSidekick(this);
var m=k.getField("startWorkflowModel").hiddenField;
var h=k.getField("startComment");
if(m.getValue()==""){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("Please select a workflow first!"));
return 
}var n={_charset_:"utf-8",payloadType:"JCR_PATH",payload:a,model:m.getValue(),startComment:h.getValue()};
var l="/etc/workflow/instances";
var o=function(r,u,t){if(u){var s=CQ.HTTP.buildPostResponseFromHTML(t.responseText);
if(s.headers[CQ.HTTP.HEADER_STATUS]=="201"){var q=CQ.Util.externalize(k.getPath()+".html");
q=CQ.HTTP.noCaching(q);
CQ.Util.reload(CQ.WCM.getContentWindow(),q)
}}};
CQ.HTTP.post(l,o,n)
}})
}var W=new CQ.Ext.Panel({title:CQ.I18n.getMessage("Workflow"),layout:"form",cls:"cq-sidekick-form",items:[{xtype:"selection",type:"select",name:"startWorkflowModel",triggerAction:"all",fieldLabel:CQ.I18n.getMessage("Workflow"),selectOnFocus:true,allowBlank:false,cls:"x-form-element",options:Q},{xtype:"textarea",fieldLabel:CQ.I18n.getMessage("Comment"),cls:"x-form-element",name:"startComment",height:50},{xtype:"panel",border:false,cls:"cq-sidekick-form",items:[I]}]});
N.push(W);
var c=C.blueprint;
var K=[];
if(c&&c["msm:slavePaths"]){var T=c["msm:slavePaths"];
for(var S=0;
S<T.length;
++S){K.push({text:T[S],value:T[S],checked:true})
}}if(K.length>0){var G=new CQ.Ext.Panel({title:CQ.I18n.getMessage("Rollout"),layout:"form",cls:"cq-sidekick-form",items:[{xtype:"selection",cls:"x-form-field",name:"target",fieldLabel:CQ.I18n.getMessage("Select Targets"),type:"checkbox",options:K},{xtype:"selection",name:"type",cls:"x-form-field",fieldLabel:CQ.I18n.getMessage("Rollout Type"),type:"radio",value:"page",options:[{text:CQ.I18n.getMessage("Entire Page"),value:"page"},{text:CQ.I18n.getMessage("Page & child pages"),value:"deep"},{text:CQ.I18n.getMessage("Selected components"),value:"selected"},{text:CQ.I18n.getMessage("Delete & rollout selected"),value:"delete"}]},{xtype:"panel",cls:"cq-sidekick-form",border:false,items:{xtype:"button",text:CQ.I18n.getMessage("Rollout"),handler:function(){var l=CQ.wcm.Sidekick.findSidekick(this);
var q=l.getField("target");
var k=l.getField("type").getValue();
var o=false;
var s=[];
if(q.getValue().length==0){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("You have to select at least one target!"));
return 
}if(k=="selected"||k=="delete"){var m=CQ.WCM.getContentWindow().CQ.WCM.getSelection();
m.each(function(){if(this.path&&this.path.charAt(this.path.length-1)!="*"){s.push(this.path)
}});
if(s.length==0){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("You have to select at least one component."));
return 
}}var n={_charset_:"utf-8",cmd:"rollout",path:a,target:q.getValue(),type:k};
if(s.length>0){n.paras=s
}var h="/bin/wcmcommand";
var r=function(u,y,x){if(y){var w=CQ.HTTP.buildPostResponseFromHTML(x.responseText);
if(w.headers[CQ.HTTP.HEADER_STATUS]=="200"){var t="Rolled out this page.";
if(k=="deep"){t="Rolled out this page and all child pages."
}else{if(k=="selected"){t="Rolled out the selected components."
}else{if(k=="delete"){t="Deleted and rolled out the selected components."
}}}CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage(t),function(){if(k=="delete"){var z=CQ.Util.externalize(l.getPath()+".html");
z=CQ.HTTP.noCaching(z);
CQ.Util.reload(CQ.WCM.getContentWindow(),z)
}})
}}};
CQ.HTTP.post(h,r,n)
}}}]});
N.push(G)
}var D=false;
var O={};
try{var C=CQ.WCM.getPageInfo(this.getPath());
O=C.translation;
if(C.workflow&&C.workflow.isRunning){D=true
}else{var Y=CQ.Util.externalize("/libs/wcm/msm/resources/flags/");
var J=C.languages.rows;
var L=[];
if(J){for(var S=0;
S<J.length;
S++){var F=J[S];
if(F.path!=this.path){var g="";
var B="";
if(F.exists){B="color: black";
g="<a href='"+CQ.Util.externalize(F.path)+".html' target='_new' style='"+B+"'><img style='vertical-align:text-bottom;width:20px;' src='"+Y+F.country+".gif'></a>"
}else{B="color: #888888";
g="<a href='"+CQ.Util.externalize(F.path)+".html' target='_new' style='"+B+"'><img style='vertical-align:text-bottom;opacity:0.4;filter:alpha(opacity:40);width:20px;' src='"+Y+F.country+".gif'></a>"
}var X="<span style='"+B+"'><a href='"+CQ.Util.externalize(F.path)+".html' target='_new' style='"+B+"'>"+F.language+"</a></span>";
L.push({text:g+" "+X,value:F.path})
}}}}}catch(Z){}var V;
if(!D){V=new CQ.Ext.Panel({title:CQ.I18n.getMessage("Translation"),layout:"form",cls:"cq-sidekick-form",items:[{xtype:"selection",cls:"x-form-field",name:"langTargets",fieldLabel:CQ.I18n.getMessage("Select Languages"),type:"checkbox",options:L},{xtype:"selection",type:"select",name:"model",fieldLabel:CQ.I18n.getMessage("Workflow"),selectOnFocus:true,allowBlank:false,cls:"x-form-element",options:Q},{xtype:"panel",layout:"column",border:false,cls:"cq-sidekick-form",defaults:{border:false},items:[{xtype:"panel",items:[{xtype:"button",text:CQ.I18n.getMessage("Translate"),handler:function(){var k=CQ.wcm.Sidekick.findSidekick(this);
var h=k.getField("langTargets").getValue();
var n=k.getField("model").hiddenField;
var m="/libs/wcm/msm/content/commands/translate";
if(n.getValue()==""){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("Please select a workflow first."));
return 
}if(h.length==0){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("You have to select at least one target."));
return 
}var o={_charset_:"utf-8",path:a,target:h,model:n.getValue()};
CQ.HTTP.post(m,null,o);
var l=CQ.Util.externalize(k.getPath()+".html");
l=CQ.HTTP.noCaching(l);
CQ.Util.reload(CQ.WCM.getContentWindow(),l)
}}]}]}]})
}else{var U=new CQ.Ext.grid.CheckboxSelectionModel({singleSelect:true});
var b=new CQ.Ext.grid.GridPanel({border:false,width:"auto",height:"auto",loadMask:true,stripeRows:true,cm:new CQ.Ext.grid.ColumnModel([U,{header:CQ.I18n.getMessage("Label"),dataIndex:"label",sortable:false,width:50},{header:CQ.I18n.getMessage("Created"),dataIndex:"created",sortable:false,width:116},{header:CQ.I18n.getMessage("Title"),dataIndex:"title",sortable:false,hidden:true,width:80},{header:CQ.I18n.getMessage("Name"),dataIndex:"name",hidden:true,sortable:false,width:80}]),sm:U,store:new CQ.Ext.data.SimpleStore({fields:[{name:"name"},{name:"title"},{name:"created"},{name:"label"},{name:"id"},{name:"deleted"}]}),enableHdMenu:true});
var R=CQ.I18n.getMessage("Show Side-By-Side");
var E=CQ.I18n.getMessage("Hide");
V=new CQ.Ext.Panel({title:CQ.I18n.getMessage("Translation"),layout:"form",cls:"cq-sidekick-form",listeners:{beforeexpand:function(){var k=CQ.wcm.Sidekick.findSidekick(this);
var h={};
var q=O.original.versions;
for(var l=0;
l<q.length;
l++){var n=q[l];
h[n.id]=[n.name,n.title,n.created,n.label,n.id,n.deleted]
}var m=[];
for(var o in h){m[m.length]=h[o]
}b.getStore().loadData(m);
if(CQ.HTTP.getParameter(CQ.WCM.getContentUrl(),"cq_diffTo")!=null){b.el.mask()
}}},items:[{xtype:"panel",layout:"column",border:true,defaults:{border:false,autoScroll:true},items:[{xtype:"panel",items:{xtype:"button",text:CQ.WCM.getContentFinder()&&CQ.WCM.getContentFinder().isSideBoardCollapsed()?R:E,handler:function(){var h=CQ.wcm.Sidekick.findSidekick(this);
if(CQ.WCM.getContentFinder().isSideBoardCollapsed()){var l=b.getSelectionModel().getSelected();
if(!l){alert(CQ.I18n.getMessage("Please select a version first."));
return 
}var k=CQ.Util.externalize(O.original.path+".html");
k=CQ.HTTP.addParameter(k,"cq_diffTo",l.data.label);
k=CQ.HTTP.addParameter(k,"wcmmode","disabled");
k=CQ.HTTP.noCaching(k);
this.setText(E);
b.el.mask();
CQ.WCM.getContentFinder().openSideBoard(k,400)
}else{b.el.unmask();
this.setText(R);
CQ.WCM.getContentFinder().closeSideBoard()
}}}},{xtype:"panel",items:b}]}]})
}N.push(V);
var M=new CQ.Ext.Panel({layout:"accordion",border:false,defaults:{autoScroll:true,xtype:"panel",collapsed:true,border:false},items:N});
d.add(M);
d.doLayout()
},loadActions:function(D){CQ.Timing.stamp("Start rendering sidekick");
this.buttons={};
var J=CQ.User.getCurrentUser().hasPermissionOn("wcm/privileges/modifyhierarchy",this.getPath());
var H=CQ.WCM.getPage(this.path);
var F=D.actions;
for(var G=0;
G<F.length;
G++){var B=F[G];
var E,I;
if(typeof B=="string"){I=B;
if(B==CQ.wcm.Sidekick.CREATE){E=this.getCreateConfig();
if(!D.createDialog){E.disabled=true
}E.disabled=!J
}if(B==CQ.wcm.Sidekick.DELETE){E=this.getDeleteConfig();
E.disabled=!J
}if(B==CQ.wcm.Sidekick.PUBLISH){E=this.getPublishConfig()
}if(B==CQ.wcm.Sidekick.ROLLOUT){E=this.getRolloutConfig()
}if(B==CQ.wcm.Sidekick.REFERENCES){E=this.getReferencesConfig()
}if(B==CQ.wcm.Sidekick.LOCK){E=this.getLockConfig();
if(!H||(H.isLocked()&&!H.canUnlock())){E.disabled=true
}}if(B==CQ.wcm.Sidekick.VERSION){E=this.getVersionConfig();
if(!D.versionDialog){E.disabled=true
}}if(B==CQ.wcm.Sidekick.RESTORE){E=this.getRestoreConfig();
if(!D.restoreDialog){E.disabled=true
}}if(B==CQ.wcm.Sidekick.AUDIT){E=this.getAuditConfig();
if(!D.auditDialog){E.disabled=true
}}if(B==CQ.wcm.Sidekick.PERMS){E=this.getPermsConfig(D);
if(!D.permsDialog){E.disabled=true
}}if(B==CQ.wcm.Sidekick.PROPS){E=this.getPropsConfig(D);
if(!D.propsDialog){E.disabled=true
}}if(B==CQ.wcm.Sidekick.START_WORKFLOW){E=this.getStartWorkflowConfig();
if(!D.startWorkflowDialog){E.disabled=true
}}}else{E=B;
I=B?B.text:""
}if(E){E.name=I;
E.disabled|=D.readOnly;
this.addAction(E,true)
}}for(var C in this.panels){this.panels[C].doLayout()
}CQ.Timing.stamp("Completed rendering sidekick")
},initComponent:function(){CQ.wcm.Sidekick.superclass.initComponent.call(this);
this.on("render",function(){if(CQ.WCM.getContentFinder()){this.header.on("mousedown",function(C){window.setTimeout(function(){CQ.wcm.ContentFinder.maskFrame()
},1)
})
}this.header.on("dblclick",function(){if(!this.collapsed){this.collapse()
}else{this.expand()
}},this);
this.previewSwitch=this.header.child(".x-tool-toggle");
this.previewSwitch.on("click",function(){if(this.collapsed&&!CQ.WCM.isEditMode()){var C=CQ.WCM.isDesignMode();
this.wcmMode=CQ.WCM.setMode(CQ.WCM.MODE_EDIT);
if(C){CQ.Util.reload(CQ.WCM.getContentWindow())
}else{CQ.WCM.getContentWindow().CQ.WCM.show()
}this.editButton.toggle(true)
}},this);
var B=function(C){C.stopEvent()
};
this.el.on("click",B);
this.el.on("dblclick",B)
});
this.on("beforeshow",function(){var F=CQ.Ext.state.Manager.get(this.stateId||this.id);
var E=true;
if(F){var D=CQ.Ext.lib.Dom.getViewportWidth();
var C=CQ.Ext.lib.Dom.getViewportHeight();
if(F.winWidth==D&&F.winHeight==C){E=false;
var B=CQ.Ext.getDoc().getScroll();
F.x=F.x-B.left;
F.y=F.y-B.top;
CQ.Util.pin(this)
}}if(E){this.pin("tr")
}});
this.on("beforestatesave",function(C,D){D.winWidth=CQ.Ext.lib.Dom.getViewportWidth();
D.winHeight=CQ.Ext.lib.Dom.getViewportHeight();
var B=CQ.Ext.getDoc().getScroll();
D.x=D.x-B.left;
D.y=D.y-B.top;
return true
});
this.on("loadContent",function(C){var B=CQ.WCM.getPage(this.path);
if(B.isLiveCopy()){this.liveCopyStatusButton.enable();
this.liveCopyStatusButton.toggle(CQ.WCM.isShownLayer(CQ.utils.WCM.LAYER_LCSTATUS))
}else{this.liveCopyStatusButton.disable();
this.liveCopyStatusButton.toggle(false)
}if(B.isDesignable()){this.designButton.enable()
}else{this.designButton.disable()
}})
},overridePosition:function(){},createGhost:function(){var B=CQ.wcm.Sidekick.superclass.createGhost.apply(this,arguments);
B.first().addClass("cq-sidekick");
return B
},constructor:function(B){CQ.Util.applyDefaults(B,{actions:CQ.wcm.Sidekick.DEFAULT_ACTIONS,pathParam:"path",reloadText:CQ.I18n.getMessage("Reload"),previewText:CQ.I18n.getMessage("Preview"),editText:CQ.I18n.getMessage("Edit"),designText:CQ.I18n.getMessage("Design"),adminText:CQ.I18n.getMessage("Site Admin"),adminUrl:"/libs/wcm/content/siteadmin.html",liveCopyStatusText:CQ.I18n.getMessage("Live Copy Status"),createText:CQ.I18n.getMessage("Create Page..."),createDialog:"/libs/wcm/content/tools/sidekickcreatepagedialog",templateList:"/bin/wcmcommand?cmd=getTemplates",templateSelectionId:"templateselection",deleteText:CQ.I18n.getMessage("Delete Page"),deleteUrl:"/bin/wcmcommand?cmd=deletePage",publishText:CQ.I18n.getMessage("Activate Page"),publishUrl:"/bin/replicate.json",referencesText:CQ.I18n.getMessage("Show References"),rolloutText:CQ.I18n.getMessage("Rollout Page"),rolloutUrl:"/bin/wcmcommand?cmd=rollout",lockText:CQ.I18n.getMessage("Lock Page"),lockedByText:CQ.I18n.getMessage("Locked By ("),unlockText:CQ.I18n.getMessage("Unlock Page"),lockUrl:"/bin/wcmcommand?cmd=lockPage",unlockUrl:"/bin/wcmcommand?cmd=unlockPage",versionText:CQ.I18n.getMessage("Create Version..."),versionDialog:"/libs/wcm/content/tools/createversiondialog",versionList:"/bin/wcmcommand?cmd=getRevisions",versionSelectionId:"versionselection",restoreText:CQ.I18n.getMessage("Restore Version..."),restoreDialog:"/libs/wcm/content/tools/restoreversiondialog",auditText:CQ.I18n.getMessage("Audit Log..."),auditDialog:"/libs/wcm/content/tools/auditlogdialog",permsText:CQ.I18n.getMessage("Permissions..."),permsDialog:"/libs/wcm/content/tools/permissiondialog",propsText:CQ.I18n.getMessage("Page Properties..."),propsDialog:"/libs/foundation/components/page/dialog",startWorkflowText:CQ.I18n.getMessage("Start Workflow..."),startWorkflowDialog:"/libs/wcm/content/tools/startworkflowdialog",gotoText:CQ.I18n.getMessage("Go to")});
this.wcmMode=CQ.WCM.getMode();
this.reloadButton=new CQ.Ext.Button({iconCls:"cq-sidekick-reload",tooltip:{title:B.reloadText,text:CQ.I18n.getMessage("Reload the page"),autoHide:true},handler:function(){CQ.Util.reload(CQ.WCM.getContentWindow())
}});
this.previewButton=new CQ.Ext.Button({iconCls:"cq-sidekick-preview",tooltip:{title:B.previewText,text:CQ.I18n.getMessage("Switch to preview mode"),autoHide:true},pressed:CQ.WCM.isPreviewMode(),toggleGroup:"wcmMode",enableToggle:true,handler:function(){if(!CQ.WCM.isPreviewMode()){this.wcmMode=CQ.WCM.setMode(CQ.WCM.MODE_PREVIEW);
if(!this.previewReload){CQ.WCM.getContentWindow().CQ.WCM.hide()
}else{CQ.Util.reload(CQ.WCM.getContentWindow())
}this.collapse()
}else{this.previewButton.toggle(true)
}},scope:this});
this.editButton=new CQ.Ext.Button({iconCls:"cq-sidekick-edit",tooltip:{title:B.editText,text:CQ.I18n.getMessage("Switch to edit mode"),autoHide:true},pressed:CQ.WCM.isEditMode(),toggleGroup:"wcmMode",enableToggle:true,handler:function(){if(!CQ.WCM.isEditMode()){this.wcmMode=CQ.WCM.setMode(CQ.WCM.MODE_EDIT);
CQ.WCM.getContentWindow().CQ.WCM.show()
}else{this.editButton.toggle(true)
}},scope:this});
this.designButton=new CQ.Ext.Button({iconCls:"cq-sidekick-design",tooltip:{title:B.designText,text:CQ.I18n.getMessage("Switch to design mode"),autoHide:true},pressed:CQ.WCM.isDesignMode(),toggleGroup:"wcmMode",enableToggle:true,handler:function(){if(!CQ.WCM.isDesignMode()){this.wcmMode=CQ.WCM.setMode(CQ.WCM.MODE_DESIGN);
CQ.Util.reload(CQ.WCM.getContentWindow());
this.collapse()
}else{this.designButton.toggle(true)
}},scope:this});
this.adminButton=new CQ.Ext.Button({iconCls:"cq-sidekick-siteadmin",tooltip:{title:B.adminText,text:CQ.I18n.getMessage("Go to Site Admin"),autoHide:true},handler:function(D,C){var E=CQ.Util.externalize(B.adminUrl);
E=CQ.HTTP.setAnchor(E,this.getPath());
if(C.shiftKey){window.open(E)
}else{window.location.href=E
}},scope:this});
this.liveCopyStatusButton=new CQ.Ext.Button({disabled:true,iconCls:"cq-sidekick-layer-livecopy",tooltip:{title:B.liveCopyStatusText,text:CQ.I18n.getMessage("Display Live Copy status"),autoHide:true},handler:function(){if(CQ.WCM.isShownLayer(CQ.utils.WCM.LAYER_LCSTATUS)){CQ.WCM.hideLayer(CQ.utils.WCM.LAYER_LCSTATUS)
}else{CQ.WCM.showLayer(CQ.utils.WCM.LAYER_LCSTATUS)
}this.liveCopyStatusButton.toggle(CQ.WCM.isShownLayer(CQ.utils.WCM.LAYER_LCSTATUS))
},scope:this});
this.applyConfigDefaults(B,{dialog:{id:"cq-sk",stateful:true,closable:false,collapsible:true,border:false,bodyStyle:CQ.themes.wcm.Sidekick.BODY_STYLE,width:CQ.themes.wcm.Sidekick.WIDTH,height:CQ.themes.wcm.Sidekick.HEIGHT,minWidth:CQ.themes.wcm.Sidekick.MIN_WIDTH,minHeight:CQ.themes.wcm.Sidekick.MIN_HEIGHT,resizable:CQ.themes.wcm.Sidekick.RESIZABLE,resizeHandles:CQ.themes.wcm.Sidekick.RESIZE_HANDLES,headerAsText:false,autoHeight:false,autoWidth:false,cls:"cq-sidekick",tools:[{id:"help",handler:CQ.wcm.HelpBrowser.show}],bbar:[this.editButton,this.designButton,this.previewButton,this.liveCopyStatusButton,"-",this.adminButton,this.reloadButton],items:{border:false,xtype:"panel",cls:"cq-sidekick-loading"},listeners:{beforeshow:function(){if(CQ.WCM.isEditMode()){this.expand()
}else{this.collapse()
}}}}});
CQ.wcm.Sidekick.superclass.constructor.call(this,B)
}});
CQ.wcm.Sidekick.componentsWithDragZone=[];
CQ.wcm.Sidekick.CLASSNAME="cq-sidekick";
CQ.wcm.Sidekick.findSidekick=function(C){var B=null;
if(C instanceof CQ.wcm.Sidekick){B=C
}else{B=C.findParentByType("sidekick")
}return B
};
CQ.wcm.Sidekick.CREATE="CREATE";
CQ.wcm.Sidekick.DELETE="DELETE";
CQ.wcm.Sidekick.PUBLISH="PUBLISH";
CQ.wcm.Sidekick.ROLLOUT="ROLLOUT";
CQ.wcm.Sidekick.REFERENCES="REFERENCES";
CQ.wcm.Sidekick.LOCK="LOCK";
CQ.wcm.Sidekick.VERSION="VERSION";
CQ.wcm.Sidekick.RESTORE="RESTORE";
CQ.wcm.Sidekick.AUDIT="AUDIT";
CQ.wcm.Sidekick.PERMS="PERMS";
CQ.wcm.Sidekick.PROPS="PROPS";
CQ.wcm.Sidekick.START_WORKFLOW="START_WORKFLOW";
CQ.wcm.Sidekick.DEFAULT_ACTIONS=[CQ.wcm.Sidekick.PROPS,CQ.wcm.Sidekick.DELETE,CQ.wcm.Sidekick.PUBLISH,CQ.wcm.Sidekick.LOCK,CQ.wcm.Sidekick.REFERENCES,CQ.wcm.Sidekick.ROLLOUT,CQ.wcm.Sidekick.AUDIT,CQ.wcm.Sidekick.PERMS];
CQ.wcm.Sidekick.PAGE="PAGE";
CQ.wcm.Sidekick.COMPONENTS="COMPONENTS";
CQ.wcm.Sidekick.WORKFLOW="WORKFLOW";
CQ.wcm.Sidekick.VERSIONING="VERSIONING";
CQ.wcm.Sidekick.INFO="INFO";
CQ.wcm.Sidekick.CONTEXTS=[CQ.wcm.Sidekick.PAGE,CQ.wcm.Sidekick.COMPONENTS,CQ.wcm.Sidekick.WORKFLOW,CQ.wcm.Sidekick.VERSIONING,CQ.wcm.Sidekick.INFO];
CQ.Ext.reg("sidekick",CQ.wcm.Sidekick);
CQ.wcm.Sidekick.DragZoneBase={getDragData:function(G){var F=G.getTarget(this.view.itemSelector);
if(F){var C=this.view;
if(!C.isSelected(F)){C.onClick(G)
}var B=C.getSelectedNodes();
var D=C.getSelectedRecords();
var E={nodes:B,records:D,srcObject:F};
if(B.length==1){var H=F;
if(D[0].data&&D[0].data.thumbnail){H=document.createElement("div");
H.innerHTML="<img src='"+D[0].data.thumbnail+"'>"
}E.ddel=H;
E.single=true
}return E
}return false
},afterRepair:function(){for(var C=0,B=this.dragData.nodes.length;
C<B;
C++){}this.dragging=false
},getRepairXY:function(C){if(!this.dragData.multi){var B=CQ.Ext.Element.fly(this.dragData.srcObject).getXY();
B[0]+=3;
B[1]+=3;
return B
}return false
},notifyDropDT:function(E,D,C){if(this.isDropAllowed(E)){E.editComponent.hideTarget();
var B=CQ.Util.copyObject(C.records[0].data);
return E.editComponent.createParagraph(B)
}return false
},notifyEnterDT:function(D,C,B){if(this.isDropAllowed(D)){D.editComponent.showTarget()
}return""
},notifyOutDT:function(D,C,B){if(this.isDropAllowed(D)){D.editComponent.hideTarget()
}return""
},notifyOverDT:function(D,C,B){if(this.isDropAllowed(D)){return this.dropAllowed
}else{return this.dropNotAllowed
}},isDropAllowed:function(B){return(B&&B.groups&&CQ.Util.isIntersecting(this.groups,B.groups)&&B.editComponent&&this.dragData&&B.editComponent.isInsertAllowed(this.dragData.records[0].data.resourceType))
},onDragCancel:function(B,C){if(C&&C.editComponent&&C.editComponent.hideTarget){C.editComponent.hideTarget()
}}};
CQ.wcm.Sidekick.DragZone4ContentFinder=function(B,C){CQ.wcm.Sidekick.DragZone4ContentFinder.superclass.constructor.call(this,B.getEl(),C);
this.view=B
};
CQ.Ext.extend(CQ.wcm.Sidekick.DragZone4ContentFinder,CQ.wcm.ContentFinderDragZone,CQ.wcm.Sidekick.DragZoneBase);
CQ.wcm.Sidekick.DragZone=function(B,C){CQ.wcm.Sidekick.DragZone.superclass.constructor.call(this,B.getEl(),C);
this.view=B
};
CQ.Ext.extend(CQ.wcm.Sidekick.DragZone,CQ.Ext.dd.DragZone,CQ.wcm.Sidekick.DragZoneBase);
CQ.wcm.LinkChecker=CQ.Ext.extend(CQ.wcm.Viewport,{constructor:function(D){var E=new CQ.Ext.grid.ColumnModel([new CQ.Ext.grid.RowNumberer(),{dataIndex:"valid",header:CQ.I18n.getMessage("Status"),renderer:function(G){var H='<span style="color: {0};">{1}</span>';
if(G){return String.format(H,"green",CQ.I18n.getMessage("Valid"))
}else{return String.format(H,"red",CQ.I18n.getMessage("Invalid"))
}}},{id:"url",dataIndex:"url",header:CQ.I18n.getMessage("URL"),renderer:function(H){var I='<a href="{0}" target="_blank">{1}</a>';
var G=CQ.Ext.util.Format.htmlEncode(H);
var J=CQ.Ext.util.Format.htmlEncode(decodeURI(H));
return String.format(I,G,J)
}},{dataIndex:"lastChecked",header:CQ.I18n.getMessage("Last Checked"),renderer:CQ.wcm.LinkChecker.dateRenderer},{dataIndex:"status",header:CQ.I18n.getMessage("Last Status")},{dataIndex:"lastAvailable",header:CQ.I18n.getMessage("Last Available"),renderer:CQ.wcm.LinkChecker.dateRenderer},{dataIndex:"lastAccessed",header:CQ.I18n.getMessage("Last Accessed"),renderer:CQ.wcm.LinkChecker.dateRenderer}]);
E.defaultSortable=true;
var B=new CQ.Ext.grid.RowSelectionModel({});
B.on("selectionchange",CQ.wcm.LinkChecker.selectionChange);
var F=D.storage||"/var/linkchecker";
var C=new CQ.Ext.data.JsonStore({url:CQ.Util.externalize(encodeURI(F)+".list.json"),autoLoad:true,root:"rows",fields:["url","status",{name:"valid",type:"bool"},{name:"lastAccessed"},{name:"lastChecked"},{name:"lastAvailable"}]});
CQ.wcm.LinkChecker.superclass.constructor.call(this,{id:"cq-linkchecker",items:[{xtype:"grid",id:"cq-linkchecker-grid",region:"center",margins:"5 5 5 5",loadMask:true,stripeRows:true,colModel:E,selModel:B,autoExpandColumn:"url",store:C,tbar:[{id:"cq-linkchecker-refresh",text:CQ.I18n.getMessage("Refresh"),handler:this.reloadAll},{id:"cq-linkchecker-check",text:CQ.I18n.getMessage("Check"),handler:CQ.wcm.LinkChecker.checkSelected.createCallback(F)}]}]});
CQ.wcm.LinkChecker.selectionChange(B)
},initComponent:function(){CQ.wcm.LinkChecker.superclass.initComponent.call(this)
},reloadAll:function(){CQ.Ext.getCmp("cq-linkchecker-grid").getStore().reload()
}});
CQ.wcm.LinkChecker.dateRenderer=function(E){if(!E){return""
}var C=new Date(E).getElapsed();
var I=Math.floor(C/1000);
var F=Math.floor(C/(60*1000));
var H=Math.floor(C/(60*60*1000));
var J=Math.floor(C/(24*60*60*1000));
var B=Math.floor(C/(7*24*60*60*1000));
var D=Math.floor(C/(30*24*60*60*1000));
var G=Math.floor(C/(365*24*60*60*1000));
if(I<2){return CQ.I18n.getMessage("now")
}else{if(F<2){return CQ.I18n.getMessage("{0} seconds ago",I)
}else{if(H<2){return CQ.I18n.getMessage("{0} minutes ago",F)
}else{if(J<2){return CQ.I18n.getMessage("{0} hours ago",H)
}else{if(B<2){return CQ.I18n.getMessage("{0} days ago",J)
}else{if(D<2){return CQ.I18n.getMessage("{0} weeks ago",B)
}else{if(G<2){return CQ.I18n.getMessage("{0} months ago",D)
}else{return CQ.I18n.getMessage("{0} years ago",G)
}}}}}}}};
CQ.wcm.LinkChecker.selectionChange=function(B){var C=CQ.Ext.getCmp("cq-linkchecker-check");
if(B.hasSelection()){C.enable()
}else{C.disable()
}};
CQ.wcm.LinkChecker.checkSelected=function(E){var C=CQ.Util.externalize(encodeURI(E));
var D=CQ.Ext.getCmp("cq-linkchecker-grid");
var B=D.getSelectionModel().getSelections();
for(i=0;
i<B.length;
i++){CQ.Ext.Ajax.request({url:C,params:{check:B[i].get("url")},method:"POST",success:CQ.wcm.LinkChecker.checkSuccess.createCallback(B[i].id),failure:CQ.wcm.LinkChecker.checkFailure.createCallback(B[i].get("url"))})
}};
CQ.wcm.LinkChecker.checkSuccess=function(D){var C=CQ.Ext.getCmp("cq-linkchecker-grid");
var B=C.getStore();
C.getSelectionModel().deselectRow(B.indexOfId(D));
B.reload()
};
CQ.wcm.LinkChecker.checkFailure=function(B){CQ.Ext.Msg.alert("Link Check Failed","Error checking link: "+B);
CQ.Ext.getCmp("cq-linkchecker-grid").getStore().reload()
};
CQ.Ext.reg("linkchecker",CQ.wcm.LinkChecker);
CQ.wcm.HelpBrowser=CQ.Ext.extend(CQ.Ext.Window,{constructor:function(){var B=new CQ.Ext.tree.TreePanel({id:"cq-helpbrowser-tree",xtype:"treepanel",region:"west",width:200,split:true,root:CQ.wcm.HelpBrowser.xroot,rootVisible:false,autoScroll:true});
var C=new CQ.Ext.Panel({html:'<iframe id="cq-wcm-help-frame" name="cq-wcm-help" frameborder="0" width="100%" height="100%"></iframe>',region:"center"});
CQ.wcm.HelpBrowser.superclass.constructor.call(this,{title:CQ.I18n.getMessage("CQ5 Documentation"),layout:"border",y:20,width:900,height:600,minWidth:CQ.themes.Dialog.MIN_WIDTH,minHeight:CQ.themes.Dialog.MIN_HEIGHT,closable:true,closeAction:"hide",stateful:false,items:[B,C]})
}});
CQ.wcm.HelpBrowser.addDocsToTree=function(E,F,B){for(var D=0;
B&&D<B.length;
D++){var C=F+"/"+encodeURIComponent(B[D].name);
if(B[D].type=="cq:Page"){var G=new CQ.Ext.tree.TreeNode({name:B[D].name,text:B[D].text,qtip:B[D].text,iconCls:"page",href:C+".html",hrefTarget:"cq-wcm-help"});
E.appendChild(G);
CQ.wcm.HelpBrowser.addDocsToTree(G,C,B[D].children)
}else{CQ.wcm.HelpBrowser.addDocsToTree(E,C,B[D].children)
}}};
CQ.wcm.HelpBrowser.path="/libs/wcm/docs/en/cq5_guide_power_user";
CQ.wcm.HelpBrowser.base=CQ.Util.externalize(CQ.wcm.HelpBrowser.path);
CQ.wcm.HelpBrowser.xroot=new CQ.Ext.tree.TreeNode({text:CQ.I18n.getMessage("Documentation"),name:"xroot",expanded:true});
CQ.wcm.HelpBrowser.root=new CQ.Ext.tree.TreeNode({text:CQ.I18n.getMessage("User Guide"),name:"root",expanded:true,iconCls:"page",href:CQ.wcm.HelpBrowser.base+".html",hrefTarget:"cq-wcm-help"});
CQ.wcm.HelpBrowser.xroot.appendChild(CQ.wcm.HelpBrowser.root);
CQ.wcm.HelpBrowser.createHelpButton=function(){return{text:CQ.I18n.getMessage("Help"),handler:function(){CQ.wcm.HelpBrowser.show("root")
},tooltip:{title:CQ.I18n.getMessage("CQ5 User Guide"),text:CQ.I18n.getMessage("Browse the online help"),autoHide:true}}
};
CQ.wcm.HelpBrowser.show=function(B){if(!CQ.wcm.HelpBrowser.instance){CQ.wcm.HelpBrowser.instance="request";
CQ.Ext.Ajax.request({method:"GET",url:CQ.Util.externalize("/bin/tree/ext.json"),params:{predicate:"hierarchy",path:CQ.wcm.HelpBrowser.path,depth:10},scope:B,success:function(E){var D=CQ.Ext.decode(E.responseText);
CQ.wcm.HelpBrowser.addDocsToTree(CQ.wcm.HelpBrowser.root,CQ.wcm.HelpBrowser.base,D);
CQ.wcm.HelpBrowser.instance=new CQ.wcm.HelpBrowser();
CQ.wcm.HelpBrowser.show(this)
},failure:function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Documentation not available"),CQ.I18n.getMessage("Unable to load CQ5 documentation."));
CQ.wcm.HelpBrowser.instance=null
}});
CQ.Ext.Ajax.request({method:"GET",url:CQ.Util.externalize("/bin/tree/ext.json"),params:{predicate:"hierarchy",path:"/etc/docs",depth:10},success:function(E){var D=CQ.Ext.decode(E.responseText);
CQ.wcm.HelpBrowser.addDocsToTree(CQ.wcm.HelpBrowser.xroot,CQ.Util.externalize("/etc/docs"),D)
}})
}if(CQ.wcm.HelpBrowser.instance!="request"){CQ.wcm.HelpBrowser.instance.show("CQ");
var C;
if(B){C=CQ.wcm.HelpBrowser.findNode(CQ.wcm.HelpBrowser.root,B)
}if(!C){C=CQ.wcm.HelpBrowser.root
}C.select();
CQ.Ext.get("cq-wcm-help-frame").dom.src=C.attributes.href
}};
CQ.wcm.HelpBrowser.findNode=function(E,B){if(E.attributes.name.indexOf(B)!=-1){return E
}var D=E.childNodes;
for(var C=0;
D&&C<D.length;
C++){var E=CQ.wcm.HelpBrowser.findNode(D[C],B);
if(E){return E
}}};
CQ.wcm.Statistics=CQ.Ext.extend(CQ.form.CompositeField,{processRecord:function(B,C){if(C.indexOf("/jcr:content")==C.length-"/jcr:content".length){C=C.substring(0,C.indexOf("/jcr:content"))
}this.path=CQ.Util.externalize(C)+"."+this.initialConfig.chartExt;
this.drawChart(CQ.wcm.Statistics.DEFAULT_PERIOD)
},drawChart:function(C){if(this.screenItem&&this.screenItem.rendered){var B=this.path;
if(!B){B=CQ.Util.externalize("/0.gif")
}B+="?Period="+C;
this.screenItem.getEl().set({src:B})
}},constructor:function(B){B=CQ.Util.applyDefaults(B,{chartExt:"views.png",stateful:false,border:false,screen:{xtype:"box",stateful:false,autoWidth:true,autoHeight:true,autoEl:{tag:"img",src:"0.gif"}},select:{type:"select",fieldLabel:CQ.I18n.getMessage("Display period"),allowBlank:false,stateful:false,width:250,optionsConfig:{width:250},value:CQ.wcm.Statistics.DEFAULT_PERIOD,options:[{value:30,text:CQ.I18n.getMessage("last month")},{value:180,text:CQ.I18n.getMessage("last 6 month")},{value:360,text:CQ.I18n.getMessage("last year")}],listeners:{selectionchanged:{fn:this.selectionHandler,scope:this}}}});
CQ.wcm.Statistics.superclass.constructor.call(this,B)
},initComponent:function(){CQ.wcm.Statistics.superclass.initComponent.call(this);
this.screenItem=new CQ.Ext.BoxComponent(this.initialConfig.screen);
this.add(this.screenItem);
this.selection=new CQ.form.Selection(this.initialConfig.select);
this.add(this.selection);
this.drawChart(this.selection.getValue())
},selectionHandler:function(B,C){this.drawChart(C)
}});
CQ.wcm.Statistics.DEFAULT_PERIOD=30;
CQ.Ext.reg("statistics",CQ.wcm.Statistics);
CQ.wcm.BulkEditor=CQ.Ext.extend(CQ.Ext.Panel,{rootPath:null,queryParams:null,contentMode:null,colsValue:null,extraCols:null,initialSearch:false,colsSelection:null,showGridOnly:false,searchPanelCollapsed:false,hideRootPath:false,hideQueryParams:false,hideContentMode:false,hideColsSelection:false,hideExtraCols:false,hideSearchButton:false,hideExportButton:false,hideImportButton:true,hideMoveButtons:true,rowMovePostMode:null,hideResultNumber:false,hideSaveButton:false,hideInsertButton:true,hideDeleteButton:true,hidePathCol:false,insertedResourceType:null,queryURL:null,importURL:null,exportURL:null,saveURL:null,colsMetadata:null,constructor:function(B){B=(!B?{}:B);
this.csvSeparator=(B["export"]&&B["export"]["separator"]?B["export"]["separator"]:null);
var C={hideBorders:true,border:false,stateful:false,anchor:"100%",colsMetadata:{"jcr:path":{readOnly:true}}};
this.gridPlugins=new Array();
CQ.Util.applyDefaults(B,C);
CQ.wcm.BulkEditor.superclass.constructor.call(this,B)
},toBoolean:function(B){return(B===true||B=="true")
},initComponent:function(){CQ.wcm.BulkEditor.superclass.initComponent.call(this);
if(this.showGridOnly){this.hideRootPath=true;
this.hideQueryParams=true;
this.hideContentMode=true;
this.hideColsSelection=true;
this.hideExtraCols=true;
this.hideSearchButton=true;
this.hideImportButton=true;
this.hideResultNumber=true;
this.hideInsertButton=true;
this.hideDeleteButton=true
}this.initialSearch=this.toBoolean(this.initialSearch);
this.hideRootPath=this.toBoolean(this.hideRootPath);
this.hideQueryParams=this.toBoolean(this.hideQueryParams);
this.hideContentMode=this.toBoolean(this.hideContentMode);
this.hideColsSelection=this.toBoolean(this.hideColsSelection);
this.hideExtraCols=this.toBoolean(this.hideExtraCols);
this.hideSearchButton=this.toBoolean(this.hideSearchButton);
this.hideImportButton=this.toBoolean(this.hideImportButton);
this.hideResultNumber=this.toBoolean(this.hideResultNumber);
this.hideSaveButton=this.toBoolean(this.hideSaveButton);
this.hideInsertButton=this.toBoolean(this.hideInsertButton);
this.hideDeleteButton=this.toBoolean(this.hideDeleteButton);
this.hideExportButton=this.toBoolean(this.hideExportButton);
this.hideMoveButtons=this.toBoolean(this.hideMoveButtons);
this.hidePathCol=this.toBoolean(this.hidePathCol);
this.searchPanelCollapsed=this.toBoolean(this.searchPanelCollapsed);
var D=this;
this.searchPanel=new CQ.Ext.Panel(this.getSearchPanelConfig());
if(!this.hideRootPath){this.rootPathInput=new CQ.form.BrowseField(this.getRootPathConfig())
}else{this.rootPathInput=new CQ.Ext.form.Hidden(this.getRootPathConfig())
}this.searchPanel.items.items[0].items.items[0].items.items[0].add(this.rootPathInput);
if(!this.hideQueryParams){this.queryParamsInput=new CQ.Ext.form.TextField(this.getQueryParamsConfig());
this.searchPanel.items.items[0].items.items[0].items.items[0].add(this.queryParamsInput)
}if(!this.hideContentMode){this.contentModeInput=new CQ.Ext.form.Checkbox(this.getContentModeConfig());
this.searchPanel.items.items[0].items.items[0].items.items[0].add(this.contentModeInput)
}if(!this.hideSearchButton||!this.hideImportButton){var B=new Array();
if(!this.hideSearchButton){this.searchButton=new CQ.Ext.Button(this.getSearchButtonConfig());
B.push(this.searchButton)
}if(!this.hideImportButton){this.importButton=new CQ.form.FileUploadField(this.getImportButtonConfig());
this.importButton.on("render",function(){var E=105-this.button.el.getWidth();
this.fileInput.setStyle("right","-"+E+"px");
this.getEl().parent().setStyle("padding-right","2px")
});
B.push(this.importButton)
}this.clipboardArea=new CQ.Ext.form.TextArea({enableKeyEvents:true,style:"opacity:0",height:1,width:1,size:1});
B.push(this.clipboardArea);
var C={buttonAlign:"left",border:false,buttons:B};
this.searchPanel.items.items[0].items.items[0].items.items[0].add(C)
}if(!this.hideColsSelection){this.colsSelectionInput=new CQ.Ext.form.CheckboxGroup(this.getColsSelectionConfig());
this.searchPanel.items.items[0].items.items[1].items.items[0].add(this.colsSelectionInput)
}if(!this.hideExtraCols){this.extraColsInput=new CQ.Ext.form.TextField(this.getExtraColsConfig());
this.searchPanel.items.items[0].items.items[1].items.items[0].add(this.extraColsInput)
}this.add(this.searchPanel);
this.buildGridEditor(this.queryURL,this.getQueryParams(),this.getContentMode(),this.getRootPath(),this.getColsValue(),this.getExtraCols(),false);
this.add(this.gridEditor);
if(this.insertedResourceType){this.add(new CQ.Ext.form.Hidden({name:"insertedResourceType",value:this.insertedResourceType,isFormField:false}))
}},onRender:function(C,B){CQ.wcm.BulkEditor.superclass.onRender.call(this,C,B);
if(this.initialSearch){var D=this.findParentByType("dialog");
if(D){D.on("loadcontent",this.loadGrid,this)
}else{this.gridEditor.getView();
this.gridEditor.on("render",this.loadGrid,this)
}}this.gridEditor.on("render",this.initializeCheckboxSelection,this)
},initializeCheckboxSelection:function(){if(this.gridPlugins.length>0){var B=this;
this.selectAllItem=new CQ.Ext.menu.Item({id:"select-all-"+this.gridEditor.id,text:CQ.I18n.getMessage("Select All"),cls:"x-menu-check-item x-menu-item-checked",handler:function(J,I){var H=B.gridEditor.getColumnModel();
var C=B.gridEditor.view.hdCtxIndex;
var F=H.getColumnId(C);
var E=B.gridEditor.store.getCount();
for(var K=0;
K<E;
K++){B.gridEditor.startEditing(K,C);
var D=B.gridEditor.store.getAt(K);
var G=D.data[F];
if(G==="false"||G===false){D.set(F,true);
B.gridEditor.stopEditing();
B.handleEditedRecord(D,F,true,G)
}D=null
}H=null
}});
this.selectNoneItem=new CQ.Ext.menu.Item({id:"select-none-"+this.gridEditor.id,text:CQ.I18n.getMessage("Select None"),cls:"x-menu-check-item",handler:function(J,I){var H=B.gridEditor.getColumnModel();
var C=B.gridEditor.view.hdCtxIndex;
var F=H.getColumnId(C);
var E=B.gridEditor.store.getCount();
for(var K=0;
K<E;
K++){B.gridEditor.startEditing(K,C);
var D=B.gridEditor.store.getAt(K);
var G=D.data[F];
if(G==="true"||G===true){D.set(F,false);
B.gridEditor.stopEditing();
B.handleEditedRecord(D,F,false,G)
}D=null
}H=null
}});
this.gridEditor.view.hmenu.on("beforeshow",function(D,C,H,F){if(!this.selectionAdded){this.add("-",B.selectAllItem,B.selectNoneItem);
this.selectionAdded=true
}var G=B.gridEditor.getColumnModel().getColumnId(B.gridEditor.view.hdCtxIndex);
var E=B.getMetadata(G);
if(E&&(E.checkbox==="true"||E.checkbox===true)){B.selectAllItem.enable();
B.selectNoneItem.enable()
}else{B.selectAllItem.disable();
B.selectNoneItem.disable()
}},this.gridEditor.view.hmenu)
}},loadGrid:function(){this.buildGridEditor(this.queryURL,this.getQueryParams(),this.getContentMode(),this.getRootPath(),this.getColsValue(),this.getExtraCols(),true)
},getMetadata:function(C){var B=C;
if(C.indexOf(CQ.wcm.BulkEditor.JCR_CONTENT_NODE+"/")!=-1){B=C.substring(CQ.wcm.BulkEditor.JCR_CONTENT_NODE.length+1)
}if(this.colsMetadata&&this.colsMetadata[B]){return this.colsMetadata[B]
}return{}
},getColObject:function(J,G,H,B){var C={};
if(J){if(typeof J=="string"){J=J.split(",")
}if(G&&typeof G=="string"){G=G.split(",")
}if(J instanceof Array){if(G&&G instanceof Array){J=J.concat(G)
}C.headers=new Array();
C.values=new Array();
C.options=new Array();
for(var D=0;
D<J.length;
D++){var L=J[D];
if(L&&L.length>0){var E=L;
var F=L.indexOf(CQ.wcm.BulkEditor.JCR_CONTENT_NODE+"/");
if(H&&F==-1){L=CQ.wcm.BulkEditor.JCR_CONTENT_NODE+"/"+L
}else{if(F==0){E=L.substring(12,L.length);
if(!H){L=E
}}}if(C.values.indexOf(L)==-1){C.headers.push(E);
C.values.push(L);
C.options.push({boxLabel:E,name:E,value:L,checked:(B?B.indexOf(L)!=-1:false)})
}}}for(var D=0;
D<C.values.length;
D++){var I=this.getMetadata(C.values[D]);
var K=D;
if(I){var F=parseInt(I.forcedPosition);
if(!isNaN(F)&&F<C.values.length&&F!=D){K=F
}}C.values=this.moveCell(C.values,D,K);
C.headers=this.moveCell(C.headers,D,K);
C.options=this.moveCell(C.options,D,K)
}}}return C
},moveCell:function(F,B,E){if(F&&E<F.length&&B<F.length&&E!=B){var C=0;
var D=new Array();
while(C<F.length){if(C==E){D.push(F[B]);
D.push(F[C]);
C++
}else{if(C!=B){D.push(F[C])
}C++
}}return D
}return F
},buildGridEditor:function(D,E,C,H,G,F,B){this.modifiedItems={};
this.modifiedItems.count=0;
this.createdItems={};
this.createdItems.count=0;
this.deletedItems={};
this.deletedItems.count=0;
this.initialStoreData=null;
this.movedItems={};
this.movedItems.count=0;
this.buildGrid(D,E,H,this.getColObject(G,F,C,null));
this.checkSaveButtonStatus();
if(B=="true"||B===true){if(H!=null&&H!=""){this.gridEditor.store.load()
}else{CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Missing parameter"),CQ.I18n.getMessage("Could not start search: no root path defined"))
}}},getColumnModel:function(D){var E=new Array();
if(!this.hidePathCol){E.push(this.getColumnModelConfig(CQ.wcm.BulkEditor.JCR_PATH,"Path",CQ.wcm.BulkEditor.JCR_PATH))
}for(var B=0;
B<D.values.length;
B++){E.push(this.getColumnModelConfig(D.values[B],D.headers[B],D.values[B]))
}var C=new CQ.Ext.grid.ColumnModel(E);
if(!this.hideMoveButtons){C.defaultSortable=true
}return C
},computeURL:function(B,C,F,E){var D="path:"+F+(C?" "+C:"");
B=CQ.HTTP.addParameter(B,"query",D);
B=CQ.HTTP.addParameter(B,"tidy","true");
if(E.values&&E.values.length>0){B=CQ.HTTP.addParameter(B,"cols",""+E.values)
}return B
},getStore:function(D,F,I,H){var G=new Array();
G.push({name:CQ.wcm.BulkEditor.JCR_PATH});
for(var E=0;
E<H.values.length;
E++){G.push({name:H.values[E]})
}var B=this;
var C={proxy:new CQ.Ext.data.HttpProxy({url:this.computeURL(D,F,I,H),method:"GET"}),reader:new CQ.Ext.data.JsonReader({totalProperty:"results",root:"hits"},G),sortInfo:{field:CQ.wcm.BulkEditor.JCR_PATH,direction:"ASC"},listeners:{datachanged:function(){B.updateResultNumberLabel()
},add:function(){B.updateResultNumberLabel()
},remove:function(){B.updateResultNumberLabel()
}}};
if(this.initialConfig&&this.initialConfig.store){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.store),C)
}if(!this.hideMoveButtons){delete C.sortInfo
}return new CQ.Ext.data.Store(C)
},updateResultNumberLabel:function(){if(this.resultNumberLabel&&this.gridEditor){var C=0;
if(this.gridEditor.store){C=this.gridEditor.store.getCount();
C=C?C:0
}var B=C?CQ.I18n.getMessage("{0} result(s)",C):CQ.I18n.getMessage("No result");
this.resultNumberLabel.text=B;
this.resultNumberLabel.el.dom.innerHTML=B
}},buildGrid:function(B,C,E,D){if(!this.gridEditor){this.gridEditor=new CQ.Ext.grid.EditorGridPanel(this.getGridConfig(B,C,E,D));
this.gridEditor.bulkeditor=this;
this.gridEditor.on("afteredit",this.editionHandler,this)
}else{this.gridEditor.stopEditing();
this.gridEditor.reconfigure(this.getStore(B,C,E,D),this.getColumnModel(D))
}return this.gridEditor
},editionHandler:function(B){this.handleEditedRecord(B.record,B.field,B.value,B.originalValue)
},handleEditedRecord:function(C,F,E,B){if(C.data[CQ.wcm.BulkEditor.JCR_PATH]){var D=C.data[CQ.wcm.BulkEditor.JCR_PATH];
if(this.modifiedItems[D]){if(this.modifiedItems[D][F]){if(this.modifiedItems[D][F].originalValue==E){delete this.modifiedItems[D][F];
this.modifiedItems.count--;
if(CQ.Util.isEmptyObject(this.modifiedItems[D])){delete this.modifiedItems[D]
}}else{this.modifiedItems[D][F].newValue=E
}}else{this.modifiedItems[D][F]={};
this.modifiedItems[D][F].originalValue=B;
this.modifiedItems[D][F].newValue=E
}}else{this.modifiedItems[D]={};
this.modifiedItems[D][F]={};
this.modifiedItems[D][F].originalValue=B;
this.modifiedItems[D][F].newValue=E;
this.modifiedItems.count++
}}this.checkSaveButtonStatus()
},checkSaveButtonStatus:function(){if(this.saveButton){if(this.modifiedItems.count>0||this.deletedItems.count>0||this.createdItems.count>0||this.movedItems.count>0){this.saveButton.enable()
}else{this.saveButton.disable()
}}},getRootPathConfig:function(){var B={value:this.rootPath,selectOnFocus:true,allowBlank:false,name:"./rootPath",fieldLabel:CQ.I18n.getMessage("Root Path"),treeRoot:{text:CQ.I18n.getMessage("Site")},treeLoader:{dataUrl:"/bin/tree/ext.json"},fieldDescription:CQ.I18n.getMessage("Select root path for edition")};
if(this.initialConfig&&this.initialConfig.rootPathInput){B=CQ.Util.applyDefaults(this.initialConfig.rootPathInput,B)
}return B
},getQueryParamsConfig:function(){var B={fieldLabel:CQ.I18n.getMessage("Query Parameters"),name:"./queryParams",value:this.queryParams,fieldDescription:CQ.I18n.getMessage("Enter GQL query parameters")};
if(this.initialConfig&&this.initialConfig.queryParamsInput){B=CQ.Util.applyDefaults(this.initialConfig.queryParamsInput,B)
}return B
},getContentModeConfig:function(){var B={fieldLabel:CQ.I18n.getMessage("Content Mode"),name:"./contentMode",checked:this.contentMode,boxLabel:"&nbsp;",fieldDescription:CQ.I18n.getMessage("Read all properties in jcr:content sub node")};
if(this.initialConfig&&this.initialConfig.contentModeInput){B=CQ.Util.applyDefaults(this.initialConfig.contentModeInput,B)
}return B
},getColsSelectionConfig:function(){var B={id:"cq-bulkeditor-colsselection",columns:3,vertical:true,fieldLabel:CQ.I18n.getMessage("Properties / Columns"),name:"./colsSelection",fieldDescription:CQ.I18n.getMessage("Select a list of properties to edit"),items:this.getColObject(this.colsSelection,null,null,this.colsValue).options};
if(this.initialConfig&&this.initialConfig.colsSelectionInput){B=CQ.Util.applyDefaults(this.initialConfig.colsSelectionInput,B)
}return B
},getExtraColsConfig:function(){var B={fieldLabel:CQ.I18n.getMessage("Custom Properties / Columns"),name:"./extraCols",value:this.extraCols,fieldDescription:CQ.I18n.getMessage("Enter extra properties, separated by comma")};
if(this.initialConfig&&this.initialConfig.extraColsInput){B=CQ.Util.applyDefaults(this.initialConfig.extraColsInput,B)
}return B
},getSearchButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Search"),handler:function(){B.loadGrid()
}};
if(this.initialConfig&&this.initialConfig.searchButton){C=CQ.Util.applyDefaults(this.initialConfig.searchButton,C)
}return C
},getSaveButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Save"),disabled:true,handler:function(){B.saveGridModifications()
}};
if(this.initialConfig&&this.initialConfig.saveButton){C=CQ.Util.applyDefaults(this.initialConfig.saveButton,C)
}return C
},getExportButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Export"),handler:function(){var D=function(){var E=this.computeURL(this.exportURL,this.getQueryParams(),this.getRootPath(),this.getColObject(this.getColsValue(),this.getExtraCols(),this.getContentMode()));
E=CQ.HTTP.addParameter(E,"separator",this.csvSeparator);
window.open(E,"","")
};
if(B.modifiedItems.count>0){CQ.Ext.MessageBox.confirm(CQ.I18n.getMessage("Export search result"),CQ.I18n.getMessage("Save your modifications or they will not be exported. Do you still want to export?"),D,B)
}else{D.call(B)
}}};
if(this.initialConfig&&this.initialConfig.exportButton){C=CQ.Util.applyDefaults(this.initialConfig.exportButton,C)
}return C
},getImportButtonConfig:function(){var B=this;
var C={buttonText:CQ.I18n.getMessage("Import"),buttonOnly:true,hideLabel:true,fieldWidth:"1",name:"document",listeners:{fileselected:function(){var D=B.findParentByType("form");
if(D==null){D=B.findParentByType("bulkeditorform")
}if(D!=null){var E=D.getForm();
if(E.isValid()){E.el.dom.enctype="multipart/form-data";
E.fileUpload=true;
var F=new CQ.form.Action.Submit(E,{method:"POST",url:B.importURL,success:function(G,H){G.el.dom.enctype="";
delete G.fileUpload;
this.clearImportInput();
var I=(H.result&&H.result.Message?H.result.Message:CQ.I18n.getMessage("No message"));
CQ.Notification.notify(CQ.I18n.getMessage("Data imported"),I);
this.loadGrid()
},failure:function(G,H){G.el.dom.enctype="";
delete G.fileUpload;
this.clearImportInput();
var I=(H.result&&H.result.Message?H.result.Message:CQ.I18n.getMessage("Unknown error"));
CQ.Notification.notify(CQ.I18n.getMessage("Import failed"),I);
this.loadGrid()
},scope:B});
E.doAction(F)
}else{B.clearImportInput();
CQ.Notification.notify(CQ.I18n.getMessage("Validation failed"),CQ.I18n.getMessage("Please select first a root path"))
}}else{B.clearImportInput();
CQ.Notification.notify(CQ.I18n.getMessage("Client page error"),CQ.I18n.getMessage("No valid form found"))
}}}};
if(this.initialConfig&&this.initialConfig.importButton){C=CQ.Util.applyDefaults(this.initialConfig.importButton,C)
}return C
},clearImportInput:function(){if(this.importButton){this.importButton.fileInput.dom.value="";
this.importButton.setValue("")
}},getSearchPanelConfig:function(){var B={collapsible:true,collapsed:this.searchPanelCollapsed,title:CQ.I18n.getMessage("Search Filters"),hidden:this.showGridOnly,autoEl:"div",autoScroll:true,height:260,width:"100%",anchor:"100%",bodyStyle:{"background-color":"#DFE8F6"},defaults:{labelWidth:150},border:true,items:[{layout:"column",border:false,anchor:"100%",width:"100%",defaults:{columnWidth:".5",anchor:"100%",width:"100%",border:false,bodyStyle:{"background-color":"#DFE8F6"}},bodyStyle:{"background-color":"#DFE8F6"},items:[{anchor:"100%",bodyStyle:{"background-color":"#DFE8F6"},items:{xtype:"fieldset",autoHeight:true,border:false,anchor:"100%",bodyStyle:{"background-color":"#DFE8F6",padding:"5px"},defaults:{anchor:"99%",bodyStyle:{"background-color":"#DFE8F6"}}}},{items:{xtype:"fieldset",autoHeight:true,border:false,anchor:"100%",bodyStyle:{"background-color":"#DFE8F6",padding:"5px"},defaults:{anchor:"99%",bodyStyle:{"background-color":"#DFE8F6"}}}}]}]};
if(this.initialConfig&&this.initialConfig.searchPanel){if(this.initialConfig.searchPanel.defaults&&this.initialConfig.searchPanel.defaults.xtype){delete this.initialConfig.searchPanel.defaults.xtype
}B=CQ.Util.applyDefaults(this.initialConfig.searchPanel,B)
}return B
},recordToString:function(E){var D="";
if(E&&this.gridEditor){var C=this.gridEditor.getColumnModel();
if(C){var B=C.getColumnCount();
if(B>0){D+=E.get(C.getColumnId(0));
for(var F=1;
F<B;
F++){D+="\t"+E.get(C.getColumnId(F))
}}}}return D
},cellToString:function(C){if(C&&C.length==2&&this.gridEditor){var B=this.gridEditor.getColumnModel();
var E=this.gridEditor.getStore();
if(B&&E){var G=C[0];
var F=C[1];
if(G<0||G>=E.getCount()){return 
}if(F<0||F>=B.getColumnCount()){return 
}var D=E.getAt(G);
if(D){return D.get(B.getColumnId(F))
}}}},copySelectionToClipboard:function(){var D="";
if(this.gridEditor){var F=this.gridEditor.getSelectionModel();
if(F){var C=F.getSelections();
var B=C.length;
if(B>0){D+=this.cellToString(C[0]);
for(var E=1;
E<B;
E++){if(C[E][0]!=C[E-1][0]){D+="\n"
}else{D+="\t"
}D+=this.cellToString(C[E])
}}}}this.clipboardArea.setValue(D);
this.clipboardArea.el.dom.select()
},pasteClipboardIntoSelection:function(){var G=this.clipboardArea.getValue();
if(G&&this.gridEditor){var S=this.gridEditor.getSelectionModel();
var J=this.gridEditor.getColumnModel();
var I=this.gridEditor.getStore();
if(S&&J&&I){var B=S.getSortedSelections();
if(B&&B.length>0){var R=G.lastIndexOf("\n");
if(R==G.length-1){G=G.substring(0,G.length-1)
}var E=G.split("\n");
var N=0;
for(var Q=0;
Q<E.length&&N<B.length;
Q++){var O=B[Q];
var F=E[Q].split("\t");
if(E.length==F.length==1){var L=F[0];
for(var P=0;
P<B.length;
P++){var K=B[P][0];
var M=B[P][1];
var D=J.getColumnId(M);
var H=I.getAt(K);
if(H){var T=H.get(D);
H.set(D,L);
this.handleEditedRecord(H,D,L,T)
}}return 
}else{var C=(N>0?B[N-1][0]:-1);
var U=B[N][0];
if(C!=U){for(var P=0;
P<F.length&&N<B.length;
P++,N++){var K=B[N][0];
if(K==U){var M=B[N][1];
var D=J.getColumnId(M);
var H=I.getAt(K);
if(H){var T=H.get(D);
H.set(D,F[P]);
this.handleEditedRecord(H,D,F[P],T)
}}else{CQ.Notification.notify(CQ.I18n.getMessage("Paste error"),CQ.I18n.getMessage("Invalid pasted grid: format is different from grid selection"));
return 
}}}else{CQ.Notification.notify(CQ.I18n.getMessage("Paste error"),CQ.I18n.getMessage("Invalid pasted grid: format is different from grid selection"));
return 
}}}}}}},getGridConfig:function(D,I,J,B){var H=this.getStore(D,I,J,B);
var F=this;
var G=new Array();
if(!this.hideResultNumber){this.resultNumberLabel=new CQ.Ext.form.Label(this.getResultNumberLabelConfig());
G.push(" ");
G.push(this.resultNumberLabel);
G.push(" ");
G.push("-")
}if(!this.hideSaveButton){this.saveButton=new CQ.Ext.Button(this.getSaveButtonConfig());
G.push(this.saveButton)
}if(!this.hideInsertButton){G.push(this.getInsertButtonConfig())
}if(!this.hideDeleteButton){G.push(this.getDeleteButtonConfig())
}if(!this.hideExportButton){this.exportButton=new CQ.Ext.Button(this.getExportButtonConfig());
G.push(this.exportButton)
}if(!this.hideMoveButtons){G.push(this.getMoveDownButtonConfig());
G.push(this.getMoveUpButtonConfig())
}var C=new CQ.wcm.CustomCellSelectionModel();
var E={store:H,cm:this.getColumnModel(B),sm:C,clicksToEdit:2,height:400,stateful:false,border:true,plugins:this.gridPlugins,tbar:G,view:new CQ.Ext.grid.GridView({forceFit:true}),listeners:{keydown:function(K){if(K.ctrlKey&&K.getCharCode()==67){F.copySelectionToClipboard()
}else{if(K.ctrlKey&&K.getCharCode()==86){F.clipboardArea.el.dom.select();
window.setTimeout(function(){F.pasteClipboardIntoSelection()
},100)
}else{if(K.ctrlKey&&K.getCharCode()==65){if(F.gridEditor){var L=F.gridEditor.getSelectionModel();
if(L){L.selectAll();
K.stopEvent()
}}}}}}}};
if(this.initialConfig&&this.initialConfig.grid){E=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.grid),E)
}return E
},getResultNumberLabelConfig:function(){var B=this;
var C={text:"No result",textBase:"{0} result(s)",noValueText:"No result"};
if(this.initialConfig&&this.initialConfig.resultNumberLabel){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.resultNumberLabel),C)
}return C
},getInsertButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Insert row"),handler:function(){B.addRow()
}};
if(this.initialConfig&&this.initialConfig.insertButton){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.insertButton),C)
}return C
},getMoveUpButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Move up"),handler:function(){B.moveUpSelection()
}};
if(this.initialConfig&&this.initialConfig.moveUpButton){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.moveUpButton),C)
}return C
},getMoveDownButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Move down"),handler:function(){B.moveDownSelection()
}};
if(this.initialConfig&&this.initialConfig.moveDownButton){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.moveDownButton),C)
}return C
},getDeleteButtonConfig:function(){var B=this;
var C={text:CQ.I18n.getMessage("Delete row(s)"),handler:function(){B.deleteSelectedRow()
}};
if(this.initialConfig&&this.initialConfig.Button){C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.deleteButton),C)
}return C
},addRow:function(){if(this.gridEditor){var H=this.gridEditor.getSelectionModel();
H.clearSelections();
var F=this.getColObject(this.getColsValue(),this.getExtraCols(),this.getContentMode());
var G=this.getRootPath()+"/"+new Date().getTime();
var B={};
B[CQ.wcm.BulkEditor.JCR_PATH]=G;
var E=new Array();
E.push({name:CQ.wcm.BulkEditor.JCR_PATH});
for(var D=0;
D<F.values.length;
D++){E.push({name:F.values[D],type:"string"});
B[F.values[D]]=""
}var C=CQ.Ext.data.Record.create(E);
this.gridEditor.stopEditing();
this.gridEditor.store.insert(0,new C(B));
this.gridEditor.startEditing(0,0);
this.createdItems[G]={};
this.createdItems.count++;
this.checkSaveButtonStatus()
}},deleteSelectedRow:function(){if(this.gridEditor){var G=this.gridEditor.getSelectionModel();
var C=G.getSelections();
if(C){for(var B=C.length-1;
B>-1;
B--){var F=C[B][0];
var E=this.gridEditor.store.getAt(F);
if(E){var D=E.data[CQ.wcm.BulkEditor.JCR_PATH];
this.gridEditor.store.remove(E);
if(this.createdItems[D]!=undefined){delete this.createdItems[D];
this.createdItems.count--
}else{this.deletedItems[D]={};
this.deletedItems.count++
}if(this.modifiedItems[D]!=undefined){delete this.modifiedItems[D];
this.modifiedItems.count--
}this.checkSaveButtonStatus()
}}G.clearSelections()
}}},moveDownSelection:function(){var E=this.gridEditor.getSelectionModel();
var D=E.getSortedSelections();
if(D){this.prepareRowMove();
var O=this.gridEditor.store.getCount();
var H=[];
var N=-1;
var B=O;
var M=O;
for(var G=D.length-1;
G>-1;
G--){var J=D[G][0];
var L=D[G][1];
if(J!=B){var I=this.gridEditor.store.getAt(J);
var K=J+1;
if(K>O-1){K=O-1;
N=O-1
}else{if(K==N){N--;
K--
}else{var F=null;
if(J+1<O){F=this.gridEditor.store.getAt(J+1)
}this.gridEditor.store.remove(I);
this.gridEditor.store.insert(K,I);
var C=null;
if(K+1<O){C=this.gridEditor.store.getAt(K+1)
}this.handleRowMove(I,F,C)
}}M=K;
H.push([K,L])
}else{H.push([M,L])
}B=J
}for(var G=0;
G<H.length;
G++){E.selectCell(H[G],true)
}}},moveUpSelection:function(){var D=this.gridEditor.getSelectionModel();
var C=D.getSortedSelections();
if(C){this.prepareRowMove();
var O=this.gridEditor.store.getCount();
var H=[];
var J=-1;
var N=-1;
var E=-1;
for(var G=0;
G<C.length;
G++){var K=C[G][0];
var M=C[G][1];
if(K!=N){var I=this.gridEditor.store.getAt(K);
var L=K-1;
if(L<0){L=0;
J=0
}else{if(L==J){J++;
L++
}else{var F=null;
if(K+1<O){F=this.gridEditor.store.getAt(K+1)
}this.gridEditor.store.remove(I);
this.gridEditor.store.insert(L,I);
var B=null;
if(L+1<O){B=this.gridEditor.store.getAt(L+1)
}this.handleRowMove(I,F,B)
}}E=L;
H.push([L,M])
}else{H.push([E,M])
}N=K
}for(var G=0;
G<H.length;
G++){D.selectCell(H[G],true)
}}},prepareRowMove:function(){if(!this.initialStoreData){var B=this.gridEditor.store.getCount();
this.initialStoreData=new CQ.Ext.util.MixedCollection(false);
this.initialStoreData.addAll([].concat(this.gridEditor.store.getRange(0,B)))
}},handleRowMove:function(J,F,B){var N=J.data[CQ.wcm.BulkEditor.JCR_PATH];
var E=null;
if(F){E=F.data[CQ.wcm.BulkEditor.JCR_PATH]
}var G=null;
if(B){G=B.data[CQ.wcm.BulkEditor.JCR_PATH]
}var H=this.gridEditor.store.indexOf(J);
var I=this.initialStoreData.indexOf(J);
if(H==I&&this.movedItems[N]){delete this.movedItems[N];
this.movedItems.count--
}else{if(!this.movedItems[N]){this.movedItems[N]={};
var L=null;
if(I+1<this.initialStoreData.length){var D=this.initialStoreData.itemAt(I+1);
L=D.data[CQ.wcm.BulkEditor.JCR_PATH]
}this.movedItems[N].initialNextPath=L;
this.movedItems[N].initialIndex=I;
this.movedItems[N].newNextPath=G;
this.movedItems[N].record=J;
this.movedItems[N].newIndex=H;
this.movedItems.count++
}else{if(this.movedItems[N].initialNextPath==G&&(!G||!this.movedItems[G])){delete this.movedItems[N];
this.movedItems.count--
}else{this.movedItems[N].newNextPath=G;
this.movedItems[N].newIndex=H
}}}for(var C in this.movedItems){if(C!="count"){var M=this.gridEditor.store.indexOf(this.movedItems[C].record);
var K=this.initialStoreData.indexOf(this.movedItems[C].record);
if(M==K){delete this.movedItems[C];
this.movedItems.count--
}else{if(C!=N){if(this.movedItems[C].newNextPath==N){this.movedItems[C].newNextPath=E
}if(this.movedItems[C].newNextPath==G){this.movedItems[C].newNextPath=N
}if(this.movedItems[C].newIndex!=M){this.movedItems[C].newIndex=M
}}}}}this.checkSaveButtonStatus()
},getColumnModelConfig:function(B,G,K){var J=this.getMetadata(B);
var H=J.checkbox===true||J.checkbox==="true";
var L=J.readOnly===true||J.readOnly==="true";
var C={id:B,header:G,dataIndex:K};
C=CQ.Util.applyDefaults(J,C);
if(this.initialConfig&&this.initialConfig.colModel){var M=this.initialConfig.colModel.width;
if(M!=undefined&&typeof M=="string"&&!isNaN(M)){this.initialConfig.colModel.width=parseInt(M)
}C=CQ.Util.applyDefaults(CQ.Util.copyObject(this.initialConfig.colModel),C)
}if(!C.width){if(this.rendered&&this.getSize()){var M=this.getSize().width;
var F=this.getColsValue();
if(F){var I=65;
if(this.colsSelectionInput&&this.colsSelectionInput.rendered){I=20
}var E=F.length+1;
C.width=parseInt((parseInt(M)-I)/E)
}}else{C.width="200"
}}if(H){C.readOnly=L;
var D=new CQ.wcm.BulkEditor.CheckColumn(C);
this.gridPlugins.push(D);
return D
}else{C.editor=new CQ.Ext.form.TextField({readOnly:L});
return C
}},getRootPath:function(){if(this.rootPathInput){return this.rootPathInput.getValue()
}return this.rootPath
},getQueryParams:function(){if(this.queryParamsInput){return this.queryParamsInput.getValue()
}return this.queryParams
},getContentMode:function(){if(this.contentModeInput&&this.contentModeInput.rendered){return this.contentModeInput.getValue()
}return this.contentMode
},getColsValue:function(){if(this.colsSelectionInput&&this.colsSelectionInput.rendered){var B=new Array();
if(this.colsSelectionInput&&this.colsSelectionInput.items){this.colsSelectionInput.items.each(function(C){if(C.getValue()){B.push(C.getName())
}},this)
}this.colsValue=B
}return this.colsValue
},getExtraCols:function(){if(this.extraColsInput){return this.extraColsInput.getValue()
}return this.extraCols
},saveGridModifications:function(){var I=false;
var E={};
var F=false;
if(!this.saveURL){this.saveURL="/"
}if(this.deletedItems&&this.deletedItems.count>0){delete this.deletedItems.count;
for(var M in this.deletedItems){if(this.modifiedItems[M]){delete this.modifiedItems[M]
}if(this.movedItems[M]){delete this.movedItems[M]
}E[M+CQ.Sling.DELETE_SUFFIX]="";
F=true
}}if(this.modifiedItems&&this.modifiedItems.count>0){delete this.modifiedItems.count;
for(var M in this.modifiedItems){for(var K in this.modifiedItems[M]){var J=this.modifiedItems[M][K].newValue;
if(J!==undefined){if(!J instanceof Array){J=[J]
}E[M+"/"+K]=J;
F=true
}}if(this.createdItems[M]&&this.insertedResourceType){E[M+"/"+CQ.wcm.BulkEditor.JCR_RESOURCETYPE]=this.insertedResourceType
}}}if(this.movedItems&&this.movedItems.count>0){delete this.movedItems.count;
var H=false;
for(var M in this.movedItems){if(this.saveURL=="/"){var C=[];
var L="last";
if(this.movedItems[M].newNextPath){var B=this.movedItems[M].newNextPath;
L="before "+B.substring(B.lastIndexOf("/")+1,B.length)
}C[CQ.Sling.ORDER]=L;
var D=CQ.HTTP.post(M,null,C);
if(!CQ.HTTP.isOk(D)){H=true
}}else{var G="newindex";
if(this.rowMovePostMode){G=this.rowMovePostMode
}switch(G){case"slingorder":E[M+"@Order"]=(this.movedItems[M].newNextPath?"before "+this.movedItems[M].newNextPath:"last");
break;
default:E[M+"@Order"]=this.movedItems[M].newIndex
}F=true
}}if(H){CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Saving error"),CQ.I18n.getMessage("Some re-ordering could not be saved."))
}}if(F){E[CQ.Sling.CHARSET]="utf-8";
var D=CQ.HTTP.post(this.saveURL,null,E);
if(!CQ.HTTP.isOk(D)){I=true
}}if(I){CQ.Ext.MessageBox.alert(CQ.I18n.getMessage("Saving error"),CQ.I18n.getMessage("Some modifications or deletions could not be saved."))
}this.loadGrid()
}});
CQ.wcm.BulkEditor.JCR_PATH="jcr:path";
CQ.wcm.BulkEditor.JCR_CONTENT_NODE="jcr:content";
CQ.wcm.BulkEditor.JCR_RESOURCETYPE="sling:resourceType";
CQ.Ext.reg("bulkeditor",CQ.wcm.BulkEditor);
CQ.wcm.BulkEditor.CheckColumn=function(B){CQ.Ext.apply(this,B);
if(!this.id){this.id=CQ.Ext.id()
}this.renderer=this.renderer.createDelegate(this)
};
CQ.wcm.BulkEditor.CheckColumn.prototype={init:function(B){this.grid=B;
this.grid.on("render",function(){var C=this.grid.getView();
C.mainBody.on("mousedown",this.onMouseDown,this)
},this)
},onMouseDown:function(D,C){if(this.readOnly!==true&&this.readOnly!=="true"){if(C.className&&C.className.indexOf("x-grid3-cc-"+this.id)!=-1){D.stopEvent();
var E=this.grid.getView().findRowIndex(C);
var B=this.grid.store.getAt(E);
B.set(this.dataIndex,!B.data[this.dataIndex]);
this.grid.bulkeditor.handleEditedRecord(B,this.dataIndex,B.data[this.dataIndex],!B.data[this.dataIndex])
}}},renderer:function(C,D,B){C=B.data[this.dataIndex]==="true"||B.data[this.dataIndex]===true;
B.data[this.dataIndex]=C;
D.css+=" x-grid3-check-col-td";
return'<div class="x-grid3-check-col'+(C?"-on":"")+" x-grid3-cc-"+this.id+'">&#160;</div>'
}};
CQ.wcm.BulkEditorForm=CQ.Ext.extend(CQ.Ext.form.FormPanel,{constructor:function(B){B=(!B?{}:B);
B.xtype="bulkeditor";
var D=B.renderTo;
delete B.renderTo;
var C={renderTo:D,items:[B],hideBorders:true,border:false,stateful:false,width:"100%",anchor:"100%"};
CQ.wcm.BulkEditorForm.superclass.constructor.call(this,C)
}});
CQ.Ext.reg("bulkeditorform",CQ.wcm.BulkEditorForm);
CQ.wcm.FeedImporter=function(B){this.constructor.call(this,B)
};
CQ.wcm.FeedImporter=CQ.Ext.extend(CQ.Ext.Viewport,{viewConfig:{forceFit:true},constructor:function(E){var C=this;
var D=new CQ.Ext.data.Store({proxy:new CQ.Ext.data.HttpProxy({url:"/etc/importers/polling/list.json"}),autoLoad:true,reader:new CQ.Ext.data.JsonReader({root:"rows",totalProperty:"results",id:"path",fields:["path","scheme","source","target","interval"]})});
D.setDefaultSort("path","ASC");
var B=new CQ.Ext.grid.ColumnModel([new CQ.Ext.grid.RowNumberer(),{header:CQ.I18n.getMessage("Scheme"),dataIndex:"scheme",width:60},{header:CQ.I18n.getMessage("Source"),dataIndex:"source",width:400},{header:CQ.I18n.getMessage("Imported to Path"),dataIndex:"target",width:400},{header:CQ.I18n.getMessage("Import Interval in Seconds"),dataIndex:"interval",width:120},{header:CQ.I18n.getMessage("Path of Importer Configuration"),dataIndex:"path",width:200}]);
B.defaultSortable=true;
var G=new CQ.Ext.Action({id:"cq.wcm.FeedImporter.remove",text:CQ.I18n.getMessage("Remove"),handler:function(){CQ.Ext.Msg.show({title:CQ.I18n.getMessage("Delete Configuration?"),msg:CQ.I18n.getMessage("Would you really like to delete the importer configuration?"),buttons:CQ.Ext.Msg.YESNO,icon:CQ.Ext.MessageBox.QUESTION,fn:function(J){if(J=="yes"){var H=CQ.Ext.getCmp("cq-feedimporter-grid").getSelectionModel().getSelected();
var I={};
I[CQ.Sling.STATUS]=CQ.Sling.STATUS_BROWSER;
I[CQ.Sling.OPERATION]=CQ.Sling.OPERATION_DELETE;
I[CQ.Sling.CHARSET]="utf-8";
CQ.HTTP.post(H.id,function(L,M,K){if(M){CQ.Ext.getCmp("cq-feedimporter-grid").store.reload()
}},I,this)
}}})
},tooltip:{title:CQ.I18n.getMessage("Remove configuration entry"),text:CQ.I18n.getMessage("Removes the selected importer configuration"),autoHide:true}});
G.setDisabled(true);
var F=CQ.WCM.getDialog({"jcr:primaryType":"cq:Dialog",xtype:"dialog",title:"New Importer Configuration",params:{_charset_:"utf-8"},items:{xtype:"panel",items:[{xtype:"textfield",name:"source",allowBlank:false,fieldLabel:CQ.I18n.getMessage("Feed URL")},{xtype:"browsefield",content:"content",selectOnFocus:true,allowBlank:false,name:"target",fieldLabel:CQ.I18n.getMessage("Import to Path"),treeRoot:{text:CQ.I18n.getMessage("Site")},treeLoader:{dataUrl:"/bin/tree/ext.json"}},{xtype:"numberfield",name:"interval",fieldLabel:CQ.I18n.getMessage("Update Interval in Seconds")},{xtype:"hidden",name:"jcr:mixinTypes",value:"cq:PollConfig"},{xtype:"hidden",name:"hidden",value:"true"}]},responseScope:this,success:function(){CQ.Ext.getCmp("cq-feedimporter-grid").store.reload()
},failure:function(){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Error"),CQ.I18n.getMessage("Could not create feed configuration!"))
},buttons:CQ.Dialog.OKCANCEL});
F.form.url="/etc/importers/polling/*";
CQ.wcm.FeedImporter.superclass.constructor.call(this,{id:"cq-feedimporter-wrapper",layout:"border",renderTo:"CQ",items:[{xtype:"toolbar",region:"north",id:"cq-feedimporter-toolbar",items:[{xtype:"tbbutton",text:CQ.I18n.getMessage("Refresh"),tooltip:CQ.I18n.getMessage("Updates the list of feed importer configurations"),handler:function(){CQ.Ext.getCmp("cq-feedimporter-grid").store.reload()
}},{xtype:"tbseparator"},{xtype:"tbbutton",text:CQ.I18n.getMessage("Add"),handler:function(){F.show()
}},G]},{xtype:"grid",id:"cq-feedimporter-grid",region:"center",margins:"5 5 5 5",pageSize:25,loadMask:true,stripeRows:true,cm:B,store:D,sm:new CQ.Ext.grid.RowSelectionModel({singleSelect:true,listeners:{selectionchange:function(H){G.setDisabled(!H.hasSelection())
}}})}]})
},initComponent:function(){CQ.wcm.FeedImporter.superclass.initComponent.call(this)
}});
CQ.Ext.reg("feedimporter",CQ.wcm.FeedImporter);
CQ.wcm.FormActionSelection=CQ.Ext.extend(CQ.form.Selection,{tabId:null,loadedData:null,constructor:function(B){var C={options:"/bin/wcm/foundation/forms/actions.json",type:"select",tabId:"cq5_form_action_config_panel"};
CQ.Util.applyDefaults(B,C);
CQ.wcm.FormActionSelection.superclass.constructor.call(this,B);
this.tabId=B.tabId;
this.addListener(CQ.form.Selection.EVENT_SELECTION_CHANGED,function(D,E){this.notifyChange(E,false)
})
},initComponent:function(){CQ.wcm.FormActionSelection.superclass.initComponent.call(this)
},notifyChange:function(value,loadWidgets){var configTab=CQ.Ext.getCmp(this.tabId);
if(configTab!=null){var form=configTab.findParentByType("form").getForm();
configTab.items.each(function(item,index,length){form.remove(item);
configTab.remove(item)
},this);
var workaroundRemoveLabels=CQ.Ext.DomQuery.select("div[class*='x-form-item']",configTab.getEl().dom);
for(var x=0;
x<workaroundRemoveLabels.length;
x++){workaroundRemoveLabels[x].parentNode.removeChild(workaroundRemoveLabels[x])
}configTab.doLayout();
var url="/bin/wcm/foundation/forms/actiondialog.json";
url=CQ.utils.HTTP.addParameter(url,"id",value);
response=CQ.utils.HTTP.get(url);
if(response!=null){var items=CQ.utils.Util.formatData(CQ.Util.eval(response));
for(var i in items){if(!items[i]||(typeof items[i]=="string")){continue
}var wi=configTab.add(items[i]);
form.add(wi);
if(loadWidgets){configTab.doLayout();
wi.processRecord(this.loadedData)
}}configTab.doLayout()
}}},processRecord:function(B,C){this.loadedData=B;
CQ.wcm.FormActionSelection.superclass.processRecord.call(this,B,C)
},setValue:function(B){if(typeof B=="undefined"||B===null){B="foundation/components/form/actions/store"
}CQ.wcm.FormActionSelection.superclass.setValue.call(this,B);
this.notifyChange(B,true)
}});
CQ.Ext.reg("formactionselection",CQ.wcm.FormActionSelection);
CQ.wcm.FormReportButton=CQ.Ext.extend(CQ.form.CompositeField,{constructor:function(C){var D=this;
var F="Show Report...";
if(C&&C.text){F=C.text
}var E="/bin/wcm/foundation/forms/report";
if(C&&C.baseUrl){E=C.baseUrl
}var B;
if(C&&C.url){B=C.url
}C=CQ.Util.applyDefaults(C,{border:false,items:[{xtype:"panel",border:false,bodyStyle:"padding:4px",items:[{xtype:"button",text:F,handler:function(){var I=D.findParentByType("dialog");
var H;
if(B){H=CQ.Util.externalize(B)
}else{H=CQ.Util.externalize(E);
H+="?path="+I.form.url
}var G=window.open(H,"FormReport");
G.focus()
}}]}]});
var D=this;
CQ.wcm.FormReportButton.superclass.constructor.call(this,C)
},initComponent:function(){CQ.wcm.FormReportButton.superclass.initComponent.call(this)
}});
CQ.Ext.reg("formreportbutton",CQ.wcm.FormReportButton);
CQ.wcm.CustomCellSelectionModel=function(B){CQ.Ext.apply(this,B);
this.selections=[];
this.last=false;
this.lastActive=false;
this.addEvents("selectionchange","beforecellselect","cellselect","celldeselect");
CQ.wcm.CustomCellSelectionModel.superclass.constructor.call(this)
};
CQ.Ext.extend(CQ.wcm.CustomCellSelectionModel,CQ.Ext.grid.AbstractSelectionModel,{singleSelect:false,initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("cellmousedown",this.handleMouseDown,this)
}else{this.grid.on("cellclick",function(C,F,D,E){if(E.button===0&&!E.shiftKey&&!E.ctrlKey){this.selectCell([F,D],false);
C.view.focusCell(F,D)
}},this)
}this.rowNav=new CQ.Ext.KeyNav(this.grid.getGridEl(),{up:function(E){if(this.last==false){this.selectCell([0,0])
}else{if(this.lastActive[0]==0){return 
}else{var F,C;
F=this.lastActive[0]-1;
C=this.lastActive[1];
if(!E.shiftKey){this.selectCell([F,C])
}else{var D=this.last;
this.selectRange(this.last,[F,C]);
this.last=D
}this.grid.getView().focusCell(F,C);
this.lastActive=[F,C]
}}},down:function(E){if(this.last==false){this.selectCell([0,0])
}else{if(this.lastActive[0]==this.grid.getStore().getCount()-1){return 
}else{var F,C;
F=this.lastActive[0]+1;
C=this.lastActive[1];
if(!E.shiftKey){this.selectCell([F,C])
}else{var D=this.last;
this.selectRange(this.last,[F,C]);
this.last=D
}this.grid.getView().focusCell(F,C);
this.lastActive=[F,C]
}}},left:function(E){if(this.last==false){this.selectCell([0,0])
}else{if(this.lastActive[1]==0){return 
}else{var F,C;
F=this.lastActive[0];
C=this.lastActive[1]-1;
if(!E.shiftKey){this.selectCell([F,C])
}else{var D=this.last;
this.selectRange(this.last,[F,C]);
this.last=D
}this.grid.getView().focusCell(F,C);
this.lastActive=[F,C]
}}},right:function(E){if(this.last==false){this.selectCell([0,0])
}else{if(this.lastActive[1]==this.grid.getColumnModel().getColumnCount()-1){return 
}else{var F,C;
F=this.lastActive[0];
C=this.lastActive[1]+1;
if(!E.shiftKey){this.selectCell([F,C])
}else{var D=this.last;
this.selectRange(this.last,[F,C]);
this.last=D
}this.grid.getView().focusCell(F,C);
this.lastActive=[F,C]
}}},scope:this});
var B=this.grid.view;
B.on("refresh",this.onRefresh,this);
B.on("rowremoved",this.onRemove,this)
},onRefresh:function(){this.clearSelections()
},onRemove:function(B,C,D){this.deselectRange([C,0],[C,this.grid.getColumnModel().getColumnCount()])
},getCount:function(){return this.selections.length
},selectRight:function(C){if(this.hasNext()){var D,B=this.last[1];
if(B==this.grid.getColumnModel().getColumnCount()-1){D=this.last[0]+1;
B=0
}else{D=this.last[0];
B+=1
}this.selectCell([D,B],C);
this.grid.getView().focusCell(this.last[0],this.last[1]);
return true
}return false
},selectDown:function(E){var C,D=this.grid.getColumnModel().getColumnCount();
for(var B=0;
B<D;
B++){C=this.selectRight(E);
if(!C){break
}}return C
},selectUp:function(E){var C,D=this.grid.getColumnModel().getColumnCount();
for(var B=0;
B<D;
B++){C=this.selectLeft(E);
if(!C){break
}}return C
},selectLeft:function(C){if(this.hasPrevious()){var D,B=this.last[1];
if(B==0){D=this.last[0]-1;
B=this.grid.getColumnModel().getColumnCount()-1
}else{D=this.last[0];
B-=1
}this.selectCell([D,B],C);
this.grid.getView().focusCell(this.last[0],this.last[1]);
return true
}return false
},hasNext:function(){return this.last!==false&&((this.last[0]+1)<this.grid.store.getCount()||(this.last[1]+1)<this.grid.getColumnModel().getColumnCount())
},hasPrevious:function(){return this.last!==false&&(this.last[0]!=0||this.last[1]!=0)
},getSelections:function(){return[].concat(this.selections)
},getSortedSelections:function(){return[].concat(this.selections).sort()
},getSelectedCell:function(){return this.selections.length>0?[].concat(this.selections[0]):null
},each:function(F,E){var D=this.getSelections();
for(var C=0,B=D.length;
C<B;
C++){if(F.call(E||this,D[C],C)===false){return false
}}return true
},clearSelections:function(){if(this.locked){return 
}for(var B=this.selections.length-1;
B>=0;
B--){this.deselectCell(this.selections[B])
}this.selections=[];
this.last=false
},selectAll:function(){if(this.locked){return 
}this.selections=[];
var E,C;
var B=this.grid.getStore().getCount();
var D=this.grid.getColumnModel().getColumnCount();
for(E=0;
E<B;
E++){for(C=0;
C<D;
C++){this.selectCell([E,C],true)
}}},hasSelection:function(){return this.selections.length>0
},isSelected:function(B){var D=this.selections;
for(var C=0;
C<D.length;
C++){if(D[C][0]==B[0]&&D[C][1]==B[1]){return true
}}return false
},handleMouseDown:function(F,H,D,G){if(G.button!==0||this.isLocked()){return 
}var B=this.grid.getView();
if(G.shiftKey&&this.last!==false){var E=this.last;
this.selectRange(E,[H,D],G.ctrlKey);
this.last=E;
B.focusCell(H,D)
}else{var C=this.isSelected([H,D]);
if(G.ctrlKey&&C){this.deselectCell([H,D])
}else{if(!C||this.getCount()>1){if(C){this.clearSelections()
}this.selectCell([H,D],G.ctrlKey||G.shiftKey);
B.focusCell(H,D)
}}}},selectCells:function(C,E){if(!E){this.clearSelections()
}for(var D=0,B=C.length;
D<B;
D++){this.selectCell(C[D],true)
}},selectRange:function(G,C,K){if(this.locked){return 
}if(!K){this.clearSelections()
}var J,D,H;
var I=G[0];
var B=G[1];
var E=C[0];
var F=C[1];
if(E<I){J=E;
E=I;
I=J
}if(F<B){D=F;
F=B;
B=D
}for(J=I;
J<=E;
J++){for(D=B;
D<=F;
D++){this.selectCell([J,D],true)
}}},deselectRange:function(H,C,F){if(this.locked){return 
}var K,D,I;
var J=H[0];
var B=H[1];
var E=C[0];
var G=C[1];
if(E<J){K=E;
E=J;
J=K
}if(G<B){D=G;
G=B;
B=D
}for(K=J;
K<=E;
K++){for(D=B;
D<=G;
D++){this.deselectCell([K,D],F)
}}},selectCell:function(D,F,B){if(this.locked){return 
}if(this.isSelected(D)){return 
}var G=D[0];
var C=D[1];
if(G<0||G>=this.grid.store.getCount()){return 
}if(C<0||C>=this.grid.getColumnModel().getColumnCount()){return 
}if(this.fireEvent("beforecellselect",this,D,F)!==false){if(!F||this.singleSelect){this.clearSelections()
}this.selections.push(D);
this.last=this.lastActive=D;
if(!B){try{this.grid.getView().onCellSelect(G,C)
}catch(E){}}this.fireEvent("cellselect",this,D);
this.fireEvent("selectionchange",this,[].concat(this.selections))
}},deselectCell:function(C,B){if(this.locked){return 
}if(this.last[0]==C[0]&&this.last[1]==C[1]){this.last=false
}if(this.lastActive[0]==C[0]&&this.lastActive[1]==C[1]){this.lastActive=false
}var E=this.selections;
for(var D=0;
D<E.length;
D++){if(E[D][0]==C[0]&&E[D][1]==C[1]){this.selections.remove(E[D]);
if(!B){try{this.grid.getView().onCellDeselect(C[0],C[1])
}catch(F){}}this.fireEvent("celldeselect",this,C);
this.fireEvent("selectionchange",[].concat(this.selections));
return 
}}},acceptsNav:function(D,C,B){return !B.isHidden(C)&&B.isCellEditable(C,D)
},onEditorKey:function(G,F){var D=F.getKey(),H,E=this.grid,C=E.activeEditor;
var B=F.shiftKey;
if(D==F.TAB){F.stopEvent();
C.completeEdit();
if(B){H=E.walkCells(C.row,C.col-1,-1,this.acceptsNav,this)
}else{H=E.walkCells(C.row,C.col+1,1,this.acceptsNav,this)
}}else{if(D==F.ENTER){F.stopEvent();
C.completeEdit();
if(this.moveEditorOnEnter!==false){if(B){H=E.walkCells(C.row-1,C.col,-1,this.acceptsNav,this)
}else{H=E.walkCells(C.row+1,C.col,1,this.acceptsNav,this)
}}}else{if(D==F.ESC){C.cancelEdit()
}}}if(H){E.startEditing(H[0],H[1])
}}});
CQ.wcm.msm.MSM={};
CQ.wcm.msm.MSM.getSyncTriggerConfig=function(){return new CQ.Ext.form.ComboBox({stateful:false,fieldLabel:CQ.I18n.getMessage("Sync Trigger"),allowBlank:false,defaultValue:"never",value:"never",name:"trigger",hiddenName:"msm:trigger",displayField:"label",valueField:"id",typeAhead:true,mode:"local",triggerAction:"all",store:new CQ.Ext.data.SimpleStore({fields:["id","label"],data:[["never",CQ.I18n.getMessage("Never")],["rollout",CQ.I18n.getMessage("On Rollout")],["modification",CQ.I18n.getMessage("On Modification")],["publish",CQ.I18n.getMessage("On Activation")]]})})
};
CQ.wcm.msm.MSM.getRelationStatus=function(B){var D="";
if(B&&B[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]&&B[CQ.wcm.msm.MSM.PARAM_STATUS]){if(!B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]){if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING]&&B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&!B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]){if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_MODIFIED]){var E=CQ.I18n.getMessage("Modified source page: {0}",[B[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]]);
var C="msm-status-modified";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}else{if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MODIFIED]){var E=CQ.I18n.getMessage("Live Copy has been locally modified");
var C="msm-status-modified";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}else{var E=CQ.I18n.getMessage("Live Copy from: {0}",[B[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]]);
var C="msm-status-synchronized";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}}if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_CANCELLED_CHILD]){var E=CQ.I18n.getMessage("Page contains paragraphs for which Live Copy has been cancelled");
var C="msm-status-cancelled";
D+='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}}else{if(!B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED]){var E=CQ.I18n.getMessage("Deleted source page: {0}",[B[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]]);
var C="msm-status-deleted";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}else{if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]||(!B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&!B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED])){var E=CQ.I18n.getMessage("Page created on Live Copy");
var C="msm-status-new";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}}}}else{if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]||B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED]){var E=CQ.I18n.getMessage("Cancelled Live Copy from {0}",[B[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]]);
var C="msm-status-cancelled";
D='<div class="msm-status '+C+'" title="'+E+'" alt="'+E+'"></div>'
}}}return D
};
CQ.wcm.msm.MSM.PARAM_SOURCEPATH="msm:sourcePath";
CQ.wcm.msm.MSM.PARAM_TARGETPATH="msm:targetPath";
CQ.wcm.msm.MSM.PARAM_SYNCPATH="msm:syncPath";
CQ.wcm.msm.MSM.PARAM_LIVECOPY_PATH="msm:liveCopyPath";
CQ.wcm.msm.MSM.PARAM_LIVECOPY_BPPATH="msm:liveCopyBpPath";
CQ.wcm.msm.MSM.PARAM_IS_DEEP="msm:isDeep";
CQ.wcm.msm.MSM.PARAM_STATUS="msm:status";
CQ.wcm.msm.MSM.PARAM_TRIGGER="msm:trigger";
CQ.wcm.msm.MSM.PARAM_COMPUTATION_TIME="msm:computationTime";
CQ.wcm.msm.MSM.PARAM_ACTION_CONFIG="msm:actionConfig";
CQ.wcm.msm.MSM.PARAM_IS_CANCELLED="msm:isCancelled";
CQ.wcm.msm.MSM.PARAM_IS_CANCELLED_FOR_CHILDREN="msm:isCancelledForChildren";
CQ.wcm.msm.MSM.PARAM_IS_EDITABLE="msm:isEditable";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING="msm:isTargetExisting";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_DELETED="msm:isTargetDeleted";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_MODIFIED="msm:isTargetModified";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_CANCELLED_CHILD="msm:isTargetCancelledChild";
CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING="msm:isSourceExisting";
CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED="msm:isSourceDeleted";
CQ.wcm.msm.MSM.PARAM_IS_SOURCE_MODIFIED="msm:isSourceModified";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED="msm:isTargetManuallyCreated";
CQ.wcm.msm.MSM.PARAM_IS_TARGET_FROM_DIFFERENT_TREE="msm:isTargetFromDifferentTree";
CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP="msm:liveRelationship";
CQ.wcm.msm.MSM.PARAM_TARGETS="msm:targets";
CQ.wcm.msm.MSM.PARAM_IS_LIVECOPY="msm:isLiveCopy";
CQ.wcm.msm.MSM.PARAM_IS_IN_BLUEPRINT="msm:isInBlueprint";
CQ.wcm.msm.MSM.PARAM_IS_SOURCE="msm:isSource";
CQ.wcm.msm.MSM.PARAM_IS_INHERITED_CONFIG="msm:isInheritedConfig";
CQ.wcm.msm.MSM.PARAM_IS_ROOT_CONFIG="msm:isRootConfig";
CQ.wcm.msm.MSM.MIXIN_LIVE_RELATIONSHIP="cq:LiveRelationship";
CQ.wcm.msm.MSM.MIXIN_LIVE_SYNC_CANCELLED="cq:LiveSyncCancelled";
CQ.wcm.msm.MSM.UpdateContentAction={xtype:"selection",fieldLabel:CQ.I18n.getMessage("Update Content"),name:"msm:actionUpdate/status",actionName:"msm:actionUpdate",stateful:false,type:"checkbox",fieldDescription:CQ.I18n.getMessage("Enables content update"),defaultValue:false};
CQ.wcm.msm.MSM.NotifyAction={xtype:"selection",fieldLabel:CQ.I18n.getMessage("Enable Notification"),name:"msm:actionNotify/target",actionName:"msm:actionNotify",stateful:false,type:"checkbox",fieldDescription:CQ.I18n.getMessage("Enables notification"),defaultValue:false};
CQ.wcm.msm.MSM.WorkflowAction={xtype:"combo",fieldLabel:CQ.I18n.getMessage("Start Workflow"),name:"actionWorkflow",hiddenName:"msm:actionWorkflow/target",actionName:"msm:actionWorkflow",stateful:false,typeAhead:true,triggerAction:"all",inputType:"text",emptyText:"",minChars:0,editable:true,lazyInit:false,displayField:"label",valueField:"wid",fieldDescription:CQ.I18n.getMessage("Select a workflow to be started on synchronization"),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="cq-msm-list cq-msm-workflow-list">','<div class="cq-msm-list-entry cq-msm-workflow-list-entry">{[values.label==""? values.wid: values.label]}</div>',"</div>","</tpl>"),itemSelector:"div.cq-msm-workflow-list",store:new CQ.Ext.data.Store({autoLoad:false,proxy:new CQ.Ext.data.HttpProxy({url:"/libs/workflow/content/console/workflows.json",method:"GET"}),reader:new CQ.Ext.data.JsonReader({root:"workflows",totalProperty:"results",id:"wid",fields:["wid","label"]})}),defaultValue:""};
CQ.wcm.msm.MSM.MandatoryAction={xtype:"combo",fieldLabel:CQ.I18n.getMessage("Read only for"),name:"actionMandatory",hiddenName:"msm:actionMandatory/target",actionName:"msm:actionMandatory",stateful:false,typeAhead:true,triggerAction:"all",inputType:"text",displayField:"name",emptyText:"",minChars:0,editable:true,lazyInit:false,queryParam:"filter",fieldDescription:CQ.I18n.getMessage("Select the groups that will have read-only access on the copies."),tpl:new CQ.Ext.XTemplate('<tpl for=".">','<div class="cq-msm-list cq-msm-mandatory-list">','<div class="cq-msm-list-entry cq-msm-mandatory-list-entry">{[values.name==""? values.id: values.name]}</div>',"</div>","</tpl>"),itemSelector:"div.cq-msm-mandatory-list",store:new CQ.Ext.data.Store({autoLoad:false,proxy:new CQ.Ext.data.HttpProxy({url:"/bin/security/authorizables.json?limit=25&hideUsers=true",method:"GET"}),reader:new CQ.Ext.data.JsonReader({root:"authorizables",totalProperty:"results",id:"id",fields:["name","id"]})}),defaultValue:""};
CQ.wcm.msm.MSM.ACTIONS=[CQ.wcm.msm.MSM.UpdateContentAction,CQ.wcm.msm.MSM.NotifyAction,CQ.wcm.msm.MSM.WorkflowAction,CQ.wcm.msm.MSM.MandatoryAction];
CQ.wcm.msm.MSM.getSyncActionsConfig=function(E){var D=new Array();
for(var C=0;
C<CQ.wcm.msm.MSM.ACTIONS.length;
C++){var B=CQ.Util.applyDefaults({},CQ.wcm.msm.MSM.ACTIONS[C]);
if(E){B=CQ.Util.applyDefaults(B,{processInit:function(F,G){if(G.data[this.actionName]&&G.data[this.actionName]["inherited"]){this.disable()
}else{this.enable()
}}})
}D.push(B)
}return new CQ.Ext.form.FieldSet({title:CQ.I18n.getMessage("Sync Actions"),autoHeight:true,stateful:false,defaults:{anchor:"95%"},items:D})
};
CQ.wcm.msm.MSM.getRolloutInfo=function(C,B){var D={text:"",shortText:"",css:""};
if(C&&C[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]&&C[CQ.wcm.msm.MSM.PARAM_STATUS]){if(B&&C[CQ.wcm.msm.MSM.PARAM_SOURCEPATH].indexOf(B)!=0){D.text=CQ.I18n.getMessage("Target page inherits from a different Blueprint. Rollout {0} page to update target page.",C[CQ.wcm.msm.MSM.PARAM_SOURCEPATH]);
D.shortText=CQ.I18n.getMessage("No action");
D.css="msm-rollout-plan-info-no-action"
}else{if(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]){if(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]&&C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING]&&C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]){if(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_CANCELLED_CHILD]){D.text=CQ.I18n.getMessage("Target page contains paragraphs for which Live Copy has been cancelled. These paragraphs will not be updated, others will be replaced.");
D.shortText=CQ.I18n.getMessage("Partial update");
D.css="msm-rollout-plan-info-partial-update"
}else{D.text=CQ.I18n.getMessage("Target page will be fully updated.");
D.shortText=CQ.I18n.getMessage("Full update");
D.css="msm-rollout-plan-info-update"
}}else{if(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED]){D.text=CQ.I18n.getMessage("Target page will be deleted from Live Copy");
D.shortText=CQ.I18n.getMessage("Delete");
D.css="msm-rollout-plan-info-delete"
}else{if(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]||(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_DELETED])){D.text=CQ.I18n.getMessage("Page has been created into Live Copy. No rollout action.");
D.shortText=CQ.I18n.getMessage("No action");
D.css="msm-rollout-plan-info-no-action"
}else{if(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING]){if(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_DELETED]){D.text=CQ.I18n.getMessage("Target page does not exist and will be created in Live Copy.");
D.shortText=CQ.I18n.getMessage("Create");
D.css="msm-rollout-plan-info-create"
}else{D.text=CQ.I18n.getMessage("Target page has been manually deleted. To restore it, use the version manager");
D.shortText=CQ.I18n.getMessage("No action");
D.css="msm-rollout-plan-info-no-action"
}}}}}}else{D.text=CQ.I18n.getMessage("Live Copy has been cancelled for target page. No rollout action");
D.shortText=CQ.I18n.getMessage("No action");
D.css="msm-rollout-plan-info-no-action"
}}}return D
};
CQ.wcm.msm.MSM.toHTML=function(B){var C="<div>";
if(B){if(B[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]){C+="cancelled"
}else{C+="sync"
}}return C+"</div>"
};
CQ.wcm.msm.LiveCopyProperties=CQ.Ext.extend(CQ.CustomContentPanel,{constructor:function(B){B=(!B?{}:B);
this.actionConfigTextField=new CQ.Static({bottommargin:true,html:""});
this.isInheritedConfigField=new CQ.Ext.form.Hidden({name:CQ.wcm.msm.MSM.PARAM_IS_INHERITED_CONFIG});
this.isRootConfigField=new CQ.Ext.form.Hidden({name:CQ.wcm.msm.MSM.PARAM_IS_ROOT_CONFIG});
this.isResetConfigField=new CQ.Ext.form.Hidden({name:"resetConfig",value:false});
var C={stateful:false,title:CQ.I18n.getMessage("Live Copy"),urlExtensionGET:".msm.json",urlExtensionPOST:".msm.conf",items:[{fieldLabel:CQ.I18n.getMessage("Live Copy from"),name:CQ.wcm.msm.MSM.PARAM_SOURCEPATH,readOnly:true,xtype:"textfield"},{fieldLabel:CQ.I18n.getMessage("Live Copy suspended"),name:CQ.wcm.msm.MSM.PARAM_STATUS+"/"+CQ.wcm.msm.MSM.PARAM_IS_CANCELLED,readOnly:true,type:"checkbox",xtype:"selection"},this.actionConfigTextField,CQ.wcm.msm.MSM.getSyncTriggerConfig(),CQ.wcm.msm.MSM.getSyncActionsConfig(true),this.isInheritedConfigField,this.isRootConfigField,this.isResetConfigField]};
CQ.Util.applyDefaults(B,C);
CQ.wcm.msm.LiveCopyProperties.superclass.constructor.call(this,B)
},initComponent:function(){CQ.wcm.msm.LiveCopyProperties.superclass.initComponent.call(this);
var B=this;
this.on("render",function(){this.parentDialog=this.findParentByType("dialog");
if(this.parentDialog){this.parentDialog.on("loadContent",function(D){var C=CQ.WCM.getPage(this.path);
if(!C.isLiveCopy()){B.disable()
}},this.parentDialog)
}},this);
this.on("loadContent",function(){var E=this.actionConfigTextField.html;
var C=("true"==this.isInheritedConfigField.getValue());
var D=("true"==this.isRootConfigField.getValue());
if(C){E+=CQ.I18n.getMessage("The sync configuration is inherited from a parent page. Changes made below will cancel the inheritance and store the configuration on the current page.")
}else{if(D){E+=CQ.I18n.getMessage("The sync configuration is stored on the current page, which is the root page of the Live Copy. Child pages of the current page inherit this configuration, unless they have configurations of their own.")
}else{var F=" var cmp = CQ.Ext.getCmp('"+this.id+"');";
F+=" cmp.resetConfig();";
E+=CQ.I18n.getMessage("The sync configuration is stored on the current page. You can {0}reset the configuration{1} in order to inherit the configuration from a parent page.",['<a href="#" onClick="'+F+'">',"</a>"])
}}E+="<p></p>";
E+=CQ.I18n.getMessage("Note: Disabled actions are inherited from the blueprint and cannot be modified.");
this.actionConfigTextField.updateHtml(E)
},this)
},resetConfig:function(){this.isResetConfigField.setValue(true);
var C=this.path;
if(!this.path){var B=this.findParentByType("dialog");
if(B){C=B.path
}}if(C){this.computeUrlPOST(C);
this.submitPanel(this.urlPOST)
}this.loadContent()
}});
CQ.Ext.reg("livecopyproperties",CQ.wcm.msm.LiveCopyProperties);
CQ.wcm.msm.RolloutWizard=CQ.Ext.extend(CQ.Dialog,{constructor:function(E){var D=new Array();
D.push({text:CQ.I18n.getMessage("Rollout entire page"),value:"page"});
D.push({text:CQ.I18n.getMessage("Rollout page and all sub pages"),value:"deep"});
if(!E.hideComponents){D.push({text:CQ.I18n.getMessage("Rollout selected components"),value:"selected"});
D.push({text:CQ.I18n.getMessage("Delete + rollout selected components"),value:"delete"})
}this.rolloutType=new CQ.form.Selection({name:"type",cls:"x-form-field",fieldLabel:CQ.I18n.getMessage("Rollout Scope"),type:"radio",value:"page",options:D});
var C=this;
var B={title:CQ.I18n.getMessage("Rollout: {0}",E.path),height:350,items:{xtype:"panel",layout:"form",items:[this.rolloutType]},buttons:[{text:CQ.I18n.getMessage("Next"),disabled:false,handler:function(){var G=C.rolloutType.getValue();
var F=[];
if(G=="selected"||G=="delete"){var H=CQ.WCM.getContentWindow().CQ.WCM.getSelection();
H.each(function(){if(this.path&&this.path.charAt(this.path.length-1)!="*"){F.push(this.path)
}});
if(F.length==0){CQ.Ext.Msg.alert(CQ.I18n.getMessage("Info"),CQ.I18n.getMessage("You have to select at least one component."));
return 
}}var I=new CQ.wcm.msm.RolloutPlan({path:C.path,params:{type:G,paras:F}});
I.show();
C.hide()
}},CQ.Dialog.CANCEL]};
E=CQ.Util.applyDefaults(E,B);
CQ.wcm.msm.RolloutWizard.superclass.constructor.call(this,E)
},initComponent:function(){CQ.wcm.msm.RolloutWizard.superclass.initComponent.call(this)
}});
CQ.Ext.reg("rolloutwizard",CQ.wcm.msm.RolloutWizard);
CQ.wcm.msm.RolloutPlan=CQ.Ext.extend(CQ.Dialog,{constructor:function(G){var E=CQ.I18n.getMessage("Current page will be rolled out to the following target pages. Check targets which should be updated and press the rollout button.");
if(G.params){if(G.params.type=="deep"){E=CQ.I18n.getMessage("Current page and all its child page will be rolled out to the following target pages. Check targets which should be updated and press the rollout button.")
}else{if(G.params.type=="selected"){E=CQ.I18n.getMessage("Selected components will be rolled out into the following target pages. Check targets which should be updated and press the rollout button.")
}else{if(G.params.type=="delete"){E=CQ.I18n.getMessage("Selected components will be deleted and rolled out into the following target pages. Check targets which should be updated and press the rollout button.")
}else{G.params.type="page"
}}}}else{G.params={type:"page"}
}this.rolloutType=new CQ.Static({text:E,bottommargin:true});
var H=new CQ.wcm.msm.RolloutPlan.CheckColumn({rolloutPath:G.path,name:"isTarget",header:"",dataIndex:"isTarget",width:20});
this.columnModel=new CQ.Ext.grid.ColumnModel([H,{id:CQ.wcm.msm.MSM.PARAM_TARGETPATH,header:"Target Page",dataIndex:CQ.wcm.msm.MSM.PARAM_TARGETPATH,width:220},{header:CQ.I18n.getMessage("Action"),dataIndex:"action",width:80,renderer:function(K,J,I){if(K===""){var L=CQ.wcm.msm.MSM.getRolloutInfo(I.data[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP],G.path);
I.beginEdit();
I.set("action",L.shortText);
I.endEdit();
I.commit();
I.data.actionHtml="<div class='"+L.css+"' title='"+L.text+"' alt='"+L.text+"'>"+L.shortText+"</div>"
}return I.data.actionHtml
}},{header:"Status",dataIndex:"executionStatus",width:80,renderer:function(L,K,I){var J="";
var M="";
switch(L){case"ok":J="msm-rollout-plan-rolledout";
M=CQ.I18n.getMessage("Rollout successful");
break;
case"rolling":J="msm-rollout-plan-rollingout";
M=CQ.I18n.getMessage("Executing rollout");
break;
case"error":J="msm-rollout-plan-rollouterror";
M=CQ.I18n.getMessage("Error during rollout");
break;
case"norollout":J="msm-rollout-plan-norollout";
M=CQ.I18n.getMessage("No rollout executed");
break;
default:J="";
M=CQ.I18n.getMessage("Press Rollout button to execute rollout process")
}return"<div class='"+J+"' title='"+M+"' alt='"+M+"'>&#160;</div>"
}}]);
this.columnModel.defaultSortable=true;
var F=CQ.Util.externalize(G.path)+".blueprint.json";
F=CQ.HTTP.addParameter(F,"returnRelationships","true");
F=CQ.HTTP.addParameter(F,"advancedStatus","true");
var C=new CQ.Ext.data.JsonStore({url:F,root:CQ.wcm.msm.MSM.PARAM_TARGETS,fields:[{name:"isTarget"},{name:"action"},{name:CQ.wcm.msm.MSM.PARAM_TARGETPATH},{name:CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP}],sortInfo:{field:CQ.wcm.msm.MSM.PARAM_TARGETPATH,direction:"ASC"}});
this.targetGrid=new CQ.Ext.grid.EditorGridPanel({store:C,cm:this.columnModel,width:600,height:200,autoExpandColumn:CQ.wcm.msm.MSM.PARAM_TARGETPATH,frame:false,loadMask:true,listeners:{render:function(J){var I=J.getStore();
I.load.defer(20,I)
}}});
H.init(this.targetGrid);
var D=this;
var B={title:CQ.I18n.getMessage("Rollout: {0}",G.path),formUrl:"/bin/wcmcommand",params:{cmd:"rollout",_charset_:"utf-8",path:G.path},height:350,items:{xtype:"panel",layout:"form",items:[this.rolloutType,this.targetGrid]},buttons:[{text:CQ.I18n.getMessage("Rollout"),disabled:false,handler:function(Q,T){var S=D.params.type;
var I=D.formPanel.form.url;
var K=D.targetGrid.store.getRange();
for(var O=0;
O<K.length;
O++){var N=K[O];
var J=N.data.isTarget;
var M=N.data[CQ.wcm.msm.MSM.PARAM_TARGETPATH];
var P=N.data[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP];
if(J&&!P[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]){var L=D.params;
L[CQ.wcm.msm.MSM.PARAM_TARGETPATH]=M;
N.beginEdit();
N.set("executionStatus","rolling");
N.endEdit();
N.commit();
var R=CQ.utils.HTTP.post(I,null,L,this);
if(CQ.utils.HTTP.isOk(R)){N.beginEdit();
N.set("executionStatus","ok");
N.endEdit()
}else{N.beginEdit();
N.set("executionStatus","error");
N.endEdit()
}}else{N.beginEdit();
N.set("executionStatus","norollout");
N.endEdit()
}N.commit()
}Q.setText(CQ.I18n.getMessage("Close"));
Q.setHandler(function(){D.close();
if(S=="delete"){var U=CQ.Util.externalize(D.path+".html");
U=CQ.HTTP.noCaching(U);
CQ.Util.reload(CQ.WCM.getContentWindow(),U)
}})
}},CQ.Dialog.CANCEL]};
G=CQ.Util.applyDefaults(G,B);
CQ.wcm.msm.RolloutPlan.superclass.constructor.call(this,G)
},initComponent:function(){CQ.wcm.msm.RolloutPlan.superclass.initComponent.call(this)
}});
CQ.Ext.reg("rolloutplan",CQ.wcm.msm.RolloutPlan);
CQ.wcm.msm.RolloutPlan.CheckColumn=function(B){CQ.Ext.apply(this,B);
if(!this.id){this.id=CQ.Ext.id()
}this.renderer=this.renderer.createDelegate(this)
};
CQ.wcm.msm.RolloutPlan.CheckColumn.prototype={init:function(B){this.grid=B;
this.grid.on("render",function(){var C=this.grid.getView();
C.mainBody.on("mousedown",this.onMouseDown,this)
},this)
},onMouseDown:function(E,D){if(D.className&&D.className.indexOf("x-grid3-cc-"+this.id)!=-1){E.stopEvent();
var C=this.grid.getView().findRowIndex(D);
var B=this.grid.store.getAt(C);
B.set(this.dataIndex,!B.data[this.dataIndex]);
B.commit()
}},renderer:function(E,D,B){if(E===""){var C=B.data[CQ.wcm.msm.MSM.PARAM_LIVE_RELATIONSHIP];
if(C[CQ.wcm.msm.MSM.PARAM_SOURCEPATH].indexOf(this.rolloutPath)!=0){return""
}if(!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_CANCELLED]){if(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_MANUALLY_CREATED]||(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_SOURCE_EXISTING]&&!C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING]&&C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_DELETED])){return""
}if(C[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_CANCELLED_CHILD]){B.beginEdit();
B.set("isTarget",false);
B.endEdit();
B.commit();
return this.getCheckbox(false,D)
}else{B.beginEdit();
B.set("isTarget",true);
B.endEdit();
B.commit();
return this.getCheckbox(true,D)
}}else{return""
}}else{return this.getCheckbox(E,D)
}},getCheckbox:function(C,B){B.css+=" x-grid3-check-col-td";
return"<div class='x-grid3-check-col"+(C?"-on":"")+" x-grid3-cc-"+this.id+"'>&#160;</div>"
}};
CQ.wcm.msm.BlueprintConfig=CQ.Ext.extend(CQ.CustomContentPanel,{hideTargets:null,constructor:function(C){C=(!C?{}:C);
if(!C.hideTargets){this.targets=new CQ.form.MultiField({fieldLabel:CQ.I18n.getMessage("Current Live Copies"),name:"msm:targets",readOnly:"true",fieldConfig:{width:300}})
}var B=new Array();
if(!C.hideTargets){B.push(this.targets)
}B.push({xtype:"static",bottommargin:true,text:CQ.I18n.getMessage("Actions can be configured on a blueprint: all Live Copies of this blueprint will inherit from these actions.")});
B.push(CQ.wcm.msm.MSM.getSyncActionsConfig(false));
var D={stateful:false,urlExtensionGET:".blueprint.json",urlExtensionPOST:".blueprint.conf",title:CQ.I18n.getMessage("Blueprint"),items:B};
CQ.Util.applyDefaults(C,D);
CQ.wcm.msm.BlueprintConfig.superclass.constructor.call(this,C)
},initComponent:function(){CQ.wcm.msm.BlueprintConfig.superclass.initComponent.call(this);
var B=this;
this.on("render",function(){this.parentDialog=this.findParentByType("dialog");
if(this.parentDialog){this.parentDialog.on("loadContent",function(D){var C=CQ.WCM.getPage(this.path);
if(!C.isInBlueprint()){B.disable()
}},this.parentDialog)
}},this)
}});
CQ.Ext.reg("blueprintconfig",CQ.wcm.msm.BlueprintConfig);
CQ.wcm.msm.BlueprintStatus=CQ.Ext.extend(CQ.Ext.Panel,{constructor:function(B){B=(!B?{}:B);
this.url="/libs/wcm/msm/content/commands/blueprintstatus.json";
this.url=CQ.HTTP.addParameter(this.url,"rootPath",B.rootPath);
this.hearderStore=new CQ.Ext.data.JsonStore({proxy:new CQ.Ext.data.HttpProxy({url:CQ.HTTP.addParameter(this.url,"headers",true)}),fields:["livecopy"]});
var C={border:false,tree:{lines:true,borderWidth:CQ.Ext.isBorderBox?0:2,cls:"x-column-tree",stateful:false,height:250,rootVisible:false,autoScroll:true},treecolumn:{width:250},detailsPanel:{width:"100%",height:440,layout:"card",border:true,collapsible:true,collapsed:true,title:"&nbsp;",lcpanel:{stateful:false,border:false,layout:"form",autoScroll:true,bodyStyle:CQ.themes.Dialog.TAB_BODY_STYLE,labelWidth:CQ.themes.Dialog.LABEL_WIDTH,defaultType:"textfield",layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET,anchor:CQ.themes.Dialog.ANCHOR,stateful:false}},bppanel:{border:false,stateful:false,layout:"form",autoScroll:true,bodyStyle:CQ.themes.Dialog.TAB_BODY_STYLE,labelWidth:CQ.themes.Dialog.LABEL_WIDTH,defaultType:"textfield",layoutConfig:{labelSeparator:CQ.themes.Dialog.LABEL_SEPARATOR},defaults:{msgTarget:CQ.themes.Dialog.MSG_TARGET,anchor:CQ.themes.Dialog.ANCHOR,stateful:false}}}};
CQ.Util.applyDefaults(B,C);
CQ.wcm.msm.BlueprintStatus.superclass.constructor.call(this,B)
},buildTree:function(){var D=new Array();
D.push(CQ.Util.applyDefaults({header:CQ.I18n.getMessage("{0}",this.rootPath),dataIndex:"page",width:350,renderer:function(E,G,H){var I="onClick=\"CQ.wcm.msm.BlueprintStatus.manageBPCellClick('"+G.ownerTree.id+"','"+H.path+"', '"+G.id+"')\"";
var F='<div class="cq-msm-bpcell" '+I+">";
F+=H.text;
F+="</div>";
return F
}},this.initialConfig.treecolumn));
var B=this.hearderStore.getRange();
if(B){for(var C=0;
C<B.length;
C++){D.push(CQ.Util.applyDefaults({header:CQ.I18n.getMessage("{0}",B[C].get("livecopy")),dataIndex:B[C].get("livecopy"),renderer:function(E,G,H){var I=CQ.wcm.msm.MSM.getRolloutInfo(E,H.path);
var J="";
if(E[CQ.wcm.msm.MSM.PARAM_STATUS][CQ.wcm.msm.MSM.PARAM_IS_TARGET_EXISTING]){J="onClick=\"CQ.wcm.msm.BlueprintStatus.manageLCCellClick('"+G.ownerTree.id+"','"+E[CQ.wcm.msm.MSM.PARAM_TARGETPATH]+"', '"+G.id+"')\""
}var F='<div class="cq-msm-lccell" '+J+">";
F+=CQ.wcm.msm.MSM.getRelationStatus(E)+"<div class='cq-msm-lccell-rolloutinfo "+I.css+"' title='"+I.text+"' alt='"+I.text+"'>"+I.shortText+"</div>";
F+="</div>";
return F
}},this.initialConfig.treecolumn))
}}this.tree=new CQ.wcm.msm.BlueprintStatus.Tree(CQ.Util.applyDefaults({columns:D,url:this.url,rootFilter:this.rootFilter,rootPath:this.rootPath},this.initialConfig.tree));
this.add(this.tree);
this.tree.detailsPanel=new CQ.Ext.Panel(this.initialConfig.detailsPanel);
this.add(this.tree.detailsPanel);
this.doLayout()
},initComponent:function(){CQ.wcm.msm.BlueprintStatus.superclass.initComponent.call(this);
this.on("render",function(){this.hearderStore.load({callback:this.buildTree,scope:this})
},this)
}});
CQ.Ext.reg("blueprintstatus",CQ.wcm.msm.BlueprintStatus);
CQ.wcm.msm.BlueprintStatus.Tree=CQ.Ext.extend(CQ.Ext.tree.TreePanel,{constructor:function(C){C=(!C?{}:C);
this.treeRoot=new CQ.Ext.tree.AsyncTreeNode(CQ.Util.applyDefaults(C.treeRoot,{expanded:true,name:C.rootPath}));
var B=this;
var D={columns:C.columns,loader:new CQ.Ext.tree.TreeLoader({dataUrl:C.url,baseParams:{isRoot:true},requestMethod:"GET",baseAttrs:{singleClickExpand:true,iconCls:"cq-msm-page",uiProvider:CQ.wcm.msm.BlueprintStatus.ColumnNodeUI},listeners:{beforeload:function(E,F){if(!this.baseParams.isRoot){this.baseParams.path=F.attributes.path
}else{this.baseParams.path=C.rootPath
}},load:function(E,F){if(this.baseParams.isRoot){this.baseParams.isRoot=false
}}}}),root:this.treeRoot};
CQ.Util.applyDefaults(C,D);
CQ.wcm.msm.BlueprintStatus.Tree.superclass.constructor.call(this,C)
},initComponent:function(){CQ.wcm.msm.BlueprintStatus.Tree.superclass.initComponent.call(this)
},onRender:function(){CQ.wcm.msm.BlueprintStatus.Tree.superclass.onRender.apply(this,arguments);
this.headers=this.body.createChild({cls:"x-tree-headers"},this.innerCt.dom);
var E=this.columns,F;
var C=0;
for(var D=0,B=E.length;
D<B;
D++){F=E[D];
C+=F.width;
this.headers.createChild({cls:"x-tree-hd "+(F.cls?F.cls+"-hd":""),cn:{cls:"x-tree-hd-text",html:F.header},style:"width:"+(F.width-this.borderWidth)+"px;"})
}this.headers.createChild({cls:"x-clear"});
this.headers.setWidth(C);
this.innerCt.setWidth(C)
}});
CQ.wcm.msm.BlueprintStatus.manageLCCellClick=function(E,F,G){if(F.substring(0,2)=="//"){F=F.substring(1,F.length)
}var B=CQ.Ext.getCmp(E);
var D=B.getNodeById(G);
var C=new CQ.wcm.msm.LiveCopyProperties(CQ.Util.applyDefaults({path:F,title:"",buttons:[{text:CQ.I18n.getMessage("Save"),handler:function(){C.submitPanel(C.urlPOST);
B.detailsPanel.collapse(true);
B.detailsPanel.setTitle(" ");
C.destroy();
var H=D;
if(D.parentNode){H=D.parentNode
}B.getLoader().load(H);
H.expand(false,true)
}},{text:CQ.I18n.getMessage("Cancel"),handler:function(){B.detailsPanel.collapse(true);
B.detailsPanel.setTitle(" ");
C.destroy()
}}]},B.detailsPanel.initialConfig.lcpanel));
B.detailsPanel.expand();
B.detailsPanel.setTitle(CQ.I18n.getMessage("Live Copy: {0}",[F]));
B.detailsPanel.add(C);
B.detailsPanel.layout.setActiveItem(C);
B.detailsPanel.doLayout();
C.computeUrlGET(F);
C.computeUrlPOST(F);
C.loadContent()
};
CQ.wcm.msm.BlueprintStatus.manageBPCellClick=function(E,F,G){if(F.substring(0,2)=="//"){F=F.substring(1,F.length)
}F+="/jcr:content";
var B=CQ.Ext.getCmp(E);
var D=B.getNodeById(G);
var C=new CQ.wcm.msm.BlueprintConfig(CQ.Util.applyDefaults({path:F,title:"",hideTargets:true,buttons:[{text:CQ.I18n.getMessage("Save"),handler:function(){C.submitPanel(C.urlPOST);
B.detailsPanel.collapse(true);
B.detailsPanel.setTitle(" ");
C.destroy();
var H=D;
if(D.parentNode){H=D.parentNode
}B.getLoader().load(H);
H.expand(false,true)
}},{text:CQ.I18n.getMessage("Cancel"),handler:function(){B.detailsPanel.collapse(true);
B.detailsPanel.setTitle(" ");
C.destroy()
}}]},B.detailsPanel.initialConfig.bppanel));
B.detailsPanel.expand();
B.detailsPanel.setTitle(CQ.I18n.getMessage("Blueprint: {0}",[F]));
B.detailsPanel.add(C);
B.detailsPanel.layout.setActiveItem(C);
B.detailsPanel.doLayout();
C.computeUrlGET(F);
C.computeUrlPOST(F);
C.loadContent()
};
CQ.wcm.msm.BlueprintStatus.ColumnNodeUI=CQ.Ext.extend(CQ.Ext.tree.TreeNodeUI,{focus:CQ.Ext.emptyFn,renderElements:function(C,E,H,K){this.indentMarkup=C.parentNode?C.parentNode.ui.getChildIndent():"";
var L=C.getOwnerTree();
var J=L.columns;
var I=L.borderWidth;
var M=J[0];
var B=['<li class="x-tree-node"><div ext:tree-node-id="',C.id,'" class="x-tree-node-el x-tree-node-leaf ',E.cls,'">','<div class="x-tree-col" style="width:',M.width-I,'px;">','<span class="x-tree-node-indent">',this.indentMarkup,"</span>",'<img src="',this.emptyIcon,'" class="x-tree-ec-icon x-tree-elbow">','<img src="',E.icon||this.emptyIcon,'" class="x-tree-node-icon',(E.icon?" x-tree-node-inline-icon":""),(E.iconCls?" "+E.iconCls:""),'" unselectable="on">','<a hidefocus="on" class="x-tree-node-anchor" href="',E.href?E.href:"#",'" tabIndex="1" ',E.hrefTarget?' target="'+E.hrefTarget+'"':"",">",'<span unselectable="on">',(M.renderer?M.renderer(E[M.dataIndex],C,E):C.text?C.text:E[M.dataIndex]),"</span></a>","</div>"];
for(var D=1,G=J.length;
D<G;
D++){M=J[D];
B.push('<div class="x-tree-col ',(M.cls?M.cls:""),'" style="width:',M.width-I,'px;">','<div class="x-tree-col-text">',(M.renderer?M.renderer(E[M.dataIndex],C,E):E[M.dataIndex]),"</div>","</div>")
}B.push('<div class="x-clear"></div></div>','<ul class="x-tree-node-ct" style="display:none;"></ul>',"</li>");
if(K!==true&&C.nextSibling&&C.nextSibling.ui.getEl()){this.wrap=CQ.Ext.DomHelper.insertHtml("beforeBegin",C.nextSibling.ui.getEl(),B.join(""))
}else{this.wrap=CQ.Ext.DomHelper.insertHtml("beforeEnd",H,B.join(""))
}this.elNode=this.wrap.childNodes[0];
this.ctNode=this.wrap.childNodes[1];
var F=this.elNode.firstChild.childNodes;
this.indentNode=F[0];
this.ecNode=F[1];
this.iconNode=F[2];
this.anchor=F[3];
this.textNode=F[3].firstChild
}});
var SWFUpload=function(B){this.initSWFUpload(B)
};
SWFUpload.prototype.initSWFUpload=function(C){try{this.customSettings={};
this.settings=C;
this.eventQueue=[];
this.movieName="SWFUpload_"+SWFUpload.movieCount++;
this.movieElement=null;
SWFUpload.instances[this.movieName]=this;
this.initSettings();
this.loadFlash();
this.displayDebugInfo()
}catch(B){delete SWFUpload.instances[this.movieName];
throw B
}};
SWFUpload.instances={};
SWFUpload.movieCount=0;
SWFUpload.version="2.2.0 Alpha";
SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130};
SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290};
SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5};
SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120};
SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(C,B){this.settings[C]=(this.settings[C]==undefined)?B:this.settings[C]
};
this.ensureDefault("upload_url","");
this.ensureDefault("file_post_name","Filedata");
this.ensureDefault("post_params",{});
this.ensureDefault("use_query_string",false);
this.ensureDefault("requeue_on_error",false);
this.ensureDefault("file_types","*.*");
this.ensureDefault("file_types_description","All Files");
this.ensureDefault("file_size_limit",0);
this.ensureDefault("file_upload_limit",0);
this.ensureDefault("file_queue_limit",0);
this.ensureDefault("flash_url","swfupload.swf");
this.ensureDefault("prevent_swf_caching",true);
this.ensureDefault("button_image_url","");
this.ensureDefault("button_width",1);
this.ensureDefault("button_height",1);
this.ensureDefault("button_text","");
this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;");
this.ensureDefault("button_text_top_padding",0);
this.ensureDefault("button_text_left_padding",0);
this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES);
this.ensureDefault("button_disabled",false);
this.ensureDefault("button_placeholder_id",null);
this.ensureDefault("debug",false);
this.settings.debug_enabled=this.settings.debug;
this.settings.return_upload_start_handler=this.returnUploadStart;
this.ensureDefault("swfupload_loaded_handler",null);
this.ensureDefault("file_dialog_start_handler",null);
this.ensureDefault("file_queued_handler",null);
this.ensureDefault("file_queue_error_handler",null);
this.ensureDefault("file_dialog_complete_handler",null);
this.ensureDefault("upload_start_handler",null);
this.ensureDefault("upload_progress_handler",null);
this.ensureDefault("upload_error_handler",null);
this.ensureDefault("upload_success_handler",null);
this.ensureDefault("upload_complete_handler",null);
this.ensureDefault("debug_handler",this.debugMessage);
this.ensureDefault("custom_settings",{});
this.customSettings=this.settings.custom_settings;
if(this.settings.prevent_swf_caching){this.settings.flash_url=this.settings.flash_url+"?swfuploadrnd="+Math.floor(Math.random()*999999999)
}delete this.ensureDefault
};
SWFUpload.prototype.loadFlash=function(){if(this.settings.button_placeholder_id!==""){this.replaceWithFlash()
}else{this.appendFlash()
}};
SWFUpload.prototype.appendFlash=function(){var C,B;
if(document.getElementById(this.movieName)!==null){throw"ID "+this.movieName+" is already in use. The Flash Object could not be added"
}C=document.getElementsByTagName("body")[0];
if(C==undefined){throw"Could not find the 'body' element."
}B=document.createElement("div");
B.style.width="1px";
B.style.height="1px";
B.style.overflow="hidden";
C.appendChild(B);
B.innerHTML=this.getFlashHTML()
};
SWFUpload.prototype.replaceWithFlash=function(){var B,C;
if(document.getElementById(this.movieName)!==null){throw"ID "+this.movieName+" is already in use. The Flash Object could not be added"
}B=document.getElementById(this.settings.button_placeholder_id);
if(B==undefined){throw"Could not find the placeholder element."
}C=document.createElement("div");
C.innerHTML=this.getFlashHTML();
B.parentNode.replaceChild(C.firstChild,B)
};
SWFUpload.prototype.getFlashHTML=function(){var B=this.settings.button_image_url===""?true:false;
return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',B?"transparent":"window",'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")
};
SWFUpload.prototype.getFlashVars=function(){var B=this.buildParamString();
return["movieName=",encodeURIComponent(this.movieName),"&amp;uploadURL=",encodeURIComponent(this.settings.upload_url),"&amp;useQueryString=",encodeURIComponent(this.settings.use_query_string),"&amp;requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&amp;params=",encodeURIComponent(B),"&amp;filePostName=",encodeURIComponent(this.settings.file_post_name),"&amp;fileTypes=",encodeURIComponent(this.settings.file_types),"&amp;fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&amp;fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&amp;fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&amp;fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&amp;debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&amp;buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&amp;buttonWidth=",encodeURIComponent(this.settings.button_width),"&amp;buttonHeight=",encodeURIComponent(this.settings.button_height),"&amp;buttonText=",encodeURIComponent(this.settings.button_text),"&amp;buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&amp;buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&amp;buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&amp;buttonAction=",encodeURIComponent(this.settings.button_action),"&amp;buttonDisabled=",encodeURIComponent(this.settings.button_disabled)].join("")
};
SWFUpload.prototype.getMovieElement=function(){if(this.movieElement==undefined){this.movieElement=document.getElementById(this.movieName)
}if(this.movieElement===null){throw"Could not find Flash element"
}return this.movieElement
};
SWFUpload.prototype.buildParamString=function(){var D=this.settings.post_params;
var C=[];
if(typeof (D)==="object"){for(var B in D){if(D.hasOwnProperty(B)){C.push(encodeURIComponent(B.toString())+"="+encodeURIComponent(D[B].toString()))
}}}return C.join("&amp;")
};
SWFUpload.prototype.destroy=function(){try{this.stopUpload();
var C=null;
try{C=this.getMovieElement()
}catch(D){}if(C!=undefined&&C.parentNode!=undefined&&typeof C.parentNode.removeChild==="function"){var B=C.parentNode;
if(B!=undefined){B.removeChild(C);
if(B.parentNode!=undefined&&typeof B.parentNode.removeChild==="function"){B.parentNode.removeChild(B)
}}}SWFUpload.instances[this.movieName]=null;
delete SWFUpload.instances[this.movieName];
delete this.movieElement;
delete this.settings;
delete this.customSettings;
delete this.eventQueue;
delete this.movieName;
if(window[this.movieName]){delete window[this.movieName]
}return true
}catch(E){return false
}};
SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","\t","upload_url:               ",this.settings.upload_url,"\n","\t","flash_url:                ",this.settings.flash_url,"\n","\t","use_query_string:         ",this.settings.use_query_string.toString(),"\n","\t","file_post_name:           ",this.settings.file_post_name,"\n","\t","post_params:              ",this.settings.post_params.toString(),"\n","\t","file_types:               ",this.settings.file_types,"\n","\t","file_types_description:   ",this.settings.file_types_description,"\n","\t","file_size_limit:          ",this.settings.file_size_limit,"\n","\t","file_upload_limit:        ",this.settings.file_upload_limit,"\n","\t","file_queue_limit:         ",this.settings.file_queue_limit,"\n","\t","debug:                    ",this.settings.debug.toString(),"\n","\t","prevent_swf_caching:      ",this.settings.prevent_swf_caching.toString(),"\n","\t","button_placeholder_id:    ",this.settings.button_placeholder_id.toString(),"\n","\t","button_image_url:         ",this.settings.button_image_url.toString(),"\n","\t","button_width:             ",this.settings.button_width.toString(),"\n","\t","button_height:            ",this.settings.button_height.toString(),"\n","\t","button_text:              ",this.settings.button_text.toString(),"\n","\t","button_text_style:        ",this.settings.button_text_style.toString(),"\n","\t","button_text_top_padding:  ",this.settings.button_text_top_padding.toString(),"\n","\t","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","\t","button_action:            ",this.settings.button_action.toString(),"\n","\t","button_disabled:          ",this.settings.button_disabled.toString(),"\n","\t","custom_settings:          ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","\t","swfupload_loaded_handler assigned:  ",(typeof this.settings.swfupload_loaded_handler==="function").toString(),"\n","\t","file_dialog_start_handler assigned: ",(typeof this.settings.file_dialog_start_handler==="function").toString(),"\n","\t","file_queued_handler assigned:       ",(typeof this.settings.file_queued_handler==="function").toString(),"\n","\t","file_queue_error_handler assigned:  ",(typeof this.settings.file_queue_error_handler==="function").toString(),"\n","\t","upload_start_handler assigned:      ",(typeof this.settings.upload_start_handler==="function").toString(),"\n","\t","upload_progress_handler assigned:   ",(typeof this.settings.upload_progress_handler==="function").toString(),"\n","\t","upload_error_handler assigned:      ",(typeof this.settings.upload_error_handler==="function").toString(),"\n","\t","upload_success_handler assigned:    ",(typeof this.settings.upload_success_handler==="function").toString(),"\n","\t","upload_complete_handler assigned:   ",(typeof this.settings.upload_complete_handler==="function").toString(),"\n","\t","debug_handler assigned:             ",(typeof this.settings.debug_handler==="function").toString(),"\n"].join(""))
};
SWFUpload.prototype.addSetting=function(C,D,B){if(D==undefined){return(this.settings[C]=B)
}else{return(this.settings[C]=D)
}};
SWFUpload.prototype.getSetting=function(B){if(this.settings[B]!=undefined){return this.settings[B]
}return""
};
SWFUpload.prototype.callFlash=function(D,E){E=E||[];
var B=this.getMovieElement();
var C;
if(typeof B[D]==="function"){if(E.length===0){C=B[D]()
}else{if(E.length===1){C=B[D](E[0])
}else{if(E.length===2){C=B[D](E[0],E[1])
}else{if(E.length===3){C=B[D](E[0],E[1],E[2])
}else{throw"Too many arguments"
}}}}if(C!=undefined&&typeof C.post==="object"){C=this.unescapeFilePostParams(C)
}return C
}else{throw"Invalid function name: "+D
}};
SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile")
};
SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles")
};
SWFUpload.prototype.startUpload=function(B){this.callFlash("StartUpload",[B])
};
SWFUpload.prototype.cancelUpload=function(B){this.callFlash("CancelUpload",[B])
};
SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload")
};
SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats")
};
SWFUpload.prototype.setStats=function(B){this.callFlash("SetStats",[B])
};
SWFUpload.prototype.getFile=function(B){if(typeof (B)==="number"){return this.callFlash("GetFileByIndex",[B])
}else{return this.callFlash("GetFile",[B])
}};
SWFUpload.prototype.addFileParam=function(B,C,D){return this.callFlash("AddFileParam",[B,C,D])
};
SWFUpload.prototype.removeFileParam=function(B,C){this.callFlash("RemoveFileParam",[B,C])
};
SWFUpload.prototype.setUploadURL=function(B){this.settings.upload_url=B.toString();
this.callFlash("SetUploadURL",[B])
};
SWFUpload.prototype.setPostParams=function(B){this.settings.post_params=B;
this.callFlash("SetPostParams",[B])
};
SWFUpload.prototype.addPostParam=function(B,C){this.settings.post_params[B]=C;
this.callFlash("SetPostParams",[this.settings.post_params])
};
SWFUpload.prototype.removePostParam=function(B){delete this.settings.post_params[B];
this.callFlash("SetPostParams",[this.settings.post_params])
};
SWFUpload.prototype.setFileTypes=function(B,C){this.settings.file_types=B;
this.settings.file_types_description=C;
this.callFlash("SetFileTypes",[B,C])
};
SWFUpload.prototype.setFileSizeLimit=function(B){this.settings.file_size_limit=B;
this.callFlash("SetFileSizeLimit",[B])
};
SWFUpload.prototype.setFileUploadLimit=function(B){this.settings.file_upload_limit=B;
this.callFlash("SetFileUploadLimit",[B])
};
SWFUpload.prototype.setFileQueueLimit=function(B){this.settings.file_queue_limit=B;
this.callFlash("SetFileQueueLimit",[B])
};
SWFUpload.prototype.setFilePostName=function(B){this.settings.file_post_name=B;
this.callFlash("SetFilePostName",[B])
};
SWFUpload.prototype.setUseQueryString=function(B){this.settings.use_query_string=B;
this.callFlash("SetUseQueryString",[B])
};
SWFUpload.prototype.setRequeueOnError=function(B){this.settings.requeue_on_error=B;
this.callFlash("SetRequeueOnError",[B])
};
SWFUpload.prototype.setDebugEnabled=function(B){this.settings.debug_enabled=B;
this.callFlash("SetDebugEnabled",[B])
};
SWFUpload.prototype.setButtonImageURL=function(B){if(B==undefined){B=""
}this.settings.button_image_url=B;
this.callFlash("SetButtonImageURL",[B])
};
SWFUpload.prototype.setButtonDimensions=function(D,B){this.settings.button_width=D;
this.settings.button_height=B;
var C=this.getMovieElement();
if(C!=undefined){C.style.width=D+"px";
C.style.height=B+"px"
}this.callFlash("SetButtonDimensions",[D,B])
};
SWFUpload.prototype.setButtonText=function(B){this.settings.button_text=B;
this.callFlash("SetButtonText",[B])
};
SWFUpload.prototype.setButtonTextPadding=function(C,B){this.settings.button_text_top_padding=B;
this.settings.button_text_left_padding=C;
this.callFlash("SetButtonTextPadding",[C,B])
};
SWFUpload.prototype.setButtonTextStyle=function(B){this.settings.button_text_style=B;
this.callFlash("SetButtonTextStyle",[B])
};
SWFUpload.prototype.setButtonDisabled=function(B){this.settings.button_disabled=B;
this.callFlash("SetButtonDisabled",[B])
};
SWFUpload.prototype.setButtonAction=function(B){this.settings.button_action=B;
this.callFlash("SetButtonAction",[B])
};
SWFUpload.prototype.queueEvent=function(C,D){if(D==undefined){D=[]
}else{if(!(D instanceof Array)){D=[D]
}}var B=this;
if(typeof this.settings[C]==="function"){this.eventQueue.push(function(){this.settings[C].apply(this,D)
});
setTimeout(function(){B.executeNextEvent()
},0)
}else{if(this.settings[C]!==null){throw"Event handler "+C+" is unknown or is not a function"
}}};
SWFUpload.prototype.executeNextEvent=function(){var B=this.eventQueue?this.eventQueue.shift():null;
if(typeof (B)==="function"){B.apply(this)
}};
SWFUpload.prototype.unescapeFilePostParams=function(D){var F=/[$]([0-9a-f]{4})/i;
var G={};
var E;
if(D!=undefined){for(var B in D.post){if(D.post.hasOwnProperty(B)){E=B;
var C;
while((C=F.exec(E))!==null){E=E.replace(C[0],String.fromCharCode(parseInt("0x"+C[1],16)))
}G[E]=D.post[B]
}}D.post=G
}return D
};
SWFUpload.prototype.flashReady=function(){var B=this.getMovieElement();
if(typeof B.StartUpload!=="function"){throw"ExternalInterface methods failed to initialize."
}if(window[this.movieName]==undefined){window[this.movieName]=B
}this.queueEvent("swfupload_loaded_handler")
};
SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler")
};
SWFUpload.prototype.fileQueued=function(B){B=this.unescapeFilePostParams(B);
this.queueEvent("file_queued_handler",B)
};
SWFUpload.prototype.fileQueueError=function(B,D,C){B=this.unescapeFilePostParams(B);
this.queueEvent("file_queue_error_handler",[B,D,C])
};
SWFUpload.prototype.fileDialogComplete=function(B,C){this.queueEvent("file_dialog_complete_handler",[B,C])
};
SWFUpload.prototype.uploadStart=function(B){B=this.unescapeFilePostParams(B);
this.queueEvent("return_upload_start_handler",B)
};
SWFUpload.prototype.returnUploadStart=function(B){var C;
if(typeof this.settings.upload_start_handler==="function"){B=this.unescapeFilePostParams(B);
C=this.settings.upload_start_handler.call(this,B)
}else{if(this.settings.upload_start_handler!=undefined){throw"upload_start_handler must be a function"
}}if(C===undefined){C=true
}C=!!C;
this.callFlash("ReturnUploadStart",[C])
};
SWFUpload.prototype.uploadProgress=function(B,D,C){B=this.unescapeFilePostParams(B);
this.queueEvent("upload_progress_handler",[B,D,C])
};
SWFUpload.prototype.uploadError=function(B,D,C){B=this.unescapeFilePostParams(B);
this.queueEvent("upload_error_handler",[B,D,C])
};
SWFUpload.prototype.uploadSuccess=function(C,B){C=this.unescapeFilePostParams(C);
this.queueEvent("upload_success_handler",[C,B])
};
SWFUpload.prototype.uploadComplete=function(B){B=this.unescapeFilePostParams(B);
this.queueEvent("upload_complete_handler",B)
};
SWFUpload.prototype.debug=function(B){this.queueEvent("debug_handler",B)
};
SWFUpload.prototype.debugMessage=function(D){if(this.settings.debug){var B,E=[];
if(typeof D==="object"&&typeof D.name==="string"&&typeof D.message==="string"){for(var C in D){if(D.hasOwnProperty(C)){E.push(C+": "+D[C])
}}B=E.join("\n")||"";
E=B.split("\n");
B="EXCEPTION: "+E.join("\nEXCEPTION: ");
SWFUpload.Console.writeLine(B)
}else{SWFUpload.Console.writeLine(D)
}}};
SWFUpload.Console={};
SWFUpload.Console.writeLine=function(E){var C,B;
try{C=document.getElementById("SWFUpload_Console");
if(!C){B=document.createElement("form");
document.getElementsByTagName("body")[0].appendChild(B);
C=document.createElement("textarea");
C.id="SWFUpload_Console";
C.style.fontFamily="monospace";
C.setAttribute("wrap","off");
C.wrap="off";
C.style.overflow="auto";
C.style.width="700px";
C.style.height="350px";
C.style.margin="5px";
B.appendChild(C)
}C.value+=E+"\n";
C.scrollTop=C.scrollHeight-C.clientHeight
}catch(D){alert("Exception: "+D.name+" Message: "+D.message)
}};
if(!window.CanvasRenderingContext2D){(function(){var O=Math;
var P=O.round;
var M=O.sin;
var V=O.cos;
var B=10;
var J=B/2;
var H={init:function(X){var Y=X||document;
if(/MSIE/.test(navigator.userAgent)&&!window.opera){var W=this;
Y.attachEvent("onreadystatechange",function(){W.init_(Y)
})
}},init_:function(Z){if(Z.readyState=="complete"){if(!Z.namespaces.g_vml_){Z.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml")
}var Y=Z.createStyleSheet();
Y.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}g_vml_\\:*{behavior:url(#default#VML)}";
var X=Z.getElementsByTagName("canvas");
for(var W=0;
W<X.length;
W++){if(!X[W].getContext){this.initElement(X[W])
}}}},fixElement_:function(Y){var a=Y.outerHTML;
var Z=Y.ownerDocument.createElement(a);
if(a.slice(-2)!="/>"){var W="/"+Y.tagName;
var X;
while((X=Y.nextSibling)&&X.tagName!=W){X.removeNode()
}if(X){X.removeNode()
}}Y.parentNode.replaceChild(Z,Y);
return Z
},initElement:function(X){X=this.fixElement_(X);
X.getContext=function(){if(this.context_){return this.context_
}return this.context_=new K(this)
};
X.attachEvent("onpropertychange",U);
X.attachEvent("onresize",C);
var W=X.attributes;
if(W.width&&W.width.specified){X.style.width=W.width.nodeValue+"px"
}else{X.width=X.clientWidth
}if(W.height&&W.height.specified){X.style.height=W.height.nodeValue+"px"
}else{X.height=X.clientHeight
}return X
}};
function U(X){var W=X.srcElement;
switch(X.propertyName){case"width":W.style.width=W.attributes.width.nodeValue+"px";
W.getContext().clearRect();
break;
case"height":W.style.height=W.attributes.height.nodeValue+"px";
W.getContext().clearRect();
break
}}function C(X){var W=X.srcElement;
if(W.firstChild){W.firstChild.style.width=W.clientWidth+"px";
W.firstChild.style.height=W.clientHeight+"px"
}}H.init();
var E=[];
for(var S=0;
S<16;
S++){for(var R=0;
R<16;
R++){E[S*16+R]=S.toString(16)+R.toString(16)
}}function L(){return[[1,0,0],[0,1,0],[0,0,1]]
}function F(Z,Y){var X=L();
for(var W=0;
W<3;
W++){for(var c=0;
c<3;
c++){var a=0;
for(var b=0;
b<3;
b++){a+=Z[W][b]*Y[b][c]
}X[W][c]=a
}}return X
}function Q(X,W){W.fillStyle=X.fillStyle;
W.lineCap=X.lineCap;
W.lineJoin=X.lineJoin;
W.lineWidth=X.lineWidth;
W.miterLimit=X.miterLimit;
W.shadowBlur=X.shadowBlur;
W.shadowColor=X.shadowColor;
W.shadowOffsetX=X.shadowOffsetX;
W.shadowOffsetY=X.shadowOffsetY;
W.strokeStyle=X.strokeStyle;
W.arcScaleX_=X.arcScaleX_;
W.arcScaleY_=X.arcScaleY_
}function D(X){var a,Z=1;
X=String(X);
if(X.substring(0,3)=="rgb"){var c=X.indexOf("(",3);
var W=X.indexOf(")",c+1);
var b=X.substring(c+1,W).split(",");
a="#";
for(var Y=0;
Y<3;
Y++){a+=E[Number(b[Y])]
}if((b.length==4)&&(X.substr(3,1)=="a")){Z=b[3]
}}else{a=X
}return[a,Z]
}function N(W){switch(W){case"butt":return"flat";
case"round":return"round";
case"square":default:return"square"
}}function K(X){this.m_=L();
this.mStack_=[];
this.aStack_=[];
this.currentPath_=[];
this.strokeStyle="#000";
this.fillStyle="#000";
this.lineWidth=1;
this.lineJoin="miter";
this.lineCap="butt";
this.miterLimit=B*1;
this.globalAlpha=1;
this.canvas=X;
var W=X.ownerDocument.createElement("div");
W.style.width=X.clientWidth+"px";
W.style.height=X.clientHeight+"px";
W.style.overflow="hidden";
W.style.position="absolute";
X.appendChild(W);
this.element_=W;
this.arcScaleX_=1;
this.arcScaleY_=1
}var I=K.prototype;
I.clearRect=function(){this.element_.innerHTML="";
this.currentPath_=[]
};
I.beginPath=function(){this.currentPath_=[]
};
I.moveTo=function(X,W){this.currentPath_.push({type:"moveTo",x:X,y:W});
this.currentX_=X;
this.currentY_=W
};
I.lineTo=function(X,W){this.currentPath_.push({type:"lineTo",x:X,y:W});
this.currentX_=X;
this.currentY_=W
};
I.bezierCurveTo=function(Y,W,b,a,Z,X){this.currentPath_.push({type:"bezierCurveTo",cp1x:Y,cp1y:W,cp2x:b,cp2y:a,x:Z,y:X});
this.currentX_=Z;
this.currentY_=X
};
I.quadraticCurveTo=function(d,c,b,a){var X=this.currentX_+2/3*(d-this.currentX_);
var W=this.currentY_+2/3*(c-this.currentY_);
var Z=X+(b-this.currentX_)/3;
var Y=W+(a-this.currentY_)/3;
this.bezierCurveTo(X,W,Z,Y,b,a)
};
I.arc=function(c,a,b,Z,X,Y){b*=B;
var k=Y?"at":"wa";
var d=c+(V(Z)*b)-J;
var h=a+(M(Z)*b)-J;
var W=c+(V(X)*b)-J;
var g=a+(M(X)*b)-J;
if(d==W&&!Y){d+=0.125
}this.currentPath_.push({type:k,x:c,y:a,radius:b,xStart:d,yStart:h,xEnd:W,yEnd:g})
};
I.rect=function(Y,X,W,Z){this.moveTo(Y,X);
this.lineTo(Y+W,X);
this.lineTo(Y+W,X+Z);
this.lineTo(Y,X+Z);
this.closePath()
};
I.strokeRect=function(Y,X,W,Z){this.beginPath();
this.moveTo(Y,X);
this.lineTo(Y+W,X);
this.lineTo(Y+W,X+Z);
this.lineTo(Y,X+Z);
this.closePath();
this.stroke()
};
I.fillRect=function(Y,X,W,Z){this.beginPath();
this.moveTo(Y,X);
this.lineTo(Y+W,X);
this.lineTo(Y+W,X+Z);
this.lineTo(Y,X+Z);
this.closePath();
this.fill()
};
I.createLinearGradient=function(X,Z,W,Y){var a=new T("gradient");
return a
};
I.createRadialGradient=function(Z,b,Y,X,a,W){var c=new T("gradientradial");
c.radius1_=Y;
c.radius2_=W;
c.focus_.x=Z;
c.focus_.y=b;
return c
};
I.drawImage=function(t,Z){var l,g,n,AC,r,o,x,AE;
var m=t.runtimeStyle.width;
var s=t.runtimeStyle.height;
t.runtimeStyle.width="auto";
t.runtimeStyle.height="auto";
var k=t.width;
var AA=t.height;
t.runtimeStyle.width=m;
t.runtimeStyle.height=s;
if(arguments.length==3){l=arguments[1];
g=arguments[2];
r=o=0;
x=n=k;
AE=AC=AA
}else{if(arguments.length==5){l=arguments[1];
g=arguments[2];
n=arguments[3];
AC=arguments[4];
r=o=0;
x=k;
AE=AA
}else{if(arguments.length==9){r=arguments[1];
o=arguments[2];
x=arguments[3];
AE=arguments[4];
l=arguments[5];
g=arguments[6];
n=arguments[7];
AC=arguments[8]
}else{throw"Invalid number of arguments"
}}}var AD=this.getCoords_(l,g);
var a=x/2;
var Y=AE/2;
var AB=[];
var X=10;
var c=10;
AB.push(" <g_vml_:group",' coordsize="',B*X,",",B*c,'"',' coordorigin="0,0"',' style="width:',X,";height:",c,";position:absolute;");
if(this.m_[0][0]!=1||this.m_[0][1]){var b=[];
b.push("M11='",this.m_[0][0],"',","M12='",this.m_[1][0],"',","M21='",this.m_[0][1],"',","M22='",this.m_[1][1],"',","Dx='",P(AD.x/B),"',","Dy='",P(AD.y/B),"'");
var z=AD;
var y=this.getCoords_(l+n,g);
var u=this.getCoords_(l,g+AC);
var q=this.getCoords_(l+n,g+AC);
z.x=Math.max(z.x,y.x,u.x,q.x);
z.y=Math.max(z.y,y.y,u.y,q.y);
AB.push("padding:0 ",P(z.x/B),"px ",P(z.y/B),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",b.join(""),", sizingmethod='clip');")
}else{AB.push("top:",P(AD.y/B),"px;left:",P(AD.x/B),"px;")
}AB.push(' ">','<g_vml_:image src="',t.src,'"',' style="width:',B*n,";"," height:",B*AC,';"',' cropleft="',r/k,'"',' croptop="',o/AA,'"',' cropright="',(k-r-x)/k,'"',' cropbottom="',(AA-o-AE)/AA,'"'," />","</g_vml_:group>");
this.element_.insertAdjacentHTML("BeforeEnd",AB.join(""))
};
I.stroke=function(AD){var h=[];
var g=false;
var AG=D(AD?this.fillStyle:this.strokeStyle);
var z=AG[0];
var Z=AG[1]*this.globalAlpha;
var Y=10;
var n=10;
h.push("<g_vml_:shape",' fillcolor="',z,'"',' filled="',Boolean(AD),'"',' style="position:absolute;width:',Y,";height:",n,';"',' coordorigin="0 0" coordsize="',B*Y," ",B*n,'"',' stroked="',!AD,'"',' strokeweight="',this.lineWidth,'"',' strokecolor="',z,'"',' path="');
var m=false;
var y={x:null,y:null};
var AA={x:null,y:null};
for(var AB=0;
AB<this.currentPath_.length;
AB++){var t=this.currentPath_[AB];
if(t.type=="moveTo"){h.push(" m ");
var AF=this.getCoords_(t.x,t.y);
h.push(P(AF.x),",",P(AF.y))
}else{if(t.type=="lineTo"){h.push(" l ");
var AF=this.getCoords_(t.x,t.y);
h.push(P(AF.x),",",P(AF.y))
}else{if(t.type=="close"){h.push(" x ")
}else{if(t.type=="bezierCurveTo"){h.push(" c ");
var AF=this.getCoords_(t.x,t.y);
var x=this.getCoords_(t.cp1x,t.cp1y);
var u=this.getCoords_(t.cp2x,t.cp2y);
h.push(P(x.x),",",P(x.y),",",P(u.x),",",P(u.y),",",P(AF.x),",",P(AF.y))
}else{if(t.type=="at"||t.type=="wa"){h.push(" ",t.type," ");
var AF=this.getCoords_(t.x,t.y);
var o=this.getCoords_(t.xStart,t.yStart);
var d=this.getCoords_(t.xEnd,t.yEnd);
h.push(P(AF.x-this.arcScaleX_*t.radius),",",P(AF.y-this.arcScaleY_*t.radius)," ",P(AF.x+this.arcScaleX_*t.radius),",",P(AF.y+this.arcScaleY_*t.radius)," ",P(o.x),",",P(o.y)," ",P(d.x),",",P(d.y))
}}}}}if(AF){if(y.x==null||AF.x<y.x){y.x=AF.x
}if(AA.x==null||AF.x>AA.x){AA.x=AF.x
}if(y.y==null||AF.y<y.y){y.y=AF.y
}if(AA.y==null||AF.y>AA.y){AA.y=AF.y
}}}h.push(' ">');
if(typeof this.fillStyle=="object"){var s={x:"50%",y:"50%"};
var w=(AA.x-y.x);
var q=(AA.y-y.y);
var AE=(w>q)?w:q;
s.x=P((this.fillStyle.focus_.x/w)*100+50)+"%";
s.y=P((this.fillStyle.focus_.y/q)*100+50)+"%";
var l=[];
if(this.fillStyle.type_=="gradientradial"){var AC=(this.fillStyle.radius1_/AE*100);
var r=(this.fillStyle.radius2_/AE*100)-AC
}else{var AC=0;
var r=100
}var X={offset:null,color:null};
var b={offset:null,color:null};
this.fillStyle.colors_.sort(function(a,W){return a.offset-W.offset
});
for(var AB=0;
AB<this.fillStyle.colors_.length;
AB++){var k=this.fillStyle.colors_[AB];
l.push((k.offset*r)+AC,"% ",k.color,",");
if(k.offset>X.offset||X.offset==null){X.offset=k.offset;
X.color=k.color
}if(k.offset<b.offset||b.offset==null){b.offset=k.offset;
b.color=k.color
}}l.pop();
h.push("<g_vml_:fill",' color="',b.color,'"',' color2="',X.color,'"',' type="',this.fillStyle.type_,'"',' focusposition="',s.x,", ",s.y,'"',' colors="',l.join(""),'"',' opacity="',Z,'" />')
}else{if(AD){h.push('<g_vml_:fill color="',z,'" opacity="',Z,'" />')
}else{h.push("<g_vml_:stroke",' opacity="',Z,'"',' joinstyle="',this.lineJoin,'"',' miterlimit="',this.miterLimit,'"',' endcap="',N(this.lineCap),'"',' weight="',this.lineWidth,'px"',' color="',z,'" />')
}}h.push("</g_vml_:shape>");
this.element_.insertAdjacentHTML("beforeEnd",h.join(""));
this.currentPath_=[]
};
I.fill=function(){this.stroke(true)
};
I.closePath=function(){this.currentPath_.push({type:"close"})
};
I.getCoords_=function(X,W){return{x:B*(X*this.m_[0][0]+W*this.m_[1][0]+this.m_[2][0])-J,y:B*(X*this.m_[0][1]+W*this.m_[1][1]+this.m_[2][1])-J}
};
I.save=function(){var W={};
Q(this,W);
this.aStack_.push(W);
this.mStack_.push(this.m_);
this.m_=F(L(),this.m_)
};
I.restore=function(){Q(this.aStack_.pop(),this);
this.m_=this.mStack_.pop()
};
I.translate=function(Y,X){var W=[[1,0,0],[0,1,0],[Y,X,1]];
this.m_=F(W,this.m_)
};
I.rotate=function(X){var Z=V(X);
var Y=M(X);
var W=[[Z,Y,0],[-Y,Z,0],[0,0,1]];
this.m_=F(W,this.m_)
};
I.scale=function(Y,X){this.arcScaleX_*=Y;
this.arcScaleY_*=X;
var W=[[Y,0,0],[0,X,0],[0,0,1]];
this.m_=F(W,this.m_)
};
I.clip=function(){};
I.arcTo=function(){};
I.createPattern=function(){return new G
};
function T(W){this.type_=W;
this.radius1_=0;
this.radius2_=0;
this.colors_=[];
this.focus_={x:0,y:0}
}T.prototype.addColorStop=function(X,W){W=D(W);
this.colors_.push({offset:1-X,color:W})
};
function G(){}G_vmlCanvasManager=H;
CanvasRenderingContext2D=K;
CanvasGradient=T;
CanvasPattern=G
})()
}try{var p=CQ.endorsed.swfobject.p
}catch(e){
/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
     Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
     This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
     */
CQ.endorsed.swfobject=function(){var UNDEF="undefined",OBJECT="object",SHOCKWAVE_FLASH="Shockwave Flash",SHOCKWAVE_FLASH_AX="ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE="application/x-shockwave-flash",EXPRESS_INSTALL_ID="SWFObjectExprInst",win=window,doc=document,nav=navigator,domLoadFnArr=[],regObjArr=[],objIdArr=[],listenersArr=[],script,timer=null,storedAltContent=null,storedAltContentId=null,isDomLoaded=false,isExpressInstallActive=false;
var ua=function(){var w3cdom=typeof doc.getElementById!=UNDEF&&typeof doc.getElementsByTagName!=UNDEF&&typeof doc.createElement!=UNDEF,playerVersion=[0,0,0],d=null;
if(typeof nav.plugins!=UNDEF&&typeof nav.plugins[SHOCKWAVE_FLASH]==OBJECT){d=nav.plugins[SHOCKWAVE_FLASH].description;
if(d&&!(typeof nav.mimeTypes!=UNDEF&&nav.mimeTypes[FLASH_MIME_TYPE]&&!nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)){d=d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");
playerVersion[0]=parseInt(d.replace(/^(.*)\..*$/,"$1"),10);
playerVersion[1]=parseInt(d.replace(/^.*\.(.*)\s.*$/,"$1"),10);
playerVersion[2]=/r/.test(d)?parseInt(d.replace(/^.*r(.*)$/,"$1"),10):0
}}else{if(typeof win.ActiveXObject!=UNDEF){var a=null,fp6Crash=false;
try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".7")
}catch(e){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX+".6");
playerVersion=[6,0,21];
a.AllowScriptAccess="always"
}catch(e){if(playerVersion[0]==6){fp6Crash=true
}}if(!fp6Crash){try{a=new ActiveXObject(SHOCKWAVE_FLASH_AX)
}catch(e){}}}if(!fp6Crash&&a){try{d=a.GetVariable("$version");
if(d){d=d.split(" ")[1].split(",");
playerVersion=[parseInt(d[0],10),parseInt(d[1],10),parseInt(d[2],10)]
}}catch(e){}}}}var u=nav.userAgent.toLowerCase(),p=nav.platform.toLowerCase(),webkit=/webkit/.test(u)?parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,ie=false,windows=p?/win/.test(p):/win/.test(u),mac=p?/mac/.test(p):/mac/.test(u);
/*@cc_on
             ie = true;
             @if (@_win32)
             windows = true;
             @elif (@_mac)
             mac = true;
             @end
             @*/
return{w3cdom:w3cdom,pv:playerVersion,webkit:webkit,ie:ie,win:windows,mac:mac}
}();
var onDomLoad=function(){if(!ua.w3cdom){return 
}addDomLoadEvent(main);
if(ua.webkit&&typeof doc.readyState!=UNDEF){timer=setInterval(function(){if(/loaded|complete/.test(doc.readyState)){callDomLoadFunctions()
}},10)
}if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("DOMContentLoaded",callDomLoadFunctions,null)
}addLoadEvent(callDomLoadFunctions)
}();
function checkReadyState(){if(script.readyState=="complete"){script.parentNode.removeChild(script);
callDomLoadFunctions()
}}function callDomLoadFunctions(){if(isDomLoaded){return 
}isDomLoaded=true;
if(timer){clearInterval(timer);
timer=null
}var dl=domLoadFnArr.length;
for(var i=0;
i<dl;
i++){domLoadFnArr[i]()
}}function addDomLoadEvent(fn){if(isDomLoaded){fn()
}else{domLoadFnArr[domLoadFnArr.length]=fn
}}function addLoadEvent(fn){if(typeof win.addEventListener!=UNDEF){win.addEventListener("load",fn,false)
}else{if(typeof doc.addEventListener!=UNDEF){doc.addEventListener("load",fn,false)
}else{if(typeof win.attachEvent!=UNDEF){addListener(win,"onload",fn)
}else{if(typeof win.onload=="function"){var fnOld=win.onload;
win.onload=function(){fnOld();
fn()
}
}else{win.onload=fn
}}}}}function main(){var rl=regObjArr.length;
for(var i=0;
i<rl;
i++){var id=regObjArr[i].id;
if(ua.pv[0]>0){var obj=getElementById(id);
if(obj){regObjArr[i].width=obj.getAttribute("width")?obj.getAttribute("width"):"0";
regObjArr[i].height=obj.getAttribute("height")?obj.getAttribute("height"):"0";
if(hasPlayerVersion(regObjArr[i].swfVersion)){if(ua.webkit&&ua.webkit<312){fixParams(obj)
}setVisibility(id,true)
}else{if(regObjArr[i].expressInstall&&!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)){showExpressInstall(regObjArr[i])
}else{displayAltContent(obj)
}}}}else{setVisibility(id,true)
}}}function fixParams(obj){var nestedObj=obj.getElementsByTagName(OBJECT)[0];
if(nestedObj){var e=createElement("embed"),a=nestedObj.attributes;
if(a){var al=a.length;
for(var i=0;
i<al;
i++){if(a[i].nodeName=="DATA"){e.setAttribute("src",a[i].nodeValue)
}else{e.setAttribute(a[i].nodeName,a[i].nodeValue)
}}}var c=nestedObj.childNodes;
if(c){var cl=c.length;
for(var j=0;
j<cl;
j++){if(c[j].nodeType==1&&c[j].nodeName=="PARAM"){e.setAttribute(c[j].getAttribute("name"),c[j].getAttribute("value"))
}}}obj.parentNode.replaceChild(e,obj)
}}function showExpressInstall(regObj){isExpressInstallActive=true;
var obj=getElementById(regObj.id);
if(obj){if(regObj.altContentId){var ac=getElementById(regObj.altContentId);
if(ac){storedAltContent=ac;
storedAltContentId=regObj.altContentId
}}else{storedAltContent=abstractAltContent(obj)
}if(!(/%$/.test(regObj.width))&&parseInt(regObj.width,10)<310){regObj.width="310"
}if(!(/%$/.test(regObj.height))&&parseInt(regObj.height,10)<137){regObj.height="137"
}doc.title=doc.title.slice(0,47)+" - Flash Player Installation";
var pt=ua.ie&&ua.win?"ActiveX":"PlugIn",dt=doc.title,fv="MMredirectURL="+win.location+"&MMplayerType="+pt+"&MMdoctitle="+dt,replaceId=regObj.id;
if(ua.ie&&ua.win&&obj.readyState!=4){var newObj=createElement("div");
replaceId+="SWFObjectNew";
newObj.setAttribute("id",replaceId);
obj.parentNode.insertBefore(newObj,obj);
obj.style.display="none";
var fn=function(){obj.parentNode.removeChild(obj)
};
addListener(win,"onload",fn)
}createSWF({data:regObj.expressInstall,id:EXPRESS_INSTALL_ID,width:regObj.width,height:regObj.height},{flashvars:fv},replaceId)
}}function displayAltContent(obj){if(ua.ie&&ua.win&&obj.readyState!=4){var el=createElement("div");
obj.parentNode.insertBefore(el,obj);
el.parentNode.replaceChild(abstractAltContent(obj),el);
obj.style.display="none";
var fn=function(){obj.parentNode.removeChild(obj)
};
addListener(win,"onload",fn)
}else{obj.parentNode.replaceChild(abstractAltContent(obj),obj)
}}function abstractAltContent(obj){var ac=createElement("div");
if(ua.win&&ua.ie){ac.innerHTML=obj.innerHTML
}else{var nestedObj=obj.getElementsByTagName(OBJECT)[0];
if(nestedObj){var c=nestedObj.childNodes;
if(c){var cl=c.length;
for(var i=0;
i<cl;
i++){if(!(c[i].nodeType==1&&c[i].nodeName=="PARAM")&&!(c[i].nodeType==8)){ac.appendChild(c[i].cloneNode(true))
}}}}}return ac
}function createSWF(attObj,parObj,id){var r,el=getElementById(id);
if(el){if(typeof attObj.id==UNDEF){attObj.id=id
}if(ua.ie&&ua.win){var att="";
for(var i in attObj){if(attObj[i]!=Object.prototype[i]){if(i.toLowerCase()=="data"){parObj.movie=attObj[i]
}else{if(i.toLowerCase()=="styleclass"){att+=' class="'+attObj[i]+'"'
}else{if(i.toLowerCase()!="classid"){att+=" "+i+'="'+attObj[i]+'"'
}}}}}var par="";
for(var j in parObj){if(parObj[j]!=Object.prototype[j]){par+='<param name="'+j+'" value="'+parObj[j]+'" />'
}}el.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+att+">"+par+"</object>";
objIdArr[objIdArr.length]=attObj.id;
r=getElementById(attObj.id)
}else{if(ua.webkit&&ua.webkit<312){var e=createElement("embed");
e.setAttribute("type",FLASH_MIME_TYPE);
for(var k in attObj){if(attObj[k]!=Object.prototype[k]){if(k.toLowerCase()=="data"){e.setAttribute("src",attObj[k])
}else{if(k.toLowerCase()=="styleclass"){e.setAttribute("class",attObj[k])
}else{if(k.toLowerCase()!="classid"){e.setAttribute(k,attObj[k])
}}}}}for(var l in parObj){if(parObj[l]!=Object.prototype[l]){if(l.toLowerCase()!="movie"){e.setAttribute(l,parObj[l])
}}}el.parentNode.replaceChild(e,el);
r=e
}else{var o=createElement(OBJECT);
o.setAttribute("type",FLASH_MIME_TYPE);
for(var m in attObj){if(attObj[m]!=Object.prototype[m]){if(m.toLowerCase()=="styleclass"){o.setAttribute("class",attObj[m])
}else{if(m.toLowerCase()!="classid"){o.setAttribute(m,attObj[m])
}}}}for(var n in parObj){if(parObj[n]!=Object.prototype[n]&&n.toLowerCase()!="movie"){createObjParam(o,n,parObj[n])
}}el.parentNode.replaceChild(o,el);
r=o
}}}return r
}function createObjParam(el,pName,pValue){var p=createElement("param");
p.setAttribute("name",pName);
p.setAttribute("value",pValue);
el.appendChild(p)
}function removeSWF(id){var obj=getElementById(id);
if(obj&&(obj.nodeName=="OBJECT"||obj.nodeName=="EMBED")){if(ua.ie&&ua.win){if(obj.readyState==4){removeObjectInIE(id)
}else{win.attachEvent("onload",function(){removeObjectInIE(id)
})
}}else{obj.parentNode.removeChild(obj)
}}}function removeObjectInIE(id){var obj=getElementById(id);
if(obj){for(var i in obj){if(typeof obj[i]=="function"){obj[i]=null
}}obj.parentNode.removeChild(obj)
}}function getElementById(id){var el=null;
try{el=doc.getElementById(id)
}catch(e){}return el
}function createElement(el){return doc.createElement(el)
}function addListener(target,eventType,fn){target.attachEvent(eventType,fn);
listenersArr[listenersArr.length]=[target,eventType,fn]
}function hasPlayerVersion(rv){var pv=ua.pv,v=rv.split(".");
v[0]=parseInt(v[0],10);
v[1]=parseInt(v[1],10)||0;
v[2]=parseInt(v[2],10)||0;
return(pv[0]>v[0]||(pv[0]==v[0]&&pv[1]>v[1])||(pv[0]==v[0]&&pv[1]==v[1]&&pv[2]>=v[2]))?true:false
}function createCSS(sel,decl){if(ua.ie&&ua.mac){return 
}var h=doc.getElementsByTagName("head")[0],s=createElement("style");
s.setAttribute("type","text/css");
s.setAttribute("media","screen");
if(!(ua.ie&&ua.win)&&typeof doc.createTextNode!=UNDEF){s.appendChild(doc.createTextNode(sel+" {"+decl+"}"))
}h.appendChild(s);
if(ua.ie&&ua.win&&typeof doc.styleSheets!=UNDEF&&doc.styleSheets.length>0){var ls=doc.styleSheets[doc.styleSheets.length-1];
if(typeof ls.addRule==OBJECT){ls.addRule(sel,decl)
}}}function setVisibility(id,isVisible){var v=isVisible?"visible":"hidden";
if(isDomLoaded&&getElementById(id)){getElementById(id).style.visibility=v
}else{createCSS("#"+id,"visibility:"+v)
}}function urlEncodeIfNecessary(s){var regex=/[\\\"<>\.;]/;
var hasBadChars=regex.exec(s)!=null;
return hasBadChars?encodeURIComponent(s):s
}var cleanup=function(){if(ua.ie&&ua.win){window.attachEvent("onunload",function(){var ll=listenersArr.length;
for(var i=0;
i<ll;
i++){listenersArr[i][0].detachEvent(listenersArr[i][1],listenersArr[i][2])
}var il=objIdArr.length;
for(var j=0;
j<il;
j++){removeSWF(objIdArr[j])
}for(var k in ua){ua[k]=null
}ua=null;
for(var l in CQ.endorsed.swfobject){CQ.endorsed.swfobject[l]=null
}CQ.endorsed.swfobject=null
})
}}();
return{registerObject:function(objectIdStr,swfVersionStr,xiSwfUrlStr){if(!ua.w3cdom||!objectIdStr||!swfVersionStr){return 
}var regObj={};
regObj.id=objectIdStr;
regObj.swfVersion=swfVersionStr;
regObj.expressInstall=xiSwfUrlStr?xiSwfUrlStr:false;
regObjArr[regObjArr.length]=regObj;
setVisibility(objectIdStr,false)
},getObjectById:function(objectIdStr){var r=null;
if(ua.w3cdom){var o=getElementById(objectIdStr);
if(o){var n=o.getElementsByTagName(OBJECT)[0];
if(!n||(n&&typeof o.SetVariable!=UNDEF)){r=o
}else{if(typeof n.SetVariable!=UNDEF){r=n
}}}}return r
},embedSWF:function(swfUrlStr,replaceElemIdStr,widthStr,heightStr,swfVersionStr,xiSwfUrlStr,flashvarsObj,parObj,attObj){if(document.readyState===undefined||document.readyState=="complete"){callDomLoadFunctions()
}if(!ua.w3cdom||!swfUrlStr||!replaceElemIdStr||!widthStr||!heightStr||!swfVersionStr){return 
}widthStr+="";
heightStr+="";
if(hasPlayerVersion(swfVersionStr)){setVisibility(replaceElemIdStr,false);
var att={};
if(attObj&&typeof attObj===OBJECT){for(var i in attObj){if(attObj[i]!=Object.prototype[i]){att[i]=attObj[i]
}}}att.data=swfUrlStr;
att.width=widthStr;
att.height=heightStr;
var par={};
if(parObj&&typeof parObj===OBJECT){for(var j in parObj){if(parObj[j]!=Object.prototype[j]){par[j]=parObj[j]
}}}if(flashvarsObj&&typeof flashvarsObj===OBJECT){for(var k in flashvarsObj){if(flashvarsObj[k]!=Object.prototype[k]){if(typeof par.flashvars!=UNDEF){par.flashvars+="&"+k+"="+flashvarsObj[k]
}else{par.flashvars=k+"="+flashvarsObj[k]
}}}}addDomLoadEvent(function(){createSWF(att,par,replaceElemIdStr);
if(att.id==replaceElemIdStr){setVisibility(replaceElemIdStr,true)
}})
}else{if(xiSwfUrlStr&&!isExpressInstallActive&&hasPlayerVersion("6.0.65")&&(ua.win||ua.mac)){isExpressInstallActive=true;
setVisibility(replaceElemIdStr,false);
addDomLoadEvent(function(){var regObj={};
regObj.id=regObj.altContentId=replaceElemIdStr;
regObj.width=widthStr;
regObj.height=heightStr;
regObj.expressInstall=xiSwfUrlStr;
showExpressInstall(regObj)
})
}}},getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]}
},hasFlashPlayerVersion:hasPlayerVersion,createSWF:function(attObj,parObj,replaceElemIdStr){if(ua.w3cdom){return createSWF(attObj,parObj,replaceElemIdStr)
}else{return undefined
}},removeSWF:function(objElemIdStr){if(ua.w3cdom){removeSWF(objElemIdStr)
}},createCSS:function(sel,decl){if(ua.w3cdom){createCSS(sel,decl)
}},addDomLoadEvent:addDomLoadEvent,addLoadEvent:addLoadEvent,getQueryParamValue:function(param){var q=doc.location.search||doc.location.hash;
if(param==null){return urlEncodeIfNecessary(q)
}if(q){var pairs=q.substring(1).split("&");
for(var i=0;
i<pairs.length;
i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=")+1)))
}}}return""
},expressInstallCallback:function(){if(isExpressInstallActive&&storedAltContent){var obj=getElementById(EXPRESS_INSTALL_ID);
if(obj){obj.parentNode.replaceChild(storedAltContent,obj);
if(storedAltContentId){setVisibility(storedAltContentId,true);
if(ua.ie&&ua.win){storedAltContent.style.display="block"
}}storedAltContent=null;
storedAltContentId=null;
isExpressInstallActive=false
}}}}
}()
};
