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] );
}
}
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 MooTools = {
'version': '1.2.1',
'build': '0d4845aab3d9a4fdee2f0d4a6dd59210e4b697cf'
};
var Native = function(options){
options = options || {};
var name = options.name;
var legacy = options.legacy;
var protect = options.protect;
var methods = options.implement;
var generics = options.generics;
var initialize = options.initialize;
var afterImplement = options.afterImplement || function(){};
var object = initialize || legacy;
generics = generics !== false;
object.constructor = Native;
object.$family = {name: 'native'};
if (legacy && initialize) object.prototype = legacy.prototype;
object.prototype.constructor = object;
if (name){
var family = name.toLowerCase();
object.prototype.$family = {name: family};
Native.typize(object, family);
}
var add = function(obj, name, method, force){
if (!protect || force || !obj.prototype[name]) obj.prototype[name] = method;
if (generics) Native.genericize(obj, name, protect);
afterImplement.call(obj, name, method);
return obj;
};
object.alias = function(a1, a2, a3){
if (typeof a1 == 'string'){
if ((a1 = this.prototype[a1])) return add(this, a2, a1, a3);
}
for (var a in a1) this.alias(a, a1[a], a2);
return this;
};
object.implement = function(a1, a2, a3){
if (typeof a1 == 'string') return add(this, a1, a2, a3);
for (var p in a1) add(this, p, a1[p], a2);
return this;
};
if (methods) object.implement(methods);
return object;
};
Native.genericize = function(object, property, check){
if ((!check || !object[property]) && typeof object.prototype[property] == 'function') object[property] = function(){
var args = Array.prototype.slice.call(arguments);
return object.prototype[property].apply(args.shift(), args);
};
};
Native.implement = function(objects, properties){
for (var i = 0, l = objects.length; i < l; i++) objects[i].implement(properties);
};
Native.typize = function(object, family){
if (!object.type) object.type = function(item){
return ($type(item) === family);
};
};
(function(){
var natives = {'Array': Array, 'Date': Date, 'Function': Function, 'Number': Number, 'RegExp': RegExp, 'String': String};
for (var n in natives) new Native({name: n, initialize: natives[n], protect: true});
var types = {'boolean': Boolean, 'native': Native, 'object': Object};
for (var t in types) Native.typize(types[t], t);
var generics = {
'Array': ["concat", "indexOf", "join", "lastIndexOf", "pop", "push", "reverse", "shift", "slice", "sort", "splice", "toString", "unshift", "valueOf"],
'String': ["charAt", "charCodeAt", "concat", "indexOf", "lastIndexOf", "match", "replace", "search", "slice", "split", "substr", "substring", "toLowerCase", "toUpperCase", "valueOf"]
};
for (var g in generics){
for (var i = generics[g].length; i--;) Native.genericize(window[g], generics[g][i], true);
};
})();
var Hash = new Native({
name: 'Hash',
initialize: function(object){
if ($type(object) == 'hash') object = $unlink(object.getClean());
for (var key in object) this[key] = object[key];
return this;
}
});
Hash.implement({
forEach: function(fn, bind){
for (var key in this){
if (this.hasOwnProperty(key)) fn.call(bind, this[key], key, this);
}
},
getClean: function(){
var clean = {};
for (var key in this){
if (this.hasOwnProperty(key)) clean[key] = this[key];
}
return clean;
},
getLength: function(){
var length = 0;
for (var key in this){
if (this.hasOwnProperty(key)) length++;
}
return length;
}
});
Hash.alias('forEach', 'each');
Array.implement({
forEach: function(fn, bind){
for (var i = 0, l = this.length; i < l; i++) fn.call(bind, this[i], i, this);
}
});
Array.alias('forEach', 'each');
function $A(iterable){
if (iterable.item){
var array = [];
for (var i = 0, l = iterable.length; i < l; i++) array[i] = iterable[i];
return array;
}
return Array.prototype.slice.call(iterable);
};
function $arguments(i){
return function(){
return arguments[i];
};
};
function $chk(obj){
return !!(obj || obj === 0);
};
function $clear(timer){
clearTimeout(timer);
clearInterval(timer);
return null;
};
function $defined(obj){
return (obj != undefined);
};
function $each(iterable, fn, bind){
var type = $type(iterable);
((type == 'arguments' || type == 'collection' || type == 'array') ? Array : Hash).each(iterable, fn, bind);
};
function $empty(){};
function $extend(original, extended){
for (var key in (extended || {})) original[key] = extended[key];
return original;
};
function $H(object){
return new Hash(object);
};
function $lambda(value){
return (typeof value == 'function') ? value : function(){
return value;
};
};
function $merge(){
var mix = {};
for (var i = 0, l = arguments.length; i < l; i++){
var object = arguments[i];
if ($type(object) != 'object') continue;
for (var key in object){
var op = object[key], mp = mix[key];
mix[key] = (mp && $type(op) == 'object' && $type(mp) == 'object') ? $merge(mp, op) : $unlink(op);
}
}
return mix;
};
function $pick(){
for (var i = 0, l = arguments.length; i < l; i++){
if (arguments[i] != undefined) return arguments[i];
}
return null;
};
function $random(min, max){
return Math.floor(Math.random() * (max - min + 1) + min);
};
function $splat(obj){
var type = $type(obj);
return (type) ? ((type != 'array' && type != 'arguments') ? [obj] : obj) : [];
};
var $time = Date.now || function(){
return +new Date;
};
function $try(){
for (var i = 0, l = arguments.length; i < l; i++){
try {
return arguments[i]();
} catch(e){}
}
return null;
};
function $type(obj){
if (obj == undefined) return false;
if (obj.$family) return (obj.$family.name == 'number' && !isFinite(obj)) ? false : obj.$family.name;
if (obj.nodeName){
switch (obj.nodeType){
case 1: return 'element';
case 3: return (/\S/).test(obj.nodeValue) ? 'textnode' : 'whitespace';
}
} else if (typeof obj.length == 'number'){
if (obj.callee) return 'arguments';
else if (obj.item) return 'collection';
}
return typeof obj;
};
function $unlink(object){
var unlinked;
switch ($type(object)){
case 'object':
unlinked = {};
for (var p in object) unlinked[p] = $unlink(object[p]);
break;
case 'hash':
unlinked = new Hash(object);
break;
case 'array':
unlinked = [];
for (var i = 0, l = object.length; i < l; i++) unlinked[i] = $unlink(object[i]);
break;
default: return object;
}
return unlinked;
};
var Browser = $merge({
Engine: {name: 'unknown', version: 0},
Platform: {name: (window.orientation != undefined) ? 'ipod' : (navigator.platform.match(/mac|win|linux/i) || ['other'])[0].toLowerCase()},
Features: {xpath: !!(document.evaluate), air: !!(window.runtime), query: !!(document.querySelector)},
Plugins: {},
Engines: {
presto: function(){
return (!window.opera) ? false : ((arguments.callee.caller) ? 960 : ((document.getElementsByClassName) ? 950 : 925));
},
trident: function(){
return (!window.ActiveXObject) ? false : ((window.XMLHttpRequest) ? 5 : 4);
},
webkit: function(){
return (navigator.taintEnabled) ? false : ((Browser.Features.xpath) ? ((Browser.Features.query) ? 525 : 420) : 419);
},
gecko: function(){
return (document.getBoxObjectFor == undefined) ? false : ((document.getElementsByClassName) ? 19 : 18);
}
}
}, Browser || {});
Browser.Platform[Browser.Platform.name] = true;
Browser.detect = function(){
for (var engine in this.Engines){
var version = this.Engines[engine]();
if (version){
this.Engine = {name: engine, version: version};
this.Engine[engine] = this.Engine[engine + version] = true;
break;
}
}
return {name: engine, version: version};
};
Browser.detect();
Browser.Request = function(){
return $try(function(){
return new XMLHttpRequest();
}, function(){
return new ActiveXObject('MSXML2.XMLHTTP');
});
};
Browser.Features.xhr = !!(Browser.Request());
Browser.Plugins.Flash = (function(){
var version = ($try(function(){
return navigator.plugins['Shockwave Flash'].description;
}, function(){
return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
}) || '0 r0').match(/\d+/g);
return {version: parseInt(version[0] || 0 + '.' + version[1] || 0), build: parseInt(version[2] || 0)};
})();
function $exec(text){
if (!text) return text;
if (window.execScript){
window.execScript(text);
} else {
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script[(Browser.Engine.webkit && Browser.Engine.version < 420) ? 'innerText' : 'text'] = text;
document.head.appendChild(script);
document.head.removeChild(script);
}
return text;
};
Native.UID = 1;
var $uid = (Browser.Engine.trident) ? function(item){
return (item.uid || (item.uid = [Native.UID++]))[0];
} : function(item){
return item.uid || (item.uid = Native.UID++);
};
var Window = new Native({
name: 'Window',
legacy: (Browser.Engine.trident) ? null: window.Window,
initialize: function(win){
$uid(win);
if (!win.Element){
win.Element = $empty;
if (Browser.Engine.webkit) win.document.createElement("iframe"); //fixes safari 2
win.Element.prototype = (Browser.Engine.webkit) ? window["[[DOMElement.prototype]]"] : {};
}
win.document.window = win;
return $extend(win, Window.Prototype);
},
afterImplement: function(property, value){
window[property] = Window.Prototype[property] = value;
}
});
Window.Prototype = {$family: {name: 'window'}};
new Window(window);
var Document = new Native({
name: 'Document',
legacy: (Browser.Engine.trident) ? null: window.Document,
initialize: function(doc){
$uid(doc);
doc.head = doc.getElementsByTagName('head')[0];
doc.html = doc.getElementsByTagName('html')[0];
if (Browser.Engine.trident && Browser.Engine.version <= 4) $try(function(){
doc.execCommand("BackgroundImageCache", false, true);
});
if (Browser.Engine.trident) doc.window.attachEvent('onunload', function() {
doc.window.detachEvent('onunload', arguments.callee);
doc.head = doc.html = doc.window = null;
});
return $extend(doc, Document.Prototype);
},
afterImplement: function(property, value){
document[property] = Document.Prototype[property] = value;
}
});
Document.Prototype = {$family: {name: 'document'}};
new Document(document);
Array.implement({
every: function(fn, bind){
for (var i = 0, l = this.length; i < l; i++){
if (!fn.call(bind, this[i], i, this)) return false;
}
return true;
},
filter: function(fn, bind){
var results = [];
for (var i = 0, l = this.length; i < l; i++){
if (fn.call(bind, this[i], i, this)) results.push(this[i]);
}
return results;
},
clean: function() {
return this.filter($defined);
},
indexOf: function(item, from){
var len = this.length;
for (var i = (from < 0) ? Math.max(0, len + from) : from || 0; i < len; i++){
if (this[i] === item) return i;
}
return -1;
},
map: function(fn, bind){
var results = [];
for (var i = 0, l = this.length; i < l; i++) results[i] = fn.call(bind, this[i], i, this);
return results;
},
some: function(fn, bind){
for (var i = 0, l = this.length; i < l; i++){
if (fn.call(bind, this[i], i, this)) return true;
}
return false;
},
associate: function(keys){
var obj = {}, length = Math.min(this.length, keys.length);
for (var i = 0; i < length; i++) obj[keys[i]] = this[i];
return obj;
},
link: function(object){
var result = {};
for (var i = 0, l = this.length; i < l; i++){
for (var key in object){
if (object[key](this[i])){
result[key] = this[i];
delete object[key];
break;
}
}
}
return result;
},
contains: function(item, from){
return this.indexOf(item, from) != -1;
},
extend: function(array){
for (var i = 0, j = array.length; i < j; i++) this.push(array[i]);
return this;
},
getLast: function(){
return (this.length) ? this[this.length - 1] : null;
},
getRandom: function(){
return (this.length) ? this[$random(0, this.length - 1)] : null;
},
include: function(item){
if (!this.contains(item)) this.push(item);
return this;
},
combine: function(array){
for (var i = 0, l = array.length; i < l; i++) this.include(array[i]);
return this;
},
erase: function(item){
for (var i = this.length; i--; i){
if (this[i] === item) this.splice(i, 1);
}
return this;
},
empty: function(){
this.length = 0;
return this;
},
flatten: function(){
var array = [];
for (var i = 0, l = this.length; i < l; i++){
var type = $type(this[i]);
if (!type) continue;
array = array.concat((type == 'array' || type == 'collection' || type == 'arguments') ? Array.flatten(this[i]) : this[i]);
}
return array;
},
hexToRgb: function(array){
if (this.length != 3) return null;
var rgb = this.map(function(value){
if (value.length == 1) value += value;
return value.toInt(16);
});
return (array) ? rgb : 'rgb(' + rgb + ')';
},
rgbToHex: function(array){
if (this.length < 3) return null;
if (this.length == 4 && this[3] == 0 && !array) return 'transparent';
var hex = [];
for (var i = 0; i < 3; i++){
var bit = (this[i] - 0).toString(16);
hex.push((bit.length == 1) ? '0' + bit : bit);
}
return (array) ? hex : '#' + hex.join('');
}
});
Function.implement({
extend: function(properties){
for (var property in properties) this[property] = properties[property];
return this;
},
create: function(options){
var self = this;
options = options || {};
return function(event){
var args = options.arguments;
args = (args != undefined) ? $splat(args) : Array.slice(arguments, (options.event) ? 1 : 0);
if (options.event) args = [event || window.event].extend(args);
var returns = function(){
return self.apply(options.bind || null, args);
};
if (options.delay) return setTimeout(returns, options.delay);
if (options.periodical) return setInterval(returns, options.periodical);
if (options.attempt) return $try(returns);
return returns();
};
},
run: function(args, bind){
return this.apply(bind, $splat(args));
},
pass: function(args, bind){
return this.create({bind: bind, arguments: args});
},
bind: function(bind, args){
return this.create({bind: bind, arguments: args});
},
bindWithEvent: function(bind, args){
return this.create({bind: bind, arguments: args, event: true});
},
attempt: function(args, bind){
return this.create({bind: bind, arguments: args, attempt: true})();
},
delay: function(delay, bind, args){
return this.create({bind: bind, arguments: args, delay: delay})();
},
periodical: function(periodical, bind, args){
return this.create({bind: bind, arguments: args, periodical: periodical})();
}
});
Number.implement({
limit: function(min, max){
return Math.min(max, Math.max(min, this));
},
round: function(precision){
precision = Math.pow(10, precision || 0);
return Math.round(this * precision) / precision;
},
times: function(fn, bind){
for (var i = 0; i < this; i++) fn.call(bind, i, this);
},
toFloat: function(){
return parseFloat(this);
},
toInt: function(base){
return parseInt(this, base || 10);
}
});
Number.alias('times', 'each');
(function(math){
var methods = {};
math.each(function(name){
if (!Number[name]) methods[name] = function(){
return Math[name].apply(null, [this].concat($A(arguments)));
};
});
Number.implement(methods);
})(['abs', 'acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'exp', 'floor', 'log', 'max', 'min', 'pow', 'sin', 'sqrt', 'tan']);
String.implement({
test: function(regex, params){
return ((typeof regex == 'string') ? new RegExp(regex, params) : regex).test(this);
},
contains: function(string, separator){
return (separator) ? (separator + this + separator).indexOf(separator + string + separator) > -1 : this.indexOf(string) > -1;
},
trim: function(){
return this.replace(/^\s+|\s+$/g, '');
},
clean: function(){
return this.replace(/\s+/g, ' ').trim();
},
camelCase: function(){
return this.replace(/-\D/g, function(match){
return match.charAt(1).toUpperCase();
});
},
hyphenate: function(){
return this.replace(/[A-Z]/g, function(match){
return ('-' + match.charAt(0).toLowerCase());
});
},
capitalize: function(){
return this.replace(/\b[a-z]/g, function(match){
return match.toUpperCase();
});
},
escapeRegExp: function(){
return this.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1');
},
toInt: function(base){
return parseInt(this, base || 10);
},
toFloat: function(){
return parseFloat(this);
},
hexToRgb: function(array){
var hex = this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
return (hex) ? hex.slice(1).hexToRgb(array) : null;
},
rgbToHex: function(array){
var rgb = this.match(/\d{1,3}/g);
return (rgb) ? rgb.rgbToHex(array) : null;
},
stripScripts: function(option){
var scripts = '';
var text = this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
scripts += arguments[1] + '\n';
return '';
});
if (option === true) $exec(scripts);
else if ($type(option) == 'function') option(scripts, text);
return text;
},
substitute: function(object, regexp){
return this.replace(regexp || (/\\?\{([^{}]+)\}/g), function(match, name){
if (match.charAt(0) == '\\') return match.slice(1);
return (object[name] != undefined) ? object[name] : '';
});
}
});
Hash.implement({
has: Object.prototype.hasOwnProperty,
keyOf: function(value){
for (var key in this){
if (this.hasOwnProperty(key) && this[key] === value) return key;
}
return null;
},
hasValue: function(value){
return (Hash.keyOf(this, value) !== null);
},
extend: function(properties){
Hash.each(properties, function(value, key){
Hash.set(this, key, value);
}, this);
return this;
},
combine: function(properties){
Hash.each(properties, function(value, key){
Hash.include(this, key, value);
}, this);
return this;
},
erase: function(key){
if (this.hasOwnProperty(key)) delete this[key];
return this;
},
get: function(key){
return (this.hasOwnProperty(key)) ? this[key] : null;
},
set: function(key, value){
if (!this[key] || this.hasOwnProperty(key)) this[key] = value;
return this;
},
empty: function(){
Hash.each(this, function(value, key){
delete this[key];
}, this);
return this;
},
include: function(key, value){
var k = this[key];
if (k == undefined) this[key] = value;
return this;
},
map: function(fn, bind){
var results = new Hash;
Hash.each(this, function(value, key){
results.set(key, fn.call(bind, value, key, this));
}, this);
return results;
},
filter: function(fn, bind){
var results = new Hash;
Hash.each(this, function(value, key){
if (fn.call(bind, value, key, this)) results.set(key, value);
}, this);
return results;
},
every: function(fn, bind){
for (var key in this){
if (this.hasOwnProperty(key) && !fn.call(bind, this[key], key)) return false;
}
return true;
},
some: function(fn, bind){
for (var key in this){
if (this.hasOwnProperty(key) && fn.call(bind, this[key], key)) return true;
}
return false;
},
getKeys: function(){
var keys = [];
Hash.each(this, function(value, key){
keys.push(key);
});
return keys;
},
getValues: function(){
var values = [];
Hash.each(this, function(value){
values.push(value);
});
return values;
},
toQueryString: function(base){
var queryString = [];
Hash.each(this, function(value, key){
if (base) key = base + '[' + key + ']';
var result;
switch ($type(value)){
case 'object': result = Hash.toQueryString(value, key); break;
case 'array':
var qs = {};
value.each(function(val, i){
qs[i] = val;
});
result = Hash.toQueryString(qs, key);
break;
default: result = key + '=' + encodeURIComponent(value);
}
if (value != undefined) queryString.push(result);
});
return queryString.join('&');
}
});
Hash.alias({keyOf: 'indexOf', hasValue: 'contains'});
var Event = new Native({
name: 'Event',
initialize: function(event, win){
win = win || window;
var doc = win.document;
event = event || win.event;
if (event.$extended) return event;
this.$extended = true;
var type = event.type;
var target = event.target || event.srcElement;
while (target && target.nodeType == 3) target = target.parentNode;
if (type.test(/key/)){
var code = event.which || event.keyCode;
var key = Event.Keys.keyOf(code);
if (type == 'keydown'){
var fKey = code - 111;
if (fKey > 0 && fKey < 13) key = 'f' + fKey;
}
key = key || String.fromCharCode(code).toLowerCase();
} else if (type.match(/(click|mouse|menu)/i)){
doc = (!doc.compatMode || doc.compatMode == 'CSS1Compat') ? doc.html : doc.body;
var page = {
x: event.pageX || event.clientX + doc.scrollLeft,
y: event.pageY || event.clientY + doc.scrollTop
};
var client = {
x: (event.pageX) ? event.pageX - win.pageXOffset : event.clientX,
y: (event.pageY) ? event.pageY - win.pageYOffset : event.clientY
};
if (type.match(/DOMMouseScroll|mousewheel/)){
var wheel = (event.wheelDelta) ? event.wheelDelta / 120 : -(event.detail || 0) / 3;
}
var rightClick = (event.which == 3) || (event.button == 2);
var related = null;
if (type.match(/over|out/)){
switch (type){
case 'mouseover': related = event.relatedTarget || event.fromElement; break;
case 'mouseout': related = event.relatedTarget || event.toElement;
}
if (!(function(){
while (related && related.nodeType == 3) related = related.parentNode;
return true;
}).create({attempt: Browser.Engine.gecko})()) related = false;
}
}
return $extend(this, {
event: event,
type: type,
page: page,
client: client,
rightClick: rightClick,
wheel: wheel,
relatedTarget: related,
target: target,
code: code,
key: key,
shift: event.shiftKey,
control: event.ctrlKey,
alt: event.altKey,
meta: event.metaKey
});
}
});
Event.Keys = new Hash({
'enter': 13,
'up': 38,
'down': 40,
'left': 37,
'right': 39,
'esc': 27,
'space': 32,
'backspace': 8,
'tab': 9,
'delete': 46
});
Event.implement({
stop: function(){
return this.stopPropagation().preventDefault();
},
stopPropagation: function(){
if (this.event.stopPropagation) this.event.stopPropagation();
else this.event.cancelBubble = true;
return this;
},
preventDefault: function(){
if (this.event.preventDefault) this.event.preventDefault();
else this.event.returnValue = false;
return this;
}
});
var Class = new Native({
name: 'Class',
initialize: function(properties){
properties = properties || {};
var klass = function(){
for (var key in this){
if ($type(this[key]) != 'function') this[key] = $unlink(this[key]);
}
this.constructor = klass;
if (Class.prototyping) return this;
var instance = (this.initialize) ? this.initialize.apply(this, arguments) : this;
if (this.options && this.options.initialize) this.options.initialize.call(this);
return instance;
};
for (var mutator in Class.Mutators){
if (!properties[mutator]) continue;
properties = Class.Mutators[mutator](properties, properties[mutator]);
delete properties[mutator];
}
$extend(klass, this);
klass.constructor = Class;
klass.prototype = properties;
return klass;
}
});
Class.Mutators = {
Extends: function(self, klass){
Class.prototyping = klass.prototype;
var subclass = new klass;
delete subclass.parent;
subclass = Class.inherit(subclass, self);
delete Class.prototyping;
return subclass;
},
Implements: function(self, klasses){
$splat(klasses).each(function(klass){
Class.prototying = klass;
$extend(self, ($type(klass) == 'class') ? new klass : klass);
delete Class.prototyping;
});
return self;
}
};
Class.extend({
inherit: function(object, properties){
var caller = arguments.callee.caller;
for (var key in properties){
var override = properties[key];
var previous = object[key];
var type = $type(override);
if (previous && type == 'function'){
if (override != previous){
if (caller){
override.__parent = previous;
object[key] = override;
} else {
Class.override(object, key, override);
}
}
} else if(type == 'object'){
object[key] = $merge(previous, override);
} else {
object[key] = override;
}
}
if (caller) object.parent = function(){
return arguments.callee.caller.__parent.apply(this, arguments);
};
return object;
},
override: function(object, name, method){
var parent = Class.prototyping;
if (parent && object[name] != parent[name]) parent = null;
var override = function(){
var previous = this.parent;
this.parent = parent ? parent[name] : object[name];
var value = method.apply(this, arguments);
this.parent = previous;
return value;
};
object[name] = override;
}
});
Class.implement({
implement: function(){
var proto = this.prototype;
$each(arguments, function(properties){
Class.inherit(proto, properties);
});
return this;
}
});
var Chain = new Class({
$chain: [],
chain: function(){
this.$chain.extend(Array.flatten(arguments));
return this;
},
callChain: function(){
return (this.$chain.length) ? this.$chain.shift().apply(this, arguments) : false;
},
clearChain: function(){
this.$chain.empty();
return this;
}
});
var Events = new Class({
$events: {},
addEvent: function(type, fn, internal){
type = Events.removeOn(type);
if (fn != $empty){
this.$events[type] = this.$events[type] || [];
this.$events[type].include(fn);
if (internal) fn.internal = true;
}
return this;
},
addEvents: function(events){
for (var type in events) this.addEvent(type, events[type]);
return this;
},
fireEvent: function(type, args, delay){
type = Events.removeOn(type);
if (!this.$events || !this.$events[type]) return this;
this.$events[type].each(function(fn){
fn.create({'bind': this, 'delay': delay, 'arguments': args})();
}, this);
return this;
},
removeEvent: function(type, fn){
type = Events.removeOn(type);
if (!this.$events[type]) return this;
if (!fn.internal) this.$events[type].erase(fn);
return this;
},
removeEvents: function(events){
if ($type(events) == 'object'){
for (var type in events) this.removeEvent(type, events[type]);
return this;
}
if (events) events = Events.removeOn(events);
for (var type in this.$events){
if (events && events != type) continue;
var fns = this.$events[type];
for (var i = fns.length; i--; i) this.removeEvent(type, fns[i]);
}
return this;
}
});
Events.removeOn = function(string){
return string.replace(/^on([A-Z])/, function(full, first) {
return first.toLowerCase();
});
};
var Options = new Class({
setOptions: function(){
this.options = $merge.run([this.options].extend(arguments));
if (!this.addEvent) return this;
for (var option in this.options){
if ($type(this.options[option]) != 'function' || !(/^on[A-Z]/).test(option)) continue;
this.addEvent(option, this.options[option]);
delete this.options[option];
}
return this;
}
});
var Element = new Native({
name: 'Element',
legacy: window.Element,
initialize: function(tag, props){
var konstructor = Element.Constructors.get(tag);
if (konstructor) return konstructor(props);
if (typeof tag == 'string') return document.newElement(tag, props);
return $(tag).set(props);
},
afterImplement: function(key, value){
Element.Prototype[key] = value;
if (Array[key]) return;
Elements.implement(key, function(){
var items = [], elements = true;
for (var i = 0, j = this.length; i < j; i++){
var returns = this[i][key].apply(this[i], arguments);
items.push(returns);
if (elements) elements = ($type(returns) == 'element');
}
return (elements) ? new Elements(items) : items;
});
}
});
Element.Prototype = {$family: {name: 'element'}};
Element.Constructors = new Hash;
var IFrame = new Native({
name: 'IFrame',
generics: false,
initialize: function(){
var params = Array.link(arguments, {properties: Object.type, iframe: $defined});
var props = params.properties || {};
var iframe = $(params.iframe) || false;
var onload = props.onload || $empty;
delete props.onload;
props.id = props.name = $pick(props.id, props.name, iframe.id, iframe.name, 'IFrame_' + $time());
iframe = new Element(iframe || 'iframe', props);
var onFrameLoad = function(){
var host = $try(function(){
return iframe.contentWindow.location.host;
});
if (host && host == window.location.host){
var win = new Window(iframe.contentWindow);
new Document(iframe.contentWindow.document);
$extend(win.Element.prototype, Element.Prototype);
}
onload.call(iframe.contentWindow, iframe.contentWindow.document);
};
(window.frames[props.id]) ? onFrameLoad() : iframe.addListener('load', onFrameLoad);
return iframe;
}
});
var Elements = new Native({
initialize: function(elements, options){
options = $extend({ddup: true, cash: true}, options);
elements = elements || [];
if (options.ddup || options.cash){
var uniques = {}, returned = [];
for (var i = 0, l = elements.length; i < l; i++){
var el = $.element(elements[i], !options.cash);
if (options.ddup){
if (uniques[el.uid]) continue;
uniques[el.uid] = true;
}
returned.push(el);
}
elements = returned;
}
return (options.cash) ? $extend(elements, this) : elements;
}
});
Elements.implement({
filter: function(filter, bind){
if (!filter) return this;
return new Elements(Array.filter(this, (typeof filter == 'string') ? function(item){
return item.match(filter);
} : filter, bind));
}
});
Document.implement({
newElement: function(tag, props){
if (Browser.Engine.trident && props){
['name', 'type', 'checked'].each(function(attribute){
if (!props[attribute]) return;
tag += ' ' + attribute + '="' + props[attribute] + '"';
if (attribute != 'checked') delete props[attribute];
});
tag = '<' + tag + '>';
}
return $.element(this.createElement(tag)).set(props);
},
newTextNode: function(text){
return this.createTextNode(text);
},
getDocument: function(){
return this;
},
getWindow: function(){
return this.window;
}
});
Window.implement({
$: function(el, nocash){
if (el && el.$family && el.uid) return el;
var type = $type(el);
return ($[type]) ? $[type](el, nocash, this.document) : null;
},
$$: function(selector){
if (arguments.length == 1 && typeof selector == 'string') return this.document.getElements(selector);
var elements = [];
var args = Array.flatten(arguments);
for (var i = 0, l = args.length; i < l; i++){
var item = args[i];
switch ($type(item)){
case 'element': elements.push(item); break;
case 'string': elements.extend(this.document.getElements(item, true));
}
}
return new Elements(elements);
},
getDocument: function(){
return this.document;
},
getWindow: function(){
return this;
}
});
$.string = function(id, nocash, doc){
id = doc.getElementById(id);
return (id) ? $.element(id, nocash) : null;
};
$.element = function(el, nocash){
$uid(el);
if (!nocash && !el.$family && !(/^object|embed$/i).test(el.tagName)){
var proto = Element.Prototype;
for (var p in proto) el[p] = proto[p];
};
return el;
};
$.object = function(obj, nocash, doc){
if (obj.toElement) return $.element(obj.toElement(doc), nocash);
return null;
};
$.textnode = $.whitespace = $.window = $.document = $arguments(0);
Native.implement([Element, Document], {
getElement: function(selector, nocash){
return $(this.getElements(selector, true)[0] || null, nocash);
},
getElements: function(tags, nocash){
tags = tags.split(',');
var elements = [];
var ddup = (tags.length > 1);
tags.each(function(tag){
var partial = this.getElementsByTagName(tag.trim());
(ddup) ? elements.extend(partial) : elements = partial;
}, this);
return new Elements(elements, {ddup: ddup, cash: !nocash});
}
});
(function(){
var collected = {}, storage = {};
var props = {input: 'checked', option: 'selected', textarea: (Browser.Engine.webkit && Browser.Engine.version < 420) ? 'innerHTML' : 'value'};
var get = function(uid){
return (storage[uid] || (storage[uid] = {}));
};
var clean = function(item, retain){
if (!item) return;
var uid = item.uid;
if (Browser.Engine.trident){
if (item.clearAttributes){
var clone = retain && item.cloneNode(false);
item.clearAttributes();
if (clone) item.mergeAttributes(clone);
} else if (item.removeEvents){
item.removeEvents();
}
if ((/object/i).test(item.tagName)){
for (var p in item){
if (typeof item[p] == 'function') item[p] = $empty;
}
Element.dispose(item);
}
}
if (!uid) return;
collected[uid] = storage[uid] = null;
};
var purge = function(){
Hash.each(collected, clean);
if (Browser.Engine.trident) $A(document.getElementsByTagName('object')).each(clean);
if (window.CollectGarbage) CollectGarbage();
collected = storage = null;
};
var walk = function(element, walk, start, match, all, nocash){
var el = element[start || walk];
var elements = [];
while (el){
if (el.nodeType == 1 && (!match || Element.match(el, match))){
if (!all) return $(el, nocash);
elements.push(el);
}
el = el[walk];
}
return (all) ? new Elements(elements, {ddup: false, cash: !nocash}) : null;
};
var attributes = {
'html': 'innerHTML',
'class': 'className',
'for': 'htmlFor',
'text': (Browser.Engine.trident || (Browser.Engine.webkit && Browser.Engine.version < 420)) ? 'innerText' : 'textContent'
};
var bools = ['compact', 'nowrap', 'ismap', 'declare', 'noshade', 'checked', 'disabled', 'readonly', 'multiple', 'selected', 'noresize', 'defer'];
var camels = ['value', 'accessKey', 'cellPadding', 'cellSpacing', 'colSpan', 'frameBorder', 'maxLength', 'readOnly', 'rowSpan', 'tabIndex', 'useMap'];
Hash.extend(attributes, bools.associate(bools));
Hash.extend(attributes, camels.associate(camels.map(String.toLowerCase)));
var inserters = {
before: function(context, element){
if (element.parentNode) element.parentNode.insertBefore(context, element);
},
after: function(context, element){
if (!element.parentNode) return;
var next = element.nextSibling;
(next) ? element.parentNode.insertBefore(context, next) : element.parentNode.appendChild(context);
},
bottom: function(context, element){
element.appendChild(context);
},
top: function(context, element){
var first = element.firstChild;
(first) ? element.insertBefore(context, first) : element.appendChild(context);
}
};
inserters.inside = inserters.bottom;
Hash.each(inserters, function(inserter, where){
where = where.capitalize();
Element.implement('inject' + where, function(el){
inserter(this, $(el, true));
return this;
});
Element.implement('grab' + where, function(el){
inserter($(el, true), this);
return this;
});
});
Element.implement({
set: function(prop, value){
switch ($type(prop)){
case 'object':
for (var p in prop) this.set(p, prop[p]);
break;
case 'string':
var property = Element.Properties.get(prop);
(property && property.set) ? property.set.apply(this, Array.slice(arguments, 1)) : this.setProperty(prop, value);
}
return this;
},
get: function(prop){
var property = Element.Properties.get(prop);
return (property && property.get) ? property.get.apply(this, Array.slice(arguments, 1)) : this.getProperty(prop);
},
erase: function(prop){
var property = Element.Properties.get(prop);
(property && property.erase) ? property.erase.apply(this) : this.removeProperty(prop);
return this;
},
setProperty: function(attribute, value){
var key = attributes[attribute];
if (value == undefined) return this.removeProperty(attribute);
if (key && bools[attribute]) value = !!value;
(key) ? this[key] = value : this.setAttribute(attribute, '' + value);
return this;
},
setProperties: function(attributes){
for (var attribute in attributes) this.setProperty(attribute, attributes[attribute]);
return this;
},
getProperty: function(attribute){
var key = attributes[attribute];
var value = (key) ? this[key] : this.getAttribute(attribute, 2);
return (bools[attribute]) ? !!value : (key) ? value : value || null;
},
getProperties: function(){
var args = $A(arguments);
return args.map(this.getProperty, this).associate(args);
},
removeProperty: function(attribute){
var key = attributes[attribute];
(key) ? this[key] = (key && bools[attribute]) ? false : '' : this.removeAttribute(attribute);
return this;
},
removeProperties: function(){
Array.each(arguments, this.removeProperty, this);
return this;
},
hasClass: function(className){
return this.className.contains(className, ' ');
},
addClass: function(className){
if (!this.hasClass(className)) this.className = (this.className + ' ' + className).clean();
return this;
},
removeClass: function(className){
this.className = this.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1');
return this;
},
toggleClass: function(className){
return this.hasClass(className) ? this.removeClass(className) : this.addClass(className);
},
adopt: function(){
Array.flatten(arguments).each(function(element){
element = $(element, true);
if (element) this.appendChild(element);
}, this);
return this;
},
appendText: function(text, where){
return this.grab(this.getDocument().newTextNode(text), where);
},
grab: function(el, where){
inserters[where || 'bottom']($(el, true), this);
return this;
},
inject: function(el, where){
inserters[where || 'bottom'](this, $(el, true));
return this;
},
replaces: function(el){
el = $(el, true);
el.parentNode.replaceChild(this, el);
return this;
},
wraps: function(el, where){
el = $(el, true);
return this.replaces(el).grab(el, where);
},
getPrevious: function(match, nocash){
return walk(this, 'previousSibling', null, match, false, nocash);
},
getAllPrevious: function(match, nocash){
return walk(this, 'previousSibling', null, match, true, nocash);
},
getNext: function(match, nocash){
return walk(this, 'nextSibling', null, match, false, nocash);
},
getAllNext: function(match, nocash){
return walk(this, 'nextSibling', null, match, true, nocash);
},
getFirst: function(match, nocash){
return walk(this, 'nextSibling', 'firstChild', match, false, nocash);
},
getLast: function(match, nocash){
return walk(this, 'previousSibling', 'lastChild', match, false, nocash);
},
getParent: function(match, nocash){
return walk(this, 'parentNode', null, match, false, nocash);
},
getParents: function(match, nocash){
return walk(this, 'parentNode', null, match, true, nocash);
},
getChildren: function(match, nocash){
return walk(this, 'nextSibling', 'firstChild', match, true, nocash);
},
getWindow: function(){
return this.ownerDocument.window;
},
getDocument: function(){
return this.ownerDocument;
},
getElementById: function(id, nocash){
var el = this.ownerDocument.getElementById(id);
if (!el) return null;
for (var parent = el.parentNode; parent != this; parent = parent.parentNode){
if (!parent) return null;
}
return $.element(el, nocash);
},
getSelected: function(){
return new Elements($A(this.options).filter(function(option){
return option.selected;
}));
},
getComputedStyle: function(property){
if (this.currentStyle) return this.currentStyle[property.camelCase()];
var computed = this.getDocument().defaultView.getComputedStyle(this, null);
return (computed) ? computed.getPropertyValue([property.hyphenate()]) : null;
},
toQueryString: function(){
var queryString = [];
this.getElements('input, select, textarea', true).each(function(el){
if (!el.name || el.disabled) return;
var value = (el.tagName.toLowerCase() == 'select') ? Element.getSelected(el).map(function(opt){
return opt.value;
}) : ((el.type == 'radio' || el.type == 'checkbox') && !el.checked) ? null : el.value;
$splat(value).each(function(val){
if (typeof val != 'undefined') queryString.push(el.name + '=' + encodeURIComponent(val));
});
});
return queryString.join('&');
},
clone: function(contents, keepid){
contents = contents !== false;
var clone = this.cloneNode(contents);
var clean = function(node, element){
if (!keepid) node.removeAttribute('id');
if (Browser.Engine.trident){
node.clearAttributes();
node.mergeAttributes(element);
node.removeAttribute('uid');
if (node.options){
var no = node.options, eo = element.options;
for (var j = no.length; j--;) no[j].selected = eo[j].selected;
}
}
var prop = props[element.tagName.toLowerCase()];
if (prop && element[prop]) node[prop] = element[prop];
};
if (contents){
var ce = clone.getElementsByTagName('*'), te = this.getElementsByTagName('*');
for (var i = ce.length; i--;) clean(ce[i], te[i]);
}
clean(clone, this);
return $(clone);
},
destroy: function(){
Element.empty(this);
Element.dispose(this);
clean(this, true);
return null;
},
empty: function(){
$A(this.childNodes).each(function(node){
Element.destroy(node);
});
return this;
},
dispose: function(){
return (this.parentNode) ? this.parentNode.removeChild(this) : this;
},
hasChild: function(el){
el = $(el, true);
if (!el) return false;
if (Browser.Engine.webkit && Browser.Engine.version < 420) return $A(this.getElementsByTagName(el.tagName)).contains(el);
return (this.contains) ? (this != el && this.contains(el)) : !!(this.compareDocumentPosition(el) & 16);
},
match: function(tag){
return (!tag || (tag == this) || (Element.get(this, 'tag') == tag));
}
});
Native.implement([Element, Window, Document], {
addListener: function(type, fn){
if (type == 'unload'){
var old = fn, self = this;
fn = function(){
self.removeListener('unload', fn);
old();
};
} else {
collected[this.uid] = this;
}
if (this.addEventListener) this.addEventListener(type, fn, false);
else this.attachEvent('on' + type, fn);
return this;
},
removeListener: function(type, fn){
if (this.removeEventListener) this.removeEventListener(type, fn, false);
else this.detachEvent('on' + type, fn);
return this;
},
retrieve: function(property, dflt){
var storage = get(this.uid), prop = storage[property];
if (dflt != undefined && prop == undefined) prop = storage[property] = dflt;
return $pick(prop);
},
store: function(property, value){
var storage = get(this.uid);
storage[property] = value;
return this;
},
eliminate: function(property){
var storage = get(this.uid);
delete storage[property];
return this;
}
});
window.addListener('unload', purge);
})();
Element.Properties = new Hash;
Element.Properties.style = {
set: function(style){
this.style.cssText = style;
},
get: function(){
return this.style.cssText;
},
erase: function(){
this.style.cssText = '';
}
};
Element.Properties.tag = {
get: function(){
return this.tagName.toLowerCase();
}
};
Element.Properties.html = (function(){
var wrapper = document.createElement('div');
var translations = {
table: [1, '<table>', '</table>'],
select: [1, '<select>', '</select>'],
tbody: [2, '<table><tbody>', '</tbody></table>'],
tr: [3, '<table><tbody><tr>', '</tr></tbody></table>']
};
translations.thead = translations.tfoot = translations.tbody;
var html = {
set: function(){
var html = Array.flatten(arguments).join('');
var wrap = Browser.Engine.trident && translations[this.get('tag')];
if (wrap){
var first = wrapper;
first.innerHTML = wrap[1] + html + wrap[2];
for (var i = wrap[0]; i--;) first = first.firstChild;
this.empty().adopt(first.childNodes);
} else {
this.innerHTML = html;
}
}
};
html.erase = html.set;
return html;
})();
if (Browser.Engine.webkit && Browser.Engine.version < 420) Element.Properties.text = {
get: function(){
if (this.innerText) return this.innerText;
var temp = this.ownerDocument.newElement('div', {html: this.innerHTML}).inject(this.ownerDocument.body);
var text = temp.innerText;
temp.destroy();
return text;
}
};
Element.Properties.events = {set: function(events){
this.addEvents(events);
}};
Native.implement([Element, Window, Document], {
addEvent: function(type, fn){
var events = this.retrieve('events', {});
events[type] = events[type] || {'keys': [], 'values': []};
if (events[type].keys.contains(fn)) return this;
events[type].keys.push(fn);
var realType = type, custom = Element.Events.get(type), condition = fn, self = this;
if (custom){
if (custom.onAdd) custom.onAdd.call(this, fn);
if (custom.condition){
condition = function(event){
if (custom.condition.call(this, event)) return fn.call(this, event);
return true;
};
}
realType = custom.base || realType;
}
var defn = function(){
return fn.call(self);
};
var nativeEvent = Element.NativeEvents[realType];
if (nativeEvent){
if (nativeEvent == 2){
defn = function(event){
event = new Event(event, self.getWindow());
if (condition.call(self, event) === false) event.stop();
};
}
this.addListener(realType, defn);
}
events[type].values.push(defn);
return this;
},
removeEvent: function(type, fn){
var events = this.retrieve('events');
if (!events || !events[type]) return this;
var pos = events[type].keys.indexOf(fn);
if (pos == -1) return this;
events[type].keys.splice(pos, 1);
var value = events[type].values.splice(pos, 1)[0];
var custom = Element.Events.get(type);
if (custom){
if (custom.onRemove) custom.onRemove.call(this, fn);
type = custom.base || type;
}
return (Element.NativeEvents[type]) ? this.removeListener(type, value) : this;
},
addEvents: function(events){
for (var event in events) this.addEvent(event, events[event]);
return this;
},
removeEvents: function(events){
if ($type(events) == 'object'){
for (var type in events) this.removeEvent(type, events[type]);
return this;
}
var attached = this.retrieve('events');
if (!attached) return this;
if (!events){
for (var type in attached) this.removeEvents(type);
this.eliminate('events');
} else if (attached[events]){
while (attached[events].keys[0]) this.removeEvent(events, attached[events].keys[0]);
attached[events] = null;
}
return this;
},
fireEvent: function(type, args, delay){
var events = this.retrieve('events');
if (!events || !events[type]) return this;
events[type].keys.each(function(fn){
fn.create({'bind': this, 'delay': delay, 'arguments': args})();
}, this);
return this;
},
cloneEvents: function(from, type){
from = $(from);
var fevents = from.retrieve('events');
if (!fevents) return this;
if (!type){
for (var evType in fevents) this.cloneEvents(from, evType);
} else if (fevents[type]){
fevents[type].keys.each(function(fn){
this.addEvent(type, fn);
}, this);
}
return this;
}
});
Element.NativeEvents = {
click: 2, dblclick: 2, mouseup: 2, mousedown: 2, contextmenu: 2, //mouse buttons
mousewheel: 2, DOMMouseScroll: 2, //mouse wheel
mouseover: 2, mouseout: 2, mousemove: 2, selectstart: 2, selectend: 2, //mouse movement
keydown: 2, keypress: 2, keyup: 2, //keyboard
focus: 2, blur: 2, change: 2, reset: 2, select: 2, submit: 2, //form elements
load: 1, unload: 1, beforeunload: 2, resize: 1, move: 1, DOMContentLoaded: 1, readystatechange: 1, //window
error: 1, abort: 1, scroll: 1 //misc
};
(function(){
var $check = function(event){
var related = event.relatedTarget;
if (related == undefined) return true;
if (related === false) return false;
return ($type(this) != 'document' && related != this && related.prefix != 'xul' && !this.hasChild(related));
};
Element.Events = new Hash({
mouseenter: {
base: 'mouseover',
condition: $check
},
mouseleave: {
base: 'mouseout',
condition: $check
},
mousewheel: {
base: (Browser.Engine.gecko) ? 'DOMMouseScroll' : 'mousewheel'
}
});
})();
Element.Properties.styles = {set: function(styles){
this.setStyles(styles);
}};
Element.Properties.opacity = {
set: function(opacity, novisibility){
if (!novisibility){
if (opacity == 0){
if (this.style.visibility != 'hidden') this.style.visibility = 'hidden';
} else {
if (this.style.visibility != 'visible') this.style.visibility = 'visible';
}
}
if (!this.currentStyle || !this.currentStyle.hasLayout) this.style.zoom = 1;
if (Browser.Engine.trident) this.style.filter = (opacity == 1) ? '' : 'alpha(opacity=' + opacity * 100 + ')';
this.style.opacity = opacity;
this.store('opacity', opacity);
},
get: function(){
return this.retrieve('opacity', 1);
}
};
Element.implement({
setOpacity: function(value){
return this.set('opacity', value, true);
},
getOpacity: function(){
return this.get('opacity');
},
setStyle: function(property, value){
switch (property){
case 'opacity': return this.set('opacity', parseFloat(value));
case 'float': property = (Browser.Engine.trident) ? 'styleFloat' : 'cssFloat';
}
property = property.camelCase();
if ($type(value) != 'string'){
var map = (Element.Styles.get(property) || '@').split(' ');
value = $splat(value).map(function(val, i){
if (!map[i]) return '';
return ($type(val) == 'number') ? map[i].replace('@', Math.round(val)) : val;
}).join(' ');
} else if (value == String(Number(value))){
value = Math.round(value);
}
this.style[property] = value;
return this;
},
getStyle: function(property){
switch (property){
case 'opacity': return this.get('opacity');
case 'float': property = (Browser.Engine.trident) ? 'styleFloat' : 'cssFloat';
}
property = property.camelCase();
var result = this.style[property];
if (!$chk(result)){
result = [];
for (var style in Element.ShortStyles){
if (property != style) continue;
for (var s in Element.ShortStyles[style]) result.push(this.getStyle(s));
return result.join(' ');
}
result = this.getComputedStyle(property);
}
if (result){
result = String(result);
var color = result.match(/rgba?\([\d\s,]+\)/);
if (color) result = result.replace(color[0], color[0].rgbToHex());
}
if (Browser.Engine.presto || (Browser.Engine.trident && !$chk(parseInt(result)))){
if (property.test(/^(height|width)$/)){
var values = (property == 'width') ? ['left', 'right'] : ['top', 'bottom'], size = 0;
values.each(function(value){
size += this.getStyle('border-' + value + '-width').toInt() + this.getStyle('padding-' + value).toInt();
}, this);
return this['offset' + property.capitalize()] - size + 'px';
}
if ((Browser.Engine.presto) && String(result).test('px')) return result;
if (property.test(/(border(.+)Width|margin|padding)/)) return '0px';
}
return result;
},
setStyles: function(styles){
for (var style in styles) this.setStyle(style, styles[style]);
return this;
},
getStyles: function(){
var result = {};
Array.each(arguments, function(key){
result[key] = this.getStyle(key);
}, this);
return result;
}
});
Element.Styles = new Hash({
left: '@px', top: '@px', bottom: '@px', right: '@px',
width: '@px', height: '@px', maxWidth: '@px', maxHeight: '@px', minWidth: '@px', minHeight: '@px',
backgroundColor: 'rgb(@, @, @)', backgroundPosition: '@px @px', color: 'rgb(@, @, @)',
fontSize: '@px', letterSpacing: '@px', lineHeight: '@px', clip: 'rect(@px @px @px @px)',
margin: '@px @px @px @px', padding: '@px @px @px @px', border: '@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)',
borderWidth: '@px @px @px @px', borderStyle: '@ @ @ @', borderColor: 'rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)',
zIndex: '@', 'zoom': '@', fontWeight: '@', textIndent: '@px', opacity: '@'
});
Element.ShortStyles = {margin: {}, padding: {}, border: {}, borderWidth: {}, borderStyle: {}, borderColor: {}};
['Top', 'Right', 'Bottom', 'Left'].each(function(direction){
var Short = Element.ShortStyles;
var All = Element.Styles;
['margin', 'padding'].each(function(style){
var sd = style + direction;
Short[style][sd] = All[sd] = '@px';
});
var bd = 'border' + direction;
Short.border[bd] = All[bd] = '@px @ rgb(@, @, @)';
var bdw = bd + 'Width', bds = bd + 'Style', bdc = bd + 'Color';
Short[bd] = {};
Short.borderWidth[bdw] = Short[bd][bdw] = All[bdw] = '@px';
Short.borderStyle[bds] = Short[bd][bds] = All[bds] = '@';
Short.borderColor[bdc] = Short[bd][bdc] = All[bdc] = 'rgb(@, @, @)';
});
(function(){
Element.implement({
scrollTo: function(x, y){
if (isBody(this)){
this.getWindow().scrollTo(x, y);
} else {
this.scrollLeft = x;
this.scrollTop = y;
}
return this;
},
getSize: function(){
if (isBody(this)) return this.getWindow().getSize();
return {x: this.offsetWidth, y: this.offsetHeight};
},
getScrollSize: function(){
if (isBody(this)) return this.getWindow().getScrollSize();
return {x: this.scrollWidth, y: this.scrollHeight};
},
getScroll: function(){
if (isBody(this)) return this.getWindow().getScroll();
return {x: this.scrollLeft, y: this.scrollTop};
},
getScrolls: function(){
var element = this, position = {x: 0, y: 0};
while (element && !isBody(element)){
position.x += element.scrollLeft;
position.y += element.scrollTop;
element = element.parentNode;
}
return position;
},
getOffsetParent: function(){
var element = this;
if (isBody(element)) return null;
if (!Browser.Engine.trident) return element.offsetParent;
while ((element = element.parentNode) && !isBody(element)){
if (styleString(element, 'position') != 'static') return element;
}
return null;
},
getOffsets: function(){
if (Browser.Engine.trident){
var bound = this.getBoundingClientRect(), html = this.getDocument().documentElement;
return {
x: bound.left + html.scrollLeft - html.clientLeft,
y: bound.top + html.scrollTop - html.clientTop
};
}
var element = this, position = {x: 0, y: 0};
if (isBody(this)) return position;
while (element && !isBody(element)){
position.x += element.offsetLeft;
position.y += element.offsetTop;
if (Browser.Engine.gecko){
if (!borderBox(element)){
position.x += leftBorder(element);
position.y += topBorder(element);
}
var parent = element.parentNode;
if (parent && styleString(parent, 'overflow') != 'visible'){
position.x += leftBorder(parent);
position.y += topBorder(parent);
}
} else if (element != this && Browser.Engine.webkit){
position.x += leftBorder(element);
position.y += topBorder(element);
}
element = element.offsetParent;
}
if (Browser.Engine.gecko && !borderBox(this)){
position.x -= leftBorder(this);
position.y -= topBorder(this);
}
return position;
},
getPosition: function(relative){
if (isBody(this)) return {x: 0, y: 0};
var offset = this.getOffsets(), scroll = this.getScrolls();
var position = {x: offset.x - scroll.x, y: offset.y - scroll.y};
var relativePosition = (relative && (relative = $(relative))) ? relative.getPosition() : {x: 0, y: 0};
return {x: position.x - relativePosition.x, y: position.y - relativePosition.y};
},
getCoordinates: function(element){
if (isBody(this)) return this.getWindow().getCoordinates();
var position = this.getPosition(element), size = this.getSize();
var obj = {left: position.x, top: position.y, width: size.x, height: size.y};
obj.right = obj.left + obj.width;
obj.bottom = obj.top + obj.height;
return obj;
},
computePosition: function(obj){
return {left: obj.x - styleNumber(this, 'margin-left'), top: obj.y - styleNumber(this, 'margin-top')};
},
position: function(obj){
return this.setStyles(this.computePosition(obj));
}
});
Native.implement([Document, Window], {
getSize: function(){
var win = this.getWindow();
if (Browser.Engine.presto || Browser.Engine.webkit) return {x: win.innerWidth, y: win.innerHeight};
var doc = getCompatElement(this);
return {x: doc.clientWidth, y: doc.clientHeight};
},
getScroll: function(){
var win = this.getWindow();
var doc = getCompatElement(this);
return {x: win.pageXOffset || doc.scrollLeft, y: win.pageYOffset || doc.scrollTop};
},
getScrollSize: function(){
var doc = getCompatElement(this);
var min = this.getSize();
return {x: Math.max(doc.scrollWidth, min.x), y: Math.max(doc.scrollHeight, min.y)};
},
getPosition: function(){
return {x: 0, y: 0};
},
getCoordinates: function(){
var size = this.getSize();
return {top: 0, left: 0, bottom: size.y, right: size.x, height: size.y, width: size.x};
}
});
var styleString = Element.getComputedStyle;
function styleNumber(element, style){
return styleString(element, style).toInt() || 0;
};
function borderBox(element){
return styleString(element, '-moz-box-sizing') == 'border-box';
};
function topBorder(element){
return styleNumber(element, 'border-top-width');
};
function leftBorder(element){
return styleNumber(element, 'border-left-width');
};
function isBody(element){
return (/^(?:body|html)$/i).test(element.tagName);
};
function getCompatElement(element){
var doc = element.getDocument();
return (!doc.compatMode || doc.compatMode == 'CSS1Compat') ? doc.html : doc.body;
};
})();
Native.implement([Window, Document, Element], {
getHeight: function(){
return this.getSize().y;
},
getWidth: function(){
return this.getSize().x;
},
getScrollTop: function(){
return this.getScroll().y;
},
getScrollLeft: function(){
return this.getScroll().x;
},
getScrollHeight: function(){
return this.getScrollSize().y;
},
getScrollWidth: function(){
return this.getScrollSize().x;
},
getTop: function(){
return this.getPosition().y;
},
getLeft: function(){
return this.getPosition().x;
}
});
Native.implement([Document, Element], {
getElements: function(expression, nocash){
expression = expression.split(',');
var items, local = {};
for (var i = 0, l = expression.length; i < l; i++){
var selector = expression[i], elements = Selectors.Utils.search(this, selector, local);
if (i != 0 && elements.item) elements = $A(elements);
items = (i == 0) ? elements : (items.item) ? $A(items).concat(elements) : items.concat(elements);
}
return new Elements(items, {ddup: (expression.length > 1), cash: !nocash});
}
});
Element.implement({
match: function(selector){
if (!selector || (selector == this)) return true;
var tagid = Selectors.Utils.parseTagAndID(selector);
var tag = tagid[0], id = tagid[1];
if (!Selectors.Filters.byID(this, id) || !Selectors.Filters.byTag(this, tag)) return false;
var parsed = Selectors.Utils.parseSelector(selector);
return (parsed) ? Selectors.Utils.filter(this, parsed, {}) : true;
}
});
var Selectors = {Cache: {nth: {}, parsed: {}}};
Selectors.RegExps = {
id: (/#([\w-]+)/),
tag: (/^(\w+|\*)/),
quick: (/^(\w+|\*)$/),
splitter: (/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),
combined: (/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)
};
Selectors.Utils = {
chk: function(item, uniques){
if (!uniques) return true;
var uid = $uid(item);
if (!uniques[uid]) return uniques[uid] = true;
return false;
},
parseNthArgument: function(argument){
if (Selectors.Cache.nth[argument]) return Selectors.Cache.nth[argument];
var parsed = argument.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);
if (!parsed) return false;
var inta = parseInt(parsed[1]);
var a = (inta || inta === 0) ? inta : 1;
var special = parsed[2] || false;
var b = parseInt(parsed[3]) || 0;
if (a != 0){
b--;
while (b < 1) b += a;
while (b >= a) b -= a;
} else {
a = b;
special = 'index';
}
switch (special){
case 'n': parsed = {a: a, b: b, special: 'n'}; break;
case 'odd': parsed = {a: 2, b: 0, special: 'n'}; break;
case 'even': parsed = {a: 2, b: 1, special: 'n'}; break;
case 'first': parsed = {a: 0, special: 'index'}; break;
case 'last': parsed = {special: 'last-child'}; break;
case 'only': parsed = {special: 'only-child'}; break;
default: parsed = {a: (a - 1), special: 'index'};
}
return Selectors.Cache.nth[argument] = parsed;
},
parseSelector: function(selector){
if (Selectors.Cache.parsed[selector]) return Selectors.Cache.parsed[selector];
var m, parsed = {classes: [], pseudos: [], attributes: []};
while ((m = Selectors.RegExps.combined.exec(selector))){
var cn = m[1], an = m[2], ao = m[3], av = m[5], pn = m[6], pa = m[7];
if (cn){
parsed.classes.push(cn);
} else if (pn){
var parser = Selectors.Pseudo.get(pn);
if (parser) parsed.pseudos.push({parser: parser, argument: pa});
else parsed.attributes.push({name: pn, operator: '=', value: pa});
} else if (an){
parsed.attributes.push({name: an, operator: ao, value: av});
}
}
if (!parsed.classes.length) delete parsed.classes;
if (!parsed.attributes.length) delete parsed.attributes;
if (!parsed.pseudos.length) delete parsed.pseudos;
if (!parsed.classes && !parsed.attributes && !parsed.pseudos) parsed = null;
return Selectors.Cache.parsed[selector] = parsed;
},
parseTagAndID: function(selector){
var tag = selector.match(Selectors.RegExps.tag);
var id = selector.match(Selectors.RegExps.id);
return [(tag) ? tag[1] : '*', (id) ? id[1] : false];
},
filter: function(item, parsed, local){
var i;
if (parsed.classes){
for (i = parsed.classes.length; i--; i){
var cn = parsed.classes[i];
if (!Selectors.Filters.byClass(item, cn)) return false;
}
}
if (parsed.attributes){
for (i = parsed.attributes.length; i--; i){
var att = parsed.attributes[i];
if (!Selectors.Filters.byAttribute(item, att.name, att.operator, att.value)) return false;
}
}
if (parsed.pseudos){
for (i = parsed.pseudos.length; i--; i){
var psd = parsed.pseudos[i];
if (!Selectors.Filters.byPseudo(item, psd.parser, psd.argument, local)) return false;
}
}
return true;
},
getByTagAndID: function(ctx, tag, id){
if (id){
var item = (ctx.getElementById) ? ctx.getElementById(id, true) : Element.getElementById(ctx, id, true);
return (item && Selectors.Filters.byTag(item, tag)) ? [item] : [];
} else {
return ctx.getElementsByTagName(tag);
}
},
search: function(self, expression, local){
var splitters = [];
var selectors = expression.trim().replace(Selectors.RegExps.splitter, function(m0, m1, m2){
splitters.push(m1);
return ':)' + m2;
}).split(':)');
var items, filtered, item;
for (var i = 0, l = selectors.length; i < l; i++){
var selector = selectors[i];
if (i == 0 && Selectors.RegExps.quick.test(selector)){
items = self.getElementsByTagName(selector);
continue;
}
var splitter = splitters[i - 1];
var tagid = Selectors.Utils.parseTagAndID(selector);
var tag = tagid[0], id = tagid[1];
if (i == 0){
items = Selectors.Utils.getByTagAndID(self, tag, id);
} else {
var uniques = {}, found = [];
for (var j = 0, k = items.length; j < k; j++) found = Selectors.Getters[splitter](found, items[j], tag, id, uniques);
items = found;
}
var parsed = Selectors.Utils.parseSelector(selector);
if (parsed){
filtered = [];
for (var m = 0, n = items.length; m < n; m++){
item = items[m];
if (Selectors.Utils.filter(item, parsed, local)) filtered.push(item);
}
items = filtered;
}
}
return items;
}
};
Selectors.Getters = {
' ': function(found, self, tag, id, uniques){
var items = Selectors.Utils.getByTagAndID(self, tag, id);
for (var i = 0, l = items.length; i < l; i++){
var item = items[i];
if (Selectors.Utils.chk(item, uniques)) found.push(item);
}
return found;
},
'>': function(found, self, tag, id, uniques){
var children = Selectors.Utils.getByTagAndID(self, tag, id);
for (var i = 0, l = children.length; i < l; i++){
var child = children[i];
if (child.parentNode == self && Selectors.Utils.chk(child, uniques)) found.push(child);
}
return found;
},
'+': function(found, self, tag, id, uniques){
while ((self = self.nextSibling)){
if (self.nodeType == 1){
if (Selectors.Utils.chk(self, uniques) && Selectors.Filters.byTag(self, tag) && Selectors.Filters.byID(self, id)) found.push(self);
break;
}
}
return found;
},
'~': function(found, self, tag, id, uniques){
while ((self = self.nextSibling)){
if (self.nodeType == 1){
if (!Selectors.Utils.chk(self, uniques)) break;
if (Selectors.Filters.byTag(self, tag) && Selectors.Filters.byID(self, id)) found.push(self);
}
}
return found;
}
};
Selectors.Filters = {
byTag: function(self, tag){
return (tag == '*' || (self.tagName && self.tagName.toLowerCase() == tag));
},
byID: function(self, id){
return (!id || (self.id && self.id == id));
},
byClass: function(self, klass){
return (self.className && self.className.contains(klass, ' '));
},
byPseudo: function(self, parser, argument, local){
return parser.call(self, argument, local);
},
byAttribute: function(self, name, operator, value){
var result = Element.prototype.getProperty.call(self, name);
if (!result) return (operator == '!=');
if (!operator || value == undefined) return true;
switch (operator){
case '=': return (result == value);
case '*=': return (result.contains(value));
case '^=': return (result.substr(0, value.length) == value);
case '$=': return (result.substr(result.length - value.length) == value);
case '!=': return (result != value);
case '~=': return result.contains(value, ' ');
case '|=': return result.contains(value, '-');
}
return false;
}
};
Selectors.Pseudo = new Hash({
checked: function(){
return this.checked;
},
empty: function(){
return !(this.innerText || this.textContent || '').length;
},
not: function(selector){
return !Element.match(this, selector);
},
contains: function(text){
return (this.innerText || this.textContent || '').contains(text);
},
'first-child': function(){
return Selectors.Pseudo.index.call(this, 0);
},
'last-child': function(){
var element = this;
while ((element = element.nextSibling)){
if (element.nodeType == 1) return false;
}
return true;
},
'only-child': function(){
var prev = this;
while ((prev = prev.previousSibling)){
if (prev.nodeType == 1) return false;
}
var next = this;
while ((next = next.nextSibling)){
if (next.nodeType == 1) return false;
}
return true;
},
'nth-child': function(argument, local){
argument = (argument == undefined) ? 'n' : argument;
var parsed = Selectors.Utils.parseNthArgument(argument);
if (parsed.special != 'n') return Selectors.Pseudo[parsed.special].call(this, parsed.a, local);
var count = 0;
local.positions = local.positions || {};
var uid = $uid(this);
if (!local.positions[uid]){
var self = this;
while ((self = self.previousSibling)){
if (self.nodeType != 1) continue;
count ++;
var position = local.positions[$uid(self)];
if (position != undefined){
count = position + count;
break;
}
}
local.positions[uid] = count;
}
return (local.positions[uid] % parsed.a == parsed.b);
},
index: function(index){
var element = this, count = 0;
while ((element = element.previousSibling)){
if (element.nodeType == 1 && ++count > index) return false;
}
return (count == index);
},
even: function(argument, local){
return Selectors.Pseudo['nth-child'].call(this, '2n+1', local);
},
odd: function(argument, local){
return Selectors.Pseudo['nth-child'].call(this, '2n', local);
}
});
Element.Events.domready = {
onAdd: function(fn){
if (Browser.loaded) fn.call(this);
}
};
(function(){
var domready = function(){
if (Browser.loaded) return;
Browser.loaded = true;
window.fireEvent('domready');
document.fireEvent('domready');
};
if (Browser.Engine.trident){
var temp = document.createElement('div');
(function(){
($try(function(){
temp.doScroll('left');
return $(temp).inject(document.body).set('html', 'temp').dispose();
})) ? domready() : arguments.callee.delay(50);
})();
} else if (Browser.Engine.webkit && Browser.Engine.version < 525){
(function(){
(['loaded', 'complete'].contains(document.readyState)) ? domready() : arguments.callee.delay(50);
})();
} else {
window.addEvent('load', domready);
document.addEvent('DOMContentLoaded', domready);
}
})();
var JSON = new Hash({
$specialChars: {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\'},
$replaceChars: function(chr){
return JSON.$specialChars[chr] || '\\u00' + Math.floor(chr.charCodeAt() / 16).toString(16) + (chr.charCodeAt() % 16).toString(16);
},
encode: function(obj){
switch ($type(obj)){
case 'string':
return '"' + obj.replace(/[\x00-\x1f\\"]/g, JSON.$replaceChars) + '"';
case 'array':
return '[' + String(obj.map(JSON.encode).filter($defined)) + ']';
case 'object': case 'hash':
var string = [];
Hash.each(obj, function(value, key){
var json = JSON.encode(value);
if (json) string.push(JSON.encode(key) + ':' + json);
});
return '{' + string + '}';
case 'number': case 'boolean': return String(obj);
case false: return 'null';
}
return null;
},
decode: function(string, secure){
if ($type(string) != 'string' || !string.length) return null;
if (secure && !(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''))) return null;
return eval('(' + string + ')');
}
});
Native.implement([Hash, Array, String, Number], {
toJSON: function(){
return JSON.encode(this);
}
});
var Cookie = new Class({
Implements: Options,
options: {
path: false,
domain: false,
duration: false,
secure: false,
document: document
},
initialize: function(key, options){
this.key = key;
this.setOptions(options);
},
write: function(value){
value = encodeURIComponent(value);
if (this.options.domain) value += '; domain=' + this.options.domain;
if (this.options.path) value += '; path=' + this.options.path;
if (this.options.duration){
var date = new Date();
date.setTime(date.getTime() + this.options.duration * 24 * 60 * 60 * 1000);
value += '; expires=' + date.toGMTString();
}
if (this.options.secure) value += '; secure';
this.options.document.cookie = this.key + '=' + value;
return this;
},
read: function(){
var value = this.options.document.cookie.match('(?:^|;)\\s*' + this.key.escapeRegExp() + '=([^;]*)');
return (value) ? decodeURIComponent(value[1]) : null;
},
dispose: function(){
new Cookie(this.key, $merge(this.options, {duration: -1})).write('');
return this;
}
});
Cookie.write = function(key, value, options){
return new Cookie(key, options).write(value);
};
Cookie.read = function(key){
return new Cookie(key).read();
};
Cookie.dispose = function(key, options){
return new Cookie(key, options).dispose();
};
var Swiff = new Class({
Implements: [Options],
options: {
id: null,
height: 1,
width: 1,
container: null,
properties: {},
params: {
quality: 'high',
allowScriptAccess: 'always',
wMode: 'transparent',
swLiveConnect: true
},
callBacks: {},
vars: {}
},
toElement: function(){
return this.object;
},
initialize: function(path, options){
this.instance = 'Swiff_' + $time();
this.setOptions(options);
options = this.options;
var id = this.id = options.id || this.instance;
var container = $(options.container);
Swiff.CallBacks[this.instance] = {};
var params = options.params, vars = options.vars, callBacks = options.callBacks;
var properties = $extend({height: options.height, width: options.width}, options.properties);
var self = this;
for (var callBack in callBacks){
Swiff.CallBacks[this.instance][callBack] = (function(option){
return function(){
return option.apply(self.object, arguments);
};
})(callBacks[callBack]);
vars[callBack] = 'Swiff.CallBacks.' + this.instance + '.' + callBack;
}
params.flashVars = Hash.toQueryString(vars);
if (Browser.Engine.trident){
properties.classid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
params.movie = path;
} else {
properties.type = 'application/x-shockwave-flash';
properties.data = path;
}
var build = '<object id="' + id + '"';
for (var property in properties) build += ' ' + property + '="' + properties[property] + '"';
build += '>';
for (var param in params){
if (params[param]) build += '<param name="' + param + '" value="' + params[param] + '" />';
}
build += '</object>';
this.object = ((container) ? container.empty() : new Element('div')).set('html', build).firstChild;
},
replaces: function(element){
element = $(element, true);
element.parentNode.replaceChild(this.toElement(), element);
return this;
},
inject: function(element){
$(element, true).appendChild(this.toElement());
return this;
},
remote: function(){
return Swiff.remote.apply(Swiff, [this.toElement()].extend(arguments));
}
});
Swiff.CallBacks = {};
Swiff.remote = function(obj, fn){
var rs = obj.CallFunction('<invoke name="' + fn + '" returntype="javascript">' + __flash__argumentsToXML(arguments, 2) + '</invoke>');
return eval(rs);
};
var Fx = new Class({
Implements: [Chain, Events, Options],
options: {
fps: 50,
unit: false,
duration: 500,
link: 'ignore'
},
initialize: function(options){
this.subject = this.subject || this;
this.setOptions(options);
this.options.duration = Fx.Durations[this.options.duration] || this.options.duration.toInt();
var wait = this.options.wait;
if (wait === false) this.options.link = 'cancel';
},
getTransition: function(){
return function(p){
return -(Math.cos(Math.PI * p) - 1) / 2;
};
},
step: function(){
var time = $time();
if (time < this.time + this.options.duration){
var delta = this.transition((time - this.time) / this.options.duration);
this.set(this.compute(this.from, this.to, delta));
} else {
this.set(this.compute(this.from, this.to, 1));
this.complete();
}
},
set: function(now){
return now;
},
compute: function(from, to, delta){
return Fx.compute(from, to, delta);
},
check: function(caller){
if (!this.timer) return true;
switch (this.options.link){
case 'cancel': this.cancel(); return true;
case 'chain': this.chain(caller.bind(this, Array.slice(arguments, 1))); return false;
}
return false;
},
start: function(from, to){
if (!this.check(arguments.callee, from, to)) return this;
this.from = from;
this.to = to;
this.time = 0;
this.transition = this.getTransition();
this.startTimer();
this.onStart();
return this;
},
complete: function(){
if (this.stopTimer()) this.onComplete();
return this;
},
cancel: function(){
if (this.stopTimer()) this.onCancel();
return this;
},
onStart: function(){
this.fireEvent('start', this.subject);
},
onComplete: function(){
this.fireEvent('complete', this.subject);
if (!this.callChain()) this.fireEvent('chainComplete', this.subject);
},
onCancel: function(){
this.fireEvent('cancel', this.subject).clearChain();
},
pause: function(){
this.stopTimer();
return this;
},
resume: function(){
this.startTimer();
return this;
},
stopTimer: function(){
if (!this.timer) return false;
this.time = $time() - this.time;
this.timer = $clear(this.timer);
return true;
},
startTimer: function(){
if (this.timer) return false;
this.time = $time() - this.time;
this.timer = this.step.periodical(Math.round(1000 / this.options.fps), this);
return true;
}
});
Fx.compute = function(from, to, delta){
return (to - from) * delta + from;
};
Fx.Durations = {'short': 250, 'normal': 500, 'long': 1000};
Fx.CSS = new Class({
Extends: Fx,
prepare: function(element, property, values){
values = $splat(values);
var values1 = values[1];
if (!$chk(values1)){
values[1] = values[0];
values[0] = element.getStyle(property);
}
var parsed = values.map(this.parse);
return {from: parsed[0], to: parsed[1]};
},
parse: function(value){
value = $lambda(value)();
value = (typeof value == 'string') ? value.split(' ') : $splat(value);
return value.map(function(val){
val = String(val);
var found = false;
Fx.CSS.Parsers.each(function(parser, key){
if (found) return;
var parsed = parser.parse(val);
if ($chk(parsed)) found = {value: parsed, parser: parser};
});
found = found || {value: val, parser: Fx.CSS.Parsers.String};
return found;
});
},
compute: function(from, to, delta){
var computed = [];
(Math.min(from.length, to.length)).times(function(i){
computed.push({value: from[i].parser.compute(from[i].value, to[i].value, delta), parser: from[i].parser});
});
computed.$family = {name: 'fx:css:value'};
return computed;
},
serve: function(value, unit){
if ($type(value) != 'fx:css:value') value = this.parse(value);
var returned = [];
value.each(function(bit){
returned = returned.concat(bit.parser.serve(bit.value, unit));
});
return returned;
},
render: function(element, property, value, unit){
element.setStyle(property, this.serve(value, unit));
},
search: function(selector){
if (Fx.CSS.Cache[selector]) return Fx.CSS.Cache[selector];
var to = {};
Array.each(document.styleSheets, function(sheet, j){
var href = sheet.href;
if (href && href.contains('://') && !href.contains(document.domain)) return;
var rules = sheet.rules || sheet.cssRules;
Array.each(rules, function(rule, i){
if (!rule.style) return;
var selectorText = (rule.selectorText) ? rule.selectorText.replace(/^\w+/, function(m){
return m.toLowerCase();
}) : null;
if (!selectorText || !selectorText.test('^' + selector + '$')) return;
Element.Styles.each(function(value, style){
if (!rule.style[style] || Element.ShortStyles[style]) return;
value = String(rule.style[style]);
to[style] = (value.test(/^rgb/)) ? value.rgbToHex() : value;
});
});
});
return Fx.CSS.Cache[selector] = to;
}
});
Fx.CSS.Cache = {};
Fx.CSS.Parsers = new Hash({
Color: {
parse: function(value){
if (value.match(/^#[0-9a-f]{3,6}$/i)) return value.hexToRgb(true);
return ((value = value.match(/(\d+),\s*(\d+),\s*(\d+)/))) ? [value[1], value[2], value[3]] : false;
},
compute: function(from, to, delta){
return from.map(function(value, i){
return Math.round(Fx.compute(from[i], to[i], delta));
});
},
serve: function(value){
return value.map(Number);
}
},
Number: {
parse: parseFloat,
compute: Fx.compute,
serve: function(value, unit){
return (unit) ? value + unit : value;
}
},
String: {
parse: $lambda(false),
compute: $arguments(1),
serve: $arguments(0)
}
});
Fx.Tween = new Class({
Extends: Fx.CSS,
initialize: function(element, options){
this.element = this.subject = $(element);
this.parent(options);
},
set: function(property, now){
if (arguments.length == 1){
now = property;
property = this.property || this.options.property;
}
this.render(this.element, property, now, this.options.unit);
return this;
},
start: function(property, from, to){
if (!this.check(arguments.callee, property, from, to)) return this;
var args = Array.flatten(arguments);
this.property = this.options.property || args.shift();
var parsed = this.prepare(this.element, this.property, args);
return this.parent(parsed.from, parsed.to);
}
});
Element.Properties.tween = {
set: function(options){
var tween = this.retrieve('tween');
if (tween) tween.cancel();
return this.eliminate('tween').store('tween:options', $extend({link: 'cancel'}, options));
},
get: function(options){
if (options || !this.retrieve('tween')){
if (options || !this.retrieve('tween:options')) this.set('tween', options);
this.store('tween', new Fx.Tween(this, this.retrieve('tween:options')));
}
return this.retrieve('tween');
}
};
Element.implement({
tween: function(property, from, to){
this.get('tween').start(arguments);
return this;
},
fade: function(how){
var fade = this.get('tween'), o = 'opacity', toggle;
how = $pick(how, 'toggle');
switch (how){
case 'in': fade.start(o, 1); break;
case 'out': fade.start(o, 0); break;
case 'show': fade.set(o, 1); break;
case 'hide': fade.set(o, 0); break;
case 'toggle':
var flag = this.retrieve('fade:flag', this.get('opacity') == 1);
fade.start(o, (flag) ? 0 : 1);
this.store('fade:flag', !flag);
toggle = true;
break;
default: fade.start(o, arguments);
}
if (!toggle) this.eliminate('fade:flag');
return this;
},
highlight: function(start, end){
if (!end){
end = this.retrieve('highlight:original', this.getStyle('background-color'));
end = (end == 'transparent') ? '#fff' : end;
}
var tween = this.get('tween');
tween.start('background-color', start || '#ffff88', end).chain(function(){
this.setStyle('background-color', this.retrieve('highlight:original'));
tween.callChain();
}.bind(this));
return this;
}
});
Fx.Morph = new Class({
Extends: Fx.CSS,
initialize: function(element, options){
this.element = this.subject = $(element);
this.parent(options);
},
set: function(now){
if (typeof now == 'string') now = this.search(now);
for (var p in now) this.render(this.element, p, now[p], this.options.unit);
return this;
},
compute: function(from, to, delta){
var now = {};
for (var p in from) now[p] = this.parent(from[p], to[p], delta);
return now;
},
start: function(properties){
if (!this.check(arguments.callee, properties)) return this;
if (typeof properties == 'string') properties = this.search(properties);
var from = {}, to = {};
for (var p in properties){
var parsed = this.prepare(this.element, p, properties[p]);
from[p] = parsed.from;
to[p] = parsed.to;
}
return this.parent(from, to);
}
});
Element.Properties.morph = {
set: function(options){
var morph = this.retrieve('morph');
if (morph) morph.cancel();
return this.eliminate('morph').store('morph:options', $extend({link: 'cancel'}, options));
},
get: function(options){
if (options || !this.retrieve('morph')){
if (options || !this.retrieve('morph:options')) this.set('morph', options);
this.store('morph', new Fx.Morph(this, this.retrieve('morph:options')));
}
return this.retrieve('morph');
}
};
Element.implement({
morph: function(props){
this.get('morph').start(props);
return this;
}
});
Fx.implement({
getTransition: function(){
var trans = this.options.transition || Fx.Transitions.Sine.easeInOut;
if (typeof trans == 'string'){
var data = trans.split(':');
trans = Fx.Transitions;
trans = trans[data[0]] || trans[data[0].capitalize()];
if (data[1]) trans = trans['ease' + data[1].capitalize() + (data[2] ? data[2].capitalize() : '')];
}
return trans;
}
});
Fx.Transition = function(transition, params){
params = $splat(params);
return $extend(transition, {
easeIn: function(pos){
return transition(pos, params);
},
easeOut: function(pos){
return 1 - transition(1 - pos, params);
},
easeInOut: function(pos){
return (pos <= 0.5) ? transition(2 * pos, params) / 2 : (2 - transition(2 * (1 - pos), params)) / 2;
}
});
};
Fx.Transitions = new Hash({
linear: $arguments(0)
});
Fx.Transitions.extend = function(transitions){
for (var transition in transitions) Fx.Transitions[transition] = new Fx.Transition(transitions[transition]);
};
Fx.Transitions.extend({
Pow: function(p, x){
return Math.pow(p, x[0] || 6);
},
Expo: function(p){
return Math.pow(2, 8 * (p - 1));
},
Circ: function(p){
return 1 - Math.sin(Math.acos(p));
},
Sine: function(p){
return 1 - Math.sin((1 - p) * Math.PI / 2);
},
Back: function(p, x){
x = x[0] || 1.618;
return Math.pow(p, 2) * ((x + 1) * p - x);
},
Bounce: function(p){
var value;
for (var a = 0, b = 1; 1; a += b, b /= 2){
if (p >= (7 - 4 * a) / 11){
value = b * b - Math.pow((11 - 6 * a - 11 * p) / 4, 2);
break;
}
}
return value;
},
Elastic: function(p, x){
return Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * (x[0] || 1) / 3);
}
});
['Quad', 'Cubic', 'Quart', 'Quint'].each(function(transition, i){
Fx.Transitions[transition] = new Fx.Transition(function(p){
return Math.pow(p, [i + 2]);
});
});
var Request = new Class({
Implements: [Chain, Events, Options],
options: {/*
onRequest: $empty,
onComplete: $empty,
onCancel: $empty,
onSuccess: $empty,
onFailure: $empty,
onException: $empty,*/
url: '',
data: '',
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
},
async: true,
format: false,
method: 'post',
link: 'ignore',
isSuccess: null,
emulation: true,
urlEncoded: true,
encoding: 'utf-8',
evalScripts: false,
evalResponse: false
},
initialize: function(options){
this.xhr = new Browser.Request();
this.setOptions(options);
this.options.isSuccess = this.options.isSuccess || this.isSuccess;
this.headers = new Hash(this.options.headers);
},
onStateChange: function(){
if (this.xhr.readyState != 4 || !this.running) return;
this.running = false;
this.status = 0;
$try(function(){
this.status = this.xhr.status;
}.bind(this));
if (this.options.isSuccess.call(this, this.status)){
this.response = {text: this.xhr.responseText, xml: this.xhr.responseXML};
this.success(this.response.text, this.response.xml);
} else {
this.response = {text: null, xml: null};
this.failure();
}
this.xhr.onreadystatechange = $empty;
},
isSuccess: function(){
return ((this.status >= 200) && (this.status < 300));
},
processScripts: function(text){
if (this.options.evalResponse || (/(ecma|java)script/).test(this.getHeader('Content-type'))) return $exec(text);
return text.stripScripts(this.options.evalScripts);
},
success: function(text, xml){
this.onSuccess(this.processScripts(text), xml);
},
onSuccess: function(){
this.fireEvent('complete', arguments).fireEvent('success', arguments).callChain();
},
failure: function(){
this.onFailure();
},
onFailure: function(){
this.fireEvent('complete').fireEvent('failure', this.xhr);
},
setHeader: function(name, value){
this.headers.set(name, value);
return this;
},
getHeader: function(name){
return $try(function(){
return this.xhr.getResponseHeader(name);
}.bind(this));
},
check: function(caller){
if (!this.running) return true;
switch (this.options.link){
case 'cancel': this.cancel(); return true;
case 'chain': this.chain(caller.bind(this, Array.slice(arguments, 1))); return false;
}
return false;
},
send: function(options){
if (!this.check(arguments.callee, options)) return this;
this.running = true;
var type = $type(options);
if (type == 'string' || type == 'element') options = {data: options};
var old = this.options;
options = $extend({data: old.data, url: old.url, method: old.method}, options);
var data = options.data, url = options.url, method = options.method;
switch ($type(data)){
case 'element': data = $(data).toQueryString(); break;
case 'object': case 'hash': data = Hash.toQueryString(data);
}
if (this.options.format){
var format = 'format=' + this.options.format;
data = (data) ? format + '&' + data : format;
}
if (this.options.emulation && ['put', 'delete'].contains(method)){
var _method = '_method=' + method;
data = (data) ? _method + '&' + data : _method;
method = 'post';
}
if (this.options.urlEncoded && method == 'post'){
var encoding = (this.options.encoding) ? '; charset=' + this.options.encoding : '';
this.headers.set('Content-type', 'application/x-www-form-urlencoded' + encoding);
}
if (data && method == 'get'){
url = url + (url.contains('?') ? '&' : '?') + data;
data = null;
}
this.xhr.open(method.toUpperCase(), url, this.options.async);
this.xhr.onreadystatechange = this.onStateChange.bind(this);
this.headers.each(function(value, key){
try {
this.xhr.setRequestHeader(key, value);
} catch (e){
this.fireEvent('exception', [key, value]);
}
}, this);
this.fireEvent('request');
this.xhr.send(data);
if (!this.options.async) this.onStateChange();
return this;
},
cancel: function(){
if (!this.running) return this;
this.running = false;
this.xhr.abort();
this.xhr.onreadystatechange = $empty;
this.xhr = new Browser.Request();
this.fireEvent('cancel');
return this;
}
});
(function(){
var methods = {};
['get', 'post', 'put', 'delete', 'GET', 'POST', 'PUT', 'DELETE'].each(function(method){
methods[method] = function(){
var params = Array.link(arguments, {url: String.type, data: $defined});
return this.send($extend(params, {method: method.toLowerCase()}));
};
});
Request.implement(methods);
})();
Element.Properties.send = {
set: function(options){
var send = this.retrieve('send');
if (send) send.cancel();
return this.eliminate('send').store('send:options', $extend({
data: this, link: 'cancel', method: this.get('method') || 'post', url: this.get('action')
}, options));
},
get: function(options){
if (options || !this.retrieve('send')){
if (options || !this.retrieve('send:options')) this.set('send', options);
this.store('send', new Request(this.retrieve('send:options')));
}
return this.retrieve('send');
}
};
Element.implement({
send: function(url){
var sender = this.get('send');
sender.send({data: this, url: url || sender.options.url});
return this;
}
});
Request.HTML = new Class({
Extends: Request,
options: {
update: false,
evalScripts: true,
filter: false
},
processHTML: function(text){
var match = text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
text = (match) ? match[1] : text;
var container = new Element('div');
return $try(function(){
var root = '<root>' + text + '</root>', doc;
if (Browser.Engine.trident){
doc = new ActiveXObject('Microsoft.XMLDOM');
doc.async = false;
doc.loadXML(root);
} else {
doc = new DOMParser().parseFromString(root, 'text/xml');
}
root = doc.getElementsByTagName('root')[0];
for (var i = 0, k = root.childNodes.length; i < k; i++){
var child = Element.clone(root.childNodes[i], true, true);
if (child) container.grab(child);
}
return container;
}) || container.set('html', text);
},
success: function(text){
var options = this.options, response = this.response;
response.html = text.stripScripts(function(script){
response.javascript = script;
});
var temp = this.processHTML(response.html);
response.tree = temp.childNodes;
response.elements = temp.getElements('*');
if (options.filter) response.tree = response.elements.filter(options.filter);
if (options.update) $(options.update).empty().set('html', response.html);
if (options.evalScripts) $exec(response.javascript);
this.onSuccess(response.tree, response.elements, response.html, response.javascript);
}
});
Element.Properties.load = {
set: function(options){
var load = this.retrieve('load');
if (load) load.cancel();
return this.eliminate('load').store('load:options', $extend({data: this, link: 'cancel', update: this, method: 'get'}, options));
},
get: function(options){
if (options || ! this.retrieve('load')){
if (options || !this.retrieve('load:options')) this.set('load', options);
this.store('load', new Request.HTML(this.retrieve('load:options')));
}
return this.retrieve('load');
}
};
Element.implement({
load: function(){
this.get('load').send(Array.link(arguments, {data: Object.type, url: String.type}));
return this;
}
});
Request.JSON = new Class({
Extends: Request,
options: {
secure: true
},
initialize: function(options){
this.parent(options);
this.headers.extend({'Accept': 'application/json', 'X-Request': 'JSON'});
},
success: function(text){
this.response.json = JSON.decode(text, this.options.secure);
this.onSuccess(this.response.json, text);
}
});
MooTools.More={version:"1.2.2.1"};var Log=new Class({log:function(){Log.logger.call(this,arguments);}});Log.logged=[];Log.logger=function(){if(window.console&&console.log){console.log.apply(console,arguments);
}else{Log.logged.push(arguments);}};Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(b,a){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);
if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper);}},true);this.element=this.subject=$(b);this.parent(a);var c=this.element.retrieve("wrapper");
this.wrapper=c||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);
this.now=[];this.open=true;},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";
this.layout="width";this.offset=this.element.offsetWidth;},set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);
return this;},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(b,e){if(!this.check(b,e)){return this;
}this[e||this.options.mode]();var d=this.element.getStyle(this.margin).toInt();var c=this.wrapper.getStyle(this.layout).toInt();var a=[[d,c],[0,this.offset]];
var g=[[d,c],[-this.offset,0]];var f;switch(b){case"in":f=a;break;case"out":f=g;break;case"toggle":f=(c==0)?a:g;}return this.parent(f[0],f[1]);},slideIn:function(a){return this.start("in",a);
},slideOut:function(a){return this.start("out",a);},hide:function(a){this[a||this.options.mode]();this.open=false;return this.set([-this.offset,0]);},show:function(a){this[a||this.options.mode]();
this.open=true;return this.set([0,this.offset]);},toggle:function(a){return this.start("toggle",a);}});Element.Properties.slide={set:function(b){var a=this.retrieve("slide");
if(a){a.cancel();}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},b));},get:function(a){if(a||!this.retrieve("slide")){if(a||!this.retrieve("slide:options")){this.set("slide",a);
}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));}return this.retrieve("slide");}};Element.implement({slide:function(d,e){d=d||"toggle";
var b=this.get("slide"),a;switch(d){case"hide":b.hide(e);break;case"show":b.show(e);break;case"toggle":var c=this.retrieve("slide:flag",b.open);b[c?"slideOut":"slideIn"](e);
this.store("slide:flag",!c);a=true;break;default:b.start(d,e);}if(!a){this.eliminate("slide:flag");}return this;}});var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);
var b=new Element("script",{src:f,type:"text/javascript"});var e=d.onload.bind(b),a=d.check,g=d.document;delete d.onload;delete d.check;delete d.document;
b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){e();}}}).set(d);if(Browser.Engine.webkit419){var c=(function(){if(!$try(a)){return;
}$clear(c);e();}).periodical(50);}return b.inject(g.head);},css:function(b,a){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a)).inject(document.head);
},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image();var a=$(d)||new Element("img");["load","abort","error"].each(function(e){var f="on"+e;
var g=b[f];delete b[f];d[f]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;g.delay(1,a,a);
a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty},c);
d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();
}}});}));}};
var Overlay = new Class({
Implements: [Options],
options:{
colour: '#FFF',//background color of overlay
opacity: 0.7,//opacity of overlay
zIndex: 100,//the z-index of the overlay (needs to lower than multiBox pop-up)
onClick: new Class()//make sure new class is loaded
},
initialize: function(options){
this.setOptions(options);
this.container = new Element('div', {
'id': 'OverlayContainer',
'styles': {
position: 'absolute',
left: 0,
top: 0,
width: '100%',
visibility: 'hidden',
overflow: 'hidden',
zIndex: this.options.zIndex,
opacity: 0
}
}).inject(this.options.container,'inside');
this.iframe = new Element('iframe', {
'id': 'OverlayIframe',
'name': 'OverlayIframe',
'src': 'javascript:void(0);',
'frameborder': 0,
'scrolling': 'no',
'styles': {
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
filter: 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)',
opacity: 0,
zIndex: 101
}
}).inject(this.container,'inside');
this.overlay = new Element('div', {
'id': 'Overlay',
'styles': {
position: 'absolute',
left: 0,
top: 0,
width: '100%',
height: '100%',
zIndex: 102,
backgroundColor: this.options.colour
}
}).inject(this.container,'inside');
this.container.addEvent('click', function(){
this.options.onClick();
}.bind(this));
this.fade = new Fx.Morph(this.container);
this.position();
window.addEvent('resize',this.position.bind(this));
},
position: function(){
this.container.setStyle('height',0);//reset container height ready for resize
if(this.options.container == document.body){
if(this.options.container.getSize().y >= this.options.container.getScrollSize().y){
this.container.setStyles({
width: window.getSize().x,
height: window.getSize().y
});
}else{
this.container.setStyles({
width: window.getSize().x,
height: window.getScrollSize().y
});
};
}else{
var myCoords = this.options.container.getCoordinates();
this.container.setStyles({
top: myCoords.top,
height: myCoords.height,
left: myCoords.left,
width: myCoords.width
});
};
},
show: function(){
this.fade.start({
visibility: 'visible',
opacity: this.options.opacity
}).chain(function() {
visibility: 'hidden'
});
},
hide: function(){
this.fade.start({
opacity: 0
}).chain(function() {
visibility: 'hidden'
});
}
});
var multiBox = new Class({
Implements: [Options],
options:{
initialWidth: 700,//initial width the box will open at before resizing
initialHeight: 700,//initial height the box will open at before resizing
useOverlay: true,//do you want to use a semi-transparent bacgground?
contentColor: '#fff',//background colour of the content holder within the pop-up
showNumbers: false,//show numbers such as "4 of 12"
showControls: true,//show the previous/next, title, download etc
descClassName: 'multiBoxDesc',//class of description box
movieWidth: 400,//default width of movie
movieHeight: 390,//default height of movie
offset: {x:0, y:0},//offset multiBox position
fixedTop: false,//force multiBox to open at top of page
path: '/extension/tisun/design/ezwebin/javascript/files/',//path to mp3player and flvplayer etc
openFromLink: true,//pop-up will slide in from the position of the element clicked
useKeyboard: true,//allow keyboard shortcuts (esc: close, spacebar & right arrow: next, left arrow: previous)
onOpen: new Class(),//make sure new class is loaded
onClose: new Class()//make sure new class is loaded
},
initialize: function(options){
this.setOptions(options);
this.language = 'de';
this.openClosePos = {};
this.contentToLoad = {};
this.contentObj = {};
this.containerDefaults = {};
this.multiBox = [];
this.families = [];
this.content = [];
this.timer = 0;
this.index = 0;
this.opened = false;
this.currentGallery = null;
if($$(this.options.mbClass).length > 0){this.start();};
},
start: function(){
$$(this.options.mbClass).each(function(el){
if($chk(el.get('rel'))){
el.store('origRel',el.get('rel'));
};
if($chk(el.get('title'))){
el.store('origTitle',el.get('title'));
};
if(el.rel.test(/\[*?]/i)){
if(el.get('rel').contains(',')){
var tempArr = el.get('rel').split(',');
tempArr.each(function(temp,i){
if(temp.contains('[')){//only take out the rel relating to a [group]
el.set('rel',temp);
};
},this);
};
this.families.include(el.get('rel'));
};
this.multiBox.push(el);
},this);
this.multiBox.each(function(el){
if(el.rel.test(/\[*?]/i)){
this.families.each(function(fam,i){
if(el.get('rel') == fam){
if(!this.content[i]){
this.content[i] = [];
};
this.content[i].push(el);
};
},this);
};
},this);
this.multiBox.each(function(el){
if(el.rel.test(/\[*?]/i) == false){
this.content.push([el]);
};
},this);
this.container = new Element('div').addClass('MultiBoxContainer').inject(this.options.container,'inside');
this.iframe = new Element('iframe', {
'id': 'multiBoxIframe',
'name': 'mulitBoxIframe',
'src': 'javascript:void(0);',
'frameborder': 0,
'scrolling': 'no',
'styles': {
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: '100%',
filter: 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)',
opacity: 0
}
}).inject(this.container,'inside');
this.box = new Element('div').addClass('MultiBoxContent').inject(this.container,'inside');
this.closeButton = new Element('div').addClass('MultiBoxClose').inject(this.container,'inside').addEvent('click', this.close.bind(this));
this.controlsContainer = new Element('div').addClass('MultiBoxControlsContainer').inject(this.container,'inside');
this.controls = new Element('div').addClass('MultiBoxControls').inject(this.controlsContainer,'inside');
this.previousButton = new Element('div').addClass('MultiBoxPrevious').inject(this.controls,'inside').addEvent('click', this.previous.bind(this));
this.nextButton = new Element('div').addClass('MultiBoxNext').inject(this.controls,'inside').addEvent('click', this.next.bind(this));
this.title = new Element('div').addClass('MultiBoxTitle').inject(this.controls,'inside');
this.number = new Element('div').addClass('MultiBoxNumber').inject(this.controls,'inside');
this.description = new Element('div').addClass('MultiBoxDescription').inject(this.controls,'inside');
if(this.options.useKeyboard){
$(window.document).addEvent('keydown',function(e){
if(e.key == 'right' || e.key == 'space'){
this.next();
}else if(e.key == 'left'){
this.previous();
}else if(e.key == 'esc'){
this.close();
};
}.bind(this));
};
if(this.options.useOverlay){
this.overlay = new Overlay({
container:this.options.container,
onClick:this.close.bind(this)
});
};
if(this.options.addOverlayIcon == true){
this.addOverlayIcon(this.multiBox);
};
if(this.options.addRollover == true){
this.addRollover(this.multiBox);
};
if(this.options.addChain == true){
this.addChain(this.multiBox);
};
if(this.options.descClassName){
this.descriptions = $$('.'+this.options.descClassName);
};
if(this.options.addDownload == true){
this.addDownload(this.multiBox);
};
if(this.options.addTips == true){
this.addTips(this.multiBox);
};
if(this.multiBox.length == 1){
this.title.setStyle('margin-left',0);
this.description.setStyle('margin-left',0);
this.previousButton.setStyle('display','none');
this.nextButton.setStyle('display','none');
this.number.setStyle('display','none');
};
new Element('div').setStyle('clear','both').inject(this.controls,'inside');
this.content.each(function(el,i){
el.each(function(group,i){
group.addEvent('click', function(e){
var myTarget = ($(e.target).match('a')) ? $(e.target) : $(e.target).getParent('a');
e.preventDefault();
this.open(el.indexOf(myTarget),el);
}.bind(this));
if(group.href.indexOf('#') > -1){
group.content = $(group.href.substr(group.href.indexOf('#')+1));
if(group.content){
group.content.setStyle('display','none');
};
};
},this);
},this);
this.containerEffects = new Fx.Morph(this.container,{duration:400});
this.controlEffects = new Fx.Morph(this.controlsContainer,{duration:300});
this.reset();
},
setContentType: function(element){
var str = element.href.substr(element.href.lastIndexOf('.')+1).toLowerCase();
var myRel = element.retrieve('origRel');
var contentOptions = {};
var language=false;
if($chk(myRel)){
var optArr = myRel.split(',');
optArr.each(function(el){
if(el.test('language') == true) {
var ta=el.split(':');
language = ta[1];
};
if(el.test(/\[*?]/i) != true){
var ta = el.split(':');
contentOptions[ta[0]] = ta[1];
};
});
};
if(contentOptions.type != undefined){
str = contentOptions.type;
};
this.contentObj = {};
this.contentObj.url = element.href;
this.contentObj.xH = 0;
if(language != false) {
this.contentObj.language = language;
};
if(contentOptions.width){
this.contentObj.width = contentOptions.width;
}else{
this.contentObj.width = this.options.movieWidth;
};
if(contentOptions.height){
this.contentObj.height = contentOptions.height;
}else{
this.contentObj.height = this.options.movieHeight;
};
if(contentOptions.panel){
this.panelPosition = contentOptions.panel;
}else{
this.panelPosition = this.options.panel;
};
switch(str){
case 'jpg':
case 'gif':
case 'png':
this.type = 'image';
break;
case 'swf':
this.type = 'flash';
break;
case 'flv':
this.type = 'flashVideo';
this.contentObj.xH = 70;
break;
case 'mov':
this.type = 'quicktime';
break;
case 'wmv':
this.type = 'windowsMedia';
break;
case 'rv':
case 'rm':
case 'rmvb':
this.type = 'real';
break;
case 'mp3':
this.type = 'flashMp3';
this.contentObj.width = 320;
this.contentObj.height = 70;
break;
case 'element':
this.type = 'htmlelement';
this.elementContent = element.content;
this.elementContent.setStyles({
display: 'block',
opacity: 0//,
});
if(this.elementContent.getStyle('width') != 'auto'){
this.contentObj.width = this.elementContent.getSize().x;
};
this.contentObj.height = this.elementContent.getSize().y;
this.elementContent.setStyles({
display: 'none',
opacity: 1
});
break;
default:
this.type = 'iframe';
if(contentOptions.req){
this.type = 'req';
};
break;
}
},
reset: function(){
this.container.setStyles({
opacity: 0,
display: 'none'
});
this.controlsContainer.setStyle('height',0);
this.removeContent();
this.previousButton.removeClass('MultiBoxButtonDisabled');
this.nextButton.removeClass('MultiBoxButtonDisabled');
this.opened = false;
},
getOpenClosePos: function(element){
if(this.options.openFromLink){
if(element.getFirst()){
var w = element.getFirst().getCoordinates().width - (this.container.getStyle('border').toInt() * 2);
if(w < 0){
w = 0;
};
var h = element.getFirst().getCoordinates().height - (this.container.getStyle('border').toInt() * 2);
if(h < 0){
h = 0;
};
this.openClosePos = {
width: w,
height: h,
top: element.getFirst().getCoordinates().top,
left: element.getFirst().getCoordinates().left
};
}else{
var w = element.getCoordinates().width - (this.container.getStyle('border').toInt() * 2);
if(w < 0){
w = 0;
};
var h = element.getCoordinates().height - (this.container.getStyle('border').toInt() * 2);
if(h < 0){
h = 0;
};
this.openClosePos = {
width: w,
height: h,
top: element.getCoordinates().top,
left: element.getCoordinates().left
};
};
}else{
if(this.options.fixedTop){
var top = this.options.fixedTop;
}else{
var top = ((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;
};
this.openClosePos = {
width: this.options.initialWidth,
height: this.options.initialHeight,
top: top,
left: ((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x
};
};
return this.openClosePos;
},
open: function(index,currGal){
this.currentGallery = currGal;
this.index = index;
this.openId = this.currentGallery[this.index].getProperty('id');
if(!this.opened){
this.opened = true;
if(this.options.useOverlay){
this.overlay.show();
};
this.container.setStyles(this.getOpenClosePos(this.currentGallery[this.index]));
this.container.setStyles({
opacity: 0,
display: 'block'
});
if(this.options.fixedTop){
var top = this.options.fixedTop;
}else{
var top = ((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;
};
this.containerEffects.start({
width: this.options.initialWidth,
height: this.options.initialHeight,
top: top,
left: ((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x,
opacity: [0, 1]
});
this.load(this.currentGallery[this.index]);
}else{
if(this.options.showControls){
this.hideControls();
};
this.getOpenClosePos(this.currentGallery[this.index]);
this.timer = this.hideContent.bind(this).delay(500);
this.timer = this.load.pass(this.currentGallery[this.index],this).delay(1100);
};
},
getContent: function(element){
this.setContentType(element);
var desc = {};
if(this.options.descClassName){
this.descriptions.each(function(el,i){
if(el.hasClass(this.openId)){
desc = el.clone();
};
},this);
};
this.contentToLoad = {
title: element.retrieve('origTitle') || '&nbsp;',
desc: desc,
number: this.index+1
};
},
close: function(){
if(this.options.useOverlay){
this.overlay.hide();
};
if(this.options.showControls){
this.hideControls();
};
this.hideContent();
this.containerEffects.cancel();
this.zoomOut.bind(this).delay(500);
this.options.onClose();
},
zoomOut: function(){
this.containerEffects.start({
width: this.openClosePos.width,
height: this.openClosePos.height,
top: this.openClosePos.top,
left: this.openClosePos.left,
opacity: 0
});
this.reset.bind(this).delay(500);
},
load: function(element){
this.box.addClass('MultiBoxLoading');
this.getContent(element);
if(this.type == 'image'){
var xH = this.contentObj.xH;
this.contentObj = new Asset.image(element.href,{onload:this.resize.bind(this)});
this.contentObj.xH = xH;
}else{
this.resize();
};
},
resize: function(){
if(this.options.maxSize != null){
var maxW = this.options.maxSize.w.toInt();//declare max width at top of script
var maxH = this.options.maxSize.h.toInt();//declare max height at top of script
var dW = 0;//set initial final width to 0
var dH = 0;//set initial final height to 0
var h = dH = this.contentObj.height;//retrieve image height
var w = dW = this.contentObj.width;//retrieve image width
if((h >= maxH) && (w >= maxW)){
if(h > w){
dH = maxH;
dW = ((w * dH) / h).toInt();
}else{
dW = maxW;
dH = ((h * dW) / w).toInt();
};
}else if((h > maxH) && (w < maxW)){
dH = maxH;
dW = ((w * dH) / h).toInt();
}else if((h < maxH) && (w > maxW)){
dW = maxW;
dH = ((h * dW) / w).toInt();
};
this.contentObj.height = dH;//resize image height
this.contentObj.width = dW;//resize image width
};
if(this.options.fixedTop){
var top = this.options.fixedTop;
}else{
var top = ((window.getHeight() / 2) - ((Number(this.contentObj.height) + this.contentObj.xH) / 2) - this.container.getStyle('border').toInt() + window.getScrollTop()) + this.options.offset.y;
};
var left = ((window.getWidth() / 2) - (this.contentObj.width / 2) - this.container.getStyle('border').toInt()) + this.options.offset.x;
if(top < 0){
top = 0;
};
if(left < 0){
left = 0;
};
this.containerEffects.cancel();
this.containerEffects.start({
width: this.contentObj.width,
height: Number(this.contentObj.height) + this.contentObj.xH,
top: top,
left: left,
opacity: 1
});
this.timer = this.showContent.bind(this).delay(500);
},
showContent: function(){
this.box.removeClass('MultiBoxLoading');
this.removeContent();
this.contentContainer = new Element('div', {
'id': 'MultiBoxContentContainer',
'styles': {
opacity: 0,
width: this.contentObj.width,
height: (Number(this.contentObj.height)+this.contentObj.xH)
}
}).inject(this.box,'inside');
if(this.type == 'image'){
this.contentObj.inject(this.contentContainer,'inside');
}else if(this.type == 'iframe'){
new Element('iframe', {
'id': 'iFrame'+new Date().getTime(),
'width': this.contentObj.width,
'height': this.contentObj.height,
'src': this.contentObj.url,
'frameborder': 0,
'scrolling': 'no'
}).inject(this.contentContainer,'inside');
}else if(this.type == 'htmlelement'){
this.elementContent.clone().setStyle('display','block').inject(this.contentContainer,'inside');
}else if(this.type == 'req'){
var req = new Request.HTML({
url: this.contentObj.url,
method: 'get',
evalScripts: true,
onSuccess: function(responseTree,responseElements,responseHTML,responseJavaScript){
$('MultiBoxContentContainer').adopt(responseElements);
}
}).get();
}else{
this.obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'}).inject(this.contentContainer,'inside');
this.createEmbedObject();
if(this.str){
this.obj.set('html',this.str);
this.str = null;//clear the value after using it
};
};
this.contentEffects = new Fx.Morph(this.contentContainer,{duration:500});
this.contentEffects.start({
opacity: 1
});
this.title.set('html',this.contentToLoad.title);
this.number.set('html',this.contentToLoad.number+' of '+this.currentGallery.length);
if(this.options.descClassName){
if(this.currentGallery[this.index].retrieve('origRel')){
var ignoreDesc = false;
var myRel = this.currentGallery[this.index].retrieve('origRel');
var optArr = myRel.split(',');
optArr.each(function(el){
if(el.test('noDesc') == true){
ignoreDesc = true;
};
});
};
if(ignoreDesc != true){
if(this.description.getFirst()){
this.description.getFirst().destroy();
};
this.contentToLoad.desc.inject(this.description,'inside').setStyle('display','block');
};
};
if(this.options.showControls){
this.timer = this.showControls.bind(this).delay(800);
};
if(this.options.addDownload){
var filePath = this.currentGallery[this.index].href;
var fileName = this.currentGallery[this.index].href.substring(this.currentGallery[this.index].href.lastIndexOf('/')+1);
this.download.set('html','<a href="'+this.options.pathToDownloadScript+'?FilePath='+filePath+'" title="Download File '+fileName+'">Download File</a>');
};
},
hideContent: function(){
this.box.addClass('MultiBoxLoading');
this.contentEffects.start({
opacity: 0
});
this.removeContent.bind(this).delay(500);
},
removeContent: function(){
if($('MultiBoxMediaObject')){
$('MultiBoxMediaObject').empty();//so sound doesnt keep playing in IE
$('MultiBoxMediaObject').dispose();//dispose() instead of destroy() as IE 6&7 crashes
};
if($('MultiBoxContentContainer')){
$('MultiBoxContentContainer').dispose();//dispose() instead of destroy() as IE 6&7 crashes
};
if(this.description){
this.description.empty();//empty description incase next element doesnt want to have one
};
},
showControls: function(){
if(this.container.getStyle('height') != 'auto'){
this.containerDefaults.height = this.container.getStyle('height');
this.containerDefaults.backgroundColor = this.options.contentColor;
if(this.options.recalcTop == true){
if(this.container.getStyle('top').toInt() > this.controls.getStyle('height').toInt()/2){
this.finalResize = new Fx.Morph(this.container,{duration:400});
this.finalResize.start({
top: this.container.getStyle('top').toInt()-(this.controls.getStyle('height').toInt()/2)
});
};
};
};
this.container.setStyle('height','auto');
if(this.contentToLoad.number == 1){
this.previousButton.addClass('MultiBoxPreviousDisabled');
}else{
this.previousButton.removeClass('MultiBoxPreviousDisabled');
};
if(this.contentToLoad.number == this.currentGallery.length){
this.nextButton.addClass('MultiBoxNextDisabled');
}else{
this.nextButton.removeClass('MultiBoxNextDisabled');
};
this.controlEffects.start({
'height': this.controls.getStyle('height')
});
},
hideControls: function(num){
this.controlEffects.start({'height': 0}).chain(function(){
this.container.setStyles(this.containerDefaults);
}.bind(this));
},
next: function(){
if(this.index < this.currentGallery.length-1){
this.index++;
this.openId = this.currentGallery[this.index].getProperty('id');
if(this.options.showControls){
this.hideControls();
};
this.getOpenClosePos(this.currentGallery[this.index]);
this.timer = this.hideContent.bind(this).delay(500);
this.timer = this.load.pass(this.currentGallery[this.index],this).delay(1100);
};
},
previous: function(){
if(this.index > 0){
this.index--;
this.openId = this.currentGallery[this.index].getProperty('id');
if(this.options.showControls){
this.hideControls();
};
this.getOpenClosePos(this.currentGallery[this.index]);
this.timer = this.hideContent.bind(this).delay(500);
this.timer = this.load.pass(this.currentGallery[this.index],this).delay(1000);
};
},
createEmbedObject: function(){
if(this.type == 'flash'){
var url = this.contentObj.url;
var swfHolder = new Element('div').setProperties({id: 'swfHolder'}).inject(this.obj,'inside');
var flashObj = new Swiff(url, {
id: url,
container: swfHolder,
width: this.contentObj.width,
height: this.contentObj.height,
params: {
movie: url,
swLiveConnect: false,
allowscriptaccess: 'sameDomain',
wMode: 'opaque'},
vars: {
language: this.contentObj.language
}
});
}else if(this.type == 'flashVideo'){
var url = this.contentObj.url;
var swfHolder = new Element('div').setProperties({id: 'swfHolder'}).inject(this.obj,'inside');
var flashObj = new Swiff(this.options.path+'flvplayer.swf', {
id: url,
container: swfHolder,
width: this.contentObj.width,
height: (Number(this.contentObj.height)+this.contentObj.xH),
vars: {
path: url
}
});
}else if(this.type == 'flashMp3'){
var url = this.contentObj.url;
var swfHolder = new Element('div').setProperties({id: 'swfHolder'}).inject(this.obj,'inside');
var flashObj = new Swiff(this.options.path+'mp3player.swf', {
id: url,
container: swfHolder,
width: this.contentObj.width,
height: (Number(this.contentObj.height)+this.contentObj.xH),
vars: {
path: url
}
});
}else if(this.type == 'quicktime'){
var url = this.contentObj.url;
this.str = '<object  type="video/quicktime" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"';
this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
this.str += '<param name="src" value="'+url+'" />';
this.str += '<param name="autoplay" value="true" />';
this.str += '<param name="controller" value="true" />';
this.str += '<param name="enablejavascript" value="true" />';
this.str += '<embed src="'+url+'" autoplay="true" pluginspage="http://www.apple.com/quicktime/download/" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
this.str += '</object>';
}else if(this.type == 'windowsMedia'){
var url = this.contentObj.url;
this.str = '<object  type="application/x-oleobject" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"';
this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
this.str += '<param name="filename" value="'+url+'" />';
this.str += '<param name="Showcontrols" value="true" />';
this.str += '<param name="autoStart" value="true" />';
this.str += '<embed type="application/x-mplayer2" src="'+url+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
this.str += '</object>';
}else if(this.type == 'real'){
var url = this.contentObj.url;
this.str = '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"';
this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
this.str += '<param name="src" value="'+url+'" />';
this.str += '<param name="controls" value="ImageWindow" />';
this.str += '<param name="autostart" value="true" />';
this.str += '<embed src="'+url+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
this.str += '</object>';
};
},
addOverlayIcon:function(element){
element.each(function(el,i){
if(el.getElement('img')){
el.setStyle('position','relative');
var overlayIcon = new Element('div').inject(el,'inside');
overlayIcon.addClass('OverlayIcon');
if(!Browser.Engine.trident4){
overlayIcon.setStyle('opacity',0);
overlayIcon.set('tween',{duration:3000,transition:Fx.Transitions.Expo.easeIn}).tween('opacity',1);
};
};
});
},
addRollover:function(element){
element.each(function(el,i){
if(el.getElement('img')){
el.addEvents({
'mouseenter': function(){
el.getElement('img').set('tween',{duration:200,transition:Fx.Transitions.linear}).tween('opacity',0.5);
},
'mouseleave': function(){
el.getElement('img').set('tween',{duration:400,transition:Fx.Transitions.linear}).tween('opacity',1);
}
});
};
});
},
addChain:function(element){
var chainArray = [];
element.each(function(el,i){
if(el.getElement('img')){
chainArray.push(el);
};
});
chainArray.each(function(el,i){
if(el.getElement('img')){
var HoverMe = new Chain();
var hoverOn = function(){
el.getElement('img').set('tween',{duration:200,transition:Fx.Transitions.linear}).tween('opacity',0.5);
};
var hoverOff = function(){
el.getElement('img').set('tween',{duration:400,transition:Fx.Transitions.linear}).tween('opacity',1);
};
HoverMe.chain(hoverOn);
HoverMe.chain(hoverOff);
HoverMe.callChain.delay(2000+(i+1)*1000,HoverMe);
HoverMe.callChain.delay((i+2)*1000,HoverMe);
};
});
},
addDownload:function(element){
this.download = new Element('div').addClass('MultiBoxDownload').inject(this.controls,'inside').setStyle('margin-left',0);
},
addTips:function(element){
element.each(function(el,i){
if(el.get('title')){
var toolTips = new Tips(el, {
onShow: function(el){el.fade(.9);},
onHide: function(el){el.fade(0);},
offsets: {'x':16,'y':5},
className: 'mbTips'
});
};
if(el.getElement('img')){
if(el.getElement('img').get('title')){
el.getElement('img').erase('title');
};
if(el.getElement('img').get('alt')){
el.getElement('img').erase('alt');
};
};
});
}
});
window.addEvent('domready', function(){
var initMultiBox = new multiBox({
mbClass: '.mb',//class you need to add links that you want to trigger multiBox with (remember and update CSS files)
container: $(document.body),//where to inject multiBox
descClassName: 'multiBoxDesc',//the class name of the description divs
path: 'http://www.technikum-kufstein.at/extension/technikum/design/ezwebin/javascript/files/',//path to mp3 and flv players
useOverlay: false,//use a semi-transparent background. default: false;
maxSize: null,//max dimensions (width,height) - set to null to disable resizing
addDownload: true,//do you want the files to be downloadable?
pathToDownloadScript: './Scripts/ForceDownload.asp',//if above is true, specify path to download script (classicASP and ASP.NET versions included)
addRollover: false,//add rollover fade to each multibox link
addOverlayIcon: false,//adds overlay icons to images within multibox links
addChain: false,//cycle through all images fading them out then in
recalcTop: true,//subtract the height of controls panel from top position
addTips: false,//adds MooTools built in 'Tips' class to each element (see: http://mootools.net/docs/Plugins/Tips)
offset: {x:0, y:0}//offset multiBox position
});
});
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());
Cufon.registerFont({"w":200,"face":{"font-family":"Universe","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 7 3 3 5 2 2 2 4","ascent":"261","descent":"-99","x-height":"6","bbox":"-5 -278 358 90","underline-thickness":"18","underline-position":"-18","stemh":"43","stemv":"56","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":100,"k":{"T":54,"V":45,"W":45,"Y":54,"A":29}},"!":{"d":"88,-71r-37,0r-7,-189r49,0xm46,0r0,-48r46,0r0,48r-46,0","w":140},"\"":{"d":"26,-251r48,0r-10,89r-28,0xm95,-251r48,0r-9,89r-29,0","w":170},"#":{"d":"-3,-63r0,-40r37,0r8,-43r-30,0r0,-40r37,0r12,-65r46,0r-12,65r35,0r11,-65r47,0r-12,65r30,0r0,40r-38,0r-7,43r29,0r0,40r-37,0r-12,63r-46,0r12,-63r-34,0r-12,63r-46,0r11,-63r-29,0xm80,-103r34,0r8,-43r-34,0"},"$":{"d":"188,-73v0,50,-45,72,-81,74r0,36r-19,0r0,-36v-64,-6,-74,-25,-79,-78r49,0v-1,36,22,40,30,40r0,-64v-57,-7,-102,-67,-56,-121v20,-23,45,-25,58,-26r0,-30r20,0r0,30v19,1,41,4,58,21v17,17,18,38,18,50r-48,0v-1,-27,-13,-32,-29,-34r0,64v40,10,79,23,79,74xm90,-152r0,-58v-19,1,-27,13,-27,28v0,21,13,26,27,30xm108,-97r0,60v15,-1,29,-11,29,-30v0,-15,-8,-24,-29,-30"},"%":{"d":"18,-205v0,-19,0,-69,60,-69v50,0,59,32,59,66v0,18,0,72,-61,72v-42,0,-58,-30,-58,-69xm78,-246v-34,0,-26,80,-1,80v12,0,21,-8,21,-42v0,-15,-2,-38,-20,-38xm184,-66v0,-18,0,-69,60,-69v50,0,58,33,58,66v0,18,1,72,-61,72v-42,0,-57,-30,-57,-69xm243,-107v-35,0,-25,81,-1,81v12,0,21,-8,21,-42v0,-15,-2,-39,-20,-39xm213,-277r27,0r-136,281r-27,0","w":320},"&":{"d":"8,-72v-6,-25,36,-76,55,-81v-9,-7,-32,-25,-32,-55v0,-15,9,-59,80,-59v67,0,78,38,78,57v0,40,-37,59,-51,67r53,53v10,-28,10,-44,10,-72r54,0v0,44,-8,74,-30,108r53,55r-67,0r-20,-24v-17,13,-40,30,-84,30v-57,0,-99,-29,-99,-79xm111,-171v20,-6,44,-62,0,-62v-16,0,-26,9,-26,23v0,16,22,36,26,39xm158,-52r-65,-67v-43,17,-34,86,17,86v17,0,36,-9,48,-19","w":280},"(":{"d":"59,-273r39,0v-12,36,-31,95,-31,159v0,48,10,84,31,158r-39,0v-49,-100,-46,-216,0,-317","w":119},")":{"d":"61,44r-39,0v12,-36,31,-94,31,-158v0,-49,-10,-85,-31,-159r39,0v49,100,46,215,0,317","w":119},"*":{"d":"24,-167r0,-39r55,8r-34,-42r33,-19r21,50r21,-51r33,20r-35,42r55,-6r-1,38r-53,-8r34,44r-34,18r-21,-50r-21,51r-32,-20r33,-44"},"+":{"d":"81,0r0,-73r-72,0r0,-46r72,0r0,-73r48,0r0,73r72,0r0,46r-72,0r0,73r-48,0","w":210},",":{"d":"37,-48r53,0r-43,89r-37,0","w":100,"k":{" ":9}},"-":{"d":"16,-75r0,-41r89,0r0,41r-89,0","w":119},".":{"d":"27,0r0,-48r45,0r0,48r-45,0","w":100,"k":{" ":9}},"\/":{"d":"108,-258r41,0r-96,258r-43,0","w":159},"0":{"d":"14,-125v0,-33,6,-130,87,-130v35,0,57,19,66,33v35,59,41,227,-67,226v-64,0,-86,-62,-86,-129xm102,-213v-37,-5,-34,79,-34,92v0,43,7,82,34,82v29,0,33,-48,33,-83v0,-35,7,-86,-33,-91","k":{"1":20,"0":-7}},"1":{"d":"34,-163r0,-50v23,-10,46,-23,67,-38r46,0r0,251r-54,0r0,-195v-10,8,-32,21,-59,32","k":{"9":7,"8":7,"7":11,"1":34,"0":22,".":18,"-":20}},"2":{"d":"13,-180v-5,-38,36,-75,86,-75v55,0,85,30,85,69v0,26,-10,60,-119,147r120,-3r0,42r-176,0r0,-51v35,-34,70,-59,103,-97v14,-17,17,-25,17,-37v0,-19,-11,-32,-30,-32v-29,0,-31,30,-31,37r-55,0"},"3":{"d":"132,-129v21,1,58,39,51,60v3,63,-97,98,-152,57v-23,-17,-23,-46,-23,-56r55,0v0,8,2,33,32,33v20,0,32,-15,32,-34v0,-37,-35,-37,-61,-37r0,-42v25,-1,62,-2,62,-38v0,-20,-15,-30,-31,-30v-15,0,-31,11,-31,32r-55,0v-2,-39,43,-71,85,-71v64,0,84,42,84,69v0,42,-37,54,-48,57"},"4":{"d":"107,-55r-101,0r0,-48r101,-148r53,0r0,155r34,0r0,41r-34,0r0,55r-53,0r0,-55xm110,-189r-64,94r63,0"},"5":{"d":"11,-62r53,0v0,6,5,28,30,28v19,0,37,-14,37,-47v0,-24,-9,-45,-33,-45v-24,0,-30,19,-32,25r-53,-1r6,-149r152,0r0,41r-104,0r-4,62v37,-37,122,-12,122,62v0,43,-26,91,-90,91v-39,0,-88,-29,-84,-67"},"6":{"d":"191,-84v0,52,-37,90,-91,89v-87,0,-87,-84,-87,-114v0,-50,6,-104,41,-128v58,-39,125,-20,133,48r-53,0v-1,-18,-14,-25,-27,-25v-36,0,-37,45,-38,71v37,-37,122,-22,122,59xm103,-35v15,0,35,-11,35,-45v0,-28,-15,-43,-33,-43v-9,0,-36,5,-36,44v0,31,16,44,34,44"},"7":{"d":"13,-209r0,-42r171,0r0,45r-87,206r-60,0r92,-209r-116,0","k":{"6":7,"4":20,".":61,"-":20,",":61}},"8":{"d":"11,-69v0,-34,30,-57,52,-63v-13,-4,-48,-14,-48,-53v0,-31,26,-71,87,-71v50,0,85,29,85,68v0,30,-23,52,-49,56v19,-1,52,33,52,63v0,46,-43,73,-92,73v-51,0,-87,-33,-87,-73xm101,-152v18,0,34,-13,34,-33v0,-21,-16,-31,-33,-31v-18,0,-33,12,-33,31v0,18,12,33,32,33xm65,-72v2,50,72,51,72,-1v0,-23,-17,-36,-36,-36v-21,0,-36,16,-36,37"},"9":{"d":"12,-61r54,0v1,15,12,24,27,24v37,0,40,-38,39,-73v-18,16,-35,17,-46,17v-62,0,-77,-49,-77,-79v0,-47,34,-82,89,-82v86,0,88,82,88,122v0,106,-35,137,-96,137v-14,0,-78,0,-78,-66xm96,-134v49,-1,45,-81,1,-79v-26,0,-35,20,-35,39v0,9,3,40,34,40"},":":{"d":"27,0r0,-48r46,0r0,48r-46,0xm27,-133r0,-49r46,0r0,49r-46,0","w":100,"k":{" ":9}},";":{"d":"29,-133r0,-49r45,0r0,49r-45,0xm31,-48r54,0r-43,89r-37,0","w":100,"k":{" ":9}},"<":{"d":"9,-72r0,-48r192,-74r0,50r-134,48r134,48r0,51","w":210},"=":{"d":"9,-114r0,-47r192,0r0,47r-192,0xm9,-31r0,-46r192,0r0,46r-192,0","w":210},">":{"d":"201,-72r-192,75r0,-51r134,-48r-134,-48r0,-50r192,74r0,48","w":210},"?":{"d":"92,-58r-41,0v-16,-63,50,-86,57,-135v5,-36,-56,-43,-91,-27r0,-38v53,-15,146,-10,146,60v0,62,-86,69,-71,140xm50,0r0,-43r43,0r0,43r-43,0","w":180},"@":{"d":"177,-203v15,0,35,10,38,22r5,-16r35,0r-26,96v0,9,6,13,12,13v18,0,43,-28,43,-71v0,-63,-53,-86,-98,-86v-64,0,-120,43,-120,120v0,69,49,111,116,111v16,0,52,-2,96,-35r13,17v-97,80,-250,30,-249,-95v0,-86,68,-139,145,-139v64,0,122,37,122,109v0,51,-32,93,-74,93v-12,0,-35,-14,-33,-29v-14,26,-34,31,-48,31v-27,0,-49,-20,-49,-55v0,-42,31,-86,72,-86xm166,-88v27,0,37,-65,37,-72v0,-8,-5,-17,-17,-17v-19,0,-38,33,-38,65v0,4,1,24,18,24","w":351},"A":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111","w":259,"k":{"v":20,"w":16,"y":20,"c":7,"C":7,"d":7,"e":7,"g":7,"G":7,"o":7,"O":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"U":14,"V":36,"W":27,"Y":49,"-":18}},"B":{"d":"225,-72v-3,89,-110,71,-201,72r0,-260v61,4,113,-10,162,12v47,37,36,94,-16,113v40,7,55,36,55,63xm78,-220r0,66v39,-3,77,14,83,-34v-4,-46,-45,-28,-83,-32xm78,-114r0,72v41,-3,92,14,92,-35v0,-49,-51,-35,-92,-37","w":240,"k":{"V":14,"W":14,"Y":20,",":7,".":7}},"C":{"d":"228,-175r-57,0v-1,-9,-4,-46,-42,-46v-41,0,-58,43,-58,97v0,15,0,89,54,89v23,0,46,-14,47,-49r58,0v-1,15,-2,39,-23,61v-23,24,-52,29,-76,29v-90,0,-119,-67,-119,-131v0,-82,46,-137,119,-137v57,0,97,35,97,87","w":240,"k":{"Y":11}},"D":{"d":"243,-134v0,99,-45,137,-139,134r-81,0r0,-260v74,5,113,-15,176,24v35,22,44,65,44,102xm80,-217r0,174v33,2,62,4,82,-17v22,-22,24,-61,24,-74v-3,-59,-27,-92,-106,-83","w":259,"k":{"V":20,"W":14,"Y":25,",":9,".":9,"a":9,"A":14,"J":9}},"E":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0","w":219},"F":{"d":"25,0r0,-260r168,0r0,42r-112,0r0,64r104,0r0,43r-104,0r0,111r-56,0","k":{"e":7,"o":7,"u":7,"-":9,",":63,".":63,"a":14,"A":27,"J":63,"r":7}},"G":{"d":"159,6v-104,0,-142,-58,-145,-132v-6,-131,143,-182,225,-109v20,17,18,41,18,55r-58,0v4,-26,-31,-53,-50,-47v-63,0,-76,59,-76,99v0,42,22,92,83,92v27,0,36,-3,42,-5r0,-54r-50,0r0,-44r106,0r0,130v-16,5,-43,15,-95,15","w":280},"H":{"d":"24,0r0,-260r56,0r0,104r98,0r0,-104r57,0r0,260r-56,0r0,-114r-99,0r0,114r-56,0","w":259},"I":{"d":"22,0r0,-261r55,0r0,261r-55,0","w":100},"J":{"d":"176,-260v-8,114,36,263,-91,263v-46,9,-87,-44,-82,-87r55,0v1,28,8,46,31,46v39,0,30,-30,30,-63r0,-159r57,0","k":{"e":5,"o":5,",":11,".":11,"a":7,"A":14}},"K":{"d":"24,0r0,-260r56,0r0,112r87,-112r65,0r-95,116r103,144r-69,0r-91,-132r0,132r-56,0","w":240,"k":{"w":14,"y":14,"e":5,"o":5,"O":18,"u":5}},"L":{"d":"25,0r0,-260r57,0r0,216r111,0r0,44r-168,0","k":{"y":14,"O":18,"T":34,"V":49,"W":36,"Y":49,"-":45}},"M":{"d":"22,0r0,-260r91,0r55,189r59,-189r89,0r0,260r-56,0r0,-223r-71,223r-46,0r-69,-223r0,223r-52,0","w":339},"N":{"d":"26,0r0,-260r81,0r97,205r0,-205r52,0r0,260r-77,0r-101,-216r0,216r-52,0","w":280},"O":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93","w":280,"k":{"e":9,"T":14,"V":20,"W":7,"Y":27,",":7,".":7,"a":9,"A":11,"X":25}},"P":{"d":"104,-260v54,-8,106,27,106,77v0,30,-11,58,-33,70v-33,19,-58,10,-97,12r0,101r-57,0r0,-260r81,0xm78,-217r0,74v36,-2,68,11,74,-39v-5,-47,-39,-32,-74,-35","w":219,"k":{"e":14,"o":14,"Y":9,"-":20,",":85,".":85,"a":14,"A":36}},"Q":{"d":"274,1v-49,-2,-100,3,-147,3v-97,0,-115,-90,-115,-132v0,-71,38,-137,126,-137v67,0,117,46,117,131v0,59,-27,85,-39,97v12,-2,36,-4,58,-3r0,41xm198,-135v0,-65,-9,-80,-63,-91v-49,0,-65,47,-65,95v0,37,11,95,64,95v55,0,64,-57,64,-99","w":280},"R":{"d":"170,0v-9,-29,1,-116,-43,-105r-49,0r0,105r-56,0r0,-260v83,3,201,-23,201,67v0,49,-42,60,-55,64v65,-1,37,96,63,129r-61,0xm165,-184v0,-48,-45,-32,-88,-35r0,72v43,-2,88,11,88,-37","w":240,"k":{"C":4,"G":4,"O":4,"S":4,"T":7,"V":7,"W":7,"Y":14}},"S":{"d":"13,-83r56,0v0,12,0,49,48,49v30,0,49,-14,49,-36v0,-23,-16,-27,-49,-35v-62,-15,-96,-34,-96,-79v0,-43,31,-81,103,-81v27,0,59,7,78,31v15,19,15,39,15,48r-54,0v-1,-9,-3,-39,-42,-39v-26,0,-43,14,-43,35v0,24,20,29,57,38v45,11,89,23,89,74v0,47,-39,84,-111,84v-100,0,-100,-64,-100,-89","w":240,"k":{"v":7,"w":7,"y":7,"T":7,"V":9,"Y":18,",":7,".":7}},"T":{"d":"82,0r0,-217r-77,0r0,-43r211,0r0,43r-77,0r0,217r-57,0","w":219,"k":{"w":54,"y":54,"e":54,"o":54,"O":14,"T":7,"u":54,"V":7,"W":7,"Y":7,"-":54,",":54,".":54,"a":54,"A":34,"J":45,"r":54,":":49,";":49}},"U":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64","w":280,"k":{",":9,".":9,"A":14}},"V":{"d":"4,-259r61,0r68,204r69,-204r55,0r-96,259r-61,0","w":259,"k":{"C":20,"e":34,"G":20,"o":34,"O":20,"u":20,"-":32,",":49,".":49,"a":34,"A":36,"i":7,":":14,";":14}},"W":{"d":"5,-259r58,0r40,195r51,-195r63,0r46,195r42,-195r53,0r-66,260r-62,0r-47,-199r-51,199r-63,0","w":360,"k":{"e":14,"o":14,"O":7,"u":7,"-":22,",":14,".":14,"a":20,"A":27,"r":7,":":7,";":7}},"X":{"d":"11,-260r69,0r52,88r56,-88r60,0r-86,125r91,135r-68,0r-58,-98r-63,98r-59,0r91,-135","w":259,"k":{"y":27,"C":18,"e":14,"O":25}},"Y":{"d":"6,-259r65,0r54,118r54,-118r58,0r-88,164r0,95r-55,0r0,-95","w":240,"k":{"C":27,"e":59,"o":54,"O":27,"S":20,"u":36,"-":63,",":47,".":47,"a":54,"A":49,"i":13,":":20,";":20}},"Z":{"d":"10,0r0,-48r136,-170r-128,1r0,-42r188,0r0,49r-135,169r138,-2r0,43r-199,0","w":219},"[":{"d":"103,-271r0,33r-39,0r0,249r39,0r0,33r-82,0r0,-315r82,0","w":119},"\\":{"d":"10,-258r42,0r97,258r-42,0","w":100},"]":{"d":"17,-238r0,-33r82,0r0,315r-82,0r0,-33r39,0r0,-249r-39,0","w":119},"^":{"d":"18,-95r66,-156r42,0r65,156r-50,0r-37,-98r-36,98r-50,0","w":210},"_":{"d":"0,45r0,-18r180,0r0,18r-180,0","w":180},"a":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45"},"b":{"d":"22,0r0,-260r53,0r0,100v18,-24,42,-24,51,-24v44,0,80,35,80,96v0,68,-40,92,-76,92v-9,0,-38,-2,-55,-30v0,6,-1,15,-2,26r-51,0xm151,-86v0,-14,0,-63,-39,-63v-39,0,-39,44,-39,56v0,41,17,62,41,62v37,0,37,-46,37,-55","w":219,"k":{"v":7,"y":7}},"c":{"d":"98,5v-52,4,-85,-42,-85,-96v0,-83,61,-94,85,-94v34,0,74,19,74,68r-52,0v-1,-6,-3,-34,-24,-34v-25,0,-28,38,-28,58v-1,13,3,65,28,62v6,0,22,-3,24,-35r53,0v2,29,-30,77,-75,71","w":180,"k":{"h":7,"k":7}},"d":{"d":"143,-26v-3,13,-37,34,-53,30v-49,0,-78,-34,-78,-91v0,-60,33,-97,81,-97v33,0,46,19,51,25r0,-101r53,0r2,260r-54,0xm103,-31v31,0,42,-39,42,-63v0,-36,-15,-55,-39,-55v-36,0,-40,43,-40,61v0,30,10,57,37,57","w":219},"e":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41","k":{"y":7}},"f":{"d":"27,0r0,-144r-27,0r0,-38r27,0v-1,-50,0,-81,63,-83v4,0,13,0,28,2r0,37v-35,-4,-43,12,-38,44r34,0r0,38r-34,0r0,144r-53,0","w":119,"k":{"e":14,"o":7,",":16,".":16,"a":14,"f":9,"t":9}},"g":{"d":"146,-181r50,0v-6,53,-2,120,-3,179v0,67,-55,74,-90,74v-26,0,-77,-4,-80,-59r51,0v1,5,3,26,31,26v33,0,39,-18,36,-67v-52,61,-126,-1,-126,-65v0,-46,26,-90,78,-90v33,0,46,18,51,26xm69,-93v0,9,-1,53,35,53v37,0,38,-44,38,-52v0,-21,-5,-55,-37,-55v-20,0,-36,15,-36,54","w":219,"k":{"y":7,"e":7,"o":7,"a":7}},"h":{"d":"130,-184v88,-2,60,103,65,184r-53,0r0,-109v0,-10,0,-39,-30,-39v-15,0,-34,9,-34,37r0,111r-53,0r0,-260r53,0r0,103v6,-9,19,-27,52,-27","w":219,"k":{"y":14}},"i":{"d":"22,-213r0,-47r56,0r0,47r-56,0xm23,0r0,-182r54,0r0,182r-54,0","w":100},"j":{"d":"-1,70r0,-36v24,1,24,-22,24,-31r0,-186r54,0r0,199v3,40,-28,61,-78,54xm22,-213r0,-47r56,0r0,47r-56,0","w":100},"k":{"d":"24,0r0,-260r53,0r0,153r55,-76r60,0r-62,79r66,104r-63,0r-56,-99r0,99r-53,0","k":{"e":13,"g":13,"o":13,"a":5}},"l":{"d":"23,0r0,-260r54,0r0,260r-54,0","w":100},"m":{"d":"248,-185v98,0,53,102,64,185r-54,0r0,-107v0,-19,-2,-41,-30,-41v-32,0,-33,30,-33,57r0,91r-54,0r0,-108v0,-14,1,-40,-29,-40v-33,0,-34,29,-34,41r0,107r-54,0r-1,-182r51,0r2,24v6,-8,20,-28,56,-28v42,0,53,25,57,34v15,-29,40,-33,59,-33","w":339,"k":{"y":14}},"n":{"d":"112,-148v-56,0,-27,95,-34,148r-54,0r-1,-183r51,0r2,28v5,-8,19,-32,59,-32v36,0,50,21,55,34v9,29,3,110,5,153r-54,0r0,-113v1,-22,-7,-35,-29,-35","w":219,"k":{"v":7,"w":7,"y":14}},"o":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61","w":219,"k":{"v":7,"w":7,"y":7,",":7,".":7,"x":11}},"p":{"d":"22,-182r51,0r2,26v17,-29,46,-29,55,-29v47,0,76,35,76,90v0,51,-26,98,-79,98v-33,0,-46,-18,-51,-24r0,91r-54,0r0,-252xm113,-32v25,0,39,-25,39,-61v0,-22,-6,-58,-37,-58v-17,0,-42,13,-42,62v0,11,1,57,40,57","w":219,"k":{"y":7}},"q":{"d":"147,-182r52,0r-1,251r-55,0r0,-90v-5,6,-19,24,-50,24v-37,0,-80,-27,-80,-96v0,-70,41,-93,77,-93v37,0,51,23,55,30xm67,-92v0,21,14,65,40,59v35,0,39,-38,39,-58v0,-20,-5,-60,-42,-60v-31,0,-37,32,-37,59","w":219},"r":{"d":"23,0r-2,-183r50,0r1,35v7,-15,19,-37,62,-35r0,48v-54,-5,-57,22,-57,45r0,90r-54,0","w":140,"k":{"c":7,"d":7,"e":11,"g":9,"o":9,"q":5,"u":14,"-":36,",":36,".":36,"h":14,"k":14,"a":7,"t":7,"r":14,"i":14,"l":14,"m":14,"n":14,"p":14}},"s":{"d":"10,-53r50,0v1,12,9,25,31,25v35,0,41,-31,3,-42v-36,-10,-80,-5,-80,-59v0,-35,33,-57,80,-57v37,0,68,18,69,54r-49,0v-3,-34,-51,-25,-51,-4v0,21,39,22,58,28v32,11,49,26,49,51v0,53,-105,87,-146,40v-12,-13,-14,-27,-14,-36","w":180},"t":{"d":"130,-37r0,34v-17,5,-32,6,-41,6v-54,0,-54,-34,-54,-49r0,-99r-35,0r0,-36r35,0r0,-35r53,-20r0,55r43,0r0,36r-43,0r0,82v-6,24,18,30,42,26","w":140,"k":{"e":7,"o":7,"u":5,"t":9}},"u":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29","w":219},"v":{"d":"3,-182r56,0r41,124r42,-124r52,0r-66,182r-59,0","k":{"c":7,"e":7,"o":7,"-":18,",":29,".":36,"a":14}},"w":{"d":"2,-182r56,0r34,137r38,-137r59,0r38,137r36,-137r53,0r-63,182r-58,0r-37,-135r-38,135r-59,0","w":320,"k":{"c":7,"d":7,"e":7,"o":7,"-":5,",":22,".":29,"a":7}},"x":{"d":"6,-182r63,0r34,60r36,-60r55,0r-59,89r61,93r-63,0r-37,-67r-37,67r-56,0r61,-98","k":{"c":7,"e":7,"o":7,"-":20}},"y":{"d":"5,-182r58,0r40,126r40,-126r53,0r-69,179r-22,72r-53,0r23,-68","k":{"c":7,"d":7,"e":7,"g":7,"o":7,"-":11,",":27,".":34,"a":7}},"z":{"d":"12,0r0,-47r92,-99r-90,0r0,-36r149,0r0,46r-92,99r96,0r0,37r-155,0","w":180,"k":{"e":7,"o":7}},"{":{"d":"-5,-113v25,-2,42,-22,42,-61v0,-40,2,-82,88,-86r0,29v-45,6,-39,36,-40,68v0,32,-9,61,-57,65v33,-1,67,34,57,80v0,22,0,52,40,54r0,29v-33,-1,-55,-8,-70,-23v-14,-7,-19,-36,-18,-75v0,-19,0,-43,-42,-49r0,-31","w":119},"|":{"d":"26,-270r48,0r0,360r-48,0r0,-360","w":100},"}":{"d":"83,-174v-8,38,19,60,42,61r0,31v-46,11,-42,31,-42,61v0,40,-1,82,-88,86r0,-29v71,-8,18,-75,54,-116v13,-14,30,-17,42,-18v-32,0,-56,-26,-56,-78v0,-22,0,-52,-40,-55r0,-29v85,4,88,45,88,86","w":119},"~":{"d":"148,-61v-21,6,-102,-51,-111,-1r-31,0v3,-42,26,-69,56,-69v13,0,89,27,91,23v17,0,20,-17,21,-22r30,0v-2,28,-14,69,-56,69","w":210},"'":{"d":"28,-162r-10,-89r48,0r-9,89r-29,0","w":85},"`":{"d":"46,-263r30,52r-30,0r-50,-52r50,0","w":100},"\u00a0":{"w":100,"k":{"T":54,"V":45,"W":45,"Y":54,"A":29}}}});
Cufon.registerFont({"w":195,"face":{"font-family":"DIN","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"0 0 4 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"2","bbox":"-16 -365 352 74","underline-thickness":"31.32","underline-position":"-33.12","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":83},"!":{"d":"98,-256r-11,176r-36,0r-11,-176r58,0xm94,0r-50,0r0,-48r50,0r0,48","w":124},"\"":{"d":"142,-180r-43,0r0,-76r43,0r0,76xm68,-180r-44,0r0,-76r44,0r0,76","w":167},"#":{"d":"231,-151r-32,0r-5,39r25,0r0,44r-33,0r-10,68r-50,0r12,-68r-42,0r-11,68r-49,0r10,-68r-24,0r0,-44r32,0r5,-39r-25,0r0,-44r32,0r10,-63r50,0r-10,63r41,0r10,-63r49,0r-9,63r24,0r0,44xm150,-151r-41,0r-6,39r41,0","w":248},"$":{"d":"35,-131v-41,-45,-6,-129,57,-127r0,-32r36,0r0,32v29,2,53,11,71,29r-32,32v-11,-10,-25,-17,-44,-18r0,63v50,6,83,23,83,76v0,45,-35,73,-78,77r0,40r-36,0r0,-39v-36,-1,-64,-13,-85,-34r32,-32v14,14,33,21,57,22r0,-66v-26,-2,-47,-9,-61,-23xm96,-154r0,-60v-42,1,-39,59,0,60xm123,-43v32,-1,43,-32,26,-53v-5,-4,-14,-7,-26,-9r0,62","w":222},"%":{"d":"234,-132v44,0,53,35,53,85v0,31,-23,49,-53,49v-44,1,-55,-36,-52,-85v2,-30,22,-49,52,-49xm232,-256r-121,256r-37,0r121,-256r37,0xm71,-258v44,0,52,35,52,84v0,31,-22,50,-52,50v-44,0,-52,-35,-52,-85v0,-31,22,-49,52,-49xm234,-28v24,2,19,-30,19,-53v0,-14,-7,-21,-19,-21v-24,-2,-17,31,-18,53v0,14,6,21,18,21xm71,-154v24,2,17,-32,18,-54v0,-14,-6,-20,-18,-20v-24,0,-17,31,-18,53v0,14,6,21,18,21","w":305},"&":{"d":"111,-258v61,0,90,73,39,105r-19,13r44,51v8,-11,12,-26,13,-45r44,0v-2,35,-12,62,-28,80r47,54r-60,0r-19,-22v-46,46,-150,26,-150,-54v0,-25,15,-48,46,-68v-47,-43,-26,-114,43,-114xm106,-169v22,-5,40,-46,5,-50v-30,3,-26,30,-5,50xm93,-116v-39,20,-32,76,13,76v14,0,26,-5,38,-15","w":259},"'":{"d":"69,-180r-45,0r0,-76r45,0r0,76","w":93},"(":{"d":"76,-204v5,72,-20,173,25,207r-31,31v-25,-27,-41,-36,-41,-84v0,-66,-10,-153,9,-203v4,-10,16,-21,32,-37r31,31v-16,18,-27,22,-25,55","w":120},")":{"d":"45,-204v-1,-34,-7,-34,-26,-54r32,-32v21,22,43,38,41,83v-3,67,10,153,-9,204v-4,10,-16,21,-32,37r-32,-32v21,-20,26,-19,26,-54r0,-152","w":120},"*":{"d":"158,-166r-16,29r-38,-24r1,45r-33,0r2,-45r-38,24r-16,-29r39,-20r-39,-21r16,-29r38,24r-2,-45r33,0r-1,45r38,-24r16,29r-40,21","w":177},"+":{"d":"177,-78r-57,0r0,58r-44,0r0,-58r-58,0r0,-44r58,0r0,-57r44,0r0,57r57,0r0,44"},",":{"d":"76,20r-52,39r0,-110r52,0r0,71","w":100},"-":{"d":"132,-81r-111,0r0,-44r111,0r0,44","w":153},"\u2010":{"d":"132,-81r-111,0r0,-44r111,0r0,44","w":153},".":{"d":"78,0r-54,0r0,-53r54,0r0,53","w":102},"\/":{"d":"147,-283r-103,310r-44,0r103,-310r44,0","w":145},"0":{"d":"98,-258v45,0,78,30,78,76r0,108v1,46,-34,76,-78,76v-44,0,-78,-31,-78,-76r0,-108v-2,-46,33,-76,78,-76xm98,-40v52,-3,26,-91,31,-141v2,-20,-12,-35,-31,-35v-53,2,-25,91,-31,141v-2,21,12,36,31,35"},"1":{"d":"136,0r-47,0r0,-206r-52,45r0,-50r52,-45r47,0r0,256"},"2":{"d":"99,-258v73,0,97,81,51,133r-72,83r99,0r0,42r-156,0r0,-42r96,-111v22,-21,17,-63,-18,-63v-21,0,-31,10,-31,32r-47,0v0,-44,32,-74,78,-74"},"3":{"d":"96,-258v71,0,109,92,49,126v63,33,29,134,-48,134v-48,0,-82,-28,-82,-75r47,0v0,20,14,34,35,33v21,0,35,-14,34,-36v0,-25,-16,-36,-42,-35r0,-41v25,1,39,-9,39,-32v1,-19,-13,-32,-32,-32v-18,0,-31,13,-31,31r-47,0v-1,-43,34,-73,78,-73"},"4":{"d":"184,-36r-23,0r0,36r-45,0r0,-36r-105,0r0,-45r88,-175r51,0r-88,175r54,0r0,-48r45,0r0,48r23,0r0,45"},"5":{"d":"68,-159v49,-36,120,6,110,73v11,82,-86,112,-137,68v-13,-11,-18,-30,-20,-54r46,0v3,21,14,32,32,32v25,-1,32,-16,32,-46v0,-52,-48,-60,-62,-26r-43,0r0,-144r146,0r0,42r-104,0r0,55"},"6":{"d":"91,-150v47,-16,86,24,86,72v0,49,-33,80,-80,80v-47,0,-84,-31,-80,-79v5,-57,54,-128,76,-179r51,0xm97,-40v21,0,33,-15,33,-37v0,-21,-12,-38,-33,-38v-21,0,-33,16,-33,38v0,22,12,37,33,37"},"7":{"d":"181,-214r-83,214r-51,0r83,-214r-67,0r0,40r-45,0r0,-82r163,0r0,42"},"8":{"d":"98,-258v69,-7,107,88,50,126v63,37,26,134,-50,134v-76,0,-112,-96,-50,-134v-59,-37,-20,-134,50,-126xm98,-152v18,0,32,-14,32,-32v0,-18,-14,-32,-32,-32v-18,0,-32,14,-32,32v0,18,14,32,32,32xm98,-40v19,0,35,-16,35,-35v0,-19,-16,-36,-35,-36v-19,0,-35,17,-35,36v0,19,16,35,35,35"},"9":{"d":"98,-258v77,0,94,76,59,147r-54,111r-51,0r53,-106v-48,14,-87,-25,-87,-73v0,-47,33,-79,80,-79xm98,-141v20,-1,33,-16,33,-38v0,-22,-12,-37,-33,-37v-21,0,-33,15,-33,37v0,21,13,38,33,38"},":":{"d":"87,-98r-54,0r0,-53r54,0r0,53xm87,0r-54,0r0,-53r54,0r0,53","w":111},";":{"d":"87,-98r-54,0r0,-53r54,0r0,53xm86,20r-51,39r0,-110r51,0r0,71","w":111},"<":{"d":"351,-81r-253,0r118,117r-59,0r-139,-139r139,-138r59,0r-118,116r253,0r0,44","w":369},"=":{"d":"177,-120r-159,0r0,-44r159,0r0,44xm177,-42r-159,0r0,-44r159,0r0,44"},">":{"d":"352,-103r-139,139r-59,0r117,-117r-253,0r0,-44r253,0r-117,-116r59,0","w":369},"?":{"d":"99,-258v63,0,98,66,59,117v-13,18,-34,30,-33,61r-47,0v-6,-51,42,-67,51,-107v0,-17,-12,-29,-30,-29v-18,0,-29,13,-28,30r-47,0v-1,-43,32,-72,75,-72xm126,0r-50,0r0,-48r50,0r0,48","w":188},"@":{"d":"111,-258v83,0,141,8,141,90r0,169r-44,-1r0,-17v-44,43,-118,8,-105,-66v-13,-74,60,-108,104,-67v3,-41,-10,-66,-48,-66v-50,0,-97,-1,-93,49v4,47,-14,116,15,140r-32,32v-44,-27,-25,-108,-28,-173v-2,-60,29,-90,90,-90xm207,-83v0,-31,-10,-46,-30,-46v-20,0,-29,15,-29,46v0,31,9,46,29,46v20,0,30,-15,30,-46","w":272},"A":{"d":"228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0","w":229},"B":{"d":"133,-256v76,-11,105,96,47,125v66,28,35,131,-43,131r-107,0r0,-256r103,0xm80,-153v36,-1,82,8,82,-29v0,-37,-46,-30,-82,-30r0,59xm80,-45v38,0,86,7,86,-31v0,-39,-47,-32,-86,-32r0,63","w":236},"C":{"d":"71,-128v-1,54,4,86,45,86v23,0,37,-13,43,-37r51,0v-6,48,-42,83,-94,81v-66,-3,-103,-44,-95,-130v-18,-113,81,-160,157,-110v18,12,28,35,32,61r-51,0v-6,-24,-20,-37,-43,-37v-42,0,-44,25,-45,86","w":223},"D":{"d":"122,-256v72,5,94,40,94,127v0,90,-21,129,-94,129r-92,0r0,-256r92,0xm118,-45v44,-1,48,-32,48,-84v0,-71,-19,-89,-86,-83r0,167r38,0","w":237},"E":{"d":"199,0r-169,0r0,-256r169,0r0,44r-119,0r0,60r101,0r0,45r-101,0r0,62r119,0r0,45","w":217},"F":{"d":"199,-212r-119,0r0,63r101,0r0,45r-101,0r0,104r-50,0r0,-256r169,0r0,44","w":212},"G":{"d":"116,-42v31,0,50,-23,47,-59r-47,0r0,-42r96,0v8,87,-21,148,-96,145v-66,-2,-103,-44,-95,-130v-21,-116,91,-163,163,-106v17,13,24,34,28,58r-50,0v-6,-25,-21,-38,-46,-38v-53,0,-46,70,-44,123v1,31,16,49,44,49","w":233},"H":{"d":"217,0r-50,0r0,-107r-87,0r0,107r-50,0r0,-256r50,0r0,104r87,0r0,-104r50,0r0,256","w":246},"I":{"d":"80,0r-50,0r0,-256r50,0r0,256","w":109},"J":{"d":"157,-84v6,79,-105,114,-156,60r33,-33v25,28,73,17,73,-29r0,-170r50,0r0,172","w":183},"K":{"d":"237,0r-58,0r-66,-117r-33,40r0,77r-50,0r0,-256r50,0r0,111r90,-111r61,0r-85,102","w":239},"L":{"d":"196,0r-166,0r0,-256r50,0r0,211r116,0r0,45","w":207},"M":{"d":"262,0r-50,0r0,-149r-49,97r-34,0r-49,-97r0,149r-50,0r0,-256r49,0r67,138r67,-138r49,0r0,256","w":291},"N":{"d":"226,0r-45,0r-101,-157r0,157r-50,0r0,-256r45,0r101,157r0,-157r50,0r0,256","w":255},"O":{"d":"116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49","w":231},"P":{"d":"129,-256v49,-2,86,32,85,80v0,66,-59,88,-134,80r0,96r-50,0r0,-256r99,0xm80,-141v40,1,84,5,84,-35v0,-40,-44,-37,-84,-36r0,71","w":226},"Q":{"d":"211,-128v-2,48,-1,65,-16,91r22,22r-27,26r-22,-23v-79,38,-164,-9,-147,-116v-7,-87,27,-130,95,-130v67,0,99,45,95,130xm71,-128v0,61,14,95,61,81r-22,-22r27,-26r19,19v6,-8,5,-75,4,-90v-2,-31,-17,-48,-44,-48v-41,0,-45,31,-45,86","w":231},"R":{"d":"213,-178v-1,34,-20,58,-46,67r57,111r-58,0r-50,-102r-36,0r0,102r-50,0r0,-256r100,0v47,-1,84,31,83,78xm80,-144v39,1,83,5,83,-34v0,-38,-44,-35,-83,-34r0,68","w":235},"S":{"d":"157,-197v-19,-24,-94,-29,-92,14v3,47,91,22,111,53v13,12,19,30,19,54v0,90,-142,99,-188,44r32,-32v18,26,108,35,108,-10v0,-33,-34,-31,-62,-35v-45,-6,-68,-30,-68,-72v0,-84,124,-98,172,-48","w":212},"T":{"d":"195,-212r-67,0r0,212r-50,0r0,-212r-67,0r0,-44r184,0r0,44","w":205},"U":{"d":"120,-42v28,0,45,-18,45,-48r0,-166r50,0r0,168v1,53,-42,90,-95,90v-52,0,-94,-38,-94,-90r0,-168r50,0r0,166v0,29,16,48,44,48","w":240},"V":{"d":"208,-256r-85,256r-37,0r-85,-256r52,0r51,167r52,-167r52,0","w":209},"W":{"d":"317,-256r-69,256r-41,0r-48,-156r-47,156r-41,0r-69,-256r52,0r40,161r47,-161r37,0r47,161r40,-161r52,0","w":319},"X":{"d":"215,0r-57,0r-50,-89r-49,89r-57,0r79,-131r-74,-125r57,0r44,82r45,-82r57,0r-75,125","w":217},"Y":{"d":"205,-256r-77,151r0,105r-50,0r0,-105r-77,-151r54,0r48,103r47,-103r55,0","w":205},"Z":{"d":"183,0r-169,0r0,-40r110,-172r-105,0r0,-44r164,0r0,39r-110,172r110,0r0,45","w":197},"[":{"d":"121,27r-92,0r0,-310r92,0r0,42r-45,0r0,226r45,0r0,42","w":136},"\\":{"d":"145,27r-44,0r-101,-305r44,0","w":145},"]":{"d":"108,27r-93,0r0,-42r46,0r0,-226r-46,0r0,-42r93,0r0,310","w":136},"^":{"d":"194,-140r-49,0r-37,-68r-36,68r-49,0r64,-119r43,0","w":216},"_":{"d":"217,64r-217,0r0,-31r217,0r0,31","w":216},"`":{"d":"110,-217r-32,0r-41,-62r50,0","w":180},"a":{"d":"21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22","w":192},"b":{"d":"118,-190v51,2,68,35,65,96v16,83,-61,122,-111,76r0,18r-46,0r0,-256r47,0r0,85v11,-12,26,-19,45,-19xm105,-40v27,0,32,-20,31,-54v0,-34,-4,-54,-31,-54v-27,0,-32,20,-32,54v0,34,5,54,32,54","w":201},"c":{"d":"64,-94v-6,48,39,70,67,39r32,32v-53,54,-158,15,-146,-71v-11,-86,93,-125,146,-71r-32,32v-27,-31,-73,-9,-67,39","w":172},"d":{"d":"18,-94v0,-59,13,-94,65,-96v19,0,35,7,46,19r0,-85r47,0r0,256r-46,0r0,-18v-12,13,-27,20,-46,20v-52,-1,-66,-36,-66,-96xm97,-40v28,0,32,-21,32,-54v0,-33,-5,-54,-32,-54v-27,0,-32,20,-32,54v0,34,5,54,32,54","w":201},"e":{"d":"99,-190v57,0,87,46,81,111r-117,0v-2,45,59,54,84,24r28,28v-19,19,-36,29,-71,29v-58,0,-87,-32,-87,-96v0,-55,29,-96,82,-96xm134,-111v4,-42,-53,-54,-67,-20v-3,6,-4,12,-4,20r71,0","w":197},"f":{"d":"32,-182v-6,-57,22,-84,81,-77r0,39v-18,-1,-34,-2,-34,17r0,21r34,0r0,35r-34,0r0,147r-47,0r0,-147r-19,0r0,-35r19,0","w":123},"g":{"d":"18,-99v-14,-80,62,-116,110,-71r0,-18r46,0r0,181v6,76,-104,101,-151,53r29,-29v30,30,88,11,75,-44v-11,12,-27,19,-45,19v-50,-2,-66,-33,-64,-91xm96,-50v25,0,31,-19,31,-49v0,-30,-6,-49,-31,-49v-24,0,-31,19,-31,49v0,30,6,49,31,49","w":199},"h":{"d":"73,-170v38,-42,108,-13,108,49r0,121r-47,0r0,-114v0,-21,-13,-34,-31,-34v-53,0,-23,97,-30,148r-47,0r0,-256r47,0r0,86","w":204},"i":{"d":"73,-220r-47,0r0,-38r47,0r0,38xm73,0r-47,0r0,-188r47,0r0,188","w":99},"j":{"d":"73,-220r-47,0r0,-38r47,0r0,38xm73,17v0,42,-34,58,-81,53r0,-39v18,1,34,2,34,-17r0,-202r47,0r0,205","w":99},"k":{"d":"197,0r-58,0r-46,-78r-20,22r0,56r-47,0r0,-256r47,0r0,145r62,-77r57,0r-67,76","w":201},"l":{"d":"106,0v-48,5,-82,-11,-82,-54r0,-202r47,0r0,199v-1,18,17,18,35,17r0,40","w":117},"m":{"d":"168,-166v40,-46,123,-22,123,46r0,120r-47,0v-7,-53,22,-143,-31,-148v-53,6,-24,96,-31,148r-47,0v-7,-53,22,-148,-31,-148v-54,0,-23,96,-31,148r-47,0r0,-188r46,0r0,18v23,-28,77,-27,96,4","w":315},"n":{"d":"72,-170v37,-42,110,-13,110,50r0,120r-47,0v-7,-53,22,-148,-31,-148v-54,0,-23,96,-31,148r-47,0r0,-188r46,0r0,18","w":206},"o":{"d":"98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54"},"p":{"d":"118,-190v51,2,68,35,65,96v16,83,-60,121,-110,77r0,86r-47,0r0,-257r46,0r0,18v12,-13,27,-20,46,-20xm105,-40v27,0,32,-20,31,-54v0,-34,-4,-54,-31,-54v-27,0,-32,20,-32,54v0,34,5,54,32,54","w":201},"q":{"d":"18,-94v0,-60,13,-95,66,-96v19,0,34,7,46,20r0,-18r46,0r0,257r-47,0r0,-86v-11,12,-27,19,-46,19v-52,-2,-65,-37,-65,-96xm97,-40v28,0,32,-21,32,-54v0,-33,-5,-54,-32,-54v-27,0,-32,20,-32,54v0,34,5,54,32,54","w":201},"r":{"d":"128,-136v-19,-23,-55,-9,-55,23r0,113r-47,0r0,-188r46,0r0,18v20,-25,69,-27,91,-2","w":163},"s":{"d":"18,-130v0,-67,107,-75,144,-38r-29,29v-10,-13,-70,-22,-70,6v0,20,31,17,49,19v37,5,55,22,55,55v0,72,-121,77,-159,34r31,-30v13,19,81,27,83,-2v1,-21,-30,-19,-50,-20v-36,-4,-54,-22,-54,-53","w":180},"t":{"d":"111,0v-47,5,-80,-12,-80,-54r0,-93r-20,0r0,-35r20,0r0,-56r46,0r0,56r34,0r0,35r-34,0r0,90v-1,18,16,18,34,17r0,40","w":126},"u":{"d":"102,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-39,41,-110,13,-110,-51r0,-120r47,0r0,114v-1,21,13,34,31,34","w":206},"v":{"d":"176,-188r-69,188r-36,0r-70,-188r50,0r38,116r38,-116r49,0","w":177},"w":{"d":"272,-188r-57,188r-39,0r-39,-118r-39,118r-39,0r-58,-188r50,0r30,116r39,-116r34,0r38,116r30,-116r50,0","w":273},"x":{"d":"185,0r-56,0r-34,-56r-35,56r-56,0r65,-96r-62,-92r56,0r32,54r32,-54r56,0r-62,92","w":189},"y":{"d":"176,-188r-80,218v-9,30,-33,42,-73,39r0,-42v33,5,36,-18,43,-40r-65,-175r50,0r39,116r37,-116r49,0","w":177},"z":{"d":"156,0r-143,0r0,-36r83,-109r-78,0r0,-43r138,0r0,36r-84,110r84,0r0,42","w":172},"{":{"d":"79,-128v61,16,-19,130,70,113r0,42v-52,4,-92,-6,-92,-54v0,-39,13,-91,-42,-80r0,-42v26,2,43,-3,42,-28v-2,-56,-3,-110,55,-106r37,0r0,42v-27,0,-45,-3,-45,28v0,37,8,77,-25,85","w":164},"|":{"d":"86,27r-46,0r0,-310r46,0r0,310","w":126},"}":{"d":"108,-230v0,39,-14,92,41,81r0,42v-25,-2,-43,1,-41,28v3,57,1,109,-56,106r-37,0r0,-42v28,1,46,2,46,-29v0,-37,-8,-76,25,-84v-33,-9,-25,-48,-25,-85v0,-31,-18,-29,-46,-28r0,-42v52,-4,93,4,93,53","w":164},"~":{"d":"72,-136v33,-1,75,42,103,5r30,30v-19,18,-30,30,-60,31v-34,1,-73,-43,-102,-6r-30,-29v20,-19,28,-31,59,-31","w":218},"\u00a1":{"d":"81,-140r-50,0r0,-48r50,0r0,48xm85,69r-58,0r12,-176r34,0","w":124},"\u00a2":{"d":"17,-132v0,-51,25,-86,67,-94r0,-30r36,0r0,30v19,3,35,12,49,27r-31,31v-7,-8,-15,-13,-23,-15r0,103v8,-2,16,-7,23,-15r31,30v-14,15,-30,24,-49,27r0,38r-36,0r0,-38v-42,-8,-67,-43,-67,-94xm89,-183v-34,9,-34,95,0,102r0,-102","w":179},"\u00a3":{"d":"36,-143v-20,-101,92,-148,156,-89r-33,33v-25,-28,-77,-16,-73,29r0,27r41,0r0,36r-41,0r0,62r106,0r0,45r-156,0r0,-107r-22,0r0,-36r22,0","w":208},"\u00a4":{"d":"220,-35r-31,31r-27,-26v-25,16,-59,16,-84,0r-26,26r-31,-31r27,-26v-16,-25,-16,-59,0,-84r-27,-26r31,-31r26,26v25,-16,59,-16,84,0r27,-26r31,31r-27,26v16,25,16,59,0,84xm120,-61v24,0,43,-19,43,-42v0,-23,-19,-42,-43,-42v-23,-1,-42,19,-42,42v0,23,19,43,42,42","w":240},"\u00a5":{"d":"204,-256r-48,97r26,0r0,36r-45,0v-5,10,-11,19,-9,36r54,0r0,36r-54,0r0,51r-50,0r0,-51r-55,0r0,-36r55,0v2,-17,-4,-26,-9,-36r-46,0r0,-36r27,0r-49,-97r54,0r48,103r47,-103r54,0","w":205},"\u00a6":{"d":"86,-157r-46,0r0,-126r46,0r0,126xm86,27r-46,0r0,-126r46,0r0,126","w":127},"\u00a7":{"d":"55,-149v-54,-27,-23,-109,41,-109v42,0,69,22,70,61r-44,0v-1,-15,-10,-22,-26,-22v-34,0,-32,38,-1,45v40,10,75,24,75,75v0,23,-16,45,-32,54v56,28,24,116,-42,116v-40,0,-73,-25,-72,-64r45,0v1,15,10,23,27,23v36,0,33,-41,1,-50v-39,-10,-75,-24,-75,-75v0,-24,17,-45,33,-54xm96,-65v18,0,29,-14,29,-32v0,-19,-11,-32,-29,-32v-19,0,-29,13,-29,32v0,18,10,32,29,32","w":191},"\u00a8":{"d":"150,-218r-40,0r0,-45r40,0r0,45xm70,-218r-40,0r0,-45r40,0r0,45","w":180},"\u00a9":{"d":"152,-258v70,0,130,60,130,130v0,70,-60,130,-130,130v-70,0,-130,-60,-130,-130v0,-70,60,-130,130,-130xm152,-27v55,0,99,-45,99,-101v0,-56,-44,-101,-99,-101v-55,0,-99,44,-99,101v0,57,44,101,99,101xm90,-128v0,-63,69,-93,112,-52r-20,20v-26,-22,-61,-12,-61,32v0,44,35,54,61,32r20,20v-42,39,-112,10,-112,-52","w":303},"\u00aa":{"d":"17,-152v2,-41,40,-47,86,-43v8,-36,-40,-38,-56,-19r-24,-23v29,-36,118,-26,118,32r0,98r-37,0r0,-13v-27,31,-89,12,-87,-32xm75,-136v22,0,30,-11,28,-34v-21,0,-50,-5,-49,17v0,11,7,17,21,17","w":163},"\u00ab":{"d":"202,-10r-90,-89r90,-89r0,56r-34,33r34,33r0,56xm102,-10r-90,-89r90,-89r0,56r-34,33r34,33r0,56","w":226},"\u00ac":{"d":"179,-34r-44,0r0,-52r-118,0r0,-44r162,0r0,96"},"\u00ae":{"d":"152,-258v70,0,130,60,130,130v0,70,-60,130,-130,130v-70,0,-130,-60,-130,-130v0,-70,60,-130,130,-130xm152,-27v55,0,99,-44,99,-101v0,-57,-44,-101,-99,-101v-55,0,-99,44,-99,101v0,57,44,101,99,101xm104,-198v50,-2,104,-3,103,44v0,18,-9,30,-26,37r30,58r-36,0r-25,-54r-15,0r0,54r-31,0r0,-139xm135,-136v20,1,41,2,41,-18v0,-19,-21,-19,-41,-18r0,36","w":303},"\u00b0":{"d":"86,-262v35,0,66,31,66,67v0,35,-31,66,-66,66v-35,0,-66,-31,-66,-66v0,-36,31,-67,66,-67xm86,-166v15,0,28,-14,28,-29v0,-15,-13,-29,-28,-29v-16,0,-28,14,-28,29v0,15,14,29,28,29","w":172},"\u00b1":{"d":"177,-123r-57,0r0,58r-44,0r0,-58r-58,0r0,-43r58,0r0,-58r44,0r0,58r57,0r0,43xm177,0r-159,0r0,-44r159,0r0,44"},"\u00b2":{"d":"64,-258v46,0,63,50,31,84r-38,41r56,0r0,30r-98,0r0,-30v21,-27,51,-46,65,-79v0,-10,-6,-15,-16,-15v-10,0,-15,5,-15,16r-34,0v0,-27,21,-47,49,-47","w":128},"\u00b3":{"d":"66,-258v41,-3,68,54,33,76v37,23,13,84,-33,81v-30,-2,-52,-18,-51,-48r34,0v0,12,6,18,17,18v11,0,17,-6,17,-18v0,-14,-7,-19,-22,-18r0,-29v13,1,21,-3,20,-15v0,-11,-5,-16,-15,-16v-10,0,-15,5,-15,15r-34,0v0,-28,22,-44,49,-46","w":132},"\u00b4":{"d":"143,-279r-41,62r-32,0r23,-62r50,0","w":180},"\u00b6":{"d":"13,-183v0,-47,34,-73,83,-73r115,0r0,325r-47,0r0,-281r-36,0r0,281r-47,0r0,-180v-36,1,-68,-34,-68,-72","w":240},"\u00b8":{"d":"117,22r-16,52r-43,0r24,-52r35,0","w":180},"\u00b9":{"d":"80,-103r-34,0r0,-115r-32,28r0,-38r32,-28r34,0r0,153","w":105},"\u00ba":{"d":"83,-258v43,0,64,28,64,77v0,48,-22,76,-64,76v-42,0,-63,-27,-63,-76v0,-49,20,-77,63,-77xm83,-139v22,0,26,-15,26,-42v0,-28,-3,-43,-26,-43v-22,0,-25,15,-25,43v0,27,3,42,25,42","w":166},"\u00bb":{"d":"214,-99r-90,89r0,-56r34,-33r-34,-33r0,-56xm114,-99r-90,89r0,-56r34,-33r-34,-33r0,-56","w":226},"\u00bc":{"d":"287,-21r-12,0r0,21r-33,0r0,-21r-63,0r0,-32r51,-101r37,0r-51,101r26,0r0,-22r33,0r0,22r12,0r0,32xm225,-256r-121,256r-37,0r121,-256r37,0xm80,-103r-34,0r0,-115r-32,28r0,-38r32,-28r34,0r0,153","w":300},"\u00bd":{"d":"246,-155v47,0,61,49,30,83r-38,41r57,0r0,31r-98,0r0,-31v20,-26,52,-45,64,-78v0,-10,-5,-16,-15,-16v-10,0,-15,5,-15,16r-34,0v-1,-27,21,-46,49,-46xm223,-256r-121,256r-36,0r121,-256r36,0xm80,-103r-34,0r0,-115r-32,28r0,-38r32,-28r34,0r0,153","w":310},"\u00be":{"d":"297,-21r-12,0r0,21r-32,0r0,-21r-64,0r0,-32r52,-101r37,0r-52,101r27,0r0,-22r32,0r0,22r12,0r0,32xm237,-256r-122,256r-37,0r122,-256r37,0xm66,-258v41,-3,68,54,33,76v37,23,13,84,-33,81v-30,-2,-52,-18,-51,-48r34,0v0,12,6,18,17,18v11,0,17,-6,17,-18v0,-14,-7,-19,-22,-18r0,-29v13,1,21,-3,20,-15v0,-11,-5,-16,-15,-16v-10,0,-15,5,-15,15r-34,0v0,-28,22,-44,49,-46","w":311},"\u00bf":{"d":"112,-140r-50,0r0,-48r50,0r0,48xm89,29v17,0,29,-13,29,-30r47,0v1,43,-34,72,-76,72v-62,0,-101,-69,-58,-117v11,-20,33,-32,33,-61r47,0v5,50,-51,64,-51,106v0,17,11,30,29,30","w":188},"\u00c0":{"d":"228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0xm134,-281r-32,0r-41,-62r50,0","w":229},"\u00c1":{"d":"228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0xm167,-343r-41,62r-32,0r23,-62r50,0","w":229},"\u00c2":{"d":"180,-281r-36,0r-30,-33r-30,33r-36,0r47,-61r38,0xm228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0","w":229},"\u00c3":{"d":"49,-310v27,-33,57,-17,88,-6v7,0,14,-4,21,-11r21,21v-28,33,-57,17,-89,6v-7,0,-14,4,-21,11xm228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0","w":229},"\u00c4":{"d":"228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0xm174,-282r-40,0r0,-45r40,0r0,45xm94,-282r-40,0r0,-45r40,0r0,45","w":229},"\u00c5":{"d":"114,-365v26,0,47,22,47,47v0,25,-22,47,-47,47v-25,0,-47,-22,-47,-47v0,-25,21,-47,47,-47xm114,-297v12,0,21,-9,21,-21v0,-12,-9,-21,-21,-21v-12,0,-21,9,-21,21v0,12,9,21,21,21xm228,0r-52,0r-15,-45r-92,0r-15,45r-52,0r93,-256r39,0xm147,-87r-31,-94r-32,94r63,0","w":229},"\u00c6":{"d":"333,0r-168,0r0,-56r-81,0r-29,56r-54,0r134,-256r198,0r0,44r-118,0r0,61r101,0r0,44r-101,0r0,62r118,0r0,45xm165,-98r0,-114r-60,114r60,0","w":352},"\u00c7":{"d":"71,-128v-1,54,4,86,45,86v23,0,37,-13,43,-37r51,0v-6,48,-42,83,-94,81v-66,-3,-103,-44,-95,-130v-18,-113,81,-160,157,-110v18,12,28,35,32,61r-51,0v-6,-24,-20,-37,-43,-37v-42,0,-44,25,-45,86xm136,22r-16,52r-43,0r24,-52r35,0","w":223},"\u00c8":{"d":"199,0r-169,0r0,-256r169,0r0,44r-119,0r0,60r101,0r0,45r-101,0r0,62r119,0r0,45xm132,-281r-32,0r-41,-62r50,0","w":217},"\u00c9":{"d":"199,0r-169,0r0,-256r169,0r0,44r-119,0r0,60r101,0r0,45r-101,0r0,62r119,0r0,45xm164,-343r-41,62r-32,0r23,-62r50,0","w":217},"\u00ca":{"d":"178,-281r-37,0r-29,-33r-30,33r-37,0r48,-61r37,0xm199,0r-169,0r0,-256r169,0r0,44r-119,0r0,60r101,0r0,45r-101,0r0,62r119,0r0,45","w":217},"\u00cb":{"d":"199,0r-169,0r0,-256r169,0r0,44r-119,0r0,60r101,0r0,45r-101,0r0,62r119,0r0,45xm172,-282r-40,0r0,-45r40,0r0,45xm92,-282r-40,0r0,-45r40,0r0,45","w":217},"\u00cc":{"d":"80,0r-50,0r0,-256r50,0r0,256xm84,-281r-32,0r-41,-62r50,0","w":109},"\u00cd":{"d":"80,0r-50,0r0,-256r50,0r0,256xm99,-343r-41,62r-32,0r23,-62r50,0","w":109},"\u00ce":{"d":"121,-281r-37,0r-30,-33r-30,33r-36,0r48,-61r37,0xm80,0r-50,0r0,-256r50,0r0,256","w":109},"\u00cf":{"d":"80,0r-50,0r0,-256r50,0r0,256xm115,-282r-40,0r0,-45r40,0r0,45xm35,-282r-40,0r0,-45r40,0r0,45","w":109},"\u00d0":{"d":"38,-256v116,-5,201,1,186,128v15,127,-69,133,-186,128r0,-111r-25,0r0,-38r25,0r0,-107xm88,-44v48,2,86,0,86,-50v0,-55,7,-121,-48,-118r-38,0r0,63r42,0r0,38r-42,0r0,67","w":245},"\u00d1":{"d":"63,-310v27,-33,57,-17,88,-6v7,0,14,-4,21,-11r21,21v-28,33,-57,17,-89,6v-7,0,-14,4,-21,11xm226,0r-45,0r-101,-157r0,157r-50,0r0,-256r45,0r101,157r0,-157r50,0r0,256","w":255},"\u00d2":{"d":"116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49xm136,-281r-32,0r-41,-62r50,0","w":231},"\u00d3":{"d":"116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49xm169,-343r-41,62r-32,0r23,-62r50,0","w":231},"\u00d4":{"d":"182,-281r-36,0r-30,-33r-30,33r-36,0r47,-61r38,0xm116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49","w":231},"\u00d5":{"d":"51,-310v27,-33,57,-17,88,-6v7,0,14,-4,21,-11r21,21v-28,33,-58,18,-89,6v-7,0,-14,4,-21,11xm116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49","w":231},"\u00d6":{"d":"116,-258v67,0,95,45,95,130v0,85,-28,130,-95,130v-67,0,-95,-43,-95,-130v0,-87,27,-130,95,-130xm116,-42v41,0,44,-25,45,-86v1,-55,-4,-82,-45,-86v-53,-5,-46,70,-44,123v1,31,16,49,44,49xm176,-282r-40,0r0,-45r40,0r0,45xm96,-282r-40,0r0,-45r40,0r0,45","w":231},"\u00d7":{"d":"178,-52r-30,29r-50,-50r-51,50r-29,-29r50,-51r-50,-51r29,-29r51,51r50,-51r30,29r-51,51"},"\u00d8":{"d":"183,-232v25,27,24,47,28,104v7,101,-52,147,-136,122r-10,22r-36,0r19,-40v-25,-27,-23,-47,-27,-104v-7,-102,50,-145,136,-123r10,-21r35,0xm139,-208v-47,-18,-68,14,-68,80v0,27,2,45,4,54xm93,-49v47,19,68,-9,68,-79v0,-26,-2,-45,-4,-55","w":234},"\u00d9":{"d":"120,-42v28,0,45,-18,45,-48r0,-166r50,0r0,168v1,53,-42,90,-95,90v-52,0,-94,-38,-94,-90r0,-168r50,0r0,166v0,29,16,48,44,48xm140,-281r-32,0r-41,-62r50,0","w":240},"\u00da":{"d":"120,-42v28,0,45,-18,45,-48r0,-166r50,0r0,168v1,53,-42,90,-95,90v-52,0,-94,-38,-94,-90r0,-168r50,0r0,166v0,29,16,48,44,48xm173,-343r-41,62r-32,0r23,-62r50,0","w":240},"\u00db":{"d":"186,-281r-36,0r-30,-33r-30,33r-36,0r48,-61r37,0xm120,-42v28,0,45,-18,45,-48r0,-166r50,0r0,168v1,53,-42,90,-95,90v-52,0,-94,-38,-94,-90r0,-168r50,0r0,166v0,29,16,48,44,48","w":240},"\u00dc":{"d":"120,-42v28,0,45,-18,45,-48r0,-166r50,0r0,168v1,53,-42,90,-95,90v-52,0,-94,-38,-94,-90r0,-168r50,0r0,166v0,29,16,48,44,48xm180,-282r-40,0r0,-45r40,0r0,45xm100,-282r-40,0r0,-45r40,0r0,45","w":240},"\u00dd":{"d":"205,-256r-77,151r0,105r-50,0r0,-105r-77,-151r54,0r48,103r47,-103r55,0xm156,-343r-41,62r-32,0r23,-62r50,0","w":205},"\u00de":{"d":"80,-209v75,-7,134,12,134,79v1,67,-58,88,-134,80r0,50r-50,0r0,-256r50,0r0,47xm80,-94v40,1,84,5,84,-36v0,-40,-44,-36,-84,-35r0,71","w":227},"\u00df":{"d":"107,-258v66,0,105,68,56,103v31,13,22,57,23,97v1,46,-30,62,-79,58r0,-40v43,8,31,-39,32,-74v0,-17,-13,-24,-32,-22r0,-36v19,2,32,-4,32,-22v0,-16,-11,-24,-32,-24v-22,0,-34,11,-34,34r0,184r-47,0r0,-188v0,-47,32,-70,81,-70","w":206},"\u00e0":{"d":"21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22xm114,-217r-32,0r-41,-62r50,0","w":192},"\u00e1":{"d":"21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22xm147,-279r-41,62r-32,0r23,-62r50,0","w":192},"\u00e2":{"d":"160,-217r-36,0r-30,-33r-30,33r-36,0r47,-61r38,0xm21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22","w":192},"\u00e3":{"d":"29,-246v27,-33,56,-17,88,-7v7,0,14,-3,21,-10r21,20v-28,34,-56,18,-89,7v-7,0,-14,3,-21,10xm21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22","w":192},"\u00e4":{"d":"21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22xm154,-218r-40,0r0,-45r40,0r0,45xm74,-218r-40,0r0,-45r40,0r0,45","w":192},"\u00e5":{"d":"94,-305v26,0,47,22,47,48v0,25,-22,47,-47,47v-25,0,-47,-22,-47,-47v0,-26,21,-48,47,-48xm94,-236v12,0,21,-9,21,-21v0,-12,-9,-21,-21,-21v-12,0,-21,9,-21,21v0,12,9,21,21,21xm21,-164v34,-45,147,-32,147,41r0,123r-46,0r0,-16v-34,36,-109,17,-109,-41v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22","w":192},"\u00e6":{"d":"150,-169v49,-49,144,-6,135,69r0,21r-118,0v-2,45,59,54,84,24r28,28v-26,37,-108,40,-137,3v-30,42,-129,35,-129,-33v0,-51,52,-58,108,-54v10,-45,-51,-49,-71,-24r-29,-29v22,-33,104,-34,129,-5xm239,-111v3,-40,-53,-55,-67,-20v-3,6,-5,12,-5,20r72,0xm85,-36v30,0,38,-12,36,-43v-26,1,-63,-6,-63,21v0,14,9,22,27,22","w":301},"\u00e7":{"d":"64,-94v-6,48,39,70,67,39r32,32v-53,54,-158,15,-146,-71v-11,-86,93,-125,146,-71r-32,32v-27,-31,-73,-9,-67,39xm117,22r-16,52r-43,0r24,-52r35,0","w":173},"\u00e8":{"d":"99,-190v57,0,87,46,81,111r-117,0v-2,45,59,54,84,24r28,28v-19,19,-36,29,-71,29v-58,0,-87,-32,-87,-96v0,-55,29,-96,82,-96xm134,-111v4,-42,-53,-54,-67,-20v-3,6,-4,12,-4,20r71,0xm120,-217r-32,0r-41,-62r50,0","w":197},"\u00e9":{"d":"99,-190v57,0,87,46,81,111r-117,0v-2,45,59,54,84,24r28,28v-19,19,-36,29,-71,29v-58,0,-87,-32,-87,-96v0,-55,29,-96,82,-96xm134,-111v4,-42,-53,-54,-67,-20v-3,6,-4,12,-4,20r71,0xm153,-279r-41,62r-32,0r23,-62r50,0","w":197},"\u00ea":{"d":"166,-217r-36,0r-30,-33r-30,33r-37,0r48,-61r37,0xm99,-190v57,0,87,46,81,111r-117,0v-2,45,59,54,84,24r28,28v-19,19,-36,29,-71,29v-58,0,-87,-32,-87,-96v0,-55,29,-96,82,-96xm134,-111v4,-42,-53,-54,-67,-20v-3,6,-4,12,-4,20r71,0","w":197},"\u00eb":{"d":"99,-190v57,0,87,46,81,111r-117,0v-2,45,59,54,84,24r28,28v-19,19,-36,29,-71,29v-58,0,-87,-32,-87,-96v0,-55,29,-96,82,-96xm134,-111v4,-42,-53,-54,-67,-20v-3,6,-4,12,-4,20r71,0xm160,-218r-40,0r0,-45r40,0r0,45xm80,-218r-40,0r0,-45r40,0r0,45","w":197},"\u00ec":{"d":"73,0r-47,0r0,-188r47,0r0,188xm79,-217r-32,0r-41,-62r50,0","w":99},"\u00ed":{"d":"73,0r-47,0r0,-188r47,0r0,188xm94,-279r-41,62r-32,0r23,-62r50,0","w":99},"\u00ee":{"d":"117,-217r-37,0r-30,-33r-29,33r-37,0r48,-61r37,0xm73,0r-47,0r0,-188r47,0r0,188","w":99},"\u00ef":{"d":"73,0r-47,0r0,-188r47,0r0,188xm109,-218r-40,0r0,-45r40,0r0,45xm29,-218r-40,0r0,-45r40,0r0,45","w":99},"\u00f0":{"d":"20,-91v0,-61,25,-91,80,-92r-12,-22r-41,0r0,-33r25,0r-12,-21r51,0r11,21r33,0r0,33r-17,0v18,36,37,63,37,114v0,59,-25,93,-77,93v-52,0,-78,-33,-78,-93xm98,-40v26,0,30,-18,30,-51v0,-33,-4,-52,-30,-52v-27,0,-31,18,-31,52v0,34,4,51,31,51"},"\u00f1":{"d":"39,-246v28,-33,56,-17,88,-7v7,0,14,-3,21,-10r21,20v-27,34,-55,18,-88,7v-7,0,-15,3,-22,10xm72,-170v37,-42,110,-13,110,50r0,120r-47,0v-7,-53,22,-148,-31,-148v-54,0,-23,96,-31,148r-47,0r0,-188r46,0r0,18","w":206},"\u00f2":{"d":"98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54xm116,-217r-32,0r-41,-62r50,0"},"\u00f3":{"d":"98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54xm151,-279r-41,62r-32,0r23,-62r50,0"},"\u00f4":{"d":"164,-217r-36,0r-30,-33r-30,33r-36,0r47,-61r38,0xm98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54"},"\u00f5":{"d":"33,-246v27,-33,56,-17,88,-7v7,0,14,-3,21,-10r21,20v-28,34,-56,18,-89,7v-7,0,-14,3,-21,10xm98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54"},"\u00f6":{"d":"98,-190v54,0,79,34,79,96v0,62,-26,96,-79,96v-53,0,-80,-35,-80,-96v0,-62,26,-96,80,-96xm98,-40v28,0,32,-19,32,-54v0,-36,-5,-54,-32,-54v-27,0,-33,19,-33,54v0,35,5,54,33,54xm158,-218r-40,0r0,-45r40,0r0,45xm78,-218r-40,0r0,-45r40,0r0,45"},"\u00f7":{"d":"121,-152r-46,0r0,-47r46,0r0,47xm179,-81r-162,0r0,-44r162,0r0,44xm121,-6r-46,0r0,-47r46,0r0,47"},"\u00f8":{"d":"18,-94v-4,-76,53,-112,117,-88r13,-21r29,0v-6,12,-18,26,-21,36v14,15,21,39,21,73v0,77,-53,112,-117,88r-13,22r-28,0r21,-37v-17,-18,-20,-37,-22,-73xm115,-143v-43,-24,-59,36,-47,80xm80,-45v44,24,59,-33,47,-80"},"\u00f9":{"d":"102,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-39,41,-110,13,-110,-51r0,-120r47,0r0,114v-1,21,13,34,31,34xm122,-217r-32,0r-41,-62r50,0","w":206},"\u00fa":{"d":"102,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-39,41,-110,13,-110,-51r0,-120r47,0r0,114v-1,21,13,34,31,34xm155,-279r-41,62r-32,0r23,-62r50,0","w":206},"\u00fb":{"d":"168,-217r-36,0r-30,-33r-30,33r-36,0r47,-61r38,0xm102,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-39,41,-110,13,-110,-51r0,-120r47,0r0,114v-1,21,13,34,31,34","w":206},"\u00fc":{"d":"102,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-39,41,-110,13,-110,-51r0,-120r47,0r0,114v-1,21,13,34,31,34xm162,-218r-40,0r0,-45r40,0r0,45xm82,-218r-40,0r0,-45r40,0r0,45","w":206},"\u00fd":{"d":"176,-188r-80,218v-9,30,-33,42,-73,39r0,-42v33,5,36,-18,43,-40r-65,-175r50,0r39,116r37,-116r49,0xm141,-279r-41,62r-32,0r23,-62r50,0","w":177},"\u00fe":{"d":"118,-190v51,2,68,35,65,96v16,83,-60,121,-110,77r0,86r-47,0r0,-325r47,0r0,85v11,-12,26,-19,45,-19xm105,-40v27,0,32,-20,31,-54v0,-34,-4,-54,-31,-54v-27,0,-32,20,-32,54v0,34,5,54,32,54","w":202},"\u00ff":{"d":"176,-188r-80,218v-9,30,-33,42,-73,39r0,-42v33,5,36,-18,43,-40r-65,-175r50,0r39,116r37,-116r49,0xm148,-218r-40,0r0,-45r40,0r0,45xm68,-218r-40,0r0,-45r40,0r0,45","w":177},"\u00af":{"d":"147,-227r-114,0r0,-31r114,0r0,31","w":180},"\u02c9":{"d":"147,-227r-114,0r0,-31r114,0r0,31","w":180},"\u00b5":{"d":"103,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-15,16,-41,25,-63,14r0,72r-47,0r0,-257r47,0r0,114v-1,21,13,34,31,34","w":207},"\u03bc":{"d":"103,-40v54,0,23,-96,31,-148r47,0r0,188r-46,0r0,-17v-15,16,-41,25,-63,14r0,72r-47,0r0,-257r47,0r0,114v-1,21,13,34,31,34","w":207},"\u00ad":{"d":"177,-81r-159,0r0,-44r159,0r0,44"},"\u2212":{"d":"177,-81r-159,0r0,-44r159,0r0,44"},"\u00b7":{"d":"78,-76r-54,0r0,-54r54,0r0,54","w":102},"\u2219":{"d":"78,-76r-54,0r0,-54r54,0r0,54","w":102},"\u00a0":{"w":83}}});
Cufon.registerFont({"w":200,"face":{"font-family":"Universe2","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 7 3 3 5 2 2 2 4","ascent":"261","descent":"-99","x-height":"6","bbox":"-13 -338 358 90","underline-thickness":"18","underline-position":"-18","stemh":"43","stemv":"56","unicode-range":"U+0020-U+00FF"},"glyphs":{" ":{"w":100,"k":{"T":54,"V":45,"W":45,"Y":54,"\u00dd":54,"A":29,"\u00c6":29,"\u00c1":29,"\u00c2":29,"\u00c4":29,"\u00c0":29,"\u00c5":29,"\u00c3":29}},"!":{"d":"88,-71r-37,0r-7,-189r49,0xm46,0r0,-48r46,0r0,48r-46,0","w":140},"\"":{"d":"26,-251r48,0r-10,89r-28,0xm95,-251r48,0r-9,89r-29,0","w":170},"#":{"d":"-3,-63r0,-40r37,0r8,-43r-30,0r0,-40r37,0r12,-65r46,0r-12,65r35,0r11,-65r47,0r-12,65r30,0r0,40r-38,0r-7,43r29,0r0,40r-37,0r-12,63r-46,0r12,-63r-34,0r-12,63r-46,0r11,-63r-29,0xm80,-103r34,0r8,-43r-34,0"},"$":{"d":"188,-73v0,50,-45,72,-81,74r0,36r-19,0r0,-36v-64,-6,-74,-25,-79,-78r49,0v-1,36,22,40,30,40r0,-64v-57,-7,-102,-67,-56,-121v20,-23,45,-25,58,-26r0,-30r20,0r0,30v19,1,41,4,58,21v17,17,18,38,18,50r-48,0v-1,-27,-13,-32,-29,-34r0,64v40,10,79,23,79,74xm90,-152r0,-58v-19,1,-27,13,-27,28v0,21,13,26,27,30xm108,-97r0,60v15,-1,29,-11,29,-30v0,-15,-8,-24,-29,-30"},"%":{"d":"18,-205v0,-19,0,-69,60,-69v50,0,59,32,59,66v0,18,0,72,-61,72v-42,0,-58,-30,-58,-69xm78,-246v-34,0,-26,80,-1,80v12,0,21,-8,21,-42v0,-15,-2,-38,-20,-38xm184,-66v0,-18,0,-69,60,-69v50,0,58,33,58,66v0,18,1,72,-61,72v-42,0,-57,-30,-57,-69xm243,-107v-35,0,-25,81,-1,81v12,0,21,-8,21,-42v0,-15,-2,-39,-20,-39xm213,-277r27,0r-136,281r-27,0","w":320},"&":{"d":"8,-72v-6,-25,36,-76,55,-81v-9,-7,-32,-25,-32,-55v0,-15,9,-59,80,-59v67,0,78,38,78,57v0,40,-37,59,-51,67r53,53v10,-28,10,-44,10,-72r54,0v0,44,-8,74,-30,108r53,55r-67,0r-20,-24v-17,13,-40,30,-84,30v-57,0,-99,-29,-99,-79xm111,-171v20,-6,44,-62,0,-62v-16,0,-26,9,-26,23v0,16,22,36,26,39xm158,-52r-65,-67v-43,17,-34,86,17,86v17,0,36,-9,48,-19","w":280},"(":{"d":"59,-273r39,0v-12,36,-31,95,-31,159v0,48,10,84,31,158r-39,0v-49,-100,-46,-216,0,-317","w":119},")":{"d":"61,44r-39,0v12,-36,31,-94,31,-158v0,-49,-10,-85,-31,-159r39,0v49,100,46,215,0,317","w":119},"*":{"d":"24,-167r0,-39r55,8r-34,-42r33,-19r21,50r21,-51r33,20r-35,42r55,-6r-1,38r-53,-8r34,44r-34,18r-21,-50r-21,51r-32,-20r33,-44"},"+":{"d":"81,0r0,-73r-72,0r0,-46r72,0r0,-73r48,0r0,73r72,0r0,46r-72,0r0,73r-48,0","w":210},",":{"d":"37,-48r53,0r-43,89r-37,0","w":100,"k":{" ":9}},"-":{"d":"16,-75r0,-41r89,0r0,41r-89,0","w":119},".":{"d":"27,0r0,-48r45,0r0,48r-45,0","w":100,"k":{" ":9}},"\/":{"d":"108,-258r41,0r-96,258r-43,0","w":159},"0":{"d":"14,-125v0,-33,6,-130,87,-130v35,0,57,19,66,33v35,59,41,227,-67,226v-64,0,-86,-62,-86,-129xm102,-213v-37,-5,-34,79,-34,92v0,43,7,82,34,82v29,0,33,-48,33,-83v0,-35,7,-86,-33,-91","k":{"1":20,"0":-7}},"1":{"d":"34,-163r0,-50v23,-10,46,-23,67,-38r46,0r0,251r-54,0r0,-195v-10,8,-32,21,-59,32","k":{"9":7,"8":7,"7":11,"1":34,"0":22,".":18,"-":20}},"2":{"d":"13,-180v-5,-38,36,-75,86,-75v55,0,85,30,85,69v0,26,-10,60,-119,147r120,-3r0,42r-176,0r0,-51v35,-34,70,-59,103,-97v14,-17,17,-25,17,-37v0,-19,-11,-32,-30,-32v-29,0,-31,30,-31,37r-55,0"},"3":{"d":"132,-129v21,1,58,39,51,60v3,63,-97,98,-152,57v-23,-17,-23,-46,-23,-56r55,0v0,8,2,33,32,33v20,0,32,-15,32,-34v0,-37,-35,-37,-61,-37r0,-42v25,-1,62,-2,62,-38v0,-20,-15,-30,-31,-30v-15,0,-31,11,-31,32r-55,0v-2,-39,43,-71,85,-71v64,0,84,42,84,69v0,42,-37,54,-48,57"},"4":{"d":"107,-55r-101,0r0,-48r101,-148r53,0r0,155r34,0r0,41r-34,0r0,55r-53,0r0,-55xm110,-189r-64,94r63,0"},"5":{"d":"11,-62r53,0v0,6,5,28,30,28v19,0,37,-14,37,-47v0,-24,-9,-45,-33,-45v-24,0,-30,19,-32,25r-53,-1r6,-149r152,0r0,41r-104,0r-4,62v37,-37,122,-12,122,62v0,43,-26,91,-90,91v-39,0,-88,-29,-84,-67"},"6":{"d":"191,-84v0,52,-37,90,-91,89v-87,0,-87,-84,-87,-114v0,-50,6,-104,41,-128v58,-39,125,-20,133,48r-53,0v-1,-18,-14,-25,-27,-25v-36,0,-37,45,-38,71v37,-37,122,-22,122,59xm103,-35v15,0,35,-11,35,-45v0,-28,-15,-43,-33,-43v-9,0,-36,5,-36,44v0,31,16,44,34,44"},"7":{"d":"13,-209r0,-42r171,0r0,45r-87,206r-60,0r92,-209r-116,0","k":{"6":7,"4":20,".":61,"-":20,",":61}},"8":{"d":"11,-69v0,-34,30,-57,52,-63v-13,-4,-48,-14,-48,-53v0,-31,26,-71,87,-71v50,0,85,29,85,68v0,30,-23,52,-49,56v19,-1,52,33,52,63v0,46,-43,73,-92,73v-51,0,-87,-33,-87,-73xm101,-152v18,0,34,-13,34,-33v0,-21,-16,-31,-33,-31v-18,0,-33,12,-33,31v0,18,12,33,32,33xm65,-72v2,50,72,51,72,-1v0,-23,-17,-36,-36,-36v-21,0,-36,16,-36,37"},"9":{"d":"12,-61r54,0v1,15,12,24,27,24v37,0,40,-38,39,-73v-18,16,-35,17,-46,17v-62,0,-77,-49,-77,-79v0,-47,34,-82,89,-82v86,0,88,82,88,122v0,106,-35,137,-96,137v-14,0,-78,0,-78,-66xm96,-134v49,-1,45,-81,1,-79v-26,0,-35,20,-35,39v0,9,3,40,34,40"},":":{"d":"27,0r0,-48r46,0r0,48r-46,0xm27,-133r0,-49r46,0r0,49r-46,0","w":100,"k":{" ":9}},";":{"d":"29,-133r0,-49r45,0r0,49r-45,0xm31,-48r54,0r-43,89r-37,0","w":100,"k":{" ":9}},"<":{"d":"9,-72r0,-48r192,-74r0,50r-134,48r134,48r0,51","w":210},"=":{"d":"9,-114r0,-47r192,0r0,47r-192,0xm9,-31r0,-46r192,0r0,46r-192,0","w":210},">":{"d":"201,-72r-192,75r0,-51r134,-48r-134,-48r0,-50r192,74r0,48","w":210},"?":{"d":"92,-58r-41,0v-16,-63,50,-86,57,-135v5,-36,-56,-43,-91,-27r0,-38v53,-15,146,-10,146,60v0,62,-86,69,-71,140xm50,0r0,-43r43,0r0,43r-43,0","w":180},"@":{"d":"177,-203v15,0,35,10,38,22r5,-16r35,0r-26,96v0,9,6,13,12,13v18,0,43,-28,43,-71v0,-63,-53,-86,-98,-86v-64,0,-120,43,-120,120v0,69,49,111,116,111v16,0,52,-2,96,-35r13,17v-97,80,-250,30,-249,-95v0,-86,68,-139,145,-139v64,0,122,37,122,109v0,51,-32,93,-74,93v-12,0,-35,-14,-33,-29v-14,26,-34,31,-48,31v-27,0,-49,-20,-49,-55v0,-42,31,-86,72,-86xm166,-88v27,0,37,-65,37,-72v0,-8,-5,-17,-17,-17v-19,0,-38,33,-38,65v0,4,1,24,18,24","w":351},"A":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"B":{"d":"225,-72v-3,89,-110,71,-201,72r0,-260v61,4,113,-10,162,12v47,37,36,94,-16,113v40,7,55,36,55,63xm78,-220r0,66v39,-3,77,14,83,-34v-4,-46,-45,-28,-83,-32xm78,-114r0,72v41,-3,92,14,92,-35v0,-49,-51,-35,-92,-37","w":240,"k":{"V":14,"W":14,"Y":20,"\u00dd":20,",":7,".":7}},"C":{"d":"228,-175r-57,0v-1,-9,-4,-46,-42,-46v-41,0,-58,43,-58,97v0,15,0,89,54,89v23,0,46,-14,47,-49r58,0v-1,15,-2,39,-23,61v-23,24,-52,29,-76,29v-90,0,-119,-67,-119,-131v0,-82,46,-137,119,-137v57,0,97,35,97,87","w":240,"k":{"Y":11,"\u00dd":11}},"D":{"d":"243,-134v0,99,-45,137,-139,134r-81,0r0,-260v74,5,113,-15,176,24v35,22,44,65,44,102xm80,-217r0,174v33,2,62,4,82,-17v22,-22,24,-61,24,-74v-3,-59,-27,-92,-106,-83","w":259,"k":{"V":20,"W":14,"Y":25,"\u00dd":25,",":9,".":9,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14,"J":9}},"E":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0","w":219},"F":{"d":"25,0r0,-260r168,0r0,42r-112,0r0,64r104,0r0,43r-104,0r0,111r-56,0","k":{"\u00eb":7,"\u00e3":14,"\u00e0":14,"\u00e4":14,"e":7,"\u00e9":7,"\u00ea":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"u":7,"\u00fa":7,"\u00fb":7,"\u00fc":7,"\u00f9":7,"-":9,",":63,".":63,"a":14,"\u00e6":14,"\u00e1":14,"\u00e2":14,"\u00e5":14,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,"J":63,"r":7}},"G":{"d":"159,6v-104,0,-142,-58,-145,-132v-6,-131,143,-182,225,-109v20,17,18,41,18,55r-58,0v4,-26,-31,-53,-50,-47v-63,0,-76,59,-76,99v0,42,22,92,83,92v27,0,36,-3,42,-5r0,-54r-50,0r0,-44r106,0r0,130v-16,5,-43,15,-95,15","w":280},"H":{"d":"24,0r0,-260r56,0r0,104r98,0r0,-104r57,0r0,260r-56,0r0,-114r-99,0r0,114r-56,0","w":259},"I":{"d":"22,0r0,-261r55,0r0,261r-55,0","w":100},"J":{"d":"176,-260v-8,114,36,263,-91,263v-46,9,-87,-44,-82,-87r55,0v1,28,8,46,31,46v39,0,30,-30,30,-63r0,-159r57,0","k":{"e":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00e8":5,"o":5,"\u00f8":5,"\u00f3":5,"\u00f4":5,"\u00f6":5,"\u00f2":5,"\u00f5":5,",":11,".":11,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"K":{"d":"24,0r0,-260r56,0r0,112r87,-112r65,0r-95,116r103,144r-69,0r-91,-132r0,132r-56,0","w":240,"k":{"w":14,"y":14,"\u00fd":14,"\u00ff":14,"e":5,"\u00e9":5,"\u00ea":5,"\u00eb":5,"\u00e8":5,"o":5,"\u00f8":5,"\u00f3":5,"\u00f4":5,"\u00f6":5,"\u00f2":5,"\u00f5":5,"O":18,"\u00d8":18,"\u00d3":18,"\u00d4":18,"\u00d6":18,"\u00d2":18,"\u00d5":18,"u":5,"\u00fa":5,"\u00fb":5,"\u00fc":5,"\u00f9":5}},"L":{"d":"25,0r0,-260r57,0r0,216r111,0r0,44r-168,0","k":{"y":14,"\u00fd":14,"\u00ff":14,"O":18,"\u00d8":18,"\u00d3":18,"\u00d4":18,"\u00d6":18,"\u00d2":18,"\u00d5":18,"T":34,"V":49,"W":36,"Y":49,"\u00dd":49,"-":45}},"M":{"d":"22,0r0,-260r91,0r55,189r59,-189r89,0r0,260r-56,0r0,-223r-71,223r-46,0r-69,-223r0,223r-52,0","w":339},"N":{"d":"26,0r0,-260r81,0r97,205r0,-205r52,0r0,260r-77,0r-101,-216r0,216r-52,0","w":280},"O":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"P":{"d":"104,-260v54,-8,106,27,106,77v0,30,-11,58,-33,70v-33,19,-58,10,-97,12r0,101r-57,0r0,-260r81,0xm78,-217r0,74v36,-2,68,11,74,-39v-5,-47,-39,-32,-74,-35","w":219,"k":{"\u00e4":14,"e":14,"\u00e9":14,"\u00ea":14,"\u00eb":14,"\u00e8":14,"o":14,"\u00f8":14,"\u00f3":14,"\u00f4":14,"\u00f6":14,"\u00f2":14,"\u00f5":14,"Y":9,"\u00dd":9,"-":20,",":85,".":85,"a":14,"\u00e6":14,"\u00e1":14,"\u00e2":14,"\u00e0":14,"\u00e5":14,"\u00e3":14,"A":36,"\u00c6":36,"\u00c1":36,"\u00c2":36,"\u00c4":36,"\u00c0":36,"\u00c5":36,"\u00c3":36}},"Q":{"d":"274,1v-49,-2,-100,3,-147,3v-97,0,-115,-90,-115,-132v0,-71,38,-137,126,-137v67,0,117,46,117,131v0,59,-27,85,-39,97v12,-2,36,-4,58,-3r0,41xm198,-135v0,-65,-9,-80,-63,-91v-49,0,-65,47,-65,95v0,37,11,95,64,95v55,0,64,-57,64,-99","w":280},"R":{"d":"170,0v-9,-29,1,-116,-43,-105r-49,0r0,105r-56,0r0,-260v83,3,201,-23,201,67v0,49,-42,60,-55,64v65,-1,37,96,63,129r-61,0xm165,-184v0,-48,-45,-32,-88,-35r0,72v43,-2,88,11,88,-37","w":240,"k":{"C":4,"\u00c7":4,"G":4,"O":4,"\u00d8":4,"\u00d3":4,"\u00d4":4,"\u00d6":4,"\u00d2":4,"\u00d5":4,"S":4,"T":7,"V":7,"W":7,"Y":14,"\u00dd":14}},"S":{"d":"13,-83r56,0v0,12,0,49,48,49v30,0,49,-14,49,-36v0,-23,-16,-27,-49,-35v-62,-15,-96,-34,-96,-79v0,-43,31,-81,103,-81v27,0,59,7,78,31v15,19,15,39,15,48r-54,0v-1,-9,-3,-39,-42,-39v-26,0,-43,14,-43,35v0,24,20,29,57,38v45,11,89,23,89,74v0,47,-39,84,-111,84v-100,0,-100,-64,-100,-89","w":240,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,"T":7,"V":9,"Y":18,"\u00dd":18,",":7,".":7}},"T":{"d":"82,0r0,-217r-77,0r0,-43r211,0r0,43r-77,0r0,217r-57,0","w":219,"k":{"\u00fc":54,"\u00f2":54,"\u00f6":54,"\u00e8":54,"\u00eb":54,"\u00ea":54,"\u00e3":54,"\u00e5":54,"\u00e0":54,"\u00e4":54,"\u00e2":54,"w":54,"y":54,"\u00fd":54,"\u00ff":54,"e":54,"\u00e9":54,"o":54,"\u00f8":54,"\u00f3":54,"\u00f4":54,"\u00f5":54,"O":14,"\u00d8":14,"\u00d3":14,"\u00d4":14,"\u00d6":14,"\u00d2":14,"\u00d5":14,"T":7,"u":54,"\u00fa":54,"\u00fb":54,"\u00f9":54,"V":7,"W":7,"Y":7,"\u00dd":7,"\u00ab":54,"-":54,",":54,".":54,"a":54,"\u00e6":54,"\u00e1":54,"A":34,"\u00c6":34,"\u00c1":34,"\u00c2":34,"\u00c4":34,"\u00c0":34,"\u00c5":34,"\u00c3":34,"J":45,"r":54,":":49,"\u00bb":45,";":49}},"U":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64","w":280,"k":{",":9,".":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"V":{"d":"4,-259r61,0r68,204r69,-204r55,0r-96,259r-61,0","w":259,"k":{"\u00f6":34,"\u00f4":34,"\u00ee":7,"\u00e8":34,"\u00eb":34,"\u00ea":34,"\u00e3":34,"\u00e5":34,"\u00e0":34,"\u00e4":34,"\u00e2":34,"C":20,"\u00c7":20,"e":34,"\u00e9":34,"G":20,"o":34,"\u00f8":34,"\u00f3":34,"\u00f2":34,"\u00f5":34,"O":20,"\u00d8":20,"\u00d3":20,"\u00d4":20,"\u00d6":20,"\u00d2":20,"\u00d5":20,"u":20,"\u00fa":20,"\u00fb":20,"\u00fc":20,"\u00f9":20,"\u00ab":36,"-":32,",":49,".":49,"a":34,"\u00e6":34,"\u00e1":34,"A":36,"\u00c6":36,"\u00c1":36,"\u00c2":36,"\u00c4":36,"\u00c0":36,"\u00c5":36,"\u00c3":36,"i":7,"\u00ed":7,"\u00ef":7,"\u00ec":7,":":14,"\u00bb":18,";":14}},"W":{"d":"5,-259r58,0r40,195r51,-195r63,0r46,195r42,-195r53,0r-66,260r-62,0r-47,-199r-51,199r-63,0","w":360,"k":{"\u00fc":7,"\u00f6":14,"\u00ea":14,"\u00e4":20,"e":14,"\u00e9":14,"\u00eb":14,"\u00e8":14,"o":14,"\u00f8":14,"\u00f3":14,"\u00f4":14,"\u00f2":14,"\u00f5":14,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"u":7,"\u00fa":7,"\u00fb":7,"\u00f9":7,"\u00ab":22,"-":22,",":14,".":14,"a":20,"\u00e6":20,"\u00e1":20,"\u00e2":20,"\u00e0":20,"\u00e5":20,"\u00e3":20,"A":27,"\u00c6":27,"\u00c1":27,"\u00c2":27,"\u00c4":27,"\u00c0":27,"\u00c5":27,"\u00c3":27,"r":7,":":7,"\u00bb":9,";":7}},"X":{"d":"11,-260r69,0r52,88r56,-88r60,0r-86,125r91,135r-68,0r-58,-98r-63,98r-59,0r91,-135","w":259,"k":{"y":27,"\u00fd":27,"\u00ff":27,"C":18,"\u00c7":18,"e":14,"\u00e9":14,"\u00ea":14,"\u00eb":14,"\u00e8":14,"O":25,"\u00d8":25,"\u00d3":25,"\u00d4":25,"\u00d6":25,"\u00d2":25,"\u00d5":25}},"Y":{"d":"6,-259r65,0r54,118r54,-118r58,0r-88,164r0,95r-55,0r0,-95","w":240,"k":{"\u00fc":36,"\u00f6":54,"C":27,"\u00c7":27,"e":59,"\u00e9":59,"\u00ea":59,"\u00eb":59,"\u00e8":59,"o":54,"\u00f8":54,"\u00f3":54,"\u00f4":54,"\u00f2":54,"\u00f5":54,"O":27,"\u00d8":27,"\u00d3":27,"\u00d4":27,"\u00d6":27,"\u00d2":27,"\u00d5":27,"S":20,"u":36,"\u00fa":36,"\u00fb":36,"\u00f9":36,"\u00ab":45,"-":63,",":47,".":47,"a":54,"\u00e6":54,"\u00e1":54,"\u00e2":54,"\u00e4":54,"\u00e0":54,"\u00e5":54,"\u00e3":54,"A":49,"\u00c6":49,"\u00c1":49,"\u00c2":49,"\u00c4":49,"\u00c0":49,"\u00c5":49,"\u00c3":49,"i":13,"\u00ed":13,"\u00ee":13,"\u00ef":13,"\u00ec":13,":":20,"\u00bb":36,";":20}},"Z":{"d":"10,0r0,-48r136,-170r-128,1r0,-42r188,0r0,49r-135,169r138,-2r0,43r-199,0","w":219},"[":{"d":"103,-271r0,33r-39,0r0,249r39,0r0,33r-82,0r0,-315r82,0","w":119},"\\":{"d":"10,-258r42,0r97,258r-42,0","w":100},"]":{"d":"17,-238r0,-33r82,0r0,315r-82,0r0,-33r39,0r0,-249r-39,0","w":119},"^":{"d":"18,-95r66,-156r42,0r65,156r-50,0r-37,-98r-36,98r-50,0","w":210},"_":{"d":"0,45r0,-18r180,0r0,18r-180,0","w":180},"a":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45"},"b":{"d":"22,0r0,-260r53,0r0,100v18,-24,42,-24,51,-24v44,0,80,35,80,96v0,68,-40,92,-76,92v-9,0,-38,-2,-55,-30v0,6,-1,15,-2,26r-51,0xm151,-86v0,-14,0,-63,-39,-63v-39,0,-39,44,-39,56v0,41,17,62,41,62v37,0,37,-46,37,-55","w":219,"k":{"v":7,"y":7,"\u00fd":7,"\u00ff":7}},"c":{"d":"98,5v-52,4,-85,-42,-85,-96v0,-83,61,-94,85,-94v34,0,74,19,74,68r-52,0v-1,-6,-3,-34,-24,-34v-25,0,-28,38,-28,58v-1,13,3,65,28,62v6,0,22,-3,24,-35r53,0v2,29,-30,77,-75,71","w":180,"k":{"h":7,"k":7}},"d":{"d":"143,-26v-3,13,-37,34,-53,30v-49,0,-78,-34,-78,-91v0,-60,33,-97,81,-97v33,0,46,19,51,25r0,-101r53,0r2,260r-54,0xm103,-31v31,0,42,-39,42,-63v0,-36,-15,-55,-39,-55v-36,0,-40,43,-40,61v0,30,10,57,37,57","w":219},"e":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41","k":{"y":7,"\u00fd":7,"\u00ff":7}},"f":{"d":"27,0r0,-144r-27,0r0,-38r27,0v-1,-50,0,-81,63,-83v4,0,13,0,28,2r0,37v-35,-4,-43,12,-38,44r34,0r0,38r-34,0r0,144r-53,0","w":119,"k":{"e":14,"\u00e9":14,"\u00ea":14,"\u00eb":14,"\u00e8":14,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,",":16,".":16,"a":14,"\u00e6":14,"\u00e1":14,"\u00e2":14,"\u00e4":14,"\u00e0":14,"\u00e5":14,"\u00e3":14,"f":9,"\u00df":9,"t":9}},"g":{"d":"146,-181r50,0v-6,53,-2,120,-3,179v0,67,-55,74,-90,74v-26,0,-77,-4,-80,-59r51,0v1,5,3,26,31,26v33,0,39,-18,36,-67v-52,61,-126,-1,-126,-65v0,-46,26,-90,78,-90v33,0,46,18,51,26xm69,-93v0,9,-1,53,35,53v37,0,38,-44,38,-52v0,-21,-5,-55,-37,-55v-20,0,-36,15,-36,54","w":219,"k":{"y":7,"\u00fd":7,"\u00ff":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7}},"h":{"d":"130,-184v88,-2,60,103,65,184r-53,0r0,-109v0,-10,0,-39,-30,-39v-15,0,-34,9,-34,37r0,111r-53,0r0,-260r53,0r0,103v6,-9,19,-27,52,-27","w":219,"k":{"y":14,"\u00fd":14,"\u00ff":14}},"i":{"d":"22,-213r0,-47r56,0r0,47r-56,0xm23,0r0,-182r54,0r0,182r-54,0","w":100},"j":{"d":"-1,70r0,-36v24,1,24,-22,24,-31r0,-186r54,0r0,199v3,40,-28,61,-78,54xm22,-213r0,-47r56,0r0,47r-56,0","w":100},"k":{"d":"24,0r0,-260r53,0r0,153r55,-76r60,0r-62,79r66,104r-63,0r-56,-99r0,99r-53,0","k":{"e":13,"\u00e9":13,"\u00ea":13,"\u00eb":13,"\u00e8":13,"g":13,"o":13,"\u00f8":13,"\u00f3":13,"\u00f4":13,"\u00f6":13,"\u00f2":13,"\u00f5":13,"a":5,"\u00e6":5,"\u00e1":5,"\u00e2":5,"\u00e4":5,"\u00e0":5,"\u00e5":5,"\u00e3":5}},"l":{"d":"23,0r0,-260r54,0r0,260r-54,0","w":100},"m":{"d":"248,-185v98,0,53,102,64,185r-54,0r0,-107v0,-19,-2,-41,-30,-41v-32,0,-33,30,-33,57r0,91r-54,0r0,-108v0,-14,1,-40,-29,-40v-33,0,-34,29,-34,41r0,107r-54,0r-1,-182r51,0r2,24v6,-8,20,-28,56,-28v42,0,53,25,57,34v15,-29,40,-33,59,-33","w":339,"k":{"y":14,"\u00fd":14,"\u00ff":14}},"n":{"d":"112,-148v-56,0,-27,95,-34,148r-54,0r-1,-183r51,0r2,28v5,-8,19,-32,59,-32v36,0,50,21,55,34v9,29,3,110,5,153r-54,0r0,-113v1,-22,-7,-35,-29,-35","w":219,"k":{"v":7,"w":7,"y":14,"\u00fd":14,"\u00ff":14}},"o":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"p":{"d":"22,-182r51,0r2,26v17,-29,46,-29,55,-29v47,0,76,35,76,90v0,51,-26,98,-79,98v-33,0,-46,-18,-51,-24r0,91r-54,0r0,-252xm113,-32v25,0,39,-25,39,-61v0,-22,-6,-58,-37,-58v-17,0,-42,13,-42,62v0,11,1,57,40,57","w":219,"k":{"y":7,"\u00fd":7,"\u00ff":7}},"q":{"d":"147,-182r52,0r-1,251r-55,0r0,-90v-5,6,-19,24,-50,24v-37,0,-80,-27,-80,-96v0,-70,41,-93,77,-93v37,0,51,23,55,30xm67,-92v0,21,14,65,40,59v35,0,39,-38,39,-58v0,-20,-5,-60,-42,-60v-31,0,-37,32,-37,59","w":219},"r":{"d":"23,0r-2,-183r50,0r1,35v7,-15,19,-37,62,-35r0,48v-54,-5,-57,22,-57,45r0,90r-54,0","w":140,"k":{"c":7,"\u00e7":7,"d":7,"e":11,"\u00e9":11,"\u00ea":11,"\u00eb":11,"\u00e8":11,"g":9,"o":9,"\u00f8":9,"\u00f3":9,"\u00f4":9,"\u00f6":9,"\u00f2":9,"\u00f5":9,"q":5,"u":14,"\u00fa":14,"\u00fb":14,"\u00fc":14,"\u00f9":14,"-":36,",":36,".":36,"h":14,"k":14,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7,"t":7,"r":14,"i":14,"\u00ed":14,"\u00ee":14,"\u00ef":14,"\u00ec":14,"l":14,"m":14,"n":14,"\u00f1":14,"p":14}},"s":{"d":"10,-53r50,0v1,12,9,25,31,25v35,0,41,-31,3,-42v-36,-10,-80,-5,-80,-59v0,-35,33,-57,80,-57v37,0,68,18,69,54r-49,0v-3,-34,-51,-25,-51,-4v0,21,39,22,58,28v32,11,49,26,49,51v0,53,-105,87,-146,40v-12,-13,-14,-27,-14,-36","w":180},"t":{"d":"130,-37r0,34v-17,5,-32,6,-41,6v-54,0,-54,-34,-54,-49r0,-99r-35,0r0,-36r35,0r0,-35r53,-20r0,55r43,0r0,36r-43,0r0,82v-6,24,18,30,42,26","w":140,"k":{"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"u":5,"\u00fa":5,"\u00fb":5,"\u00fc":5,"\u00f9":5,"t":9}},"u":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29","w":219},"v":{"d":"3,-182r56,0r41,124r42,-124r52,0r-66,182r-59,0","k":{"c":7,"\u00e7":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":18,",":29,".":36,"a":14,"\u00e6":14,"\u00e1":14,"\u00e2":14,"\u00e4":14,"\u00e0":14,"\u00e5":14,"\u00e3":14}},"w":{"d":"2,-182r56,0r34,137r38,-137r59,0r38,137r36,-137r53,0r-63,182r-58,0r-37,-135r-38,135r-59,0","w":320,"k":{"c":7,"\u00e7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":5,",":22,".":29,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7}},"x":{"d":"6,-182r63,0r34,60r36,-60r55,0r-59,89r61,93r-63,0r-37,-67r-37,67r-56,0r61,-98","k":{"c":7,"\u00e7":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":20}},"y":{"d":"5,-182r58,0r40,126r40,-126r53,0r-69,179r-22,72r-53,0r23,-68","k":{"c":7,"\u00e7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":11,",":27,".":34,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7}},"z":{"d":"12,0r0,-47r92,-99r-90,0r0,-36r149,0r0,46r-92,99r96,0r0,37r-155,0","w":180,"k":{"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7}},"{":{"d":"-5,-113v25,-2,42,-22,42,-61v0,-40,2,-82,88,-86r0,29v-45,6,-39,36,-40,68v0,32,-9,61,-57,65v33,-1,67,34,57,80v0,22,0,52,40,54r0,29v-33,-1,-55,-8,-70,-23v-14,-7,-19,-36,-18,-75v0,-19,0,-43,-42,-49r0,-31","w":119},"|":{"d":"26,-270r48,0r0,360r-48,0r0,-360","w":100},"}":{"d":"83,-174v-8,38,19,60,42,61r0,31v-46,11,-42,31,-42,61v0,40,-1,82,-88,86r0,-29v71,-8,18,-75,54,-116v13,-14,30,-17,42,-18v-32,0,-56,-26,-56,-78v0,-22,0,-52,-40,-55r0,-29v85,4,88,45,88,86","w":119},"~":{"d":"148,-61v-21,6,-102,-51,-111,-1r-31,0v3,-42,26,-69,56,-69v13,0,89,27,91,23v17,0,20,-17,21,-22r30,0v-2,28,-14,69,-56,69","w":210},"\u00a1":{"d":"54,-121r37,0r7,189r-49,0xm95,-192r0,48r-46,0r0,-48r46,0","w":140},"\u00a2":{"d":"158,-229r-13,51v37,14,37,49,37,61r-52,0v0,-6,-2,-34,-23,-34v-27,0,-29,44,-29,59v0,28,7,61,28,61v7,0,23,-4,25,-35r52,0v-1,13,-2,44,-34,61v-20,11,-42,10,-50,9r-13,49r-24,0r13,-53v-23,-6,-52,-35,-52,-90v-1,-59,34,-101,98,-94r12,-45r25,0"},"\u00a3":{"d":"37,-157v-6,-62,13,-103,84,-104v67,0,71,42,73,67r-54,0v0,-9,-1,-31,-23,-31v-37,9,-20,37,-24,68r60,0r0,41r-60,0r0,74r95,0r0,42r-177,0r0,-42r26,0r0,-74r-30,0r0,-41r30,0"},"\u00a5":{"d":"73,0r0,-49r-58,0r0,-27r58,0r0,-26r-58,0r0,-26r45,0r-60,-131r65,0r39,118r40,-118r58,0r-59,131r42,0r0,26r-57,0r0,26r57,0r0,26r-56,0r-1,50r-55,0"},"\u00a7":{"d":"102,-228v-8,0,-22,5,-21,15v6,24,30,20,48,29v53,13,43,76,7,91v14,7,30,21,30,44v0,55,-64,70,-134,45r1,-40v13,10,77,31,82,-4v-4,-23,-34,-22,-52,-30v-47,-20,-51,-73,-4,-93v-52,-26,-25,-91,41,-91v28,0,47,8,56,11r-1,37v-12,-5,-32,-14,-53,-14xm96,-105v39,-11,25,-53,-2,-53v-14,4,-25,12,-25,26v0,17,17,24,27,27"},"\u00a4":{"d":"7,-61r24,-24v-14,-12,-13,-69,0,-81r-24,-24r28,-28r24,24v18,-14,65,-14,81,0r24,-24r28,28r-24,24v13,11,14,72,0,81r24,24r-28,28r-24,-24v-12,14,-69,13,-81,0r-24,24xm100,-163v-21,0,-38,17,-38,38v0,21,17,38,38,38v21,0,38,-17,38,-38v0,-21,-17,-38,-38,-38"},"'":{"d":"28,-162r-10,-89r48,0r-9,89r-29,0","w":85},"\u00ab":{"d":"49,-20r-39,-71r39,-68r48,0r-34,68r34,71r-48,0xm137,-20r-39,-71r39,-68r47,0r-34,68r34,71r-47,0","k":{".":9,",":9,"T":45,"V":18,"W":9,"Y":36,"\u00dd":36}},"\u00b7":{"d":"27,-77r0,-48r45,0r0,48r-45,0","w":100},"\u00b6":{"d":"206,-219r-19,0r0,286r-45,0r0,-286r-34,0r0,286r-45,0r0,-153v-12,-1,-31,-1,-46,-17v-54,-60,-26,-153,70,-153r119,0r0,37"},"\u00bb":{"d":"59,-20r-47,0r34,-68r-34,-71r47,0r39,71xm147,-20r-48,0r34,-68r-34,-71r48,0r39,71","k":{".":9,",":9,"T":59,"V":41,"W":27,"Y":45,"\u00dd":45,"A":9,"\u00c6":9,"\u00c1":9,"\u00c2":9,"\u00c4":9,"\u00c0":9,"\u00c5":9,"\u00c3":9}},"\u00bf":{"d":"86,-132r41,0v16,62,-50,87,-57,135v-6,37,56,42,91,27r0,38v-53,14,-146,11,-146,-60v0,-63,86,-68,71,-140xm128,-190r0,43r-43,0r0,-43r43,0","w":180},"`":{"d":"46,-263r30,52r-30,0r-50,-52r50,0","w":100},"\u00b4":{"d":"104,-263r-49,52r-29,0r30,-52r48,0","w":100},"\u00af":{"d":"110,-225r-123,0r0,-24r123,0r0,24","w":100},"\u00a8":{"d":"62,-216r0,-42r37,0r0,42r-37,0xm0,-216r0,-42r37,0r0,42r-37,0","w":100},"\u00b8":{"d":"5,70r8,-15v14,9,44,11,45,-7v3,-11,-22,-16,-31,-10r-7,-8r23,-32r17,0r-17,23v21,-8,48,11,43,24v-1,40,-60,36,-81,25","w":100},"\u00c6":{"d":"-3,0r144,-260r197,0r0,43r-121,0r10,64r105,0r0,41r-99,0r10,69r98,0r0,43r-149,0r-8,-57r-98,0r-29,57r-60,0xm108,-98r70,0r-15,-113","w":360},"\u00aa":{"d":"7,-171v0,-31,42,-43,72,-40v0,-10,0,-24,-17,-24v-6,0,-16,3,-16,16r-34,0v0,-28,29,-34,49,-34v72,-2,44,56,53,112r-31,0v-1,-7,-1,-11,-1,-15v-5,8,-13,17,-35,17v-32,0,-40,-18,-40,-32xm79,-193v-21,-1,-38,4,-38,18v0,9,7,16,17,16v21,0,21,-24,21,-34","w":120},"\u00d8":{"d":"222,-239r34,-36r17,17r-35,37v19,26,26,58,26,90v0,133,-124,169,-210,109r-36,39r-17,-17r37,-40v-18,-25,-24,-55,-24,-86v0,-57,22,-140,125,-140v30,0,60,8,83,27xm188,-203v-60,-66,-115,8,-115,75v0,25,3,37,5,43xm200,-180r-111,120v5,7,18,26,51,26v66,0,74,-84,60,-146","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00ba":{"d":"5,-195v0,-35,22,-58,61,-58v41,0,61,26,61,58v0,31,-19,58,-61,58v-45,0,-61,-31,-61,-58xm67,-231v-40,1,-32,72,-1,72v17,0,26,-11,26,-37v0,-22,-6,-35,-25,-35","w":132},"\u00e6":{"d":"185,-83v-4,21,14,60,37,54v23,0,28,-18,30,-27r50,0v0,29,-38,61,-76,61v-48,0,-65,-25,-70,-33v-13,15,-31,35,-72,35v-48,0,-70,-25,-70,-57v0,-11,2,-38,31,-52v23,-12,59,-12,88,-12v1,-23,-6,-42,-30,-42v-13,0,-27,5,-28,25r-52,0v4,-42,35,-56,73,-56v42,0,58,20,65,28v8,-9,24,-28,64,-28v30,0,54,13,68,35v14,23,13,55,13,69r-121,0xm184,-114r67,0v0,-9,0,-42,-31,-42v-32,0,-35,33,-36,42xm133,-83v-24,-2,-61,-6,-68,30v3,33,46,34,61,7v5,-11,6,-26,7,-37","w":320},"\u00f8":{"d":"194,-197r15,13r-27,28v7,9,21,26,21,66v0,53,-29,96,-94,96v-40,0,-55,-13,-64,-21r-27,28r-15,-12r29,-31v-6,-9,-17,-26,-17,-59v0,-84,86,-121,153,-81xm71,-70r67,-69v-11,-12,-25,-11,-29,-11v-47,7,-39,50,-38,80xm146,-119r-68,70v4,6,10,18,31,18v47,-1,40,-54,37,-88","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00df":{"d":"112,-234v-34,1,-39,23,-39,45r0,189r-52,0r0,-194v0,-42,25,-58,31,-61v48,-24,139,-15,141,42v0,17,-6,28,-33,46v-32,23,17,42,34,53v15,10,33,20,33,54v0,62,-51,66,-73,66v-22,0,-59,-3,-63,-58r47,0v0,12,7,23,19,22v24,-2,29,-46,-1,-57v-20,-15,-59,-26,-57,-56v0,-14,3,-28,27,-46v20,-15,19,-45,-14,-45","w":240},"\u00b9":{"d":"17,-199r0,-30v35,-13,34,-28,74,-23r0,151r-36,0r0,-118v-13,8,-27,16,-38,20","w":119},"\u00ac":{"d":"9,-114r0,-47r192,0r0,130r-49,0r0,-83r-143,0","w":210},"\u00b5":{"d":"25,76r1,-258r46,0v6,54,-21,147,34,147v34,0,35,-34,35,-58r0,-89r47,0r0,182r-40,0r0,-22v-6,9,-16,25,-41,25v-23,0,-31,-12,-36,-18r0,91r-46,0","w":219},"\u00d0":{"d":"243,-134v0,99,-45,137,-139,134r-81,0r0,-127r-23,0r0,-31r23,0r0,-102v74,5,113,-15,176,24v35,22,44,65,44,102xm80,-127r0,84v33,2,62,4,82,-17v22,-22,24,-61,24,-74v-3,-59,-27,-92,-106,-83r0,59r52,0r0,31r-52,0","w":259,"k":{"V":20,"W":14,"Y":25,"\u00dd":25,",":9,".":9,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14,"J":9}},"\u00bd":{"d":"50,10r151,-271r29,0r-150,271r-30,0xm8,-199r0,-30v35,-13,34,-27,73,-23r0,151r-35,0r0,-118v-13,8,-27,16,-38,20xm291,-112v0,29,-52,69,-77,89v19,-1,52,-2,78,-2r0,25r-115,0r0,-31v27,-25,67,-43,79,-81v0,-10,-8,-18,-19,-18v-15,0,-21,10,-22,22r-35,0v-5,-24,28,-45,56,-45v34,0,55,17,55,41","w":300},"\u00b1":{"d":"81,-47r0,-54r-72,0r0,-47r72,0r0,-56r48,0r0,56r72,0r0,47r-72,0r0,54r-48,0xm9,12r0,-47r192,0r0,47r-192,0","w":210},"\u00de":{"d":"78,-220v71,-5,132,9,132,78v0,27,-10,55,-33,69v-31,18,-60,11,-97,12r0,61r-57,0r0,-260r55,0r0,40xm78,-103v41,5,77,-6,74,-40v-6,-47,-39,-31,-74,-34r0,74","w":219},"\u00bc":{"d":"239,-33r-64,0r0,-29r65,-89r36,0r-1,93r22,0r0,25r-22,0r0,33r-36,0r0,-33xm243,-113r-42,56r40,0xm51,10r150,-271r30,0r-150,271r-30,0xm3,-199r0,-30v35,-13,34,-28,74,-23r0,151r-36,0r0,-118v-13,8,-27,16,-38,20","w":300},"\u00f7":{"d":"8,-73r0,-46r191,0r0,46r-191,0xm77,-1r0,-53r53,0r0,53r-53,0xm77,-138r0,-52r53,0r0,52r-53,0","w":210},"\u00a6":{"d":"26,-243r48,0r0,126r-48,0r0,-126xm26,-63r48,0r0,126r-48,0r0,-126","w":100},"\u00b0":{"d":"71,-255v33,0,61,27,61,61v0,34,-27,61,-61,61v-33,0,-61,-27,-61,-61v0,-34,28,-61,61,-61xm71,-218v-13,0,-23,11,-23,24v0,13,10,24,23,24v14,0,24,-11,24,-24v0,-13,-11,-24,-24,-24","w":144},"\u00fe":{"d":"15,-260r54,0r0,104v16,-29,46,-29,55,-29v49,0,75,37,75,91v0,52,-27,97,-78,97v-33,0,-47,-17,-52,-24r0,91r-54,0r0,-330xm108,-151v-30,0,-41,26,-41,62v0,19,4,57,40,57v33,0,38,-42,38,-61v0,-15,-3,-58,-37,-58","w":219,"k":{"v":7,"y":7,"\u00fd":7,"\u00ff":7}},"\u00be":{"d":"235,-33r-64,0r0,-29r65,-89r36,0r-1,93r22,0r0,25r-22,0r0,33r-36,0r0,-33xm236,-113r-42,56r40,0xm67,10r150,-271r29,0r-150,271r-29,0xm11,-212v2,-25,19,-42,55,-42v37,0,55,22,55,41v0,25,-24,32,-32,34v24,7,33,21,33,36v-1,41,-68,63,-104,30v-10,-10,-9,-22,-9,-29r35,0v1,5,3,20,22,20v10,0,20,-6,20,-21v0,-22,-21,-22,-40,-22r0,-25v18,0,41,-2,41,-22v0,-12,-10,-18,-21,-18v-12,0,-20,7,-20,18r-35,0","w":300},"\u00b2":{"d":"116,-214v0,30,-52,68,-77,88v19,0,52,-1,78,-1r0,24r-114,0r0,-30v26,-25,65,-44,78,-81v0,-10,-7,-19,-19,-19v-14,0,-21,10,-22,22r-35,0v-4,-25,29,-44,56,-44v34,0,55,17,55,41","w":119},"\u00ae":{"d":"144,-266v73,0,136,59,136,136v0,75,-61,136,-136,136v-74,0,-136,-60,-136,-136v0,-77,63,-136,136,-136xm144,-244v-62,0,-114,50,-114,114v0,63,51,115,114,115v63,0,114,-53,114,-115v0,-63,-51,-114,-114,-114xm93,-53r0,-153v49,5,106,-20,106,40v0,28,-18,34,-29,38v35,0,20,53,33,75r-32,0v-7,-20,5,-61,-22,-61r-27,0r0,61r-29,0xm122,-181r0,42v23,3,49,-5,46,-22v-5,-31,-23,-17,-46,-20","w":288},"\u00f0":{"d":"109,5v-51,0,-92,-40,-92,-90v0,-90,86,-107,131,-73v-10,-17,-22,-34,-54,-55r-34,22r-15,-12r31,-21v-9,-5,-19,-9,-36,-16r29,-33v28,13,38,19,45,23r28,-19r16,12r-27,18v26,19,72,58,72,139v0,60,-27,105,-94,105xm111,-29v34,0,39,-35,39,-60v0,-18,-3,-55,-39,-55v-40,0,-40,48,-40,59v0,28,8,56,40,56","w":219},"\u00d7":{"d":"12,-36r60,-60r-60,-60r33,-33r60,60r60,-60r33,33r-60,60r60,60r-33,33r-60,-60r-60,60","w":210},"\u00b3":{"d":"4,-212v3,-25,19,-42,56,-42v37,0,54,22,54,41v0,25,-23,32,-31,34v24,7,33,21,33,36v-1,41,-68,63,-104,30v-10,-10,-10,-22,-10,-29r36,0v0,5,2,20,21,20v10,0,21,-6,21,-21v0,-22,-22,-22,-40,-22r0,-25v18,0,40,-2,40,-22v0,-12,-9,-18,-20,-18v-12,0,-20,7,-20,18r-36,0","w":119},"\u00a9":{"d":"143,-266v74,0,136,60,136,136v0,75,-61,136,-136,136v-75,0,-135,-61,-135,-136v0,-76,61,-136,135,-136xm143,-243v-62,0,-113,50,-113,113v0,63,50,114,113,114v63,0,114,-52,114,-114v0,-63,-51,-113,-114,-113xm211,-103v3,23,-33,61,-64,54v-57,0,-76,-38,-76,-78v0,-50,29,-83,76,-83v36,0,62,20,62,52r-37,0v0,-5,-3,-28,-27,-28v-38,0,-37,47,-37,57v0,9,0,56,36,56v13,0,28,-9,29,-30r38,0","w":288},"\u00c1":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm184,-330r-49,52r-29,0r30,-52r48,0","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c2":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm72,-278r40,-52r37,0r37,52r-32,0r-24,-31r-26,31r-32,0","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c4":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm142,-280r0,-42r37,0r0,42r-37,0xm80,-280r0,-42r37,0r0,42r-37,0","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c0":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm126,-330r30,52r-30,0r-50,-52r50,0","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c5":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm130,-338v21,0,36,17,36,37v0,20,-15,37,-36,37v-20,0,-36,-16,-36,-37v0,-20,16,-37,36,-37xm130,-320v-10,0,-19,8,-19,19v0,10,9,19,19,19v11,0,19,-9,19,-19v0,-10,-8,-19,-19,-19","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c3":{"d":"96,-260r66,0r90,260r-56,0r-19,-56r-102,0r-20,56r-53,0xm89,-98r74,0r-36,-111xm193,-328v3,38,-42,55,-74,34v-16,-4,-27,-8,-35,13r-19,0v5,-54,56,-46,93,-30v10,0,15,-8,17,-17r18,0","w":259,"k":{"v":20,"w":16,"y":20,"\u00fd":20,"\u00ff":20,"c":7,"\u00e7":7,"C":7,"\u00c7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"G":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"O":7,"\u00d8":7,"\u00d3":7,"\u00d4":7,"\u00d6":7,"\u00d2":7,"\u00d5":7,"q":7,"Q":7,"S":7,"T":40,"u":18,"\u00fa":18,"\u00fb":18,"\u00fc":18,"\u00f9":18,"U":14,"\u00da":14,"\u00db":14,"\u00dc":14,"\u00d9":14,"V":36,"W":27,"Y":49,"\u00dd":49,"\u00ab":9,"-":18}},"\u00c7":{"d":"115,5v-71,-1,-103,-73,-103,-130v0,-82,46,-137,119,-137v57,0,97,35,97,87r-57,0v-1,-9,-4,-46,-42,-46v-41,0,-58,43,-58,97v0,15,0,89,54,89v23,0,46,-14,47,-49r58,0v-1,18,-3,52,-40,75v-23,14,-47,15,-59,15r-12,16v23,-6,47,11,43,25v-1,40,-59,36,-80,25r7,-15v15,9,43,9,46,-8v2,-10,-22,-17,-31,-10r-8,-7","w":240,"k":{"Y":11,"\u00dd":11}},"\u00c9":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0xm164,-330r-49,52r-29,0r30,-52r48,0","w":219},"\u00ca":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0xm52,-278r40,-52r37,0r37,52r-32,0r-24,-31r-25,31r-33,0","w":219},"\u00cb":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0xm122,-280r0,-42r37,0r0,42r-37,0xm60,-280r0,-42r37,0r0,42r-37,0","w":219},"\u00c8":{"d":"27,0r0,-260r174,0r0,42r-119,0r0,62r111,0r0,43r-111,0r0,70r123,0r0,43r-178,0xm106,-330r30,52r-30,0r-50,-52r50,0","w":219},"\u00cd":{"d":"22,0r0,-261r55,0r0,261r-55,0xm104,-330r-49,52r-29,0r30,-52r48,0","w":100},"\u00ce":{"d":"22,0r0,-261r55,0r0,261r-55,0xm-8,-278r40,-52r37,0r37,52r-32,0r-24,-31r-26,31r-32,0","w":100},"\u00cf":{"d":"22,0r0,-261r55,0r0,261r-55,0xm62,-280r0,-42r37,0r0,42r-37,0xm0,-280r0,-42r37,0r0,42r-37,0","w":100},"\u00cc":{"d":"22,0r0,-261r55,0r0,261r-55,0xm46,-330r30,52r-30,0r-50,-52r50,0","w":100},"\u00d1":{"d":"26,0r0,-260r81,0r97,205r0,-205r52,0r0,260r-77,0r-101,-216r0,216r-52,0xm203,-328v3,38,-42,55,-74,34v-16,-4,-27,-8,-35,13r-19,0v5,-54,56,-46,93,-30v10,0,15,-8,17,-17r18,0","w":280},"\u00d3":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93xm194,-330r-49,52r-29,0r30,-52r48,0","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00d4":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93xm82,-278r40,-52r37,0r37,52r-32,0r-24,-31r-26,31r-32,0","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00d6":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93xm152,-280r0,-42r37,0r0,42r-37,0xm90,-280r0,-42r37,0r0,42r-37,0","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00d2":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93xm136,-330r30,52r-30,0r-50,-52r50,0","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00d5":{"d":"15,-126v0,-69,31,-140,125,-140v28,0,66,6,91,36v53,63,41,143,1,199v-62,56,-133,49,-185,2v-30,-27,-32,-73,-32,-97xm140,-226v-51,4,-68,47,-67,98v1,44,11,97,67,93v53,-4,62,-30,66,-98v3,-46,-25,-96,-66,-93xm203,-328v3,38,-42,55,-74,34v-16,-4,-27,-8,-35,13r-19,0v5,-54,56,-46,93,-30v10,0,15,-8,17,-17r18,0","w":280,"k":{"e":9,"\u00e9":9,"\u00ea":9,"\u00eb":9,"\u00e8":9,"T":14,"V":20,"W":7,"Y":27,"\u00dd":27,",":7,".":7,"a":9,"\u00e6":9,"\u00e1":9,"\u00e2":9,"\u00e4":9,"\u00e0":9,"\u00e5":9,"\u00e3":9,"A":11,"\u00c6":11,"\u00c1":11,"\u00c2":11,"\u00c4":11,"\u00c0":11,"\u00c5":11,"\u00c3":11,"X":25}},"\u00da":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64xm194,-330r-49,52r-29,0r30,-52r48,0","w":280,"k":{",":9,".":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"\u00db":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64xm82,-278r40,-52r37,0r37,52r-32,0r-24,-31r-26,31r-32,0","w":280,"k":{",":9,".":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"\u00dc":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64xm152,-280r0,-42r37,0r0,42r-37,0xm90,-280r0,-42r37,0r0,42r-37,0","w":280,"k":{",":9,".":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"\u00d9":{"d":"138,-37v22,1,59,-14,59,-67r0,-156r54,0r0,163v0,77,-61,102,-114,102v-26,0,-76,-5,-98,-45v-30,-56,-7,-145,-13,-220r56,0r0,159v0,28,2,64,56,64xm136,-330r30,52r-30,0r-50,-52r50,0","w":280,"k":{",":9,".":9,"A":14,"\u00c6":14,"\u00c1":14,"\u00c2":14,"\u00c4":14,"\u00c0":14,"\u00c5":14,"\u00c3":14}},"\u00dd":{"d":"6,-259r65,0r54,118r54,-118r58,0r-88,164r0,95r-55,0r0,-95xm174,-330r-49,52r-29,0r30,-52r48,0","w":240,"k":{"C":27,"\u00c7":27,"e":59,"\u00e9":59,"\u00ea":59,"\u00eb":59,"\u00e8":59,"o":54,"\u00f8":54,"\u00f3":54,"\u00f4":54,"\u00f6":54,"\u00f2":54,"\u00f5":54,"O":27,"\u00d8":27,"\u00d3":27,"\u00d4":27,"\u00d6":27,"\u00d2":27,"\u00d5":27,"S":20,"u":36,"\u00fa":36,"\u00fb":36,"\u00fc":36,"\u00f9":36,"\u00ab":45,"-":63,",":47,".":47,"a":54,"\u00e6":54,"\u00e1":54,"\u00e2":54,"\u00e4":54,"\u00e0":54,"\u00e5":54,"\u00e3":54,"A":49,"\u00c6":49,"\u00c1":49,"\u00c2":49,"\u00c4":49,"\u00c0":49,"\u00c5":49,"\u00c3":49,"i":13,"\u00ed":13,"\u00ee":13,"\u00ef":13,"\u00ec":13,":":20,"\u00bb":36,";":20}},"\u00e1":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm154,-263r-49,52r-29,0r30,-52r48,0"},"\u00e2":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm42,-211r40,-52r37,0r37,52r-32,0r-24,-30r-25,30r-33,0"},"\u00e4":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm112,-216r0,-42r37,0r0,42r-37,0xm50,-216r0,-42r37,0r0,42r-37,0"},"\u00e0":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm96,-263r30,52r-30,0r-50,-52r50,0"},"\u00e5":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm100,-274v21,0,36,17,36,37v0,20,-15,37,-36,37v-20,0,-36,-16,-36,-37v0,-20,16,-37,36,-37xm100,-256v-10,0,-19,8,-19,19v0,10,9,19,19,19v11,0,20,-9,20,-19v0,-10,-9,-19,-20,-19"},"\u00e3":{"d":"99,-156v-13,-2,-26,13,-24,26r-52,0v0,-10,1,-30,21,-42v40,-24,80,-24,119,8v29,46,2,103,18,164r-49,0v-2,-11,-1,-20,-1,-25v-20,29,-45,29,-55,29v-47,1,-61,-22,-61,-54v0,-14,6,-42,39,-57v22,-10,54,-10,72,-10v4,-25,-14,-40,-27,-39xm126,-86v-34,-3,-59,8,-59,30v0,24,36,35,49,15v8,-13,10,-26,10,-45xm163,-260v2,37,-43,55,-74,34v-15,-5,-27,-9,-35,13r-19,0v4,-46,47,-52,81,-33v11,6,29,0,29,-14r18,0"},"\u00e7":{"d":"68,-93v-1,13,3,65,28,62v6,0,22,-3,24,-35r53,0v-1,14,-3,36,-24,54v-17,14,-33,16,-47,17r-13,17v23,-6,47,11,43,25v-1,40,-59,36,-80,25r7,-15v16,8,44,10,46,-8v0,-5,-4,-13,-16,-13v-13,0,-16,4,-22,-4r19,-28v-9,-1,-32,-2,-50,-23v-15,-18,-23,-42,-23,-72v0,-83,61,-94,85,-94v34,0,74,19,74,68r-52,0v-1,-6,-3,-34,-24,-34v-25,0,-28,38,-28,58","w":180,"k":{"h":7,"k":7}},"\u00e9":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41xm154,-263r-49,52r-29,0r30,-52r48,0","k":{"y":7,"\u00fd":7,"\u00ff":7}},"\u00ea":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41xm42,-211r40,-52r37,0r37,52r-32,0r-24,-30r-25,30r-33,0","k":{"y":7,"\u00fd":7,"\u00ff":7}},"\u00eb":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41xm112,-216r0,-42r37,0r0,42r-37,0xm50,-216r0,-42r37,0r0,42r-37,0","k":{"y":7,"\u00fd":7,"\u00ff":7}},"\u00e8":{"d":"39,-16v-52,-55,-23,-175,65,-172v26,0,56,10,73,44v12,25,12,52,11,67r-122,0v0,12,0,48,37,48v13,0,27,-5,32,-25r49,0v-2,55,-96,89,-145,38xm68,-111r66,0v0,-8,-1,-41,-32,-41v-23,0,-33,20,-34,41xm96,-263r30,52r-30,0r-50,-52r50,0","k":{"y":7,"\u00fd":7,"\u00ff":7}},"\u00ed":{"d":"23,0r0,-182r54,0r0,182r-54,0xm104,-263r-49,52r-29,0r30,-52r48,0","w":100},"\u00ee":{"d":"23,0r0,-182r54,0r0,182r-54,0xm-8,-211r40,-52r37,0r37,52r-32,0r-24,-30r-26,30r-32,0","w":100},"\u00ef":{"d":"23,0r0,-182r54,0r0,182r-54,0xm62,-216r0,-42r37,0r0,42r-37,0xm0,-216r0,-42r37,0r0,42r-37,0","w":100},"\u00ec":{"d":"23,0r0,-182r54,0r0,182r-54,0xm46,-263r30,52r-30,0r-50,-52r50,0","w":100},"\u00f1":{"d":"112,-148v-56,0,-27,95,-34,148r-54,0r-1,-183r51,0r2,28v5,-8,19,-32,59,-32v36,0,50,21,55,34v9,29,3,110,5,153r-54,0r0,-113v1,-22,-7,-35,-29,-35xm174,-260v1,37,-43,56,-75,34v-15,-5,-27,-9,-35,13r-19,0v4,-46,47,-52,81,-33v11,6,29,0,29,-14r19,0","w":219,"k":{"v":7,"w":7,"y":14,"\u00fd":14,"\u00ff":14}},"\u00f3":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61xm164,-263r-49,52r-29,0r30,-52r48,0","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00f4":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61xm52,-211r40,-52r37,0r37,52r-32,0r-24,-30r-25,30r-33,0","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00f6":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61xm122,-216r0,-42r37,0r0,42r-37,0xm60,-216r0,-42r37,0r0,42r-37,0","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00f2":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61xm106,-263r30,52r-30,0r-50,-52r50,0","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00f5":{"d":"15,-89v0,-44,22,-97,94,-97v66,0,94,44,94,95v0,51,-29,97,-95,97v-52,0,-93,-31,-93,-95xm70,-89v0,41,14,58,40,58v23,0,39,-14,39,-62v0,-24,-5,-57,-40,-57v-39,0,-39,44,-39,61xm174,-260v1,37,-43,56,-75,34v-15,-5,-27,-9,-35,13r-19,0v4,-46,47,-52,81,-33v11,6,29,0,29,-14r19,0","w":219,"k":{"v":7,"w":7,"y":7,"\u00fd":7,"\u00ff":7,",":7,".":7,"x":11}},"\u00fa":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29xm164,-263r-49,52r-29,0r30,-52r48,0","w":219},"\u00fb":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29xm52,-211r40,-52r37,0r37,52r-32,0r-24,-30r-25,30r-33,0","w":219},"\u00fc":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29xm122,-216r0,-42r37,0r0,42r-37,0xm60,-216r0,-42r37,0r0,42r-37,0","w":219},"\u00f9":{"d":"88,5v-43,0,-66,-38,-66,-74r0,-113r54,0r0,109v0,16,0,40,28,40v34,0,34,-26,34,-57r0,-92r55,0r2,182r-51,0r-2,-24v-5,8,-19,29,-54,29xm106,-263r30,52r-30,0r-50,-52r50,0","w":219},"\u00fd":{"d":"5,-182r58,0r40,126r40,-126r53,0r-69,179r-22,72r-53,0r23,-68xm154,-263r-49,52r-29,0r30,-52r48,0","k":{"c":7,"\u00e7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":11,",":27,".":34,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7}},"\u00ff":{"d":"5,-182r58,0r40,126r40,-126r53,0r-69,179r-22,72r-53,0r23,-68xm112,-216r0,-42r37,0r0,42r-37,0xm50,-216r0,-42r37,0r0,42r-37,0","k":{"c":7,"\u00e7":7,"d":7,"e":7,"\u00e9":7,"\u00ea":7,"\u00eb":7,"\u00e8":7,"g":7,"o":7,"\u00f8":7,"\u00f3":7,"\u00f4":7,"\u00f6":7,"\u00f2":7,"\u00f5":7,"-":11,",":27,".":34,"a":7,"\u00e6":7,"\u00e1":7,"\u00e2":7,"\u00e4":7,"\u00e0":7,"\u00e5":7,"\u00e3":7}},"\u00a0":{"w":100},"\u00ad":{"d":"16,-75r0,-41r89,0r0,41r-89,0","w":119}}});
var swfobject = function() {
var UNDEF = "undefined",
OBJECT = "object",
SHOCKWAVE_FLASH = "Shockwave Flash",
SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
FLASH_MIME_TYPE = "application/x-shockwave-flash",
EXPRESS_INSTALL_ID = "SWFObjectExprInst",
ON_READY_STATE_CHANGE = "onreadystatechange",
win = window,
doc = document,
nav = navigator,
plugin = false,
domLoadFnArr = [main],
regObjArr = [],
objIdArr = [],
listenersArr = [],
storedAltContent,
storedAltContentId,
storedCallbackFn,
storedCallbackObj,
isDomLoaded = false,
isExpressInstallActive = false,
dynamicStylesheet,
dynamicStylesheetMedia,
autoHideShow = true,
ua = function() {
var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,
u = nav.userAgent.toLowerCase(),
p = nav.platform.toLowerCase(),
windows = p ? /win/.test(p) : /win/.test(u),
mac = p ? /mac/.test(p) : /mac/.test(u),
webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
ie = !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
playerVersion = [0,0,0],
d = null;
if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {
d = nav.plugins[SHOCKWAVE_FLASH].description;
if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) { // navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin indicates whether plug-ins are enabled or disabled in Safari 3+
plugin = true;
ie = false; // cascaded feature detection for Internet Explorer
d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);
playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);
playerVersion[2] = /[a-zA-Z]/.test(d) ? parseInt(d.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0;
}
}
else if (typeof win.ActiveXObject != UNDEF) {
try {
var a = new ActiveXObject(SHOCKWAVE_FLASH_AX);
if (a) { // a will return null when ActiveX is disabled
d = a.GetVariable("$version");
if (d) {
ie = true; // cascaded feature detection for Internet Explorer
d = d.split(" ")[1].split(",");
playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
}
}
}
catch(e) {}
}
return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };
}(),
onDomLoad = function() {
if (!ua.w3) { return; }
if ((typeof doc.readyState != UNDEF && doc.readyState == "complete") || (typeof doc.readyState == UNDEF && (doc.getElementsByTagName("body")[0] || doc.body))) { // function is fired after onload, e.g. when script is inserted dynamically
callDomLoadFunctions();
}
if (!isDomLoaded) {
if (typeof doc.addEventListener != UNDEF) {
doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, false);
}
if (ua.ie && ua.win) {
doc.attachEvent(ON_READY_STATE_CHANGE, function() {
if (doc.readyState == "complete") {
doc.detachEvent(ON_READY_STATE_CHANGE, arguments.callee);
callDomLoadFunctions();
}
});
if (win == top) { // if not inside an iframe
(function(){
if (isDomLoaded) { return; }
try {
doc.documentElement.doScroll("left");
}
catch(e) {
setTimeout(arguments.callee, 0);
return;
}
callDomLoadFunctions();
})();
}
}
if (ua.wk) {
(function(){
if (isDomLoaded) { return; }
if (!/loaded|complete/.test(doc.readyState)) {
setTimeout(arguments.callee, 0);
return;
}
callDomLoadFunctions();
})();
}
addLoadEvent(callDomLoadFunctions);
}
}();
function callDomLoadFunctions() {
if (isDomLoaded) { return; }
try { // test if we can really add/remove elements to/from the DOM; we don't want to fire it too early
var t = doc.getElementsByTagName("body")[0].appendChild(createElement("span"));
t.parentNode.removeChild(t);
}
catch (e) { return; }
isDomLoaded = true;
var dl = domLoadFnArr.length;
for (var i = 0; i < dl; i++) {
domLoadFnArr[i]();
}
}
function addDomLoadEvent(fn) {
if (isDomLoaded) {
fn();
}
else {
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only available in IE5.5+
}
}
function addLoadEvent(fn) {
if (typeof win.addEventListener != UNDEF) {
win.addEventListener("load", fn, false);
}
else if (typeof doc.addEventListener != UNDEF) {
doc.addEventListener("load", fn, false);
}
else if (typeof win.attachEvent != UNDEF) {
addListener(win, "onload", fn);
}
else if (typeof win.onload == "function") {
var fnOld = win.onload;
win.onload = function() {
fnOld();
fn();
};
}
else {
win.onload = fn;
}
}
function main() {
if (plugin) {
testPlayerVersion();
}
else {
matchVersions();
}
}
function testPlayerVersion() {
var b = doc.getElementsByTagName("body")[0];
var o = createElement(OBJECT);
o.setAttribute("type", FLASH_MIME_TYPE);
var t = b.appendChild(o);
if (t) {
var counter = 0;
(function(){
if (typeof t.GetVariable != UNDEF) {
var d = t.GetVariable("$version");
if (d) {
d = d.split(" ")[1].split(",");
ua.pv = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
}
}
else if (counter < 10) {
counter++;
setTimeout(arguments.callee, 10);
return;
}
b.removeChild(o);
t = null;
matchVersions();
})();
}
else {
matchVersions();
}
}
function matchVersions() {
var rl = regObjArr.length;
if (rl > 0) {
for (var i = 0; i < rl; i++) { // for each registered object element
var id = regObjArr[i].id;
var cb = regObjArr[i].callbackFn;
var cbObj = {success:false, id:id};
if (ua.pv[0] > 0) {
var obj = getElementById(id);
if (obj) {
if (hasPlayerVersion(regObjArr[i].swfVersion) && !(ua.wk && ua.wk < 312)) { // Flash Player version >= published SWF version: Houston, we have a match!
setVisibility(id, true);
if (cb) {
cbObj.success = true;
cbObj.ref = getObjectById(id);
cb(cbObj);
}
}
else if (regObjArr[i].expressInstall && canExpressInstall()) { // show the Adobe Express Install dialog if set by the web page author and if supported
var att = {};
att.data = regObjArr[i].expressInstall;
att.width = obj.getAttribute("width") || "0";
att.height = obj.getAttribute("height") || "0";
if (obj.getAttribute("class")) { att.styleclass = obj.getAttribute("class"); }
if (obj.getAttribute("align")) { att.align = obj.getAttribute("align"); }
var par = {};
var p = obj.getElementsByTagName("param");
var pl = p.length;
for (var j = 0; j < pl; j++) {
if (p[j].getAttribute("name").toLowerCase() != "movie") {
par[p[j].getAttribute("name")] = p[j].getAttribute("value");
}
}
showExpressInstall(att, par, id, cb);
}
else { // Flash Player and SWF version mismatch or an older Webkit engine that ignores the HTML object element's nested param elements: display alternative content instead of SWF
displayAltContent(obj);
if (cb) { cb(cbObj); }
}
}
}
else {	// if no Flash Player is installed or the fp version cannot be detected we let the HTML object element do its job (either show a SWF or alternative content)
setVisibility(id, true);
if (cb) {
var o = getObjectById(id); // test whether there is an HTML object element or not
if (o && typeof o.SetVariable != UNDEF) {
cbObj.success = true;
cbObj.ref = o;
}
cb(cbObj);
}
}
}
}
}
function getObjectById(objectIdStr) {
var r = null;
var o = getElementById(objectIdStr);
if (o && o.nodeName == "OBJECT") {
if (typeof o.SetVariable != UNDEF) {
r = o;
}
else {
var n = o.getElementsByTagName(OBJECT)[0];
if (n) {
r = n;
}
}
}
return r;
}
function canExpressInstall() {
return !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac) && !(ua.wk && ua.wk < 312);
}
function showExpressInstall(att, par, replaceElemIdStr, callbackFn) {
isExpressInstallActive = true;
storedCallbackFn = callbackFn || null;
storedCallbackObj = {success:false, id:replaceElemIdStr};
var obj = getElementById(replaceElemIdStr);
if (obj) {
if (obj.nodeName == "OBJECT") { // static publishing
storedAltContent = abstractAltContent(obj);
storedAltContentId = null;
}
else { // dynamic publishing
storedAltContent = obj;
storedAltContentId = replaceElemIdStr;
}
att.id = EXPRESS_INSTALL_ID;
if (typeof att.width == UNDEF || (!/%$/.test(att.width) && parseInt(att.width, 10) < 310)) { att.width = "310"; }
if (typeof att.height == UNDEF || (!/%$/.test(att.height) && parseInt(att.height, 10) < 137)) { att.height = "137"; }
doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";
var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",
fv = "MMredirectURL=" + win.location.toString().replace(/&/g,"%26") + "&MMplayerType=" + pt + "&MMdoctitle=" + doc.title;
if (typeof par.flashvars != UNDEF) {
par.flashvars += "&" + fv;
}
else {
par.flashvars = fv;
}
if (ua.ie && ua.win && obj.readyState != 4) {
var newObj = createElement("div");
replaceElemIdStr += "SWFObjectNew";
newObj.setAttribute("id", replaceElemIdStr);
obj.parentNode.insertBefore(newObj, obj); // insert placeholder div that will be replaced by the object element that loads expressinstall.swf
obj.style.display = "none";
(function(){
if (obj.readyState == 4) {
obj.parentNode.removeChild(obj);
}
else {
setTimeout(arguments.callee, 10);
}
})();
}
createSWF(att, par, replaceElemIdStr);
}
}
function displayAltContent(obj) {
if (ua.ie && ua.win && obj.readyState != 4) {
var el = createElement("div");
obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
el.parentNode.replaceChild(abstractAltContent(obj), el);
obj.style.display = "none";
(function(){
if (obj.readyState == 4) {
obj.parentNode.removeChild(obj);
}
else {
setTimeout(arguments.callee, 10);
}
})();
}
else {
obj.parentNode.replaceChild(abstractAltContent(obj), obj);
}
}
function abstractAltContent(obj) {
var ac = createElement("div");
if (ua.win && ua.ie) {
ac.innerHTML = obj.innerHTML;
}
else {
var nestedObj = obj.getElementsByTagName(OBJECT)[0];
if (nestedObj) {
var c = nestedObj.childNodes;
if (c) {
var cl = c.length;
for (var i = 0; i < cl; i++) {
if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
ac.appendChild(c[i].cloneNode(true));
}
}
}
}
}
return ac;
}
function createSWF(attObj, parObj, id) {
var r, el = getElementById(id);
if (ua.wk && ua.wk < 312) { return r; }
if (el) {
if (typeof attObj.id == UNDEF) { // if no 'id' is defined for the object element, it will inherit the 'id' from the alternative content
attObj.id = id;
}
if (ua.ie && ua.win) { // Internet Explorer + the HTML object element + W3C DOM methods do not combine: fall back to outerHTML
var att = "";
for (var i in attObj) {
if (attObj[i] != Object.prototype[i]) { // filter out prototype additions from other potential libraries
if (i.toLowerCase() == "data") {
parObj.movie = attObj[i];
}
else if (i.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
att += ' class="' + attObj[i] + '"';
}
else if (i.toLowerCase() != "classid") {
att += ' ' + i + '="' + attObj[i] + '"';
}
}
}
var par = "";
for (var j in parObj) {
if (parObj[j] != Object.prototype[j]) { // filter out prototype additions from other potential libraries
par += '<param name="' + j + '" value="' + parObj[j] + '" />';
}
}
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
objIdArr[objIdArr.length] = attObj.id; // stored to fix object 'leaks' on unload (dynamic publishing only)
r = getElementById(attObj.id);
}
else { // well-behaving browsers
var o = createElement(OBJECT);
o.setAttribute("type", FLASH_MIME_TYPE);
for (var m in attObj) {
if (attObj[m] != Object.prototype[m]) { // filter out prototype additions from other potential libraries
if (m.toLowerCase() == "styleclass") { // 'class' is an ECMA4 reserved keyword
o.setAttribute("class", attObj[m]);
}
else if (m.toLowerCase() != "classid") { // filter out IE specific attribute
o.setAttribute(m, attObj[m]);
}
}
}
for (var n in parObj) {
if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") { // filter out prototype additions from other potential libraries and IE specific param element
createObjParam(o, n, parObj[n]);
}
}
el.parentNode.replaceChild(o, el);
r = o;
}
}
return r;
}
function createObjParam(el, pName, pValue) {
var p = createElement("param");
p.setAttribute("name", pName);
p.setAttribute("value", pValue);
el.appendChild(p);
}
function removeSWF(id) {
var obj = getElementById(id);
if (obj && obj.nodeName == "OBJECT") {
if (ua.ie && ua.win) {
obj.style.display = "none";
(function(){
if (obj.readyState == 4) {
removeObjectInIE(id);
}
else {
setTimeout(arguments.callee, 10);
}
})();
}
else {
obj.parentNode.removeChild(obj);
}
}
}
function removeObjectInIE(id) {
var obj = getElementById(id);
if (obj) {
for (var i in obj) {
if (typeof obj[i] == "function") {
obj[i] = null;
}
}
obj.parentNode.removeChild(obj);
}
}
function getElementById(id) {
var el = null;
try {
el = doc.getElementById(id);
}
catch (e) {}
return el;
}
function createElement(el) {
return doc.createElement(el);
}
function addListener(target, eventType, fn) {
target.attachEvent(eventType, fn);
listenersArr[listenersArr.length] = [target, eventType, fn];
}
function hasPlayerVersion(rv) {
var pv = ua.pv, v = rv.split(".");
v[0] = parseInt(v[0], 10);
v[1] = parseInt(v[1], 10) || 0; // supports short notation, e.g. "9" instead of "9.0.0"
v[2] = parseInt(v[2], 10) || 0;
return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;
}
function createCSS(sel, decl, media, newStyle) {
if (ua.ie && ua.mac) { return; }
var h = doc.getElementsByTagName("head")[0];
if (!h) { return; } // to also support badly authored HTML pages that lack a head element
var m = (media && typeof media == "string") ? media : "screen";
if (newStyle) {
dynamicStylesheet = null;
dynamicStylesheetMedia = null;
}
if (!dynamicStylesheet || dynamicStylesheetMedia != m) {
var s = createElement("style");
s.setAttribute("type", "text/css");
s.setAttribute("media", m);
dynamicStylesheet = h.appendChild(s);
if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {
dynamicStylesheet = doc.styleSheets[doc.styleSheets.length - 1];
}
dynamicStylesheetMedia = m;
}
if (ua.ie && ua.win) {
if (dynamicStylesheet && typeof dynamicStylesheet.addRule == OBJECT) {
dynamicStylesheet.addRule(sel, decl);
}
}
else {
if (dynamicStylesheet && typeof doc.createTextNode != UNDEF) {
dynamicStylesheet.appendChild(doc.createTextNode(sel + " {" + decl + "}"));
}
}
}
function setVisibility(id, isVisible) {
if (!autoHideShow) { return; }
var v = isVisible ? "visible" : "hidden";
if (isDomLoaded && getElementById(id)) {
getElementById(id).style.visibility = v;
}
else {
createCSS("#" + id, "visibility:" + v);
}
}
function urlEncodeIfNecessary(s) {
var regex = /[\\\"<>\.;]/;
var hasBadChars = regex.exec(s) != null;
return hasBadChars && typeof encodeURIComponent != UNDEF ? encodeURIComponent(s) : s;
}
var cleanup = function() {
if (ua.ie && ua.win) {
window.attachEvent("onunload", function() {
var ll = listenersArr.length;
for (var i = 0; i < ll; i++) {
listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);
}
var il = objIdArr.length;
for (var j = 0; j < il; j++) {
removeSWF(objIdArr[j]);
}
for (var k in ua) {
ua[k] = null;
}
ua = null;
for (var l in swfobject) {
swfobject[l] = null;
}
swfobject = null;
});
}
}();
return {
registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr, callbackFn) {
if (ua.w3 && objectIdStr && swfVersionStr) {
var regObj = {};
regObj.id = objectIdStr;
regObj.swfVersion = swfVersionStr;
regObj.expressInstall = xiSwfUrlStr;
regObj.callbackFn = callbackFn;
regObjArr[regObjArr.length] = regObj;
setVisibility(objectIdStr, false);
}
else if (callbackFn) {
callbackFn({success:false, id:objectIdStr});
}
},
getObjectById: function(objectIdStr) {
if (ua.w3) {
return getObjectById(objectIdStr);
}
},
embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn) {
var callbackObj = {success:false, id:replaceElemIdStr};
if (ua.w3 && !(ua.wk && ua.wk < 312) && swfUrlStr && replaceElemIdStr && widthStr && heightStr && swfVersionStr) {
setVisibility(replaceElemIdStr, false);
addDomLoadEvent(function() {
widthStr += ""; // auto-convert to string
heightStr += "";
var att = {};
if (attObj && typeof attObj === OBJECT) {
for (var i in attObj) { // copy object to avoid the use of references, because web authors often reuse attObj for multiple SWFs
att[i] = attObj[i];
}
}
att.data = swfUrlStr;
att.width = widthStr;
att.height = heightStr;
var par = {};
if (parObj && typeof parObj === OBJECT) {
for (var j in parObj) { // copy object to avoid the use of references, because web authors often reuse parObj for multiple SWFs
par[j] = parObj[j];
}
}
if (flashvarsObj && typeof flashvarsObj === OBJECT) {
for (var k in flashvarsObj) { // copy object to avoid the use of references, because web authors often reuse flashvarsObj for multiple SWFs
if (typeof par.flashvars != UNDEF) {
par.flashvars += "&" + k + "=" + flashvarsObj[k];
}
else {
par.flashvars = k + "=" + flashvarsObj[k];
}
}
}
if (hasPlayerVersion(swfVersionStr)) { // create SWF
var obj = createSWF(att, par, replaceElemIdStr);
if (att.id == replaceElemIdStr) {
setVisibility(replaceElemIdStr, true);
}
callbackObj.success = true;
callbackObj.ref = obj;
}
else if (xiSwfUrlStr && canExpressInstall()) { // show Adobe Express Install
att.data = xiSwfUrlStr;
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
return;
}
else { // show alternative content
setVisibility(replaceElemIdStr, true);
}
if (callbackFn) { callbackFn(callbackObj); }
});
}
else if (callbackFn) { callbackFn(callbackObj);	}
},
switchOffAutoHideShow: function() {
autoHideShow = false;
},
ua: ua,
getFlashPlayerVersion: function() {
return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };
},
hasFlashPlayerVersion: hasPlayerVersion,
createSWF: function(attObj, parObj, replaceElemIdStr) {
if (ua.w3) {
return createSWF(attObj, parObj, replaceElemIdStr);
}
else {
return undefined;
}
},
showExpressInstall: function(att, par, replaceElemIdStr, callbackFn) {
if (ua.w3 && canExpressInstall()) {
showExpressInstall(att, par, replaceElemIdStr, callbackFn);
}
},
removeSWF: function(objElemIdStr) {
if (ua.w3) {
removeSWF(objElemIdStr);
}
},
createCSS: function(selStr, declStr, mediaStr, newStyleBoolean) {
if (ua.w3) {
createCSS(selStr, declStr, mediaStr, newStyleBoolean);
}
},
addDomLoadEvent: addDomLoadEvent,
addLoadEvent: addLoadEvent,
getQueryParamValue: function(param) {
var q = doc.location.search || doc.location.hash;
if (q) {
if (/\?/.test(q)) { q = q.split("?")[1]; } // strip question mark
if (param == null) {
return urlEncodeIfNecessary(q);
}
var pairs = q.split("&");
for (var i = 0; i < pairs.length; i++) {
if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));
}
}
}
return "";
},
expressInstallCallback: function() {
if (isExpressInstallActive) {
var obj = getElementById(EXPRESS_INSTALL_ID);
if (obj && storedAltContent) {
obj.parentNode.replaceChild(storedAltContent, obj);
if (storedAltContentId) {
setVisibility(storedAltContentId, true);
if (ua.ie && ua.win) { storedAltContent.style.display = "block"; }
}
if (storedCallbackFn) { storedCallbackFn(storedCallbackObj); }
}
isExpressInstallActive = false;
}
}
};
}();
var noSpam = function () {
var a = document.getElementsByTagName("a");
for (var i = a.length-1; i >= 0; i--) {
if (a[i].className.search(/\bprotectedmail\b/) != -1) {
var email = a[i].firstChild.data + "@" + a[i].lastChild.data;
a[i].innerHTML = email;
a[i].href = "mailto:" + email;
}
}
};
YAHOO.util.Event.onDOMReady(noSpam);

