
function ezjs_toggleCheckboxes( formname, checkboxname )
{
with( formname )
{
for( var i=0; i<elements.length; i++ )
{
if( elements[i].type == 'checkbox' && elements[i].name == checkboxname && elements[i].disabled == "" )
{
if( elements[i].checked == true )
{
elements[i].checked = false;
}
else
{
elements[i].checked = true;
}
}
}
}
}
function insertMedia()
{
for( var k = 0, l = arguments.length; k < l; k++ )
{
document.write( arguments[k] );
}
}
function insertMedia2( node_id, string )
{
var flashNode = document.getElementById( node_id );
flashNode.innerHTML = string;
}
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:0},B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}A=B.match(/Caja\/([^\s]*)/);if(A&&A[1]){C.caja=parseFloat(A[1]);}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,F="[object Array]",C="[object Function]",A=Object.prototype,E=["toString","valueOf"],D={isArray:function(G){return A.toString.apply(G)===F;},isBoolean:function(G){return typeof G==="boolean";},isFunction:function(G){return A.toString.apply(G)===C;},isNull:function(G){return G===null;},isNumber:function(G){return typeof G==="number"&&isFinite(G);},isObject:function(G){return(G&&(typeof G==="object"||B.isFunction(G)))||false;},isString:function(G){return typeof G==="string";},isUndefined:function(G){return typeof G==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(I,H){var G,K,J;for(G=0;G<E.length;G=G+1){K=E[G];J=H[K];if(B.isFunction(J)&&J!=A[K]){I[K]=J;}}}:function(){},extend:function(J,K,I){if(!K||!J){throw new Error("extend failed, please check that "+"all dependencies are included.");}var H=function(){},G;H.prototype=K.prototype;J.prototype=new H();J.prototype.constructor=J;J.superclass=K.prototype;if(K.prototype.constructor==A.constructor){K.prototype.constructor=K;}if(I){for(G in I){if(B.hasOwnProperty(I,G)){J.prototype[G]=I[G];}}B._IEEnumFix(J.prototype,I);}},augmentObject:function(K,J){if(!J||!K){throw new Error("Absorb failed, verify dependencies.");}var G=arguments,I,L,H=G[2];if(H&&H!==true){for(I=2;I<G.length;I=I+1){K[G[I]]=J[G[I]];}}else{for(L in J){if(H||!(L in K)){K[L]=J[L];}}B._IEEnumFix(K,J);}},augmentProto:function(J,I){if(!I||!J){throw new Error("Augment failed, verify dependencies.");}var G=[J.prototype,I.prototype],H;for(H=2;H<arguments.length;H=H+1){G.push(arguments[H]);}B.augmentObject.apply(this,G);},dump:function(G,L){var I,K,N=[],O="{...}",H="f(){...}",M=", ",J=" => ";if(!B.isObject(G)){return G+"";}else{if(G instanceof Date||("nodeType" in G&&"tagName" in G)){return G;}else{if(B.isFunction(G)){return H;}}}L=(B.isNumber(L))?L:3;if(B.isArray(G)){N.push("[");for(I=0,K=G.length;I<K;I=I+1){if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}if(N.length>1){N.pop();}N.push("]");}else{N.push("{");for(I in G){if(B.hasOwnProperty(G,I)){N.push(I+J);if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}}if(N.length>1){N.pop();}N.push("}");}return N.join("");},substitute:function(V,H,O){var L,K,J,R,S,U,Q=[],I,M="dump",P=" ",G="{",T="}",N;for(;;){L=V.lastIndexOf(G);if(L<0){break;}K=V.indexOf(T,L);if(L+1>=K){break;}I=V.substring(L+1,K);R=I;U=null;J=R.indexOf(P);if(J>-1){U=R.substring(J+1);R=R.substring(0,J);}S=H[R];if(O){S=O(R,S,U);}if(B.isObject(S)){if(B.isArray(S)){S=B.dump(S,parseInt(U,10));}else{U=U||"";N=U.indexOf(M);if(N>-1){U=U.substring(4);}if(S.toString===A.toString||N>-1){S=B.dump(S,parseInt(U,10));}else{S=S.toString();}}}else{if(!B.isString(S)&&!B.isNumber(S)){S="~-"+Q.length+"-~";Q[Q.length]=I;}}V=V.substring(0,L)+S+V.substring(K+1);}for(L=Q.length-1;L>=0;L=L-1){V=V.replace(new RegExp("~-"+L+"-~"),"{"+Q[L]+"}","g");}return V;},trim:function(G){try{return G.replace(/^\s+|\s+$/g,"");}catch(H){return G;}},merge:function(){var J={},H=arguments,G=H.length,I;for(I=0;I<G;I=I+1){B.augmentObject(J,H[I],true);}return J;},later:function(N,H,O,J,K){N=N||0;H=H||{};var I=O,M=J,L,G;if(B.isString(O)){I=H[O];}if(!I){throw new TypeError("method undefined");}if(!B.isArray(M)){M=[J];}L=function(){I.apply(H,M);};G=(K)?setInterval(L,N):setTimeout(L,N);return{interval:K,cancel:function(){if(this.interval){clearInterval(G);}else{clearTimeout(G);}}};},isValue:function(G){return(B.isObject(G)||B.isString(G)||B.isNumber(G)||B.isBoolean(G));}};B.hasOwnProperty=(A.hasOwnProperty)?function(G,H){return G&&G.hasOwnProperty(H);}:function(G,H){return !B.isUndefined(G[H])&&G.constructor.prototype[H]!==G[H];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.7.0",build:"1799"});(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},get:function(y){var AA,Y,z,x,G;if(y){if(y[l]||y.item){return y;}if(typeof y==="string"){AA=y;y=K.getElementById(y);if(y&&y.id===AA){return y;}else{if(y&&K.all){y=null;Y=K.all[AA];for(x=0,G=Y.length;x<G;++x){if(Y[x].id===AA){return Y[x];}}}}return y;}if(y.DOM_EVENTS){y=y.get("element");}if("length" in y){z=[];for(x=0,G=y.length;x<G;++x){z[z.length]=E.Dom.get(y[x]);}return z;}return y;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];G=S(AF[v],q);x=S(AF[v],R);if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC==c)){if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AB=L.trim(AB);AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(var y=0,AA=G.length;y<AA;++y){if(z(G[y],AB)){Y[Y.length]=G[y];}}if(AE){E.Dom.batch(Y,AE,x,AD);}return Y;},hasClass:function(Y,G){return E.Dom.batch(Y,E.Dom._hasClass,G);},_hasClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom.getAttribute(x,F)||J;if(Y.exec){G=Y.test(y);}else{G=Y&&(B+y+B).indexOf(B+Y+B)>-1;}}else{}return G;},addClass:function(Y,G){return E.Dom.batch(Y,E.Dom._addClass,G);},_addClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom.getAttribute(x,F)||J;if(!E.Dom._hasClass(x,Y)){E.Dom.setAttribute(x,F,A(y+B+Y));G=true;}}else{}return G;},removeClass:function(Y,G){return E.Dom.batch(Y,E.Dom._removeClass,G);},_removeClass:function(y,x){var Y=false,AA,z,G;if(y&&x){AA=E.Dom.getAttribute(y,F)||J;E.Dom.setAttribute(y,F,AA.replace(E.Dom._getClassRegex(x),J));z=E.Dom.getAttribute(y,F);if(AA!==z){E.Dom.setAttribute(y,F,A(z));Y=true;if(E.Dom.getAttribute(y,F)===""){G=(y.hasAttribute&&y.hasAttribute(g))?g:F;y.removeAttribute(G);}}}else{}return Y;},replaceClass:function(x,Y,G){return E.Dom.batch(x,E.Dom._replaceClass,{from:Y,to:G});
},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom.getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;Y.setAttribute(G,x);},getAttribute:function(Y,G){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;return Y.getAttribute(G);},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:function(x,y){var Y=parseInt(E.Dom[w](x,R),10)||0,G=parseInt(E.Dom[w](x,q),10)||0;if(H){if(N.test(x[C])){Y=0;G=0;}}y[0]+=G;y[1]+=Y;return y;}};var S=E.Dom[w];if(m.opera){E.Dom[w]=function(Y,G){var x=S(Y,G);if(X.test(G)){x=E.Dom.Color.toRGB(x);}return x;};}if(m.webkit){E.Dom[w]=function(Y,G){var x=S(Y,G);if(x==="rgba(0, 0, 0, 0)"){x="transparent";}return x;};}})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this.y=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this.x=B;this[0]=B;this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top),D=Math.min(this.right,E.right),A=Math.min(this.bottom,E.bottom),B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);
}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.7.0",build:"1799"});YAHOO.util.CustomEvent=function(D,C,B,A){this.type=D;this.scope=C||window;this.silent=B;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(A,B,C){if(!A){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(A,B,C);}this.subscribers.push(new YAHOO.util.Subscriber(A,B,C));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){var A=this.subscribers.length,B;for(B=A-1;B>-1;B--){this._delete(B);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(A,B,C){this.fn=A;this.obj=YAHOO.lang.isUndefined(B)?null:B;this.overrideContext=C;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};var K=YAHOO.env.ua.ie?"focusin":"focus";var L=YAHOO.env.ua.ie?"focusout":"blur";return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var M=this;var N=function(){M._tryPreloadAttach();};this._interval=setInterval(N,this.POLL_INTERVAL);}},onAvailable:function(S,O,Q,R,P){var M=(YAHOO.lang.isString(S))?[S]:S;for(var N=0;N<M.length;N=N+1){F.push({id:M[N],fn:O,obj:Q,overrideContext:R,checkReady:P});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(P,M,N,O){this.onAvailable(P,M,N,O,true);},onDOMReady:function(M,N,O){if(this.DOMReady){setTimeout(function(){var P=window;if(O){if(O===true){P=N;}else{P=O;}}M.call(P,"DOMReady",[],N);},0);}else{this.DOMReadyEvent.subscribe(M,N,O);}},_addListener:function(O,M,Y,S,W,b){if(!Y||!Y.call){return false;}if(this._isValidCollection(O)){var Z=true;for(var T=0,V=O.length;T<V;++T){Z=this.on(O[T],M,Y,S,W)&&Z;}return Z;}else{if(YAHOO.lang.isString(O)){var R=this.getEl(O);if(R){O=R;}else{this.onAvailable(O,function(){YAHOO.util.Event.on(O,M,Y,S,W);});return true;}}}if(!O){return false;}if("unload"==M&&S!==this){J[J.length]=[O,M,Y,S,W];return true;}var N=O;if(W){if(W===true){N=S;}else{N=W;}}var P=function(c){return Y.call(N,YAHOO.util.Event.getEvent(c,O),S);};var a=[O,M,Y,P,N,S,W];var U=I.length;I[U]=a;if(this.useLegacyEvent(O,M)){var Q=this.getLegacyIndex(O,M);if(Q==-1||O!=G[Q][0]){Q=G.length;B[O.id+M]=Q;G[Q]=[O,M,O["on"+M]];E[Q]=[];O["on"+M]=function(c){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c),Q);};}E[Q].push(a);}else{try{this._simpleAdd(O,M,P,b);}catch(X){this.lastError=X;this.removeListener(O,M,Y);return false;}}return true;},addListener:function(N,Q,M,O,P){return this._addListener(N,Q,M,O,P,false);},addFocusListener:function(N,M,O,P){return this._addListener(N,K,M,O,P,true);},removeFocusListener:function(N,M){return this.removeListener(N,K,M);},addBlurListener:function(N,M,O,P){return this._addListener(N,L,M,O,P,true);},removeBlurListener:function(N,M){return this.removeListener(N,L,M);},fireLegacyEvent:function(R,P){var T=true,M,V,U,N,S;V=E[P].slice();for(var O=0,Q=V.length;O<Q;++O){U=V[O];if(U&&U[this.WFN]){N=U[this.ADJ_SCOPE];S=U[this.WFN].call(N,R);T=(T&&S);}}M=G[P];if(M&&M[2]){M[2](R);}return T;},getLegacyIndex:function(N,O){var M=this.generateId(N)+O;if(typeof B[M]=="undefined"){return -1;}else{return B[M];}},useLegacyEvent:function(M,N){return(this.webkit&&this.webkit<419&&("click"==N||"dblclick"==N));},removeListener:function(N,M,V){var Q,T,X;if(typeof N=="string"){N=this.getEl(N);}else{if(this._isValidCollection(N)){var W=true;for(Q=N.length-1;Q>-1;Q--){W=(this.removeListener(N[Q],M,V)&&W);}return W;}}if(!V||!V.call){return this.purgeElement(N,false,M);}if("unload"==M){for(Q=J.length-1;Q>-1;Q--){X=J[Q];if(X&&X[0]==N&&X[1]==M&&X[2]==V){J.splice(Q,1);return true;}}return false;}var R=null;var S=arguments[3];if("undefined"===typeof S){S=this._getCacheIndex(N,M,V);}if(S>=0){R=I[S];}if(!N||!R){return false;}if(this.useLegacyEvent(N,M)){var P=this.getLegacyIndex(N,M);var O=E[P];if(O){for(Q=0,T=O.length;Q<T;++Q){X=O[Q];if(X&&X[this.EL]==N&&X[this.TYPE]==M&&X[this.FN]==V){O.splice(Q,1);break;}}}}else{try{this._simpleRemove(N,M,R[this.WFN],false);}catch(U){this.lastError=U;return false;}}delete I[S][this.WFN];delete I[S][this.FN];
I.splice(S,1);return true;},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;if(this._interval){clearInterval(this._interval);this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.overrideContext){if(W.overrideContext===true){U=W.obj;}else{U=W.overrideContext;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{if(this._interval){clearInterval(this._interval);this._interval=null;}}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this.removeListener(O,N.type,N.fn);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],index:S});}}}}return(R.length)?R:null;},_unload:function(T){var N=YAHOO.util.Event,Q,P,O,S,R,U=J.slice(),M;for(Q=0,S=J.length;Q<S;++Q){O=U[Q];if(O){M=window;if(O[N.ADJ_SCOPE]){if(O[N.ADJ_SCOPE]===true){M=O[N.UNLOAD_OBJ];}else{M=O[N.ADJ_SCOPE];}}O[N.FN].call(M,N.getEvent(T,O[N.EL]),O[N.UNLOAD_OBJ]);U[Q]=null;}}O=null;M=null;J=null;if(I){for(P=I.length-1;P>-1;P--){O=I[P];if(O){N.removeListener(O[N.EL],O[N.TYPE],O[N.FN],P);}}O=null;}G=null;N._simpleRemove(window,"unload",N._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener;
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);
}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].overrideContext);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.7.0",build:"1799"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.7.0", build: "1799"});
(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F=this.config,G,E;for(G in F){if(B.hasOwnProperty(F,G)){E=F[G];if(E&&E.event){D[G]=E.value;}}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){if(B.hasOwnProperty(this.config,D)){this.refireEvent(D);}}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.eventQueue[E]=null;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());YAHOO.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,WEEK_ONE_JAN_DATE:1,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:this._addDays(F,C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:this._addDays(F,(C*7));break;}return F;},_addDays:function(D,C){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){if(C<0){for(var B=-128;C<B;C-=B){D.setDate(D.getDate()+B);}}else{for(var A=96;C>A;C-=A){D.setDate(D.getDate()+A);}}}D.setDate(D.getDate()+C);},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()<A){return true;}else{return false;}},after:function(C,B){var A=B.getTime();if(C.getTime()>A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return this.getDate(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(E,B,H){B=B||0;H=H||this.WEEK_ONE_JAN_DATE;var I=this.clearTime(E),M,N;if(I.getDay()===B){M=I;}else{M=this.getFirstDayOfWeek(I,B);}var J=M.getFullYear(),C=M.getTime();N=new Date(M.getTime()+6*this.ONE_DAY_MS);var G;if(J!==N.getFullYear()&&N.getDate()>=H){G=1;}else{var F=this.clearTime(this.getDate(J,0,H)),A=this.getFirstDayOfWeek(F,B);var K=Math.round((I.getTime()-A.getTime())/this.ONE_DAY_MS);var L=K%7;
var D=(K-L)/7;G=D+1;}return G;},getFirstDayOfWeek:function(D,A){A=A||0;var B=D.getDay(),C=(B-A+7)%7;return this.subtract(D,this.DAY,C);},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=this.getDate(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0);return A;},getDate:function(D,A,C){var B=null;if(YAHOO.lang.isUndefined(C)){C=1;}if(D>=100){B=new Date(D,A,C);}else{B=new Date();B.setFullYear(D);B.setMonth(A);B.setDate(C);B.setHours(0,0,0,0);}return B;}};(function(){var C=YAHOO.util.Dom,A=YAHOO.util.Event,E=YAHOO.lang,D=YAHOO.widget.DateMath;function F(I,G,H){this.init.apply(this,arguments);}F.IMG_ROOT=null;F.DATE="D";F.MONTH_DAY="MD";F.WEEKDAY="WD";F.RANGE="R";F.MONTH="M";F.DISPLAY_DAYS=42;F.STOP_RENDER="S";F.SHORT="short";F.LONG="long";F.MEDIUM="medium";F.ONE_CHAR="1char";F._DEFAULT_CONFIG={PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:null},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},MONTHS_LONG:{key:"months_long",value:["January","February","March","April","May","June","July","August","September","October","November","December"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["S","M","T","W","T","F","S"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""},NAV:{key:"navigator",value:null},STRINGS:{key:"strings",value:{previousMonth:"Previous Month",nextMonth:"Next Month",close:"Close"},supercedes:["close","title"]}};var B=F._DEFAULT_CONFIG;F._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",BEFORE_DESTROY:"beforeDestroy",DESTROY:"destroy",RESET:"reset",CLEAR:"clear",BEFORE_HIDE:"beforeHide",HIDE:"hide",BEFORE_SHOW:"beforeShow",SHOW:"show",BEFORE_HIDE_NAV:"beforeHideNav",HIDE_NAV:"hideNav",BEFORE_SHOW_NAV:"beforeShowNav",SHOW_NAV:"showNav",BEFORE_RENDER_NAV:"beforeRenderNav",RENDER_NAV:"renderNav"};F._STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_NAV:"calnav",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4"};F.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,containerId:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,oNavigator:null,_selectedDates:null,domEventMap:null,_parseArgs:function(H){var G={id:null,container:null,config:null};if(H&&H.length&&H.length>0){switch(H.length){case 1:G.id=null;G.container=H[0];G.config=null;break;case 2:if(E.isObject(H[1])&&!H[1].tagName&&!(H[1] instanceof String)){G.id=null;G.container=H[0];G.config=H[1];}else{G.id=H[0];G.container=H[1];G.config=null;}break;default:G.id=H[0];G.container=H[1];G.config=H[2];break;}}else{}return G;},init:function(J,H,I){var G=this._parseArgs(arguments);J=G.id;H=G.container;I=G.config;this.oDomContainer=C.get(H);if(!this.oDomContainer.id){this.oDomContainer.id=C.generateId();}if(!J){J=this.oDomContainer.id+"_t";}this.id=J;this.containerId=this.oDomContainer.id;this.initEvents();this.today=new Date();D.clearTime(this.today);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.initStyles();C.addClass(this.oDomContainer,this.Style.CSS_CONTAINER);
C.addClass(this.oDomContainer,this.Style.CSS_SINGLE);this.cellDates=[];this.cells=[];this.renderStack=[];this._renderStack=[];this.setupConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();},configIframe:function(I,H,J){var G=H[0];if(!this.parent){if(C.inDocument(this.oDomContainer)){if(G){var K=C.getStyle(this.oDomContainer,"position");if(K=="absolute"||K=="relative"){if(!C.inDocument(this.iframe)){this.iframe=document.createElement("iframe");this.iframe.src="javascript:false;";C.setStyle(this.iframe,"opacity","0");if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6){C.addClass(this.iframe,"fixedsize");}this.oDomContainer.insertBefore(this.iframe,this.oDomContainer.firstChild);}}}else{if(this.iframe){if(this.iframe.parentNode){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;}}}}},configTitle:function(H,G,I){var K=G[0];if(K){this.createTitleBar(K);}else{var J=this.cfg.getProperty(B.CLOSE.key);if(!J){this.removeTitleBar();}else{this.createTitleBar("&#160;");}}},configClose:function(H,G,I){var K=G[0],J=this.cfg.getProperty(B.TITLE.key);if(K){if(!J){this.createTitleBar("&#160;");}this.createCloseButton();}else{this.removeCloseButton();if(!J){this.removeTitleBar();}}},initEvents:function(){var G=F._EVENT_TYPES,I=YAHOO.util.CustomEvent,H=this;H.beforeSelectEvent=new I(G.BEFORE_SELECT);H.selectEvent=new I(G.SELECT);H.beforeDeselectEvent=new I(G.BEFORE_DESELECT);H.deselectEvent=new I(G.DESELECT);H.changePageEvent=new I(G.CHANGE_PAGE);H.beforeRenderEvent=new I(G.BEFORE_RENDER);H.renderEvent=new I(G.RENDER);H.beforeDestroyEvent=new I(G.BEFORE_DESTROY);H.destroyEvent=new I(G.DESTROY);H.resetEvent=new I(G.RESET);H.clearEvent=new I(G.CLEAR);H.beforeShowEvent=new I(G.BEFORE_SHOW);H.showEvent=new I(G.SHOW);H.beforeHideEvent=new I(G.BEFORE_HIDE);H.hideEvent=new I(G.HIDE);H.beforeShowNavEvent=new I(G.BEFORE_SHOW_NAV);H.showNavEvent=new I(G.SHOW_NAV);H.beforeHideNavEvent=new I(G.BEFORE_HIDE_NAV);H.hideNavEvent=new I(G.HIDE_NAV);H.beforeRenderNavEvent=new I(G.BEFORE_RENDER_NAV);H.renderNavEvent=new I(G.RENDER_NAV);H.beforeSelectEvent.subscribe(H.onBeforeSelect,this,true);H.selectEvent.subscribe(H.onSelect,this,true);H.beforeDeselectEvent.subscribe(H.onBeforeDeselect,this,true);H.deselectEvent.subscribe(H.onDeselect,this,true);H.changePageEvent.subscribe(H.onChangePage,this,true);H.renderEvent.subscribe(H.onRender,this,true);H.resetEvent.subscribe(H.onReset,this,true);H.clearEvent.subscribe(H.onClear,this,true);},doPreviousMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.previousMonth();var I=C.getElementsByClassName(G.Style.CSS_NAV_LEFT,"a",G.oDomContainer);if(I&&I[0]){try{I[0].focus();}catch(J){}}},0);},doNextMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.nextMonth();var I=C.getElementsByClassName(G.Style.CSS_NAV_RIGHT,"a",G.oDomContainer);if(I&&I[0]){try{I[0].focus();}catch(J){}}},0);},doSelectCell:function(M,G){var R,O,I,L;var N=A.getTarget(M),H=N.tagName.toLowerCase(),K=false;while(H!="td"&&!C.hasClass(N,G.Style.CSS_CELL_SELECTABLE)){if(!K&&H=="a"&&C.hasClass(N,G.Style.CSS_CELL_SELECTOR)){K=true;}N=N.parentNode;H=N.tagName.toLowerCase();if(N==this.oDomContainer||H=="html"){return;}}if(K){A.preventDefault(M);}R=N;if(C.hasClass(R,G.Style.CSS_CELL_SELECTABLE)){L=G.getIndexFromId(R.id);if(L>-1){O=G.cellDates[L];if(O){I=D.getDate(O[0],O[1]-1,O[2]);var Q;if(G.Options.MULTI_SELECT){Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}var J=G.cellDates[L];var P=G._indexOfSelectedFieldArray(J);if(P>-1){G.deselectCell(L);}else{G.selectCell(L);}}else{Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}G.selectCell(L);}}}}},doCellMouseOver:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.addClass(G,H.Style.CSS_CELL_HOVER);}},doCellMouseOut:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.removeClass(G,H.Style.CSS_CELL_HOVER);}},setupConfig:function(){var G=this.cfg;G.addProperty(B.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});G.addProperty(B.SELECTED.key,{value:[],handler:this.configSelected});G.addProperty(B.TITLE.key,{value:B.TITLE.value,handler:this.configTitle});G.addProperty(B.CLOSE.key,{value:B.CLOSE.value,handler:this.configClose});G.addProperty(B.IFRAME.key,{value:B.IFRAME.value,handler:this.configIframe,validator:G.checkBoolean});G.addProperty(B.MINDATE.key,{value:B.MINDATE.value,handler:this.configMinDate});G.addProperty(B.MAXDATE.key,{value:B.MAXDATE.value,handler:this.configMaxDate});G.addProperty(B.MULTI_SELECT.key,{value:B.MULTI_SELECT.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.START_WEEKDAY.key,{value:B.START_WEEKDAY.value,handler:this.configOptions,validator:G.checkNumber});G.addProperty(B.SHOW_WEEKDAYS.key,{value:B.SHOW_WEEKDAYS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_HEADER.key,{value:B.SHOW_WEEK_HEADER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_FOOTER.key,{value:B.SHOW_WEEK_FOOTER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.HIDE_BLANK_WEEKS.key,{value:B.HIDE_BLANK_WEEKS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.NAV_ARROW_LEFT.key,{value:B.NAV_ARROW_LEFT.value,handler:this.configOptions});G.addProperty(B.NAV_ARROW_RIGHT.key,{value:B.NAV_ARROW_RIGHT.value,handler:this.configOptions});G.addProperty(B.MONTHS_SHORT.key,{value:B.MONTHS_SHORT.value,handler:this.configLocale});G.addProperty(B.MONTHS_LONG.key,{value:B.MONTHS_LONG.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_1CHAR.key,{value:B.WEEKDAYS_1CHAR.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_SHORT.key,{value:B.WEEKDAYS_SHORT.value,handler:this.configLocale});
G.addProperty(B.WEEKDAYS_MEDIUM.key,{value:B.WEEKDAYS_MEDIUM.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_LONG.key,{value:B.WEEKDAYS_LONG.value,handler:this.configLocale});var H=function(){G.refireEvent(B.LOCALE_MONTHS.key);G.refireEvent(B.LOCALE_WEEKDAYS.key);};G.subscribeToConfigEvent(B.START_WEEKDAY.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_LONG.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_1CHAR.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_MEDIUM.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_LONG.key,H,this,true);G.addProperty(B.LOCALE_MONTHS.key,{value:B.LOCALE_MONTHS.value,handler:this.configLocaleValues});G.addProperty(B.LOCALE_WEEKDAYS.key,{value:B.LOCALE_WEEKDAYS.value,handler:this.configLocaleValues});G.addProperty(B.DATE_DELIMITER.key,{value:B.DATE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_FIELD_DELIMITER.key,{value:B.DATE_FIELD_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_RANGE_DELIMITER.key,{value:B.DATE_RANGE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.MY_MONTH_POSITION.key,{value:B.MY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_YEAR_POSITION.key,{value:B.MY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_MONTH_POSITION.key,{value:B.MD_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_DAY_POSITION.key,{value:B.MD_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_MONTH_POSITION.key,{value:B.MDY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_DAY_POSITION.key,{value:B.MDY_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_YEAR_POSITION.key,{value:B.MDY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_POSITION.key,{value:B.MY_LABEL_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_YEAR_POSITION.key,{value:B.MY_LABEL_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_SUFFIX.key,{value:B.MY_LABEL_MONTH_SUFFIX.value,handler:this.configLocale});G.addProperty(B.MY_LABEL_YEAR_SUFFIX.key,{value:B.MY_LABEL_YEAR_SUFFIX.value,handler:this.configLocale});G.addProperty(B.NAV.key,{value:B.NAV.value,handler:this.configNavigator});G.addProperty(B.STRINGS.key,{value:B.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:B.STRINGS.supercedes});},configStrings:function(H,G,I){var J=E.merge(B.STRINGS.value,G[0]);this.cfg.setProperty(B.STRINGS.key,J,true);},configPageDate:function(H,G,I){this.cfg.setProperty(B.PAGEDATE.key,this._parsePageDate(G[0]),true);},configMinDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MINDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configMaxDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MAXDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configSelected:function(I,G,K){var H=G[0],J=B.SELECTED.key;if(H){if(E.isString(H)){this.cfg.setProperty(J,this._parseDates(H),true);}}if(!this._selectedDates){this._selectedDates=this.cfg.getProperty(J);}},configOptions:function(H,G,I){this.Options[H.toUpperCase()]=G[0];},configLocale:function(H,G,I){this.Locale[H.toUpperCase()]=G[0];this.cfg.refireEvent(B.LOCALE_MONTHS.key);this.cfg.refireEvent(B.LOCALE_WEEKDAYS.key);},configLocaleValues:function(J,I,K){J=J.toLowerCase();var M=I[0],H=this.cfg,N=this.Locale;switch(J){case B.LOCALE_MONTHS.key:switch(M){case F.SHORT:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_SHORT.key).concat();break;case F.LONG:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_LONG.key).concat();break;}break;case B.LOCALE_WEEKDAYS.key:switch(M){case F.ONE_CHAR:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_1CHAR.key).concat();break;case F.SHORT:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_SHORT.key).concat();break;case F.MEDIUM:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_MEDIUM.key).concat();break;case F.LONG:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_LONG.key).concat();break;}var L=H.getProperty(B.START_WEEKDAY.key);if(L>0){for(var G=0;G<L;++G){N.LOCALE_WEEKDAYS.push(N.LOCALE_WEEKDAYS.shift());}}break;}},configNavigator:function(H,G,I){var J=G[0];if(YAHOO.widget.CalendarNavigator&&(J===true||E.isObject(J))){if(!this.oNavigator){this.oNavigator=new YAHOO.widget.CalendarNavigator(this);this.beforeRenderEvent.subscribe(function(){if(!this.pages){this.oNavigator.erase();}},this,true);}}else{if(this.oNavigator){this.oNavigator.destroy();this.oNavigator=null;}}},initStyles:function(){var G=F._STYLES;this.Style={CSS_ROW_HEADER:G.CSS_ROW_HEADER,CSS_ROW_FOOTER:G.CSS_ROW_FOOTER,CSS_CELL:G.CSS_CELL,CSS_CELL_SELECTOR:G.CSS_CELL_SELECTOR,CSS_CELL_SELECTED:G.CSS_CELL_SELECTED,CSS_CELL_SELECTABLE:G.CSS_CELL_SELECTABLE,CSS_CELL_RESTRICTED:G.CSS_CELL_RESTRICTED,CSS_CELL_TODAY:G.CSS_CELL_TODAY,CSS_CELL_OOM:G.CSS_CELL_OOM,CSS_CELL_OOB:G.CSS_CELL_OOB,CSS_HEADER:G.CSS_HEADER,CSS_HEADER_TEXT:G.CSS_HEADER_TEXT,CSS_BODY:G.CSS_BODY,CSS_WEEKDAY_CELL:G.CSS_WEEKDAY_CELL,CSS_WEEKDAY_ROW:G.CSS_WEEKDAY_ROW,CSS_FOOTER:G.CSS_FOOTER,CSS_CALENDAR:G.CSS_CALENDAR,CSS_SINGLE:G.CSS_SINGLE,CSS_CONTAINER:G.CSS_CONTAINER,CSS_NAV_LEFT:G.CSS_NAV_LEFT,CSS_NAV_RIGHT:G.CSS_NAV_RIGHT,CSS_NAV:G.CSS_NAV,CSS_CLOSE:G.CSS_CLOSE,CSS_CELL_TOP:G.CSS_CELL_TOP,CSS_CELL_LEFT:G.CSS_CELL_LEFT,CSS_CELL_RIGHT:G.CSS_CELL_RIGHT,CSS_CELL_BOTTOM:G.CSS_CELL_BOTTOM,CSS_CELL_HOVER:G.CSS_CELL_HOVER,CSS_CELL_HIGHLIGHT1:G.CSS_CELL_HIGHLIGHT1,CSS_CELL_HIGHLIGHT2:G.CSS_CELL_HIGHLIGHT2,CSS_CELL_HIGHLIGHT3:G.CSS_CELL_HIGHLIGHT3,CSS_CELL_HIGHLIGHT4:G.CSS_CELL_HIGHLIGHT4};},buildMonthLabel:function(){return this._buildMonthLabel(this.cfg.getProperty(B.PAGEDATE.key));},_buildMonthLabel:function(G){var I=this.Locale.LOCALE_MONTHS[G.getMonth()]+this.Locale.MY_LABEL_MONTH_SUFFIX,H=G.getFullYear()+this.Locale.MY_LABEL_YEAR_SUFFIX;
if(this.Locale.MY_LABEL_MONTH_POSITION==2||this.Locale.MY_LABEL_YEAR_POSITION==1){return H+I;}else{return I+H;}},buildDayLabel:function(G){return G.getDate();},createTitleBar:function(G){var H=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||document.createElement("div");H.className=YAHOO.widget.CalendarGroup.CSS_2UPTITLE;H.innerHTML=G;this.oDomContainer.insertBefore(H,this.oDomContainer.firstChild);C.addClass(this.oDomContainer,"withtitle");return H;},removeTitleBar:function(){var G=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}C.removeClass(this.oDomContainer,"withtitle");},createCloseButton:function(){var J=YAHOO.widget.CalendarGroup.CSS_2UPCLOSE,L="us/my/bn/x_d.gif",K=C.getElementsByClassName("link-close","a",this.oDomContainer)[0],G=this.cfg.getProperty(B.STRINGS.key),H=(G&&G.close)?G.close:"";if(!K){K=document.createElement("a");A.addListener(K,"click",function(N,M){M.hide();A.preventDefault(N);},this);}K.href="#";K.className="link-close";if(F.IMG_ROOT!==null){var I=C.getElementsByClassName(J,"img",K)[0]||document.createElement("img");I.src=F.IMG_ROOT+L;I.className=J;K.appendChild(I);}else{K.innerHTML='<span class="'+J+" "+this.Style.CSS_CLOSE+'">'+H+"</span>";}this.oDomContainer.appendChild(K);return K;},removeCloseButton:function(){var G=C.getElementsByClassName("link-close","a",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}},renderHeader:function(Q){var P=7,O="us/tr/callt.gif",G="us/tr/calrt.gif",N=this.cfg,K=N.getProperty(B.PAGEDATE.key),L=N.getProperty(B.STRINGS.key),V=(L&&L.previousMonth)?L.previousMonth:"",H=(L&&L.nextMonth)?L.nextMonth:"",M;if(N.getProperty(B.SHOW_WEEK_HEADER.key)){P+=1;}if(N.getProperty(B.SHOW_WEEK_FOOTER.key)){P+=1;}Q[Q.length]="<thead>";Q[Q.length]="<tr>";Q[Q.length]='<th colspan="'+P+'" class="'+this.Style.CSS_HEADER_TEXT+'">';Q[Q.length]='<div class="'+this.Style.CSS_HEADER+'">';var X,U=false;if(this.parent){if(this.index===0){X=true;}if(this.index==(this.parent.cfg.getProperty("pages")-1)){U=true;}}else{X=true;U=true;}if(X){M=this._buildMonthLabel(D.subtract(K,D.MONTH,1));var R=N.getProperty(B.NAV_ARROW_LEFT.key);if(R===null&&F.IMG_ROOT!==null){R=F.IMG_ROOT+O;}var I=(R===null)?"":' style="background-image:url('+R+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_LEFT+'"'+I+' href="#">'+V+" ("+M+")"+"</a>";}var W=this.buildMonthLabel();var S=this.parent||this;if(S.cfg.getProperty("navigator")){W='<a class="'+this.Style.CSS_NAV+'" href="#">'+W+"</a>";}Q[Q.length]=W;if(U){M=this._buildMonthLabel(D.add(K,D.MONTH,1));var T=N.getProperty(B.NAV_ARROW_RIGHT.key);if(T===null&&F.IMG_ROOT!==null){T=F.IMG_ROOT+G;}var J=(T===null)?"":' style="background-image:url('+T+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_RIGHT+'"'+J+' href="#">'+H+" ("+M+")"+"</a>";}Q[Q.length]="</div>\n</th>\n</tr>";if(N.getProperty(B.SHOW_WEEKDAYS.key)){Q=this.buildWeekdays(Q);}Q[Q.length]="</thead>";return Q;},buildWeekdays:function(H){H[H.length]='<tr class="'+this.Style.CSS_WEEKDAY_ROW+'">';if(this.cfg.getProperty(B.SHOW_WEEK_HEADER.key)){H[H.length]="<th>&#160;</th>";}for(var G=0;G<this.Locale.LOCALE_WEEKDAYS.length;++G){H[H.length]='<th class="calweekdaycell">'+this.Locale.LOCALE_WEEKDAYS[G]+"</th>";}if(this.cfg.getProperty(B.SHOW_WEEK_FOOTER.key)){H[H.length]="<th>&#160;</th>";}H[H.length]="</tr>";return H;},renderBody:function(l,j){var AJ=this.cfg.getProperty(B.START_WEEKDAY.key);this.preMonthDays=l.getDay();if(AJ>0){this.preMonthDays-=AJ;}if(this.preMonthDays<0){this.preMonthDays+=7;}this.monthDays=D.findMonthEnd(l).getDate();this.postMonthDays=F.DISPLAY_DAYS-this.preMonthDays-this.monthDays;l=D.subtract(l,D.DAY,this.preMonthDays);var X,N,M="w",e="_cell",b="wd",v="d",P,q,AB=this.today,O=this.cfg,V=AB.getFullYear(),u=AB.getMonth(),J=AB.getDate(),AA=O.getProperty(B.PAGEDATE.key),I=O.getProperty(B.HIDE_BLANK_WEEKS.key),h=O.getProperty(B.SHOW_WEEK_FOOTER.key),a=O.getProperty(B.SHOW_WEEK_HEADER.key),T=O.getProperty(B.MINDATE.key),Z=O.getProperty(B.MAXDATE.key);if(T){T=D.clearTime(T);}if(Z){Z=D.clearTime(Z);}j[j.length]='<tbody class="m'+(AA.getMonth()+1)+" "+this.Style.CSS_BODY+'">';var AH=0,Q=document.createElement("div"),k=document.createElement("td");Q.appendChild(k);var z=this.parent||this;for(var AD=0;AD<6;AD++){X=D.getWeekNumber(l,AJ);N=M+X;if(AD!==0&&I===true&&l.getMonth()!=AA.getMonth()){break;}else{j[j.length]='<tr class="'+N+'">';if(a){j=this.renderRowHeader(X,j);}for(var AI=0;AI<7;AI++){P=[];this.clearElement(k);k.className=this.Style.CSS_CELL;k.id=this.id+e+AH;if(l.getDate()==J&&l.getMonth()==u&&l.getFullYear()==V){P[P.length]=z.renderCellStyleToday;}var Y=[l.getFullYear(),l.getMonth()+1,l.getDate()];this.cellDates[this.cellDates.length]=Y;if(l.getMonth()!=AA.getMonth()){P[P.length]=z.renderCellNotThisMonth;}else{C.addClass(k,b+l.getDay());C.addClass(k,v+l.getDate());for(var AC=0;AC<this.renderStack.length;++AC){q=null;var w=this.renderStack[AC],AK=w[0],H,c,L;switch(AK){case F.DATE:H=w[1][1];c=w[1][2];L=w[1][0];if(l.getMonth()+1==H&&l.getDate()==c&&l.getFullYear()==L){q=w[2];this.renderStack.splice(AC,1);}break;case F.MONTH_DAY:H=w[1][0];c=w[1][1];if(l.getMonth()+1==H&&l.getDate()==c){q=w[2];this.renderStack.splice(AC,1);}break;case F.RANGE:var g=w[1][0],f=w[1][1],m=g[1],S=g[2],W=g[0],AG=D.getDate(W,m-1,S),K=f[1],o=f[2],G=f[0],AF=D.getDate(G,K-1,o);if(l.getTime()>=AG.getTime()&&l.getTime()<=AF.getTime()){q=w[2];if(l.getTime()==AF.getTime()){this.renderStack.splice(AC,1);}}break;case F.WEEKDAY:var R=w[1][0];if(l.getDay()+1==R){q=w[2];}break;case F.MONTH:H=w[1][0];if(l.getMonth()+1==H){q=w[2];}break;}if(q){P[P.length]=q;}}}if(this._indexOfSelectedFieldArray(Y)>-1){P[P.length]=z.renderCellStyleSelected;}if((T&&(l.getTime()<T.getTime()))||(Z&&(l.getTime()>Z.getTime()))){P[P.length]=z.renderOutOfBoundsDate;}else{P[P.length]=z.styleCellDefault;P[P.length]=z.renderCellDefault;}for(var y=0;
y<P.length;++y){if(P[y].call(z,l,k)==F.STOP_RENDER){break;}}l.setTime(l.getTime()+D.ONE_DAY_MS);l=D.clearTime(l);if(AH>=0&&AH<=6){C.addClass(k,this.Style.CSS_CELL_TOP);}if((AH%7)===0){C.addClass(k,this.Style.CSS_CELL_LEFT);}if(((AH+1)%7)===0){C.addClass(k,this.Style.CSS_CELL_RIGHT);}var n=this.postMonthDays;if(I&&n>=7){var U=Math.floor(n/7);for(var AE=0;AE<U;++AE){n-=7;}}if(AH>=((this.preMonthDays+n+this.monthDays)-7)){C.addClass(k,this.Style.CSS_CELL_BOTTOM);}j[j.length]=Q.innerHTML;AH++;}if(h){j=this.renderRowFooter(X,j);}j[j.length]="</tr>";}}j[j.length]="</tbody>";return j;},renderFooter:function(G){return G;},render:function(){this.beforeRenderEvent.fire();var H=D.findMonthStart(this.cfg.getProperty(B.PAGEDATE.key));this.resetRenderers();this.cellDates.length=0;A.purgeElement(this.oDomContainer,true);var G=[];G[G.length]='<table cellSpacing="0" class="'+this.Style.CSS_CALENDAR+" y"+H.getFullYear()+'" id="'+this.id+'">';G=this.renderHeader(G);G=this.renderBody(H,G);G=this.renderFooter(G);G[G.length]="</table>";this.oDomContainer.innerHTML=G.join("\n");this.applyListeners();this.cells=this.oDomContainer.getElementsByTagName("td");this.cfg.refireEvent(B.TITLE.key);this.cfg.refireEvent(B.CLOSE.key);this.cfg.refireEvent(B.IFRAME.key);this.renderEvent.fire();},applyListeners:function(){var P=this.oDomContainer,H=this.parent||this,L="a",S="click";var M=C.getElementsByClassName(this.Style.CSS_NAV_LEFT,L,P),I=C.getElementsByClassName(this.Style.CSS_NAV_RIGHT,L,P);if(M&&M.length>0){this.linkLeft=M[0];A.addListener(this.linkLeft,S,this.doPreviousMonthNav,H,true);}if(I&&I.length>0){this.linkRight=I[0];A.addListener(this.linkRight,S,this.doNextMonthNav,H,true);}if(H.cfg.getProperty("navigator")!==null){this.applyNavListeners();}if(this.domEventMap){var J,G;for(var R in this.domEventMap){if(E.hasOwnProperty(this.domEventMap,R)){var N=this.domEventMap[R];if(!(N instanceof Array)){N=[N];}for(var K=0;K<N.length;K++){var Q=N[K];G=C.getElementsByClassName(R,Q.tag,this.oDomContainer);for(var O=0;O<G.length;O++){J=G[O];A.addListener(J,Q.event,Q.handler,Q.scope,Q.correct);}}}}}A.addListener(this.oDomContainer,"click",this.doSelectCell,this);A.addListener(this.oDomContainer,"mouseover",this.doCellMouseOver,this);A.addListener(this.oDomContainer,"mouseout",this.doCellMouseOut,this);},applyNavListeners:function(){var H=this.parent||this,I=this,G=C.getElementsByClassName(this.Style.CSS_NAV,"a",this.oDomContainer);if(G.length>0){A.addListener(G,"click",function(N,M){var L=A.getTarget(N);if(this===L||C.isAncestor(this,L)){A.preventDefault(N);}var J=H.oNavigator;if(J){var K=I.cfg.getProperty("pagedate");J.setYear(K.getFullYear());J.setMonth(K.getMonth());J.show();}});}},getDateByCellId:function(H){var G=this.getDateFieldsByCellId(H);return(G)?D.getDate(G[0],G[1]-1,G[2]):null;},getDateFieldsByCellId:function(G){G=this.getIndexFromId(G);return(G>-1)?this.cellDates[G]:null;},getCellIndex:function(I){var H=-1;if(I){var G=I.getMonth(),N=I.getFullYear(),M=I.getDate(),K=this.cellDates;for(var J=0;J<K.length;++J){var L=K[J];if(L[0]===N&&L[1]===G+1&&L[2]===M){H=J;break;}}}return H;},getIndexFromId:function(I){var H=-1,G=I.lastIndexOf("_cell");if(G>-1){H=parseInt(I.substring(G+5),10);}return H;},renderOutOfBoundsDate:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOB);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderRowHeader:function(H,G){G[G.length]='<th class="calrowhead">'+H+"</th>";return G;},renderRowFooter:function(H,G){G[G.length]='<th class="calrowfoot">'+H+"</th>";return G;},renderCellDefault:function(H,G){G.innerHTML='<a href="#" class="'+this.Style.CSS_CELL_SELECTOR+'">'+this.buildDayLabel(H)+"</a>";},styleCellDefault:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTABLE);},renderCellStyleHighlight1:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT1);},renderCellStyleHighlight2:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT2);},renderCellStyleHighlight3:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT3);},renderCellStyleHighlight4:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT4);},renderCellStyleToday:function(H,G){C.addClass(G,this.Style.CSS_CELL_TODAY);},renderCellStyleSelected:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTED);},renderCellNotThisMonth:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOM);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderBodyCellRestricted:function(H,G){C.addClass(G,this.Style.CSS_CELL);C.addClass(G,this.Style.CSS_CELL_RESTRICTED);G.innerHTML=H.getDate();return F.STOP_RENDER;},addMonths:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.add(this.cfg.getProperty(G),D.MONTH,H));this.resetRenderers();this.changePageEvent.fire();},subtractMonths:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.subtract(this.cfg.getProperty(G),D.MONTH,H));this.resetRenderers();this.changePageEvent.fire();},addYears:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.add(this.cfg.getProperty(G),D.YEAR,H));this.resetRenderers();this.changePageEvent.fire();},subtractYears:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.subtract(this.cfg.getProperty(G),D.YEAR,H));this.resetRenderers();this.changePageEvent.fire();},nextMonth:function(){this.addMonths(1);},previousMonth:function(){this.subtractMonths(1);},nextYear:function(){this.addYears(1);},previousYear:function(){this.subtractYears(1);},reset:function(){this.cfg.resetProperty(B.SELECTED.key);this.cfg.resetProperty(B.PAGEDATE.key);this.resetEvent.fire();},clear:function(){this.cfg.setProperty(B.SELECTED.key,[]);this.cfg.setProperty(B.PAGEDATE.key,new Date(this.today.getTime()));this.clearEvent.fire();},select:function(I){var L=this._toFieldArray(I),H=[],K=[],M=B.SELECTED.key;for(var G=0;G<L.length;++G){var J=L[G];if(!this.isDateOOB(this._toDate(J))){if(H.length===0){this.beforeSelectEvent.fire();K=this.cfg.getProperty(M);}H.push(J);if(this._indexOfSelectedFieldArray(J)==-1){K[K.length]=J;}}}if(H.length>0){if(this.parent){this.parent.cfg.setProperty(M,K);}else{this.cfg.setProperty(M,K);
}this.selectEvent.fire(H);}return this.getSelectedDates();},selectCell:function(J){var H=this.cells[J],N=this.cellDates[J],M=this._toDate(N),I=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(I){this.beforeSelectEvent.fire();var L=B.SELECTED.key;var K=this.cfg.getProperty(L);var G=N.concat();if(this._indexOfSelectedFieldArray(G)==-1){K[K.length]=G;}if(this.parent){this.parent.cfg.setProperty(L,K);}else{this.cfg.setProperty(L,K);}this.renderCellStyleSelected(M,H);this.selectEvent.fire([G]);this.doCellMouseOut.call(H,null,this);}return this.getSelectedDates();},deselect:function(K){var G=this._toFieldArray(K),J=[],M=[],N=B.SELECTED.key;for(var H=0;H<G.length;++H){var L=G[H];if(!this.isDateOOB(this._toDate(L))){if(J.length===0){this.beforeDeselectEvent.fire();M=this.cfg.getProperty(N);}J.push(L);var I=this._indexOfSelectedFieldArray(L);if(I!=-1){M.splice(I,1);}}}if(J.length>0){if(this.parent){this.parent.cfg.setProperty(N,M);}else{this.cfg.setProperty(N,M);}this.deselectEvent.fire(J);}return this.getSelectedDates();},deselectCell:function(K){var H=this.cells[K],N=this.cellDates[K],I=this._indexOfSelectedFieldArray(N);var J=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(J){this.beforeDeselectEvent.fire();var L=this.cfg.getProperty(B.SELECTED.key),M=this._toDate(N),G=N.concat();if(I>-1){if(this.cfg.getProperty(B.PAGEDATE.key).getMonth()==M.getMonth()&&this.cfg.getProperty(B.PAGEDATE.key).getFullYear()==M.getFullYear()){C.removeClass(H,this.Style.CSS_CELL_SELECTED);}L.splice(I,1);}if(this.parent){this.parent.cfg.setProperty(B.SELECTED.key,L);}else{this.cfg.setProperty(B.SELECTED.key,L);}this.deselectEvent.fire([G]);}return this.getSelectedDates();},deselectAll:function(){this.beforeDeselectEvent.fire();var J=B.SELECTED.key,G=this.cfg.getProperty(J),H=G.length,I=G.concat();if(this.parent){this.parent.cfg.setProperty(J,[]);}else{this.cfg.setProperty(J,[]);}if(H>0){this.deselectEvent.fire(I);}return this.getSelectedDates();},_toFieldArray:function(H){var G=[];if(H instanceof Date){G=[[H.getFullYear(),H.getMonth()+1,H.getDate()]];}else{if(E.isString(H)){G=this._parseDates(H);}else{if(E.isArray(H)){for(var I=0;I<H.length;++I){var J=H[I];G[G.length]=[J.getFullYear(),J.getMonth()+1,J.getDate()];}}}}return G;},toDate:function(G){return this._toDate(G);},_toDate:function(G){if(G instanceof Date){return G;}else{return D.getDate(G[0],G[1]-1,G[2]);}},_fieldArraysAreEqual:function(I,H){var G=false;if(I[0]==H[0]&&I[1]==H[1]&&I[2]==H[2]){G=true;}return G;},_indexOfSelectedFieldArray:function(K){var J=-1,G=this.cfg.getProperty(B.SELECTED.key);for(var I=0;I<G.length;++I){var H=G[I];if(K[0]==H[0]&&K[1]==H[1]&&K[2]==H[2]){J=I;break;}}return J;},isDateOOM:function(G){return(G.getMonth()!=this.cfg.getProperty(B.PAGEDATE.key).getMonth());},isDateOOB:function(I){var J=this.cfg.getProperty(B.MINDATE.key),K=this.cfg.getProperty(B.MAXDATE.key),H=D;if(J){J=H.clearTime(J);}if(K){K=H.clearTime(K);}var G=new Date(I.getTime());G=H.clearTime(G);return((J&&G.getTime()<J.getTime())||(K&&G.getTime()>K.getTime()));},_parsePageDate:function(G){var J;if(G){if(G instanceof Date){J=D.findMonthStart(G);}else{var K,I,H;H=G.split(this.cfg.getProperty(B.DATE_FIELD_DELIMITER.key));K=parseInt(H[this.cfg.getProperty(B.MY_MONTH_POSITION.key)-1],10)-1;I=parseInt(H[this.cfg.getProperty(B.MY_YEAR_POSITION.key)-1],10);J=D.getDate(I,K,1);}}else{J=D.getDate(this.today.getFullYear(),this.today.getMonth(),1);}return J;},onBeforeSelect:function(){if(this.cfg.getProperty(B.MULTI_SELECT.key)===false){if(this.parent){this.parent.callChildFunction("clearAllBodyCellStyles",this.Style.CSS_CELL_SELECTED);this.parent.deselectAll();}else{this.clearAllBodyCellStyles(this.Style.CSS_CELL_SELECTED);this.deselectAll();}}},onSelect:function(G){},onBeforeDeselect:function(){},onDeselect:function(G){},onChangePage:function(){this.render();},onRender:function(){},onReset:function(){this.render();},onClear:function(){this.render();},validate:function(){return true;},_parseDate:function(I){var J=I.split(this.Locale.DATE_FIELD_DELIMITER),G;if(J.length==2){G=[J[this.Locale.MD_MONTH_POSITION-1],J[this.Locale.MD_DAY_POSITION-1]];G.type=F.MONTH_DAY;}else{G=[J[this.Locale.MDY_YEAR_POSITION-1],J[this.Locale.MDY_MONTH_POSITION-1],J[this.Locale.MDY_DAY_POSITION-1]];G.type=F.DATE;}for(var H=0;H<G.length;H++){G[H]=parseInt(G[H],10);}return G;},_parseDates:function(H){var O=[],N=H.split(this.Locale.DATE_DELIMITER);for(var M=0;M<N.length;++M){var L=N[M];if(L.indexOf(this.Locale.DATE_RANGE_DELIMITER)!=-1){var G=L.split(this.Locale.DATE_RANGE_DELIMITER),K=this._parseDate(G[0]),P=this._parseDate(G[1]),J=this._parseRange(K,P);O=O.concat(J);}else{var I=this._parseDate(L);O.push(I);}}return O;},_parseRange:function(G,K){var H=D.add(D.getDate(G[0],G[1]-1,G[2]),D.DAY,1),J=D.getDate(K[0],K[1]-1,K[2]),I=[];I.push(G);while(H.getTime()<=J.getTime()){I.push([H.getFullYear(),H.getMonth()+1,H.getDate()]);H=D.add(H,D.DAY,1);}return I;},resetRenderers:function(){this.renderStack=this._renderStack.concat();},removeRenderers:function(){this._renderStack=[];this.renderStack=[];},clearElement:function(G){G.innerHTML="&#160;";G.className="";},addRenderer:function(G,H){var J=this._parseDates(G);for(var I=0;I<J.length;++I){var K=J[I];if(K.length==2){if(K[0] instanceof Array){this._addRenderer(F.RANGE,K,H);}else{this._addRenderer(F.MONTH_DAY,K,H);}}else{if(K.length==3){this._addRenderer(F.DATE,K,H);}}}},_addRenderer:function(H,I,G){var J=[H,I,G];this.renderStack.unshift(J);this._renderStack=this.renderStack.concat();},addMonthRenderer:function(H,G){this._addRenderer(F.MONTH,[H],G);},addWeekdayRenderer:function(H,G){this._addRenderer(F.WEEKDAY,[H],G);},clearAllBodyCellStyles:function(G){for(var H=0;H<this.cells.length;++H){C.removeClass(this.cells[H],G);}},setMonth:function(I){var G=B.PAGEDATE.key,H=this.cfg.getProperty(G);H.setMonth(parseInt(I,10));this.cfg.setProperty(G,H);},setYear:function(H){var G=B.PAGEDATE.key,I=this.cfg.getProperty(G);I.setFullYear(parseInt(H,10));this.cfg.setProperty(G,I);},getSelectedDates:function(){var I=[],H=this.cfg.getProperty(B.SELECTED.key);
for(var K=0;K<H.length;++K){var J=H[K];var G=D.getDate(J[0],J[1]-1,J[2]);I.push(G);}I.sort(function(M,L){return M-L;});return I;},hide:function(){if(this.beforeHideEvent.fire()){this.oDomContainer.style.display="none";this.hideEvent.fire();}},show:function(){if(this.beforeShowEvent.fire()){this.oDomContainer.style.display="block";this.showEvent.fire();}},browser:(function(){var G=navigator.userAgent.toLowerCase();if(G.indexOf("opera")!=-1){return"opera";}else{if(G.indexOf("msie 7")!=-1){return"ie7";}else{if(G.indexOf("msie")!=-1){return"ie";}else{if(G.indexOf("safari")!=-1){return"safari";}else{if(G.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}})(),toString:function(){return"Calendar "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var G=this;if(G.navigator){G.navigator.destroy();}if(G.cfg){G.cfg.destroy();}A.purgeElement(G.oDomContainer,true);C.removeClass(G.oDomContainer,"withtitle");C.removeClass(G.oDomContainer,G.Style.CSS_CONTAINER);C.removeClass(G.oDomContainer,G.Style.CSS_SINGLE);G.oDomContainer.innerHTML="";G.oDomContainer=null;G.cells=null;this.destroyEvent.fire();}}};YAHOO.widget.Calendar=F;YAHOO.widget.Calendar_Core=YAHOO.widget.Calendar;YAHOO.widget.Cal_Core=YAHOO.widget.Calendar;})();(function(){var D=YAHOO.util.Dom,F=YAHOO.widget.DateMath,A=YAHOO.util.Event,E=YAHOO.lang,G=YAHOO.widget.Calendar;function B(J,H,I){if(arguments.length>0){this.init.apply(this,arguments);}}B._DEFAULT_CONFIG=G._DEFAULT_CONFIG;B._DEFAULT_CONFIG.PAGES={key:"pages",value:2};var C=B._DEFAULT_CONFIG;B.prototype={init:function(K,I,J){var H=this._parseArgs(arguments);K=H.id;I=H.container;J=H.config;this.oDomContainer=D.get(I);if(!this.oDomContainer.id){this.oDomContainer.id=D.generateId();}if(!K){K=this.oDomContainer.id+"_t";}this.id=K;this.containerId=this.oDomContainer.id;this.initEvents();this.initStyles();this.pages=[];D.addClass(this.oDomContainer,B.CSS_CONTAINER);D.addClass(this.oDomContainer,B.CSS_MULTI_UP);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.setupConfig();if(J){this.cfg.applyConfig(J,true);}this.cfg.fireQueue();if(YAHOO.env.ua.opera){this.renderEvent.subscribe(this._fixWidth,this,true);this.showEvent.subscribe(this._fixWidth,this,true);}},setupConfig:function(){var H=this.cfg;H.addProperty(C.PAGES.key,{value:C.PAGES.value,validator:H.checkNumber,handler:this.configPages});H.addProperty(C.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});H.addProperty(C.SELECTED.key,{value:[],handler:this.configSelected});H.addProperty(C.TITLE.key,{value:C.TITLE.value,handler:this.configTitle});H.addProperty(C.CLOSE.key,{value:C.CLOSE.value,handler:this.configClose});H.addProperty(C.IFRAME.key,{value:C.IFRAME.value,handler:this.configIframe,validator:H.checkBoolean});H.addProperty(C.MINDATE.key,{value:C.MINDATE.value,handler:this.delegateConfig});H.addProperty(C.MAXDATE.key,{value:C.MAXDATE.value,handler:this.delegateConfig});H.addProperty(C.MULTI_SELECT.key,{value:C.MULTI_SELECT.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.START_WEEKDAY.key,{value:C.START_WEEKDAY.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.SHOW_WEEKDAYS.key,{value:C.SHOW_WEEKDAYS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_HEADER.key,{value:C.SHOW_WEEK_HEADER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_FOOTER.key,{value:C.SHOW_WEEK_FOOTER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.HIDE_BLANK_WEEKS.key,{value:C.HIDE_BLANK_WEEKS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.NAV_ARROW_LEFT.key,{value:C.NAV_ARROW_LEFT.value,handler:this.delegateConfig});H.addProperty(C.NAV_ARROW_RIGHT.key,{value:C.NAV_ARROW_RIGHT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_SHORT.key,{value:C.MONTHS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_LONG.key,{value:C.MONTHS_LONG.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_1CHAR.key,{value:C.WEEKDAYS_1CHAR.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_SHORT.key,{value:C.WEEKDAYS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_MEDIUM.key,{value:C.WEEKDAYS_MEDIUM.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_LONG.key,{value:C.WEEKDAYS_LONG.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_MONTHS.key,{value:C.LOCALE_MONTHS.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_WEEKDAYS.key,{value:C.LOCALE_WEEKDAYS.value,handler:this.delegateConfig});H.addProperty(C.DATE_DELIMITER.key,{value:C.DATE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_FIELD_DELIMITER.key,{value:C.DATE_FIELD_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_RANGE_DELIMITER.key,{value:C.DATE_RANGE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.MY_MONTH_POSITION.key,{value:C.MY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_YEAR_POSITION.key,{value:C.MY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MD_MONTH_POSITION.key,{value:C.MD_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MD_DAY_POSITION.key,{value:C.MD_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_MONTH_POSITION.key,{value:C.MDY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_DAY_POSITION.key,{value:C.MDY_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_YEAR_POSITION.key,{value:C.MDY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_MONTH_POSITION.key,{value:C.MY_LABEL_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_YEAR_POSITION.key,{value:C.MY_LABEL_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});
H.addProperty(C.MY_LABEL_MONTH_SUFFIX.key,{value:C.MY_LABEL_MONTH_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.MY_LABEL_YEAR_SUFFIX.key,{value:C.MY_LABEL_YEAR_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.NAV.key,{value:C.NAV.value,handler:this.configNavigator});H.addProperty(C.STRINGS.key,{value:C.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:C.STRINGS.supercedes});},initEvents:function(){var J=this,L="Event",M=YAHOO.util.CustomEvent;var I=function(O,R,N){for(var Q=0;Q<J.pages.length;++Q){var P=J.pages[Q];P[this.type+L].subscribe(O,R,N);}};var H=function(N,Q){for(var P=0;P<J.pages.length;++P){var O=J.pages[P];O[this.type+L].unsubscribe(N,Q);}};var K=G._EVENT_TYPES;J.beforeSelectEvent=new M(K.BEFORE_SELECT);J.beforeSelectEvent.subscribe=I;J.beforeSelectEvent.unsubscribe=H;J.selectEvent=new M(K.SELECT);J.selectEvent.subscribe=I;J.selectEvent.unsubscribe=H;J.beforeDeselectEvent=new M(K.BEFORE_DESELECT);J.beforeDeselectEvent.subscribe=I;J.beforeDeselectEvent.unsubscribe=H;J.deselectEvent=new M(K.DESELECT);J.deselectEvent.subscribe=I;J.deselectEvent.unsubscribe=H;J.changePageEvent=new M(K.CHANGE_PAGE);J.changePageEvent.subscribe=I;J.changePageEvent.unsubscribe=H;J.beforeRenderEvent=new M(K.BEFORE_RENDER);J.beforeRenderEvent.subscribe=I;J.beforeRenderEvent.unsubscribe=H;J.renderEvent=new M(K.RENDER);J.renderEvent.subscribe=I;J.renderEvent.unsubscribe=H;J.resetEvent=new M(K.RESET);J.resetEvent.subscribe=I;J.resetEvent.unsubscribe=H;J.clearEvent=new M(K.CLEAR);J.clearEvent.subscribe=I;J.clearEvent.unsubscribe=H;J.beforeShowEvent=new M(K.BEFORE_SHOW);J.showEvent=new M(K.SHOW);J.beforeHideEvent=new M(K.BEFORE_HIDE);J.hideEvent=new M(K.HIDE);J.beforeShowNavEvent=new M(K.BEFORE_SHOW_NAV);J.showNavEvent=new M(K.SHOW_NAV);J.beforeHideNavEvent=new M(K.BEFORE_HIDE_NAV);J.hideNavEvent=new M(K.HIDE_NAV);J.beforeRenderNavEvent=new M(K.BEFORE_RENDER_NAV);J.renderNavEvent=new M(K.RENDER_NAV);J.beforeDestroyEvent=new M(K.BEFORE_DESTROY);J.destroyEvent=new M(K.DESTROY);},configPages:function(T,R,N){var L=R[0],J=C.PAGEDATE.key,W="_",M,O=null,S="groupcal",V="first-of-type",K="last-of-type";for(var I=0;I<L;++I){var U=this.id+W+I,Q=this.containerId+W+I,P=this.cfg.getConfig();P.close=false;P.title=false;P.navigator=null;if(I>0){M=new Date(O);this._setMonthOnDate(M,M.getMonth()+I);P.pageDate=M;}var H=this.constructChild(U,Q,P);D.removeClass(H.oDomContainer,this.Style.CSS_SINGLE);D.addClass(H.oDomContainer,S);if(I===0){O=H.cfg.getProperty(J);D.addClass(H.oDomContainer,V);}if(I==(L-1)){D.addClass(H.oDomContainer,K);}H.parent=this;H.index=I;this.pages[this.pages.length]=H;}},configPageDate:function(O,N,L){var J=N[0],M;var K=C.PAGEDATE.key;for(var I=0;I<this.pages.length;++I){var H=this.pages[I];if(I===0){M=H._parsePageDate(J);H.cfg.setProperty(K,M);}else{var P=new Date(M);this._setMonthOnDate(P,P.getMonth()+I);H.cfg.setProperty(K,P);}}},configSelected:function(J,H,L){var K=C.SELECTED.key;this.delegateConfig(J,H,L);var I=(this.pages.length>0)?this.pages[0].cfg.getProperty(K):[];this.cfg.setProperty(K,I,true);},delegateConfig:function(I,H,L){var M=H[0];var K;for(var J=0;J<this.pages.length;J++){K=this.pages[J];K.cfg.setProperty(I,M);}},setChildFunction:function(K,I){var H=this.cfg.getProperty(C.PAGES.key);for(var J=0;J<H;++J){this.pages[J][K]=I;}},callChildFunction:function(M,I){var H=this.cfg.getProperty(C.PAGES.key);for(var L=0;L<H;++L){var K=this.pages[L];if(K[M]){var J=K[M];J.call(K,I);}}},constructChild:function(K,I,J){var H=document.getElementById(I);if(!H){H=document.createElement("div");H.id=I;this.oDomContainer.appendChild(H);}return new G(K,I,J);},setMonth:function(L){L=parseInt(L,10);var M;var I=C.PAGEDATE.key;for(var K=0;K<this.pages.length;++K){var J=this.pages[K];var H=J.cfg.getProperty(I);if(K===0){M=H.getFullYear();}else{H.setFullYear(M);}this._setMonthOnDate(H,L+K);J.cfg.setProperty(I,H);}},setYear:function(J){var I=C.PAGEDATE.key;J=parseInt(J,10);for(var L=0;L<this.pages.length;++L){var K=this.pages[L];var H=K.cfg.getProperty(I);if((H.getMonth()+1)==1&&L>0){J+=1;}K.setYear(J);}},render:function(){this.renderHeader();for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.render();}this.renderFooter();},select:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.select(H);}return this.getSelectedDates();},selectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.selectCell(H);}return this.getSelectedDates();},deselect:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselect(H);}return this.getSelectedDates();},deselectAll:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.deselectAll();}return this.getSelectedDates();},deselectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselectCell(H);}return this.getSelectedDates();},reset:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.reset();}},clear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.clear();}this.cfg.setProperty(C.SELECTED.key,[]);this.cfg.setProperty(C.PAGEDATE.key,new Date(this.pages[0].today.getTime()));this.render();},nextMonth:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.nextMonth();}},previousMonth:function(){for(var I=this.pages.length-1;I>=0;--I){var H=this.pages[I];H.previousMonth();}},nextYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.nextYear();}},previousYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.previousYear();}},getSelectedDates:function(){var J=[];var I=this.cfg.getProperty(C.SELECTED.key);for(var L=0;L<I.length;++L){var K=I[L];var H=F.getDate(K[0],K[1]-1,K[2]);J.push(H);}J.sort(function(N,M){return N-M;});return J;},addRenderer:function(H,I){for(var K=0;K<this.pages.length;++K){var J=this.pages[K];J.addRenderer(H,I);}},addMonthRenderer:function(K,H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.addMonthRenderer(K,H);
}},addWeekdayRenderer:function(I,H){for(var K=0;K<this.pages.length;++K){var J=this.pages[K];J.addWeekdayRenderer(I,H);}},removeRenderers:function(){this.callChildFunction("removeRenderers");},renderHeader:function(){},renderFooter:function(){},addMonths:function(H){this.callChildFunction("addMonths",H);},subtractMonths:function(H){this.callChildFunction("subtractMonths",H);},addYears:function(H){this.callChildFunction("addYears",H);},subtractYears:function(H){this.callChildFunction("subtractYears",H);},getCalendarPage:function(K){var M=null;if(K){var N=K.getFullYear(),J=K.getMonth();var I=this.pages;for(var L=0;L<I.length;++L){var H=I[L].cfg.getProperty("pagedate");if(H.getFullYear()===N&&H.getMonth()===J){M=I[L];break;}}}return M;},_setMonthOnDate:function(I,J){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420&&(J<0||J>11)){var H=F.add(I,F.MONTH,J-I.getMonth());I.setTime(H.getTime());}else{I.setMonth(J);}},_fixWidth:function(){var H=0;for(var J=0;J<this.pages.length;++J){var I=this.pages[J];H+=I.oDomContainer.offsetWidth;}if(H>0){this.oDomContainer.style.width=H+"px";}},toString:function(){return"CalendarGroup "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var J=this;if(J.navigator){J.navigator.destroy();}if(J.cfg){J.cfg.destroy();}A.purgeElement(J.oDomContainer,true);D.removeClass(J.oDomContainer,B.CSS_CONTAINER);D.removeClass(J.oDomContainer,B.CSS_MULTI_UP);for(var I=0,H=J.pages.length;I<H;I++){J.pages[I].destroy();J.pages[I]=null;}J.oDomContainer.innerHTML="";J.oDomContainer=null;this.destroyEvent.fire();}}};B.CSS_CONTAINER="yui-calcontainer";B.CSS_MULTI_UP="multi";B.CSS_2UPTITLE="title";B.CSS_2UPCLOSE="close-icon";YAHOO.lang.augmentProto(B,G,"buildDayLabel","buildMonthLabel","renderOutOfBoundsDate","renderRowHeader","renderRowFooter","renderCellDefault","styleCellDefault","renderCellStyleHighlight1","renderCellStyleHighlight2","renderCellStyleHighlight3","renderCellStyleHighlight4","renderCellStyleToday","renderCellStyleSelected","renderCellNotThisMonth","renderBodyCellRestricted","initStyles","configTitle","configClose","configIframe","configStrings","configNavigator","createTitleBar","createCloseButton","removeTitleBar","removeCloseButton","hide","show","toDate","_toDate","_parseArgs","browser");YAHOO.widget.CalGrp=B;YAHOO.widget.CalendarGroup=B;YAHOO.widget.Calendar2up=function(J,H,I){this.init(J,H,I);};YAHOO.extend(YAHOO.widget.Calendar2up,B);YAHOO.widget.Cal2up=YAHOO.widget.Calendar2up;})();YAHOO.widget.CalendarNavigator=function(A){this.init(A);};(function(){var A=YAHOO.widget.CalendarNavigator;A.CLASSES={NAV:"yui-cal-nav",NAV_VISIBLE:"yui-cal-nav-visible",MASK:"yui-cal-nav-mask",YEAR:"yui-cal-nav-y",MONTH:"yui-cal-nav-m",BUTTONS:"yui-cal-nav-b",BUTTON:"yui-cal-nav-btn",ERROR:"yui-cal-nav-e",YEAR_CTRL:"yui-cal-nav-yc",MONTH_CTRL:"yui-cal-nav-mc",INVALID:"yui-invalid",DEFAULT:"yui-default"};A._DEFAULT_CFG={strings:{month:"Month",year:"Year",submit:"Okay",cancel:"Cancel",invalidYear:"Year needs to be a number"},monthFormat:YAHOO.widget.Calendar.LONG,initialFocus:"year"};A.ID_SUFFIX="_nav";A.MONTH_SUFFIX="_month";A.YEAR_SUFFIX="_year";A.ERROR_SUFFIX="_error";A.CANCEL_SUFFIX="_cancel";A.SUBMIT_SUFFIX="_submit";A.YR_MAX_DIGITS=4;A.YR_MINOR_INC=1;A.YR_MAJOR_INC=10;A.UPDATE_DELAY=50;A.YR_PATTERN=/^\d+$/;A.TRIM=/^\s*(.*?)\s*$/;})();YAHOO.widget.CalendarNavigator.prototype={id:null,cal:null,navEl:null,maskEl:null,yearEl:null,monthEl:null,errorEl:null,submitEl:null,cancelEl:null,firstCtrl:null,lastCtrl:null,_doc:null,_year:null,_month:0,__rendered:false,init:function(A){var C=A.oDomContainer;this.cal=A;this.id=C.id+YAHOO.widget.CalendarNavigator.ID_SUFFIX;this._doc=C.ownerDocument;var B=YAHOO.env.ua.ie;this.__isIEQuirks=(B&&((B<=6)||(this._doc.compatMode=="BackCompat")));},show:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeShowNavEvent.fire()){if(!this.__rendered){this.render();}this.clearErrors();this._updateMonthUI();this._updateYearUI();this._show(this.navEl,true);this.setInitialFocus();this.showMask();YAHOO.util.Dom.addClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.showNavEvent.fire();}},hide:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeHideNavEvent.fire()){this._show(this.navEl,false);this.hideMask();YAHOO.util.Dom.removeClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.hideNavEvent.fire();}},showMask:function(){this._show(this.maskEl,true);if(this.__isIEQuirks){this._syncMask();}},hideMask:function(){this._show(this.maskEl,false);},getMonth:function(){return this._month;},getYear:function(){return this._year;},setMonth:function(A){if(A>=0&&A<12){this._month=A;}this._updateMonthUI();},setYear:function(B){var A=YAHOO.widget.CalendarNavigator.YR_PATTERN;if(YAHOO.lang.isNumber(B)&&A.test(B+"")){this._year=B;}this._updateYearUI();},render:function(){this.cal.beforeRenderNavEvent.fire();if(!this.__rendered){this.createNav();this.createMask();this.applyListeners();this.__rendered=true;}this.cal.renderNavEvent.fire();},createNav:function(){var B=YAHOO.widget.CalendarNavigator;var C=this._doc;var D=C.createElement("div");D.className=B.CLASSES.NAV;var A=this.renderNavContents([]);D.innerHTML=A.join("");this.cal.oDomContainer.appendChild(D);this.navEl=D;this.yearEl=C.getElementById(this.id+B.YEAR_SUFFIX);this.monthEl=C.getElementById(this.id+B.MONTH_SUFFIX);this.errorEl=C.getElementById(this.id+B.ERROR_SUFFIX);this.submitEl=C.getElementById(this.id+B.SUBMIT_SUFFIX);this.cancelEl=C.getElementById(this.id+B.CANCEL_SUFFIX);if(YAHOO.env.ua.gecko&&this.yearEl&&this.yearEl.type=="text"){this.yearEl.setAttribute("autocomplete","off");}this._setFirstLastElements();},createMask:function(){var B=YAHOO.widget.CalendarNavigator.CLASSES;var A=this._doc.createElement("div");A.className=B.MASK;this.cal.oDomContainer.appendChild(A);this.maskEl=A;},_syncMask:function(){var B=this.cal.oDomContainer;if(B&&this.maskEl){var A=YAHOO.util.Dom.getRegion(B);YAHOO.util.Dom.setStyle(this.maskEl,"width",A.right-A.left+"px");YAHOO.util.Dom.setStyle(this.maskEl,"height",A.bottom-A.top+"px");
}},renderNavContents:function(A){var D=YAHOO.widget.CalendarNavigator,E=D.CLASSES,B=A;B[B.length]='<div class="'+E.MONTH+'">';this.renderMonth(B);B[B.length]="</div>";B[B.length]='<div class="'+E.YEAR+'">';this.renderYear(B);B[B.length]="</div>";B[B.length]='<div class="'+E.BUTTONS+'">';this.renderButtons(B);B[B.length]="</div>";B[B.length]='<div class="'+E.ERROR+'" id="'+this.id+D.ERROR_SUFFIX+'"></div>';return B;},renderMonth:function(D){var G=YAHOO.widget.CalendarNavigator,H=G.CLASSES;var I=this.id+G.MONTH_SUFFIX,F=this.__getCfg("monthFormat"),A=this.cal.cfg.getProperty((F==YAHOO.widget.Calendar.SHORT)?"MONTHS_SHORT":"MONTHS_LONG"),E=D;if(A&&A.length>0){E[E.length]='<label for="'+I+'">';E[E.length]=this.__getCfg("month",true);E[E.length]="</label>";E[E.length]='<select name="'+I+'" id="'+I+'" class="'+H.MONTH_CTRL+'">';for(var B=0;B<A.length;B++){E[E.length]='<option value="'+B+'">';E[E.length]=A[B];E[E.length]="</option>";}E[E.length]="</select>";}return E;},renderYear:function(B){var E=YAHOO.widget.CalendarNavigator,F=E.CLASSES;var G=this.id+E.YEAR_SUFFIX,A=E.YR_MAX_DIGITS,D=B;D[D.length]='<label for="'+G+'">';D[D.length]=this.__getCfg("year",true);D[D.length]="</label>";D[D.length]='<input type="text" name="'+G+'" id="'+G+'" class="'+F.YEAR_CTRL+'" maxlength="'+A+'"/>';return D;},renderButtons:function(A){var D=YAHOO.widget.CalendarNavigator.CLASSES;var B=A;B[B.length]='<span class="'+D.BUTTON+" "+D.DEFAULT+'">';B[B.length]='<button type="button" id="'+this.id+"_submit"+'">';B[B.length]=this.__getCfg("submit",true);B[B.length]="</button>";B[B.length]="</span>";B[B.length]='<span class="'+D.BUTTON+'">';B[B.length]='<button type="button" id="'+this.id+"_cancel"+'">';B[B.length]=this.__getCfg("cancel",true);B[B.length]="</button>";B[B.length]="</span>";return B;},applyListeners:function(){var B=YAHOO.util.Event;function A(){if(this.validate()){this.setYear(this._getYearFromUI());}}function C(){this.setMonth(this._getMonthFromUI());}B.on(this.submitEl,"click",this.submit,this,true);B.on(this.cancelEl,"click",this.cancel,this,true);B.on(this.yearEl,"blur",A,this,true);B.on(this.monthEl,"change",C,this,true);if(this.__isIEQuirks){YAHOO.util.Event.on(this.cal.oDomContainer,"resize",this._syncMask,this,true);}this.applyKeyListeners();},purgeListeners:function(){var A=YAHOO.util.Event;A.removeListener(this.submitEl,"click",this.submit);A.removeListener(this.cancelEl,"click",this.cancel);A.removeListener(this.yearEl,"blur");A.removeListener(this.monthEl,"change");if(this.__isIEQuirks){A.removeListener(this.cal.oDomContainer,"resize",this._syncMask);}this.purgeKeyListeners();},applyKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.on(this.yearEl,"keypress",this._handleEnterKey,this,true);D.on(this.yearEl,C,this._handleDirectionKeys,this,true);D.on(this.lastCtrl,B,this._handleTabKey,this,true);D.on(this.firstCtrl,B,this._handleShiftTabKey,this,true);},purgeKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.removeListener(this.yearEl,"keypress",this._handleEnterKey);D.removeListener(this.yearEl,C,this._handleDirectionKeys);D.removeListener(this.lastCtrl,B,this._handleTabKey);D.removeListener(this.firstCtrl,B,this._handleShiftTabKey);},submit:function(){if(this.validate()){this.hide();this.setMonth(this._getMonthFromUI());this.setYear(this._getYearFromUI());var B=this.cal;var A=YAHOO.widget.CalendarNavigator.UPDATE_DELAY;if(A>0){var C=this;window.setTimeout(function(){C._update(B);},A);}else{this._update(B);}}},_update:function(A){A.setYear(this.getYear());A.setMonth(this.getMonth());A.render();},cancel:function(){this.hide();},validate:function(){if(this._getYearFromUI()!==null){this.clearErrors();return true;}else{this.setYearError();this.setError(this.__getCfg("invalidYear",true));return false;}},setError:function(A){if(this.errorEl){this.errorEl.innerHTML=A;this._show(this.errorEl,true);}},clearError:function(){if(this.errorEl){this.errorEl.innerHTML="";this._show(this.errorEl,false);}},setYearError:function(){YAHOO.util.Dom.addClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearYearError:function(){YAHOO.util.Dom.removeClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearErrors:function(){this.clearError();this.clearYearError();},setInitialFocus:function(){var A=this.submitEl,C=this.__getCfg("initialFocus");if(C&&C.toLowerCase){C=C.toLowerCase();if(C=="year"){A=this.yearEl;try{this.yearEl.select();}catch(B){}}else{if(C=="month"){A=this.monthEl;}}}if(A&&YAHOO.lang.isFunction(A.focus)){try{A.focus();}catch(D){}}},erase:function(){if(this.__rendered){this.purgeListeners();this.yearEl=null;this.monthEl=null;this.errorEl=null;this.submitEl=null;this.cancelEl=null;this.firstCtrl=null;this.lastCtrl=null;if(this.navEl){this.navEl.innerHTML="";}var B=this.navEl.parentNode;if(B){B.removeChild(this.navEl);}this.navEl=null;var A=this.maskEl.parentNode;if(A){A.removeChild(this.maskEl);}this.maskEl=null;this.__rendered=false;}},destroy:function(){this.erase();this._doc=null;this.cal=null;this.id=null;},_show:function(B,A){if(B){YAHOO.util.Dom.setStyle(B,"display",(A)?"block":"none");}},_getMonthFromUI:function(){if(this.monthEl){return this.monthEl.selectedIndex;}else{return 0;}},_getYearFromUI:function(){var B=YAHOO.widget.CalendarNavigator;var A=null;if(this.yearEl){var C=this.yearEl.value;C=C.replace(B.TRIM,"$1");if(B.YR_PATTERN.test(C)){A=parseInt(C,10);}}return A;},_updateYearUI:function(){if(this.yearEl&&this._year!==null){this.yearEl.value=this._year;}},_updateMonthUI:function(){if(this.monthEl){this.monthEl.selectedIndex=this._month;}},_setFirstLastElements:function(){this.firstCtrl=this.monthEl;this.lastCtrl=this.cancelEl;if(this.__isMac){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){this.firstCtrl=this.monthEl;this.lastCtrl=this.yearEl;
}if(YAHOO.env.ua.gecko){this.firstCtrl=this.yearEl;this.lastCtrl=this.yearEl;}}},_handleEnterKey:function(B){var A=YAHOO.util.KeyListener.KEY;if(YAHOO.util.Event.getCharCode(B)==A.ENTER){YAHOO.util.Event.preventDefault(B);this.submit();}},_handleDirectionKeys:function(H){var G=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY,D=YAHOO.widget.CalendarNavigator;var F=(this.yearEl.value)?parseInt(this.yearEl.value,10):null;if(isFinite(F)){var B=false;switch(G.getCharCode(H)){case A.UP:this.yearEl.value=F+D.YR_MINOR_INC;B=true;break;case A.DOWN:this.yearEl.value=Math.max(F-D.YR_MINOR_INC,0);B=true;break;case A.PAGE_UP:this.yearEl.value=F+D.YR_MAJOR_INC;B=true;break;case A.PAGE_DOWN:this.yearEl.value=Math.max(F-D.YR_MAJOR_INC,0);B=true;break;default:break;}if(B){G.preventDefault(H);try{this.yearEl.select();}catch(C){}}}},_handleTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(C.getCharCode(D)==A.TAB&&!D.shiftKey){try{C.preventDefault(D);this.firstCtrl.focus();}catch(B){}}},_handleShiftTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(D.shiftKey&&C.getCharCode(D)==A.TAB){try{C.preventDefault(D);this.lastCtrl.focus();}catch(B){}}},__getCfg:function(D,B){var C=YAHOO.widget.CalendarNavigator._DEFAULT_CFG;var A=this.cal.cfg.getProperty("navigator");if(B){return(A!==true&&A.strings&&A.strings[D])?A.strings[D]:C.strings[D];}else{return(A!==true&&A[D])?A[D]:C[D];}},__isMac:(navigator.userAgent.toLowerCase().indexOf("macintosh")!=-1)};YAHOO.register("calendar",YAHOO.widget.Calendar,{version:"2.7.0",build:"1799"});
function handleSelect(type,args,obj) {
var dates = args[0];
var date = dates[0];
var year = date[0], month = date[1], day = date[2];
var objIDArray = obj.id.split( '_' );
var id = objIDArray[3];
var datatype = objIDArray[1];
var base = objIDArray[0];
var txtYear = document.getElementsByName( base + '_' + datatype + '_year_' + id );
txtYear[0].value = year;
var txtMonth = document.getElementsByName( base + '_' + datatype + '_month_' + id );
txtMonth[0].value = month;
var txtDay = document.getElementsByName( base + '_' + datatype + '_day_' + id );
txtDay[0].value = day;
window['cal'+id].hide();
}
function showDatePicker( base, id, datatype ) {
var calIconID = base + '_' + datatype + '_cal_' + id;
var calContainerID = base + '_' + datatype + '_cal_container_' + id;
var calContainer = document.getElementById( calContainerID );
var xy = YAHOO.util.Dom.getXY( calIconID );
calContainer.style.left = ( xy[0] + 26 ) + 'px';
calContainer.style.top = ( xy[1] + 30 ) + 'px';
calContainer.style.display = 'block';
window['cal'+id] = new YAHOO.widget.Calendar( base + '_' + datatype + '_cal_' + id , calContainerID, { close: true,
mindate: "1/1/1970",
LOCALE_WEEKDAYS: "medium" } );
window['cal'+id].render();
window['cal'+id].selectEvent.subscribe( handleSelect, window['cal'+id], true );
}
var NXC = NXC || {};
NXC.FrontMenu = new Class( {
Implements: [Options, Events],
options:{
'slidesSelector'     : 'div.nxc-front-menu-slide-container',
'navigationSelector' : 'div.nxc-front-menu-navigation-element',
'selectedLinkClass'  : 'nxc-front-menu-navigation-element-selected',
'timerDelay'         : 3000,
'fade'               : true,
'fadeDuration'       : 500,
'slideShow'          : true
},
container: false,
slides: [],
navigationLinks: [],
currentSlide: 0,
timer: $empty,
initialize: function( containerID, options ) {
this.setOptions( options );
this.container       = document.id( containerID )
this.slides          = this.container.getElements( this.options.slidesSelector );
this.navigationLinks = this.container.getElements( this.options.navigationSelector );
if( this.slides.length != this.navigationLinks.length ) {
console.log( 'Slides and naviagtion links quantity dosen`t the same' );
return false;
}
this.hideAllSlides();
this.showSlide( this.currentSlide, false );
this.installEvents();
this.installSlideShow();
},
installEvents: function() {
this.navigationLinks.each( function( navigationLink, index ) {
navigationLink.addEvents( {
'click': function(event){
event.stop();
this.currentSlide = index;
this.hideAllSlides();
this.showSlide( this.currentSlide, false );
}.bind( this )
} );
}.bind( this ) );
this.slides.addEvents( {
'mouseover': function(){
this.stopTimer();
}.bind( this ),
'mouseout': function(){
this.startTimer();
}.bind( this )
} );
},
installSlideShow: function() {
if( this.options.slideShow ) {
this.startTimer();
}
},
startTimer: function() {
if( this.options.slideShow ) {
this.timer = function() {
this.showNextSlide( this.options.fade );
}.periodical( this.options.timerDelay + this.options.fadeDuration, this );
}
},
stopTimer: function() {
$clear( this.timer );
},
showNextSlide: function( fade ) {
this.hideSlide( this.getPreviousIndex(), fade);
this.showSlide( this.currentSlide, fade );
},
showPreviousSlide: function( fade ) {
var prevIndex = this.getPreviousIndex();
var showIndex = ( prevIndex == 0 ) ? this.slides.length - 1 : prevIndex - 1;
this.hideSlide( prevIndex, fade );
this.showSlide( showIndex, fade );
},
showSlide: function( index, fade ) {
var index = $defined( index ) ? index : this.currentSlide;
var fade  = $defined( fade ) ? fade : true;
var slide = this.slides[ index ];
slide.setStyle( 'display', 'block' );
if( fade ) {
slide.get( 'tween', { property: 'opacity', duration: this.options.fadeDuration } ).start( 1 );
} else {
slide.get( 'tween' ).cancel();
slide.setStyle( 'opacity', 1 );
}
this.navigationLinks.removeClass( this.options.selectedLinkClass );
this.navigationLinks[ index ].addClass( this.options.selectedLinkClass );
if( index == ( this.slides.length - 1 ) ) {
this.currentSlide = 0;
} else {
this.currentSlide = index + 1;
}
},
hideSlide: function( index, fade ) {
var fade  = $defined( fade ) ? fade : true;
var index = $defined( index ) ? index : this.getPreviousIndex();
var slide = this.slides[index];
if( fade ) {
slide.get( 'tween', { 'property': 'opacity', 'duration': this.options.fadeDuration } ).start( 0 ).chain(
function() {
slide.setStyle( 'display', 'none' );
}
);
} else {
slide.setStyles( {
'display': 'none',
'opacity': 0
} );
}
},
hideAllSlides: function() {
this.slides.each( function( slide, index ) {
this.hideSlide( index, false );
}.bind( this ) );
},
getPreviousIndex: function() {
return ( this.currentSlide == 0 ) ? this.slides.length - 1 : this.currentSlide - 1;
}
} );
var hasFlash=function(){var a=6;if(navigator.appVersion.indexOf("MSIE")!=-1&&navigator.appVersion.indexOf("Windows")>-1){document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+a+'))) \n</script\> \n');if(window.hasFlash!=null)return window.hasFlash}if(navigator.mimeTypes&&navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){var b=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;return parseInt(b.substr(b.indexOf(".")-2,2),10)>=a}return false}();String.prototype.normalize=function(){return this.replace(/\s+/g," ")};if(Array.prototype.push==null){Array.prototype.push=function(){var i=0,a=this.length,b=arguments.length;while(i<b){this[a++]=arguments[i++]}return this.length}}if(!Function.prototype.apply){Function.prototype.apply=function(a,b){var c=[];var d,e;if(!a)a=window;if(!b)b=[];for(var i=0;i<b.length;i++){c[i]="b["+i+"]"}e="a.__applyTemp__("+c.join(",")+");";a.__applyTemp__=this;d=eval(e);a.__applyTemp__=null;return d}}function named(a){return new named.Arguments(a)}named.Arguments=function(a){this.oArgs=a};named.Arguments.prototype.constructor=named.Arguments;named.extract=function(a,b){var c,d;var i=a.length;while(i--){d=a[i];if(d!=null&&d.constructor!=null&&d.constructor==named.Arguments){c=a[i].oArgs;break}}if(c==null)return;for(e in c)if(b[e]!=null)b[e](c[e]);return};var parseSelector=function(){var a=/^([^#.>`]*)(#|\.|\>|\`)(.+)$/;function r(s,t){var u=s.split(/\s*\,\s*/);var v=[];for(var i=0;i<u.length;i++)v=v.concat(b(u[i],t));return v}function b(c,d,e){c=c.normalize().replace(" ","`");var f=c.match(a);var g,h,i,j,k,n;var l=[];if(f==null)f=[c,c];if(f[1]=="")f[1]="*";if(e==null)e="`";if(d==null)d=document;switch(f[2]){case "#":k=f[3].match(a);if(k==null)k=[null,f[3]];g=document.getElementById(k[1]);if(g==null||(f[1]!="*"&&!o(g,f[1])))return l;if(k.length==2){l.push(g);return l}return b(k[3],g,k[2]);case ".":if(e!=">")h=m(d,f[1]);else h=d.childNodes;for(i=0,n=h.length;i<n;i++){g=h[i];if(g.nodeType!=1)continue;k=f[3].match(a);if(k!=null){if(g.className==null||g.className.match("(\\s|^)"+k[1]+"(\\s|$)")==null)continue;j=b(k[3],g,k[2]);l=l.concat(j)}else if(g.className!=null&&g.className.match("(\\s|^)"+f[3]+"(\\s|$)")!=null)l.push(g)}return l;case ">":if(e!=">")h=m(d,f[1]);else h=d.childNodes;for(i=0,n=h.length;i<n;i++){g=h[i];if(g.nodeType!=1)continue;if(!o(g,f[1]))continue;j=b(f[3],g,">");l=l.concat(j)}return l;case "`":h=m(d,f[1]);for(i=0,n=h.length;i<n;i++){g=h[i];j=b(f[3],g,"`");l=l.concat(j)}return l;default:if(e!=">")h=m(d,f[1]);else h=d.childNodes;for(i=0,n=h.length;i<n;i++){g=h[i];if(g.nodeType!=1)continue;if(!o(g,f[1]))continue;l.push(g)}return l}}function m(d,o){if(o=="*"&&d.all!=null)return d.all;return d.getElementsByTagName(o)}function o(p,q){return q=="*"?true:p.nodeName.toLowerCase().replace("html:", "")==q.toLowerCase()}return r}();var sIFR=function(){var a="http://www.w3.org/1999/xhtml";var b=false;var c=false;var d;var ah=[];var al=document;var ak=al.documentElement;var am=window;var au=al.addEventListener;var av=am.addEventListener;var f=function(){var g=navigator.userAgent.toLowerCase();var f={a:g.indexOf("applewebkit")>-1,b:g.indexOf("safari")>-1,c:navigator.product!=null&&navigator.product.toLowerCase().indexOf("konqueror")>-1,d:g.indexOf("opera")>-1,e:al.contentType!=null&&al.contentType.indexOf("xml")>-1,f:true,g:true,h:null,i:null,j:null,k:null};f.l=f.a||f.c;f.m=!f.a&&navigator.product!=null&&navigator.product.toLowerCase()=="gecko";if(f.m&&g.match(/.*gecko\/(\d{8}).*/))f.j=new Number(g.match(/.*gecko\/(\d{8}).*/)[1]);f.n=g.indexOf("msie")>-1&&!f.d&&!f.l&&!f.m;f.o=f.n&&g.match(/.*mac.*/)!=null;if(f.d&&g.match(/.*opera(\s|\/)(\d+\.\d+)/))f.i=new Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]);if(f.n||(f.d&&f.i<7.6))f.g=false;if(f.a&&g.match(/.*applewebkit\/(\d+).*/))f.k=new Number(g.match(/.*applewebkit\/(\d+).*/)[1]);if(am.hasFlash&&(!f.n||f.o)){var aj=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description;f.h=parseInt(aj.substr(aj.indexOf(".")-2,2),10)}if(g.match(/.*(windows|mac).*/)==null||f.o||f.c||(f.d&&(g.match(/.*mac.*/)!=null||f.i<7.6))||(f.b&&f.h<7)||(!f.b&&f.a&&f.k<312)||(f.m&&f.j<20020523))f.f=false;if(!f.o&&!f.m&&al.createElementNS)try{al.createElementNS(a,"i").innerHTML=""}catch(e){f.e=true}f.p=f.c||(f.a&&f.k<312);return f}();function at(){return{bIsWebKit:f.a,bIsSafari:f.b,bIsKonq:f.c,bIsOpera:f.d,bIsXML:f.e,bHasTransparencySupport:f.f,bUseDOM:f.g,nFlashVersion:f.h,nOperaVersion:f.i,nGeckoBuildDate:f.j,nWebKitVersion:f.k,bIsKHTML:f.l,bIsGecko:f.m,bIsIE:f.n,bIsIEMac:f.o,bUseInnerHTMLHack:f.p}}if(am.hasFlash==false||!al.getElementsByTagName||!al.getElementById||(f.e&&(f.p||f.n)))return{UA:at()};function af(e){if((!k.bAutoInit&&(am.event||e)!=null)||!l(e))return;b=true;for(var i=0,h=ah.length;i<h;i++)j.apply(null,ah[i]);ah=[]}var k=af;function l(e){if(c==false||k.bIsDisabled==true||((f.e&&f.m||f.l)&&e==null&&b==false)||al.getElementsByTagName("body").length==0)return false;return true}function m(n){if(f.n)return n.replace(new RegExp("%\d{0}","g"),"%25");return n.replace(new RegExp("%(?!\d)","g"),"%25")}function as(p,q){return q=="*"?true:p.nodeName.toLowerCase().replace("html:", "")==q.toLowerCase()}function o(p,q,r,s,t){var u="";var v=p.firstChild;var w,x,y,z;if(s==null)s=0;if(t==null)t="";while(v){if(v.nodeType==3){z=v.nodeValue.replace("<","&lt;");switch(r){case "lower":u+=z.toLowerCase();break;case "upper":u+=z.toUpperCase();break;default:u+=z}}else if(v.nodeType==1){if(as(v,"a")&&!v.getAttribute("href")==false){if(v.getAttribute("target"))t+="&sifr_url_"+s+"_target="+v.getAttribute("target");t+="&sifr_url_"+s+"="+m(v.getAttribute("href")).replace(/&/g,"%26");u+='<a href="asfunction:_root.launchURL,'+s+'">';s++}else if(as(v,"br"))u+="<br/>";if(v.hasChildNodes()){y=o(v,null,r,s,t);u+=y.u;s=y.s;t=y.t}if(as(v,"a"))u+="</a>"}w=v;v=v.nextSibling;if(q!=null){x=w.parentNode.removeChild(w);q.appendChild(x)}}return{"u":u,"s":s,"t":t}}function A(B){if(al.createElementNS&&f.g)return al.createElementNS(a,B);return al.createElement(B)}function C(D,E,z){var p=A("param");p.setAttribute("name",E);p.setAttribute("value",z);D.appendChild(p)}function F(p,G){var H=p.className;if(H==null)H=G;else H=H.normalize()+(H==""?"":" ")+G;p.className=H}function aq(ar){var a=ak;if(k.bHideBrowserText==false)a=al.getElementsByTagName("body")[0];if((k.bHideBrowserText==false||ar)&&a)if(a.className==null||a.className.match(/\bsIFR\-hasFlash\b/)==null)F(a, "sIFR-hasFlash")}function j(I,J,K,L,M,N,O,P,Q,R,S,r,T){if(!l())return ah.push(arguments);aq();named.extract(arguments,{sSelector:function(ap){I=ap},sFlashSrc:function(ap){J=ap},sColor:function(ap){K=ap},sLinkColor:function(ap){L=ap},sHoverColor:function(ap){M=ap},sBgColor:function(ap){N=ap},nPaddingTop:function(ap){O=ap},nPaddingRight:function(ap){P=ap},nPaddingBottom:function(ap){Q=ap},nPaddingLeft:function(ap){R=ap},sFlashVars:function(ap){S=ap},sCase:function(ap){r=ap},sWmode:function(ap){T=ap}});var U=parseSelector(I);if(U.length==0)return false;if(S!=null)S="&"+S.normalize();else S="";if(K!=null)S+="&textcolor="+K;if(M!=null)S+="&hovercolor="+M;if(M!=null||L!=null)S+="&linkcolor="+(L||K);if(O==null)O=0;if(P==null)P=0;if(Q==null)Q=0;if(R==null)R=0;if(N==null)N="#FFFFFF";if(T=="transparent")if(!f.f)T="opaque";else N="transparent";if(T==null)T="";var p,V,W,X,Y,Z,aa,ab,ac;var ad=null;for(var i=0,h=U.length;i<h;i++){p=U[i];if(p.className!=null&&p.className.match(/\bsIFR\-replaced\b/)!=null)continue;V=p.offsetWidth-R-P;W=p.offsetHeight-O-Q;aa=A("span");aa.className="sIFR-alternate";ac=o(p,aa,r);Z="txt="+m(ac.u).replace(/\+/g,"%2B").replace(/&/g,"%26").replace(/\"/g, "%22").normalize() + S + "&w=" + V + "&h=" + W + ac.t;F(p,"sIFR-replaced");if(ad==null||!f.g){if(!f.g){if(!f.n)p.innerHTML=['<embed class="sIFR-flash" type="application/x-shockwave-flash" src="',J,'" quality="best" wmode="',T,'" bgcolor="',N,'" flashvars="',Z,'" width="',V,'" height="',W,'" sifr="true"></embed>'].join("");else p.innerHTML=['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" sifr="true" width="',V,'" height="',W,'" class="sIFR-flash"><param name="movie" value="',J,'"></param><param name="flashvars" value="',Z,'"></param><param name="quality" value="best"></param><param name="wmode" value="',T,'"></param><param name="bgcolor" value="',N,'"></param> </object>'].join('')}else{if(f.d){ab=A("object");ab.setAttribute("data",J);C(ab,"quality","best");C(ab,"wmode",T);C(ab,"bgcolor",N)}else{ab=A("embed");ab.setAttribute("src",J);ab.setAttribute("quality","best");ab.setAttribute("flashvars",Z);ab.setAttribute("wmode",T);ab.setAttribute("bgcolor",N)}ab.setAttribute("sifr","true");ab.setAttribute("type","application/x-shockwave-flash");ab.className="sIFR-flash";if(!f.l||!f.e)ad=ab.cloneNode(true)}}else ab=ad.cloneNode(true);if(f.g){if(f.d)C(ab,"flashvars",Z);else ab.setAttribute("flashvars",Z);ab.setAttribute("width",V);ab.setAttribute("height",W);ab.style.width=V+"px";ab.style.height=W+"px";p.appendChild(ab)}p.appendChild(aa);if(f.p)p.innerHTML+=""}if(f.n&&k.bFixFragIdBug)setTimeout(function(){al.title=d},0)}function ai(){d=al.title}function ae(){if(k.bIsDisabled==true)return;c=true;if(k.bHideBrowserText)aq(true);if(am.attachEvent)am.attachEvent("onload",af);else if(!f.c&&(al.addEventListener||am.addEventListener)){if(f.a&&f.k>=132&&am.addEventListener)am.addEventListener("load",function(){setTimeout("sIFR({})",1)},false);else{if(al.addEventListener)al.addEventListener("load",af,false);if(am.addEventListener)am.addEventListener("load",af,false)}}else if(typeof am.onload=="function"){var ag=am.onload;am.onload=function(){ag();af()}}else am.onload=af;if(!f.n||am.location.hash=="")k.bFixFragIdBug=false;else ai()}k.UA=at();k.bAutoInit=true;k.bFixFragIdBug=true;k.replaceElement=j;k.updateDocumentTitle=ai;k.appendToClassName=F;k.setup=ae;k.debug=function(){aq(true)};k.debug.replaceNow=function(){ae();k()};k.bIsDisabled=false;k.bHideBrowserText=true;return k}();
if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac && (!sIFR.UA.bIsWebKit || sIFR.UA.nWebKitVersion >= 100)){
sIFR.setup();
};
if(typeof sIFR == "function"){
sIFR.replaceElement(named({sSelector:".light-font-ms", sFlashSrc: options_sifr_fonts['ms_schriften'], sColor:"#FFFFFF", sLinkColor:"#FFFFFF", sBgColor:"", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=0"}));
sIFR.replaceElement(named({sSelector:".dark-font-ms", sFlashSrc: options_sifr_fonts['ms_schriften'], sColor:"#000000", sLinkColor:"#000000", sBgColor:"", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=0"}));
sIFR.replaceElement(named({sSelector:".light-font-typo", sFlashSrc: options_sifr_fonts['typo_american_lt'], sColor:"#FFFFFF", sLinkColor:"#FFFFFF", sBgColor:"", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=0"}));
sIFR.replaceElement(named({sSelector:".dark-font-typo", sFlashSrc: options_sifr_fonts['typo_american_lt'], sColor:"#000000", sLinkColor:"#000000", sBgColor:"", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=0"}));
sIFR.replaceElement(named({sSelector:".red-font-typo", sFlashSrc: options_sifr_fonts['typo_american_lt'], sColor:"#EB2218", sLinkColor:"#EB2218", sBgColor:"", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=0"}));
};
var NXCDDMenu = new Class({
Implements: [Chain, Options],
options: {
'fadeDuration': 500
},
initialize: function( menuCSSPath ) {
this.menuDiv  = document.id( menuCSSPath );
this.items    = this.menuDiv.getElement( 'ul' ).getElements( 'li' );
this.run();
},
run: function() {
this.hideAllSubMenuFast();
this.items.each( function( item ) {
item.addEvent( 'mouseover', function( e ) {
item.addClass('active');
}.bind( this ) );
item.addEvent( 'mouseleave', function( e ) {
item.removeClass('active');
}.bind( this ) );
var subMenu = item.getElement( 'ul' );
if( subMenu ) {
item.addEvent( 'mouseover', function( e ) {
subMenu.setStyle( 'display', 'block' );
subMenu.get( 'tween', { property: 'opacity', duration: this.options.fadeDuration } ).start( 1 );
}.bind( this ) );
item.addEvent( 'mouseleave', function( e ) {
subMenu.get( 'tween', { 'property': 'opacity', duration: this.options.fadeDuration } ).start( 0 ).chain(
function() {
subMenu.setStyle( 'display', 'none' );
}
);
}.bind( this ) );
subMenu.addEvent( 'mouseleave', function( e ) {
subMenu.get( 'tween', { 'property': 'opacity', duration: this.options.fadeDuration } ).start( 0 ).chain(
function() {
subMenu.setStyle( 'display', 'none' );
}
);
}.bind( this ) );
} else {
item.addEvent( 'mouseover', function( e ) {
this.hideAllSubMenu();
}.bind( this ) );
}
}, this );
},
hideAllSubMenu: function() {
this.items.each( function( item ) {
var subMenu = item.getElement( 'ul' );
if( subMenu ) {
subMenu.get( 'tween', { 'property': 'opacity', duration: this.options.fadeDuration } ).start( 0 ).chain(
function() {
subMenu.setStyle( 'display', 'none' );
}
);
}
}.bind( this ) );
},
hideAllSubMenuFast: function() {
this.items.each( function( item ) {
var subMenu = item.getElement( 'ul' );
if( subMenu ) {
subMenu.setStyle( 'display', 'none' );
}
}.bind( this ) );
},
closeSubMenu: function( event, subMenu ) {
alert( event.client.x );
}
} );
var NXC = NXC || {};
NXC.LightBox = new Class( {
Implements: [Options, Events],
options:{
'overlayOpacity' : 0.7,
'topPosition'    : 50,
'bgColor'        : '5F80A1',
'shadow'         : true,
'outerCloser'    : true,
'closer'         : true,
'onOpen'         : $empty,
'onSetContent'   : $empty,
'onClose'        : $empty
},
opened       : false,
contentBlock : new Element( 'div' ),
initialize: function( options ) {
this.setOptions( options );
this.prepareHTML();
},
prepareHTML: function() {
this.overlay = new Element( 'div', {
'class': 'nxc-lightbox-overlay',
'styles': {
'opacity'          : 0,
'visibility'       : 'visible',
'height'           : 0,
'overflow'         : 'hidden',
'background-color' : '#' + this.options.bgColor
}
} ).inject( document.id( document.body ) );
this.overlay.get( 'tween' ).addEvent( 'onComplete', function() {
if( this.overlay.getStyle( 'opacity' ) == 0 ) {
this.overlay.setStyles( {
'height': 0,
'top': ''
} );
};
}.bindWithEvent( this ) );
window.addEvent( 'resize', function() {
if( this.overlay.getStyle( 'opacity' ) != 0 ) {
var scrollSize = document.id( window ).getScrollSize().y;
var scrollTop = document.id( window ).getScroll().y;
this.overlay.setStyles( {
'height': scrollSize + scrollTop,
'top': -scrollTop
} );
}
}.bindWithEvent(this));
this.center = new Element( 'div', {
'class': 'nxc-lightbox-center',
'styles': {
'opacity': 0
}
} ).inject( document.id( document.body ) );
if( this.options.shadow ) {
if( !Browser.Engine.trident4 ) {
var shadow = new Element( 'div', { 'class': 'nxc-lightbox-bg-wrap' } ).inject( this.center );
['n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw'].each( function( dir ) {
new Element( 'div', { 'class': 'nxc-lightbox-bg nxc-lightbox-bg-' + dir } ).inject( shadow );
} );
}
}
if( this.options.closer ) {
var closer = new Element('a', {
'class': 'nxc-lightbox-btn-close',
'events': { 'click': this.close.bind( this ) }
} ).inject( this.center );
}
if( this.options.outerCloser ) {
this.overlay.addEvent( 'click', function() {
this.close();
}.bind( this ) );
}
},
setContent: function( el, clone ) {
el = document.id( el );
if( el === false ) {
return false;
}
if( clone === undefined ) {
clone = true;
}
this.contentBlock.destroy();
if( clone ) {
this.contentBlock = el.clone( true, true ).cloneEvents( el );
} else {
this.contentBlock = el;
}
this.contentBlock.inject( this.center );
this.fireEvent( 'setContent', this.contentBlock );
this.setCenterPosition();
},
setCenterPosition: function() {
var width  = this.contentBlock.getStyle( 'width' ).toInt();
this.center.setStyles( {
'width': width + 2,
'margin-left': -( width / 2 )
} );
},
open: function() {
this.opened = true;
this.fireEvent( 'open', this.contentBlock );
this.overlay.setStyles( {
'top': -document.id( window ).getScroll().y,
'height': document.id( window ).getScrollSize().y + document.id( window ).getScroll().y
} );
this.center.setStyle( 'top', document.id( window ).getScroll().y + this.options.topPosition );
this.center.setStyle( 'opacity', 1 );
this.overlay.tween( 'opacity', this.options.overlayOpacity );
},
close: function() {
this.opened = false;
this.fireEvent( 'close', this.contentBlock );
this.center.setStyle( 'opacity', 0 );
this.overlay.tween( 'opacity', 0 );
}
} );
var Uploader = new Class({
Implements: [Options, Events],
options: {
container: null,
queued: true,
verbose: false,
url: null,
method: null,
data: null,
mergeData: true,
fieldName: null,
allowDuplicates: false,
fileListMax: 0,
instantStart: false,
appendCookieData: false,
fileClass: null
},
initialize: function(options) {
this.setOptions(options);
this.target = document.id(this.options.target);
this.box = new Element('div').setStyles({
position: 'absolute',
opacity: 0.01,
zIndex: 9999,
overflow: 'hidden'
});
this.reposition();
window.addEvent('resize', this.reposition.bind(this));
this.box.inject(this.options.container || document.body);
this.addEvents({
buttonEnter: this.targetRelay.bind(this, ['mouseenter']),
buttonLeave: this.targetRelay.bind(this, ['mouseleave']),
buttonDown: this.targetRelay.bind(this, ['mousedown']),
buttonDisable: this.targetRelay.bind(this, ['disable'])
});
this.uploading = 0;
this.fileList = [];
this.createIFrame();
return this;
},
targetRelay: function(name) {
if (this.target) this.target.fireEvent(name);
},
createIFrame: function() {
this.iframe = new Element('iframe', {
src: "javascript:'<html></html>'",
frameborder: 'no',
border: 0,
styles: {
width: '100%',
height: '100%'
}
}).inject(this.box);
this.runner = this.createIBody.periodical(50, this);
},
createIBody: function() {
var doc = this.iframe.contentWindow.document;
if (!doc || !doc.body) return;
$clear(this.runner);
var align = (Browser.Engine.trident) ? 'left' : 'right';
doc.body.innerHTML = '<form method="post" enctype="multipart/form-data" id="form">' +
'<input type="file" id="file" style="position:absolute;' + align + ':0;top:0" />' +
'<input type="submit" /><div id="data"></div></form>' +
'<style type="text/css">*{margin:0;padding:0;border:0;overflow:hidden;cursor:pointer;}</style>';
this.doc = doc;
this.processIBody.delay(50, this);
},
processIBody: function() {
this.doc;
if (!(this.file = this.doc.getElementById('file')) || !this.file.offsetHeight) {
this.createIBody(); // WTF: FF forgot to update the HTML?!
return;
}
$extend(this.file, {
onmousedown: function() {
if (Browser.Engine.presto) return true;
(function() {
this.file.click();
this.fireEvent('buttonDown');
}).delay(10, this);
return false;
}.bind(this),
onfocus: function() {
return false;
},
onchange: this.select.bind(this),
onmouseover: this.fireEvent.bind(this, 'buttonEnter'),
onmouseout: this.fireEvent.bind(this, 'buttonLeave')
});
},
select: function() {
this.file.onchange = this.file.onmousedown = this.file.onfocus = null;
var name = this.file.value.replace(/^.*[\\\/]/, '');
var cls = this.options.fileClass || Uploader.File;
var ret = new cls(this, name, this.iframe.setStyle('display', 'none'));
if (!ret.validate()) {
ret.invalidate().render();
this.fireEvent('onSelectFailed', [[ret]]);
return;
}
this.fileList.push(ret);
ret.render();
this.fireEvent('onSelectSuccess', [[ret]]);
if (this.options.instantStart) this.start();
this.file = null;
this.createIFrame();
},
reposition: function() {
var pos = this.target.getCoordinates(this.box.getOffsetParent());
this.box.setStyles(pos);
},
start: function() {
var queued = this.options.queued;
queued = (queued) ? ((queued > 1) ? queued : 1) : 0;
for (var i = 0, file; file = this.fileList[i]; i++) {
if (this.fileList[i].status != Uploader.STATUS_QUEUED) continue;
this.fileList[i].start();
if (queued && this.uploading >= queued) break;
}
return this;
},
stop: function() {
for (var i = this.fileList.length; i--;) this.fileList[i].stop();
},
remove: function() {
for (var i = this.fileList.length; i--;) this.fileList[i].remove();
},
setEnabled: function(status) {
this.file.disabled = !!(status);
if (status) this.fireEvent('buttonDisable');
}
});
$extend(Uploader, {
STATUS_QUEUED: 0,
STATUS_RUNNING: 1,
STATUS_ERROR: 2,
STATUS_COMPLETE: 3,
STATUS_STOPPED: 4,
id: 0,
log: function() {
if (window.console && console.info) console.info.apply(console, arguments);
}
});
Uploader.File = new Class({
Extends: Events,
Implements: Options,
options: {
url: null,
method: null,
data: null,
mergeData: true,
fieldName: null
},
initialize: function(base, name, iframe) {
this.base = base;
this.id = Uploader.id++;
this.name = name;
this.extension = name.replace(/^.*\./, '').toLowerCase();
this.status = Uploader.STATUS_QUEUED;
this.dates = {};
this.dates.add = new Date();
this.iframe = iframe.addEvents({
abort: this.stop.bind(this),
load: this.onLoad.bind(this)
});
},
fireEvent: function(name) {
this.base.fireEvent('file' + name.capitalize(), [this]);
Uploader.log('File::' + name, this);
return this.parent(name, [this]);
},
validate: function() {
var base = this.base.options;
if (!base.allowDuplicates) {
var name = this.name;
var dup = this.base.fileList.some(function(file) {
return (file.name == name);
});
if (dup) {
this.validationError = 'duplicate';
return false;
}
}
if (base.fileListMax && this.base.fileList.length >= base.fileListMax) {
this.validationError = 'fileListMax';
return false;
}
return true;
},
invalidate: function() {
this.invalid = true;
return this.fireEvent('invalid');
},
render: function() {
return this;
},
onLoad: function() {
if (this.status != Uploader.STATUS_RUNNING) return;
this.status = Uploader.STATUS_COMPLETE;
var win = new Window(this.iframe.contentWindow);
var doc = new Document(win.document);
this.response = {
window: win,
document: doc,
text: doc.innerHTML || ''
};
this.base.uploading--;
this.dates.complete = new Date();
this.fireEvent('complete');
this.base.start();
},
start: function() {
if (this.status != Uploader.STATUS_QUEUED) return this;
var base = this.base.options, options = this.options;
var merged = {};
for (var key in base) {
merged[key] = (this.options[key] != null) ? this.options[key] : base[key];
}
merged.url = merged.url || location.href;
merged.method = (merged.method) ? (merged.method.toLowerCase()) : 'post';
var doc = this.iframe.contentWindow.document;
var more = doc.getElementById('data');
more.innerHTML = '';
if (merged.data) {
if (merged.mergeData && base.data && options.data) {
if ($type(base.data) == 'string') merged.data = base.data + '&' + options.data;
else merged.data = $merge(base.data, options.data);
}
var query = ($type(merged.data) == 'string') ? merged.data : Hash.toQueryString(merged.data);
if (query.length) {
if (merged.method == 'get') {
if (data.length) merged.url += ((merged.url.contains('?')) ? '&' : '?') + query;
} else {
query.split('&').map(function(value) {
value = value.split('=');
var input = doc.createElement('input');
input.type = 'hidden';
input.name = decodeURIComponent(value[0]);
input.value = decodeURIComponent(value[1] || '');
more.appendChild(input);
}).join('');
}
}
}
var form = doc.forms[0];
form.action = merged.url;
var input = form.elements[0];
input.name = merged.fieldName || 'Filedata';
this.status = Uploader.STATUS_RUNNING;
this.base.uploading++;
form.submit();
this.dates.start = new Date();
this.fireEvent('start');
return this;
},
requeue: function() {
this.stop();
this.status = Uploader.STATUS_QUEUED;
this.fireEvent('requeue');
},
stop: function(soft) {
if (this.status == Uploader.STATUS_RUNNING) {
this.status = Uploader.STATUS_STOPPED;
this.base.uploading--;
this.base.start();
if (!soft) {
this.iframe.contentWindow.history.back();
this.fireEvent('stop');
}
}
return this;
},
remove: function() {
this.stop(true);
this.iframe = this.iframe.destroy();
this.base.fileList.erase(this);
this.fireEvent('remove');
return this;
}
});
Swiff.Uploader = new Class({
Extends: Swiff,
Implements: Events,
options: {
path: 'Swiff.Uploader.swf',
target: null,
zIndex: 9999,
height: 30,
width: 100,
callBacks: null,
params: {
wMode: 'opaque',
menu: 'false',
allowScriptAccess: 'always'
},
typeFilter: null,
multiple: true,
queued: true,
verbose: false,
url: null,
method: null,
data: null,
mergeData: true,
fieldName: null,
fileSizeMin: 1,
fileSizeMax: null, // Official limit is 100 MB for FileReference, but I tested up to 2Gb!
allowDuplicates: false,
timeLimit: (Browser.Platform.linux) ? 0 : 30,
buttonImage: null,
policyFile: null,
fileListMax: 0,
fileListSizeMax: 0,
instantStart: false,
appendCookieData: false,
fileClass: null
},
initialize: function(options) {
this.addEvent('load', this.initializeSwiff, true)
.addEvent('select', this.processFiles, true)
.addEvent('complete', this.update, true)
.addEvent('fileRemove', function(file) {
this.fileList.erase(file);
}.bind(this), true);
this.setOptions(options);
if (this.options.callBacks) {
Hash.each(this.options.callBacks, function(fn, name) {
this.addEvent(name, fn);
}, this);
}
this.options.callBacks = {
fireCallback: this.fireCallback.bind(this)
};
var path = this.options.path;
if (!path.contains('?')) path += '?noCache=' + $time(); // cache in IE
this.options.container = this.box = new Element('span', {'class': 'swiff-uploader-box'}).inject(document.id(this.options.container) || document.body);
this.target = document.id(this.options.target);
if (this.target) {
var scroll = window.getScroll();
this.box.setStyles({
position: 'absolute',
visibility: 'visible',
zIndex: this.options.zIndex,
overflow: 'hidden',
height: 1, width: 1,
top: scroll.y, left: scroll.x
});
this.parent(path, {
params: {
wMode: 'transparent'
},
height: '100%',
width: '100%'
});
this.target.addEvent('mouseenter', this.reposition.bind(this, []));
this.addEvents({
buttonEnter: this.targetRelay.bind(this, ['mouseenter']),
buttonLeave: this.targetRelay.bind(this, ['mouseleave']),
buttonDown: this.targetRelay.bind(this, ['mousedown']),
buttonDisable: this.targetRelay.bind(this, ['disable'])
});
this.reposition();
window.addEvent('resize', this.reposition.bind(this, []));
} else {
this.parent(path);
}
this.inject(this.box);
this.fileList = [];
this.size = this.uploading = this.bytesLoaded = this.percentLoaded = 0;
if (Browser.Plugins.Flash.version < 9) {
this.fireEvent('fail', ['flash']);
} else {
this.verifyLoad.delay(1000, this);
}
},
verifyLoad: function() {
if (this.loaded) return;
if (!this.object.parentNode) {
this.fireEvent('fail', ['disabled']);
} else if (this.object.style.display == 'none') {
this.fireEvent('fail', ['hidden']);
} else if (!this.object.offsetWidth) {
this.fireEvent('fail', ['empty']);
}
},
fireCallback: function(name, args) {
if (name.substr(0, 4) == 'file') {
if (args.length > 1) this.update(args[1]);
var data = args[0];
var file = this.findFile(data.id);
this.fireEvent(name, file || data, 5);
if (file) {
var fire = name.replace(/^file([A-Z])/, function($0, $1) {
return $1.toLowerCase();
});
file.update(data).fireEvent(fire, [data], 10);
}
} else {
this.fireEvent(name, args, 5);
}
},
update: function(data) {
$extend(this, data);
this.fireEvent('queue', [this], 10);
return this;
},
findFile: function(id) {
for (var i = 0; i < this.fileList.length; i++) {
if (this.fileList[i].id == id) return this.fileList[i];
}
return null;
},
initializeSwiff: function() {
this.remote('initialize', {
width: this.options.width,
height: this.options.height,
typeFilter: this.options.typeFilter,
multiple: this.options.multiple,
queued: this.options.queued,
url: this.options.url,
method: this.options.method,
data: this.options.data,
mergeData: this.options.mergeData,
fieldName: this.options.fieldName,
verbose: this.options.verbose,
fileSizeMin: this.options.fileSizeMin,
fileSizeMax: this.options.fileSizeMax,
allowDuplicates: this.options.allowDuplicates,
timeLimit: this.options.timeLimit,
buttonImage: this.options.buttonImage,
policyFile: this.options.policyFile
});
this.loaded = true;
this.appendCookieData();
},
targetRelay: function(name) {
if (this.target) this.target.fireEvent(name);
},
reposition: function(coords) {
coords = coords || (this.target && this.target.offsetHeight)
? this.target.getCoordinates(this.box.getOffsetParent())
: {top: window.getScrollTop(), left: 0, width: 40, height: 40}
this.box.setStyles(coords);
this.fireEvent('reposition', [coords, this.box, this.target]);
},
setOptions: function(options) {
if (options) {
if (options.url) options.url = Swiff.Uploader.qualifyPath(options.url);
if (options.buttonImage) options.buttonImage = Swiff.Uploader.qualifyPath(options.buttonImage);
this.parent(options);
if (this.loaded) this.remote('setOptions', options);
}
return this;
},
setEnabled: function(status) {
this.remote('setEnabled', status);
},
start: function() {
this.fireEvent('beforeStart');
this.remote('start');
},
stop: function() {
this.fireEvent('beforeStop');
this.remote('stop');
},
remove: function() {
this.fireEvent('beforeRemove');
this.remote('remove');
},
fileStart: function(file) {
this.remote('fileStart', file.id);
},
fileStop: function(file) {
this.remote('fileStop', file.id);
},
fileRemove: function(file) {
this.remote('fileRemove', file.id);
},
fileRequeue: function(file) {
this.remote('fileRequeue', file.id);
},
appendCookieData: function() {
var append = this.options.appendCookieData;
if (!append) return;
var hash = {};
document.cookie.split(/;\s*/).each(function(cookie) {
cookie = cookie.split('=');
if (cookie.length == 2) {
hash[decodeURIComponent(cookie[0])] = decodeURIComponent(cookie[1]);
}
});
var data = this.options.data || {};
if ($type(append) == 'string') data[append] = hash;
else $extend(data, hash);
this.setOptions({data: data});
},
processFiles: function(successraw, failraw, queue) {
var cls = this.options.fileClass || Swiff.Uploader.File;
var fail = [], success = [];
if (successraw) {
successraw.each(function(data) {
var ret = new cls(this, data);
if (!ret.validate()) {
ret.remove.delay(10, ret);
fail.push(ret);
} else {
this.size += data.size;
this.fileList.push(ret);
success.push(ret);
ret.render();
}
}, this);
this.fireEvent('selectSuccess', [success], 10);
}
if (failraw || fail.length) {
fail.extend((failraw) ? failraw.map(function(data) {
return new cls(this, data);
}, this) : []).each(function(file) {
file.invalidate().render();
});
this.fireEvent('selectFail', [fail], 10);
}
this.update(queue);
if (this.options.instantStart && success.length) this.start();
}
});
$extend(Swiff.Uploader, {
STATUS_QUEUED: 0,
STATUS_RUNNING: 1,
STATUS_ERROR: 2,
STATUS_COMPLETE: 3,
STATUS_STOPPED: 4,
log: function() {
if (window.console && console.info) console.info.apply(console, arguments);
},
unitLabels: {
b: [{min: 1, unit: 'B'}, {min: 1024, unit: 'kB'}, {min: 1048576, unit: 'MB'}, {min: 1073741824, unit: 'GB'}],
s: [{min: 1, unit: 's'}, {min: 60, unit: 'm'}, {min: 3600, unit: 'h'}, {min: 86400, unit: 'd'}]
},
formatUnit: function(base, type, join) {
var labels = Swiff.Uploader.unitLabels[(type == 'bps') ? 'b' : type];
var append = (type == 'bps') ? '/s' : '';
var i, l = labels.length, value;
if (base < 1) return '0 ' + labels[0].unit + append;
if (type == 's') {
var units = [];
for (i = l - 1; i >= 0; i--) {
value = Math.floor(base / labels[i].min);
if (value) {
units.push(value + ' ' + labels[i].unit);
base -= value * labels[i].min;
if (!base) break;
}
}
return (join === false) ? units : units.join(join || ', ');
}
for (i = l - 1; i >= 0; i--) {
value = labels[i].min;
if (base >= value) break;
}
return (base / value).toFixed(1) + ' ' + labels[i].unit + append;
}
});
Swiff.Uploader.qualifyPath = (function() {
var anchor;
return function(path) {
(anchor || (anchor = new Element('a'))).href = path;
return anchor.href;
};
})();
Swiff.Uploader.File = new Class({
Implements: Events,
initialize: function(base, data) {
this.base = base;
this.update(data);
},
update: function(data) {
return $extend(this, data);
},
validate: function() {
var options = this.base.options;
if (options.fileListMax && this.base.fileList.length >= options.fileListMax) {
this.validationError = 'fileListMax';
return false;
}
if (options.fileListSizeMax && (this.base.size + this.size) > options.fileListSizeMax) {
this.validationError = 'fileListSizeMax';
return false;
}
return true;
},
invalidate: function() {
this.invalid = true;
this.base.fireEvent('fileInvalid', this, 10);
return this.fireEvent('invalid', this, 10);
},
render: function() {
return this;
},
setOptions: function(options) {
if (options) {
if (options.url) options.url = Swiff.Uploader.qualifyPath(options.url);
this.base.remote('fileSetOptions', this.id, options);
this.options = $merge(this.options, options);
}
return this;
},
start: function() {
this.base.fileStart(this);
return this;
},
stop: function() {
this.base.fileStop(this);
return this;
},
remove: function() {
this.base.fileRemove(this);
return this;
},
requeue: function() {
this.base.fileRequeue(this);
}
});
var NXC = NXC || {};
NXC.DonationWizard = new Class( {
Implements: [Options, Events],
lightbox: false,
container: false,
stepHeadlines: [],
stepContainers: [],
messageStack: false,
donationdID: false,
options: {
'ajaxBaseURL': '/',
'stepHeadlinesCSSPath': 'ul.nxc-collections-donate-steps li',
'stepHeadlineActiveClass': 'active',
'stepContainersCSSPath': 'div.nxc-collections-donate-step-container div.nxc-collections-donate-step',
'stepContainerActiveClass': 'active',
'step1FormID': 'nxcCollectionsDonateStep1Form',
'continueStep1ButtonID': 'nxcCollectionsDonateStep1Continue',
'cancelStep1ButtonID': 'nxcCollectionsDonateStep1Cance',
'continueStep2ButtonID': 'nxcCollectionsDonateStep2Continue',
'cancelStep2ButtonID': 'nxcCollectionsDonateStep2Cance',
'backStep2ButtonID': 'nxcCollectionsDonateStep2Back',
'continueStep3ButtonID': 'nxcCollectionsDonateStep3Continue',
'cancelStep3ButtonID': 'nxcCollectionsDonateStep3Cance',
'collectionInputID': 'nxcCollectionsDonateColectionID',
'collectionsStatisticsBlockID': 'nxcCollectionsStatistics',
'activityStreamBlockID': 'nxcCollectionsActivityStream',
'inputErrorClass': 'error',
'paymentIFrameID': 'nxcCollectionsDonatePaymentIFrame',
'inputElementsBase': 'nxc_collections_donate_',
'messages': {
'step1FormInputErrorHeader': 'Required data is either missing or is invalid',
'donationSuccess': 'Thank you for your donation'
}
},
initialize: function( lightbox, messageStack, options ) {
this.setOptions( options );
this.lightbox       = lightbox;
this.container      = this.lightbox.contentBlock;
this.stepHeadlines  = this.container.getElements( this.options.stepHeadlinesCSSPath );
this.stepContainers = this.container.getElements( this.options.stepContainersCSSPath );
this.messageStack   = messageStack;
this.installStep1Events();
this.installStep2Events();
this.installStep3Events();
},
installStep1Events: function() {
var step1Form = document.id( this.options.step1FormID );
step1Form.addEvent( 'click', function ( e ) { e.stop(); } );
var inputs = step1Form.getElements( 'input[type=text]' );
inputs.each( function( inputElement ) {
inputElement.addEvent( 'focus', function( e ) {
inputElement.removeClass( this.options.inputErrorClass );
}.bind( this ) );
}, this );
document.id( this.options.continueStep1ButtonID ).addEvent( 'click', function ( e ) {
e.stop();
var ajaxURL = ( this.donationdID === false ) ? 'create' : 'edit/' + this.donationdID;
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/donation/' + ajaxURL,
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
response.set( 'errors', new Hash( response.get( 'errors' ) ) );
if( response.get( 'status', 0 ).toInt() === 1 ) {
this.donationdID = response.get( 'donation_id' );
this.setActiveStep( 2 );
var paymentIFrame = new IFrame( this.options.paymentIFrameID, {
src: this.options.ajaxBaseURL + '/donation/redirect_to_netaxept/' + this.donationdID
} );
} else {
var errorMessage = '';
response.get( 'errors' ).each( function( message, elementName ) {
errorMessage += '<li>' + message + '</li>';
var name = this.options.inputElementsBase + elementName;
inputs.each( function( el ) {
if( el.get( 'name' ) === name ) {
el.addClass( this.options.inputErrorClass );
}
}, this );
}.bind( this ) );
this.messageStack.stackBlock.empty();
errorMessage = this.options.messages.step1FormInputErrorHeader + '<ul>' + errorMessage + '</ul>';
this.messageStack.showMessage( errorMessage, 'error' );
}
}.bind( this )
} ).send( step1Form.toQueryString() );
}.bind( this ) );
document.id( this.options.cancelStep1ButtonID ).addEvent( 'click', function ( e ) {
e.stop();
this.emptyFormInputs();
this.lightbox.close();
}.bind( this ) );
},
installStep2Events: function() {
document.id( this.options.backStep2ButtonID ).addEvent( 'click', function ( e ) {
this.setActiveStep( 1 );
}.bind( this ) );
document.id( this.options.cancelStep2ButtonID ).addEvent( 'click', function ( e ) {
e.stop();
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/donation/cancel/' + this.donationdID,
'method'   : 'post',
'onSuccess': this.cancel.bind( this )
} ).send();
}.bind( this ) );
},
installStep3Events: function() {
document.id( this.options.continueStep3ButtonID ).addEvent( 'click', function ( e ) {
e.stop();
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/donation/confirm/' + this.donationdID,
'method'   : 'post',
'onSuccess': function( response ) {
if( response.status.toInt() === 1 ) {
var statisticsBlock = document.id( this.options.collectionsStatisticsBlockID );
if( $type( statisticsBlock ) == 'element' ) {
var collectionID    = document.id( this.options.collectionInputID ).get( 'value' );
new Request.HTML( {
'url': this.options.ajaxBaseURL + '/dashboard/get_collection_statistics/' + collectionID,
'update': statisticsBlock
} ).send();
}
var activityStreamBlock = document.id( this.options.activityStreamBlockID );
if( $type( activityStreamBlock ) == 'element' ) {
var collectionID    = document.id( this.options.collectionInputID ).get( 'value' );
new Request.HTML( {
'url': this.options.ajaxBaseURL + '/dashboard/get_activity_messages/' + collectionID,
'update': activityStreamBlock
} ).send();
}
this.messageStack.showMessage( this.options.messages.donationSuccess, 'notice' );
} else {
this.messageStack.showMessage( response.error, 'error' );
}
this.cancel();
}.bind( this )
} ).send();
}.bind( this ) );
document.id( this.options.cancelStep3ButtonID ).addEvent( 'click', function ( e ) {
e.stop();
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/donation/cancel/' + this.donationdID,
'method'   : 'post',
'onSuccess': this.cancel.bind( this )
} ).send();
}.bind( this ) );
},
cancel: function() {
this.donationdID = false;
this.setActiveStep( 1 );
this.emptyFormInputs();
this.lightbox.close();
},
setActiveStep: function( stepIndex ) {
this.stepHeadlines.removeClass( this.options.stepHeadlineActiveClass );
this.stepHeadlines[ stepIndex - 1 ].addClass( this.options.stepHeadlineActiveClass );
this.stepContainers.removeClass( this.options.stepContainerActiveClass );
this.stepContainers[ stepIndex - 1 ].addClass( this.options.stepContainerActiveClass );
},
emptyFormInputs: function() {
var inputs = document.id( this.options.step1FormID ).getElements( 'input[type=text]' );
inputs.each( function( el ) {
el.removeClass( this.options.inputErrorClass );
el.set( 'value', '' );
}, this );
}
} );
var NXC = NXC || {};
NXC.CollectionsCreateWiard = new Class( {
Implements: [Options, Events],
options: {
'ajaxBaseURL': 'php/ajax/',
'stepHeadlinesCSSPath': 'ul.nxc-collections-create-wizard-steps li',
'stepHeadlineActiveClass': 'active',
'stepContainersCSSPath': 'div.nxc-collections-create-wizard-step-container div.nxc-collections-wizard-step',
'stepContainerActiveClass': 'active',
'step1UploadImageLinkID': 'nxcCollectionCreateWizardUploadImage',
'step1UploadImageContainerID': 'nxcCollectionCreateWizardImageContainer',
'step1ImageUploadProgressBarID': 'nxc-progress-bar-wrapper',
'step1ImageUploadInputField': 'nxcCollectionCreateWizardImage',
'step1FormID': 'nxcCollectionCreateWizardStep1Form',
'step1ContinueButtonID': 'nxcCollectionCreateWizardStep1Continue',
'step1CancelButtonID': 'nxcCollectionCreateWizardStep1Cancel',
'swiffPath': './flash/Swiff.Uploader.swf',
'uploadPHPScript': './php/upload.php',
'uploadImageMaxSize': 10 * 1024 * 1024,
'uploadImagesStorage': './var/storage/collection_icons/',
'step2FormID': 'nxcCollectionCreateWizardStep2Form',
'step2ContinueButtonID': 'nxcCollectionCreateWizardStep2Continue',
'step2CancelButtonID': 'nxcCollectionCreateWizardStep2Cancel',
'step2TypeInputID': 'nxcCollectionCreateWizardType',
'publicTypeLinkID': 'nxcCollectionCreateWizardTypePublic',
'privateTypeLinkID': 'nxcCollectionCreateWizardTypePrivate',
'selectedTypeClass': 'selected-type',
'step3FormID': 'nxcCollectionCreateWizardStep3Form',
'step3ContinueButtonID': 'nxcCollectionCreateWizardStep3Continue',
'step3CancelButtonID': 'nxcCollectionCreateWizardStep3Cancel',
'step4ContinueButtonID': 'nxcCollectionCreateWizardStep4Continue',
'step4CancelButtonID': 'nxcCollectionCreateWizardStep4Cancel',
'inputErrorClass': 'error',
'inputElementsBase': 'nxc_collections_wizard_',
'filterBlockID': 'nxcCollectionsFilter',
'messages': {
'formInputErrorHeader': 'Required data is either missing or is invalid'
}
},
lightbox: false,
container: false,
messageStack: false,
stepHeadlines: [],
stepContainers: [],
collectionID: false,
step1: {
'imageUploader': false,
'imageUploadLink': false,
'imageUploadContainer': false,
'imageUploadProgressBar': false,
'imageInputField': false,
'continueButton': false,
'cancelButton': false,
'form': false,
'inputs': []
},
step2: {
'typeSelected': false,
'continueButton': false,
'cancelButton': false,
'publicTypeLink': false,
'privateTypeLink': false,
'form': false,
'typeInput': false,
'selectedTypeClass': false
},
step3: {
'continueButton': false,
'cancelButton': false,
'form': false,
'inputs': []
},
step4: {
'continueButton': false,
'cancelButton': false
},
initialize: function( lightbox, messageStack, options ) {
this.setOptions( options );
this.lightbox       = lightbox;
this.container      = this.lightbox.contentBlock;
this.stepHeadlines  = this.container.getElements( this.options.stepHeadlinesCSSPath );
this.stepContainers = this.container.getElements( this.options.stepContainersCSSPath );
this.messageStack = messageStack;
this.installStep1();
this.installStep2();
this.installStep3();
this.installStep4();
},
installStep1: function() {
this.step1.imageUploadLink        = document.id( this.options.step1UploadImageLinkID );
this.step1.imageUploadContainer   = document.id( this.options.step1UploadImageContainerID );
this.step1.imageInputField        = document.id( this.options.step1ImageUploadInputField );
this.step1.continueButton         = document.id( this.options.step1ContinueButtonID );
this.step1.form                   = document.id( this.options.step1FormID );
this.step1.cancelButton           = document.id( this.options.step1CancelButtonID );
this.step1.imageUploadProgressBar = new NXC.ProgressBar( this.options.step1ImageUploadProgressBarID );
this.step1.inputs                 = this.step1.form.getElements( 'input, textarea' );
this.step1.imageUploader = new Swiff.Uploader( {
path: this.options.swiffPath,
url: this.options.uploadPHPScript,
target: this.step1.imageUploadLink,
verbose: false,
queued: false,
multiple: false,
instantStart: true,
appendCookieData: true,
typeFilter: {
'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'
},
fileSizeMax: this.options.uploadImageMaxSize,
onSelectSuccess: function( files ) {
this.setEnabled( false );
},
onSelectFail: function( files ) {
var msg =
files[0].name + ' was not added!<br/>' +
'Please select an image smaller than 10 Mb.<br/>' +
'(Error: #' + files[0].validationError + ')';
this.messageStack.showMessage( msg, 'error' );
}.bind( this ),
onFileStart: function() {
this.step1.imageUploadContainer.setStyle( 'display', 'none' );
this.step1.imageUploadProgressBar.wrapper.setStyle( 'display', 'block' );
}.bind( this ),
onFileProgress: function() {
if( this.step1.imageUploader.uploading == true ) {
this.step1.imageUploadProgressBar.progress( this.step1.imageUploader.percentLoaded );
}
}.bind( this ),
onFileComplete: function( file ) {
if( file.response.error ) {
var msg =
'Failed Upload<br/>' +
'Uploading ' +  file.name + 'failed, please try again.<br/>' +
'(Error: #' + file.response.code + ' ' + file.response.error + ')';
this.messageStack.showMessage( msg, 'error' );
} else {
var jsonResponse = new Hash( JSON.decode( file.response.text, true ) || {} );
if( jsonResponse.error ) {
var msg =
'Failed Upload <br/>' +
'Uploading ' +  file.name + ' failed, please try again.<br/>' +
'(Error: ' + jsonResponse.error + ')';
this.messageStack.showMessage( msg, 'error' );
} else {
this.step1.imageUploadContainer.set( 'src', this.options.uploadImagesStorage + jsonResponse.name );
this.step1.imageUploadContainer.setStyle( 'display', 'block' );
this.step1.imageInputField.set( 'value', jsonResponse.name );
}
}
file.remove();
this.step1.imageUploadProgressBar.wrapper.setStyle( 'display', 'none' );
this.step1.imageUploadProgressBar.progress( 1, false );
this.step1.imageUploader.setEnabled( true );
}.bind( this )
} );
this.step1.imageUploader.box.setStyle( 'display', 'none' );
this.step1.imageUploadLink.addEvents( {
click: function( e ) { e.stop(); },
mouseenter: function() {
this.step1.imageUploader.reposition();
}.bind( this )
} );
this.step1.continueButton.addEvent( 'click', function() {
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/collection/create',
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
response.set( 'errors', new Hash( response.get( 'errors' ) ) );
if( response.get( 'status', 0 ).toInt() === 1 ) {
this.collectionID = response.get( 'collection_id' );
this.setActiveStep( 2 );
} else {
this.step1.inputs.removeClass( this.options.inputErrorClass );
var errorMessage = '';
response.get( 'errors' ).each( function( message, elementName ) {
errorMessage += '<li>' + message + '</li>';
var name = this.options.inputElementsBase + elementName;
this.step1.inputs.each( function( el ) {
if( el.get( 'name' ) === name ) {
el.addClass( this.options.inputErrorClass );
}
}, this );
}.bind( this ) );
this.messageStack.stackBlock.empty();
errorMessage = this.options.messages.formInputErrorHeader + '<ul>' + errorMessage + '</ul>';
this.messageStack.showMessage( errorMessage, 'error' );
}
}.bind( this )
} ).send( this.step1.form.toQueryString() );
}.bind( this ) );
this.step1.inputs.each( function( el ) {
el.addEvent( 'focus', function( e ) {
el.removeClass( this.options.inputErrorClass );
}.bind( this ) );
}.bind( this ) );
this.step1.cancelButton.addEvent( 'click', this.cancel.bind( this, false ) );
},
installStep2: function() {
this.step2.continueButton    = document.id( this.options.step2ContinueButtonID );
this.step2.cancelButton      = document.id( this.options.step2CancelButtonID );
this.step2.publicTypeLink    = document.id( this.options.publicTypeLinkID );
this.step2.privateTypeLink   = document.id( this.options.privateTypeLinkID );
this.step2.form              = document.id( this.options.step2FormID );
this.step2.typeInput         = document.id( this.options.step2TypeInputID );
this.step2.selectedTypeClass = this.options.selectedTypeClass;
this.step2.publicTypeLink.addEvent( 'click', function( e ) {
e.stop();
this.step2.typeInput.set( 'value', '1' );
this.step2.privateTypeLink.removeClass( this.step2.selectedTypeClass );
this.step2.publicTypeLink.addClass( this.step2.selectedTypeClass );
}.bind( this ) );
this.step2.privateTypeLink.addEvent( 'click', function( e ) {
e.stop();
this.step2.typeInput.set( 'value', '2' );
this.step2.publicTypeLink.removeClass( this.step2.selectedTypeClass );
this.step2.privateTypeLink.addClass( this.step2.selectedTypeClass );
}.bind( this ) );
this.step2.continueButton.addEvent( 'click', function() {
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/collection/update_type/' + this.collectionID,
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
if( response.get( 'status', 0 ).toInt() === 1 ) {
this.setActiveStep( 3 );
} else {
this.messageStack.stackBlock.empty();
errorMessage = this.options.messages.formInputErrorHeader + '<ul><li>' + response.get( 'error' ) + '</li></ul>';
this.messageStack.showMessage( errorMessage, 'error' );
}
}.bind( this )
} ).send( this.step2.form.toQueryString() );
}.bind( this ) );
this.step2.cancelButton.addEvent( 'click', this.cancel.bind( this ) );
},
installStep3: function() {
this.step3.continueButton = document.id( this.options.step3ContinueButtonID );
this.step3.cancelButton   = document.id( this.options.step3CancelButtonID );
this.step3.form           = document.id( this.options.step3FormID );
this.step3.inputs         = this.step3.form.getElements( 'input' );
this.step3.continueButton.addEvent( 'click', function() {
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/collection/update_goal/' + this.collectionID,
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
response.set( 'errors', new Hash( response.get( 'errors' ) ) );
if( response.get( 'status', 0 ).toInt() === 1 ) {
this.setActiveStep( 4 );
} else {
this.step3.inputs.removeClass( this.options.inputErrorClass );
var errorMessage = '';
response.get( 'errors' ).each( function( message, elementName ) {
errorMessage += '<li>' + message + '</li>';
var name = this.options.inputElementsBase + elementName;
this.step3.inputs.each( function( el ) {
if( el.get( 'name' ) === name ) {
el.addClass( this.options.inputErrorClass );
}
}, this );
}.bind( this ) );
this.messageStack.stackBlock.empty();
errorMessage = this.options.messages.formInputErrorHeader + '<ul>' + errorMessage + '</ul>';
this.messageStack.showMessage( errorMessage, 'error' );
}
}.bind( this )
} ).send( this.step3.form.toQueryString() );
}.bind( this ) );
this.step3.inputs.each( function( el ) {
el.addEvent( 'focus', function( e ) {
el.removeClass( this.options.inputErrorClass );
}.bind( this ) );
}.bind( this ) );
this.step3.cancelButton.addEvent( 'click', this.cancel.bind( this ) );
},
installStep4: function() {
this.step4.continueButton         = document.id( this.options.step4ContinueButtonID );
this.step4.cancelButton           = document.id( this.options.step4CancelButtonID );
this.step4.continueButton.addEvent( 'click', function() {
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/collection/confirm/' + this.collectionID,
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
if( response.get( 'status', 0 ).toInt() === 1 ) {
var filterBlock = document.id( this.options.filterBlockID );
if( $type( filterBlock ) == 'element' ) {
new Request.HTML( {
'url': this.options.ajaxBaseURL + '/dashboard/get_filter',
'update': filterBlock
} ).send();
}
this.messageStack.showMessage( response.get( 'notifyMessage' ), 'notice' );
this.cancel( false );
} else {
this.messageStack.stackBlock.empty();
this.messageStack.showMessage( response.get( 'error' ), 'error' );
}
}.bind( this )
} ).send();
}.bind( this ) );
this.step4.cancelButton.addEvent( 'click', this.cancel.bind( this ) );
},
setActiveStep: function( stepIndex ) {
this.step1.imageUploader.box.setStyle( 'display', ( stepIndex == 1 ) ? 'block' : 'none' );
this.stepHeadlines.removeClass( this.options.stepHeadlineActiveClass );
this.stepHeadlines[ stepIndex - 1 ].addClass( this.options.stepHeadlineActiveClass );
this.stepContainers.removeClass( this.options.stepContainerActiveClass );
this.stepContainers[ stepIndex - 1 ].addClass( this.options.stepContainerActiveClass );
},
cancel: function( sendAJAXReuqest ) {
if( sendAJAXReuqest === undefined ) {
sendAJAXReuqest = true;
}
if( this.collectionID !== false && sendAJAXReuqest === true ) {
new Request.JSON( {
'url'      : this.options.ajaxBaseURL + '/collection/cancel/' + this.collectionID,
'method'   : 'post',
'onSuccess': function( response ) {}.bind( this )
} ).send();
}
this.step1.imageUploader.box.setStyle( 'display', 'none' );
this.collectionID = false;
this.step1.form.reset();
this.step1.imageUploadContainer.setStyle( 'display', 'none' );
this.step1.imageInputField.set( 'value', '' );
this.step3.form.reset();
this.step2.typeSelected = false;
this.setActiveStep( 1 );
this.lightbox.close();
}
} );
var NXC = NXC || {};
NXC.PublishActivityMessage = new Class( {
Implements: [Options, Events],
container: false,
messageStack: false,
collectionID: 0,
form: false,
inputs: [],
messageContentInput: false,
publisButton: false,
activityStreamBlock: false,
facebookCheckbox: false,
options: {
'ajaxBaseURL': '/',
'publishOnlyOnce': true,
'formID': 'nxcPublishActivityMessageForm',
'messageContentInputID': 'nxcPublishActivityMessageContent',
'publisButtonID': 'nxcPublishActivityMessagePublish',
'activityStreamBlockID': 'nxcCollectionsActivityStream',
'facebookCheckboxID': 'nxcPublishActivityMessagePublishToFacebook',
'inputErrorClass': 'error',
'inputElementsBase': 'nxc_collections_donate_',
'messages': {
'errorHeader': 'Required data is either missing or is invalid',
'publishSuccess': 'Activity message published'
}
},
initialize: function( containerID, collectionID, messageStack, options ) {
this.setOptions( options );
this.container    = document.id( containerID );
this.collectionID = collectionID;
this.messageStack = messageStack;
this.form                = document.id( this.options.formID );
this.inputs              = this.form.getElements( 'input, textarea' );
this.messageContentInput = document.id( this.options.messageContentInputID );
this.publisButton        = document.id( this.options.publisButtonID );
this.activityStreamBlock = document.id( this.options.activityStreamBlockID );
this.facebookCheckbox    = document.id( this.options.facebookCheckboxID );
this.installEvents();
},
installEvents: function() {
this.publisButton.addEvent( 'click', function( e ) {
new Request.JSON( {
'url'      : this.form.get( 'action' ),
'method'   : 'post',
'onSuccess': function( response ) {
var response = new Hash( response );
response.set( 'errors', new Hash( response.get( 'errors' ) ) );
if( response.get( 'status', 0 ).toInt() === 1 ) {
this.messageStack.showMessage( this.options.messages.publishSuccess, 'notice' );
var messageContent = this.messageContentInput.get( 'value' );
if( this.options.publishOnlyOnce === true ) {
this.container.setStyle( 'display', 'none' );
} else {
this.messageContentInput.set( 'value', '' );
}
new Request.HTML( {
'url': this.options.ajaxBaseURL + '/dashboard/get_activity_messages/' + this.collectionID,
'update': this.activityStreamBlock
} ).send();
if( this.facebookCheckbox.get( 'checked' ) ) {
window.facebookHandler.publishActivity( messageContent );
}
} else {
this.inputs.removeClass( this.options.inputErrorClass );
var errorMessage = '';
response.get( 'errors' ).each( function( message, elementName ) {
errorMessage += '<li>' + message + '</li>';
var name = this.options.inputElementsBase + elementName;
this.inputs.each( function( el ) {
if( el.get( 'name' ) === name ) {
el.addClass( this.options.inputErrorClass );
}
}.bind( this ) );
}.bind( this ) );
this.messageStack.stackBlock.empty();
errorMessage = this.options.messages.errorHeader + '<ul>' + errorMessage + '</ul>';
this.messageStack.showMessage( errorMessage, this.options.inputErrorClass );
}
}.bind( this )
} ).send( this.form.toQueryString() );
}.bind( this ) );
this.messageContentInput.addEvent( 'focus', function() {
this.messageContentInput.removeClass( this.options.inputErrorClass );
}.bind( this ) );
}
} );
formcheckLanguage = {
required: "This field is required.",
alpha: "This field accepts alphabetic characters only.",
alphanum: "This field accepts alphanumeric characters only.",
nodigit: "No digits are accepted.",
digit: "Please enter a valid integer.",
digitmin: "The number must be at least %0",
digitltd: "The value must be between %0 and %1",
number: "Please enter a valid number.",
email: "Please enter a valid email: <br /><span>E.g. yourname@domain.com</span>",
image : 'This field should only contain image types',
phone: "Please enter a valid phone.",
url: "Please enter a valid url: <br /><span>E.g. http://www.domain.com</span>",
confirm: "This field is different from %0",
differs: "This value must be different of %0",
length_str: "The length is incorrect, it must be between %0 and %1",
length_fix: "The length is incorrect, it must be exactly %0 characters",
lengthmax: "The length is incorrect, it must be at max %0",
lengthmin: "The length is incorrect, it must be at least %0",
words_min : "This field must concain at least %0 words, currently: %1 words",
words_range : "This field must contain %0-%1 words, currently: %2 words",
words_max : "This field must contain at max %0 words, currently: %1 words",
checkbox: "Please check the box",
radios: "Please select a radio",
select: "Please choose a value"
}
var FormCheck = new Class({
Implements: [Options, Events],
options : {
tipsClass : 'fc-tbx',				//tips error class
errorClass : 'fc-error',			//div error class
fieldErrorClass : 'fc-field-error',	//error class for elements
submit : true,						//false : just validate the form and do nothing else. Use onValidateSuccess event to execute some code
trimValue : false,					//trim (remove whitespaces before and after) the value
validateDisabled : false,			//skip validation on disabled input if set to false.
submitByAjax : false,				//false : standard submit way, true : submit by ajax
ajaxResponseDiv : false,			//element to inject ajax response into (can also use onAjaxSuccess) [cronix]
ajaxEvalScripts : false,			//use evalScripts in the Request response [cronix]
onAjaxRequest : $empty,				//Function to fire when the Request event starts
onAjaxSuccess : $empty,				//Function to fire when the Request receives .  Args: response [the request response] - see Mootools docs for Request.onSuccess
onAjaxFailure : $empty,				//Function to fire if the Request fails
onSubmit		  : $empty,			//Function to fire when user submit the form
onValidateSuccess : $empty,			//Function to fire when validation pass
onValidateFailure : $empty,			//Function to fire when validation fails
display : {
showErrors : 0,
titlesInsteadNames : 0,
errorsLocation : 1,
indicateErrors : 1,
indicateErrorsInit : 0,
keepFocusOnError : 0,
checkValueIfEmpty : 1,
addClassErrorToField : 0,
removeClassErrorOnTipClosure : 0,
fixPngForIe : 1,
replaceTipsEffect : 1,
flashTips : 0,
closeTipsButton : 1,
tipsPosition : "right",
tipsOffsetX : -45,
tipsOffsetY : 0,
listErrorsAtTop : false,
scrollToFirst : true,
fadeDuration : 300
},
alerts : {
required : "This field is required.",
alpha : "This field accepts alphabetic characters only.",
alphanum : "This field accepts alphanumeric characters only.",
nodigit : "No digits are accepted.",
digit : "Please enter a valid integer.",
digitltd : "The value must be between %0 and %1",
number : "Please enter a valid number.",
email : "Please enter a valid email.",
image : 'This field should only contain image types',
phone : "Please enter a valid phone.",
phone_inter : "Please enter a valid international phone number.",
url : "Please enter a valid url.",
confirm : "This field is different from %0",
differs : "This value must be different of %0",
length_str : "The length is incorrect, it must be between %0 and %1",
length_fix : "The length is incorrect, it must be exactly %0 characters",
lengthmax : "The length is incorrect, it must be at max %0",
lengthmin : "The length is incorrect, it must be at least %0",
words_min : "This field must concain at least %0 words, currently: %1 words",
words_range : "This field must contain %0-%1 words, currently: %2 words",
words_max : "This field must contain at max %0 words, currently: %1 words",
checkbox : "Please check the box",
radios : "Please select a radio",
select : "Please choose a value"
},
regexp : {
required : /[^.*]/,
alpha : /^[a-z ._-]+$/i,
alphanum : /^[a-z0-9 ._-]+$/i,
digit : /^[-+]?[0-9]+$/,
nodigit : /^[^0-9]+$/,
number : /^[-+]?\d*\.?\d+$/,
email : /^([a-zA-Z0-9_\.\-\+%])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
image : /.(jpg|jpeg|png|gif|bmp)$/i,
phone : /^[\d\s ().-]+$/, // alternate regex : /^[\d\s ().-]+$/,/^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
phone_inter : /^\+{0,1}[0-9 \(\)\.\-]+$/,
url : /^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i
}
},
initialize : function(form, options) {
if (this.form = $(form)) {
this.form.isValid = true;
this.regex = ['length'];
this.setOptions(options);
if (typeof(formcheckLanguage) != 'undefined') this.options.alerts = $merge(this.options.alerts, formcheckLanguage);
this.validations = [];
this.alreadyIndicated = false;
this.firstError = false;
var regex = new Hash(this.options.regexp);
regex.each(function(el, key) {
this.regex.push(key);
}, this);
this.form.getElements("*[class*=validate]").each(function(el) {
if (el.get('tag') == 'select' || el.get('tag') == 'input' || el.get('tag') == 'textarea') this.register(el);
}, this);
this.form.addEvents({
"submit": this.onSubmit.bind(this)
});
if(this.options.display.fixPngForIe) this.fixIeStuffs();
document.addEvent('mousewheel', function(){
this.isScrolling = false;
}.bind(this));
}
},
register : function(el, position) {
el.validation = [];
el.getProperty("class").split(' ').each(function(classX) {
if(classX.match(/^validate(\[.+\])$/)) {
var valid = true;
if (el.type == "radio") {
this.validations.each(function(valider){
if (valider.name == el.name) valid = false;
}, this)
}
var validators = eval(classX.match(/^validate(\[.+\])$/)[1]);
for(var i = 0; i < validators.length; i++) {
el.validation.push(validators[i]);
if (validators[i].match(/^confirm\[/)) {
var field = eval(validators[i].match(/^.+(\[.+\])$/)[1].replace(/([A-Z0-9\._-]+)/i, "'$1'"));
if (this.form[field].validation.contains('required')){
el.validation.push('required');
}
}
if(validators[i].match(/^target:.+/)) {
el.target = validators[i].match(/^target:(.+)/)[1];
}
}
if (position && position <= this.validations.length) {
var newValidations = [];
this.validations.each(function(valider, i){
if (position == i+1 && valid) {
newValidations.push(el);
this.addListener(el);
}
newValidations.push(valider);
}, this);
this.validations = newValidations;
} else {
if (valid) {
this.validations.push(el);
this.addListener(el);
}
}
}
}, this);
},
dispose : function(element) {
this.validations.erase(element);
},
addListener : function(el) {
el.errors = [];
if (this.options.display.indicateErrorsInit) {
this.validations.each(function(el) {
if(!this.manageError(el,'submit')) this.form.isValid = false;
}, this);
return true;
}
if (el.validation[0] == 'submit') {
el.addEvent('click', function(e){
if (this.onSubmit(e)) this.form.submit();
}.bind(this));
return true;
}
if (this.isChildType(el) == false) el.addEvent('blur', function() {
(function(){
if(!this.fxRunning && (el.element || this.options.display.showErrors == 1) && (this.options.display.checkValueIfEmpty || el.value))
this.manageError(el, 'blur')
}.bind(this)).delay(100);
}.bind(this))
else if (this.isChildType(el) == true) {
var nlButtonGroup = this.form.getElements('input[name="'+ el.getProperty("name") +'"]');
nlButtonGroup.each(function(radio){
radio.addEvent('blur', function(){
(function(){
if((el.element || this.options.display.showErrors == 1) && (this.options.display.checkValueIfEmpty || el.value)) this.manageError(el, 'click');
}.bind(this)).delay(100);
}.bind(this))
},this);
}
},
validate : function(el) {
el.errors = [];
el.isOk = true;
if (!this.options.validateDisabled && el.get('disabled')) return true;
if (this.options.trimValue && el.value) el.value = el.value.trim();
el.validation.each(function(rule) {
if(this.isChildType(el)) {
if (this.validateGroup(el) == false) {
el.isOk = false;
}
} else {
var ruleArgs = [];
if(rule.match(/target:.+/)) return;
if(rule.match(/^.+\[/)) {
var ruleMethod = rule.split('[')[0];
ruleArgs = eval(rule.match(/^.+(\[.+\])$/)[1].replace(/([A-Z0-9\._-]+)/i, "'$1'"));
} else var ruleMethod = rule;
if (this.regex.contains(ruleMethod) && el.get('tag') != "select") {
if (this.validateRegex(el, ruleMethod, ruleArgs) == false) {
el.isOk = false;
}
}
if (ruleMethod == 'confirm') {
if (this.validateConfirm(el, ruleArgs) == false) {
el.isOk = false;
}
}
if (ruleMethod == 'differs') {
if (this.validateDiffers(el, ruleArgs) == false) {
el.isOk = false;
}
}
if (ruleMethod == 'words') {
if (this.validateWords(el, ruleArgs) == false) {
el.isOk = false;
}
}
if (el.get('tag') == "select" || (el.type == "checkbox" && ruleMethod == 'required')) {
if (this.simpleValidate(el) == false) {
el.isOk = false;
}
}
if(rule.match(/%[A-Z0-9\._-]+$/i) || (el.isOk && rule.match(/~[A-Z0-9\._-]+$/i))) {
if(eval(rule.slice(1)+'(el)') == false) {
el.isOk = false;
}
}
}
}, this);
if (el.isOk) return true;
else return false;
},
simpleValidate : function(el) {
if (el.get('tag') == 'select' && el.selectedIndex <= 0) {
el.errors.push(this.options.alerts.select);
return false;
} else if (el.type == "checkbox" && el.checked == false) {
el.errors.push(this.options.alerts.checkbox);
return false;
}
return true;
},
validateRegex : function(el, ruleMethod, ruleArgs) {
var msg = "";
if (ruleArgs[1] && ruleMethod == 'length') {
if (ruleArgs[1] == -1) {
this.options.regexp.length = new RegExp("^[\\s\\S]{"+ ruleArgs[0] +",}$");
msg = this.options.alerts.lengthmin.replace("%0",ruleArgs[0]);
} else if(ruleArgs[0] == ruleArgs[1]) {
this.options.regexp.length = new RegExp("^[\\s\\S]{"+ ruleArgs[0] +"}$");
msg = this.options.alerts.length_fix.replace("%0",ruleArgs[0]);
} else {
this.options.regexp.length = new RegExp("^[\\s\\S]{"+ ruleArgs[0] +","+ ruleArgs[1] +"}$");
msg = this.options.alerts.length_str.replace("%0",ruleArgs[0]).replace("%1",ruleArgs[1]);
}
} else if (ruleArgs[0] && ruleMethod == 'length') {
this.options.regexp.length = new RegExp("^.{0,"+ ruleArgs[0] +"}$");
msg = this.options.alerts.lengthmax.replace("%0",ruleArgs[0]);
} else {
msg = this.options.alerts[ruleMethod];
}
if (ruleArgs[1] && ruleMethod == 'digit') {
var regres = true;
if (!this.options.regexp.digit.test(el.value)) {
el.errors.push(this.options.alerts[ruleMethod]);
regres = false;
}
if (ruleArgs[1] == -1) {
var valueres = ( el.value.toInt() >= ruleArgs[0].toInt() );
msg = this.options.alerts.digitmin.replace("%0",ruleArgs[0]);
} else {
var valueres = ( el.value.toInt() >= ruleArgs[0].toInt() && el.value.toInt() <= ruleArgs[1].toInt() );
msg = this.options.alerts.digitltd.replace("%0",ruleArgs[0]).replace("%1",ruleArgs[1]);
}
if (regres == false || valueres == false) {
el.errors.push(msg);
return false;
}
} else if (this.options.regexp[ruleMethod].test(el.value) == false)  {
el.errors.push(msg);
return false;
}
return true;
},
validateConfirm: function(el,ruleArgs) {
var confirm = ruleArgs[0];
if(el.value != this.form[confirm].value){
if (this.options.display.titlesInsteadNames)
var msg = this.options.alerts.confirm.replace("%0",this.form[confirm].getProperty('title'));
else
var msg = this.options.alerts.confirm.replace("%0",confirm);
el.errors.push(msg);
return false;
}
return true;
},
validateDiffers: function(el,ruleArgs) {
var differs = ruleArgs[0];
if(el.value == this.form[differs].value){
if (this.options.display.titlesInsteadNames)
var msg = this.options.alerts.differs.replace("%0",this.form[differs].getProperty('title'));
else
var msg = this.options.alerts.differs.replace("%0",differs);
el.errors.push(msg);
return false;
}
return true;
},
validateWords: function(el,ruleArgs) {
var min = ruleArgs[0];
var max = ruleArgs[1];
var words = el.value.replace(/[ \t\v\n\r\f\p]/m, ' ').replace(/[,.;:]/g, ' ').clean().split(' ');
if(max == -1) {
if(words.length < min) {
el.errors.push(this.options.alerts.words_min.replace("%0", min).replace("%1", words.length));
return false;
}
} else {
if(min > 0)	{
if(words.length < min || words.length > max) {
el.errors.push(this.options.alerts.words_range.replace("%0", min).replace("%1", max).replace("%2", words.length));
return false;
}
} else {
if(words.length > max) {
el.errors.push(this.options.alerts.words_max.replace("%0", max).replace("%1", words.length));
return false;
}
}
}
return true;
},
isFormValid: function() {
this.form.isValid = true;
this.validations.each(function(el) {
var validation = this.manageError(el,'testonly');
if(!validation) this.form.isValid = false;
}, this);
return this.form.isValid;
},
isChildType: function(el) {
return ($defined(el.type) && el.type == 'radio') ? true : false;
},
validateGroup : function(el) {
el.errors = [];
var nlButtonGroup = this.form[el.getProperty("name")];
el.group = nlButtonGroup;
var cbCheckeds = false;
for(var i = 0; i < nlButtonGroup.length; i++) {
if(nlButtonGroup[i].checked) {
cbCheckeds = true;
}
}
if(cbCheckeds == false) {
el.errors.push(this.options.alerts.radios);
return false;
} else {
return true;
}
},
listErrorsAtTop : function(obj) {
if(!this.form.element) {
this.form.element = new Element('div', {'id' : 'errorlist', 'class' : this.options.errorClass}).injectTop(this.form);
}
if ($type(obj) == 'collection') {
new Element('p').set('html',"<span>" + obj[0].name + " : </span>" + obj[0].errors[0]).injectInside(this.form.element);
} else {
if ((obj.validation.contains('required') && obj.errors.length > 0) || (obj.errors.length > 0 && obj.value && obj.validation.contains('required') == false)) {
obj.errors.each(function(error) {
new Element('p').set('html',"<span>" + obj.name + " : </span>" + error).injectInside(this.form.element);
}, this);
}
}
window.fireEvent('resize');
},
manageError : function(el, method) {
var isValid = this.validate(el);
if (method == 'testonly') return isValid;
if ((!isValid && el.validation.flatten()[0].contains('confirm[')) || (!isValid && el.validation.contains('required')) || (!el.validation.contains('required') && el.value && !isValid)) {
if(this.options.display.listErrorsAtTop == true && method == 'submit')
this.listErrorsAtTop(el);
if (this.options.display.indicateErrors == 2 ||this.alreadyIndicated == false || el.name == this.alreadyIndicated.name)
{
if(!this.firstError) this.firstError = el;
this.alreadyIndicated = el;
if (this.options.display.keepFocusOnError && el.name == this.firstError.name) (function(){el.focus()}).delay(20);
this.addError(el);
return false;
}
} else if ((isValid || (!el.validation.contains('required') && !el.value))) {
this.removeError(el);
return true;
}
return true;
},
addError : function(obj) {
var coord = obj.target ? $(obj.target).getCoordinates() : obj.getCoordinates();
if(!obj.element && this.options.display.indicateErrors != 0) {
if (this.options.display.errorsLocation == 1) {
var pos = (this.options.display.tipsPosition == 'left') ? coord.left : coord.right;
var options = {
'opacity' : 0,
'position' : 'absolute',
'float' : 'left',
'left' : pos + this.options.display.tipsOffsetX
}
obj.element = new Element('div', {'class' : this.options.tipsClass, 'styles' : options}).injectInside(document.body);
this.addPositionEvent(obj);
} else if (this.options.display.errorsLocation == 2){
obj.element = new Element('div', {'class' : this.options.errorClass, 'styles' : {'opacity' : 0}}).injectBefore(obj);
} else if (this.options.display.errorsLocation == 3){
obj.element = new Element('div', {'class' : this.options.errorClass, 'styles' : {'opacity' : 0}});
if ($type(obj.group) == 'object' || $type(obj.group) == 'collection')
obj.element.injectAfter(obj.group[obj.group.length-1]);
else
obj.element.injectAfter(obj);
}
}
if (obj.element && obj.element != true) {
obj.element.empty();
if (this.options.display.errorsLocation == 1) {
var errors = [];
obj.errors.each(function(error) {
errors.push(new Element('p').set('html', error));
});
var tips = this.makeTips(errors).injectInside(obj.element);
if(this.options.display.closeTipsButton) {
tips.getElements('a.close').addEvent('mouseup', function(){
this.removeError(obj, 'tip');
}.bind(this));
}
obj.element.setStyle('top', coord.top - tips.getCoordinates().height + this.options.display.tipsOffsetY);
} else {
obj.errors.each(function(error) {
new Element('p').set('html',error).injectInside(obj.element);
});
}
if (!this.options.display.fadeDuration || Browser.Engine.trident && Browser.Engine.version == 5 && this.options.display.errorsLocation < 2) {
obj.element.setStyle('opacity', 1);
} else {
obj.fx = new Fx.Tween(obj.element, {
'duration' : this.options.display.fadeDuration,
'ignore' : true,
'onStart' : function(){
this.fxRunning = true;
}.bind(this),
'onComplete' : function() {
this.fxRunning = false;
if (obj.element && obj.element.getStyle('opacity').toInt() == 0) {
obj.element.destroy();
obj.element = false;
}
}.bind(this)
})
if(obj.element.getStyle('opacity').toInt() != 1) obj.fx.start('opacity', 1);
}
}
if (this.options.display.addClassErrorToField && this.isChildType(obj) == false){
obj.addClass(this.options.fieldErrorClass);
obj.element = obj.element || true;
}
},
addPositionEvent : function(obj) {
if(this.options.display.replaceTipsEffect) {
obj.event = function(){
var coord = obj.target ? $(obj.target).getCoordinates() : obj.getCoordinates();
new Fx.Morph(obj.element, {
'duration' : this.options.display.fadeDuration
}).start({
'left':[obj.element.getStyle('left'), coord.right + this.options.display.tipsOffsetX],
'top':[obj.element.getStyle('top'), coord.top - obj.element.getCoordinates().height + this.options.display.tipsOffsetY]
});
}.bind(this);
} else {
obj.event = function(){
var coord = obj.target ? $(obj.target).getCoordinates() : obj.getCoordinates();
obj.element.setStyles({
'left':coord.right + this.options.display.tipsOffsetX,
'top':coord.top - obj.element.getCoordinates().height + this.options.display.tipsOffsetY
});
}.bind(this)
}
window.addEvent('resize', obj.event);
},
removeError : function(obj, method) {
if ((this.options.display.addClassErrorToField && !this.isChildType(obj) && this.options.display.removeClassErrorOnTipClosure) || (this.options.display.addClassErrorToField && !this.isChildType(obj) && !this.options.display.removeClassErrorOnTipClosure && method != 'tip'))
obj.removeClass(this.options.fieldErrorClass);
if (!obj.element) return;
this.alreadyIndicated = false;
obj.errors = [];
obj.isOK = true;
window.removeEvent('resize', obj.event);
if (this.options.display.errorsLocation >= 2 && obj.element) {
new Fx.Tween(obj.element, {
'duration': this.options.display.fadeDuration
}).start('height', 0);
}
if (!this.options.display.fadeDuration || Browser.Engine.trident && Browser.Engine.version == 5 && this.options.display.errorsLocation == 1 && obj.element) {
this.fxRunning = true;
obj.element.destroy();
obj.element = false;
(function(){this.fxRunning = false}.bind(this)).delay(200);
} else if (obj.element && obj.element != true) {
obj.fx.start('opacity', 0);
}
},
focusOnError : function (obj) {
if (this.options.display.scrollToFirst && !this.alreadyFocused && !this.isScrolling) {
if (!this.options.display.indicateErrors || !this.options.display.errorsLocation) {
var dest = obj.getCoordinates().top-30;
} else if (this.alreadyIndicated.element) {
switch (this.options.display.errorsLocation){
case 1 :
var dest = obj.element.getCoordinates().top;
break;
case 2 :
var dest = obj.element.getCoordinates().top-30;
break;
case 3 :
var dest = obj.getCoordinates().top-30;
break;
}
this.isScrolling = true;
}
if (window.getScroll.y != dest) {
new Fx.Scroll(window, {
onComplete : function() {
this.isScrolling = false;
if (obj.getProperty('type') != 'hidden') obj.focus();
}.bind(this)
}).start(0,dest);
} else {
this.isScrolling = false;
obj.focus();
}
this.alreadyFocused = true;
}
},
fixIeStuffs : function () {
if (Browser.Engine.trident4) {
var rpng = new RegExp('url\\(([\.a-zA-Z0-9_/:-]+\.png)\\)');
var search = new RegExp('(.+)formcheck\.css');
for (var i = 0; i < document.styleSheets.length; i++){
if (document.styleSheets[i].href.match(/formcheck\.css$/)) {
var root = document.styleSheets[i].href.replace(search, '$1');
var count = document.styleSheets[i].rules.length;
for (var j = 0; j < count; j++){
var cssstyle = document.styleSheets[i].rules[j].style;
var bgimage = root + cssstyle.backgroundImage.replace(rpng, '$1');
if (bgimage && bgimage.match(/\.png/i)){
var scale = (cssstyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale';
cssstyle.filter =  'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src=\'' + bgimage + '\', sizingMethod=\''+ scale +'\')';
cssstyle.backgroundImage = "none";
}
}
}
}
}
},
makeTips : function(txt) {
var table = new Element('table');
table.cellPadding ='0';
table.cellSpacing ='0';
table.border ='0';
var tbody = new Element('tbody').injectInside(table);
var tr1 = new Element('tr').injectInside(tbody);
new Element('td', {'class' : 'tl'}).injectInside(tr1);
new Element('td', {'class' : 't'}).injectInside(tr1);
new Element('td', {'class' : 'tr'}).injectInside(tr1);
var tr2 = new Element('tr').injectInside(tbody);
new Element('td', {'class' : 'l'}).injectInside(tr2);
var cont = new Element('td', {'class' : 'c'}).injectInside(tr2);
var errors = new Element('div', {'class' : 'err'}).injectInside(cont);
txt.each(function(error) {
error.injectInside(errors);
});
if (this.options.display.closeTipsButton) new Element('a',{'class' : 'close'}).injectInside(cont);
new Element('td', {'class' : 'r'}).injectInside(tr2);
var tr3 = new Element('tr').injectInside(tbody);
new Element('td', {'class' : 'bl'}).injectInside(tr3);
new Element('td', {'class' : 'b'}).injectInside(tr3);
new Element('td', {'class' : 'br'}).injectInside(tr3);
return table;
},
reinitialize: function(forced) {
this.validations.each(function(el) {
if (el.element) {
el.errors = [];
el.isOK = true;
if(this.options.display.flashTips == 1 || forced == 'forced') {
el.element.destroy();
el.element = false;
}
}
}, this);
if (this.form.element) this.form.element.empty();
this.alreadyFocused = false;
this.firstError = false;
this.elementToRemove = this.alreadyIndicated;
this.alreadyIndicated = false;
this.form.isValid = true;
},
submitByAjax: function() {
var url = this.form.getProperty('action');
this.fireEvent('ajaxRequest');
new Request({
url: url,
method: this.form.getProperty('method'),
data : this.form.toQueryString(),
evalScripts: this.options.ajaxEvalScripts,
onFailure: function(instance){
this.fireEvent('ajaxFailure', instance);
}.bind(this),
onSuccess: function(result){
this.fireEvent('ajaxSuccess', result);
if(this.options.ajaxResponseDiv) $(this.options.ajaxResponseDiv).set('html',result);
}.bind(this)
}).send();
},
onSubmit: function(event) {
this.reinitialize();
this.fireEvent('onSubmit');
this.validations.each(function(el) {
var validation = this.manageError(el,'submit');
if(!validation) this.form.isValid = false;
}, this);
if (this.form.isValid) {
if (this.options.submitByAjax) {
new Event(event).stop();
this.submitByAjax();
} else if(!this.options.submit) {
new Event(event).stop();
}
this.fireEvent('validateSuccess');
return true;
} else {
new Event(event).stop();
if (this.elementToRemove && this.elementToRemove != this.firstError && this.options.display.indicateErrors == 1) {
this.removeError(this.elementToRemove);
}
this.focusOnError(this.firstError);
this.fireEvent('validateFailure');
return false;
}
}
});
var NXC = NXC || {};
NXC.Meta = new Class( {
Implements: [Options, Events],
options:{
'markedKeywordClass'          : 'nxc-meta-keyword-selected',
'checkboxesNameBase'          : 'ContentObjectAttribute_option_selected_array_',
'disabledSelectAnchorClass'   : 'nxc-meta-select-keyword-not-active',
'disabledUnselectAnchorClass' : 'nxc-meta-unselect-keyword-not-active',
'keywordDragClass'            : 'nxc-meta-keyword-drag',
'groupDragClass'              : 'nxc-meta-group-drag',
'sliderSpeed'                 : 250
},
attributeID                : false,
checkboxesContainer        : false,
checkboxes                 : [],
selectedKeywordsContainer  : false,
selectedKeywords           : [],
selectedKeywordGroupTitles : [],
keywordsContainer          : false,
keywords                   : [],
keywordGroupTitles         : [],
selectKeywordAnchor        : false,
unselectKeywordAnchor      : false,
initialize: function( attributeID, options ) {
this.attributeID                = attributeID;
this.checkboxesContainer        = document.id( 'nxc-meta-checkboxes-' + this.attributeID );
this.checkboxes                 = this.checkboxesContainer.getElements( 'input.nxc-meta-checkbox' );
this.selectedKeywordsContainer  = document.id( 'nxc-meta-selected-keywords-' + this.attributeID );
this.selectedKeywords           = this.selectedKeywordsContainer.getElements( 'div.nxc-meta-keyword' );
this.selectedKeywordGroupTitles = this.selectedKeywordsContainer.getElements( 'div.nxc-meta-keyword-group-title' );
this.keywordsContainer          = document.id( 'nxc-meta-keywords-list-' + this.attributeID );
this.keywords                   = this.keywordsContainer.getElements( 'div.nxc-meta-keyword' );
this.keywordGroupTitles         = this.keywordsContainer.getElements( 'div.nxc-meta-keyword-group-title' );
this.selectKeywordAnchor        = document.id( 'nxc-meta-select-keyword-' + this.attributeID );
this.unselectKeywordAnchor      = document.id( 'nxc-meta-unselect-keyword-' + this.attributeID );
this.setOptions( options );
this.installGroupsAccording();
this.installKeywordSelection();
this.installSelectKeyword();
this.installUnselectKeyword();
this.installKeywordsDrag();
this.installGroupsDrag();
this.addEvent( 'selectKeywords', function() {
this.updateSelectionAnchors();
this.checkKeywordGroups();
}.bind( this ) );
this.addEvent( 'unselectKeywords', function() {
this.updateSelectionAnchors();
this.checkKeywordGroups();
}.bind( this ) );
},
installGroupsAccording: function() {
this.selectedKeywordGroupTitles.each( function( el ) {
var groupBlock = document.id( 'nxc-meta-selected-keyword-group-' + el.get( 'id' ).replace( 'nxc-meta-selected-keyword-group-title-', '' ) );
this.installGroupAccording( el, groupBlock );
}.bind( this ) );
this.keywordGroupTitles.each( function( el ) {
var groupBlock = document.id( 'nxc-meta-keyword-group-' + el.get( 'id' ).replace( 'nxc-meta-keyword-group-title-', '' ) );
this.installGroupAccording( el, groupBlock );
}.bind( this ) );
},
installGroupAccording: function( title, block ) {
title.store( 'groupBlock', block );
title.store( 'groupBlockSlide', new Fx.Slide( block, { 'duration': this.options.sliderSpeed } ) );
title.addEvent( 'click', function() {
title.retrieve( 'groupBlockSlide' ).toggle();
} );
},
installKeywordSelection: function() {
[].extend( this.selectedKeywords ).extend( this.keywords ).each( function( el ) {
el.addEvent( 'click', function( e ) {
e.stop();
el.toggleClass( this.options.markedKeywordClass );
}.bind( this ) );
}.bind( this ) );
},
installSelectKeyword: function() {
this.selectKeywordAnchor.addEvent( 'click', function( e ) {
e.stop();
var markedKeywords = this.getMarkedKeywords( this.keywordsContainer );
markedKeywords.each( function( keyword ) {
this.selectKeyword( keyword );
}.bind( this ) );
this.fireEvent( 'selectKeywords' );
}.bind( this ) );
},
selectKeyword: function( el ) {
el.removeClass( this.options.markedKeywordClass );
var id = el.get( 'id' ).replace( 'nxc-meta-keyword-' + this.attributeID + '-', '' );
selectedKeyword = document.id( 'nxc-meta-selected-keyword-' + this.attributeID + '-' + id );
selectedKeyword.setStyle( 'display', 'block' );
el.setStyle( 'display', 'none' );
var checkbox = document.id( this.options.checkboxesNameBase + this.attributeID + '[' + id + ']' );
checkbox.set( 'checked', true );
},
installUnselectKeyword: function() {
this.unselectKeywordAnchor.addEvent( 'click', function( e ) {
e.stop();
var markedKeywords = this.getMarkedKeywords( this.selectedKeywordsContainer );
markedKeywords.each( function( selectedKeyword ) {
this.unselectKeyword( selectedKeyword );
}.bind( this ) );
this.fireEvent( 'unselectKeywords' );
}.bind( this ) );
},
unselectKeyword: function( el ) {
el.removeClass( this.options.markedKeywordClass );
var id      = el.get( 'id' ).replace( 'nxc-meta-selected-keyword-' + this.attributeID + '-', '' );
var keyword = document.id( 'nxc-meta-keyword-' + this.attributeID + '-' + id );
keyword.setStyle( 'display', 'block' );
el.setStyle( 'display', 'none' );
var checkbox = document.id( this.options.checkboxesNameBase + this.attributeID + '[' + id + ']' );
checkbox.set( 'checked', false );
},
updateSelectionAnchors: function() {
if( this.getAvailableKeywords( this.selectedKeywords ).length == 0 ) {
this.unselectKeywordAnchor.addClass( this.options.disabledUnselectAnchorClass );
} else {
this.unselectKeywordAnchor.removeClass( this.options.disabledUnselectAnchorClass );
}
if( this.getAvailableKeywords( this.keywords ).length == 0 ) {
this.selectKeywordAnchor.addClass( this.options.disabledSelectAnchorClass );
} else {
this.selectKeywordAnchor.removeClass( this.options.disabledSelectAnchorClass );
}
},
getMarkedKeywords: function( container ) {
return container.getElements( '.' + this.options.markedKeywordClass );
},
getAvailableKeywords: function( keywords ) {
var ret = [];
keywords.each( function( el ) {
if( el.getStyle( 'display' ) != 'none' ) {
ret.include( el );
}
} );
return ret;
},
checkKeywordGroups: function() {
[].extend( this.selectedKeywordGroupTitles ).extend( this.keywordGroupTitles ).each( function( groupTitle ) {
var availableKeywords = 0;
var groupBlock        = groupTitle.retrieve( 'groupBlock' );
groupTitle.retrieve( 'groupBlock' ).getElements( 'div.nxc-meta-keyword' ).each( function( el ) {
if( el.getStyle( 'display' ) != 'none' ) {
availableKeywords++;
}
} );
var style = ( availableKeywords == 0 ) ? 'none' : 'block';
groupTitle.setStyle( 'display', style );
groupBlock.setStyle( 'display', style );
groupBlock.getParent().setStyle( 'display', style );
if( groupTitle.retrieve( 'groupBlockSlide' ).open == true ) {
groupBlock.getParent().setStyle( 'height', groupBlock.getStyle( 'height' ).toInt() + 'px' );
}
} );
},
installKeywordsDrag: function() {
[].extend( this.selectedKeywords ).extend( this.keywords ).each( function( el ) {
el.addEvent( 'mousedown', function( e ) {
if( e.control == false ) {
return false;
}
e.stop();
var clone = el.clone().addClass( this.options.keywordDragClass ).setStyles( el.getCoordinates() ).inject( document.body ).store( 'originalID', el.get( 'id' ) );
var droppable = ( el.get( 'id' ).indexOf( 'selected' ) == -1 ) ? this.selectedKeywordsContainer : this.keywordsContainer;
var drag      = clone.makeDraggable( {
'droppables': [droppable],
'onDrop': function( element, droppable, event ) {
if ( droppable ) {
var originalElement = document.id( element.retrieve( 'originalID' ) );
if( originalElement.get( 'id' ).indexOf( 'selected' ) == -1 ) {
this.selectKeyword( originalElement );
this.fireEvent( 'selectKeywords' );
} else {
this.unselectKeyword( originalElement );
this.fireEvent( 'unselectKeywords' );
}
}
element.destroy();
}.bind( this )
} );
drag.start( e );
}.bind( this ) );
}.bind( this ) );
},
installGroupsDrag: function() {
[].extend( this.selectedKeywordGroupTitles ).extend( this.keywordGroupTitles ).each( function( el ) {
el.addEvent( 'mousedown', function( e ) {
if( e.control == false ) {
return false;
}
e.stop();
var coords = el.getParent().getCoordinates();
var clone  = el.getParent().clone().addClass( this.options.groupDragClass ).setStyles( coords ).inject( document.body );
var keywordIDs = [];
el.retrieve( 'groupBlock' ).getElements( 'div.nxc-meta-keyword' ).each( function( keyword ) {
keywordIDs.include( keyword.get( 'id' ) );
} );
clone.store( 'keywordIDs', keywordIDs );
var droppable;
if( el.getParent().getParent().get( 'id' ).indexOf( 'selected' ) == -1 ) {
clone.store( 'select', true );
droppable = this.selectedKeywordsContainer
} else {
clone.store( 'select', false );
droppable = this.keywordsContainer;
}
var drag = clone.makeDraggable( {
'droppables': [droppable],
'onDrop': function( element, droppable, event ) {
if ( droppable ) {
var keywordIDs = element.retrieve( 'keywordIDs' );
if( element.retrieve( 'select', false ) === true ) {
keywordIDs.each( function( keyword ) {
this.selectKeyword( document.id( keyword ) );
}.bind( this ) );
this.fireEvent( 'selectKeywords' );
} else {
keywordIDs.each( function( keyword ) {
this.unselectKeyword( document.id( keyword ) );
}.bind( this ) );
this.fireEvent( 'unselectKeywords' );
}
}
element.destroy();
}.bind( this )
} );
drag.start( e );
}.bind( this ) );
}.bind( this ) );
}
} );
function eZFLGMapView( blockId, data, options )
{
if (GBrowserIsCompatible())
{
var startPoint = new GLatLng( 0, 0 ), zoom = 0;
var map = new GMap2( document.getElementById( 'ezflb-map-' + blockId ) ),
bounds = new GLatLngBounds();
if(options!= undefined)
{
for( var i = 0; i < options.length; i++ )
{
map.addControl( options[i] );
}
}
map.setCenter( startPoint, zoom );
for( var i = 0; i < data.length; i++ )
{
var locationData = data[i];
var pointerHandler = document.getElementById( 'ezflb-pointer-' + blockId + '-' + i );
pointerHandler.point = locationData.point;
pointerHandler.address = locationData.address;
eZFLGMapAddListener( pointerHandler, 'click', function(e) {
map.panTo( this.point );
map.setCenter( this.point, 13 );
map.openInfoWindowHtml( this.point, this.address );
if ( e.preventDefault )
e.preventDefault();
else
e.returnValue = false;
} );
map.addOverlay( eZFLGMapMarker( locationData.point, bounds, locationData.address ) );
}
map.setCenter( bounds.getCenter(), map.getBoundsZoomLevel( bounds ) );
}
}
function eZFLGMapMarker( point, bounds, address )
{
var marker = new GMarker( point );
GEvent.addListener( marker, 'click', function() {
marker.openInfoWindowHtml( address );
} );
if ( bounds )
bounds.extend( point );
return marker;
}
function eZFLGMapAddListener( element, type, expression, bubbling )
{
bubbling = bubbling || false;
if( window.addEventListener )
{
element.addEventListener( type, expression, bubbling );
return true;
}
else if ( window.attachEvent )
{
element.attachEvent( 'on' + type, expression );
return true;
}
else
{
return false;
}
}
