/*
 * Home Page JavaScript
 * Copyright(c) 2008, MarketWatch.
 * 
 * This code is licensed under BSD license. Use it as you wish, 
 * but keep this copyright intact.
 */


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;if(!I[A]){I[A]={versions:[],builds:[]};}var 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(var 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};var 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];}}}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]);}}}}}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||{isArray:function(B){if(B){var A=YAHOO.lang;return A.isNumber(B.length)&&A.isFunction(B.splice);}return false;},isBoolean:function(A){return typeof A==="boolean";},isFunction:function(A){return typeof A==="function";},isNull:function(A){return A===null;},isNumber:function(A){return typeof A==="number"&&isFinite(A);},isObject:function(A){return(A&&(typeof A==="object"||YAHOO.lang.isFunction(A)))||false;},isString:function(A){return typeof A==="string";},isUndefined:function(A){return typeof A==="undefined";},hasOwnProperty:function(A,B){if(Object.prototype.hasOwnProperty){return A.hasOwnProperty(B);}return!YAHOO.lang.isUndefined(A[B])&&A.constructor.prototype[B]!==A[B];},_IEEnumFix:function(C,B){if(YAHOO.env.ua.ie){var E=["toString","valueOf"],A;for(A=0;A<E.length;A=A+1){var F=E[A],D=B[F];if(YAHOO.lang.isFunction(D)&&D!=Object.prototype[F]){C[F]=D;}}}},extend:function(D,E,C){if(!E||!D){throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");}var B=function(){};B.prototype=E.prototype;D.prototype=new B();D.prototype.constructor=D;D.superclass=E.prototype;if(E.prototype.constructor==Object.prototype.constructor){E.prototype.constructor=E;}if(C){for(var A in C){D.prototype[A]=C[A];}YAHOO.lang._IEEnumFix(D.prototype,C);}},augmentObject:function(E,D){if(!D||!E){throw new Error("Absorb failed, verify dependencies.");}var A=arguments,C,F,B=A[2];if(B&&B!==true){for(C=2;C<A.length;C=C+1){E[A[C]]=D[A[C]];}}else{for(F in D){if(B||!E[F]){E[F]=D[F];}}YAHOO.lang._IEEnumFix(E,D);}},augmentProto:function(D,C){if(!C||!D){throw new Error("Augment failed, verify dependencies.");}var A=[D.prototype,C.prototype];for(var B=2;B<arguments.length;B=B+1){A.push(arguments[B]);}YAHOO.lang.augmentObject.apply(this,A);},dump:function(A,G){var C=YAHOO.lang,D,F,I=[],J="{...}",B="f(){...}",H=", ",E=" => ";if(!C.isObject(A)){return A+"";}else{if(A instanceof Date||("nodeType"in A&&"tagName"in A)){return A;}else{if(C.isFunction(A)){return B;}}}G=(C.isNumber(G))?G:3;if(C.isArray(A)){I.push("[");for(D=0,F=A.length;D<F;D=D+1){if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}if(I.length>1){I.pop();}I.push("]");}else{I.push("{");for(D in A){if(C.hasOwnProperty(A,D)){I.push(D+E);if(C.isObject(A[D])){I.push((G>0)?C.dump(A[D],G-1):J);}else{I.push(A[D]);}I.push(H);}}if(I.length>1){I.pop();}I.push("}");}return I.join("");},substitute:function(Q,B,J){var G,F,E,M,N,P,D=YAHOO.lang,L=[],C,H="dump",K=" ",A="{",O="}";for(;;){G=Q.lastIndexOf(A);if(G<0){break;}F=Q.indexOf(O,G);if(G+1>=F){break;}C=Q.substring(G+1,F);M=C;P=null;E=M.indexOf(K);if(E>-1){P=M.substring(E+1);M=M.substring(0,E);}N=B[M];if(J){N=J(M,N,P);}if(D.isObject(N)){if(D.isArray(N)){N=D.dump(N,parseInt(P,10));}else{P=P||"";var I=P.indexOf(H);if(I>-1){P=P.substring(4);}if(N.toString===Object.prototype.toString||I>-1){N=D.dump(N,parseInt(P,10));}else{N=N.toString();}}}else{if(!D.isString(N)&&!D.isNumber(N)){N="~-"+L.length+"-~";L[L.length]=C;}}Q=Q.substring(0,G)+N+Q.substring(F+1);}for(G=L.length-1;G>=0;G=G-1){Q=Q.replace(new RegExp("~-"+G+"-~"),"{"+L[G]+"}","g");}return Q;},trim:function(A){try{return A.replace(/^\s+|\s+$/g,"");}catch(B){return A;}},merge:function(){var D={},B=arguments;for(var C=0,A=B.length;C<A;C=C+1){YAHOO.lang.augmentObject(D,B[C],true);}return D;},later:function(H,B,I,D,E){H=H||0;B=B||{};var C=I,G=D,F,A;if(YAHOO.lang.isString(I)){C=B[I];}if(!C){throw new TypeError("method undefined");}if(!YAHOO.lang.isArray(G)){G=[D];}F=function(){C.apply(B,G);};A=(E)?setInterval(F,H):setTimeout(F,H);return{interval:E,cancel:function(){if(this.interval){clearInterval(A);}else{clearTimeout(A);}}};},isValue:function(B){var A=YAHOO.lang;return(A.isObject(B)||A.isString(B)||A.isNumber(B)||A.isBoolean(B));}};YAHOO.util.Lang=YAHOO.lang;YAHOO.lang.augment=YAHOO.lang.augmentProto;YAHOO.augment=YAHOO.lang.augmentProto;YAHOO.extend=YAHOO.lang.extend;YAHOO.register("yahoo",YAHOO,{version:"2.4.1",build:"742"});(function(){var B=YAHOO.util,L,J,H=0,K={},F={},N=window.document;var C=YAHOO.env.ua.opera,M=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i};var O=function(Q){if(!E.HYPHEN.test(Q)){return Q;}if(K[Q]){return K[Q];}var R=Q;while(E.HYPHEN.exec(R)){R=R.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}K[Q]=R;return R;};var P=function(R){var Q=F[R];if(!Q){Q=new RegExp("(?:^|\\s+)"+R+"(?:\\s+|$)");F[R]=Q;}return Q;};if(N.defaultView&&N.defaultView.getComputedStyle){L=function(Q,T){var S=null;if(T=="float"){T="cssFloat";}var R=N.defaultView.getComputedStyle(Q,"");if(R){S=R[O(T)];}return Q.style[T]||S;};}else{if(N.documentElement.currentStyle&&G){L=function(Q,S){switch(O(S)){case"opacity":var U=100;try{U=Q.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(T){try{U=Q.filters("alpha").opacity;}catch(T){}}return U/100;case"float":S="styleFloat";default:var R=Q.currentStyle?Q.currentStyle[S]:null;return(Q.style[S]||R);}};}else{L=function(Q,R){return Q.style[R];};}}if(G){J=function(Q,R,S){switch(R){case"opacity":if(YAHOO.lang.isString(Q.style.filter)){Q.style.filter="alpha(opacity="+S*100+")";if(!Q.currentStyle||!Q.currentStyle.hasLayout){Q.style.zoom=1;}}break;case"float":R="styleFloat";default:Q.style[R]=S;}};}else{J=function(Q,R,S){if(R=="float"){R="cssFloat";}Q.style[R]=S;};}var D=function(Q,R){return Q&&Q.nodeType==1&&(!R||R(Q));};YAHOO.util.Dom={get:function(S){if(S&&(S.tagName||S.item)){return S;}if(YAHOO.lang.isString(S)||!S){return N.getElementById(S);}if(S.length!==undefined){var T=[];for(var R=0,Q=S.length;R<Q;++R){T[T.length]=B.Dom.get(S[R]);}return T;}return S;},getStyle:function(Q,S){S=O(S);var R=function(T){return L(T,S);};return B.Dom.batch(Q,R,B.Dom,true);},setStyle:function(Q,S,T){S=O(S);var R=function(U){J(U,S,T);};B.Dom.batch(Q,R,B.Dom,true);},getXY:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}return I(S);};return B.Dom.batch(Q,R,B.Dom,true);},getX:function(Q){var R=function(S){return B.Dom.getXY(S)[0];};return B.Dom.batch(Q,R,B.Dom,true);},getY:function(Q){var R=function(S){return B.Dom.getXY(S)[1];};return B.Dom.batch(Q,R,B.Dom,true);},setXY:function(Q,T,S){var R=function(W){var V=this.getStyle(W,"position");if(V=="static"){this.setStyle(W,"position","relative");V="relative";}var Y=this.getXY(W);if(Y===false){return false;}var X=[parseInt(this.getStyle(W,"left"),10),parseInt(this.getStyle(W,"top"),10)];if(isNaN(X[0])){X[0]=(V=="relative")?0:W.offsetLeft;}if(isNaN(X[1])){X[1]=(V=="relative")?0:W.offsetTop;}if(T[0]!==null){W.style.left=T[0]-Y[0]+X[0]+"px";}if(T[1]!==null){W.style.top=T[1]-Y[1]+X[1]+"px";}if(!S){var U=this.getXY(W);if((T[0]!==null&&U[0]!=T[0])||(T[1]!==null&&U[1]!=T[1])){this.setXY(W,T,true);}}};B.Dom.batch(Q,R,B.Dom,true);},setX:function(R,Q){B.Dom.setXY(R,[Q,null]);},setY:function(Q,R){B.Dom.setXY(Q,[null,R]);},getRegion:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=N.body){return false;}var T=B.Region.getRegion(S);return T;};return B.Dom.batch(Q,R,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(U,Y,V,W){Y=Y||"*";V=(V)?B.Dom.get(V):null||N;if(!V){return[];}var R=[],Q=V.getElementsByTagName(Y),X=P(U);for(var S=0,T=Q.length;S<T;++S){if(X.test(Q[S].className)){R[R.length]=Q[S];if(W){W.call(Q[S],Q[S]);}}}return R;},hasClass:function(S,R){var Q=P(R);var T=function(U){return Q.test(U.className);};return B.Dom.batch(S,T,B.Dom,true);},addClass:function(R,Q){var S=function(T){if(this.hasClass(T,Q)){return false;}T.className=YAHOO.lang.trim([T.className,Q].join(" "));return true;};return B.Dom.batch(R,S,B.Dom,true);},removeClass:function(S,R){var Q=P(R);var T=function(U){if(!this.hasClass(U,R)){return false;}var V=U.className;U.className=V.replace(Q," ");if(this.hasClass(U,R)){this.removeClass(U,R);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},replaceClass:function(T,R,Q){if(!Q||R===Q){return false;}var S=P(R);var U=function(V){if(!this.hasClass(V,R)){this.addClass(V,Q);return true;}V.className=V.className.replace(S," "+Q+" ");if(this.hasClass(V,R)){this.replaceClass(V,R,Q);}V.className=YAHOO.lang.trim(V.className);return true;};return B.Dom.batch(T,U,B.Dom,true);},generateId:function(Q,S){S=S||"yui-gen";var R=function(T){if(T&&T.id){return T.id;}var U=S+H++;if(T){T.id=U;}return U;};return B.Dom.batch(Q,R,B.Dom,true)||R.apply(B.Dom,arguments);},isAncestor:function(Q,R){Q=B.Dom.get(Q);R=B.Dom.get(R);if(!Q||!R){return false;}if(Q.contains&&R.nodeType&&!M){return Q.contains(R);}else{if(Q.compareDocumentPosition&&R.nodeType){return!!(Q.compareDocumentPosition(R)&16);}else{if(R.nodeType){return!!this.getAncestorBy(R,function(S){return S==Q;});}}}return false;},inDocument:function(Q){return this.isAncestor(N.documentElement,Q);},getElementsBy:function(X,R,S,U){R=R||"*";S=(S)?B.Dom.get(S):null||N;if(!S){return[];}var T=[],W=S.getElementsByTagName(R);for(var V=0,Q=W.length;V<Q;++V){if(X(W[V])){T[T.length]=W[V];if(U){U(W[V]);}}}return T;},batch:function(U,X,W,S){U=(U&&(U.tagName||U.item))?U:B.Dom.get(U);if(!U||!X){return false;}var T=(S)?W:window;if(U.tagName||U.length===undefined){return X.call(T,U,W);}var V=[];for(var R=0,Q=U.length;R<Q;++R){V[V.length]=X.call(T,U[R],W);}return V;},getDocumentHeight:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollHeight:N.documentElement.scrollHeight;var Q=Math.max(R,B.Dom.getViewportHeight());return Q;},getDocumentWidth:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollWidth:N.documentElement.scrollWidth;var Q=Math.max(R,B.Dom.getViewportWidth());return Q;},getViewportHeight:function(){var Q=self.innerHeight;var R=N.compatMode;if((R||G)&&!C){Q=(R=="CSS1Compat")?N.documentElement.clientHeight:N.body.clientHeight;}return Q;},getViewportWidth:function(){var Q=self.innerWidth;var R=N.compatMode;if(R||G){Q=(R=="CSS1Compat")?N.documentElement.clientWidth:N.body.clientWidth;}return Q;},getAncestorBy:function(Q,R){while(Q=Q.parentNode){if(D(Q,R)){return Q;}}return null;},getAncestorByClassName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return B.Dom.hasClass(T,Q);};return B.Dom.getAncestorBy(R,S);},getAncestorByTagName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return T.tagName&&T.tagName.toUpperCase()==Q.toUpperCase();};return B.Dom.getAncestorBy(R,S);},getPreviousSiblingBy:function(Q,R){while(Q){Q=Q.previousSibling;if(D(Q,R)){return Q;}}return null;},getPreviousSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getPreviousSiblingBy(Q);},getNextSiblingBy:function(Q,R){while(Q){Q=Q.nextSibling;if(D(Q,R)){return Q;}}return null;},getNextSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getNextSiblingBy(Q);},getFirstChildBy:function(Q,S){var R=(D(Q.firstChild,S))?Q.firstChild:null;return R||B.Dom.getNextSiblingBy(Q.firstChild,S);},getFirstChild:function(Q,R){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getFirstChildBy(Q);},getLastChildBy:function(Q,S){if(!Q){return null;}var R=(D(Q.lastChild,S))?Q.lastChild:null;return R||B.Dom.getPreviousSiblingBy(Q.lastChild,S);},getLastChild:function(Q){Q=B.Dom.get(Q);return B.Dom.getLastChildBy(Q);},getChildrenBy:function(R,T){var S=B.Dom.getFirstChildBy(R,T);var Q=S?[S]:[];B.Dom.getNextSiblingBy(S,function(U){if(!T||T(U)){Q[Q.length]=U;}return false;});return Q;},getChildren:function(Q){Q=B.Dom.get(Q);if(!Q){}return B.Dom.getChildrenBy(Q);},getDocumentScrollLeft:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollLeft,Q.body.scrollLeft);},getDocumentScrollTop:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollTop,Q.body.scrollTop);},insertBefore:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}return Q.parentNode.insertBefore(R,Q);},insertAfter:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}if(Q.nextSibling){return Q.parentNode.insertBefore(R,Q.nextSibling);}else{return Q.parentNode.appendChild(R);}},getClientRegion:function(){var S=B.Dom.getDocumentScrollTop(),R=B.Dom.getDocumentScrollLeft(),T=B.Dom.getViewportWidth()+R,Q=B.Dom.getViewportHeight()+S;return new B.Region(S,T,Q,R);}};var I=function(){if(N.documentElement.getBoundingClientRect){return function(R){var S=R.getBoundingClientRect();var Q=R.ownerDocument;return[S.left+B.Dom.getDocumentScrollLeft(Q),S.top+B.Dom.getDocumentScrollTop(Q)];};}else{return function(S){var T=[S.offsetLeft,S.offsetTop];var R=S.offsetParent;var Q=(M&&B.Dom.getStyle(S,"position")=="absolute"&&S.offsetParent==S.ownerDocument.body);if(R!=S){while(R){T[0]+=R.offsetLeft;T[1]+=R.offsetTop;if(!Q&&M&&B.Dom.getStyle(R,"position")=="absolute"){Q=true;}R=R.offsetParent;}}if(Q){T[0]-=S.ownerDocument.body.offsetLeft;T[1]-=S.ownerDocument.body.offsetTop;}R=S.parentNode;while(R.tagName&&!E.ROOT_TAG.test(R.tagName)){if(B.Dom.getStyle(R,"display").search(/^inline|table-row.*$/i)){T[0]-=R.scrollLeft;T[1]-=R.scrollTop;}R=R.parentNode;}return T;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};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);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var 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);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var 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+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var 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];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.4.1",build:"742"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;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(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},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(){var D=this.subscribers.length;if(!D&&this.silent){return true;}var H=[],F=true,C,I=false;for(C=0;C<arguments.length;++C){H.push(arguments[C]);}if(!this.silent){}for(C=0;C<D;++C){var L=this.subscribers[C];if(!L){I=true;}else{if(!this.silent){}var K=L.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var A=null;if(H.length>0){A=H[0];}try{F=L.fn.call(K,A,L.obj);}catch(E){this.lastError=E;}}else{try{F=L.fn.call(K,this.type,H,L.obj);}catch(G){this.lastError=G;}}if(false===F){if(!this.silent){}return false;}}}if(I){var J=[],B=this.subscribers;for(C=0,D=B.length;C<D;C=C+1){J.push(B[C]);}this.subscribers=J;}return true;},unsubscribeAll:function(){for(var B=0,A=this.subscribers.length;B<A;++B){this._delete(A-1-B);}this.subscribers=[];return B;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers[A]=null;},toString:function(){return"CustomEvent: '"+this.type+"', scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}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+", override: "+(this.override||"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};return{POLL_RETRYS:4000,POLL_INTERVAL:10,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,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M];for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return-1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=0,R=L.length;O<R;++O){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=0,R=J.length;O<R;O++){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J[O]=null;return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M[O]=null;break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I[Q]=null;return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(K){if(K&&3==K.nodeType){return K.parentNode;}else{return K;}},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;++M){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return-1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(this.locked){return false;}if(this.isIE){if(!this.DOMReady){this.startInterval();return false;}}this.locked=true;var P=!H;if(!P){P=(C>0);}var O=[];var Q=function(S,T){var R=S;if(T.override){if(T.override===true){R=T.obj;}else{R=T.override;}}T.fn.call(R,T.obj);};var L,K,N,M;for(L=0,K=F.length;L<K;++L){N=F[L];if(N&&!N.checkReady){M=this.getEl(N.id);if(M){Q(M,N);F[L]=null;}else{O.push(N);}}}for(L=0,K=F.length;L<K;++L){N=F[L];if(N&&N.checkReady){M=this.getEl(N.id);if(M){if(H||M.nextSibling){Q(M,N);F[L]=null;}}else{O.push(N);}}}C=(O.length===0)?0:C-1;if(P){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;return true;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=0,K=Q.length;N<K;++N){var L=Q[N];this.removeListener(M,L.type,L.fn,L.index);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T&&T.length>0){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(R){var Q=YAHOO.util.Event,O,N,L,K,M;for(O=0,K=J.length;O<K;++O){L=J[O];if(L){var P=window;if(L[Q.ADJ_SCOPE]){if(L[Q.ADJ_SCOPE]===true){P=L[Q.UNLOAD_OBJ];}else{P=L[Q.ADJ_SCOPE];}}L[Q.FN].call(P,Q.getEvent(R,L[Q.EL]),L[Q.UNLOAD_OBJ]);J[O]=null;L=null;P=null;}}J=null;if(YAHOO.env.ua.ie&&I&&I.length>0){N=I.length;while(N){M=N-1;L=I[M];if(L){Q.removeListener(L[Q.EL],L[Q.TYPE],L[Q.FN],M);}N--;}L=null;}G=null;Q._simpleRemove(window,"unload",Q._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var A=YAHOO.util.Event;A.on=A.addListener;if(A.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);A._dri=setInterval(function(){var C=document.createElement("p");try{C.doScroll("left");clearInterval(A._dri);A._dri=null;A._ready();C=null;}catch(B){C=null;}},A.POLL_INTERVAL);}else{if(A.webkit){A._dri=setInterval(function(){var B=document.readyState;if("loaded"==B||"complete"==B){clearInterval(A._dri);A._dri=null;A._ready();}},A.POLL_INTERVAL);}else{A._simpleAdd(document,"DOMContentLoaded",A._ready);}}A._simpleAdd(window,"load",A._load);A._simpleAdd(window,"unload",A._unload);A._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,override: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].override);}}}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;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.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.4.1",build:"742"});YAHOO.register("yahoo-dom-event",YAHOO,{version:"2.4.1",build:"742"});if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var Event=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}
oDD[sMethod].apply(oDD,args);}}},_onLoad:function(){this.init();Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init();}
if(!this.ids[sGroup]){this.ids[sGroup]={};}
this.ids[sGroup][oDD.id]=oDD;},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={};}
var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}
delete this.handleIds[oDD.id];},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={};}
this.handleIds[sDDId][sHandleId]=sHandleId;},isDragDrop:function(id){return(this.getDDById(id))?true:false;},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(var j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}
if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd;}}}
return oDDs;},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;i<len;++i){if(targets[i].id==oTargetDD.id){return true;}}
return false;},isTypeOfDD:function(oDD){return(oDD&&oDD.__ygDragDrop);},isHandle:function(sDDId,sHandleId){return(this.handleIds[sDDId]&&this.handleIds[sDDId][sHandleId]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}
return null;},handleMouseDown:function(e,oDD){this.currentTarget=YAHOO.util.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=YAHOO.util.Event.getPageX(e);this.startY=YAHOO.util.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=YAHOO.util.DDM;DDM.startDrag(DDM.startX,DDM.startY);DDM.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);var dc=this.dragCurrent;if(dc){dc.b4StartDrag(x,y);}
if(dc){dc.startDrag(x,y);}
this.dragThreshMet=true;},handleMouseUp:function(e){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.handleMouseMove(e);}
this.fromTimeout=false;this.fireEvents(e,true);}else{}
this.stopDrag(e);this.stopEvent(e);}},stopEvent:function(e){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(e);}
if(this.preventDefault){YAHOO.util.Event.preventDefault(e);}},stopDrag:function(e,silent){if(this.dragCurrent&&!silent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}
this.dragCurrent.onMouseUp(e);}
this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){var dc=this.dragCurrent;if(dc){if(YAHOO.util.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e);}
if(!this.dragThreshMet){var diffX=Math.abs(this.startX-YAHOO.util.Event.getPageX(e));var diffY=Math.abs(this.startY-YAHOO.util.Event.getPageY(e));if(diffX>this.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}
if(this.dragThreshMet){dc.b4Drag(e);if(dc){dc.onDrag(e);}
if(dc){this.fireEvents(e,false);}}
this.stopEvent(e);}},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()||dc.dragOnly){return;}
var x=YAHOO.util.Event.getPageX(e),y=YAHOO.util.Event.getPageY(e),pt=new YAHOO.util.Point(x,y),pos=dc.getTargetCoord(pt.x,pt.y),el=dc.getDragEl(),curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x),oldOvers=[],outEvts=[],overEvts=[],dropEvts=[],enterEvts=[],inGroupsObj={},inGroups=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}
if(!this.isOverTarget(pt,ddo,this.mode,curRegion)){outEvts.push(ddo);}
oldOvers[i]=true;delete this.dragOvers[i];}
for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue;}
for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue;}
if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode,curRegion)){inGroupsObj[sGroup]=true;if(isDrop){dropEvts.push(oDD);}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD);}else{overEvts.push(oDD);}
this.dragOvers[oDD.id]=oDD;}}}}}
this.interactionInfo={out:outEvts,enter:enterEvts,over:overEvts,drop:dropEvts,point:pt,draggedRegion:curRegion,sourceRegion:this.locationCache[dc.id],validDrop:isDrop};for(var inG in inGroupsObj){inGroups.push(inG);}
if(isDrop&&!dropEvts.length){this.interactionInfo.validDrop=false;dc.onInvalidDrop(e);}
if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);if(dc){dc.onDragOut(e,outEvts);}}
if(enterEvts.length){if(dc){dc.onDragEnter(e,enterEvts,inGroups);}}
if(overEvts.length){if(dc){dc.b4DragOver(e,overEvts,inGroups);}
if(dc){dc.onDragOver(e,overEvts,inGroups);}}
if(dropEvts.length){if(dc){dc.b4DragDrop(e,dropEvts,inGroups);}
if(dc){dc.onDragDrop(e,dropEvts,inGroups);}}}else{var len=0;for(i=0,len=outEvts.length;i<len;++i){if(dc){dc.b4DragOut(e,outEvts[i].id,inGroups[0]);}
if(dc){dc.onDragOut(e,outEvts[i].id,inGroups[0]);}}
for(i=0,len=enterEvts.length;i<len;++i){if(dc){dc.onDragEnter(e,enterEvts[i].id,inGroups[0]);}}
for(i=0,len=overEvts.length;i<len;++i){if(dc){dc.b4DragOver(e,overEvts[i].id,inGroups[0]);}
if(dc){dc.onDragOver(e,overEvts[i].id,inGroups[0]);}}
for(i=0,len=dropEvts.length;i<len;++i){if(dc){dc.b4DragDrop(e,dropEvts[i].id,inGroups[0]);}
if(dc){dc.onDragDrop(e,dropEvts[i].id,inGroups[0]);}}}},getBestMatch:function(dds){var winner=null;var len=dds.length;if(len==1){winner=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(this.mode==this.INTERSECT&&dd.cursorIsOver){winner=dd;break;}else{if(!winner||!winner.overlap||(dd.overlap&&winner.overlap.getArea()<dd.overlap.getArea())){winner=dd;}}}}
return winner;},refreshCache:function(groups){var g=groups||this.ids;for(var sGroup in g){if("string"!=typeof sGroup){continue;}
for(var i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var parent=el.offsetParent;if(parent){return true;}}}catch(e){}
return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}
var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=YAHOO.util.Dom.getXY(el);}catch(e){}
if(!pos){return null;}
x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new YAHOO.util.Region(t,r,b,l);},isOverTarget:function(pt,oTarget,intersect,curRegion){var loc=this.locationCache[oTarget.id];if(!loc||!this.useCache){loc=this.getLocation(oTarget);this.locationCache[oTarget.id]=loc;}
if(!loc){return false;}
oTarget.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||(!intersect&&!dc.constrainX&&!dc.constrainY)){return oTarget.cursorIsOver;}
oTarget.overlap=null;if(!curRegion){var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);}
var overlap=curRegion.intersect(loc);if(overlap){oTarget.overlap=overlap;return(intersect)?true:oTarget.cursorIsOver;}else{return false;}},_onUnload:function(e,me){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}
this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(id){var oWrapper=this.elementCache[id];if(!oWrapper||!oWrapper.el){oWrapper=this.elementCache[id]=new this.ElementWrapper(YAHOO.util.Dom.get(id));}
return oWrapper;},getElement:function(id){return YAHOO.util.Dom.get(id);},getCss:function(id){var el=YAHOO.util.Dom.get(id);return(el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return YAHOO.util.Dom.getX(el);},getPosY:function(el){return YAHOO.util.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else if(db){t=db.scrollTop;l=db.scrollLeft;}else{}
return{top:t,left:l};},getStyle:function(el,styleProp){return YAHOO.util.Dom.getStyle(el,styleProp);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(moveEl,targetEl){var aCoord=YAHOO.util.Dom.getXY(targetEl);YAHOO.util.Dom.setXY(moveEl,aCoord);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(a,b){return(a-b);},_timeoutCount:0,_addListeners:function(){var DDM=YAHOO.util.DDM;if(YAHOO.util.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}
return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}
(function(){var Event=YAHOO.util.Event;var Dom=YAHOO.util.Dom;YAHOO.util.DragDrop=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=Dom.get(this.id);}
return this._domRef;},getDragEl:function(){return Dom.get(this.dragElId);},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Event.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,sGroup,config){this.config=config||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof id!=="string"){this._domRef=id;id=Dom.generateId(id);}
this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;Event.onAvailable(id,this.handleOnAvailable,this,true);this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop];}else if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight];}else{this.padding=[iTop,iRight,iBot,iLeft];}},setInitPosition:function(diffX,diffY){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}
var dx=diffX||0;var dy=diffY||0;var p=Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||Dom.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDM.regDragDrop(this,sGroup);},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup];}
this.DDM.removeDDFromGroup(this,sGroup);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){id=Dom.generateId(id);}
this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){id=Dom.generateId(id);}
Event.on(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var button=e.which||e.button;if(this.primaryButtonOnly&&button>1){return;}
if(this.isLocked()){return;}
var b4Return=this.b4MouseDown(e);var mDownReturn=this.onMouseDown(e);if((b4Return===false)||(mDownReturn===false)){return;}
this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(Event.getPageX(e),Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var target=Event.getTarget(e);return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDM.handleWasClicked(target,this.id)));},getTargetCoord:function(iPageX,iPageY){var x=iPageX-this.deltaX;var y=iPageY-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}
if(x>this.maxX){x=this.maxX;}}
if(this.constrainY){if(y<this.minY){y=this.minY;}
if(y>this.maxY){y=this.maxY;}}
x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y};},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type;},addInvalidHandleId:function(id){if(typeof id!=="string"){id=Dom.generateId(id);}
this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass);},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type];},removeInvalidHandleId:function(id){if(typeof id!=="string"){id=Dom.generateId(id);}
delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==cssClass){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(node){var valid=true;var nodeName;try{nodeName=node.nodeName.toUpperCase();}catch(e){nodeName=node.nodeName;}
valid=valid&&!this.invalidHandleTypes[nodeName];valid=valid&&!this.invalidHandleIds[node.id];for(var i=0,len=this.invalidHandleClasses.length;valid&&i<len;++i){valid=!Dom.hasClass(node,this.invalidHandleClasses[i]);}
return valid;},setXTicks:function(iStartX,iTickSize){this.xTicks=[];this.xTickSize=iTickSize;var tickMap={};for(var i=this.initPageX;i>=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=parseInt(iLeft,10);this.rightConstraint=parseInt(iRight,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(iTickSize){this.setXTicks(this.initPageX,iTickSize);}
this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=parseInt(iUp,10);this.bottomConstraint=parseInt(iDown,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(iTickSize){this.setYTicks(this.initPageY,iTickSize);}
this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}
if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}
if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,tickArray){if(!tickArray){return val;}else if(tickArray[0]>=val){return tickArray[0];}else{for(var i=0,len=tickArray.length;i<len;++i){var next=i+1;if(tickArray[next]&&tickArray[next]>=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next];}}
return tickArray[tickArray.length-1];}},toString:function(){return("DragDrop "+this.id);}};})();YAHOO.util.DD=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y);},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY;},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY);},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY);if(!this.deltaSetXY){var aCoord=[oCoord.x,oCoord.y];YAHOO.util.Dom.setXY(el,aCoord);var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y];}else{YAHOO.util.Dom.setStyle(el,"left",(oCoord.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(el,"top",(oCoord.y+this.deltaSetXY[1])+"px");}
this.cachePosition(oCoord.x,oCoord.y);var self=this;setTimeout(function(){self.autoScroll.call(self,oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);},0);},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY;}else{var aCoord=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=this.DDM.getClientHeight();var clientW=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot<thresh){window.scrollTo(sl,st+scrAmt);}
if(y<st&&st>0&&y-st<thresh){window.scrollTo(sl,st-scrAmt);}
if(right>clientW&&toRight<thresh){window.scrollTo(sl+scrAmt,st);}
if(x<sl&&sl>0&&x-sl<thresh){window.scrollTo(sl-scrAmt,st);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this,body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}
var div=this.getDragEl(),Dom=YAHOO.util.Dom;if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;s.height="25px";s.width="25px";var _data=document.createElement('div');Dom.setStyle(_data,'height','100%');Dom.setStyle(_data,'width','100%');Dom.setStyle(_data,'background-color','#ccc');Dom.setStyle(_data,'opacity','0');div.appendChild(_data);body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}
this.setDragElPos(iPageX,iPageY);YAHOO.util.Dom.setStyle(dragEl,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var DOM=YAHOO.util.Dom;var el=this.getEl();var dragEl=this.getDragEl();var bt=parseInt(DOM.getStyle(dragEl,"borderTopWidth"),10);var br=parseInt(DOM.getStyle(dragEl,"borderRightWidth"),10);var bb=parseInt(DOM.getStyle(dragEl,"borderBottomWidth"),10);var bl=parseInt(DOM.getStyle(dragEl,"borderLeftWidth"),10);if(isNaN(bt)){bt=0;}
if(isNaN(br)){br=0;}
if(isNaN(bb)){bb=0;}
if(isNaN(bl)){bl=0;}
var newWidth=Math.max(0,el.offsetWidth-br-bl);var newHeight=Math.max(0,el.offsetHeight-bt-bb);DOM.setStyle(dragEl,"width",newWidth+"px");DOM.setStyle(dragEl,"height",newHeight+"px");}},b4MouseDown:function(e){this.setStartPosition();var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(e){var DOM=YAHOO.util.Dom;var lel=this.getEl();var del=this.getDragEl();DOM.setStyle(del,"visibility","");DOM.setStyle(lel,"visibility","hidden");YAHOO.util.DDM.moveToEl(lel,del);DOM.setStyle(del,"visibility","hidden");DOM.setStyle(lel,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.4.1",build:"742"});(function(){YAHOO.util.Config=function(owner){if(owner){this.init(owner);}};var Lang=YAHOO.lang,CustomEvent=YAHOO.util.CustomEvent,Config=YAHOO.util.Config;Config.CONFIG_CHANGED_EVENT="configChanged";Config.BOOLEAN_TYPE="boolean";Config.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(owner){this.owner=owner;this.configChangedEvent=this.createEvent(Config.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=CustomEvent.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(val){return(typeof val==Config.BOOLEAN_TYPE);},checkNumber:function(val){return(!isNaN(val));},fireEvent:function(key,value){var property=this.config[key];if(property&&property.event){property.event.fire(value);}},addProperty:function(key,propertyObject){key=key.toLowerCase();this.config[key]=propertyObject;propertyObject.event=this.createEvent(key,{scope:this.owner});propertyObject.event.signature=CustomEvent.LIST;propertyObject.key=key;if(propertyObject.handler){propertyObject.event.subscribe(propertyObject.handler,this.owner);}
this.setProperty(key,propertyObject.value,true);if(!propertyObject.suppressEvent){this.queueProperty(key,propertyObject.value);}},getConfig:function(){var cfg={},prop,property;for(prop in this.config){property=this.config[prop];if(property&&property.event){cfg[prop]=property.value;}}
return cfg;},getProperty:function(key){var property=this.config[key.toLowerCase()];if(property&&property.event){return property.value;}else{return undefined;}},resetProperty:function(key){key=key.toLowerCase();var property=this.config[key];if(property&&property.event){if(this.initialConfig[key]&&!Lang.isUndefined(this.initialConfig[key])){this.setProperty(key,this.initialConfig[key]);return true;}}else{return false;}},setProperty:function(key,value,silent){var property;key=key.toLowerCase();if(this.queueInProgress&&!silent){this.queueProperty(key,value);return true;}else{property=this.config[key];if(property&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){this.fireEvent(key,value);this.configChangedEvent.fire([key,value]);}
return true;}}else{return false;}}},queueProperty:function(key,value){key=key.toLowerCase();var property=this.config[key],foundDuplicate=false,iLen,queueItem,queueItemKey,queueItemValue,sLen,supercedesCheck,qLen,queueItemCheck,queueItemCheckKey,queueItemCheckValue,i,s,q;if(property&&property.event){if(!Lang.isUndefined(value)&&property.validator&&!property.validator(value)){return false;}else{if(!Lang.isUndefined(value)){property.value=value;}else{value=property.value;}
foundDuplicate=false;iLen=this.eventQueue.length;for(i=0;i<iLen;i++){queueItem=this.eventQueue[i];if(queueItem){queueItemKey=queueItem[0];queueItemValue=queueItem[1];if(queueItemKey==key){this.eventQueue[i]=null;this.eventQueue.push([key,(!Lang.isUndefined(value)?value:queueItemValue)]);foundDuplicate=true;break;}}}
if(!foundDuplicate&&!Lang.isUndefined(value)){this.eventQueue.push([key,value]);}}
if(property.supercedes){sLen=property.supercedes.length;for(s=0;s<sLen;s++){supercedesCheck=property.supercedes[s];qLen=this.eventQueue.length;for(q=0;q<qLen;q++){queueItemCheck=this.eventQueue[q];if(queueItemCheck){queueItemCheckKey=queueItemCheck[0];queueItemCheckValue=queueItemCheck[1];if(queueItemCheckKey==supercedesCheck.toLowerCase()){this.eventQueue.push([queueItemCheckKey,queueItemCheckValue]);this.eventQueue[q]=null;break;}}}}}
return true;}else{return false;}},refireEvent:function(key){key=key.toLowerCase();var property=this.config[key];if(property&&property.event&&!Lang.isUndefined(property.value)){if(this.queueInProgress){this.queueProperty(key);}else{this.fireEvent(key,property.value);}}},applyConfig:function(userConfig,init){var sKey,oConfig;if(init){oConfig={};for(sKey in userConfig){if(Lang.hasOwnProperty(userConfig,sKey)){oConfig[sKey.toLowerCase()]=userConfig[sKey];}}
this.initialConfig=oConfig;}
for(sKey in userConfig){if(Lang.hasOwnProperty(userConfig,sKey)){this.queueProperty(sKey,userConfig[sKey]);}}},refresh:function(){var prop;for(prop in this.config){this.refireEvent(prop);}},fireQueue:function(){var i,queueItem,key,value,property;this.queueInProgress=true;for(i=0;i<this.eventQueue.length;i++){queueItem=this.eventQueue[i];if(queueItem){key=queueItem[0];value=queueItem[1];property=this.config[key];property.value=value;this.fireEvent(key,value);}}
this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(key,handler,obj,override){var property=this.config[key.toLowerCase()];if(property&&property.event){if(!Config.alreadySubscribed(property.event,handler,obj)){property.event.subscribe(handler,obj,override);}
return true;}else{return false;}},unsubscribeFromConfigEvent:function(key,handler,obj){var property=this.config[key.toLowerCase()];if(property&&property.event){return property.event.unsubscribe(handler,obj);}else{return false;}},toString:function(){var output="Config";if(this.owner){output+=" ["+this.owner.toString()+"]";}
return output;},outputEventQueue:function(){var output="",queueItem,q,nQueue=this.eventQueue.length;for(q=0;q<nQueue;q++){queueItem=this.eventQueue[q];if(queueItem){output+=queueItem[0]+"="+queueItem[1]+", ";}}
return output;},destroy:function(){var oConfig=this.config,sProperty,oProperty;for(sProperty in oConfig){if(Lang.hasOwnProperty(oConfig,sProperty)){oProperty=oConfig[sProperty];oProperty.event.unsubscribeAll();oProperty.event=null;}}
this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};Config.alreadySubscribed=function(evt,fn,obj){var nSubscribers=evt.subscribers.length,subsc,i;if(nSubscribers>0){i=nSubscribers-1;do{subsc=evt.subscribers[i];if(subsc&&subsc.obj==obj&&subsc.fn==fn){return true;}}
while(i--);}
return false;};YAHOO.lang.augmentProto(Config,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}else{}};var Dom=YAHOO.util.Dom,Config=YAHOO.util.Config,Event=YAHOO.util.Event,CustomEvent=YAHOO.util.CustomEvent,Module=YAHOO.widget.Module,m_oModuleTemplate,m_oHeaderTemplate,m_oBodyTemplate,m_oFooterTemplate,EVENT_TYPES={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTORY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},DEFAULT_CONFIG={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};Module.IMG_ROOT=null;Module.IMG_ROOT_SSL=null;Module.CSS_MODULE="yui-module";Module.CSS_HEADER="hd";Module.CSS_BODY="bd";Module.CSS_FOOTER="ft";Module.RESIZE_MONITOR_SECURE_URL="javascript:false;";Module.textResizeEvent=new CustomEvent("textResize");function createModuleTemplate(){if(!m_oModuleTemplate){m_oModuleTemplate=document.createElement("div");m_oModuleTemplate.innerHTML=("<div class=\""+
Module.CSS_HEADER+"\"></div>"+"<div class=\""+
Module.CSS_BODY+"\"></div><div class=\""+
Module.CSS_FOOTER+"\"></div>");m_oHeaderTemplate=m_oModuleTemplate.firstChild;m_oBodyTemplate=m_oHeaderTemplate.nextSibling;m_oFooterTemplate=m_oBodyTemplate.nextSibling;}
return m_oModuleTemplate;}
function createHeader(){if(!m_oHeaderTemplate){createModuleTemplate();}
return(m_oHeaderTemplate.cloneNode(false));}
function createBody(){if(!m_oBodyTemplate){createModuleTemplate();}
return(m_oBodyTemplate.cloneNode(false));}
function createFooter(){if(!m_oFooterTemplate){createModuleTemplate();}
return(m_oFooterTemplate.cloneNode(false));}
Module.prototype={constructor:Module,element:null,header:null,body:null,footer:null,id:null,imageRoot:Module.IMG_ROOT,initEvents:function(){var SIGNATURE=CustomEvent.LIST;this.beforeInitEvent=this.createEvent(EVENT_TYPES.BEFORE_INIT);this.beforeInitEvent.signature=SIGNATURE;this.initEvent=this.createEvent(EVENT_TYPES.INIT);this.initEvent.signature=SIGNATURE;this.appendEvent=this.createEvent(EVENT_TYPES.APPEND);this.appendEvent.signature=SIGNATURE;this.beforeRenderEvent=this.createEvent(EVENT_TYPES.BEFORE_RENDER);this.beforeRenderEvent.signature=SIGNATURE;this.renderEvent=this.createEvent(EVENT_TYPES.RENDER);this.renderEvent.signature=SIGNATURE;this.changeHeaderEvent=this.createEvent(EVENT_TYPES.CHANGE_HEADER);this.changeHeaderEvent.signature=SIGNATURE;this.changeBodyEvent=this.createEvent(EVENT_TYPES.CHANGE_BODY);this.changeBodyEvent.signature=SIGNATURE;this.changeFooterEvent=this.createEvent(EVENT_TYPES.CHANGE_FOOTER);this.changeFooterEvent.signature=SIGNATURE;this.changeContentEvent=this.createEvent(EVENT_TYPES.CHANGE_CONTENT);this.changeContentEvent.signature=SIGNATURE;this.destroyEvent=this.createEvent(EVENT_TYPES.DESTORY);this.destroyEvent.signature=SIGNATURE;this.beforeShowEvent=this.createEvent(EVENT_TYPES.BEFORE_SHOW);this.beforeShowEvent.signature=SIGNATURE;this.showEvent=this.createEvent(EVENT_TYPES.SHOW);this.showEvent.signature=SIGNATURE;this.beforeHideEvent=this.createEvent(EVENT_TYPES.BEFORE_HIDE);this.beforeHideEvent.signature=SIGNATURE;this.hideEvent=this.createEvent(EVENT_TYPES.HIDE);this.hideEvent.signature=SIGNATURE;},platform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}(),browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(DEFAULT_CONFIG.VISIBLE.key,{handler:this.configVisible,value:DEFAULT_CONFIG.VISIBLE.value,validator:DEFAULT_CONFIG.VISIBLE.validator});this.cfg.addProperty(DEFAULT_CONFIG.EFFECT.key,{suppressEvent:DEFAULT_CONFIG.EFFECT.suppressEvent,supercedes:DEFAULT_CONFIG.EFFECT.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:DEFAULT_CONFIG.MONITOR_RESIZE.value});this.cfg.addProperty(DEFAULT_CONFIG.APPEND_TO_DOCUMENT_BODY.key,{value:DEFAULT_CONFIG.APPEND_TO_DOCUMENT_BODY.value});},init:function(el,userConfig){var elId,child;this.initEvents();this.beforeInitEvent.fire(Module);this.cfg=new Config(this);if(this.isSecure){this.imageRoot=Module.IMG_ROOT_SSL;}
if(typeof el=="string"){elId=el;el=document.getElementById(el);if(!el){el=(createModuleTemplate()).cloneNode(false);el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
child=this.element.firstChild;if(child){var fndHd=false,fndBd=false,fndFt=false;do{if(1==child.nodeType){if(!fndHd&&Dom.hasClass(child,Module.CSS_HEADER)){this.header=child;fndHd=true;}else if(!fndBd&&Dom.hasClass(child,Module.CSS_BODY)){this.body=child;fndBd=true;}else if(!fndFt&&Dom.hasClass(child,Module.CSS_FOOTER)){this.footer=child;fndFt=true;}}}while((child=child.nextSibling));}
this.initDefaultConfig();Dom.addClass(this.element,Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(!Config.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}
this.initEvent.fire(Module);},initResizeMonitor:function(){var oDoc,oIFrame,sHTML;function fireTextResize(){Module.textResizeEvent.fire();}
if(!YAHOO.env.ua.opera){oIFrame=Dom.get("_yuiResizeMonitor");if(!oIFrame){oIFrame=document.createElement("iframe");if(this.isSecure&&Module.RESIZE_MONITOR_SECURE_URL&&YAHOO.env.ua.ie){oIFrame.src=Module.RESIZE_MONITOR_SECURE_URL;}
if(YAHOO.env.ua.gecko){sHTML=["<html><head><script ","type=\"text/javascript\">","window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();}","<\/script></head>","<body></body></html>"].join('');oIFrame.src="data:text/html;charset=utf-8,"+
encodeURIComponent(sHTML);}
oIFrame.id="_yuiResizeMonitor";oIFrame.style.position="absolute";oIFrame.style.visibility="hidden";var fc=document.body.firstChild;if(fc){document.body.insertBefore(oIFrame,fc);}else{document.body.appendChild(oIFrame);}
oIFrame.style.width="10em";oIFrame.style.height="10em";oIFrame.style.top=(-1*oIFrame.offsetHeight)+"px";oIFrame.style.left=(-1*oIFrame.offsetWidth)+"px";oIFrame.style.borderWidth="0";oIFrame.style.visibility="visible";if(YAHOO.env.ua.webkit){oDoc=oIFrame.contentWindow.document;oDoc.open();oDoc.close();}}
if(oIFrame&&oIFrame.contentWindow){Module.textResizeEvent.subscribe(this.onDomResize,this,true);if(!Module.textResizeInitialized){if(!YAHOO.env.ua.gecko){if(!Event.on(oIFrame.contentWindow,"resize",fireTextResize)){Event.on(oIFrame,"resize",fireTextResize);}}
Module.textResizeInitialized=true;}
this.resizeMonitor=oIFrame;}}},onDomResize:function(e,obj){var nLeft=-1*this.resizeMonitor.offsetWidth,nTop=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=nTop+"px";this.resizeMonitor.style.left=nLeft+"px";},setHeader:function(headerContent){var oHeader=this.header||(this.header=createHeader());if(typeof headerContent=="string"){oHeader.innerHTML=headerContent;}else{oHeader.innerHTML="";oHeader.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){var oHeader=this.header||(this.header=createHeader());oHeader.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){var oBody=this.body||(this.body=createBody());if(typeof bodyContent=="string"){oBody.innerHTML=bodyContent;}else{oBody.innerHTML="";oBody.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){var oBody=this.body||(this.body=createBody());oBody.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){var oFooter=this.footer||(this.footer=createFooter());if(typeof footerContent=="string"){oFooter.innerHTML=footerContent;}else{oFooter.innerHTML="";oFooter.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){var oFooter=this.footer||(this.footer=createFooter());oFooter.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode,moduleElement){var me=this,firstChild;function appendTo(parentNode){if(typeof parentNode=="string"){parentNode=document.getElementById(parentNode);}
if(parentNode){me._addToParent(parentNode,me.element);me.appendEvent.fire();}}
this.beforeRenderEvent.fire();if(!moduleElement){moduleElement=this.element;}
if(appendToNode){appendTo(appendToNode);}else{if(!Dom.inDocument(this.element)){return false;}}
if(this.header&&!Dom.inDocument(this.header)){firstChild=moduleElement.firstChild;if(firstChild){moduleElement.insertBefore(this.header,firstChild);}else{moduleElement.appendChild(this.header);}}
if(this.body&&!Dom.inDocument(this.body)){if(this.footer&&Dom.isAncestor(this.moduleElement,this.footer)){moduleElement.insertBefore(this.body,this.footer);}else{moduleElement.appendChild(this.body);}}
if(this.footer&&!Dom.inDocument(this.footer)){moduleElement.appendChild(this.footer);}
this.renderEvent.fire();return true;},destroy:function(){var parent,e;if(this.element){Event.purgeElement(this.element,true);parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;Module.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();for(e in this){if(e instanceof CustomEvent){e.unsubscribeAll();}}},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(type,args,obj){var visible=args[0];if(visible){this.beforeShowEvent.fire();Dom.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{Module.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(parentNode,element){if(!this.cfg.getProperty("appendtodocumentbody")&&parentNode===document.body&&parentNode.firstChild){parentNode.insertBefore(element,parentNode.firstChild);}else{parentNode.appendChild(element);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(Module,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(el,userConfig){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);};var Lang=YAHOO.lang,CustomEvent=YAHOO.util.CustomEvent,Module=YAHOO.widget.Module,Event=YAHOO.util.Event,Dom=YAHOO.util.Dom,Config=YAHOO.util.Config,Overlay=YAHOO.widget.Overlay,m_oIFrameTemplate,EVENT_TYPES={"BEFORE_MOVE":"beforeMove","MOVE":"move"},DEFAULT_CONFIG={"X":{key:"x",validator:Lang.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:Lang.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,validator:Lang.isBoolean,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:Lang.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(YAHOO.env.ua.ie==6?true:false),validator:Lang.isBoolean,supercedes:["zindex"]}};Overlay.IFRAME_SRC="javascript:false;";Overlay.IFRAME_OFFSET=3;Overlay.VIEWPORT_OFFSET=10;Overlay.TOP_LEFT="tl";Overlay.TOP_RIGHT="tr";Overlay.BOTTOM_LEFT="bl";Overlay.BOTTOM_RIGHT="br";Overlay.CSS_OVERLAY="yui-overlay";Overlay.windowScrollEvent=new CustomEvent("windowScroll");Overlay.windowResizeEvent=new CustomEvent("windowResize");Overlay.windowScrollHandler=function(e){if(YAHOO.env.ua.ie){if(!window.scrollEnd){window.scrollEnd=-1;}
clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){Overlay.windowScrollEvent.fire();},1);}else{Overlay.windowScrollEvent.fire();}};Overlay.windowResizeHandler=function(e){if(YAHOO.env.ua.ie){if(!window.resizeEnd){window.resizeEnd=-1;}
clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){Overlay.windowResizeEvent.fire();},100);}else{Overlay.windowResizeEvent.fire();}};Overlay._initialized=null;if(Overlay._initialized===null){Event.on(window,"scroll",Overlay.windowScrollHandler);Event.on(window,"resize",Overlay.windowResizeHandler);Overlay._initialized=true;}
YAHOO.extend(Overlay,Module,{init:function(el,userConfig){Overlay.superclass.init.call(this,el);this.beforeInitEvent.fire(Overlay);Dom.addClass(this.element,Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(this.platform=="mac"&&YAHOO.env.ua.gecko){if(!Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}
if(!Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}
this.initEvent.fire(Overlay);},initEvents:function(){Overlay.superclass.initEvents.call(this);var SIGNATURE=CustomEvent.LIST;this.beforeMoveEvent=this.createEvent(EVENT_TYPES.BEFORE_MOVE);this.beforeMoveEvent.signature=SIGNATURE;this.moveEvent=this.createEvent(EVENT_TYPES.MOVE);this.moveEvent.signature=SIGNATURE;},initDefaultConfig:function(){Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty(DEFAULT_CONFIG.X.key,{handler:this.configX,validator:DEFAULT_CONFIG.X.validator,suppressEvent:DEFAULT_CONFIG.X.suppressEvent,supercedes:DEFAULT_CONFIG.X.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.Y.key,{handler:this.configY,validator:DEFAULT_CONFIG.Y.validator,suppressEvent:DEFAULT_CONFIG.Y.suppressEvent,supercedes:DEFAULT_CONFIG.Y.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.XY.key,{handler:this.configXY,suppressEvent:DEFAULT_CONFIG.XY.suppressEvent,supercedes:DEFAULT_CONFIG.XY.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.CONTEXT.key,{handler:this.configContext,suppressEvent:DEFAULT_CONFIG.CONTEXT.suppressEvent,supercedes:DEFAULT_CONFIG.CONTEXT.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.FIXED_CENTER.key,{handler:this.configFixedCenter,value:DEFAULT_CONFIG.FIXED_CENTER.value,validator:DEFAULT_CONFIG.FIXED_CENTER.validator,supercedes:DEFAULT_CONFIG.FIXED_CENTER.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.WIDTH.key,{handler:this.configWidth,suppressEvent:DEFAULT_CONFIG.WIDTH.suppressEvent,supercedes:DEFAULT_CONFIG.WIDTH.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.HEIGHT.key,{handler:this.configHeight,suppressEvent:DEFAULT_CONFIG.HEIGHT.suppressEvent,supercedes:DEFAULT_CONFIG.HEIGHT.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.ZINDEX.key,{handler:this.configzIndex,value:DEFAULT_CONFIG.ZINDEX.value});this.cfg.addProperty(DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.value,validator:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.validator,supercedes:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.IFRAME.key,{handler:this.configIframe,value:DEFAULT_CONFIG.IFRAME.value,validator:DEFAULT_CONFIG.IFRAME.validator,supercedes:DEFAULT_CONFIG.IFRAME.supercedes});},moveTo:function(x,y){this.cfg.setProperty("xy",[x,y]);},hideMacGeckoScrollbars:function(){Dom.removeClass(this.element,"show-scrollbars");Dom.addClass(this.element,"hide-scrollbars");},showMacGeckoScrollbars:function(){Dom.removeClass(this.element,"hide-scrollbars");Dom.addClass(this.element,"show-scrollbars");},configVisible:function(type,args,obj){var visible=args[0],currentVis=Dom.getStyle(this.element,"visibility"),effect=this.cfg.getProperty("effect"),effectInstances=[],isMacGecko=(this.platform=="mac"&&YAHOO.env.ua.gecko),alreadySubscribed=Config.alreadySubscribed,eff,ei,e,i,j,k,h,nEffects,nEffectInstances;if(currentVis=="inherit"){e=this.element.parentNode;while(e.nodeType!=9&&e.nodeType!=11){currentVis=Dom.getStyle(e,"visibility");if(currentVis!="inherit"){break;}
e=e.parentNode;}
if(currentVis=="inherit"){currentVis="visible";}}
if(effect){if(effect instanceof Array){nEffects=effect.length;for(i=0;i<nEffects;i++){eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}}
if(visible){if(isMacGecko){this.showMacGeckoScrollbars();}
if(effect){if(visible){if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();nEffectInstances=effectInstances.length;for(j=0;j<nEffectInstances;j++){ei=effectInstances[j];if(j===0&&!alreadySubscribed(ei.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){ei.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}
ei.animateIn();}}}}else{if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();Dom.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(isMacGecko){this.hideMacGeckoScrollbars();}
if(effect){if(currentVis=="visible"){this.beforeHideEvent.fire();nEffectInstances=effectInstances.length;for(k=0;k<nEffectInstances;k++){h=effectInstances[k];if(k===0&&!alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}
h.animateOut();}}else if(currentVis===""){Dom.setStyle(this.element,"visibility","hidden");}}else{if(currentVis=="visible"||currentVis===""){this.beforeHideEvent.fire();Dom.setStyle(this.element,"visibility","hidden");this.hideEvent.fire();}}}},doCenterOnDOMEvent:function(){if(this.cfg.getProperty("visible")){this.center();}},configFixedCenter:function(type,args,obj){var val=args[0],alreadySubscribed=Config.alreadySubscribed,windowResizeEvent=Overlay.windowResizeEvent,windowScrollEvent=Overlay.windowScrollEvent;if(val){this.center();if(!alreadySubscribed(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center);}
if(!alreadySubscribed(windowResizeEvent,this.doCenterOnDOMEvent,this)){windowResizeEvent.subscribe(this.doCenterOnDOMEvent,this,true);}
if(!alreadySubscribed(windowScrollEvent,this.doCenterOnDOMEvent,this)){windowScrollEvent.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(type,args,obj){var height=args[0],el=this.element;Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");},configWidth:function(type,args,obj){var width=args[0],el=this.element;Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");},configzIndex:function(type,args,obj){var zIndex=args[0],el=this.element;if(!zIndex){zIndex=Dom.getStyle(el,"zIndex");if(!zIndex||isNaN(zIndex)){zIndex=0;}}
if(this.iframe||this.cfg.getProperty("iframe")===true){if(zIndex<=0){zIndex=1;}}
Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);if(this.iframe){this.stackIframe();}},configXY:function(type,args,obj){var pos=args[0],x=pos[0],y=pos[1];this.cfg.setProperty("x",x);this.cfg.setProperty("y",y);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);},configX:function(type,args,obj){var x=args[0],y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);},configY:function(type,args,obj){var x=this.cfg.getProperty("x"),y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);},showIframe:function(){var oIFrame=this.iframe,oParentNode;if(oIFrame){oParentNode=this.element.parentNode;if(oParentNode!=oIFrame.parentNode){this._addToParent(oParentNode,oIFrame);}
oIFrame.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var oIFrame=this.iframe,oElement=this.element,nOffset=Overlay.IFRAME_OFFSET,nDimensionOffset=(nOffset*2),aXY;if(oIFrame){oIFrame.style.width=(oElement.offsetWidth+nDimensionOffset+30+"px");oIFrame.style.height=(oElement.offsetHeight+nDimensionOffset+"px");aXY=this.cfg.getProperty("xy");if(!Lang.isArray(aXY)||(isNaN(aXY[0])||isNaN(aXY[1]))){this.syncPosition();aXY=this.cfg.getProperty("xy");}
Dom.setXY(oIFrame,[(aXY[0]-nOffset),(aXY[1]-nOffset)]);}},stackIframe:function(){if(this.iframe){var overlayZ=Dom.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(overlayZ)&&!isNaN(overlayZ)){Dom.setStyle(this.iframe,"zIndex",(overlayZ-1));}}},configIframe:function(type,args,obj){var bIFrame=args[0];function createIFrame(){var oIFrame=this.iframe,oElement=this.element,oParent;if(!oIFrame){if(!m_oIFrameTemplate){m_oIFrameTemplate=document.createElement("iframe");if(this.isSecure){m_oIFrameTemplate.src=Overlay.IFRAME_SRC;}
if(YAHOO.env.ua.ie){m_oIFrameTemplate.style.filter="alpha(opacity=0)";m_oIFrameTemplate.frameBorder=0;}
else{m_oIFrameTemplate.style.opacity="0";}
m_oIFrameTemplate.style.position="absolute";m_oIFrameTemplate.style.border="none";m_oIFrameTemplate.style.margin="0";m_oIFrameTemplate.style.padding="0";m_oIFrameTemplate.style.display="none";}
oIFrame=m_oIFrameTemplate.cloneNode(false);oParent=oElement.parentNode;var parentNode=oParent||document.body;this._addToParent(parentNode,oIFrame);this.iframe=oIFrame;}
this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}
function onBeforeShow(){createIFrame.call(this);this.beforeShowEvent.unsubscribe(onBeforeShow);this._iframeDeferred=false;}
if(bIFrame){if(this.cfg.getProperty("visible")){createIFrame.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(onBeforeShow);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},configConstrainToViewport:function(type,args,obj){function constrainBeforeShow(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();}
var x=this.cfg.getProperty("x");var y=this.cfg.getProperty("y");var cXY=this.getConstrainedXY(x,y);if(cXY[0]!==x||cXY[1]!==y){this.moveTo(cXY[0],cXY[1]);}}
var val=args[0];if(val){if(!Config.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}
if(!Config.alreadySubscribed(this.beforeShowEvent,constrainBeforeShow)){this.beforeShowEvent.subscribe(constrainBeforeShow);}}else{this.beforeShowEvent.unsubscribe(constrainBeforeShow);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(type,args,obj){var contextArgs=args[0],contextEl,elementMagnetCorner,contextMagnetCorner;if(contextArgs){contextEl=contextArgs[0];elementMagnetCorner=contextArgs[1];contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}},align:function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context"),me=this,context,element,contextRegion;function doAlign(v,h){switch(elementAlign){case Overlay.TOP_LEFT:me.moveTo(h,v);break;case Overlay.TOP_RIGHT:me.moveTo((h-element.offsetWidth),v);break;case Overlay.BOTTOM_LEFT:me.moveTo(h,(v-element.offsetHeight));break;case Overlay.BOTTOM_RIGHT:me.moveTo((h-element.offsetWidth),(v-element.offsetHeight));break;}}
if(contextArgs){context=contextArgs[0];element=this.element;me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){contextRegion=Dom.getRegion(context);switch(contextAlign){case Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}},enforceConstraints:function(type,args,obj){var pos=args[0];var cXY=this.getConstrainedXY(pos[0],pos[1]);this.cfg.setProperty("x",cXY[0],true);this.cfg.setProperty("y",cXY[1],true);this.cfg.setProperty("xy",cXY,true);},getConstrainedXY:function(x,y){var nViewportOffset=Overlay.VIEWPORT_OFFSET,viewPortWidth=Dom.getViewportWidth(),viewPortHeight=Dom.getViewportHeight(),offsetHeight=this.element.offsetHeight,offsetWidth=this.element.offsetWidth,scrollX=Dom.getDocumentScrollLeft(),scrollY=Dom.getDocumentScrollTop();var xNew=x;var yNew=y;if(offsetWidth+nViewportOffset<viewPortWidth){var leftConstraint=scrollX+nViewportOffset;var rightConstraint=scrollX+viewPortWidth-offsetWidth-nViewportOffset;if(x<leftConstraint){xNew=leftConstraint;}else if(x>rightConstraint){xNew=rightConstraint;}}else{xNew=nViewportOffset+scrollX;}
if(offsetHeight+nViewportOffset<viewPortHeight){var topConstraint=scrollY+nViewportOffset;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-nViewportOffset;if(y<topConstraint){yNew=topConstraint;}else if(y>bottomConstraint){yNew=bottomConstraint;}}else{yNew=nViewportOffset+scrollY;}
return[xNew,yNew];},center:function(){var nViewportOffset=Overlay.VIEWPORT_OFFSET,elementWidth=this.element.offsetWidth,elementHeight=this.element.offsetHeight,viewPortWidth=Dom.getViewportWidth(),viewPortHeight=Dom.getViewportHeight(),x,y;if(elementWidth<viewPortWidth){x=(viewPortWidth/2)-(elementWidth/2)+Dom.getDocumentScrollLeft();}else{x=nViewportOffset+Dom.getDocumentScrollLeft();}
if(elementHeight<viewPortHeight){y=(viewPortHeight/2)-(elementHeight/2)+Dom.getDocumentScrollTop();}else{y=nViewportOffset+Dom.getDocumentScrollTop();}
this.cfg.setProperty("xy",[parseInt(x,10),parseInt(y,10)]);this.cfg.refireEvent("iframe");},syncPosition:function(){var pos=Dom.getXY(this.element);this.cfg.setProperty("x",pos[0],true);this.cfg.setProperty("y",pos[1],true);this.cfg.setProperty("xy",pos,true);},onDomResize:function(e,obj){var me=this;Overlay.superclass.onDomResize.call(this,e,obj);setTimeout(function(){me.syncPosition();me.cfg.refireEvent("iframe");me.cfg.refireEvent("context");},0);},bringToTop:function(){var aOverlays=[],oElement=this.element;function compareZIndexDesc(p_oOverlay1,p_oOverlay2){var sZIndex1=Dom.getStyle(p_oOverlay1,"zIndex"),sZIndex2=Dom.getStyle(p_oOverlay2,"zIndex"),nZIndex1=(!sZIndex1||isNaN(sZIndex1))?0:parseInt(sZIndex1,10),nZIndex2=(!sZIndex2||isNaN(sZIndex2))?0:parseInt(sZIndex2,10);if(nZIndex1>nZIndex2){return-1;}else if(nZIndex1<nZIndex2){return 1;}else{return 0;}}
function isOverlayElement(p_oElement){var oOverlay=Dom.hasClass(p_oElement,Overlay.CSS_OVERLAY),Panel=YAHOO.widget.Panel;if(oOverlay&&!Dom.isAncestor(oElement,oOverlay)){if(Panel&&Dom.hasClass(p_oElement,Panel.CSS_PANEL)){aOverlays[aOverlays.length]=p_oElement.parentNode;}else{aOverlays[aOverlays.length]=p_oElement;}}}
Dom.getElementsBy(isOverlayElement,"DIV",document.body);aOverlays.sort(compareZIndexDesc);var oTopOverlay=aOverlays[0],nTopZIndex;if(oTopOverlay){nTopZIndex=Dom.getStyle(oTopOverlay,"zIndex");if(!isNaN(nTopZIndex)){var bRequiresBump=false;if(oTopOverlay!=oElement){bRequiresBump=true;}else if(aOverlays.length>1){var nNextZIndex=Dom.getStyle(aOverlays[1],"zIndex");if(!isNaN(nNextZIndex)&&(nTopZIndex==nNextZIndex)){bRequiresBump=true;}}
if(bRequiresBump){this.cfg.setProperty("zindex",(parseInt(nTopZIndex,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
this.iframe=null;Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);Overlay.superclass.destroy.call(this);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(userConfig){this.init(userConfig);};var Overlay=YAHOO.widget.Overlay,Event=YAHOO.util.Event,Dom=YAHOO.util.Dom,Config=YAHOO.util.Config,CustomEvent=YAHOO.util.CustomEvent,OverlayManager=YAHOO.widget.OverlayManager;OverlayManager.CSS_FOCUSED="focused";OverlayManager.prototype={constructor:OverlayManager,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(userConfig){this.cfg=new Config(this);this.initDefaultConfig();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.fireQueue();var activeOverlay=null;this.getActive=function(){return activeOverlay;};this.focus=function(overlay){var o=this.find(overlay);if(o){if(activeOverlay!=o){if(activeOverlay){activeOverlay.blur();}
this.bringToTop(o);activeOverlay=o;Dom.addClass(activeOverlay.element,OverlayManager.CSS_FOCUSED);o.focusEvent.fire();}}};this.remove=function(overlay){var o=this.find(overlay),originalZ;if(o){if(activeOverlay==o){activeOverlay=null;}
var bDestroyed=(o.element===null&&o.cfg===null)?true:false;if(!bDestroyed){originalZ=Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);}
this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));o.hideEvent.unsubscribe(o.blur);o.destroyEvent.unsubscribe(this._onOverlayDestroy,o);if(!bDestroyed){Event.removeListener(o.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);}
o.focusEvent.unsubscribeAll();o.blurEvent.unsubscribeAll();o.focusEvent=null;o.blurEvent=null;o.focus=null;o.blur=null;}};this.blurAll=function(){var nOverlays=this.overlays.length,i;if(nOverlays>0){i=nOverlays-1;do{this.overlays[i].blur();}
while(i--);}};this._onOverlayBlur=function(p_sType,p_aArgs){activeOverlay=null;};var overlays=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(p_oEvent){var oTarget=Event.getTarget(p_oEvent),oClose=this.close;if(oClose&&(oTarget==oClose||Dom.isAncestor(oClose,oTarget))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(p_sType,p_aArgs,p_oOverlay){this.remove(p_oOverlay);},register:function(overlay){var mgr=this,zIndex,regcount,i,nOverlays;if(overlay instanceof Overlay){overlay.cfg.addProperty("manager",{value:this});overlay.focusEvent=overlay.createEvent("focus");overlay.focusEvent.signature=CustomEvent.LIST;overlay.blurEvent=overlay.createEvent("blur");overlay.blurEvent.signature=CustomEvent.LIST;overlay.focus=function(){mgr.focus(this);};overlay.blur=function(){if(mgr.getActive()==this){Dom.removeClass(this.element,OverlayManager.CSS_FOCUSED);this.blurEvent.fire();}};overlay.blurEvent.subscribe(mgr._onOverlayBlur);overlay.hideEvent.subscribe(overlay.blur);overlay.destroyEvent.subscribe(this._onOverlayDestroy,overlay,this);Event.on(overlay.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus,null,overlay);zIndex=Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex,10));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);this.bringToTop(overlay);return true;}else if(overlay instanceof Array){regcount=0;nOverlays=overlay.length;for(i=0;i<nOverlays;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},bringToTop:function(p_oOverlay){var oOverlay=this.find(p_oOverlay),nTopZIndex,oTopOverlay,aOverlays;if(oOverlay){aOverlays=this.overlays;aOverlays.sort(this.compareZIndexDesc);oTopOverlay=aOverlays[0];if(oTopOverlay){nTopZIndex=Dom.getStyle(oTopOverlay.element,"zIndex");if(!isNaN(nTopZIndex)){var bRequiresBump=false;if(oTopOverlay!==oOverlay){bRequiresBump=true;}else if(aOverlays.length>1){var nNextZIndex=Dom.getStyle(aOverlays[1].element,"zIndex");if(!isNaN(nNextZIndex)&&(nTopZIndex==nNextZIndex)){bRequiresBump=true;}}
if(bRequiresBump){oOverlay.cfg.setProperty("zindex",(parseInt(nTopZIndex,10)+2));}}
aOverlays.sort(this.compareZIndexDesc);}}},find:function(overlay){var aOverlays=this.overlays,nOverlays=aOverlays.length,i;if(nOverlays>0){i=nOverlays-1;if(overlay instanceof Overlay){do{if(aOverlays[i]==overlay){return aOverlays[i];}}
while(i--);}else if(typeof overlay=="string"){do{if(aOverlays[i].id==overlay){return aOverlays[i];}}
while(i--);}
return null;}},compareZIndexDesc:function(o1,o2){var zIndex1=(o1.cfg)?o1.cfg.getProperty("zIndex"):null,zIndex2=(o2.cfg)?o2.cfg.getProperty("zIndex"):null;if(zIndex1===null&&zIndex2===null){return 0;}else if(zIndex1===null){return 1;}else if(zIndex2===null){return-1;}else if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){var aOverlays=this.overlays,nOverlays=aOverlays.length,i;if(nOverlays>0){i=nOverlays-1;do{aOverlays[i].show();}
while(i--);}},hideAll:function(){var aOverlays=this.overlays,nOverlays=aOverlays.length,i;if(nOverlays>0){i=nOverlays-1;do{aOverlays[i].hide();}
while(i--);}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(el,userConfig){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);};var Lang=YAHOO.lang,Event=YAHOO.util.Event,Dom=YAHOO.util.Dom,Tooltip=YAHOO.widget.Tooltip,m_oShadowTemplate,DEFAULT_CONFIG={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:Lang.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:Lang.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:Lang.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:Lang.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"}};Tooltip.CSS_TOOLTIP="yui-tt";function restoreOriginalWidth(p_sType,p_aArgs,p_oObject){var sOriginalWidth=p_oObject[0],sNewWidth=p_oObject[1],oConfig=this.cfg,sCurrentWidth=oConfig.getProperty("width");if(sCurrentWidth==sNewWidth){oConfig.setProperty("width",sOriginalWidth);}
this.unsubscribe("hide",this._onHide,p_oObject);}
function setWidthToOffsetWidth(p_sType,p_aArgs){var oBody=document.body,oConfig=this.cfg,sOriginalWidth=oConfig.getProperty("width"),sNewWidth,oClone;if((!sOriginalWidth||sOriginalWidth=="auto")&&(oConfig.getProperty("container")!=oBody||oConfig.getProperty("x")>=Dom.getViewportWidth()||oConfig.getProperty("y")>=Dom.getViewportHeight())){oClone=this.element.cloneNode(true);oClone.style.visibility="hidden";oClone.style.top="0px";oClone.style.left="0px";oBody.appendChild(oClone);sNewWidth=(oClone.offsetWidth+"px");oBody.removeChild(oClone);oClone=null;oConfig.setProperty("width",sNewWidth);oConfig.refireEvent("xy");this.subscribe("hide",restoreOriginalWidth,[(sOriginalWidth||""),sNewWidth]);}}
function onDOMReady(p_sType,p_aArgs,p_oObject){this.render(p_oObject);}
function onInit(){Event.onDOMReady(onDOMReady,this.cfg.getProperty("container"),this);}
YAHOO.extend(Tooltip,YAHOO.widget.Overlay,{init:function(el,userConfig){Tooltip.superclass.init.call(this,el);this.beforeInitEvent.fire(Tooltip);Dom.addClass(this.element,Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("beforeShow",setWidthToOffsetWidth);this.subscribe("init",onInit);this.subscribe("render",this.onRender);this.initEvent.fire(Tooltip);},initDefaultConfig:function(){Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty(DEFAULT_CONFIG.PREVENT_OVERLAP.key,{value:DEFAULT_CONFIG.PREVENT_OVERLAP.value,validator:DEFAULT_CONFIG.PREVENT_OVERLAP.validator,supercedes:DEFAULT_CONFIG.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:DEFAULT_CONFIG.SHOW_DELAY.validator});this.cfg.addProperty(DEFAULT_CONFIG.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:DEFAULT_CONFIG.AUTO_DISMISS_DELAY.value,validator:DEFAULT_CONFIG.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(DEFAULT_CONFIG.HIDE_DELAY.key,{handler:this.configHideDelay,value:DEFAULT_CONFIG.HIDE_DELAY.value,validator:DEFAULT_CONFIG.HIDE_DELAY.validator});this.cfg.addProperty(DEFAULT_CONFIG.TEXT.key,{handler:this.configText,suppressEvent:DEFAULT_CONFIG.TEXT.suppressEvent});this.cfg.addProperty(DEFAULT_CONFIG.CONTAINER.key,{handler:this.configContainer,value:document.body});},configText:function(type,args,obj){var text=args[0];if(text){this.setBody(text);}},configContainer:function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}},_removeEventListeners:function(){var aElements=this._context,nElements,oElement,i;if(aElements){nElements=aElements.length;if(nElements>0){i=nElements-1;do{oElement=aElements[i];Event.removeListener(oElement,"mouseover",this.onContextMouseOver);Event.removeListener(oElement,"mousemove",this.onContextMouseMove);Event.removeListener(oElement,"mouseout",this.onContextMouseOut);}
while(i--);}}},configContext:function(type,args,obj){var context=args[0],aElements,nElements,oElement,i;if(context){if(!(context instanceof Array)){if(typeof context=="string"){this.cfg.setProperty("context",[document.getElementById(context)],true);}else{this.cfg.setProperty("context",[context],true);}
context=this.cfg.getProperty("context");}
this._removeEventListeners();this._context=context;aElements=this._context;if(aElements){nElements=aElements.length;if(nElements>0){i=nElements-1;do{oElement=aElements[i];Event.on(oElement,"mouseover",this.onContextMouseOver,this);Event.on(oElement,"mousemove",this.onContextMouseMove,this);Event.on(oElement,"mouseout",this.onContextMouseOut,this);}
while(i--);}}}},onContextMouseMove:function(e,obj){obj.pageX=Event.getPageX(e);obj.pageY=Event.getPageY(e);},onContextMouseOver:function(e,obj){var context=this;if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
Event.on(context,"mousemove",obj.onContextMouseMove,obj);if(context.title){obj._tempTitle=context.title;context.title="";}
obj.showProcId=obj.doShow(e,context);},onContextMouseOut:function(e,obj){var el=this;if(obj._tempTitle){el.title=obj._tempTitle;obj._tempTitle=null;}
if(obj.showProcId){clearTimeout(obj.showProcId);obj.showProcId=null;}
if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
obj.hideProcId=setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));},doShow:function(e,context){var yOffset=25,me=this;if(YAHOO.env.ua.opera&&context.tagName&&context.tagName.toUpperCase()=="A"){yOffset+=12;}
return setTimeout(function(){var txt=me.cfg.getProperty("text");if(me._tempTitle&&(txt===""||YAHOO.lang.isUndefined(txt)||YAHOO.lang.isNull(txt))){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var me=this;return setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(pageX,pageY){var height=this.element.offsetHeight,mousePoint=new YAHOO.util.Point(pageX,pageY),elementRegion=Dom.getRegion(this.element);elementRegion.top-=5;elementRegion.left-=5;elementRegion.right+=5;elementRegion.bottom+=5;if(elementRegion.contains(mousePoint)){this.cfg.setProperty("y",(pageY-height-5));}},onRender:function(p_sType,p_aArgs){function sizeShadow(){var oElement=this.element,oShadow=this._shadow;if(oShadow){oShadow.style.width=(oElement.offsetWidth+36)+"px";oShadow.style.height=(oElement.offsetHeight+1)+"px";}}
function addShadowVisibleClass(){Dom.addClass(this._shadow,"yui-tt-shadow-visible");}
function removeShadowVisibleClass(){Dom.removeClass(this._shadow,"yui-tt-shadow-visible");}
function createShadow(){var oShadow=this._shadow,oElement,Module,nIE,me;if(!oShadow){oElement=this.element;Module=YAHOO.widget.Module;nIE=YAHOO.env.ua.ie;me=this;if(!m_oShadowTemplate){m_oShadowTemplate=document.createElement("div");m_oShadowTemplate.className="yui-tt-shadow";}
oShadow=m_oShadowTemplate.cloneNode(false);oElement.appendChild(oShadow);this._shadow=oShadow;addShadowVisibleClass.call(this);this.subscribe("beforeShow",addShadowVisibleClass);this.subscribe("beforeHide",removeShadowVisibleClass);if(nIE==6||(nIE==7&&document.compatMode=="BackCompat")){window.setTimeout(function(){sizeShadow.call(me);},0);this.cfg.subscribeToConfigEvent("width",sizeShadow);this.cfg.subscribeToConfigEvent("height",sizeShadow);this.subscribe("changeContent",sizeShadow);Module.textResizeEvent.subscribe(sizeShadow,this,true);this.subscribe("destroy",function(){Module.textResizeEvent.unsubscribe(sizeShadow,this);});}}}
function onBeforeShow(){createShadow.call(this);this.unsubscribe("beforeShow",onBeforeShow);}
if(this.cfg.getProperty("visible")){createShadow.call(this);}
else{this.subscribe("beforeShow",onBeforeShow);}},destroy:function(){this._removeEventListeners();Tooltip.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(el,userConfig){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);};var Lang=YAHOO.lang,DD=YAHOO.util.DD,Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Overlay=YAHOO.widget.Overlay,CustomEvent=YAHOO.util.CustomEvent,Config=YAHOO.util.Config,Panel=YAHOO.widget.Panel,m_oMaskTemplate,m_oUnderlayTemplate,m_oCloseIconTemplate,EVENT_TYPES={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},DEFAULT_CONFIG={"CLOSE":{key:"close",value:true,validator:Lang.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(DD?true:false),validator:Lang.isBoolean,supercedes:["visible"]},"DRAG_ONLY":{key:"dragonly",value:false,validator:Lang.isBoolean,supercedes:["draggable"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:Lang.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]}};Panel.CSS_PANEL="yui-panel";Panel.CSS_PANEL_CONTAINER="yui-panel-container";function createHeader(p_sType,p_aArgs){if(!this.header&&this.cfg.getProperty("draggable")){this.setHeader("&#160;");}}
function restoreOriginalWidth(p_sType,p_aArgs,p_oObject){var sOriginalWidth=p_oObject[0],sNewWidth=p_oObject[1],oConfig=this.cfg,sCurrentWidth=oConfig.getProperty("width");if(sCurrentWidth==sNewWidth){oConfig.setProperty("width",sOriginalWidth);}
this.unsubscribe("hide",restoreOriginalWidth,p_oObject);}
function setWidthToOffsetWidth(p_sType,p_aArgs){var nIE=YAHOO.env.ua.ie,oConfig,sOriginalWidth,sNewWidth;if(nIE==6||(nIE==7&&document.compatMode=="BackCompat")){oConfig=this.cfg;sOriginalWidth=oConfig.getProperty("width");if(!sOriginalWidth||sOriginalWidth=="auto"){sNewWidth=(this.element.offsetWidth+"px");oConfig.setProperty("width",sNewWidth);this.subscribe("hide",restoreOriginalWidth,[(sOriginalWidth||""),sNewWidth]);}}}
function onElementFocus(){this.blur();}
function addFocusEventHandlers(p_sType,p_aArgs){var me=this;function isFocusable(el){var sTagName=el.tagName.toUpperCase(),bFocusable=false;switch(sTagName){case"A":case"BUTTON":case"SELECT":case"TEXTAREA":if(!Dom.isAncestor(me.element,el)){Event.on(el,"focus",onElementFocus,el,true);bFocusable=true;}
break;case"INPUT":if(el.type!="hidden"&&!Dom.isAncestor(me.element,el)){Event.on(el,"focus",onElementFocus,el,true);bFocusable=true;}
break;}
return bFocusable;}
this.focusableElements=Dom.getElementsBy(isFocusable);}
function removeFocusEventHandlers(p_sType,p_aArgs){var aElements=this.focusableElements,nElements=aElements.length,el2,i;for(i=0;i<nElements;i++){el2=aElements[i];Event.removeListener(el2,"focus",onElementFocus);}}
YAHOO.extend(Panel,Overlay,{init:function(el,userConfig){Panel.superclass.init.call(this,el);this.beforeInitEvent.fire(Panel);Dom.addClass(this.element,Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.subscribe("showMask",addFocusEventHandlers);this.subscribe("hideMask",removeFocusEventHandlers);this.subscribe("beforeRender",createHeader);this.initEvent.fire(Panel);},initEvents:function(){Panel.superclass.initEvents.call(this);var SIGNATURE=CustomEvent.LIST;this.showMaskEvent=this.createEvent(EVENT_TYPES.SHOW_MASK);this.showMaskEvent.signature=SIGNATURE;this.hideMaskEvent=this.createEvent(EVENT_TYPES.HIDE_MASK);this.hideMaskEvent.signature=SIGNATURE;this.dragEvent=this.createEvent(EVENT_TYPES.DRAG);this.dragEvent.signature=SIGNATURE;},initDefaultConfig:function(){Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty(DEFAULT_CONFIG.CLOSE.key,{handler:this.configClose,value:DEFAULT_CONFIG.CLOSE.value,validator:DEFAULT_CONFIG.CLOSE.validator,supercedes:DEFAULT_CONFIG.CLOSE.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.DRAGGABLE.key,{handler:this.configDraggable,value:DEFAULT_CONFIG.DRAGGABLE.value,validator:DEFAULT_CONFIG.DRAGGABLE.validator,supercedes:DEFAULT_CONFIG.DRAGGABLE.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.DRAG_ONLY.key,{value:DEFAULT_CONFIG.DRAG_ONLY.value,validator:DEFAULT_CONFIG.DRAG_ONLY.validator,supercedes:DEFAULT_CONFIG.DRAG_ONLY.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.UNDERLAY.key,{handler:this.configUnderlay,value:DEFAULT_CONFIG.UNDERLAY.value,supercedes:DEFAULT_CONFIG.UNDERLAY.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.MODAL.key,{handler:this.configModal,value:DEFAULT_CONFIG.MODAL.value,validator:DEFAULT_CONFIG.MODAL.validator,supercedes:DEFAULT_CONFIG.MODAL.supercedes});this.cfg.addProperty(DEFAULT_CONFIG.KEY_LISTENERS.key,{handler:this.configKeyListeners,suppressEvent:DEFAULT_CONFIG.KEY_LISTENERS.suppressEvent,supercedes:DEFAULT_CONFIG.KEY_LISTENERS.supercedes});},configClose:function(type,args,obj){var val=args[0],oClose=this.close;function doHide(e,obj){obj.hide();}
if(val){if(!oClose){if(!m_oCloseIconTemplate){m_oCloseIconTemplate=document.createElement("span");m_oCloseIconTemplate.innerHTML="&#160;";m_oCloseIconTemplate.className="container-close";}
oClose=m_oCloseIconTemplate.cloneNode(true);this.innerElement.appendChild(oClose);Event.on(oClose,"click",doHide,this);this.close=oClose;}else{oClose.style.display="block";}}else{if(oClose){oClose.style.display="none";}}},configDraggable:function(type,args,obj){var val=args[0];if(val){if(!DD){this.cfg.setProperty("draggable",false);return;}
if(this.header){Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();}
this.subscribe("beforeShow",setWidthToOffsetWidth);}else{if(this.dd){this.dd.unreg();}
if(this.header){Dom.setStyle(this.header,"cursor","auto");}
this.unsubscribe("beforeShow",setWidthToOffsetWidth);}},configUnderlay:function(type,args,obj){var UA=YAHOO.env.ua,bMacGecko=(this.platform=="mac"&&UA.gecko),sUnderlay=args[0].toLowerCase(),oUnderlay=this.underlay,oElement=this.element;function fixWebkitUnderlay(){var u=this.underlay;Dom.addClass(u,"yui-force-redraw");window.setTimeout(function(){Dom.removeClass(u,"yui-force-redraw");},0);}
function createUnderlay(){var nIE;if(!oUnderlay){if(!m_oUnderlayTemplate){m_oUnderlayTemplate=document.createElement("div");m_oUnderlayTemplate.className="underlay";}
oUnderlay=m_oUnderlayTemplate.cloneNode(false);this.element.appendChild(oUnderlay);this.underlay=oUnderlay;nIE=UA.ie;if(nIE==6||(nIE==7&&document.compatMode=="BackCompat")){this.sizeUnderlay();this.cfg.subscribeToConfigEvent("width",this.sizeUnderlay);this.cfg.subscribeToConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.subscribe(this.sizeUnderlay);YAHOO.widget.Module.textResizeEvent.subscribe(this.sizeUnderlay,this,true);}
if(UA.webkit&&UA.webkit<420){this.changeContentEvent.subscribe(fixWebkitUnderlay);}}}
function onBeforeShow(){createUnderlay.call(this);this._underlayDeferred=false;this.beforeShowEvent.unsubscribe(onBeforeShow);}
function destroyUnderlay(){if(this._underlayDeferred){this.beforeShowEvent.unsubscribe(onBeforeShow);this._underlayDeferred=false;}
if(oUnderlay){this.cfg.unsubscribeFromConfigEvent("width",this.sizeUnderlay);this.cfg.unsubscribeFromConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.unsubscribe(this.sizeUnderlay);this.changeContentEvent.unsubscribe(fixWebkitUnderlay);YAHOO.widget.Module.textResizeEvent.unsubscribe(this.sizeUnderlay,this,true);this.element.removeChild(oUnderlay);this.underlay=null;}}
switch(sUnderlay){case"shadow":Dom.removeClass(oElement,"matte");Dom.addClass(oElement,"shadow");break;case"matte":if(!bMacGecko){destroyUnderlay.call(this);}
Dom.removeClass(oElement,"shadow");Dom.addClass(oElement,"matte");break;default:if(!bMacGecko){destroyUnderlay.call(this);}
Dom.removeClass(oElement,"shadow");Dom.removeClass(oElement,"matte");break;}
if((sUnderlay=="shadow")||(bMacGecko&&!oUnderlay)){if(this.cfg.getProperty("visible")){createUnderlay.call(this);}
else{if(!this._underlayDeferred){this.beforeShowEvent.subscribe(onBeforeShow);this._underlayDeferred=true;}}}},configModal:function(type,args,obj){var modal=args[0];if(modal){if(!this._hasModalityEventListeners){this.subscribe("beforeShow",this.buildMask);this.subscribe("beforeShow",this.bringToTop);this.subscribe("beforeShow",this.showMask);this.subscribe("hide",this.hideMask);Overlay.windowResizeEvent.subscribe(this.sizeMask,this,true);this._hasModalityEventListeners=true;}}else{if(this._hasModalityEventListeners){if(this.cfg.getProperty("visible")){this.hideMask();this.removeMask();}
this.unsubscribe("beforeShow",this.buildMask);this.unsubscribe("beforeShow",this.bringToTop);this.unsubscribe("beforeShow",this.showMask);this.unsubscribe("hide",this.hideMask);Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this._hasModalityEventListeners=false;}}},removeMask:function(){var oMask=this.mask,oParentNode;if(oMask){this.hideMask();oParentNode=oMask.parentNode;if(oParentNode){oParentNode.removeChild(oMask);}
this.mask=null;}},configKeyListeners:function(type,args,obj){var listeners=args[0],listener,nListeners,i;if(listeners){if(listeners instanceof Array){nListeners=listeners.length;for(i=0;i<nListeners;i++){listener=listeners[i];if(!Config.alreadySubscribed(this.showEvent,listener.enable,listener)){this.showEvent.subscribe(listener.enable,listener,true);}
if(!Config.alreadySubscribed(this.hideEvent,listener.disable,listener)){this.hideEvent.subscribe(listener.disable,listener,true);this.destroyEvent.subscribe(listener.disable,listener,true);}}}else{if(!Config.alreadySubscribed(this.showEvent,listeners.enable,listeners)){this.showEvent.subscribe(listeners.enable,listeners,true);}
if(!Config.alreadySubscribed(this.hideEvent,listeners.disable,listeners)){this.hideEvent.subscribe(listeners.disable,listeners,true);this.destroyEvent.subscribe(listeners.disable,listeners,true);}}}},configHeight:function(type,args,obj){var height=args[0],el=this.innerElement;Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");},configWidth:function(type,args,obj){var width=args[0],el=this.innerElement;Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");},configzIndex:function(type,args,obj){Panel.superclass.configzIndex.call(this,type,args,obj);if(this.mask||this.cfg.getProperty("modal")===true){var panelZ=Dom.getStyle(this.element,"zIndex");if(!panelZ||isNaN(panelZ)){panelZ=0;}
if(panelZ===0){this.cfg.setProperty("zIndex",1);}else{this.stackMask();}}},buildWrapper:function(){var elementParent=this.element.parentNode,originalElement=this.element,wrapper=document.createElement("div");wrapper.className=Panel.CSS_PANEL_CONTAINER;wrapper.id=originalElement.id+"_c";if(elementParent){elementParent.insertBefore(wrapper,originalElement);}
wrapper.appendChild(originalElement);this.element=wrapper;this.innerElement=originalElement;Dom.setStyle(this.innerElement,"visibility","inherit");},sizeUnderlay:function(){var oUnderlay=this.underlay,oElement;if(oUnderlay){oElement=this.element;oUnderlay.style.width=oElement.offsetWidth+"px";oUnderlay.style.height=oElement.offsetHeight+"px";}},registerDragDrop:function(){var me=this;if(this.header){if(!DD){return;}
var bDragOnly=(this.cfg.getProperty("dragonly")===true);this.dd=new DD(this.element.id,this.id,{dragOnly:bDragOnly});if(!this.header.id){this.header.id=this.id+"_h";}
this.dd.startDrag=function(){var offsetHeight,offsetWidth,viewPortWidth,viewPortHeight,scrollX,scrollY;if(YAHOO.env.ua.ie==6){Dom.addClass(me.element,"drag");}
if(me.cfg.getProperty("constraintoviewport")){var nViewportOffset=Overlay.VIEWPORT_OFFSET;offsetHeight=me.element.offsetHeight;offsetWidth=me.element.offsetWidth;viewPortWidth=Dom.getViewportWidth();viewPortHeight=Dom.getViewportHeight();scrollX=Dom.getDocumentScrollLeft();scrollY=Dom.getDocumentScrollTop();if(offsetHeight+nViewportOffset<viewPortHeight){this.minY=scrollY+nViewportOffset;this.maxY=scrollY+viewPortHeight-offsetHeight-nViewportOffset;}else{this.minY=scrollY+nViewportOffset;this.maxY=scrollY+nViewportOffset;}
if(offsetWidth+nViewportOffset<viewPortWidth){this.minX=scrollX+nViewportOffset;this.maxX=scrollX+viewPortWidth-offsetWidth-nViewportOffset;}else{this.minX=scrollX+nViewportOffset;this.maxX=scrollX+nViewportOffset;}
this.constrainX=true;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}
me.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){me.syncPosition();me.cfg.refireEvent("iframe");if(this.platform=="mac"&&YAHOO.env.ua.gecko){this.showMacGeckoScrollbars();}
me.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(YAHOO.env.ua.ie==6){Dom.removeClass(me.element,"drag");}
me.dragEvent.fire("endDrag",arguments);me.moveEvent.fire(me.cfg.getProperty("xy"));};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}},buildMask:function(){var oMask=this.mask;if(!oMask){if(!m_oMaskTemplate){m_oMaskTemplate=document.createElement("div");m_oMaskTemplate.className="mask";m_oMaskTemplate.innerHTML="&#160;";}
oMask=m_oMaskTemplate.cloneNode(true);oMask.id=this.id+"_mask";document.body.insertBefore(oMask,document.body.firstChild);this.mask=oMask;this.stackMask();}},hideMask:function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();Dom.removeClass(document.body,"masked");}},showMask:function(){if(this.cfg.getProperty("modal")&&this.mask){Dom.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}},sizeMask:function(){if(this.mask){this.mask.style.height=Dom.getDocumentHeight()+"px";this.mask.style.width=Dom.getDocumentWidth()+"px";}},stackMask:function(){if(this.mask){var panelZ=Dom.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(panelZ)&&!isNaN(panelZ)){Dom.setStyle(this.mask,"zIndex",panelZ-1);}}},render:function(appendToNode){return Panel.superclass.render.call(this,appendToNode,this.innerElement);},destroy:function(){Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this.removeMask();if(this.close){Event.purgeElement(this.close);}
Panel.superclass.destroy.call(this);},toString:function(){return"Panel "+this.id;}});}());(function(){YAHOO.widget.Dialog=function(el,userConfig){YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);};var Event=YAHOO.util.Event,CustomEvent=YAHOO.util.CustomEvent,Dom=YAHOO.util.Dom,KeyListener=YAHOO.util.KeyListener,Connect=YAHOO.util.Connect,Dialog=YAHOO.widget.Dialog,Lang=YAHOO.lang,EVENT_TYPES={"BEFORE_SUBMIT":"beforeSubmit","SUBMIT":"submit","MANUAL_SUBMIT":"manualSubmit","ASYNC_SUBMIT":"asyncSubmit","FORM_SUBMIT":"formSubmit","CANCEL":"cancel"},DEFAULT_CONFIG={"POST_METHOD":{key:"postmethod",value:"async"},"BUTTONS":{key:"buttons",value:"none"}};Dialog.CSS_DIALOG="yui-dialog";function removeButtonEventHandlers(){var aButtons=this._aButtons,nButtons,oButton,i;if(Lang.isArray(aButtons)){nButtons=aButtons.length;if(nButtons>0){i=nButtons-1;do{oButton=aButtons[i];if(YAHOO.widget.Button&&oButton instanceof YAHOO.widget.Button){oButton.destroy();}
else if(oButton.tagName.toUpperCase()=="BUTTON"){Event.purgeElement(oButton);Event.purgeElement(oButton,false);}}
while(i--);}}}
YAHOO.extend(Dialog,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){Dialog.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty(DEFAULT_CONFIG.POST_METHOD.key,{handler:this.configPostMethod,value:DEFAULT_CONFIG.POST_METHOD.value,validator:function(val){if(val!="form"&&val!="async"&&val!="none"&&val!="manual"){return false;}else{return true;}}});this.cfg.addProperty(DEFAULT_CONFIG.BUTTONS.key,{handler:this.configButtons,value:DEFAULT_CONFIG.BUTTONS.value});},initEvents:function(){Dialog.superclass.initEvents.call(this);var SIGNATURE=CustomEvent.LIST;this.beforeSubmitEvent=this.createEvent(EVENT_TYPES.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=SIGNATURE;this.submitEvent=this.createEvent(EVENT_TYPES.SUBMIT);this.submitEvent.signature=SIGNATURE;this.manualSubmitEvent=this.createEvent(EVENT_TYPES.MANUAL_SUBMIT);this.manualSubmitEvent.signature=SIGNATURE;this.asyncSubmitEvent=this.createEvent(EVENT_TYPES.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=SIGNATURE;this.formSubmitEvent=this.createEvent(EVENT_TYPES.FORM_SUBMIT);this.formSubmitEvent.signature=SIGNATURE;this.cancelEvent=this.createEvent(EVENT_TYPES.CANCEL);this.cancelEvent.signature=SIGNATURE;},init:function(el,userConfig){Dialog.superclass.init.call(this,el);this.beforeInitEvent.fire(Dialog);Dom.addClass(this.element,Dialog.CSS_DIALOG);this.cfg.setProperty("visible",false);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(Dialog);},doSubmit:function(){var oForm=this.form,bUseFileUpload=false,bUseSecureFileUpload=false,aElements,nElements,i,sMethod;switch(this.cfg.getProperty("postmethod")){case"async":aElements=oForm.elements;nElements=aElements.length;if(nElements>0){i=nElements-1;do{if(aElements[i].type=="file"){bUseFileUpload=true;break;}}
while(i--);}
if(bUseFileUpload&&YAHOO.env.ua.ie&&this.isSecure){bUseSecureFileUpload=true;}
sMethod=(oForm.getAttribute("method")||"POST").toUpperCase();Connect.setForm(oForm,bUseFileUpload,bUseSecureFileUpload);Connect.asyncRequest(sMethod,oForm.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":oForm.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},registerForm:function(){var form=this.element.getElementsByTagName("form")[0],me=this,firstElement,lastElement;if(this.form){if(this.form==form&&Dom.isAncestor(this.element,this.form)){return;}else{Event.purgeElement(this.form);this.form=null;}}
if(!form){form=document.createElement("form");form.name="frm_"+this.id;this.body.appendChild(form);}
if(form){this.form=form;Event.on(form,"submit",function(e){Event.stopEvent(e);this.submit();this.form.blur();},this,true);this.firstFormElement=function(){var f,el,nElements=form.elements.length;for(f=0;f<nElements;f++){el=form.elements[f];if(el.focus&&!el.disabled&&el.type!="hidden"){return el;}}
return null;}();this.lastFormElement=function(){var f,el,nElements=form.elements.length;for(f=nElements-1;f>=0;f--){el=form.elements[f];if(el.focus&&!el.disabled&&el.type!="hidden"){return el;}}
return null;}();if(this.cfg.getProperty("modal")){firstElement=this.firstFormElement||this.firstButton;if(firstElement){this.preventBackTab=new KeyListener(firstElement,{shift:true,keys:9},{fn:me.focusLast,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}
lastElement=this.lastButton||this.lastFormElement;if(lastElement){this.preventTabOut=new KeyListener(lastElement,{shift:false,keys:9},{fn:me.focusFirst,scope:me,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}}},configClose:function(type,args,obj){var val=args[0];function doCancel(e,obj){obj.cancel();}
if(val){if(!this.close){this.close=document.createElement("div");Dom.addClass(this.close,"container-close");this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);Event.on(this.close,"click",doCancel,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}},configButtons:function(type,args,obj){var Button=YAHOO.widget.Button,aButtons=args[0],oInnerElement=this.innerElement,oButton,oButtonEl,oYUIButton,nButtons,oSpan,oFooter,i;removeButtonEventHandlers.call(this);this._aButtons=null;if(Lang.isArray(aButtons)){oSpan=document.createElement("span");oSpan.className="button-group";nButtons=aButtons.length;this._aButtons=[];for(i=0;i<nButtons;i++){oButton=aButtons[i];if(Button){oYUIButton=new Button({label:oButton.text,container:oSpan});oButtonEl=oYUIButton.get("element");if(oButton.isDefault){oYUIButton.addClass("default");this.defaultHtmlButton=oButtonEl;}
if(Lang.isFunction(oButton.handler)){oYUIButton.set("onclick",{fn:oButton.handler,obj:this,scope:this});}
else if(Lang.isObject(oButton.handler)&&Lang.isFunction(oButton.handler.fn)){oYUIButton.set("onclick",{fn:oButton.handler.fn,obj:((!Lang.isUndefined(oButton.handler.obj))?oButton.handler.obj:this),scope:(oButton.handler.scope||this)});}
this._aButtons[this._aButtons.length]=oYUIButton;}
else{oButtonEl=document.createElement("button");oButtonEl.setAttribute("type","button");if(oButton.isDefault){oButtonEl.className="default";this.defaultHtmlButton=oButtonEl;}
oButtonEl.innerHTML=oButton.text;if(Lang.isFunction(oButton.handler)){Event.on(oButtonEl,"click",oButton.handler,this,true);}
else if(Lang.isObject(oButton.handler)&&Lang.isFunction(oButton.handler.fn)){Event.on(oButtonEl,"click",oButton.handler.fn,((!Lang.isUndefined(oButton.handler.obj))?oButton.handler.obj:this),(oButton.handler.scope||this));}
oSpan.appendChild(oButtonEl);this._aButtons[this._aButtons.length]=oButtonEl;}
oButton.htmlButton=oButtonEl;if(i===0){this.firstButton=oButtonEl;}
if(i==(nButtons-1)){this.lastButton=oButtonEl;}}
this.setFooter(oSpan);oFooter=this.footer;if(Dom.inDocument(this.element)&&!Dom.isAncestor(oInnerElement,oFooter)){oInnerElement.appendChild(oFooter);}
this.buttonSpan=oSpan;}else{oSpan=this.buttonSpan;oFooter=this.footer;if(oSpan&&oFooter){oFooter.removeChild(oSpan);this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}
this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");},getButtons:function(){var aButtons=this._aButtons;if(aButtons){return aButtons;}},focusFirst:function(type,args,obj){var oElement=this.firstFormElement,oEvent;if(args){oEvent=args[1];if(oEvent){Event.stopEvent(oEvent);}}
if(oElement){try{oElement.focus();}
catch(oException){}}else{this.focusDefaultButton();}},focusLast:function(type,args,obj){var aButtons=this.cfg.getProperty("buttons"),oElement=this.lastFormElement,oEvent;if(args){oEvent=args[1];if(oEvent){Event.stopEvent(oEvent);}}
if(aButtons&&Lang.isArray(aButtons)){this.focusLastButton();}else{if(oElement){try{oElement.focus();}
catch(oException){}}}},focusDefaultButton:function(){var oElement=this.defaultHtmlButton;if(oElement){try{oElement.focus();}
catch(oException){}}},blurButtons:function(){var aButtons=this.cfg.getProperty("buttons"),nButtons,oButton,oElement,i;if(aButtons&&Lang.isArray(aButtons)){nButtons=aButtons.length;if(nButtons>0){i=(nButtons-1);do{oButton=aButtons[i];if(oButton){oElement=oButton.htmlButton;if(oElement){try{oElement.blur();}
catch(oException){}}}}
while(i--);}}},focusFirstButton:function(){var aButtons=this.cfg.getProperty("buttons"),oButton,oElement;if(aButtons&&Lang.isArray(aButtons)){oButton=aButtons[0];if(oButton){oElement=oButton.htmlButton;if(oElement){try{oElement.focus();}
catch(oException){}}}}},focusLastButton:function(){var aButtons=this.cfg.getProperty("buttons"),nButtons,oButton,oElement;if(aButtons&&Lang.isArray(aButtons)){nButtons=aButtons.length;if(nButtons>0){oButton=aButtons[(nButtons-1)];if(oButton){oElement=oButton.htmlButton;if(oElement){try{oElement.focus();}
catch(oException){}}}}}},configPostMethod:function(type,args,obj){this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var oForm=this.form,aElements,nTotalElements,oData,sName,oElement,nElements,sType,sTagName,aOptions,nOptions,aValues,oOption,sValue,oRadio,oCheckbox,i,n;function isFormElement(p_oElement){var sTag=p_oElement.tagName.toUpperCase();return((sTag=="INPUT"||sTag=="TEXTAREA"||sTag=="SELECT")&&p_oElement.name==sName);}
if(oForm){aElements=oForm.elements;nTotalElements=aElements.length;oData={};for(i=0;i<nTotalElements;i++){sName=aElements[i].name;oElement=Dom.getElementsBy(isFormElement,"*",oForm);nElements=oElement.length;if(nElements>0){if(nElements==1){oElement=oElement[0];sType=oElement.type;sTagName=oElement.tagName.toUpperCase();switch(sTagName){case"INPUT":if(sType=="checkbox"){oData[sName]=oElement.checked;}
else if(sType!="radio"){oData[sName]=oElement.value;}
break;case"TEXTAREA":oData[sName]=oElement.value;break;case"SELECT":aOptions=oElement.options;nOptions=aOptions.length;aValues=[];for(n=0;n<nOptions;n++){oOption=aOptions[n];if(oOption.selected){sValue=oOption.value;if(!sValue||sValue===""){sValue=oOption.text;}
aValues[aValues.length]=sValue;}}
oData[sName]=aValues;break;}}
else{sType=oElement[0].type;switch(sType){case"radio":for(n=0;n<nElements;n++){oRadio=oElement[n];if(oRadio.checked){oData[sName]=oRadio.value;break;}}
break;case"checkbox":aValues=[];for(n=0;n<nElements;n++){oCheckbox=oElement[n];if(oCheckbox.checked){aValues[aValues.length]=oCheckbox.value;}}
oData[sName]=aValues;break;}}}}}
return oData;},destroy:function(){removeButtonEventHandlers.call(this);this._aButtons=null;var aForms=this.element.getElementsByTagName("form"),oForm;if(aForms.length>0){oForm=aForms[0];if(oForm){Event.purgeElement(oForm);if(oForm.parentNode){oForm.parentNode.removeChild(oForm);}
this.form=null;}}
Dialog.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}());(function(){YAHOO.widget.SimpleDialog=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,el,userConfig);};var Dom=YAHOO.util.Dom,SimpleDialog=YAHOO.widget.SimpleDialog,DEFAULT_CONFIG={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};SimpleDialog.ICON_BLOCK="blckicon";SimpleDialog.ICON_ALARM="alrticon";SimpleDialog.ICON_HELP="hlpicon";SimpleDialog.ICON_INFO="infoicon";SimpleDialog.ICON_WARN="warnicon";SimpleDialog.ICON_TIP="tipicon";SimpleDialog.ICON_CSS_CLASSNAME="yui-icon";SimpleDialog.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(SimpleDialog,YAHOO.widget.Dialog,{initDefaultConfig:function(){SimpleDialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty(DEFAULT_CONFIG.ICON.key,{handler:this.configIcon,value:DEFAULT_CONFIG.ICON.value,suppressEvent:DEFAULT_CONFIG.ICON.suppressEvent});this.cfg.addProperty(DEFAULT_CONFIG.TEXT.key,{handler:this.configText,value:DEFAULT_CONFIG.TEXT.value,suppressEvent:DEFAULT_CONFIG.TEXT.suppressEvent,supercedes:DEFAULT_CONFIG.TEXT.supercedes});},init:function(el,userConfig){SimpleDialog.superclass.init.call(this,el);this.beforeInitEvent.fire(SimpleDialog);Dom.addClass(this.element,SimpleDialog.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(SimpleDialog);},registerForm:function(){SimpleDialog.superclass.registerForm.call(this);this.form.innerHTML+="<input type=\"hidden\" name=\""+
this.id+"\" value=\"\"/>";},configIcon:function(type,args,obj){var sIcon=args[0],oBody=this.body,sCSSClass=SimpleDialog.ICON_CSS_CLASSNAME,oIcon,oIconParent;if(sIcon&&sIcon!="none"){oIcon=Dom.getElementsByClassName(sCSSClass,"*",oBody);if(oIcon){oIconParent=oIcon.parentNode;if(oIconParent){oIconParent.removeChild(oIcon);oIcon=null;}}
if(sIcon.indexOf(".")==-1){oIcon=document.createElement("span");oIcon.className=(sCSSClass+" "+sIcon);oIcon.innerHTML="&#160;";}else{oIcon=document.createElement("img");oIcon.src=(this.imageRoot+sIcon);oIcon.className=sCSSClass;}
if(oIcon){oBody.insertBefore(oIcon,oBody.firstChild);}}},configText:function(type,args,obj){var text=args[0];if(text){this.setBody(text);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(overlay,attrIn,attrOut,targetElement,animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.animClass=animClass;};var Dom=YAHOO.util.Dom,CustomEvent=YAHOO.util.CustomEvent,Easing=YAHOO.util.Easing,ContainerEffect=YAHOO.widget.ContainerEffect;ContainerEffect.FADE=function(overlay,dur){var fin={attributes:{opacity:{from:0,to:1}},duration:dur,method:Easing.easeIn};var fout={attributes:{opacity:{to:0}},duration:dur,method:Easing.easeOut};var fade=new ContainerEffect(overlay,fin,fout,overlay.element);fade.handleUnderlayStart=function(){var underlay=this.overlay.underlay;if(underlay&&YAHOO.env.ua.ie){var hasFilters=(underlay.filters&&underlay.filters.length>0);if(hasFilters){Dom.addClass(overlay.element,"yui-effect-fade");}}};fade.handleUnderlayComplete=function(){var underlay=this.overlay.underlay;if(underlay&&YAHOO.env.ua.ie){Dom.removeClass(overlay.element,"yui-effect-fade");}};fade.handleStartAnimateIn=function(type,args,obj){Dom.addClass(obj.overlay.element,"hide-select");if(!obj.overlay.underlay){obj.overlay.cfg.refireEvent("underlay");}
obj.handleUnderlayStart();Dom.setStyle(obj.overlay.element,"visibility","visible");Dom.setStyle(obj.overlay.element,"opacity",0);};fade.handleCompleteAnimateIn=function(type,args,obj){Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
obj.handleUnderlayComplete();obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};fade.handleStartAnimateOut=function(type,args,obj){Dom.addClass(obj.overlay.element,"hide-select");obj.handleUnderlayStart();};fade.handleCompleteAnimateOut=function(type,args,obj){Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
Dom.setStyle(obj.overlay.element,"visibility","hidden");Dom.setStyle(obj.overlay.element,"opacity",1);obj.handleUnderlayComplete();obj.overlay.cfg.refireEvent("iframe");obj.animateOutCompleteEvent.fire();};fade.init();return fade;};ContainerEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||Dom.getX(overlay.element),y=overlay.cfg.getProperty("y")||Dom.getY(overlay.element),clientWidth=Dom.getClientWidth(),offsetWidth=overlay.element.offsetWidth,slide=new ContainerEffect(overlay,{attributes:{points:{to:[x,y]}},duration:dur,method:Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:Easing.easeOut},overlay.element,YAHOO.util.Motion);slide.handleStartAnimateIn=function(type,args,obj){obj.overlay.element.style.left=((-25)-offsetWidth)+"px";obj.overlay.element.style.top=y+"px";};slide.handleTweenAnimateIn=function(type,args,obj){var pos=Dom.getXY(obj.overlay.element),currentX=pos[0],currentY=pos[1];if(Dom.getStyle(obj.overlay.element,"visibility")=="hidden"&&currentX<x){Dom.setStyle(obj.overlay.element,"visibility","visible");}
obj.overlay.cfg.setProperty("xy",[currentX,currentY],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.startX=x;obj.startY=y;obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};slide.handleStartAnimateOut=function(type,args,obj){var vw=Dom.getViewportWidth(),pos=Dom.getXY(obj.overlay.element),yso=pos[1];obj.animOut.attributes.points.to=[(vw+25),yso];};slide.handleTweenAnimateOut=function(type,args,obj){var pos=Dom.getXY(obj.overlay.element),xto=pos[0],yto=pos[1];obj.overlay.cfg.setProperty("xy",[xto,yto],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateOut=function(type,args,obj){Dom.setStyle(obj.overlay.element,"visibility","hidden");obj.overlay.cfg.setProperty("xy",[x,y]);obj.animateOutCompleteEvent.fire();};slide.init();return slide;};ContainerEffect.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=CustomEvent.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=CustomEvent.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=CustomEvent.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=CustomEvent.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(type,args,obj){},handleTweenAnimateIn:function(type,args,obj){},handleCompleteAnimateIn:function(type,args,obj){},handleStartAnimateOut:function(type,args,obj){},handleTweenAnimateOut:function(type,args,obj){},handleCompleteAnimateOut:function(type,args,obj){},toString:function(){var output="ContainerEffect";if(this.overlay){output+=" ["+this.overlay.toString()+"]";}
return output;}};YAHOO.lang.augmentProto(ContainerEffect,YAHOO.util.EventProvider);})();YAHOO.register("container",YAHOO.widget.Module,{version:"2.4.1",build:"742"});(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event;YAHOO.widget.MenuManager=function(){var m_bInitializedEventHandlers=false,m_oMenus={},m_oVisibleMenus={},m_oItems={},m_oEventTypes={"click":"clickEvent","mousedown":"mouseDownEvent","mouseup":"mouseUpEvent","mouseover":"mouseOverEvent","mouseout":"mouseOutEvent","keydown":"keyDownEvent","keyup":"keyUpEvent","keypress":"keyPressEvent"},m_oFocusedMenuItem=null;function getMenuRootElement(p_oElement){var oParentNode;if(p_oElement&&p_oElement.tagName){switch(p_oElement.tagName.toUpperCase()){case"DIV":oParentNode=p_oElement.parentNode;if((Dom.hasClass(p_oElement,"hd")||Dom.hasClass(p_oElement,"bd")||Dom.hasClass(p_oElement,"ft"))&&oParentNode&&oParentNode.tagName&&oParentNode.tagName.toUpperCase()=="DIV")
{return oParentNode;}
else{return p_oElement;}
break;case"LI":return p_oElement;default:oParentNode=p_oElement.parentNode;if(oParentNode){return getMenuRootElement(oParentNode);}
break;}}}
function onDOMEvent(p_oEvent){var oTarget=Event.getTarget(p_oEvent),oElement=getMenuRootElement(oTarget),sCustomEventType,sTagName,sId,oMenuItem,oMenu;if(oElement){sTagName=oElement.tagName.toUpperCase();if(sTagName=="LI"){sId=oElement.id;if(sId&&m_oItems[sId]){oMenuItem=m_oItems[sId];oMenu=oMenuItem.parent;}}
else if(sTagName=="DIV"){if(oElement.id){oMenu=m_oMenus[oElement.id];}}}
if(oMenu){sCustomEventType=m_oEventTypes[p_oEvent.type];if(oMenuItem&&!oMenuItem.cfg.getProperty("disabled")){oMenuItem[sCustomEventType].fire(p_oEvent);if(p_oEvent.type=="keyup"||p_oEvent.type=="mousedown")
{if(m_oFocusedMenuItem!=oMenuItem){if(m_oFocusedMenuItem){m_oFocusedMenuItem.blurEvent.fire();}
oMenuItem.focusEvent.fire();}}}
oMenu[sCustomEventType].fire(p_oEvent,oMenuItem);}
else if(p_oEvent.type=="mousedown"){if(m_oFocusedMenuItem){m_oFocusedMenuItem.blurEvent.fire();m_oFocusedMenuItem=null;}
for(var i in m_oVisibleMenus){if(YAHOO.lang.hasOwnProperty(m_oVisibleMenus,i)){oMenu=m_oVisibleMenus[i];if(oMenu.cfg.getProperty("clicktohide")&&!(oMenu instanceof YAHOO.widget.MenuBar)&&oMenu.cfg.getProperty("position")=="dynamic"){oMenu.hide();}
else{oMenu.clearActiveItem(true);}}}}
else if(p_oEvent.type=="keyup"){if(m_oFocusedMenuItem){m_oFocusedMenuItem.blurEvent.fire();m_oFocusedMenuItem=null;}}}
function onMenuDestroy(p_sType,p_aArgs,p_oMenu){if(m_oMenus[p_oMenu.id]){this.removeMenu(p_oMenu);}}
function onMenuFocus(p_sType,p_aArgs){var oItem=p_aArgs[0];if(oItem){m_oFocusedMenuItem=oItem;}}
function onMenuBlur(p_sType,p_aArgs){m_oFocusedMenuItem=null;}
function onMenuVisibleConfigChange(p_sType,p_aArgs){var bVisible=p_aArgs[0],sId=this.id;if(bVisible){m_oVisibleMenus[sId]=this;}
else if(m_oVisibleMenus[sId]){delete m_oVisibleMenus[sId];}}
function onItemDestroy(p_sType,p_aArgs){removeItem(this);}
function removeItem(p_oMenuItem){var sId=p_oMenuItem.id;if(sId&&m_oItems[sId]){if(m_oFocusedMenuItem==p_oMenuItem){m_oFocusedMenuItem=null;}
delete m_oItems[sId];p_oMenuItem.destroyEvent.unsubscribe(onItemDestroy);}}
function onItemAdded(p_sType,p_aArgs){var oItem=p_aArgs[0],sId;if(oItem instanceof YAHOO.widget.MenuItem){sId=oItem.id;if(!m_oItems[sId]){m_oItems[sId]=oItem;oItem.destroyEvent.subscribe(onItemDestroy);}}}
return{addMenu:function(p_oMenu){var oDoc;if(p_oMenu instanceof YAHOO.widget.Menu&&p_oMenu.id&&!m_oMenus[p_oMenu.id]){m_oMenus[p_oMenu.id]=p_oMenu;if(!m_bInitializedEventHandlers){oDoc=document;Event.on(oDoc,"mouseover",onDOMEvent,this,true);Event.on(oDoc,"mouseout",onDOMEvent,this,true);Event.on(oDoc,"mousedown",onDOMEvent,this,true);Event.on(oDoc,"mouseup",onDOMEvent,this,true);Event.on(oDoc,"click",onDOMEvent,this,true);Event.on(oDoc,"keydown",onDOMEvent,this,true);Event.on(oDoc,"keyup",onDOMEvent,this,true);Event.on(oDoc,"keypress",onDOMEvent,this,true);m_bInitializedEventHandlers=true;}
p_oMenu.cfg.subscribeToConfigEvent("visible",onMenuVisibleConfigChange);p_oMenu.destroyEvent.subscribe(onMenuDestroy,p_oMenu,this);p_oMenu.itemAddedEvent.subscribe(onItemAdded);p_oMenu.focusEvent.subscribe(onMenuFocus);p_oMenu.blurEvent.subscribe(onMenuBlur);}},removeMenu:function(p_oMenu){var sId,aItems,i;if(p_oMenu){sId=p_oMenu.id;if(m_oMenus[sId]==p_oMenu){aItems=p_oMenu.getItems();if(aItems&&aItems.length>0){i=aItems.length-1;do{removeItem(aItems[i]);}
while(i--);}
delete m_oMenus[sId];if(m_oVisibleMenus[sId]==p_oMenu){delete m_oVisibleMenus[sId];}
if(p_oMenu.cfg){p_oMenu.cfg.unsubscribeFromConfigEvent("visible",onMenuVisibleConfigChange);}
p_oMenu.destroyEvent.unsubscribe(onMenuDestroy,p_oMenu);p_oMenu.itemAddedEvent.unsubscribe(onItemAdded);p_oMenu.focusEvent.unsubscribe(onMenuFocus);p_oMenu.blurEvent.unsubscribe(onMenuBlur);}}},hideVisible:function(){var oMenu;for(var i in m_oVisibleMenus){if(YAHOO.lang.hasOwnProperty(m_oVisibleMenus,i)){oMenu=m_oVisibleMenus[i];if(!(oMenu instanceof YAHOO.widget.MenuBar)&&oMenu.cfg.getProperty("position")=="dynamic"){oMenu.hide();}}}},getVisible:function(){return m_oVisibleMenus;},getMenus:function(){return m_oMenus;},getMenu:function(p_sId){var oMenu=m_oMenus[p_sId];if(oMenu){return oMenu;}},getMenuItem:function(p_sId){var oItem=m_oItems[p_sId];if(oItem){return oItem;}},getMenuItemGroup:function(p_sId){var oUL=Dom.get(p_sId),aItems,oNode,oItem,sId;if(oUL&&oUL.tagName&&oUL.tagName.toUpperCase()=="UL"){oNode=oUL.firstChild;if(oNode){aItems=[];do{sId=oNode.id;if(sId){oItem=this.getMenuItem(sId);if(oItem){aItems[aItems.length]=oItem;}}}
while((oNode=oNode.nextSibling));if(aItems.length>0){return aItems;}}}},getFocusedMenuItem:function(){return m_oFocusedMenuItem;},getFocusedMenu:function(){if(m_oFocusedMenuItem){return(m_oFocusedMenuItem.parent.getRoot());}},toString:function(){return"MenuManager";}};}();})();(function(){YAHOO.widget.Menu=function(p_oElement,p_oConfig){if(p_oConfig){this.parent=p_oConfig.parent;this.lazyLoad=p_oConfig.lazyLoad||p_oConfig.lazyload;this.itemData=p_oConfig.itemData||p_oConfig.itemdata;}
YAHOO.widget.Menu.superclass.constructor.call(this,p_oElement,p_oConfig);};function checkPosition(p_sPosition){if(typeof p_sPosition=="string"){return("dynamic,static".indexOf((p_sPosition.toLowerCase()))!=-1);}}
var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Module=YAHOO.widget.Module,Overlay=YAHOO.widget.Overlay,Menu=YAHOO.widget.Menu,MenuManager=YAHOO.widget.MenuManager,CustomEvent=YAHOO.util.CustomEvent,Lang=YAHOO.lang,UA=YAHOO.env.ua,m_oShadowTemplate,EVENT_TYPES={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","FOCUS":"focus","BLUR":"blur","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved"},DEFAULT_CONFIG={"VISIBLE":{key:"visible",value:false,validator:Lang.isBoolean},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:true,validator:Lang.isBoolean,supercedes:["iframe","x","y","xy"]},"POSITION":{key:"position",value:"dynamic",validator:checkPosition,supercedes:["visible","iframe"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","tr"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:true,validator:Lang.isBoolean,suppressEvent:true},"SHOW_DELAY":{key:"showdelay",value:250,validator:Lang.isNumber,suppressEvent:true},"HIDE_DELAY":{key:"hidedelay",value:0,validator:Lang.isNumber,suppressEvent:true},"SUBMENU_HIDE_DELAY":{key:"submenuhidedelay",value:250,validator:Lang.isNumber,suppressEvent:true},"CLICK_TO_HIDE":{key:"clicktohide",value:true,validator:Lang.isBoolean,suppressEvent:true},"CONTAINER":{key:"container",suppressEvent:true},"SCROLL_INCREMENT":{key:"scrollincrement",value:1,validator:Lang.isNumber,supercedes:["maxheight"],suppressEvent:true},"MIN_SCROLL_HEIGHT":{key:"minscrollheight",value:90,validator:Lang.isNumber,supercedes:["maxheight"],suppressEvent:true},"MAX_HEIGHT":{key:"maxheight",value:0,validator:Lang.isNumber,supercedes:["iframe"],suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:Lang.isString,suppressEvent:true},"DISABLED":{key:"disabled",value:false,validator:Lang.isBoolean,suppressEvent:true}};YAHOO.lang.extend(Menu,Overlay,{CSS_CLASS_NAME:"yuimenu",ITEM_TYPE:null,GROUP_TITLE_TAG_NAME:"h6",OFF_SCREEN_POSITION:[-10000,-10000],_nHideDelayId:null,_nShowDelayId:null,_nSubmenuHideDelayId:null,_nBodyScrollId:null,_bHideDelayEventHandlersAssigned:false,_bHandledMouseOverEvent:false,_bHandledMouseOutEvent:false,_aGroupTitleElements:null,_aItemGroups:null,_aListElements:null,_nCurrentMouseX:0,_bStopMouseEventHandlers:false,_sClassName:null,lazyLoad:false,itemData:null,activeItem:null,parent:null,srcElement:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,itemAddedEvent:null,itemRemovedEvent:null,init:function(p_oElement,p_oConfig){this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuItem;}
var oElement;if(typeof p_oElement=="string"){oElement=document.getElementById(p_oElement);}
else if(p_oElement.tagName){oElement=p_oElement;}
if(oElement&&oElement.tagName){switch(oElement.tagName.toUpperCase()){case"DIV":this.srcElement=oElement;if(!oElement.id){oElement.setAttribute("id",Dom.generateId());}
Menu.superclass.init.call(this,oElement);this.beforeInitEvent.fire(Menu);break;case"SELECT":this.srcElement=oElement;Menu.superclass.init.call(this,Dom.generateId());this.beforeInitEvent.fire(Menu);break;}}
else{Menu.superclass.init.call(this,p_oElement);this.beforeInitEvent.fire(Menu);}
if(this.element){Dom.addClass(this.element,this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit);this.beforeRenderEvent.subscribe(this._onBeforeRender);this.renderEvent.subscribe(this._onRender);this.renderEvent.subscribe(this.onRender);this.beforeShowEvent.subscribe(this._onBeforeShow);this.hideEvent.subscribe(this.positionOffScreen);this.showEvent.subscribe(this._onShow);this.beforeHideEvent.subscribe(this._onBeforeHide);this.mouseOverEvent.subscribe(this._onMouseOver);this.mouseOutEvent.subscribe(this._onMouseOut);this.clickEvent.subscribe(this._onClick);this.keyDownEvent.subscribe(this._onKeyDown);this.keyPressEvent.subscribe(this._onKeyPress);if(UA.gecko||UA.webkit){this.cfg.subscribeToConfigEvent("y",this._onYChange);}
if(p_oConfig){this.cfg.applyConfig(p_oConfig,true);}
MenuManager.addMenu(this);this.initEvent.fire(Menu);}},_initSubTree:function(){var oSrcElement=this.srcElement,sSrcElementTagName,nGroup,sGroupTitleTagName,oNode,aListElements,nListElements,i;if(oSrcElement){sSrcElementTagName=(oSrcElement.tagName&&oSrcElement.tagName.toUpperCase());if(sSrcElementTagName=="DIV"){oNode=this.body.firstChild;if(oNode){nGroup=0;sGroupTitleTagName=this.GROUP_TITLE_TAG_NAME.toUpperCase();do{if(oNode&&oNode.tagName){switch(oNode.tagName.toUpperCase()){case sGroupTitleTagName:this._aGroupTitleElements[nGroup]=oNode;break;case"UL":this._aListElements[nGroup]=oNode;this._aItemGroups[nGroup]=[];nGroup++;break;}}}
while((oNode=oNode.nextSibling));if(this._aListElements[0]){Dom.addClass(this._aListElements[0],"first-of-type");}}}
oNode=null;if(sSrcElementTagName){switch(sSrcElementTagName){case"DIV":aListElements=this._aListElements;nListElements=aListElements.length;if(nListElements>0){i=nListElements-1;do{oNode=aListElements[i].firstChild;if(oNode){do{if(oNode&&oNode.tagName&&oNode.tagName.toUpperCase()=="LI"){this.addItem(new this.ITEM_TYPE(oNode,{parent:this}),i);}}
while((oNode=oNode.nextSibling));}}
while(i--);}
break;case"SELECT":oNode=oSrcElement.firstChild;do{if(oNode&&oNode.tagName){switch(oNode.tagName.toUpperCase()){case"OPTGROUP":case"OPTION":this.addItem(new this.ITEM_TYPE(oNode,{parent:this}));break;}}}
while((oNode=oNode.nextSibling));break;}}}},_getFirstEnabledItem:function(){var aItems=this.getItems(),nItems=aItems.length,oItem;for(var i=0;i<nItems;i++){oItem=aItems[i];if(oItem&&!oItem.cfg.getProperty("disabled")&&oItem.element.style.display!="none"){return oItem;}}},_addItemToGroup:function(p_nGroupIndex,p_oItem,p_nItemIndex){var oItem,nGroupIndex,aGroup,oGroupItem,bAppend,oNextItemSibling,nItemIndex;function getNextItemSibling(p_aArray,p_nStartIndex){return(p_aArray[p_nStartIndex]||getNextItemSibling(p_aArray,(p_nStartIndex+1)));}
if(p_oItem instanceof this.ITEM_TYPE){oItem=p_oItem;oItem.parent=this;}
else if(typeof p_oItem=="string"){oItem=new this.ITEM_TYPE(p_oItem,{parent:this});}
else if(typeof p_oItem=="object"){p_oItem.parent=this;oItem=new this.ITEM_TYPE(p_oItem.text,p_oItem);}
if(oItem){if(oItem.cfg.getProperty("selected")){this.activeItem=oItem;}
nGroupIndex=typeof p_nGroupIndex=="number"?p_nGroupIndex:0;aGroup=this._getItemGroup(nGroupIndex);if(!aGroup){aGroup=this._createItemGroup(nGroupIndex);}
if(typeof p_nItemIndex=="number"){bAppend=(p_nItemIndex>=aGroup.length);if(aGroup[p_nItemIndex]){aGroup.splice(p_nItemIndex,0,oItem);}
else{aGroup[p_nItemIndex]=oItem;}
oGroupItem=aGroup[p_nItemIndex];if(oGroupItem){if(bAppend&&(!oGroupItem.element.parentNode||oGroupItem.element.parentNode.nodeType==11)){this._aListElements[nGroupIndex].appendChild(oGroupItem.element);}
else{oNextItemSibling=getNextItemSibling(aGroup,(p_nItemIndex+1));if(oNextItemSibling&&(!oGroupItem.element.parentNode||oGroupItem.element.parentNode.nodeType==11)){this._aListElements[nGroupIndex].insertBefore(oGroupItem.element,oNextItemSibling.element);}}
oGroupItem.parent=this;this._subscribeToItemEvents(oGroupItem);this._configureSubmenu(oGroupItem);this._updateItemProperties(nGroupIndex);this.itemAddedEvent.fire(oGroupItem);this.changeContentEvent.fire();return oGroupItem;}}
else{nItemIndex=aGroup.length;aGroup[nItemIndex]=oItem;oGroupItem=aGroup[nItemIndex];if(oGroupItem){if(!Dom.isAncestor(this._aListElements[nGroupIndex],oGroupItem.element)){this._aListElements[nGroupIndex].appendChild(oGroupItem.element);}
oGroupItem.element.setAttribute("groupindex",nGroupIndex);oGroupItem.element.setAttribute("index",nItemIndex);oGroupItem.parent=this;oGroupItem.index=nItemIndex;oGroupItem.groupIndex=nGroupIndex;this._subscribeToItemEvents(oGroupItem);this._configureSubmenu(oGroupItem);if(nItemIndex===0){Dom.addClass(oGroupItem.element,"first-of-type");}
this.itemAddedEvent.fire(oGroupItem);this.changeContentEvent.fire();return oGroupItem;}}}},_removeItemFromGroupByIndex:function(p_nGroupIndex,p_nItemIndex){var nGroupIndex=typeof p_nGroupIndex=="number"?p_nGroupIndex:0,aGroup=this._getItemGroup(nGroupIndex),aArray,oItem,oUL;if(aGroup){aArray=aGroup.splice(p_nItemIndex,1);oItem=aArray[0];if(oItem){this._updateItemProperties(nGroupIndex);if(aGroup.length===0){oUL=this._aListElements[nGroupIndex];if(this.body&&oUL){this.body.removeChild(oUL);}
this._aItemGroups.splice(nGroupIndex,1);this._aListElements.splice(nGroupIndex,1);oUL=this._aListElements[0];if(oUL){Dom.addClass(oUL,"first-of-type");}}
this.itemRemovedEvent.fire(oItem);this.changeContentEvent.fire();return oItem;}}},_removeItemFromGroupByValue:function(p_nGroupIndex,p_oItem){var aGroup=this._getItemGroup(p_nGroupIndex),nItems,nItemIndex,i;if(aGroup){nItems=aGroup.length;nItemIndex=-1;if(nItems>0){i=nItems-1;do{if(aGroup[i]==p_oItem){nItemIndex=i;break;}}
while(i--);if(nItemIndex>-1){return(this._removeItemFromGroupByIndex(p_nGroupIndex,nItemIndex));}}}},_updateItemProperties:function(p_nGroupIndex){var aGroup=this._getItemGroup(p_nGroupIndex),nItems=aGroup.length,oItem,oLI,i;if(nItems>0){i=nItems-1;do{oItem=aGroup[i];if(oItem){oLI=oItem.element;oItem.index=i;oItem.groupIndex=p_nGroupIndex;oLI.setAttribute("groupindex",p_nGroupIndex);oLI.setAttribute("index",i);Dom.removeClass(oLI,"first-of-type");}}
while(i--);if(oLI){Dom.addClass(oLI,"first-of-type");}}},_createItemGroup:function(p_nIndex){var oUL;if(!this._aItemGroups[p_nIndex]){this._aItemGroups[p_nIndex]=[];oUL=document.createElement("ul");this._aListElements[p_nIndex]=oUL;return this._aItemGroups[p_nIndex];}},_getItemGroup:function(p_nIndex){var nIndex=((typeof p_nIndex=="number")?p_nIndex:0);return this._aItemGroups[nIndex];},_configureSubmenu:function(p_oItem){var oSubmenu=p_oItem.cfg.getProperty("submenu");if(oSubmenu){this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,oSubmenu,true);this.renderEvent.subscribe(this._onParentMenuRender,oSubmenu,true);oSubmenu.beforeShowEvent.subscribe(this._onSubmenuBeforeShow);}},_subscribeToItemEvents:function(p_oItem){p_oItem.focusEvent.subscribe(this._onMenuItemFocus);p_oItem.blurEvent.subscribe(this._onMenuItemBlur);p_oItem.destroyEvent.subscribe(this._onMenuItemDestroy,p_oItem,this);p_oItem.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,p_oItem,this);},_onVisibleChange:function(p_sType,p_aArgs){var bVisible=p_aArgs[0];if(bVisible){Dom.addClass(this.element,"visible");}
else{Dom.removeClass(this.element,"visible");}},_cancelHideDelay:function(){var oRoot=this.getRoot();if(oRoot._nHideDelayId){window.clearTimeout(oRoot._nHideDelayId);}},_execHideDelay:function(){this._cancelHideDelay();var oRoot=this.getRoot(),me=this;function hideMenu(){if(oRoot.activeItem){oRoot.clearActiveItem();}
if(oRoot==me&&!(me instanceof YAHOO.widget.MenuBar)&&me.cfg.getProperty("position")=="dynamic"){me.hide();}}
oRoot._nHideDelayId=window.setTimeout(hideMenu,oRoot.cfg.getProperty("hidedelay"));},_cancelShowDelay:function(){var oRoot=this.getRoot();if(oRoot._nShowDelayId){window.clearTimeout(oRoot._nShowDelayId);}},_execShowDelay:function(p_oMenu){var oRoot=this.getRoot();function showMenu(){if(p_oMenu.parent.cfg.getProperty("selected")){p_oMenu.show();}}
oRoot._nShowDelayId=window.setTimeout(showMenu,oRoot.cfg.getProperty("showdelay"));},_execSubmenuHideDelay:function(p_oSubmenu,p_nMouseX,p_nHideDelay){var me=this;p_oSubmenu._nSubmenuHideDelayId=window.setTimeout(function(){if(me._nCurrentMouseX>(p_nMouseX+10)){p_oSubmenu._nSubmenuHideDelayId=window.setTimeout(function(){p_oSubmenu.hide();},p_nHideDelay);}
else{p_oSubmenu.hide();}},50);},_disableScrollHeader:function(){if(!this._bHeaderDisabled){Dom.addClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=true;}},_disableScrollFooter:function(){if(!this._bFooterDisabled){Dom.addClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=true;}},_enableScrollHeader:function(){if(this._bHeaderDisabled){Dom.removeClass(this.header,"topscrollbar_disabled");this._bHeaderDisabled=false;}},_enableScrollFooter:function(){if(this._bFooterDisabled){Dom.removeClass(this.footer,"bottomscrollbar_disabled");this._bFooterDisabled=false;}},_onMouseOver:function(p_sType,p_aArgs){if(this._bStopMouseEventHandlers){return false;}
var oEvent=p_aArgs[0],oItem=p_aArgs[1],oTarget=Event.getTarget(oEvent),oParentMenu,nShowDelay,bShowDelay,oActiveItem,oItemCfg,oSubmenu;if(!this._bHandledMouseOverEvent&&(oTarget==this.element||Dom.isAncestor(this.element,oTarget))){this._nCurrentMouseX=0;Event.on(this.element,"mousemove",this._onMouseMove,this,true);this.clearActiveItem();if(this.parent&&this._nSubmenuHideDelayId){window.clearTimeout(this._nSubmenuHideDelayId);this.parent.cfg.setProperty("selected",true);oParentMenu=this.parent.parent;oParentMenu._bHandledMouseOutEvent=true;oParentMenu._bHandledMouseOverEvent=false;}
this._bHandledMouseOverEvent=true;this._bHandledMouseOutEvent=false;}
if(oItem&&!oItem.handledMouseOverEvent&&!oItem.cfg.getProperty("disabled")&&(oTarget==oItem.element||Dom.isAncestor(oItem.element,oTarget))){nShowDelay=this.cfg.getProperty("showdelay");bShowDelay=(nShowDelay>0);if(bShowDelay){this._cancelShowDelay();}
oActiveItem=this.activeItem;if(oActiveItem){oActiveItem.cfg.setProperty("selected",false);}
oItemCfg=oItem.cfg;oItemCfg.setProperty("selected",true);if(this.hasFocus()){oItem.focus();}
if(this.cfg.getProperty("autosubmenudisplay")){oSubmenu=oItemCfg.getProperty("submenu");if(oSubmenu){if(bShowDelay){this._execShowDelay(oSubmenu);}
else{oSubmenu.show();}}}
oItem.handledMouseOverEvent=true;oItem.handledMouseOutEvent=false;}},_onMouseOut:function(p_sType,p_aArgs){if(this._bStopMouseEventHandlers){return false;}
var oEvent=p_aArgs[0],oItem=p_aArgs[1],oRelatedTarget=Event.getRelatedTarget(oEvent),bMovingToSubmenu=false,oItemCfg,oSubmenu,nSubmenuHideDelay,nShowDelay;if(oItem&&!oItem.cfg.getProperty("disabled")){oItemCfg=oItem.cfg;oSubmenu=oItemCfg.getProperty("submenu");if(oSubmenu&&(oRelatedTarget==oSubmenu.element||Dom.isAncestor(oSubmenu.element,oRelatedTarget))){bMovingToSubmenu=true;}
if(!oItem.handledMouseOutEvent&&((oRelatedTarget!=oItem.element&&!Dom.isAncestor(oItem.element,oRelatedTarget))||bMovingToSubmenu)){if(!bMovingToSubmenu){oItem.cfg.setProperty("selected",false);if(oSubmenu){nSubmenuHideDelay=this.cfg.getProperty("submenuhidedelay");nShowDelay=this.cfg.getProperty("showdelay");if(!(this instanceof YAHOO.widget.MenuBar)&&nSubmenuHideDelay>0&&nShowDelay>=nSubmenuHideDelay){this._execSubmenuHideDelay(oSubmenu,Event.getPageX(oEvent),nSubmenuHideDelay);}
else{oSubmenu.hide();}}}
oItem.handledMouseOutEvent=true;oItem.handledMouseOverEvent=false;}}
if(!this._bHandledMouseOutEvent&&((oRelatedTarget!=this.element&&!Dom.isAncestor(this.element,oRelatedTarget))||bMovingToSubmenu)){Event.removeListener(this.element,"mousemove",this._onMouseMove);this._nCurrentMouseX=Event.getPageX(oEvent);this._bHandledMouseOutEvent=true;this._bHandledMouseOverEvent=false;}},_onMouseMove:function(p_oEvent,p_oMenu){if(this._bStopMouseEventHandlers){return false;}
this._nCurrentMouseX=Event.getPageX(p_oEvent);},_onClick:function(p_sType,p_aArgs){var oEvent=p_aArgs[0],oItem=p_aArgs[1],oSubmenu,bInMenuAnchor=false,oRoot,sId,sURL,nHashPos,nLen;if(oItem&&!oItem.cfg.getProperty("disabled")){oSubmenu=oItem.cfg.getProperty("submenu");sURL=oItem.cfg.getProperty("url");if(sURL){nHashPos=sURL.indexOf("#");nLen=sURL.length;if(nHashPos!=-1){sURL=sURL.substr(nHashPos,nLen);nLen=sURL.length;if(nLen>1){sId=sURL.substr(1,nLen);bInMenuAnchor=Dom.isAncestor(this.element,sId);}
else if(nLen===1){bInMenuAnchor=true;}}}
if(bInMenuAnchor&&!oItem.cfg.getProperty("target")){Event.preventDefault(oEvent);oItem.focus();}
if(!oSubmenu){oRoot=this.getRoot();if(oRoot instanceof YAHOO.widget.MenuBar||oRoot.cfg.getProperty("position")=="static"){oRoot.clearActiveItem();}
else{oRoot.hide();}}}},_onKeyDown:function(p_sType,p_aArgs){var oEvent=p_aArgs[0],oItem=p_aArgs[1],me=this,oSubmenu,oItemCfg,oParentItem,oRoot,oNextItem,oBody,nBodyScrollTop,nBodyOffsetHeight,aItems,nItems,nNextItemOffsetTop,nScrollTarget,oParentMenu;function stopMouseEventHandlers(){me._bStopMouseEventHandlers=true;window.setTimeout(function(){me._bStopMouseEventHandlers=false;},10);}
if(oItem&&!oItem.cfg.getProperty("disabled")){oItemCfg=oItem.cfg;oParentItem=this.parent;switch(oEvent.keyCode){case 38:case 40:oNextItem=(oEvent.keyCode==38)?oItem.getPreviousEnabledSibling():oItem.getNextEnabledSibling();if(oNextItem){this.clearActiveItem();oNextItem.cfg.setProperty("selected",true);oNextItem.focus();if(this.cfg.getProperty("maxheight")>0){oBody=this.body;nBodyScrollTop=oBody.scrollTop;nBodyOffsetHeight=oBody.offsetHeight;aItems=this.getItems();nItems=aItems.length-1;nNextItemOffsetTop=oNextItem.element.offsetTop;if(oEvent.keyCode==40){if(nNextItemOffsetTop>=(nBodyOffsetHeight+nBodyScrollTop)){oBody.scrollTop=nNextItemOffsetTop-nBodyOffsetHeight;}
else if(nNextItemOffsetTop<=nBodyScrollTop){oBody.scrollTop=0;}
if(oNextItem==aItems[nItems]){oBody.scrollTop=oNextItem.element.offsetTop;}}
else{if(nNextItemOffsetTop<=nBodyScrollTop){oBody.scrollTop=nNextItemOffsetTop-oNextItem.element.offsetHeight;}
else if(nNextItemOffsetTop>=(nBodyScrollTop+nBodyOffsetHeight)){oBody.scrollTop=nNextItemOffsetTop;}
if(oNextItem==aItems[0]){oBody.scrollTop=0;}}
nBodyScrollTop=oBody.scrollTop;nScrollTarget=oBody.scrollHeight-oBody.offsetHeight;if(nBodyScrollTop===0){this._disableScrollHeader();this._enableScrollFooter();}
else if(nBodyScrollTop==nScrollTarget){this._enableScrollHeader();this._disableScrollFooter();}
else{this._enableScrollHeader();this._enableScrollFooter();}}}
Event.preventDefault(oEvent);stopMouseEventHandlers();break;case 39:oSubmenu=oItemCfg.getProperty("submenu");if(oSubmenu){if(!oItemCfg.getProperty("selected")){oItemCfg.setProperty("selected",true);}
oSubmenu.show();oSubmenu.setInitialFocus();oSubmenu.setInitialSelection();}
else{oRoot=this.getRoot();if(oRoot instanceof YAHOO.widget.MenuBar){oNextItem=oRoot.activeItem.getNextEnabledSibling();if(oNextItem){oRoot.clearActiveItem();oNextItem.cfg.setProperty("selected",true);oSubmenu=oNextItem.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.show();}
oNextItem.focus();}}}
Event.preventDefault(oEvent);stopMouseEventHandlers();break;case 37:if(oParentItem){oParentMenu=oParentItem.parent;if(oParentMenu instanceof YAHOO.widget.MenuBar){oNextItem=oParentMenu.activeItem.getPreviousEnabledSibling();if(oNextItem){oParentMenu.clearActiveItem();oNextItem.cfg.setProperty("selected",true);oSubmenu=oNextItem.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.show();}
oNextItem.focus();}}
else{this.hide();oParentItem.focus();}}
Event.preventDefault(oEvent);stopMouseEventHandlers();break;}}
if(oEvent.keyCode==27){if(this.cfg.getProperty("position")=="dynamic"){this.hide();if(this.parent){this.parent.focus();}}
else if(this.activeItem){oSubmenu=this.activeItem.cfg.getProperty("submenu");if(oSubmenu&&oSubmenu.cfg.getProperty("visible")){oSubmenu.hide();this.activeItem.focus();}
else{this.activeItem.blur();this.activeItem.cfg.setProperty("selected",false);}}
Event.preventDefault(oEvent);}},_onKeyPress:function(p_sType,p_aArgs){var oEvent=p_aArgs[0];if(oEvent.keyCode==40||oEvent.keyCode==38){Event.preventDefault(oEvent);}},_onYChange:function(p_sType,p_aArgs){var oParent=this.parent,nScrollTop,oIFrame,nY;if(oParent){nScrollTop=oParent.parent.body.scrollTop;if(nScrollTop>0){nY=(this.cfg.getProperty("y")-nScrollTop);Dom.setY(this.element,nY);oIFrame=this.iframe;if(oIFrame){Dom.setY(oIFrame,nY);}
this.cfg.setProperty("y",nY,true);}}},_onScrollTargetMouseOver:function(p_oEvent,p_oMenu){this._cancelHideDelay();var oTarget=Event.getTarget(p_oEvent),oBody=this.body,me=this,nScrollIncrement=this.cfg.getProperty("scrollincrement"),nScrollTarget,fnScrollFunction;function scrollBodyDown(){var nScrollTop=oBody.scrollTop;if(nScrollTop<nScrollTarget){oBody.scrollTop=(nScrollTop+nScrollIncrement);me._enableScrollHeader();}
else{oBody.scrollTop=nScrollTarget;window.clearInterval(me._nBodyScrollId);me._disableScrollFooter();}}
function scrollBodyUp(){var nScrollTop=oBody.scrollTop;if(nScrollTop>0){oBody.scrollTop=(nScrollTop-nScrollIncrement);me._enableScrollFooter();}
else{oBody.scrollTop=0;window.clearInterval(me._nBodyScrollId);me._disableScrollHeader();}}
if(Dom.hasClass(oTarget,"hd")){fnScrollFunction=scrollBodyUp;}
else{nScrollTarget=oBody.scrollHeight-oBody.offsetHeight;fnScrollFunction=scrollBodyDown;}
this._nBodyScrollId=window.setInterval(fnScrollFunction,10);},_onScrollTargetMouseOut:function(p_oEvent,p_oMenu){window.clearInterval(this._nBodyScrollId);this._cancelHideDelay();},_onInit:function(p_sType,p_aArgs){this.cfg.subscribeToConfigEvent("visible",this._onVisibleChange);var bRootMenu=!this.parent,bLazyLoad=this.lazyLoad;if(((bRootMenu&&!bLazyLoad)||(bRootMenu&&(this.cfg.getProperty("visible")||this.cfg.getProperty("position")=="static"))||(!bRootMenu&&!bLazyLoad))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}
if(this.itemData){this.addItems(this.itemData);}}
else if(bLazyLoad){this.cfg.fireQueue();}},_onBeforeRender:function(p_sType,p_aArgs){var oEl=this.element,nListElements=this._aListElements.length,bFirstList=true,i=0,oUL,oGroupTitle;if(nListElements>0){do{oUL=this._aListElements[i];if(oUL){if(bFirstList){Dom.addClass(oUL,"first-of-type");bFirstList=false;}
if(!Dom.isAncestor(oEl,oUL)){this.appendToBody(oUL);}
oGroupTitle=this._aGroupTitleElements[i];if(oGroupTitle){if(!Dom.isAncestor(oEl,oGroupTitle)){oUL.parentNode.insertBefore(oGroupTitle,oUL);}
Dom.addClass(oUL,"hastitle");}}
i++;}
while(i<nListElements);}},_onRender:function(p_sType,p_aArgs){if(this.cfg.getProperty("position")=="dynamic"){if(!this.cfg.getProperty("visible")){this.positionOffScreen();}}},_onBeforeShow:function(p_sType,p_aArgs){var nOptions,n,nViewportHeight,oRegion,oSrcElement;if(this.lazyLoad&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}
if(this.itemData){if(this.parent&&this.parent.parent&&this.parent.parent.srcElement&&this.parent.parent.srcElement.tagName.toUpperCase()=="SELECT"){nOptions=this.itemData.length;for(n=0;n<nOptions;n++){if(this.itemData[n].tagName){this.addItem((new this.ITEM_TYPE(this.itemData[n])));}}}
else{this.addItems(this.itemData);}}
oSrcElement=this.srcElement;if(oSrcElement){if(oSrcElement.tagName.toUpperCase()=="SELECT"){if(Dom.inDocument(oSrcElement)){this.render(oSrcElement.parentNode);}
else{this.render(this.cfg.getProperty("container"));}}
else{this.render();}}
else{if(this.parent){this.render(this.parent.element);}
else{this.render(this.cfg.getProperty("container"));}}}
var nMaxHeight=this.cfg.getProperty("maxheight"),nMinScrollHeight=this.cfg.getProperty("minscrollheight"),bDynamicPos=this.cfg.getProperty("position")=="dynamic";if(!this.parent&&bDynamicPos){this.cfg.refireEvent("xy");}
function clearMaxHeight(){this.cfg.setProperty("maxheight",0);this.hideEvent.unsubscribe(clearMaxHeight);}
if(!(this instanceof YAHOO.widget.MenuBar)&&bDynamicPos){if(nMaxHeight===0){nViewportHeight=Dom.getViewportHeight();if(this.parent&&this.parent.parent instanceof YAHOO.widget.MenuBar){oRegion=YAHOO.util.Region.getRegion(this.parent.element);nViewportHeight=(nViewportHeight-oRegion.bottom);}
if(this.element.offsetHeight>=nViewportHeight){nMaxHeight=(nViewportHeight-(Overlay.VIEWPORT_OFFSET*2));if(nMaxHeight<nMinScrollHeight){nMaxHeight=nMinScrollHeight;}
this.cfg.setProperty("maxheight",nMaxHeight);this.hideEvent.subscribe(clearMaxHeight);}}}},_onShow:function(p_sType,p_aArgs){var oParent=this.parent,oParentMenu,aParentAlignment,aAlignment;function disableAutoSubmenuDisplay(p_oEvent){var oTarget;if(p_oEvent.type=="mousedown"||(p_oEvent.type=="keydown"&&p_oEvent.keyCode==27)){oTarget=Event.getTarget(p_oEvent);if(oTarget!=oParentMenu.element||!Dom.isAncestor(oParentMenu.element,oTarget)){oParentMenu.cfg.setProperty("autosubmenudisplay",false);Event.removeListener(document,"mousedown",disableAutoSubmenuDisplay);Event.removeListener(document,"keydown",disableAutoSubmenuDisplay);}}}
if(oParent){oParentMenu=oParent.parent;aParentAlignment=oParentMenu.cfg.getProperty("submenualignment");aAlignment=this.cfg.getProperty("submenualignment");if((aParentAlignment[0]!=aAlignment[0])&&(aParentAlignment[1]!=aAlignment[1])){this.cfg.setProperty("submenualignment",[aParentAlignment[0],aParentAlignment[1]]);}
if(!oParentMenu.cfg.getProperty("autosubmenudisplay")&&(oParentMenu instanceof YAHOO.widget.MenuBar||oParentMenu.cfg.getProperty("position")=="static")){oParentMenu.cfg.setProperty("autosubmenudisplay",true);Event.on(document,"mousedown",disableAutoSubmenuDisplay);Event.on(document,"keydown",disableAutoSubmenuDisplay);}}},_onBeforeHide:function(p_sType,p_aArgs){var oActiveItem=this.activeItem,oConfig,oSubmenu;if(oActiveItem){oConfig=oActiveItem.cfg;oConfig.setProperty("selected",false);oSubmenu=oConfig.getProperty("submenu");if(oSubmenu){oSubmenu.hide();}}
if(this.getRoot()==this){this.blur();}},_onParentMenuConfigChange:function(p_sType,p_aArgs,p_oSubmenu){var sPropertyName=p_aArgs[0][0],oPropertyValue=p_aArgs[0][1];switch(sPropertyName){case"iframe":case"constraintoviewport":case"hidedelay":case"showdelay":case"submenuhidedelay":case"clicktohide":case"effect":case"classname":case"scrollincrement":case"minscrollheight":p_oSubmenu.cfg.setProperty(sPropertyName,oPropertyValue);break;}},_onParentMenuRender:function(p_sType,p_aArgs,p_oSubmenu){var oParentCfg=p_oSubmenu.parent.parent.cfg,oConfig={constraintoviewport:oParentCfg.getProperty("constraintoviewport"),xy:[0,0],clicktohide:oParentCfg.getProperty("clicktohide"),effect:oParentCfg.getProperty("effect"),showdelay:oParentCfg.getProperty("showdelay"),hidedelay:oParentCfg.getProperty("hidedelay"),submenuhidedelay:oParentCfg.getProperty("submenuhidedelay"),classname:oParentCfg.getProperty("classname"),scrollincrement:oParentCfg.getProperty("scrollincrement"),minscrollheight:oParentCfg.getProperty("minscrollheight"),iframe:oParentCfg.getProperty("iframe")},oLI;p_oSubmenu.cfg.applyConfig(oConfig);if(!this.lazyLoad){oLI=this.parent.element;if(this.element.parentNode==oLI){this.render();}
else{this.render(oLI);}}},_onSubmenuBeforeShow:function(p_sType,p_aArgs){var oParent=this.parent,aAlignment=oParent.parent.cfg.getProperty("submenualignment");if(!this.cfg.getProperty("context")){this.cfg.setProperty("context",[oParent.element,aAlignment[0],aAlignment[1]]);}
else{this.align();}},_onMenuItemFocus:function(p_sType,p_aArgs){this.parent.focusEvent.fire(this);},_onMenuItemBlur:function(p_sType,p_aArgs){this.parent.blurEvent.fire(this);},_onMenuItemDestroy:function(p_sType,p_aArgs,p_oItem){this._removeItemFromGroupByValue(p_oItem.groupIndex,p_oItem);},_onMenuItemConfigChange:function(p_sType,p_aArgs,p_oItem){var sPropertyName=p_aArgs[0][0],oPropertyValue=p_aArgs[0][1],oSubmenu;switch(sPropertyName){case"selected":if(oPropertyValue===true){this.activeItem=p_oItem;}
break;case"submenu":oSubmenu=p_aArgs[0][1];if(oSubmenu){this._configureSubmenu(p_oItem);}
break;}},enforceConstraints:function(type,args,obj){var oParentMenuItem=this.parent,nViewportOffset=Overlay.VIEWPORT_OFFSET,oElement=this.element,oConfig=this.cfg,pos=args[0],offsetHeight=oElement.offsetHeight,offsetWidth=oElement.offsetWidth,viewPortWidth=Dom.getViewportWidth(),viewPortHeight=Dom.getViewportHeight(),nPadding=(oParentMenuItem&&oParentMenuItem.parent instanceof YAHOO.widget.MenuBar)?0:nViewportOffset,aContext=oConfig.getProperty("context"),oContextElement=aContext?aContext[0]:null,topConstraint,leftConstraint,bottomConstraint,rightConstraint,scrollX,scrollY,x,y;if(offsetWidth<viewPortWidth){x=pos[0];scrollX=Dom.getDocumentScrollLeft();leftConstraint=scrollX+nPadding;rightConstraint=scrollX+viewPortWidth-offsetWidth-nPadding;if(x<nViewportOffset){x=leftConstraint;}else if((x+offsetWidth)>viewPortWidth){if(oContextElement&&((x-oContextElement.offsetWidth)>offsetWidth)){if(oParentMenuItem&&oParentMenuItem.parent instanceof YAHOO.widget.MenuBar){x=(x-(offsetWidth-oContextElement.offsetWidth));}
else{x=(x-(oContextElement.offsetWidth+offsetWidth));}}
else{x=rightConstraint;}}}
if(offsetHeight<viewPortHeight){y=pos[1];scrollY=Dom.getDocumentScrollTop();topConstraint=scrollY+nPadding;bottomConstraint=scrollY+viewPortHeight-offsetHeight-nPadding;if(y<nViewportOffset){y=topConstraint;}else if(y>bottomConstraint){if(oContextElement&&(y>offsetHeight)){y=((y+oContextElement.offsetHeight)-offsetHeight);}
else{y=bottomConstraint;}}}
oConfig.setProperty("x",x,true);oConfig.setProperty("y",y,true);oConfig.setProperty("xy",[x,y],true);},configVisible:function(p_sType,p_aArgs,p_oMenu){var bVisible,sDisplay;if(this.cfg.getProperty("position")=="dynamic"){Menu.superclass.configVisible.call(this,p_sType,p_aArgs,p_oMenu);}
else{bVisible=p_aArgs[0];sDisplay=Dom.getStyle(this.element,"display");Dom.setStyle(this.element,"visibility","visible");if(bVisible){if(sDisplay!="block"){this.beforeShowEvent.fire();Dom.setStyle(this.element,"display","block");this.showEvent.fire();}}
else{if(sDisplay=="block"){this.beforeHideEvent.fire();Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}}}},configPosition:function(p_sType,p_aArgs,p_oMenu){var oElement=this.element,sCSSPosition=p_aArgs[0]=="static"?"static":"absolute",oCfg=this.cfg,nZIndex;Dom.setStyle(oElement,"position",sCSSPosition);if(sCSSPosition=="static"){Dom.setStyle(oElement,"display","block");oCfg.setProperty("visible",true);}
else{Dom.setStyle(oElement,"visibility","hidden");}
if(sCSSPosition=="absolute"){nZIndex=oCfg.getProperty("zindex");if(!nZIndex||nZIndex===0){nZIndex=this.parent?(this.parent.parent.cfg.getProperty("zindex")+1):1;oCfg.setProperty("zindex",nZIndex);}}},configIframe:function(p_sType,p_aArgs,p_oMenu){if(this.cfg.getProperty("position")=="dynamic"){Menu.superclass.configIframe.call(this,p_sType,p_aArgs,p_oMenu);}},configHideDelay:function(p_sType,p_aArgs,p_oMenu){var nHideDelay=p_aArgs[0],oMouseOutEvent=this.mouseOutEvent,oMouseOverEvent=this.mouseOverEvent,oKeyDownEvent=this.keyDownEvent;if(nHideDelay>0){if(!this._bHideDelayEventHandlersAssigned){oMouseOutEvent.subscribe(this._execHideDelay);oMouseOverEvent.subscribe(this._cancelHideDelay);oKeyDownEvent.subscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=true;}}
else{oMouseOutEvent.unsubscribe(this._execHideDelay);oMouseOverEvent.unsubscribe(this._cancelHideDelay);oKeyDownEvent.unsubscribe(this._cancelHideDelay);this._bHideDelayEventHandlersAssigned=false;}},configContainer:function(p_sType,p_aArgs,p_oMenu){var oElement=p_aArgs[0];if(typeof oElement=='string'){this.cfg.setProperty("container",document.getElementById(oElement),true);}},_setMaxHeight:function(p_sType,p_aArgs,p_nMaxHeight){this.cfg.setProperty("maxheight",p_nMaxHeight);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight:function(p_sType,p_aArgs,p_oMenu){var nMaxHeight=p_aArgs[0],oElement=this.element,oBody=this.body,oHeader=this.header,oFooter=this.footer,fnMouseOver=this._onScrollTargetMouseOver,fnMouseOut=this._onScrollTargetMouseOut,nMinScrollHeight=this.cfg.getProperty("minscrollheight"),nHeight,nOffsetWidth;if(nMaxHeight!==0&&nMaxHeight<nMinScrollHeight){nMaxHeight=nMinScrollHeight;}
if(this.lazyLoad&&!oBody){this.renderEvent.unsubscribe(this._setMaxHeight);if(nMaxHeight>0){this.renderEvent.subscribe(this._setMaxHeight,nMaxHeight,this);}
return;}
Dom.setStyle(oBody,"height","");Dom.removeClass(oBody,"yui-menu-body-scrolled");if(UA.gecko&&this.parent&&this.parent.parent&&this.parent.parent.cfg.getProperty("position")=="dynamic"&&!this.cfg.getProperty("width")){nOffsetWidth=oElement.offsetWidth;oElement.style.width=nOffsetWidth+"px";oElement.style.width=(nOffsetWidth-(oElement.offsetWidth-nOffsetWidth))+"px";}
if(!oHeader&&!oFooter){this.setHeader("&#32;");this.setFooter("&#32;");oHeader=this.header;oFooter=this.footer;Dom.addClass(oHeader,"topscrollbar");Dom.addClass(oFooter,"bottomscrollbar");oElement.insertBefore(oHeader,oBody);oElement.appendChild(oFooter);}
nHeight=(nMaxHeight-(oHeader.offsetHeight+oHeader.offsetHeight));if(nHeight>0&&(oBody.offsetHeight>nMaxHeight)){Dom.addClass(oBody,"yui-menu-body-scrolled");Dom.setStyle(oBody,"height",(nHeight+"px"));Event.on(oHeader,"mouseover",fnMouseOver,this,true);Event.on(oHeader,"mouseout",fnMouseOut,this,true);Event.on(oFooter,"mouseover",fnMouseOver,this,true);Event.on(oFooter,"mouseout",fnMouseOut,this,true);this._disableScrollHeader();this._enableScrollFooter();}
else if(oHeader&&oFooter){this._enableScrollHeader();this._enableScrollFooter();Event.removeListener(oHeader,"mouseover",fnMouseOver);Event.removeListener(oHeader,"mouseout",fnMouseOut);Event.removeListener(oFooter,"mouseover",fnMouseOver);Event.removeListener(oFooter,"mouseout",fnMouseOut);oElement.removeChild(oHeader);oElement.removeChild(oFooter);this.header=null;this.footer=null;}
this.cfg.refireEvent("iframe");},configClassName:function(p_sType,p_aArgs,p_oMenu){var sClassName=p_aArgs[0];if(this._sClassName){Dom.removeClass(this.element,this._sClassName);}
Dom.addClass(this.element,sClassName);this._sClassName=sClassName;},_onItemAdded:function(p_sType,p_aArgs){var oItem=p_aArgs[0];if(oItem){oItem.cfg.setProperty("disabled",true);}},configDisabled:function(p_sType,p_aArgs,p_oMenu){var bDisabled=p_aArgs[0],aItems=this.getItems(),nItems,i;if(Lang.isArray(aItems)){nItems=aItems.length;if(nItems>0){i=nItems-1;do{aItems[i].cfg.setProperty("disabled",bDisabled);}
while(i--);}
if(bDisabled){this.clearActiveItem(true);Dom.addClass(this.element,"disabled");this.itemAddedEvent.subscribe(this._onItemAdded);}
else{Dom.removeClass(this.element,"disabled");this.itemAddedEvent.unsubscribe(this._onItemAdded);}}},onRender:function(p_sType,p_aArgs){function sizeShadow(){var oElement=this.element,oShadow=this._shadow;if(oShadow&&oElement){oShadow.style.width=(oElement.offsetWidth+6)+"px";oShadow.style.height=(oElement.offsetHeight+1)+"px";}}
function replaceShadow(){this.element.appendChild(this._shadow);}
function addShadowVisibleClass(){Dom.addClass(this._shadow,"yui-menu-shadow-visible");}
function removeShadowVisibleClass(){Dom.removeClass(this._shadow,"yui-menu-shadow-visible");}
function createShadow(){var oShadow=this._shadow,oElement,me;if(!oShadow){oElement=this.element;me=this;if(!m_oShadowTemplate){m_oShadowTemplate=document.createElement("div");m_oShadowTemplate.className="yui-menu-shadow yui-menu-shadow-visible";}
oShadow=m_oShadowTemplate.cloneNode(false);oElement.appendChild(oShadow);this._shadow=oShadow;this.beforeShowEvent.subscribe(addShadowVisibleClass);this.beforeHideEvent.subscribe(removeShadowVisibleClass);if(UA.ie){window.setTimeout(function(){sizeShadow.call(me);me.syncIframe();},0);this.cfg.subscribeToConfigEvent("width",sizeShadow);this.cfg.subscribeToConfigEvent("height",sizeShadow);this.cfg.subscribeToConfigEvent("maxheight",sizeShadow);this.changeContentEvent.subscribe(sizeShadow);Module.textResizeEvent.subscribe(sizeShadow,me,true);this.destroyEvent.subscribe(function(){Module.textResizeEvent.unsubscribe(sizeShadow,me);});}
this.cfg.subscribeToConfigEvent("maxheight",replaceShadow);}}
function onBeforeShow(){createShadow.call(this);this.beforeShowEvent.unsubscribe(onBeforeShow);}
if(this.cfg.getProperty("position")=="dynamic"){if(this.cfg.getProperty("visible")){createShadow.call(this);}
else{this.beforeShowEvent.subscribe(onBeforeShow);}}},initEvents:function(){Menu.superclass.initEvents.call(this);var SIGNATURE=CustomEvent.LIST;this.mouseOverEvent=this.createEvent(EVENT_TYPES.MOUSE_OVER);this.mouseOverEvent.signature=SIGNATURE;this.mouseOutEvent=this.createEvent(EVENT_TYPES.MOUSE_OUT);this.mouseOutEvent.signature=SIGNATURE;this.mouseDownEvent=this.createEvent(EVENT_TYPES.MOUSE_DOWN);this.mouseDownEvent.signature=SIGNATURE;this.mouseUpEvent=this.createEvent(EVENT_TYPES.MOUSE_UP);this.mouseUpEvent.signature=SIGNATURE;this.clickEvent=this.createEvent(EVENT_TYPES.CLICK);this.clickEvent.signature=SIGNATURE;this.keyPressEvent=this.createEvent(EVENT_TYPES.KEY_PRESS);this.keyPressEvent.signature=SIGNATURE;this.keyDownEvent=this.createEvent(EVENT_TYPES.KEY_DOWN);this.keyDownEvent.signature=SIGNATURE;this.keyUpEvent=this.createEvent(EVENT_TYPES.KEY_UP);this.keyUpEvent.signature=SIGNATURE;this.focusEvent=this.createEvent(EVENT_TYPES.FOCUS);this.focusEvent.signature=SIGNATURE;this.blurEvent=this.createEvent(EVENT_TYPES.BLUR);this.blurEvent.signature=SIGNATURE;this.itemAddedEvent=this.createEvent(EVENT_TYPES.ITEM_ADDED);this.itemAddedEvent.signature=SIGNATURE;this.itemRemovedEvent=this.createEvent(EVENT_TYPES.ITEM_REMOVED);this.itemRemovedEvent.signature=SIGNATURE;},positionOffScreen:function(){var oIFrame=this.iframe,aPos=this.OFF_SCREEN_POSITION;Dom.setXY(this.element,aPos);if(oIFrame){Dom.setXY(oIFrame,aPos);}},getRoot:function(){var oItem=this.parent,oParentMenu;if(oItem){oParentMenu=oItem.parent;return oParentMenu?oParentMenu.getRoot():this;}
else{return this;}},toString:function(){var sReturnVal="Menu",sId=this.id;if(sId){sReturnVal+=(" "+sId);}
return sReturnVal;},setItemGroupTitle:function(p_sGroupTitle,p_nGroupIndex){var nGroupIndex,oTitle,i,nFirstIndex;if(typeof p_sGroupTitle=="string"&&p_sGroupTitle.length>0){nGroupIndex=typeof p_nGroupIndex=="number"?p_nGroupIndex:0;oTitle=this._aGroupTitleElements[nGroupIndex];if(oTitle){oTitle.innerHTML=p_sGroupTitle;}
else{oTitle=document.createElement(this.GROUP_TITLE_TAG_NAME);oTitle.innerHTML=p_sGroupTitle;this._aGroupTitleElements[nGroupIndex]=oTitle;}
i=this._aGroupTitleElements.length-1;do{if(this._aGroupTitleElements[i]){Dom.removeClass(this._aGroupTitleElements[i],"first-of-type");nFirstIndex=i;}}
while(i--);if(nFirstIndex!==null){Dom.addClass(this._aGroupTitleElements[nFirstIndex],"first-of-type");}
this.changeContentEvent.fire();}},addItem:function(p_oItem,p_nGroupIndex){if(p_oItem){return this._addItemToGroup(p_nGroupIndex,p_oItem);}},addItems:function(p_aItems,p_nGroupIndex){var nItems,aItems,oItem,i;if(Lang.isArray(p_aItems)){nItems=p_aItems.length;aItems=[];for(i=0;i<nItems;i++){oItem=p_aItems[i];if(oItem){if(Lang.isArray(oItem)){aItems[aItems.length]=this.addItems(oItem,i);}
else{aItems[aItems.length]=this._addItemToGroup(p_nGroupIndex,oItem);}}}
if(aItems.length){return aItems;}}},insertItem:function(p_oItem,p_nItemIndex,p_nGroupIndex){if(p_oItem){return this._addItemToGroup(p_nGroupIndex,p_oItem,p_nItemIndex);}},removeItem:function(p_oObject,p_nGroupIndex){var oItem;if(typeof p_oObject!="undefined"){if(p_oObject instanceof YAHOO.widget.MenuItem){oItem=this._removeItemFromGroupByValue(p_nGroupIndex,p_oObject);}
else if(typeof p_oObject=="number"){oItem=this._removeItemFromGroupByIndex(p_nGroupIndex,p_oObject);}
if(oItem){oItem.destroy();return oItem;}}},getItems:function(){var aGroups=this._aItemGroups,nGroups,aItems=[];if(Lang.isArray(aGroups)){nGroups=aGroups.length;return((nGroups==1)?aGroups[0]:(Array.prototype.concat.apply(aItems,aGroups)));}},getItemGroups:function(){return this._aItemGroups;},getItem:function(p_nItemIndex,p_nGroupIndex){var aGroup;if(typeof p_nItemIndex=="number"){aGroup=this._getItemGroup(p_nGroupIndex);if(aGroup){return aGroup[p_nItemIndex];}}},getSubmenus:function(){var aItems=this.getItems(),nItems=aItems.length,aSubmenus,oSubmenu,oItem,i;if(nItems>0){aSubmenus=[];for(i=0;i<nItems;i++){oItem=aItems[i];if(oItem){oSubmenu=oItem.cfg.getProperty("submenu");if(oSubmenu){aSubmenus[aSubmenus.length]=oSubmenu;}}}}
return aSubmenus;},clearContent:function(){var aItems=this.getItems(),nItems=aItems.length,oElement=this.element,oBody=this.body,oHeader=this.header,oFooter=this.footer,oItem,oSubmenu,i;if(nItems>0){i=nItems-1;do{oItem=aItems[i];if(oItem){oSubmenu=oItem.cfg.getProperty("submenu");if(oSubmenu){this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange,oSubmenu);this.renderEvent.unsubscribe(this._onParentMenuRender,oSubmenu);}
this.removeItem(oItem);}}
while(i--);}
if(oHeader){Event.purgeElement(oHeader);oElement.removeChild(oHeader);}
if(oFooter){Event.purgeElement(oFooter);oElement.removeChild(oFooter);}
if(oBody){Event.purgeElement(oBody);oBody.innerHTML="";}
this.activeItem=null;this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];this.cfg.setProperty("width",null);},destroy:function(){this.clearContent();this._aItemGroups=null;this._aListElements=null;this._aGroupTitleElements=null;Menu.superclass.destroy.call(this);},setInitialFocus:function(){var oItem=this._getFirstEnabledItem();if(oItem){oItem.focus();}},setInitialSelection:function(){var oItem=this._getFirstEnabledItem();if(oItem){oItem.cfg.setProperty("selected",true);}},clearActiveItem:function(p_bBlur){if(this.cfg.getProperty("showdelay")>0){this._cancelShowDelay();}
var oActiveItem=this.activeItem,oConfig,oSubmenu;if(oActiveItem){oConfig=oActiveItem.cfg;if(p_bBlur){oActiveItem.blur();}
oConfig.setProperty("selected",false);oSubmenu=oConfig.getProperty("submenu");if(oSubmenu){oSubmenu.hide();}
this.activeItem=null;}},focus:function(){if(!this.hasFocus()){this.setInitialFocus();}},blur:function(){var oItem;if(this.hasFocus()){oItem=MenuManager.getFocusedMenuItem();if(oItem){oItem.blur();}}},hasFocus:function(){return(MenuManager.getFocusedMenu()==this.getRoot());},subscribe:function(){function onItemAdded(p_sType,p_aArgs,p_oObject){var oItem=p_aArgs[0],oSubmenu=oItem.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.subscribe.apply(oSubmenu,p_oObject);}}
function onSubmenuAdded(p_sType,p_aArgs,p_oObject){var oSubmenu=this.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.subscribe.apply(oSubmenu,p_oObject);}}
Menu.superclass.subscribe.apply(this,arguments);Menu.superclass.subscribe.call(this,"itemAdded",onItemAdded,arguments);var aItems=this.getItems(),nItems,oItem,oSubmenu,i;if(aItems){nItems=aItems.length;if(nItems>0){i=nItems-1;do{oItem=aItems[i];oSubmenu=oItem.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.subscribe.apply(oSubmenu,arguments);}
else{oItem.cfg.subscribeToConfigEvent("submenu",onSubmenuAdded,arguments);}}
while(i--);}}},initDefaultConfig:function(){Menu.superclass.initDefaultConfig.call(this);var oConfig=this.cfg;oConfig.addProperty(DEFAULT_CONFIG.VISIBLE.key,{handler:this.configVisible,value:DEFAULT_CONFIG.VISIBLE.value,validator:DEFAULT_CONFIG.VISIBLE.validator});oConfig.addProperty(DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.value,validator:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.validator,supercedes:DEFAULT_CONFIG.CONSTRAIN_TO_VIEWPORT.supercedes});oConfig.addProperty(DEFAULT_CONFIG.POSITION.key,{handler:this.configPosition,value:DEFAULT_CONFIG.POSITION.value,validator:DEFAULT_CONFIG.POSITION.validator,supercedes:DEFAULT_CONFIG.POSITION.supercedes});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key,{value:DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value,suppressEvent:DEFAULT_CONFIG.SUBMENU_ALIGNMENT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key,{value:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value,validator:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SHOW_DELAY.key,{value:DEFAULT_CONFIG.SHOW_DELAY.value,validator:DEFAULT_CONFIG.SHOW_DELAY.validator,suppressEvent:DEFAULT_CONFIG.SHOW_DELAY.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.HIDE_DELAY.key,{handler:this.configHideDelay,value:DEFAULT_CONFIG.HIDE_DELAY.value,validator:DEFAULT_CONFIG.HIDE_DELAY.validator,suppressEvent:DEFAULT_CONFIG.HIDE_DELAY.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.key,{value:DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.value,validator:DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.validator,suppressEvent:DEFAULT_CONFIG.SUBMENU_HIDE_DELAY.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.CLICK_TO_HIDE.key,{value:DEFAULT_CONFIG.CLICK_TO_HIDE.value,validator:DEFAULT_CONFIG.CLICK_TO_HIDE.validator,suppressEvent:DEFAULT_CONFIG.CLICK_TO_HIDE.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.CONTAINER.key,{handler:this.configContainer,value:document.body,suppressEvent:DEFAULT_CONFIG.CONTAINER.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SCROLL_INCREMENT.key,{value:DEFAULT_CONFIG.SCROLL_INCREMENT.value,validator:DEFAULT_CONFIG.SCROLL_INCREMENT.validator,supercedes:DEFAULT_CONFIG.SCROLL_INCREMENT.supercedes,suppressEvent:DEFAULT_CONFIG.SCROLL_INCREMENT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.key,{value:DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.value,validator:DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.validator,supercedes:DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.supercedes,suppressEvent:DEFAULT_CONFIG.MIN_SCROLL_HEIGHT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.MAX_HEIGHT.key,{handler:this.configMaxHeight,value:DEFAULT_CONFIG.MAX_HEIGHT.value,validator:DEFAULT_CONFIG.MAX_HEIGHT.validator,suppressEvent:DEFAULT_CONFIG.MAX_HEIGHT.suppressEvent,supercedes:DEFAULT_CONFIG.MAX_HEIGHT.supercedes});oConfig.addProperty(DEFAULT_CONFIG.CLASS_NAME.key,{handler:this.configClassName,value:DEFAULT_CONFIG.CLASS_NAME.value,validator:DEFAULT_CONFIG.CLASS_NAME.validator,supercedes:DEFAULT_CONFIG.CLASS_NAME.supercedes});oConfig.addProperty(DEFAULT_CONFIG.DISABLED.key,{handler:this.configDisabled,value:DEFAULT_CONFIG.DISABLED.value,validator:DEFAULT_CONFIG.DISABLED.validator,suppressEvent:DEFAULT_CONFIG.DISABLED.suppressEvent});}});})();(function(){YAHOO.widget.MenuItem=function(p_oObject,p_oConfig){if(p_oObject){if(p_oConfig){this.parent=p_oConfig.parent;this.value=p_oConfig.value;this.id=p_oConfig.id;}
this.init(p_oObject,p_oConfig);}};var Dom=YAHOO.util.Dom,Module=YAHOO.widget.Module,Menu=YAHOO.widget.Menu,MenuItem=YAHOO.widget.MenuItem,CustomEvent=YAHOO.util.CustomEvent,Lang=YAHOO.lang,m_oMenuItemTemplate,EVENT_TYPES={"MOUSE_OVER":"mouseover","MOUSE_OUT":"mouseout","MOUSE_DOWN":"mousedown","MOUSE_UP":"mouseup","CLICK":"click","KEY_PRESS":"keypress","KEY_DOWN":"keydown","KEY_UP":"keyup","ITEM_ADDED":"itemAdded","ITEM_REMOVED":"itemRemoved","FOCUS":"focus","BLUR":"blur","DESTROY":"destroy"},DEFAULT_CONFIG={"TEXT":{key:"text",value:"",validator:Lang.isString,suppressEvent:true},"HELP_TEXT":{key:"helptext",supercedes:["text"],suppressEvent:true},"URL":{key:"url",value:"#",suppressEvent:true},"TARGET":{key:"target",suppressEvent:true},"EMPHASIS":{key:"emphasis",value:false,validator:Lang.isBoolean,suppressEvent:true,supercedes:["text"]},"STRONG_EMPHASIS":{key:"strongemphasis",value:false,validator:Lang.isBoolean,suppressEvent:true,supercedes:["text"]},"CHECKED":{key:"checked",value:false,validator:Lang.isBoolean,suppressEvent:true,supercedes:["disabled","selected"]},"SUBMENU":{key:"submenu",suppressEvent:true,supercedes:["disabled","selected"]},"DISABLED":{key:"disabled",value:false,validator:Lang.isBoolean,suppressEvent:true,supercedes:["text","selected"]},"SELECTED":{key:"selected",value:false,validator:Lang.isBoolean,suppressEvent:true},"ONCLICK":{key:"onclick",suppressEvent:true},"CLASS_NAME":{key:"classname",value:null,validator:Lang.isString,suppressEvent:true}};MenuItem.prototype={CSS_CLASS_NAME:"yuimenuitem",CSS_LABEL_CLASS_NAME:"yuimenuitemlabel",SUBMENU_TYPE:null,_oAnchor:null,_oHelpTextEM:null,_oSubmenu:null,_oOnclickAttributeValue:null,_sClassName:null,constructor:MenuItem,index:null,groupIndex:null,parent:null,element:null,srcElement:null,value:null,browser:Module.prototype.browser,id:null,destroyEvent:null,mouseOverEvent:null,mouseOutEvent:null,mouseDownEvent:null,mouseUpEvent:null,clickEvent:null,keyPressEvent:null,keyDownEvent:null,keyUpEvent:null,focusEvent:null,blurEvent:null,init:function(p_oObject,p_oConfig){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=Menu;}
this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var SIGNATURE=CustomEvent.LIST,oConfig=this.cfg,sURL="#",oAnchor,sTarget,sText,sId;if(Lang.isString(p_oObject)){this._createRootNodeStructure();oConfig.queueProperty("text",p_oObject);}
else if(p_oObject&&p_oObject.tagName){switch(p_oObject.tagName.toUpperCase()){case"OPTION":this._createRootNodeStructure();oConfig.queueProperty("text",p_oObject.text);oConfig.queueProperty("disabled",p_oObject.disabled);this.value=p_oObject.value;this.srcElement=p_oObject;break;case"OPTGROUP":this._createRootNodeStructure();oConfig.queueProperty("text",p_oObject.label);oConfig.queueProperty("disabled",p_oObject.disabled);this.srcElement=p_oObject;this._initSubTree();break;case"LI":oAnchor=Dom.getFirstChild(p_oObject);if(oAnchor){sURL=oAnchor.getAttribute("href");sTarget=oAnchor.getAttribute("target");sText=oAnchor.innerHTML;}
this.srcElement=p_oObject;this.element=p_oObject;this._oAnchor=oAnchor;oConfig.setProperty("text",sText,true);oConfig.setProperty("url",sURL,true);oConfig.setProperty("target",sTarget,true);this._initSubTree();break;}}
if(this.element){sId=(this.srcElement||this.element).id;if(!sId){sId=this.id||Dom.generateId();this.element.id=sId;}
this.id=sId;Dom.addClass(this.element,this.CSS_CLASS_NAME);Dom.addClass(this._oAnchor,this.CSS_LABEL_CLASS_NAME);this.mouseOverEvent=this.createEvent(EVENT_TYPES.MOUSE_OVER);this.mouseOverEvent.signature=SIGNATURE;this.mouseOutEvent=this.createEvent(EVENT_TYPES.MOUSE_OUT);this.mouseOutEvent.signature=SIGNATURE;this.mouseDownEvent=this.createEvent(EVENT_TYPES.MOUSE_DOWN);this.mouseDownEvent.signature=SIGNATURE;this.mouseUpEvent=this.createEvent(EVENT_TYPES.MOUSE_UP);this.mouseUpEvent.signature=SIGNATURE;this.clickEvent=this.createEvent(EVENT_TYPES.CLICK);this.clickEvent.signature=SIGNATURE;this.keyPressEvent=this.createEvent(EVENT_TYPES.KEY_PRESS);this.keyPressEvent.signature=SIGNATURE;this.keyDownEvent=this.createEvent(EVENT_TYPES.KEY_DOWN);this.keyDownEvent.signature=SIGNATURE;this.keyUpEvent=this.createEvent(EVENT_TYPES.KEY_UP);this.keyUpEvent.signature=SIGNATURE;this.focusEvent=this.createEvent(EVENT_TYPES.FOCUS);this.focusEvent.signature=SIGNATURE;this.blurEvent=this.createEvent(EVENT_TYPES.BLUR);this.blurEvent.signature=SIGNATURE;this.destroyEvent=this.createEvent(EVENT_TYPES.DESTROY);this.destroyEvent.signature=SIGNATURE;if(p_oConfig){oConfig.applyConfig(p_oConfig);}
oConfig.fireQueue();}},_createRootNodeStructure:function(){var oElement,oAnchor;if(!m_oMenuItemTemplate){m_oMenuItemTemplate=document.createElement("li");m_oMenuItemTemplate.innerHTML="<a href=\"#\"></a>";}
oElement=m_oMenuItemTemplate.cloneNode(true);oElement.className=this.CSS_CLASS_NAME;oAnchor=oElement.firstChild;oAnchor.className=this.CSS_LABEL_CLASS_NAME;this.element=oElement;this._oAnchor=oAnchor;},_initSubTree:function(){var oSrcEl=this.srcElement,oConfig=this.cfg,oNode,aOptions,nOptions,oMenu,n;if(oSrcEl.childNodes.length>0){if(this.parent.lazyLoad&&this.parent.srcElement&&this.parent.srcElement.tagName.toUpperCase()=="SELECT"){oConfig.setProperty("submenu",{id:Dom.generateId(),itemdata:oSrcEl.childNodes});}
else{oNode=oSrcEl.firstChild;aOptions=[];do{if(oNode&&oNode.tagName){switch(oNode.tagName.toUpperCase()){case"DIV":oConfig.setProperty("submenu",oNode);break;case"OPTION":aOptions[aOptions.length]=oNode;break;}}}
while((oNode=oNode.nextSibling));nOptions=aOptions.length;if(nOptions>0){oMenu=new this.SUBMENU_TYPE(Dom.generateId());oConfig.setProperty("submenu",oMenu);for(n=0;n<nOptions;n++){oMenu.addItem((new oMenu.ITEM_TYPE(aOptions[n])));}}}}},configText:function(p_sType,p_aArgs,p_oItem){var sText=p_aArgs[0],oConfig=this.cfg,oAnchor=this._oAnchor,sHelpText=oConfig.getProperty("helptext"),sHelpTextHTML="",sEmphasisStartTag="",sEmphasisEndTag="";if(sText){if(sHelpText){sHelpTextHTML="<em class=\"helptext\">"+sHelpText+"</em>";}
if(oConfig.getProperty("emphasis")){sEmphasisStartTag="<em>";sEmphasisEndTag="</em>";}
if(oConfig.getProperty("strongemphasis")){sEmphasisStartTag="<strong>";sEmphasisEndTag="</strong>";}
oAnchor.innerHTML=(sEmphasisStartTag+sText+
sEmphasisEndTag+sHelpTextHTML);}},configHelpText:function(p_sType,p_aArgs,p_oItem){this.cfg.refireEvent("text");},configURL:function(p_sType,p_aArgs,p_oItem){var sURL=p_aArgs[0];if(!sURL){sURL="#";}
var oAnchor=this._oAnchor;if(YAHOO.env.ua.opera){oAnchor.removeAttribute("href");}
oAnchor.setAttribute("href",sURL);},configTarget:function(p_sType,p_aArgs,p_oItem){var sTarget=p_aArgs[0],oAnchor=this._oAnchor;if(sTarget&&sTarget.length>0){oAnchor.setAttribute("target",sTarget);}
else{oAnchor.removeAttribute("target");}},configEmphasis:function(p_sType,p_aArgs,p_oItem){var bEmphasis=p_aArgs[0],oConfig=this.cfg;if(bEmphasis&&oConfig.getProperty("strongemphasis")){oConfig.setProperty("strongemphasis",false);}
oConfig.refireEvent("text");},configStrongEmphasis:function(p_sType,p_aArgs,p_oItem){var bStrongEmphasis=p_aArgs[0],oConfig=this.cfg;if(bStrongEmphasis&&oConfig.getProperty("emphasis")){oConfig.setProperty("emphasis",false);}
oConfig.refireEvent("text");},configChecked:function(p_sType,p_aArgs,p_oItem){var bChecked=p_aArgs[0],oElement=this.element,oAnchor=this._oAnchor,oConfig=this.cfg,sState="-checked",sClassName=this.CSS_CLASS_NAME+sState,sLabelClassName=this.CSS_LABEL_CLASS_NAME+sState;if(bChecked){Dom.addClass(oElement,sClassName);Dom.addClass(oAnchor,sLabelClassName);}
else{Dom.removeClass(oElement,sClassName);Dom.removeClass(oAnchor,sLabelClassName);}
oConfig.refireEvent("text");if(oConfig.getProperty("disabled")){oConfig.refireEvent("disabled");}
if(oConfig.getProperty("selected")){oConfig.refireEvent("selected");}},configDisabled:function(p_sType,p_aArgs,p_oItem){var bDisabled=p_aArgs[0],oConfig=this.cfg,oSubmenu=oConfig.getProperty("submenu"),bChecked=oConfig.getProperty("checked"),oElement=this.element,oAnchor=this._oAnchor,sState="-disabled",sCheckedState="-checked"+sState,sSubmenuState="-hassubmenu"+sState,sClassName=this.CSS_CLASS_NAME+sState,sLabelClassName=this.CSS_LABEL_CLASS_NAME+sState,sCheckedClassName=this.CSS_CLASS_NAME+sCheckedState,sLabelCheckedClassName=this.CSS_LABEL_CLASS_NAME+sCheckedState,sSubmenuClassName=this.CSS_CLASS_NAME+sSubmenuState,sLabelSubmenuClassName=this.CSS_LABEL_CLASS_NAME+sSubmenuState;if(bDisabled){if(oConfig.getProperty("selected")){oConfig.setProperty("selected",false);}
Dom.addClass(oElement,sClassName);Dom.addClass(oAnchor,sLabelClassName);if(oSubmenu){Dom.addClass(oElement,sSubmenuClassName);Dom.addClass(oAnchor,sLabelSubmenuClassName);}
if(bChecked){Dom.addClass(oElement,sCheckedClassName);Dom.addClass(oAnchor,sLabelCheckedClassName);}}
else{Dom.removeClass(oElement,sClassName);Dom.removeClass(oAnchor,sLabelClassName);if(oSubmenu){Dom.removeClass(oElement,sSubmenuClassName);Dom.removeClass(oAnchor,sLabelSubmenuClassName);}
if(bChecked){Dom.removeClass(oElement,sCheckedClassName);Dom.removeClass(oAnchor,sLabelCheckedClassName);}}},configSelected:function(p_sType,p_aArgs,p_oItem){var oConfig=this.cfg,bSelected=p_aArgs[0],oElement=this.element,oAnchor=this._oAnchor,bChecked=oConfig.getProperty("checked"),oSubmenu=oConfig.getProperty("submenu"),sState="-selected",sCheckedState="-checked"+sState,sSubmenuState="-hassubmenu"+sState,sClassName=this.CSS_CLASS_NAME+sState,sLabelClassName=this.CSS_LABEL_CLASS_NAME+sState,sCheckedClassName=this.CSS_CLASS_NAME+sCheckedState,sLabelCheckedClassName=this.CSS_LABEL_CLASS_NAME+sCheckedState,sSubmenuClassName=this.CSS_CLASS_NAME+sSubmenuState,sLabelSubmenuClassName=this.CSS_LABEL_CLASS_NAME+sSubmenuState;if(YAHOO.env.ua.opera){oAnchor.blur();}
if(bSelected&&!oConfig.getProperty("disabled")){Dom.addClass(oElement,sClassName);Dom.addClass(oAnchor,sLabelClassName);if(oSubmenu){Dom.addClass(oElement,sSubmenuClassName);Dom.addClass(oAnchor,sLabelSubmenuClassName);}
if(bChecked){Dom.addClass(oElement,sCheckedClassName);Dom.addClass(oAnchor,sLabelCheckedClassName);}}
else{Dom.removeClass(oElement,sClassName);Dom.removeClass(oAnchor,sLabelClassName);if(oSubmenu){Dom.removeClass(oElement,sSubmenuClassName);Dom.removeClass(oAnchor,sLabelSubmenuClassName);}
if(bChecked){Dom.removeClass(oElement,sCheckedClassName);Dom.removeClass(oAnchor,sLabelCheckedClassName);}}
if(this.hasFocus()&&YAHOO.env.ua.opera){oAnchor.focus();}},_onSubmenuBeforeHide:function(p_sType,p_aArgs){var oItem=this.parent,oMenu;function onHide(){oItem._oAnchor.blur();oMenu.beforeHideEvent.unsubscribe(onHide);}
if(oItem.hasFocus()){oMenu=oItem.parent;oMenu.beforeHideEvent.subscribe(onHide);}},configSubmenu:function(p_sType,p_aArgs,p_oItem){var oSubmenu=p_aArgs[0],oConfig=this.cfg,oElement=this.element,oAnchor=this._oAnchor,bLazyLoad=this.parent&&this.parent.lazyLoad,sState="-hassubmenu",sClassName=this.CSS_CLASS_NAME+sState,sLabelClassName=this.CSS_LABEL_CLASS_NAME+sState,oMenu,sSubmenuId,oSubmenuConfig;if(oSubmenu){if(oSubmenu instanceof Menu){oMenu=oSubmenu;oMenu.parent=this;oMenu.lazyLoad=bLazyLoad;}
else if(typeof oSubmenu=="object"&&oSubmenu.id&&!oSubmenu.nodeType){sSubmenuId=oSubmenu.id;oSubmenuConfig=oSubmenu;oSubmenuConfig.lazyload=bLazyLoad;oSubmenuConfig.parent=this;oMenu=new this.SUBMENU_TYPE(sSubmenuId,oSubmenuConfig);oConfig.setProperty("submenu",oMenu,true);}
else{oMenu=new this.SUBMENU_TYPE(oSubmenu,{lazyload:bLazyLoad,parent:this});oConfig.setProperty("submenu",oMenu,true);}
if(oMenu){Dom.addClass(oElement,sClassName);Dom.addClass(oAnchor,sLabelClassName);this._oSubmenu=oMenu;if(YAHOO.env.ua.opera){oMenu.beforeHideEvent.subscribe(this._onSubmenuBeforeHide);}}}
else{Dom.removeClass(oElement,sClassName);Dom.removeClass(oAnchor,sLabelClassName);if(this._oSubmenu){this._oSubmenu.destroy();}}
if(oConfig.getProperty("disabled")){oConfig.refireEvent("disabled");}
if(oConfig.getProperty("selected")){oConfig.refireEvent("selected");}},configOnClick:function(p_sType,p_aArgs,p_oItem){var oObject=p_aArgs[0];if(this._oOnclickAttributeValue&&(this._oOnclickAttributeValue!=oObject)){this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn,this._oOnclickAttributeValue.obj);this._oOnclickAttributeValue=null;}
if(!this._oOnclickAttributeValue&&typeof oObject=="object"&&typeof oObject.fn=="function"){this.clickEvent.subscribe(oObject.fn,((!YAHOO.lang.isUndefined(oObject.obj))?oObject.obj:this),oObject.scope);this._oOnclickAttributeValue=oObject;}},configClassName:function(p_sType,p_aArgs,p_oItem){var sClassName=p_aArgs[0];if(this._sClassName){Dom.removeClass(this.element,this._sClassName);}
Dom.addClass(this.element,sClassName);this._sClassName=sClassName;},initDefaultConfig:function(){var oConfig=this.cfg;oConfig.addProperty(DEFAULT_CONFIG.TEXT.key,{handler:this.configText,value:DEFAULT_CONFIG.TEXT.value,validator:DEFAULT_CONFIG.TEXT.validator,suppressEvent:DEFAULT_CONFIG.TEXT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.HELP_TEXT.key,{handler:this.configHelpText,supercedes:DEFAULT_CONFIG.HELP_TEXT.supercedes,suppressEvent:DEFAULT_CONFIG.HELP_TEXT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.URL.key,{handler:this.configURL,value:DEFAULT_CONFIG.URL.value,suppressEvent:DEFAULT_CONFIG.URL.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.TARGET.key,{handler:this.configTarget,suppressEvent:DEFAULT_CONFIG.TARGET.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.EMPHASIS.key,{handler:this.configEmphasis,value:DEFAULT_CONFIG.EMPHASIS.value,validator:DEFAULT_CONFIG.EMPHASIS.validator,suppressEvent:DEFAULT_CONFIG.EMPHASIS.suppressEvent,supercedes:DEFAULT_CONFIG.EMPHASIS.supercedes});oConfig.addProperty(DEFAULT_CONFIG.STRONG_EMPHASIS.key,{handler:this.configStrongEmphasis,value:DEFAULT_CONFIG.STRONG_EMPHASIS.value,validator:DEFAULT_CONFIG.STRONG_EMPHASIS.validator,suppressEvent:DEFAULT_CONFIG.STRONG_EMPHASIS.suppressEvent,supercedes:DEFAULT_CONFIG.STRONG_EMPHASIS.supercedes});oConfig.addProperty(DEFAULT_CONFIG.CHECKED.key,{handler:this.configChecked,value:DEFAULT_CONFIG.CHECKED.value,validator:DEFAULT_CONFIG.CHECKED.validator,suppressEvent:DEFAULT_CONFIG.CHECKED.suppressEvent,supercedes:DEFAULT_CONFIG.CHECKED.supercedes});oConfig.addProperty(DEFAULT_CONFIG.DISABLED.key,{handler:this.configDisabled,value:DEFAULT_CONFIG.DISABLED.value,validator:DEFAULT_CONFIG.DISABLED.validator,suppressEvent:DEFAULT_CONFIG.DISABLED.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SELECTED.key,{handler:this.configSelected,value:DEFAULT_CONFIG.SELECTED.value,validator:DEFAULT_CONFIG.SELECTED.validator,suppressEvent:DEFAULT_CONFIG.SELECTED.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU.key,{handler:this.configSubmenu,supercedes:DEFAULT_CONFIG.SUBMENU.supercedes,suppressEvent:DEFAULT_CONFIG.SUBMENU.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.ONCLICK.key,{handler:this.configOnClick,suppressEvent:DEFAULT_CONFIG.ONCLICK.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.CLASS_NAME.key,{handler:this.configClassName,value:DEFAULT_CONFIG.CLASS_NAME.value,validator:DEFAULT_CONFIG.CLASS_NAME.validator,suppressEvent:DEFAULT_CONFIG.CLASS_NAME.suppressEvent});},getNextEnabledSibling:function(){var nGroupIndex,aItemGroups,oNextItem,nNextGroupIndex,aNextGroup;function getNextArrayItem(p_aArray,p_nStartIndex){return p_aArray[p_nStartIndex]||getNextArrayItem(p_aArray,(p_nStartIndex+1));}
if(this.parent instanceof Menu){nGroupIndex=this.groupIndex;aItemGroups=this.parent.getItemGroups();if(this.index<(aItemGroups[nGroupIndex].length-1)){oNextItem=getNextArrayItem(aItemGroups[nGroupIndex],(this.index+1));}
else{if(nGroupIndex<(aItemGroups.length-1)){nNextGroupIndex=nGroupIndex+1;}
else{nNextGroupIndex=0;}
aNextGroup=getNextArrayItem(aItemGroups,nNextGroupIndex);oNextItem=getNextArrayItem(aNextGroup,0);}
return(oNextItem.cfg.getProperty("disabled")||oNextItem.element.style.display=="none")?oNextItem.getNextEnabledSibling():oNextItem;}},getPreviousEnabledSibling:function(){var nGroupIndex,aItemGroups,oPreviousItem,nPreviousGroupIndex,aPreviousGroup;function getPreviousArrayItem(p_aArray,p_nStartIndex){return p_aArray[p_nStartIndex]||getPreviousArrayItem(p_aArray,(p_nStartIndex-1));}
function getFirstItemIndex(p_aArray,p_nStartIndex){return p_aArray[p_nStartIndex]?p_nStartIndex:getFirstItemIndex(p_aArray,(p_nStartIndex+1));}
if(this.parent instanceof Menu){nGroupIndex=this.groupIndex;aItemGroups=this.parent.getItemGroups();if(this.index>getFirstItemIndex(aItemGroups[nGroupIndex],0)){oPreviousItem=getPreviousArrayItem(aItemGroups[nGroupIndex],(this.index-1));}
else{if(nGroupIndex>getFirstItemIndex(aItemGroups,0)){nPreviousGroupIndex=nGroupIndex-1;}
else{nPreviousGroupIndex=aItemGroups.length-1;}
aPreviousGroup=getPreviousArrayItem(aItemGroups,nPreviousGroupIndex);oPreviousItem=getPreviousArrayItem(aPreviousGroup,(aPreviousGroup.length-1));}
return(oPreviousItem.cfg.getProperty("disabled")||oPreviousItem.element.style.display=="none")?oPreviousItem.getPreviousEnabledSibling():oPreviousItem;}},focus:function(){var oParent=this.parent,oAnchor=this._oAnchor,oActiveItem=oParent.activeItem,me=this;function setFocus(){try{if(YAHOO.env.ua.ie&&!document.hasFocus()){return;}
if(oActiveItem){oActiveItem.blurEvent.fire();}
oAnchor.focus();me.focusEvent.fire();}
catch(e){}}
if(!this.cfg.getProperty("disabled")&&oParent&&oParent.cfg.getProperty("visible")&&this.element.style.display!="none"){window.setTimeout(setFocus,0);}},blur:function(){var oParent=this.parent;if(!this.cfg.getProperty("disabled")&&oParent&&oParent.cfg.getProperty("visible")){var me=this;window.setTimeout(function(){try{me._oAnchor.blur();me.blurEvent.fire();}
catch(e){}},0);}},hasFocus:function(){return(YAHOO.widget.MenuManager.getFocusedMenuItem()==this);},destroy:function(){var oEl=this.element,oSubmenu,oParentNode;if(oEl){oSubmenu=this.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.destroy();}
this.mouseOverEvent.unsubscribeAll();this.mouseOutEvent.unsubscribeAll();this.mouseDownEvent.unsubscribeAll();this.mouseUpEvent.unsubscribeAll();this.clickEvent.unsubscribeAll();this.keyPressEvent.unsubscribeAll();this.keyDownEvent.unsubscribeAll();this.keyUpEvent.unsubscribeAll();this.focusEvent.unsubscribeAll();this.blurEvent.unsubscribeAll();this.cfg.configChangedEvent.unsubscribeAll();oParentNode=oEl.parentNode;if(oParentNode){oParentNode.removeChild(oEl);this.destroyEvent.fire();}
this.destroyEvent.unsubscribeAll();}},toString:function(){var sReturnVal="MenuItem",sId=this.id;if(sId){sReturnVal+=(" "+sId);}
return sReturnVal;}};Lang.augmentProto(MenuItem,YAHOO.util.EventProvider);})();(function(){YAHOO.widget.ContextMenu=function(p_oElement,p_oConfig){YAHOO.widget.ContextMenu.superclass.constructor.call(this,p_oElement,p_oConfig);};var Event=YAHOO.util.Event,ContextMenu=YAHOO.widget.ContextMenu,EVENT_TYPES={"TRIGGER_CONTEXT_MENU":"triggerContextMenu","CONTEXT_MENU":(YAHOO.env.ua.opera?"mousedown":"contextmenu"),"CLICK":"click"},DEFAULT_CONFIG={"TRIGGER":{key:"trigger",suppressEvent:true}};function position(p_sType,p_aArgs,p_aPos){this.cfg.setProperty("xy",p_aPos);this.beforeShowEvent.unsubscribe(position,p_aPos);}
YAHOO.lang.extend(ContextMenu,YAHOO.widget.Menu,{_oTrigger:null,_bCancelled:false,contextEventTarget:null,triggerContextMenuEvent:null,init:function(p_oElement,p_oConfig){ContextMenu.superclass.init.call(this,p_oElement);this.beforeInitEvent.fire(ContextMenu);if(p_oConfig){this.cfg.applyConfig(p_oConfig,true);}
this.initEvent.fire(ContextMenu);},initEvents:function(){ContextMenu.superclass.initEvents.call(this);this.triggerContextMenuEvent=this.createEvent(EVENT_TYPES.TRIGGER_CONTEXT_MENU);this.triggerContextMenuEvent.signature=YAHOO.util.CustomEvent.LIST;},cancel:function(){this._bCancelled=true;},_removeEventHandlers:function(){var oTrigger=this._oTrigger;if(oTrigger){Event.removeListener(oTrigger,EVENT_TYPES.CONTEXT_MENU,this._onTriggerContextMenu);if(YAHOO.env.ua.opera){Event.removeListener(oTrigger,EVENT_TYPES.CLICK,this._onTriggerClick);}}},_onTriggerClick:function(p_oEvent,p_oMenu){if(p_oEvent.ctrlKey){Event.stopEvent(p_oEvent);}},_onTriggerContextMenu:function(p_oEvent,p_oMenu){if(p_oEvent.type=="mousedown"&&!p_oEvent.ctrlKey){return;}
var aXY;Event.stopEvent(p_oEvent);this.contextEventTarget=Event.getTarget(p_oEvent);this.triggerContextMenuEvent.fire(p_oEvent);YAHOO.widget.MenuManager.hideVisible();if(!this._bCancelled){aXY=Event.getXY(p_oEvent);if(!YAHOO.util.Dom.inDocument(this.element)){this.beforeShowEvent.subscribe(position,aXY);}
else{this.cfg.setProperty("xy",aXY);}
this.show();}
this._bCancelled=false;},toString:function(){var sReturnVal="ContextMenu",sId=this.id;if(sId){sReturnVal+=(" "+sId);}
return sReturnVal;},initDefaultConfig:function(){ContextMenu.superclass.initDefaultConfig.call(this);this.cfg.addProperty(DEFAULT_CONFIG.TRIGGER.key,{handler:this.configTrigger,suppressEvent:DEFAULT_CONFIG.TRIGGER.suppressEvent});},destroy:function(){this._removeEventHandlers();ContextMenu.superclass.destroy.call(this);},configTrigger:function(p_sType,p_aArgs,p_oMenu){var oTrigger=p_aArgs[0];if(oTrigger){if(this._oTrigger){this._removeEventHandlers();}
this._oTrigger=oTrigger;Event.on(oTrigger,EVENT_TYPES.CONTEXT_MENU,this._onTriggerContextMenu,this,true);if(YAHOO.env.ua.opera){Event.on(oTrigger,EVENT_TYPES.CLICK,this._onTriggerClick,this,true);}}
else{this._removeEventHandlers();}}});}());YAHOO.widget.ContextMenuItem=YAHOO.widget.MenuItem;(function(){YAHOO.widget.MenuBar=function(p_oElement,p_oConfig){YAHOO.widget.MenuBar.superclass.constructor.call(this,p_oElement,p_oConfig);};function checkPosition(p_sPosition){if(typeof p_sPosition=="string"){return("dynamic,static".indexOf((p_sPosition.toLowerCase()))!=-1);}}
var Event=YAHOO.util.Event,MenuBar=YAHOO.widget.MenuBar,DEFAULT_CONFIG={"POSITION":{key:"position",value:"static",validator:checkPosition,supercedes:["visible"]},"SUBMENU_ALIGNMENT":{key:"submenualignment",value:["tl","bl"],suppressEvent:true},"AUTO_SUBMENU_DISPLAY":{key:"autosubmenudisplay",value:false,validator:YAHOO.lang.isBoolean,suppressEvent:true}};YAHOO.lang.extend(MenuBar,YAHOO.widget.Menu,{init:function(p_oElement,p_oConfig){if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuBarItem;}
MenuBar.superclass.init.call(this,p_oElement);this.beforeInitEvent.fire(MenuBar);if(p_oConfig){this.cfg.applyConfig(p_oConfig,true);}
this.initEvent.fire(MenuBar);},CSS_CLASS_NAME:"yuimenubar",_onKeyDown:function(p_sType,p_aArgs,p_oMenuBar){var oEvent=p_aArgs[0],oItem=p_aArgs[1],oSubmenu,oItemCfg,oNextItem;if(oItem&&!oItem.cfg.getProperty("disabled")){oItemCfg=oItem.cfg;switch(oEvent.keyCode){case 37:case 39:if(oItem==this.activeItem&&!oItemCfg.getProperty("selected")){oItemCfg.setProperty("selected",true);}
else{oNextItem=(oEvent.keyCode==37)?oItem.getPreviousEnabledSibling():oItem.getNextEnabledSibling();if(oNextItem){this.clearActiveItem();oNextItem.cfg.setProperty("selected",true);if(this.cfg.getProperty("autosubmenudisplay")){oSubmenu=oNextItem.cfg.getProperty("submenu");if(oSubmenu){oSubmenu.show();}}
oNextItem.focus();}}
Event.preventDefault(oEvent);break;case 40:if(this.activeItem!=oItem){this.clearActiveItem();oItemCfg.setProperty("selected",true);oItem.focus();}
oSubmenu=oItemCfg.getProperty("submenu");if(oSubmenu){if(oSubmenu.cfg.getProperty("visible")){oSubmenu.setInitialSelection();oSubmenu.setInitialFocus();}
else{oSubmenu.show();}}
Event.preventDefault(oEvent);break;}}
if(oEvent.keyCode==27&&this.activeItem){oSubmenu=this.activeItem.cfg.getProperty("submenu");if(oSubmenu&&oSubmenu.cfg.getProperty("visible")){oSubmenu.hide();this.activeItem.focus();}
else{this.activeItem.cfg.setProperty("selected",false);this.activeItem.blur();}
Event.preventDefault(oEvent);}},_onClick:function(p_sType,p_aArgs,p_oMenuBar){MenuBar.superclass._onClick.call(this,p_sType,p_aArgs,p_oMenuBar);var oItem=p_aArgs[1],oEvent,oTarget,oActiveItem,oConfig,oSubmenu;if(oItem&&!oItem.cfg.getProperty("disabled")){oEvent=p_aArgs[0];oTarget=Event.getTarget(oEvent);oActiveItem=this.activeItem;oConfig=this.cfg;if(oActiveItem&&oActiveItem!=oItem){this.clearActiveItem();}
oItem.cfg.setProperty("selected",true);oSubmenu=oItem.cfg.getProperty("submenu");if(oSubmenu){if(oSubmenu.cfg.getProperty("visible")){oSubmenu.hide();}
else{oSubmenu.show();}}}},toString:function(){var sReturnVal="MenuBar",sId=this.id;if(sId){sReturnVal+=(" "+sId);}
return sReturnVal;},initDefaultConfig:function(){MenuBar.superclass.initDefaultConfig.call(this);var oConfig=this.cfg;oConfig.addProperty(DEFAULT_CONFIG.POSITION.key,{handler:this.configPosition,value:DEFAULT_CONFIG.POSITION.value,validator:DEFAULT_CONFIG.POSITION.validator,supercedes:DEFAULT_CONFIG.POSITION.supercedes});oConfig.addProperty(DEFAULT_CONFIG.SUBMENU_ALIGNMENT.key,{value:DEFAULT_CONFIG.SUBMENU_ALIGNMENT.value,suppressEvent:DEFAULT_CONFIG.SUBMENU_ALIGNMENT.suppressEvent});oConfig.addProperty(DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.key,{value:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.value,validator:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.validator,suppressEvent:DEFAULT_CONFIG.AUTO_SUBMENU_DISPLAY.suppressEvent});}});}());YAHOO.widget.MenuBarItem=function(p_oObject,p_oConfig){YAHOO.widget.MenuBarItem.superclass.constructor.call(this,p_oObject,p_oConfig);};YAHOO.lang.extend(YAHOO.widget.MenuBarItem,YAHOO.widget.MenuItem,{init:function(p_oObject,p_oConfig){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=YAHOO.widget.Menu;}
YAHOO.widget.MenuBarItem.superclass.init.call(this,p_oObject);var oConfig=this.cfg;if(p_oConfig){oConfig.applyConfig(p_oConfig,true);}
oConfig.fireQueue();},CSS_CLASS_NAME:"yuimenubaritem",CSS_LABEL_CLASS_NAME:"yuimenubaritemlabel",toString:function(){var sReturnVal="MenuBarItem";if(this.cfg&&this.cfg.getProperty("text")){sReturnVal+=(": "+this.cfg.getProperty("text"));}
return sReturnVal;}});YAHOO.register("menu",YAHOO.widget.Menu,{version:"2.4.1",build:"742"});YAHOO.util.Connect={_msxml_progid:['Microsoft.XMLHTTP','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:'application/x-www-form-urlencoded; charset=UTF-8',_default_form_header:'application/x-www-form-urlencoded',_use_default_xhr_header:true,_default_xhr_header:'XMLHttpRequest',_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function()
{if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,'click',function(e){var obj=YAHOO.util.Event.getTarget(e);if(obj.type&&obj.type.toLowerCase()=='submit'){YAHOO.util.Connect._submitElementValue=encodeURIComponent(obj.name)+"="+encodeURIComponent(obj.value);}});return true;}
return false;})(),startEvent:new YAHOO.util.CustomEvent('start'),completeEvent:new YAHOO.util.CustomEvent('complete'),successEvent:new YAHOO.util.CustomEvent('success'),failureEvent:new YAHOO.util.CustomEvent('failure'),uploadEvent:new YAHOO.util.CustomEvent('upload'),abortEvent:new YAHOO.util.CustomEvent('abort'),_customEvents:{onStart:['startEvent','start'],onComplete:['completeEvent','complete'],onSuccess:['successEvent','success'],onFailure:['failureEvent','failure'],onUpload:['uploadEvent','upload'],onAbort:['abortEvent','abort']},setProgId:function(id)
{this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b)
{if(typeof b=='string'){this._default_post_header=b;}
else if(typeof b=='boolean'){this._use_default_post_header=b;}},setDefaultXhrHeader:function(b)
{if(typeof b=='string'){this._default_xhr_header=b;}
else{this._use_default_xhr_header=b;}},setPollingInterval:function(i)
{if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId)
{var obj,http;try
{http=new XMLHttpRequest();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;++i){try
{http=new ActiveXObject(this._msxml_progid[i]);obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function(isFileUpload)
{var o;var tId=this._transaction_id;try
{if(!isFileUpload){o=this.createXhrObject(tId);}
else{o={};o.tId=tId;o.isUpload=true;}
if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData)
{var o=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var args=(callback&&callback.argument)?callback.argument:null;if(!o){return null;}
else{if(callback&&callback.customevents){this.initCustomEvents(o,callback);}
if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o,callback,uri,postData);return o;}
if(method.toUpperCase()=='GET'){if(this._sFormData.length!==0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}}
else if(method.toUpperCase()=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
if(method.toUpperCase()=='GET'&&(callback&&callback.cache===false)){uri+=((uri.indexOf('?')==-1)?'?':'&')+"rnd="+new Date().valueOf().toString();}
o.conn.open(method,uri,true);if(this._use_default_xhr_header){if(!this._default_headers['X-Requested-With']){this.initHeader('X-Requested-With',this._default_xhr_header,true);}}
if((method.toUpperCase()=='POST'&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader('Content-Type',this._default_post_header);}
if(this._has_default_headers||this._has_http_headers){this.setHeader(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);if(this._isFormSubmit===true){this.resetFormState();}
this.startEvent.fire(o,args);if(o.startEvent){o.startEvent.fire(o,args);}
return o;}},initCustomEvents:function(o,callback)
{for(var prop in callback.customevents){if(this._customEvents[prop][0]){o[this._customEvents[prop][0]]=new YAHOO.util.CustomEvent(this._customEvents[prop][1],(callback.scope)?callback.scope:null);o[this._customEvents[prop][0]].subscribe(callback.customevents[prop]);}}},handleReadyState:function(o,callback)
{var oConn=this;var args=(callback&&callback.argument)?callback.argument:null;if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
this._poll[o.tId]=window.setInterval(function(){if(o.conn&&o.conn.readyState===4){window.clearInterval(oConn._poll[o.tId]);delete oConn._poll[o.tId];if(callback&&callback.timeout){window.clearTimeout(oConn._timeOut[o.tId]);delete oConn._timeOut[o.tId];}
oConn.completeEvent.fire(o,args);if(o.completeEvent){o.completeEvent.fire(o,args);}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval);},handleTransactionResponse:function(o,callback,isAbort)
{var httpStatus,responseObject;var args=(callback&&callback.argument)?callback.argument:null;try
{if(o.conn.status!==undefined&&o.conn.status!==0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300||httpStatus===1223){responseObject=this.createResponseObject(o,args);if(callback&&callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}
this.successEvent.fire(responseObject);if(o.successEvent){o.successEvent.fire(responseObject);}}
else{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,args,(isAbort?isAbort:false));if(callback&&callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,args);if(callback&&callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}
this.failureEvent.fire(responseObject);if(o.failureEvent){o.failureEvent.fire(responseObject);}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg)
{var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos=header[i].indexOf(':');if(delimitPos!=-1){headerObj[header[i].substring(0,delimitPos)]=header[i].substring(delimitPos+2);}}}
catch(e){}
obj.tId=o.tId;obj.status=(o.conn.status==1223)?204:o.conn.status;obj.statusText=(o.conn.status==1223)?"No Content":o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(callbackArg){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort)
{var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value,isDefault)
{var headerObj=(isDefault)?this._default_headers:this._http_headers;headerObj[label]=value;if(isDefault){this._has_default_headers=true;}
else{this._has_http_headers=true;}},setHeader:function(o)
{if(this._has_default_headers){for(var prop in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,prop)){o.conn.setRequestHeader(prop,this._default_headers[prop]);}}}
if(this._has_http_headers){for(var prop in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,prop)){o.conn.setRequestHeader(prop,this._http_headers[prop]);}}
delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(formId,isUpload,secureUri)
{this.resetFormState();var oForm;if(typeof formId=='string'){oForm=(document.getElementById(formId)||document.forms[formId]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){var io=this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement=oForm.elements[i];oDisabled=oElement.disabled;oName=oElement.name;oValue=oElement.value;if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if(oElement.options[j].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit===false){if(this._hasSubmitListener&&this._submitElementValue){this._sFormData+=this._submitElementValue+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}}}
this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);this.initHeader('Content-Type',this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(secureUri){var frameId='yuiIO'+this._transaction_id;var io;if(window.ActiveXObject){io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){io.src='javascript:false';}
else if(typeof secureURI=='string'){io.src=secureUri;}}
else{io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);},appendPostData:function(postData)
{var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos=postMessage[i].indexOf('=');if(delimitPos!=-1){formElements[i]=document.createElement('input');formElements[i].type='hidden';formElements[i].name=postMessage[i].substring(0,delimitPos);formElements[i].value=postMessage[i].substring(delimitPos+1);this._formNode.appendChild(formElements[i]);}}
return formElements;},uploadFile:function(o,callback,uri,postData){var oConn=this;var frameId='yuiIO'+o.tId;var uploadEncoding='multipart/form-data';var io=document.getElementById(frameId);var args=(callback&&callback.argument)?callback.argument:null;var rawFormAttributes={action:this._formNode.getAttribute('action'),method:this._formNode.getAttribute('method'),target:this._formNode.getAttribute('target')};this._formNode.setAttribute('action',uri);this._formNode.setAttribute('method','POST');this._formNode.setAttribute('target',frameId);if(this._formNode.encoding){this._formNode.setAttribute('encoding',uploadEncoding);}
else{this._formNode.setAttribute('enctype',uploadEncoding);}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();this.startEvent.fire(o,args);if(o.startEvent){o.startEvent.fire(o,args);}
if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
if(oElements&&oElements.length>0){for(var i=0;i<oElements.length;i++){this._formNode.removeChild(oElements[i]);}}
for(var prop in rawFormAttributes){if(YAHOO.lang.hasOwnProperty(rawFormAttributes,prop)){if(rawFormAttributes[prop]){this._formNode.setAttribute(prop,rawFormAttributes[prop]);}
else{this._formNode.removeAttribute(prop);}}}
this.resetFormState();var uploadCallback=function()
{if(callback&&callback.timeout){window.clearTimeout(oConn._timeOut[o.tId]);delete oConn._timeOut[o.tId];}
oConn.completeEvent.fire(o,args);if(o.completeEvent){o.completeEvent.fire(o,args);}
var obj={};obj.tId=o.tId;obj.argument=callback.argument;try
{obj.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:io.contentWindow.document.documentElement.textContent;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback&&callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
oConn.uploadEvent.fire(obj);if(o.uploadEvent){o.uploadEvent.fire(obj);}
YAHOO.util.Event.removeListener(io,"load",uploadCallback);setTimeout(function(){document.body.removeChild(io);oConn.releaseObject(o);},100);};YAHOO.util.Event.addListener(io,"load",uploadCallback);},abort:function(o,callback,isTimeout)
{var abortStatus;var args=(callback&&callback.argument)?callback.argument:null;if(o&&o.conn){if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval(this._poll[o.tId]);delete this._poll[o.tId];if(isTimeout){window.clearTimeout(this._timeOut[o.tId]);delete this._timeOut[o.tId];}
abortStatus=true;}}
else if(o&&o.isUpload===true){var frameId='yuiIO'+o.tId;var io=document.getElementById(frameId);if(io){YAHOO.util.Event.removeListener(io,"load");document.body.removeChild(io);if(isTimeout){window.clearTimeout(this._timeOut[o.tId]);delete this._timeOut[o.tId];}
abortStatus=true;}}
else{abortStatus=false;}
if(abortStatus===true){this.abortEvent.fire(o,args);if(o.abortEvent){o.abortEvent.fire(o,args);}
this.handleTransactionResponse(o,callback,true);}
return abortStatus;},isCallInProgress:function(o)
{if(o&&o.conn){return o.conn.readyState!==4&&o.conn.readyState!==0;}
else if(o&&o.isUpload===true){var frameId='yuiIO'+o.tId;return document.getElementById(frameId)?true:false;}
else{return false;}},releaseObject:function(o)
{if(o&&o.conn){o.conn=null;o=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.4.1",build:"742"});YAHOO.util.Anim=function(el,attributes,duration,method){if(!el){}
this.init(el,attributes,duration,method);};YAHOO.util.Anim.prototype={toString:function(){var el=this.getEl();var id=el.id||el.tagName||el;return("Anim "+id);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(attr,start,end){return this.method(this.currentFrame,start,end-start,this.totalFrames);},setAttribute:function(attr,val,unit){if(this.patterns.noNegatives.test(attr)){val=(val>0)?val:0;}
YAHOO.util.Dom.setStyle(this.getEl(),attr,val+unit);},getAttribute:function(attr){var el=this.getEl();var val=YAHOO.util.Dom.getStyle(el,attr);if(val!=='auto'&&!this.patterns.offsetUnit.test(val)){return parseFloat(val);}
var a=this.patterns.offsetAttribute.exec(attr)||[];var pos=!!(a[3]);var box=!!(a[2]);if(box||(YAHOO.util.Dom.getStyle(el,'position')=='absolute'&&pos)){val=el['offset'+a[0].charAt(0).toUpperCase()+a[0].substr(1)];}else{val=0;}
return val;},getDefaultUnit:function(attr){if(this.patterns.defaultUnit.test(attr)){return'px';}
return'';},setRuntimeAttribute:function(attr){var start;var end;var attributes=this.attributes;this.runtimeAttributes[attr]={};var isset=function(prop){return(typeof prop!=='undefined');};if(!isset(attributes[attr]['to'])&&!isset(attributes[attr]['by'])){return false;}
start=(isset(attributes[attr]['from']))?attributes[attr]['from']:this.getAttribute(attr);if(isset(attributes[attr]['to'])){end=attributes[attr]['to'];}else if(isset(attributes[attr]['by'])){if(start.constructor==Array){end=[];for(var i=0,len=start.length;i<len;++i){end[i]=start[i]+attributes[attr]['by'][i]*1;}}else{end=start+attributes[attr]['by']*1;}}
this.runtimeAttributes[attr].start=start;this.runtimeAttributes[attr].end=end;this.runtimeAttributes[attr].unit=(isset(attributes[attr].unit))?attributes[attr]['unit']:this.getDefaultUnit(attr);return true;},init:function(el,attributes,duration,method){var isAnimated=false;var startTime=null;var actualFrames=0;el=YAHOO.util.Dom.get(el);this.attributes=attributes||{};this.duration=!YAHOO.lang.isUndefined(duration)?duration:1;this.method=method||YAHOO.util.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=YAHOO.util.AnimMgr.fps;this.setEl=function(element){el=YAHOO.util.Dom.get(element);};this.getEl=function(){return el;};this.isAnimated=function(){return isAnimated;};this.getStartTime=function(){return startTime;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}
this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(YAHOO.util.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}
YAHOO.util.AnimMgr.registerElement(this);return true;};this.stop=function(finish){if(!this.isAnimated()){return false;}
if(finish){this.currentFrame=this.totalFrames;this._onTween.fire();}
YAHOO.util.AnimMgr.stop(this);};var onStart=function(){this.onStart.fire();this.runtimeAttributes={};for(var attr in this.attributes){this.setRuntimeAttribute(attr);}
isAnimated=true;actualFrames=0;startTime=new Date();};var onTween=function(){var data={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};data.toString=function(){return('duration: '+data.duration+', currentFrame: '+data.currentFrame);};this.onTween.fire(data);var runtimeAttributes=this.runtimeAttributes;for(var attr in runtimeAttributes){this.setAttribute(attr,this.doMethod(attr,runtimeAttributes[attr].start,runtimeAttributes[attr].end),runtimeAttributes[attr].unit);}
actualFrames+=1;};var onComplete=function(){var actual_duration=(new Date()-startTime)/1000;var data={duration:actual_duration,frames:actualFrames,fps:actualFrames/actual_duration};data.toString=function(){return('duration: '+data.duration+', frames: '+data.frames+', fps: '+data.fps);};isAnimated=false;actualFrames=0;this.onComplete.fire(data);};this._onStart=new YAHOO.util.CustomEvent('_start',this,true);this.onStart=new YAHOO.util.CustomEvent('start',this);this.onTween=new YAHOO.util.CustomEvent('tween',this);this._onTween=new YAHOO.util.CustomEvent('_tween',this,true);this.onComplete=new YAHOO.util.CustomEvent('complete',this);this._onComplete=new YAHOO.util.CustomEvent('_complete',this,true);this._onStart.subscribe(onStart);this._onTween.subscribe(onTween);this._onComplete.subscribe(onComplete);}};YAHOO.util.AnimMgr=new function(){var thread=null;var queue=[];var tweenCount=0;this.fps=1000;this.delay=1;this.registerElement=function(tween){queue[queue.length]=tween;tweenCount+=1;tween._onStart.fire();this.start();};this.unRegister=function(tween,index){index=index||getIndex(tween);if(!tween.isAnimated()||index==-1){return false;}
tween._onComplete.fire();queue.splice(index,1);tweenCount-=1;if(tweenCount<=0){this.stop();}
return true;};this.start=function(){if(thread===null){thread=setInterval(this.run,this.delay);}};this.stop=function(tween){if(!tween){clearInterval(thread);for(var i=0,len=queue.length;i<len;++i){this.unRegister(queue[0],0);}
queue=[];thread=null;tweenCount=0;}
else{this.unRegister(tween);}};this.run=function(){for(var i=0,len=queue.length;i<len;++i){var tween=queue[i];if(!tween||!tween.isAnimated()){continue;}
if(tween.currentFrame<tween.totalFrames||tween.totalFrames===null)
{tween.currentFrame+=1;if(tween.useSeconds){correctFrame(tween);}
tween._onTween.fire();}
else{YAHOO.util.AnimMgr.stop(tween,i);}}};var getIndex=function(anim){for(var i=0,len=queue.length;i<len;++i){if(queue[i]==anim){return i;}}
return-1;};var correctFrame=function(tween){var frames=tween.totalFrames;var frame=tween.currentFrame;var expected=(tween.currentFrame*tween.duration*1000/tween.totalFrames);var elapsed=(new Date()-tween.getStartTime());var tweak=0;if(elapsed<tween.duration*1000){tweak=Math.round((elapsed/expected-1)*tween.currentFrame);}else{tweak=frames-(frame+1);}
if(tweak>0&&isFinite(tweak)){if(tween.currentFrame+tweak>=frames){tweak=frames-(frame+1);}
tween.currentFrame+=tweak;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(points,t){var n=points.length;var tmp=[];for(var i=0;i<n;++i){tmp[i]=[points[i][0],points[i][1]];}
for(var j=1;j<n;++j){for(i=0;i<n-j;++i){tmp[i][0]=(1-t)*tmp[i][0]+t*tmp[parseInt(i+1,10)][0];tmp[i][1]=(1-t)*tmp[i][1]+t*tmp[parseInt(i+1,10)][1];}}
return[tmp[0][0],tmp[0][1]];};};(function(){YAHOO.util.ColorAnim=function(el,attributes,duration,method){YAHOO.util.ColorAnim.superclass.constructor.call(this,el,attributes,duration,method);};YAHOO.extend(YAHOO.util.ColorAnim,YAHOO.util.Anim);var Y=YAHOO.util;var superclass=Y.ColorAnim.superclass;var proto=Y.ColorAnim.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("ColorAnim "+id);};proto.patterns.color=/color$/i;proto.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;proto.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;proto.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;proto.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;proto.parseColor=function(s){if(s.length==3){return s;}
var c=this.patterns.hex.exec(s);if(c&&c.length==4){return[parseInt(c[1],16),parseInt(c[2],16),parseInt(c[3],16)];}
c=this.patterns.rgb.exec(s);if(c&&c.length==4){return[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10)];}
c=this.patterns.hex3.exec(s);if(c&&c.length==4){return[parseInt(c[1]+c[1],16),parseInt(c[2]+c[2],16),parseInt(c[3]+c[3],16)];}
return null;};proto.getAttribute=function(attr){var el=this.getEl();if(this.patterns.color.test(attr)){var val=YAHOO.util.Dom.getStyle(el,attr);if(this.patterns.transparent.test(val)){var parent=el.parentNode;val=Y.Dom.getStyle(parent,attr);while(parent&&this.patterns.transparent.test(val)){parent=parent.parentNode;val=Y.Dom.getStyle(parent,attr);if(parent.tagName.toUpperCase()=='HTML'){val='#fff';}}}}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.doMethod=function(attr,start,end){var val;if(this.patterns.color.test(attr)){val=[];for(var i=0,len=start.length;i<len;++i){val[i]=superclass.doMethod.call(this,attr,start[i],end[i]);}
val='rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')';}
else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.setRuntimeAttribute=function(attr){superclass.setRuntimeAttribute.call(this,attr);if(this.patterns.color.test(attr)){var attributes=this.attributes;var start=this.parseColor(this.runtimeAttributes[attr].start);var end=this.parseColor(this.runtimeAttributes[attr].end);if(typeof attributes[attr]['to']==='undefined'&&typeof attributes[attr]['by']!=='undefined'){end=this.parseColor(attributes[attr].by);for(var i=0,len=start.length;i<len;++i){end[i]=start[i]+end[i];}}
this.runtimeAttributes[attr].start=start;this.runtimeAttributes[attr].end=end;}};})();YAHOO.util.Easing={easeNone:function(t,b,c,d){return c*t/d+b;},easeIn:function(t,b,c,d){return c*(t/=d)*t+b;},easeOut:function(t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeBoth:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t+b;}
return-c/2*((--t)*(t-2)-1)+b;},easeInStrong:function(t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutStrong:function(t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeBothStrong:function(t,b,c,d){if((t/=d/2)<1){return c/2*t*t*t*t+b;}
return-c/2*((t-=2)*t*t*t-2)+b;},elasticIn:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d)==1){return b+c;}
if(!p){p=d*.3;}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},elasticOut:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d)==1){return b+c;}
if(!p){p=d*.3;}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},elasticBoth:function(t,b,c,d,a,p){if(t==0){return b;}
if((t/=d/2)==2){return b+c;}
if(!p){p=d*(.3*1.5);}
if(!a||a<Math.abs(c)){a=c;var s=p/4;}
else{var s=p/(2*Math.PI)*Math.asin(c/a);}
if(t<1){return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;}
return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},backIn:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
return c*(t/=d)*t*((s+1)*t-s)+b;},backOut:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},backBoth:function(t,b,c,d,s){if(typeof s=='undefined'){s=1.70158;}
if((t/=d/2)<1){return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;}
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},bounceIn:function(t,b,c,d){return c-YAHOO.util.Easing.bounceOut(d-t,0,c,d)+b;},bounceOut:function(t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}
return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;},bounceBoth:function(t,b,c,d){if(t<d/2){return YAHOO.util.Easing.bounceIn(t*2,0,c,d)*.5+b;}
return YAHOO.util.Easing.bounceOut(t*2-d,0,c,d)*.5+c*.5+b;}};(function(){YAHOO.util.Motion=function(el,attributes,duration,method){if(el){YAHOO.util.Motion.superclass.constructor.call(this,el,attributes,duration,method);}};YAHOO.extend(YAHOO.util.Motion,YAHOO.util.ColorAnim);var Y=YAHOO.util;var superclass=Y.Motion.superclass;var proto=Y.Motion.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("Motion "+id);};proto.patterns.points=/^points$/i;proto.setAttribute=function(attr,val,unit){if(this.patterns.points.test(attr)){unit=unit||'px';superclass.setAttribute.call(this,'left',val[0],unit);superclass.setAttribute.call(this,'top',val[1],unit);}else{superclass.setAttribute.call(this,attr,val,unit);}};proto.getAttribute=function(attr){if(this.patterns.points.test(attr)){var val=[superclass.getAttribute.call(this,'left'),superclass.getAttribute.call(this,'top')];}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.doMethod=function(attr,start,end){var val=null;if(this.patterns.points.test(attr)){var t=this.method(this.currentFrame,0,100,this.totalFrames)/100;val=Y.Bezier.getPosition(this.runtimeAttributes[attr],t);}else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.setRuntimeAttribute=function(attr){if(this.patterns.points.test(attr)){var el=this.getEl();var attributes=this.attributes;var start;var control=attributes['points']['control']||[];var end;var i,len;if(control.length>0&&!(control[0]instanceof Array)){control=[control];}else{var tmp=[];for(i=0,len=control.length;i<len;++i){tmp[i]=control[i];}
control=tmp;}
if(Y.Dom.getStyle(el,'position')=='static'){Y.Dom.setStyle(el,'position','relative');}
if(isset(attributes['points']['from'])){Y.Dom.setXY(el,attributes['points']['from']);}
else{Y.Dom.setXY(el,Y.Dom.getXY(el));}
start=this.getAttribute('points');if(isset(attributes['points']['to'])){end=translateValues.call(this,attributes['points']['to'],start);var pageXY=Y.Dom.getXY(this.getEl());for(i=0,len=control.length;i<len;++i){control[i]=translateValues.call(this,control[i],start);}}else if(isset(attributes['points']['by'])){end=[start[0]+attributes['points']['by'][0],start[1]+attributes['points']['by'][1]];for(i=0,len=control.length;i<len;++i){control[i]=[start[0]+control[i][0],start[1]+control[i][1]];}}
this.runtimeAttributes[attr]=[start];if(control.length>0){this.runtimeAttributes[attr]=this.runtimeAttributes[attr].concat(control);}
this.runtimeAttributes[attr][this.runtimeAttributes[attr].length]=end;}
else{superclass.setRuntimeAttribute.call(this,attr);}};var translateValues=function(val,start){var pageXY=Y.Dom.getXY(this.getEl());val=[val[0]-pageXY[0]+start[0],val[1]-pageXY[1]+start[1]];return val;};var isset=function(prop){return(typeof prop!=='undefined');};})();(function(){YAHOO.util.Scroll=function(el,attributes,duration,method){if(el){YAHOO.util.Scroll.superclass.constructor.call(this,el,attributes,duration,method);}};YAHOO.extend(YAHOO.util.Scroll,YAHOO.util.ColorAnim);var Y=YAHOO.util;var superclass=Y.Scroll.superclass;var proto=Y.Scroll.prototype;proto.toString=function(){var el=this.getEl();var id=el.id||el.tagName;return("Scroll "+id);};proto.doMethod=function(attr,start,end){var val=null;if(attr=='scroll'){val=[this.method(this.currentFrame,start[0],end[0]-start[0],this.totalFrames),this.method(this.currentFrame,start[1],end[1]-start[1],this.totalFrames)];}else{val=superclass.doMethod.call(this,attr,start,end);}
return val;};proto.getAttribute=function(attr){var val=null;var el=this.getEl();if(attr=='scroll'){val=[el.scrollLeft,el.scrollTop];}else{val=superclass.getAttribute.call(this,attr);}
return val;};proto.setAttribute=function(attr,val,unit){var el=this.getEl();if(attr=='scroll'){el.scrollLeft=val[0];el.scrollTop=val[1];}else{superclass.setAttribute.call(this,attr,val,unit);}};})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.4.1",build:"742"});YAHOO.widget.AutoComplete=function(elInput,elContainer,oDataSource,oConfigs){if(elInput&&elContainer&&oDataSource){if(oDataSource instanceof YAHOO.widget.DataSource){this.dataSource=oDataSource;}
else{return;}
if(YAHOO.util.Dom.inDocument(elInput)){if(YAHOO.lang.isString(elInput)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+elInput;this._oTextbox=document.getElementById(elInput);}
else{this._sName=(elInput.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+elInput.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._oTextbox=elInput;}
YAHOO.util.Dom.addClass(this._oTextbox,"yui-ac-input");}
else{return;}
if(YAHOO.util.Dom.inDocument(elContainer)){if(YAHOO.lang.isString(elContainer)){this._oContainer=document.getElementById(elContainer);}
else{this._oContainer=elContainer;}
if(this._oContainer.style.display=="none"){}
var elParent=this._oContainer.parentNode;var elTag=elParent.tagName.toLowerCase();if(elTag=="div"){YAHOO.util.Dom.addClass(elParent,"yui-ac");}
else{}}
else{return;}
if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}
this._initContainer();this._initProps();this._initList();this._initContainerHelpers();var oSelf=this;var oTextbox=this._oTextbox;var oContent=this._oContainer._oContent;YAHOO.util.Event.addListener(oTextbox,"keyup",oSelf._onTextboxKeyUp,oSelf);YAHOO.util.Event.addListener(oTextbox,"keydown",oSelf._onTextboxKeyDown,oSelf);YAHOO.util.Event.addListener(oTextbox,"focus",oSelf._onTextboxFocus,oSelf);YAHOO.util.Event.addListener(oTextbox,"blur",oSelf._onTextboxBlur,oSelf);YAHOO.util.Event.addListener(oContent,"mouseover",oSelf._onContainerMouseover,oSelf);YAHOO.util.Event.addListener(oContent,"mouseout",oSelf._onContainerMouseout,oSelf);YAHOO.util.Event.addListener(oContent,"scroll",oSelf._onContainerScroll,oSelf);YAHOO.util.Event.addListener(oContent,"resize",oSelf._onContainerResize,oSelf);YAHOO.util.Event.addListener(oTextbox,"keypress",oSelf._onTextboxKeyPress,oSelf);YAHOO.util.Event.addListener(window,"unload",oSelf._onWindowUnload,oSelf);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);oTextbox.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++;}
else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.AutoComplete.prototype.getListItems=function(){return this._aListItems;};YAHOO.widget.AutoComplete.prototype.getListItemData=function(oListItem){if(oListItem._oResultData){return oListItem._oResultData;}
else{return false;}};YAHOO.widget.AutoComplete.prototype.setHeader=function(sHeader){if(sHeader){if(this._oContainer._oContent._oHeader){this._oContainer._oContent._oHeader.innerHTML=sHeader;this._oContainer._oContent._oHeader.style.display="block";}}
else{this._oContainer._oContent._oHeader.innerHTML="";this._oContainer._oContent._oHeader.style.display="none";}};YAHOO.widget.AutoComplete.prototype.setFooter=function(sFooter){if(sFooter){if(this._oContainer._oContent._oFooter){this._oContainer._oContent._oFooter.innerHTML=sFooter;this._oContainer._oContent._oFooter.style.display="block";}}
else{this._oContainer._oContent._oFooter.innerHTML="";this._oContainer._oContent._oFooter.style.display="none";}};YAHOO.widget.AutoComplete.prototype.setBody=function(sBody){if(sBody){if(this._oContainer._oContent._oBody){this._oContainer._oContent._oBody.innerHTML=sBody;this._oContainer._oContent._oBody.style.display="block";this._oContainer._oContent.style.display="block";}}
else{this._oContainer._oContent._oBody.innerHTML="";this._oContainer._oContent.style.display="none";}
this._maxResultsDisplayed=0;};YAHOO.widget.AutoComplete.prototype.formatResult=function(oResultItem,sQuery){var sResult=oResultItem[0];if(sResult){return sResult;}
else{return"";}};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(oTextbox,oContainer,sQuery,aResults){return true;};YAHOO.widget.AutoComplete.prototype.sendQuery=function(sQuery){this._sendQuery(sQuery);};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(sQuery){return sQuery;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var instanceName=this.toString();var elInput=this._oTextbox;var elContainer=this._oContainer;this.textboxFocusEvent.unsubscribe();this.textboxKeyEvent.unsubscribe();this.dataRequestEvent.unsubscribe();this.dataReturnEvent.unsubscribe();this.dataErrorEvent.unsubscribe();this.containerExpandEvent.unsubscribe();this.typeAheadEvent.unsubscribe();this.itemMouseOverEvent.unsubscribe();this.itemMouseOutEvent.unsubscribe();this.itemArrowToEvent.unsubscribe();this.itemArrowFromEvent.unsubscribe();this.itemSelectEvent.unsubscribe();this.unmatchedItemSelectEvent.unsubscribe();this.selectionEnforceEvent.unsubscribe();this.containerCollapseEvent.unsubscribe();this.textboxBlurEvent.unsubscribe();YAHOO.util.Event.purgeElement(elInput,true);YAHOO.util.Event.purgeElement(elContainer,true);elContainer.innerHTML="";for(var key in this){if(YAHOO.lang.hasOwnProperty(this,key)){this[key]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete._nIndex=0;YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._oTextbox=null;YAHOO.widget.AutoComplete.prototype._bFocused=true;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._oContainer=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._aListItems=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._maxResultsDisplayed=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sSavedQuery=null;YAHOO.widget.AutoComplete.prototype._oCurItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var minQueryLength=this.minQueryLength;if(!YAHOO.lang.isNumber(minQueryLength)){this.minQueryLength=1;}
var maxResultsDisplayed=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(maxResultsDisplayed)||(maxResultsDisplayed<1)){this.maxResultsDisplayed=10;}
var queryDelay=this.queryDelay;if(!YAHOO.lang.isNumber(queryDelay)||(queryDelay<0)){this.queryDelay=0.2;}
var delimChar=this.delimChar;if(YAHOO.lang.isString(delimChar)&&(delimChar.length>0)){this.delimChar=[delimChar];}
else if(!YAHOO.lang.isArray(delimChar)){this.delimChar=null;}
var animSpeed=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(animSpeed)||(animSpeed<0)){this.animSpeed=0.3;}
if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._oContainer._oContent,{},this.animSpeed);}
else{this._oAnim.duration=this.animSpeed;}}
if(this.forceSelection&&delimChar){}};YAHOO.widget.AutoComplete.prototype._initContainerHelpers=function(){if(this.useShadow&&!this._oContainer._oShadow){var oShadow=document.createElement("div");oShadow.className="yui-ac-shadow";this._oContainer._oShadow=this._oContainer.appendChild(oShadow);}
if(this.useIFrame&&!this._oContainer._oIFrame){var oIFrame=document.createElement("iframe");oIFrame.src=this._iFrameSrc;oIFrame.frameBorder=0;oIFrame.scrolling="no";oIFrame.style.position="absolute";oIFrame.style.width="100%";oIFrame.style.height="100%";oIFrame.tabIndex=-1;this._oContainer._oIFrame=this._oContainer.appendChild(oIFrame);}};YAHOO.widget.AutoComplete.prototype._initContainer=function(){YAHOO.util.Dom.addClass(this._oContainer,"yui-ac-container");if(!this._oContainer._oContent){var oContent=document.createElement("div");oContent.className="yui-ac-content";oContent.style.display="none";this._oContainer._oContent=this._oContainer.appendChild(oContent);var oHeader=document.createElement("div");oHeader.className="yui-ac-hd";oHeader.style.display="none";this._oContainer._oContent._oHeader=this._oContainer._oContent.appendChild(oHeader);var oBody=document.createElement("div");oBody.className="yui-ac-bd";this._oContainer._oContent._oBody=this._oContainer._oContent.appendChild(oBody);var oFooter=document.createElement("div");oFooter.className="yui-ac-ft";oFooter.style.display="none";this._oContainer._oContent._oFooter=this._oContainer._oContent.appendChild(oFooter);}
else{}};YAHOO.widget.AutoComplete.prototype._initList=function(){this._aListItems=[];while(this._oContainer._oContent._oBody.hasChildNodes()){var oldListItems=this.getListItems();if(oldListItems){for(var oldi=oldListItems.length-1;oldi>=0;oldi--){oldListItems[oldi]=null;}}
this._oContainer._oContent._oBody.innerHTML="";}
var oList=document.createElement("ul");oList=this._oContainer._oContent._oBody.appendChild(oList);for(var i=0;i<this.maxResultsDisplayed;i++){var oItem=document.createElement("li");oItem=oList.appendChild(oItem);this._aListItems[i]=oItem;this._initListItem(oItem,i);}
this._maxResultsDisplayed=this.maxResultsDisplayed;};YAHOO.widget.AutoComplete.prototype._initListItem=function(oItem,nItemIndex){var oSelf=this;oItem.style.display="none";oItem._nItemIndex=nItemIndex;oItem.mouseover=oItem.mouseout=oItem.onclick=null;YAHOO.util.Event.addListener(oItem,"mouseover",oSelf._onItemMouseover,oSelf);YAHOO.util.Event.addListener(oItem,"mouseout",oSelf._onItemMouseout,oSelf);YAHOO.util.Event.addListener(oItem,"click",oSelf._onItemMouseclick,oSelf);};YAHOO.widget.AutoComplete.prototype._onIMEDetected=function(oSelf){oSelf._enableIntervalDetection();};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var currValue=this._oTextbox.value;var lastValue=this._sLastTextboxValue;if(currValue!=lastValue){this._sLastTextboxValue=currValue;this._sendQuery(currValue);}};YAHOO.widget.AutoComplete.prototype._cancelIntervalDetection=function(oSelf){if(oSelf._queryInterval){clearInterval(oSelf._queryInterval);}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(nKeyCode){if((nKeyCode==9)||(nKeyCode==13)||(nKeyCode==16)||(nKeyCode==17)||(nKeyCode>=18&&nKeyCode<=20)||(nKeyCode==27)||(nKeyCode>=33&&nKeyCode<=35)||(nKeyCode>=36&&nKeyCode<=40)||(nKeyCode>=44&&nKeyCode<=45)){return true;}
return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(sQuery){if(this.minQueryLength==-1){this._toggleContainer(false);return;}
var aDelimChar=(this.delimChar)?this.delimChar:null;if(aDelimChar){var nDelimIndex=-1;for(var i=aDelimChar.length-1;i>=0;i--){var nNewIndex=sQuery.lastIndexOf(aDelimChar[i]);if(nNewIndex>nDelimIndex){nDelimIndex=nNewIndex;}}
if(aDelimChar[i]==" "){for(var j=aDelimChar.length-1;j>=0;j--){if(sQuery[nDelimIndex-1]==aDelimChar[j]){nDelimIndex--;break;}}}
if(nDelimIndex>-1){var nQueryStart=nDelimIndex+1;while(sQuery.charAt(nQueryStart)==" "){nQueryStart+=1;}
this._sSavedQuery=sQuery.substring(0,nQueryStart);sQuery=sQuery.substr(nQueryStart);}
else if(sQuery.indexOf(this._sSavedQuery)<0){this._sSavedQuery=null;}}
if((sQuery&&(sQuery.length<this.minQueryLength))||(!sQuery&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}
this._toggleContainer(false);return;}
sQuery=encodeURIComponent(sQuery);this._nDelayID=-1;sQuery=this.doBeforeSendQuery(sQuery);this.dataRequestEvent.fire(this,sQuery);this.dataSource.getResults(this._populateList,sQuery,this);};YAHOO.widget.AutoComplete.prototype._populateList=function(sQuery,aResults,oSelf){if(aResults===null){oSelf.dataErrorEvent.fire(oSelf,sQuery);}
if(!oSelf._bFocused||!aResults){return;}
var isOpera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);var contentStyle=oSelf._oContainer._oContent.style;contentStyle.width=(!isOpera)?null:"";contentStyle.height=(!isOpera)?null:"";var sCurQuery=decodeURIComponent(sQuery);oSelf._sCurQuery=sCurQuery;oSelf._bItemSelected=false;if(oSelf._maxResultsDisplayed!=oSelf.maxResultsDisplayed){oSelf._initList();}
var nItems=Math.min(aResults.length,oSelf.maxResultsDisplayed);oSelf._nDisplayedItems=nItems;if(nItems>0){oSelf._initContainerHelpers();var aItems=oSelf._aListItems;for(var i=nItems-1;i>=0;i--){var oItemi=aItems[i];var oResultItemi=aResults[i];oItemi.innerHTML=oSelf.formatResult(oResultItemi,sCurQuery);oItemi.style.display="list-item";oItemi._sResultKey=oResultItemi[0];oItemi._oResultData=oResultItemi;}
for(var j=aItems.length-1;j>=nItems;j--){var oItemj=aItems[j];oItemj.innerHTML=null;oItemj.style.display="none";oItemj._sResultKey=null;oItemj._oResultData=null;}
var ok=oSelf.doBeforeExpandContainer(oSelf._oTextbox,oSelf._oContainer,sQuery,aResults);oSelf._toggleContainer(ok);if(oSelf.autoHighlight){var oFirstItem=aItems[0];oSelf._toggleHighlight(oFirstItem,"to");oSelf.itemArrowToEvent.fire(oSelf,oFirstItem);oSelf._typeAhead(oFirstItem,sQuery);}
else{oSelf._oCurItem=null;}}
else{oSelf._toggleContainer(false);}
oSelf.dataReturnEvent.fire(oSelf,sQuery,aResults);};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var sValue=this._oTextbox.value;var sChar=(this.delimChar)?this.delimChar[0]:null;var nIndex=(sChar)?sValue.lastIndexOf(sChar,sValue.length-2):-1;if(nIndex>-1){this._oTextbox.value=sValue.substring(0,nIndex);}
else{this._oTextbox.value="";}
this._sSavedQuery=this._oTextbox.value;this.selectionEnforceEvent.fire(this);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var foundMatch=null;for(var i=this._nDisplayedItems-1;i>=0;i--){var oItem=this._aListItems[i];var sMatch=oItem._sResultKey.toLowerCase();if(sMatch==this._sCurQuery.toLowerCase()){foundMatch=oItem;break;}}
return(foundMatch);};YAHOO.widget.AutoComplete.prototype._typeAhead=function(oItem,sQuery){if(!this.typeAhead||(this._nKeyCode==8)){return;}
var oTextbox=this._oTextbox;var sValue=this._oTextbox.value;if(!oTextbox.setSelectionRange&&!oTextbox.createTextRange){return;}
var nStart=sValue.length;this._updateValue(oItem);var nEnd=oTextbox.value.length;this._selectText(oTextbox,nStart,nEnd);var sPrefill=oTextbox.value.substr(nStart,nEnd);this.typeAheadEvent.fire(this,sQuery,sPrefill);};YAHOO.widget.AutoComplete.prototype._selectText=function(oTextbox,nStart,nEnd){if(oTextbox.setSelectionRange){oTextbox.setSelectionRange(nStart,nEnd);}
else if(oTextbox.createTextRange){var oTextRange=oTextbox.createTextRange();oTextRange.moveStart("character",nStart);oTextRange.moveEnd("character",nEnd-oTextbox.value.length);oTextRange.select();}
else{oTextbox.select();}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(bShow){var bFireEvent=false;var width=this._oContainer._oContent.offsetWidth+"px";var height=this._oContainer._oContent.offsetHeight+"px";if(this.useIFrame&&this._oContainer._oIFrame){bFireEvent=true;if(bShow){this._oContainer._oIFrame.style.width=width;this._oContainer._oIFrame.style.height=height;}
else{this._oContainer._oIFrame.style.width=0;this._oContainer._oIFrame.style.height=0;}}
if(this.useShadow&&this._oContainer._oShadow){bFireEvent=true;if(bShow){this._oContainer._oShadow.style.width=width;this._oContainer._oShadow.style.height=height;}
else{this._oContainer._oShadow.style.width=0;this._oContainer._oShadow.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(bShow){var oContainer=this._oContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return;}
if(!bShow){this._oContainer._oContent.scrollTop=0;var aItems=this._aListItems;if(aItems&&(aItems.length>0)){for(var i=aItems.length-1;i>=0;i--){aItems[i].style.display="none";}}
if(this._oCurItem){this._toggleHighlight(this._oCurItem,"from");}
this._oCurItem=null;this._nDisplayedItems=0;this._sCurQuery=null;}
if(!bShow&&!this._bContainerOpen){oContainer._oContent.style.display="none";return;}
var oAnim=this._oAnim;if(oAnim&&oAnim.getEl()&&(this.animHoriz||this.animVert)){if(!bShow){this._toggleContainerHelpers(bShow);}
if(oAnim.isAnimated()){oAnim.stop();}
var oClone=oContainer._oContent.cloneNode(true);oContainer.appendChild(oClone);oClone.style.top="-9000px";oClone.style.display="block";var wExp=oClone.offsetWidth;var hExp=oClone.offsetHeight;var wColl=(this.animHoriz)?0:wExp;var hColl=(this.animVert)?0:hExp;oAnim.attributes=(bShow)?{width:{to:wExp},height:{to:hExp}}:{width:{to:wColl},height:{to:hColl}};if(bShow&&!this._bContainerOpen){oContainer._oContent.style.width=wColl+"px";oContainer._oContent.style.height=hColl+"px";}
else{oContainer._oContent.style.width=wExp+"px";oContainer._oContent.style.height=hExp+"px";}
oContainer.removeChild(oClone);oClone=null;var oSelf=this;var onAnimComplete=function(){oAnim.onComplete.unsubscribeAll();if(bShow){oSelf.containerExpandEvent.fire(oSelf);}
else{oContainer._oContent.style.display="none";oSelf.containerCollapseEvent.fire(oSelf);}
oSelf._toggleContainerHelpers(bShow);};oContainer._oContent.style.display="block";oAnim.onComplete.subscribe(onAnimComplete);oAnim.animate();this._bContainerOpen=bShow;}
else{if(bShow){oContainer._oContent.style.display="block";this.containerExpandEvent.fire(this);}
else{oContainer._oContent.style.display="none";this.containerCollapseEvent.fire(this);}
this._toggleContainerHelpers(bShow);this._bContainerOpen=bShow;}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(oNewItem,sType){var sHighlight=this.highlightClassName;if(this._oCurItem){YAHOO.util.Dom.removeClass(this._oCurItem,sHighlight);}
if((sType=="to")&&sHighlight){YAHOO.util.Dom.addClass(oNewItem,sHighlight);this._oCurItem=oNewItem;}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(oNewItem,sType){if(oNewItem==this._oCurItem){return;}
var sPrehighlight=this.prehighlightClassName;if((sType=="mouseover")&&sPrehighlight){YAHOO.util.Dom.addClass(oNewItem,sPrehighlight);}
else{YAHOO.util.Dom.removeClass(oNewItem,sPrehighlight);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(oItem){var oTextbox=this._oTextbox;var sDelimChar=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var sSavedQuery=this._sSavedQuery;var sResultKey=oItem._sResultKey;oTextbox.focus();oTextbox.value="";if(sDelimChar){if(sSavedQuery){oTextbox.value=sSavedQuery;}
oTextbox.value+=sResultKey+sDelimChar;if(sDelimChar!=" "){oTextbox.value+=" ";}}
else{oTextbox.value=sResultKey;}
if(oTextbox.type=="textarea"){oTextbox.scrollTop=oTextbox.scrollHeight;}
var end=oTextbox.value.length;this._selectText(oTextbox,end,end);this._oCurItem=oItem;};YAHOO.widget.AutoComplete.prototype._selectItem=function(oItem){this._bItemSelected=true;this._updateValue(oItem);this._cancelIntervalDetection(this);this.itemSelectEvent.fire(this,oItem,oItem._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._oCurItem){this._selectItem(this._oCurItem);}
else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(nKeyCode){if(this._bContainerOpen){var oCurItem=this._oCurItem;var nCurItemIndex=-1;if(oCurItem){nCurItemIndex=oCurItem._nItemIndex;}
var nNewItemIndex=(nKeyCode==40)?(nCurItemIndex+1):(nCurItemIndex-1);if(nNewItemIndex<-2||nNewItemIndex>=this._nDisplayedItems){return;}
if(oCurItem){this._toggleHighlight(oCurItem,"from");this.itemArrowFromEvent.fire(this,oCurItem);}
if(nNewItemIndex==-1){if(this.delimChar&&this._sSavedQuery){if(!this._textMatchesOption()){this._oTextbox.value=this._sSavedQuery;}
else{this._oTextbox.value=this._sSavedQuery+this._sCurQuery;}}
else{this._oTextbox.value=this._sCurQuery;}
this._oCurItem=null;return;}
if(nNewItemIndex==-2){this._toggleContainer(false);return;}
var oNewItem=this._aListItems[nNewItemIndex];var oContent=this._oContainer._oContent;var scrollOn=((YAHOO.util.Dom.getStyle(oContent,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(oContent,"overflowY")=="auto"));if(scrollOn&&(nNewItemIndex>-1)&&(nNewItemIndex<this._nDisplayedItems)){if(nKeyCode==40){if((oNewItem.offsetTop+oNewItem.offsetHeight)>(oContent.scrollTop+oContent.offsetHeight)){oContent.scrollTop=(oNewItem.offsetTop+oNewItem.offsetHeight)-oContent.offsetHeight;}
else if((oNewItem.offsetTop+oNewItem.offsetHeight)<oContent.scrollTop){oContent.scrollTop=oNewItem.offsetTop;}}
else{if(oNewItem.offsetTop<oContent.scrollTop){this._oContainer._oContent.scrollTop=oNewItem.offsetTop;}
else if(oNewItem.offsetTop>(oContent.scrollTop+oContent.offsetHeight)){this._oContainer._oContent.scrollTop=(oNewItem.offsetTop+oNewItem.offsetHeight)-oContent.offsetHeight;}}}
this._toggleHighlight(oNewItem,"to");this.itemArrowToEvent.fire(this,oNewItem);if(this.typeAhead){this._updateValue(oNewItem);}}};YAHOO.widget.AutoComplete.prototype._onItemMouseover=function(v,oSelf){if(oSelf.prehighlightClassName){oSelf._togglePrehighlight(this,"mouseover");}
else{oSelf._toggleHighlight(this,"to");}
oSelf.itemMouseOverEvent.fire(oSelf,this);};YAHOO.widget.AutoComplete.prototype._onItemMouseout=function(v,oSelf){if(oSelf.prehighlightClassName){oSelf._togglePrehighlight(this,"mouseout");}
else{oSelf._toggleHighlight(this,"from");}
oSelf.itemMouseOutEvent.fire(oSelf,this);};YAHOO.widget.AutoComplete.prototype._onItemMouseclick=function(v,oSelf){oSelf._toggleHighlight(this,"to");oSelf._selectItem(this);};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(v,oSelf){oSelf._bOverContainer=true;};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(v,oSelf){oSelf._bOverContainer=false;if(oSelf._oCurItem){oSelf._toggleHighlight(oSelf._oCurItem,"to");}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(v,oSelf){oSelf._oTextbox.focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(v,oSelf){oSelf._toggleContainerHelpers(oSelf._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(v,oSelf){var nKeyCode=v.keyCode;switch(nKeyCode){case 9:if(oSelf._oCurItem){if(oSelf.delimChar&&(oSelf._nKeyCode!=nKeyCode)){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
oSelf._selectItem(oSelf._oCurItem);}
else{oSelf._toggleContainer(false);}
break;case 13:var isMac=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(!isMac){if(oSelf._oCurItem){if(oSelf._nKeyCode!=nKeyCode){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
oSelf._selectItem(oSelf._oCurItem);}
else{oSelf._toggleContainer(false);}}
break;case 27:oSelf._toggleContainer(false);return;case 39:oSelf._jumpSelection();break;case 38:YAHOO.util.Event.stopEvent(v);oSelf._moveSelection(nKeyCode);break;case 40:YAHOO.util.Event.stopEvent(v);oSelf._moveSelection(nKeyCode);break;default:break;}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(v,oSelf){var nKeyCode=v.keyCode;var isMac=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(isMac){switch(nKeyCode){case 9:if(oSelf._oCurItem){if(oSelf.delimChar&&(oSelf._nKeyCode!=nKeyCode)){YAHOO.util.Event.stopEvent(v);}}
break;case 13:if(oSelf._oCurItem){if(oSelf._nKeyCode!=nKeyCode){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
oSelf._selectItem(oSelf._oCurItem);}
else{oSelf._toggleContainer(false);}
break;case 38:case 40:YAHOO.util.Event.stopEvent(v);break;default:break;}}
else if(nKeyCode==229){oSelf._queryInterval=setInterval(function(){oSelf._onIMEDetected(oSelf);},500);}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(v,oSelf){oSelf._initProps();var nKeyCode=v.keyCode;oSelf._nKeyCode=nKeyCode;var sText=this.value;if(oSelf._isIgnoreKey(nKeyCode)||(sText.toLowerCase()==oSelf._sCurQuery)){return;}
else{oSelf._bItemSelected=false;YAHOO.util.Dom.removeClass(oSelf._oCurItem,oSelf.highlightClassName);oSelf._oCurItem=null;oSelf.textboxKeyEvent.fire(oSelf,nKeyCode);}
if(oSelf.queryDelay>0){var nDelayID=setTimeout(function(){oSelf._sendQuery(sText);},(oSelf.queryDelay*1000));if(oSelf._nDelayID!=-1){clearTimeout(oSelf._nDelayID);}
oSelf._nDelayID=nDelayID;}
else{oSelf._sendQuery(sText);}};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(v,oSelf){oSelf._oTextbox.setAttribute("autocomplete","off");oSelf._bFocused=true;if(!oSelf._bItemSelected){oSelf.textboxFocusEvent.fire(oSelf);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(v,oSelf){if(!oSelf._bOverContainer||(oSelf._nKeyCode==9)){if(!oSelf._bItemSelected){var oMatch=oSelf._textMatchesOption();if(!oSelf._bContainerOpen||(oSelf._bContainerOpen&&(oMatch===null))){if(oSelf.forceSelection){oSelf._clearSelection();}
else{oSelf.unmatchedItemSelectEvent.fire(oSelf);}}
else{if(oSelf.forceSelection){oSelf._selectItem(oMatch);}}}
if(oSelf._bContainerOpen){oSelf._toggleContainer(false);}
oSelf._cancelIntervalDetection(oSelf);oSelf._bFocused=false;oSelf.textboxBlurEvent.fire(oSelf);}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(v,oSelf){if(oSelf&&oSelf._oTextbox&&oSelf.allowBrowserAutocomplete){oSelf._oTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.DataSource=function(){};YAHOO.widget.DataSource.ERROR_DATANULL="Response data was null";YAHOO.widget.DataSource.ERROR_DATAPARSE="Response data could not be parsed";YAHOO.widget.DataSource.prototype.maxCacheEntries=15;YAHOO.widget.DataSource.prototype.queryMatchContains=false;YAHOO.widget.DataSource.prototype.queryMatchSubset=false;YAHOO.widget.DataSource.prototype.queryMatchCase=false;YAHOO.widget.DataSource.prototype.toString=function(){return"DataSource "+this._sName;};YAHOO.widget.DataSource.prototype.getResults=function(oCallbackFn,sQuery,oParent){var aResults=this._doQueryCache(oCallbackFn,sQuery,oParent);if(aResults.length===0){this.queryEvent.fire(this,oParent,sQuery);this.doQuery(oCallbackFn,sQuery,oParent);}};YAHOO.widget.DataSource.prototype.doQuery=function(oCallbackFn,sQuery,oParent){};YAHOO.widget.DataSource.prototype.flushCache=function(){if(this._aCache){this._aCache=[];}
if(this._aCacheHelper){this._aCacheHelper=[];}
this.cacheFlushEvent.fire(this);};YAHOO.widget.DataSource.prototype.queryEvent=null;YAHOO.widget.DataSource.prototype.cacheQueryEvent=null;YAHOO.widget.DataSource.prototype.getResultsEvent=null;YAHOO.widget.DataSource.prototype.getCachedResultsEvent=null;YAHOO.widget.DataSource.prototype.dataErrorEvent=null;YAHOO.widget.DataSource.prototype.cacheFlushEvent=null;YAHOO.widget.DataSource._nIndex=0;YAHOO.widget.DataSource.prototype._sName=null;YAHOO.widget.DataSource.prototype._aCache=null;YAHOO.widget.DataSource.prototype._init=function(){var maxCacheEntries=this.maxCacheEntries;if(!YAHOO.lang.isNumber(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}
if(maxCacheEntries>0&&!this._aCache){this._aCache=[];}
this._sName="instance"+YAHOO.widget.DataSource._nIndex;YAHOO.widget.DataSource._nIndex++;this.queryEvent=new YAHOO.util.CustomEvent("query",this);this.cacheQueryEvent=new YAHOO.util.CustomEvent("cacheQuery",this);this.getResultsEvent=new YAHOO.util.CustomEvent("getResults",this);this.getCachedResultsEvent=new YAHOO.util.CustomEvent("getCachedResults",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.cacheFlushEvent=new YAHOO.util.CustomEvent("cacheFlush",this);};YAHOO.widget.DataSource.prototype._addCacheElem=function(oResult){var aCache=this._aCache;if(!aCache||!oResult||!oResult.query||!oResult.results){return;}
if(aCache.length>=this.maxCacheEntries){aCache.shift();}
aCache.push(oResult);};YAHOO.widget.DataSource.prototype._doQueryCache=function(oCallbackFn,sQuery,oParent){var aResults=[];var bMatchFound=false;var aCache=this._aCache;var nCacheLength=(aCache)?aCache.length:0;var bMatchContains=this.queryMatchContains;var sOrigQuery;if((this.maxCacheEntries>0)&&aCache&&(nCacheLength>0)){this.cacheQueryEvent.fire(this,oParent,sQuery);if(!this.queryMatchCase){sOrigQuery=sQuery;sQuery=sQuery.toLowerCase();}
for(var i=nCacheLength-1;i>=0;i--){var resultObj=aCache[i];var aAllResultItems=resultObj.results;var matchKey=(!this.queryMatchCase)?encodeURIComponent(resultObj.query).toLowerCase():encodeURIComponent(resultObj.query);if(matchKey==sQuery){bMatchFound=true;aResults=aAllResultItems;if(i!=nCacheLength-1){aCache.splice(i,1);this._addCacheElem(resultObj);}
break;}
else if(this.queryMatchSubset){for(var j=sQuery.length-1;j>=0;j--){var subQuery=sQuery.substr(0,j);if(matchKey==subQuery){bMatchFound=true;for(var k=aAllResultItems.length-1;k>=0;k--){var aRecord=aAllResultItems[k];var sKeyIndex=(this.queryMatchCase)?encodeURIComponent(aRecord[0]).indexOf(sQuery):encodeURIComponent(aRecord[0]).toLowerCase().indexOf(sQuery);if((!bMatchContains&&(sKeyIndex===0))||(bMatchContains&&(sKeyIndex>-1))){aResults.unshift(aRecord);}}
resultObj={};resultObj.query=sQuery;resultObj.results=aResults;this._addCacheElem(resultObj);break;}}
if(bMatchFound){break;}}}
if(bMatchFound){this.getCachedResultsEvent.fire(this,oParent,sOrigQuery,aResults);oCallbackFn(sOrigQuery,aResults,oParent);}}
return aResults;};YAHOO.widget.DS_XHR=function(sScriptURI,aSchema,oConfigs){if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!YAHOO.lang.isArray(aSchema)||!YAHOO.lang.isString(sScriptURI)){return;}
this.schema=aSchema;this.scriptURI=sScriptURI;this._init();};YAHOO.widget.DS_XHR.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_XHR.TYPE_JSON=0;YAHOO.widget.DS_XHR.TYPE_XML=1;YAHOO.widget.DS_XHR.TYPE_FLAT=2;YAHOO.widget.DS_XHR.ERROR_DATAXHR="XHR response failed";YAHOO.widget.DS_XHR.prototype.connMgr=YAHOO.util.Connect;YAHOO.widget.DS_XHR.prototype.connTimeout=0;YAHOO.widget.DS_XHR.prototype.scriptURI=null;YAHOO.widget.DS_XHR.prototype.scriptQueryParam="query";YAHOO.widget.DS_XHR.prototype.scriptQueryAppend="";YAHOO.widget.DS_XHR.prototype.responseType=YAHOO.widget.DS_XHR.TYPE_JSON;YAHOO.widget.DS_XHR.prototype.responseStripAfter="\n<!-";YAHOO.widget.DS_XHR.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var isXML=(this.responseType==YAHOO.widget.DS_XHR.TYPE_XML);var sUri=this.scriptURI+"?"+this.scriptQueryParam+"="+sQuery;if(this.scriptQueryAppend.length>0){sUri+="&"+this.scriptQueryAppend;}
var oResponse=null;var oSelf=this;var responseSuccess=function(oResp){if(!oSelf._oConn||(oResp.tId!=oSelf._oConn.tId)){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
for(var foo in oResp){}
if(!isXML){oResp=oResp.responseText;}
else{oResp=oResp.responseXML;}
if(oResp===null){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
var aResults=oSelf.parseResponse(sQuery,oResp,oParent);var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;if(aResults===null){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATAPARSE);aResults=[];}
else{oSelf.getResultsEvent.fire(oSelf,oParent,sQuery,aResults);oSelf._addCacheElem(resultObj);}
oCallbackFn(sQuery,aResults,oParent);};var responseFailure=function(oResp){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DS_XHR.ERROR_DATAXHR);return;};var oCallback={success:responseSuccess,failure:responseFailure};if(YAHOO.lang.isNumber(this.connTimeout)&&(this.connTimeout>0)){oCallback.timeout=this.connTimeout;}
if(this._oConn){this.connMgr.abort(this._oConn);}
oSelf._oConn=this.connMgr.asyncRequest("GET",sUri,oCallback,null);};YAHOO.widget.DS_XHR.prototype.parseResponse=function(sQuery,oResponse,oParent){var aSchema=this.schema;var aResults=[];var bError=false;var nEnd=((this.responseStripAfter!=="")&&(oResponse.indexOf))?oResponse.indexOf(this.responseStripAfter):-1;if(nEnd!=-1){oResponse=oResponse.substring(0,nEnd);}
switch(this.responseType){case YAHOO.widget.DS_XHR.TYPE_JSON:var jsonList,jsonObjParsed;var isNotMac=(navigator.userAgent.toLowerCase().indexOf('khtml')==-1);if(oResponse.parseJSON&&isNotMac){jsonObjParsed=oResponse.parseJSON();if(!jsonObjParsed){bError=true;}
else{try{jsonList=eval("jsonObjParsed."+aSchema[0]);}
catch(e){bError=true;break;}}}
else if(YAHOO.lang.JSON&&isNotMac){jsonObjParsed=YAHOO.lang.JSON.parse(oResponse);if(!jsonObjParsed){bError=true;break;}
else{try{jsonList=eval("jsonObjParsed."+aSchema[0]);}
catch(e){bError=true;break;}}}
else if(window.JSON&&isNotMac){jsonObjParsed=JSON.parse(oResponse);if(!jsonObjParsed){bError=true;break;}
else{try{jsonList=eval("jsonObjParsed."+aSchema[0]);}
catch(e){bError=true;break;}}}
else{try{while(oResponse.substring(0,1)==" "){oResponse=oResponse.substring(1,oResponse.length);}
if(oResponse.indexOf("{")<0){bError=true;break;}
if(oResponse.indexOf("{}")===0){break;}
var jsonObjRaw=eval("("+oResponse+")");if(!jsonObjRaw){bError=true;break;}
jsonList=eval("(jsonObjRaw."+aSchema[0]+")");}
catch(e){bError=true;break;}}
if(!jsonList){bError=true;break;}
if(!YAHOO.lang.isArray(jsonList)){jsonList=[jsonList];}
for(var i=jsonList.length-1;i>=0;i--){var aResultItem=[];var jsonResult=jsonList[i];for(var j=aSchema.length-1;j>=1;j--){var dataFieldValue=jsonResult[aSchema[j]];if(!dataFieldValue){dataFieldValue="";}
aResultItem.unshift(dataFieldValue);}
if(aResultItem.length==1){aResultItem.push(jsonResult);}
aResults.unshift(aResultItem);}
break;case YAHOO.widget.DS_XHR.TYPE_XML:var xmlList=oResponse.getElementsByTagName(aSchema[0]);if(!xmlList){bError=true;break;}
for(var k=xmlList.length-1;k>=0;k--){var result=xmlList.item(k);var aFieldSet=[];for(var m=aSchema.length-1;m>=1;m--){var sValue=null;var xmlAttr=result.attributes.getNamedItem(aSchema[m]);if(xmlAttr){sValue=xmlAttr.value;}
else{var xmlNode=result.getElementsByTagName(aSchema[m]);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0).firstChild){sValue=xmlNode.item(0).firstChild.nodeValue;}
else{sValue="";}}
aFieldSet.unshift(sValue);}
aResults.unshift(aFieldSet);}
break;case YAHOO.widget.DS_XHR.TYPE_FLAT:if(oResponse.length>0){var newLength=oResponse.length-aSchema[0].length;if(oResponse.substr(newLength)==aSchema[0]){oResponse=oResponse.substr(0,newLength);}
var aRecords=oResponse.split(aSchema[0]);for(var n=aRecords.length-1;n>=0;n--){aResults[n]=aRecords[n].split(aSchema[1]);}}
break;default:break;}
sQuery=null;oResponse=null;oParent=null;if(bError){return null;}
else{return aResults;}};YAHOO.widget.DS_XHR.prototype._oConn=null;YAHOO.widget.DS_ScriptNode=function(sUri,aSchema,oConfigs){if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!YAHOO.lang.isArray(aSchema)||!YAHOO.lang.isString(sUri)){return;}
this.schema=aSchema;this.scriptURI=sUri;this._init();};YAHOO.widget.DS_ScriptNode.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_ScriptNode.prototype.getUtility=YAHOO.util.Get;YAHOO.widget.DS_ScriptNode.prototype.scriptURI=null;YAHOO.widget.DS_ScriptNode.prototype.scriptQueryParam="query";YAHOO.widget.DS_ScriptNode.prototype.asyncMode="allowAll";YAHOO.widget.DS_ScriptNode.prototype.scriptCallbackParam="callback";YAHOO.widget.DS_ScriptNode.callbacks=[];YAHOO.widget.DS_ScriptNode._nId=0;YAHOO.widget.DS_ScriptNode._nPending=0;YAHOO.widget.DS_ScriptNode.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var oSelf=this;if(YAHOO.widget.DS_ScriptNode._nPending===0){YAHOO.widget.DS_ScriptNode.callbacks=[];YAHOO.widget.DS_ScriptNode._nId=0;}
var id=YAHOO.widget.DS_ScriptNode._nId;YAHOO.widget.DS_ScriptNode._nId++;YAHOO.widget.DS_ScriptNode.callbacks[id]=function(oResponse){if((oSelf.asyncMode!=="ignoreStaleResponses")||(id===YAHOO.widget.DS_ScriptNode.callbacks.length-1)){oSelf.handleResponse(oResponse,oCallbackFn,sQuery,oParent);}
else{}
delete YAHOO.widget.DS_ScriptNode.callbacks[id];};YAHOO.widget.DS_ScriptNode._nPending++;var sUri=this.scriptURI+"&"+this.scriptQueryParam+"="+sQuery+"&"+
this.scriptCallbackParam+"=YAHOO.widget.DS_ScriptNode.callbacks["+id+"]";this.getUtility.script(sUri,{autopurge:true,onsuccess:YAHOO.widget.DS_ScriptNode._bumpPendingDown,onfail:YAHOO.widget.DS_ScriptNode._bumpPendingDown});};YAHOO.widget.DS_ScriptNode.prototype.handleResponse=function(oResponse,oCallbackFn,sQuery,oParent){var aSchema=this.schema;var aResults=[];var bError=false;var jsonList,jsonObjParsed;try{jsonList=eval("(oResponse."+aSchema[0]+")");}
catch(e){bError=true;}
if(!jsonList){bError=true;jsonList=[];}
else if(!YAHOO.lang.isArray(jsonList)){jsonList=[jsonList];}
for(var i=jsonList.length-1;i>=0;i--){var aResultItem=[];var jsonResult=jsonList[i];for(var j=aSchema.length-1;j>=1;j--){var dataFieldValue=jsonResult[aSchema[j]];if(!dataFieldValue){dataFieldValue="";}
aResultItem.unshift(dataFieldValue);}
if(aResultItem.length==1){aResultItem.push(jsonResult);}
aResults.unshift(aResultItem);}
if(bError){aResults=null;}
if(aResults===null){this.dataErrorEvent.fire(this,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATAPARSE);aResults=[];}
else{var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;this._addCacheElem(resultObj);this.getResultsEvent.fire(this,oParent,sQuery,aResults);}
oCallbackFn(sQuery,aResults,oParent);};YAHOO.widget.DS_ScriptNode._bumpPendingDown=function(){YAHOO.widget.DS_ScriptNode._nPending--;};YAHOO.widget.DS_JSFunction=function(oFunction,oConfigs){if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!YAHOO.lang.isFunction(oFunction)){return;}
else{this.dataFunction=oFunction;this._init();}};YAHOO.widget.DS_JSFunction.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSFunction.prototype.dataFunction=null;YAHOO.widget.DS_JSFunction.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var oFunction=this.dataFunction;var aResults=[];aResults=oFunction(sQuery);if(aResults===null){this.dataErrorEvent.fire(this,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;this._addCacheElem(resultObj);this.getResultsEvent.fire(this,oParent,sQuery,aResults);oCallbackFn(sQuery,aResults,oParent);return;};YAHOO.widget.DS_JSArray=function(aData,oConfigs){if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!YAHOO.lang.isArray(aData)){return;}
else{this.data=aData;this._init();}};YAHOO.widget.DS_JSArray.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSArray.prototype.data=null;YAHOO.widget.DS_JSArray.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var i;var aData=this.data;var aResults=[];var bMatchFound=false;var bMatchContains=this.queryMatchContains;if(sQuery){if(!this.queryMatchCase){sQuery=sQuery.toLowerCase();}
for(i=aData.length-1;i>=0;i--){var aDataset=[];if(YAHOO.lang.isString(aData[i])){aDataset[0]=aData[i];}
else if(YAHOO.lang.isArray(aData[i])){aDataset=aData[i];}
if(YAHOO.lang.isString(aDataset[0])){var sKeyIndex=(this.queryMatchCase)?encodeURIComponent(aDataset[0]).indexOf(sQuery):encodeURIComponent(aDataset[0]).toLowerCase().indexOf(sQuery);if((!bMatchContains&&(sKeyIndex===0))||(bMatchContains&&(sKeyIndex>-1))){aResults.unshift(aDataset);}}}}
else{for(i=aData.length-1;i>=0;i--){if(YAHOO.lang.isString(aData[i])){aResults.unshift([aData[i]]);}
else if(YAHOO.lang.isArray(aData[i])){aResults.unshift(aData[i]);}}}
this.getResultsEvent.fire(this,oParent,sQuery,aResults);oCallbackFn(sQuery,aResults,oParent);};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.4.1",build:"742"});YAHOO.widget.MultiAutoComplete=function(elInput,elContainer,oDataSources,oConfigs){if(elInput&&elContainer&&oDataSources){if(oDataSources)
{for(var i=0;i<oDataSources.length;i++)
{if(!(oDataSources[i]instanceof YAHOO.widget.DataSource))
{return;}}
this.dataSources=oDataSources;}
else{return;}
if(YAHOO.util.Dom.inDocument(elInput)){if(typeof elInput=="string"){this._sName="instance"+YAHOO.widget.MultiAutoComplete._nIndex+" "+elInput;this._oTextbox=document.getElementById(elInput);}
else{this._sName=(elInput.id)?"instance"+YAHOO.widget.MultiAutoComplete._nIndex+" "+elInput.id:"instance"+YAHOO.widget.MultiAutoComplete._nIndex;this._oTextbox=elInput;}}
else{return;}
if(YAHOO.util.Dom.inDocument(elContainer)){if(typeof elContainer=="string"){this._oContainer=document.getElementById(elContainer);}
else{this._oContainer=elContainer;}
if(this._oContainer.style.display=="none"){}}
else{return;}
if(typeof oConfigs=="object"){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}
this._initContainer();this._initProps();this._initList();this._initContainerHelpers();var oSelf=this;var oTextbox=this._oTextbox;var oContent=this._oContainer._oContent;YAHOO.util.Event.addListener(oTextbox,"keyup",oSelf._onTextboxKeyUp,oSelf);YAHOO.util.Event.addListener(oTextbox,"keydown",oSelf._onTextboxKeyDown,oSelf);YAHOO.util.Event.addListener(oTextbox,"focus",oSelf._onTextboxFocus,oSelf);YAHOO.util.Event.addListener(oTextbox,"blur",oSelf._onTextboxBlur,oSelf);YAHOO.util.Event.addListener(oContent,"mouseover",oSelf._onContainerMouseover,oSelf);YAHOO.util.Event.addListener(oContent,"mouseout",oSelf._onContainerMouseout,oSelf);YAHOO.util.Event.addListener(oContent,"scroll",oSelf._onContainerScroll,oSelf);YAHOO.util.Event.addListener(oContent,"resize",oSelf._onContainerResize,oSelf);if(oTextbox.form){YAHOO.util.Event.addListener(oTextbox.form,"submit",oSelf._onFormSubmit,oSelf);}
YAHOO.util.Event.addListener(oTextbox,"keypress",oSelf._onTextboxKeyPress,oSelf);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);oTextbox.setAttribute("autocomplete","off");YAHOO.widget.MultiAutoComplete._nIndex++;}
else{}};YAHOO.widget.MultiAutoComplete.prototype.dataSources=null;YAHOO.widget.MultiAutoComplete.prototype.minQueryLength=1;YAHOO.widget.MultiAutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.MultiAutoComplete.prototype.queryDelay=0.5;YAHOO.widget.MultiAutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.MultiAutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.MultiAutoComplete.prototype.delimChar=null;YAHOO.widget.MultiAutoComplete.prototype.autoHighlight=true;YAHOO.widget.MultiAutoComplete.prototype.typeAhead=false;YAHOO.widget.MultiAutoComplete.prototype.animHoriz=false;YAHOO.widget.MultiAutoComplete.prototype.animVert=true;YAHOO.widget.MultiAutoComplete.prototype.animSpeed=0.3;YAHOO.widget.MultiAutoComplete.prototype.forceSelection=false;YAHOO.widget.MultiAutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.MultiAutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.MultiAutoComplete.prototype.useIFrame=false;YAHOO.widget.MultiAutoComplete.prototype.useShadow=false;YAHOO.widget.MultiAutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.MultiAutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.MultiAutoComplete.prototype.getListItems=function(){return this._aListItems;};YAHOO.widget.MultiAutoComplete.prototype.getListItemData=function(oListItem){if(oListItem._oResultData){return oListItem._oResultData;}
else{return false;}};YAHOO.widget.MultiAutoComplete.prototype.setHeader=function(sHeader){if(sHeader){if(this._oContainer._oContent._oHeader){this._oContainer._oContent._oHeader.innerHTML=sHeader;this._oContainer._oContent._oHeader.style.display="block";}}
else{this._oContainer._oContent._oHeader.innerHTML="";this._oContainer._oContent._oHeader.style.display="none";}};YAHOO.widget.MultiAutoComplete.prototype.setSubHeader=function(sHeader,index){if(sHeader){if(this._oContainer._oContent._oSubHeaders[index]){this._oContainer._oContent._oSubHeaders[index].innerHTML=sHeader;this._oContainer._oContent._oSubHeaders[index].style.display="block";}}
else{if(this._oContainer._oContent._oSubHeaders[index]){this._oContainer._oContent._oSubHeaders[index].innerHTML="";this._oContainer._oContent._oSubHeaders[index].style.display="none";}}};YAHOO.widget.MultiAutoComplete.prototype.setFooter=function(sFooter){if(sFooter){if(this._oContainer._oContent._oFooter){this._oContainer._oContent._oFooter.innerHTML=sFooter;this._oContainer._oContent._oFooter.style.display="block";}}
else{this._oContainer._oContent._oFooter.innerHTML="";this._oContainer._oContent._oFooter.style.display="none";}};YAHOO.widget.MultiAutoComplete.prototype.setSubFooter=function(sFooter,index){if(sFooter){if(this._oContainer._oContent._oSubFooters[index]){this._oContainer._oContent._oSubFooters[index].innerHTML=sFooter;this._oContainer._oContent._oSubFooters[index].style.display="block";}}
else{if(this._oContainer._oContent._oSubFooters[index]){this._oContainer._oContent._oSubFooters[index].innerHTML="";this._oContainer._oContent._oSubFooters[index].style.display="none";}}};YAHOO.widget.MultiAutoComplete.prototype.toggleSubHeader=function(show,index)
{if(this._oContainer._oContent._oSubHeaders[index])
{if(show===true)
this._oContainer._oContent._oSubHeaders[index].style.display="block";else
this._oContainer._oContent._oSubHeaders[index].style.display="none";}};YAHOO.widget.MultiAutoComplete.prototype.setBody=function(sBody){if(sBody){if(this._oContainer._oContent._oBody){this._oContainer._oContent._oBody.innerHTML=sBody;this._oContainer._oContent._oBody.style.display="block";this._oContainer._oContent.style.display="block";}}
else{this._oContainer._oContent._oBody.innerHTML="";this._oContainer._oContent.style.display="none";}
this._maxResultsDisplayed=0;};YAHOO.widget.MultiAutoComplete.prototype.formatResult=function(oResultItem,sQuery){var sResult=oResultItem[0];if(sResult){return sResult;}
else{return"";}};YAHOO.widget.MultiAutoComplete.prototype.doBeforeExpandContainer=function(oResultItem,sQuery){return true;};YAHOO.widget.MultiAutoComplete.prototype.sendQuery=function(sQuery){this._sendQuery(sQuery);};YAHOO.widget.MultiAutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.MultiAutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.MultiAutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.MultiAutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.MultiAutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.MultiAutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.MultiAutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.MultiAutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.MultiAutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.MultiAutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.MultiAutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.MultiAutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.MultiAutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.MultiAutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.MultiAutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.MultiAutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.MultiAutoComplete._nIndex=0;YAHOO.widget.MultiAutoComplete.prototype._sName=null;YAHOO.widget.MultiAutoComplete.prototype._oTextbox=null;YAHOO.widget.MultiAutoComplete.prototype._bFocused=true;YAHOO.widget.MultiAutoComplete.prototype._oAnim=null;YAHOO.widget.MultiAutoComplete.prototype._oContainer=null;YAHOO.widget.MultiAutoComplete.prototype._bContainerOpen=false;YAHOO.widget.MultiAutoComplete.prototype._bOverContainer=false;YAHOO.widget.MultiAutoComplete.prototype._aListItems=null;YAHOO.widget.MultiAutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.MultiAutoComplete.prototype._maxResultsDisplayed=0;YAHOO.widget.MultiAutoComplete.prototype._sCurQuery=null;YAHOO.widget.MultiAutoComplete.prototype._sSavedQuery=null;YAHOO.widget.MultiAutoComplete.prototype._oCurItem=null;YAHOO.widget.MultiAutoComplete.prototype._bItemSelected=false;YAHOO.widget.MultiAutoComplete.prototype._nKeyCode=null;YAHOO.widget.MultiAutoComplete.prototype._nDelayID=-1;YAHOO.widget.MultiAutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.MultiAutoComplete.prototype._queryInterval=null;YAHOO.widget.MultiAutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.MultiAutoComplete.prototype._initProps=function(){var minQueryLength=this.minQueryLength;if(isNaN(minQueryLength)||(minQueryLength<1)){minQueryLength=1;}
var maxResultsDisplayed=this.maxResultsDisplayed;if(isNaN(this.maxResultsDisplayed)||(this.maxResultsDisplayed<1)){this.maxResultsDisplayed=10;}
var queryDelay=this.queryDelay;if(isNaN(this.queryDelay)||(this.queryDelay<0)){this.queryDelay=0.5;}
var aDelimChar=(this.delimChar)?this.delimChar:null;if(aDelimChar){if(typeof aDelimChar=="string"){this.delimChar=[aDelimChar];}
else if(aDelimChar.constructor!=Array){this.delimChar=null;}}
var animSpeed=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(isNaN(animSpeed)||(animSpeed<0)){animSpeed=0.3;}
if(!this._oAnim){oAnim=new YAHOO.util.Anim(this._oContainer._oContent,{},this.animSpeed);this._oAnim=oAnim;}
else{this._oAnim.duration=animSpeed;}}
if(this.forceSelection&&this.delimChar){}};YAHOO.widget.MultiAutoComplete.prototype._initContainerHelpers=function(){if(this.useShadow&&!this._oContainer._oShadow){var oShadow=document.createElement("div");oShadow.className="yui-ac-shadow";this._oContainer._oShadow=this._oContainer.appendChild(oShadow);}
if(this.useIFrame&&!this._oContainer._oIFrame){var oIFrame=document.createElement("iframe");oIFrame.src=this._iFrameSrc;oIFrame.frameBorder=0;oIFrame.scrolling="no";oIFrame.style.position="absolute";oIFrame.style.width="100%";oIFrame.style.height="100%";oIFrame.tabIndex=-1;this._oContainer._oIFrame=this._oContainer.appendChild(oIFrame);}};YAHOO.widget.MultiAutoComplete.prototype._initContainer=function(){if(!this._oContainer._oContent){var oContent=document.createElement("div");oContent.className="yui-ac-content";oContent.style.display="none";this._oContainer._oContent=this._oContainer.appendChild(oContent);var oHeader=document.createElement("div");oHeader.className="yui-ac-hd";oHeader.style.display="none";this._oContainer._oContent._oHeader=this._oContainer._oContent.appendChild(oHeader);this._oContainer._oContent._oSubHeaders=new Array();this._oContainer._oContent._oBodys=new Array();this._oContainer._oContent._oSubFooters=new Array();for(var i=0;i<this.dataSources.length;i++)
{var oSubHeader=document.createElement("div");oSubHeader.className="yui-ac-hd-sub";oSubHeader.style.display="none";this._oContainer._oContent._oSubHeaders.push(this._oContainer._oContent.appendChild(oSubHeader));var oBody=document.createElement("div");oBody.className="yui-ac-bd";this._oContainer._oContent._oBodys.push(this._oContainer._oContent.appendChild(oBody));var oSubFooter=document.createElement("div");oSubFooter.className="yui-ac-ft-sub";oSubFooter.style.display="none";this._oContainer._oContent._oSubFooters.push(this._oContainer._oContent.appendChild(oSubFooter));}
var oFooter=document.createElement("div");oFooter.className="yui-ac-ft";oFooter.style.display="none";this._oContainer._oContent._oFooter=this._oContainer._oContent.appendChild(oFooter);}
else{}};YAHOO.widget.MultiAutoComplete.prototype._initList=function(){this._aListItems=[];for(var i=0;i<this._oContainer._oContent._oBodys.length;i++)
{while(this._oContainer._oContent._oBodys[i].hasChildNodes()){var oldListItems=this.getListItems()[i];if(oldListItems){for(var oldi=oldListItems.length-1;oldi>=0;oldi--){oldListItems[oldi]=null;}}
this._oContainer._oContent._oBodys[i].innerHTML="";}}
for(var i=0;i<this._oContainer._oContent._oBodys.length;i++)
{this._aListItems[i]=[]
var oList=document.createElement("ul");oList=this._oContainer._oContent._oBodys[i].appendChild(oList);for(var j=0;j<this.maxResultsDisplayed;j++){var oItem=document.createElement("li");oItem=oList.appendChild(oItem);this._aListItems[i][j]=oItem;this._initListItem(oItem,j,i);}}
this._maxResultsDisplayed=this.maxResultsDisplayed;};YAHOO.widget.MultiAutoComplete.prototype._initSubList=function(iIndex){while(this._oContainer._oContent._oBodys[iIndex].hasChildNodes()){var oldListItems=this.getListItems()[iIndex];if(oldListItems){for(var oldi=oldListItems.length-1;oldi>=0;oldi--){oldListItems[oldi]=null;}}
this._oContainer._oContent._oBodys[iIndex].innerHTML="";}
this._aListItems[iIndex]=[]
var oList=document.createElement("ul");oList=this._oContainer._oContent._oBodys[iIndex].appendChild(oList);for(var j=0;j<this.maxResultsDisplayed;j++){var oItem=document.createElement("li");oItem=oList.appendChild(oItem);this._aListItems[iIndex][j]=oItem;this._initListItem(oItem,j,iIndex);}};YAHOO.widget.MultiAutoComplete.prototype._initListItem=function(oItem,nItemIndex,nDataSourceIndex){var oSelf=this;oItem.style.display="none";oItem._nItemIndex=nItemIndex;oItem._nDataSourceIndex=nDataSourceIndex;oItem.mouseover=oItem.mouseout=oItem.onclick=null;YAHOO.util.Event.addListener(oItem,"mouseover",oSelf._onItemMouseover,oSelf);YAHOO.util.Event.addListener(oItem,"mouseout",oSelf._onItemMouseout,oSelf);YAHOO.util.Event.addListener(oItem,"click",oSelf._onItemMouseclick,oSelf);};YAHOO.widget.MultiAutoComplete.prototype._onIMEDetected=function(oSelf){oSelf._enableIntervalDetection();};YAHOO.widget.MultiAutoComplete.prototype._enableIntervalDetection=function(){var currValue=this._oTextbox.value;var lastValue=this._sLastTextboxValue;if(currValue!=lastValue){this._sLastTextboxValue=currValue;this._sendQuery(currValue);}};YAHOO.widget.MultiAutoComplete.prototype._cancelIntervalDetection=function(oSelf){if(oSelf._queryInterval){clearInterval(oSelf._queryInterval);}};YAHOO.widget.MultiAutoComplete.prototype._isIgnoreKey=function(nKeyCode){if((nKeyCode==9)||(nKeyCode==13)||(nKeyCode==16)||(nKeyCode==17)||(nKeyCode>=18&&nKeyCode<=20)||(nKeyCode==27)||(nKeyCode>=33&&nKeyCode<=35)||(nKeyCode>=36&&nKeyCode<=38)||(nKeyCode==40)||(nKeyCode>=44&&nKeyCode<=45)){return true;}
return false;};YAHOO.widget.MultiAutoComplete.prototype._sendQuery=function(sQuery){if(this.minQueryLength==-1){this._toggleContainer(false);return;}
var aDelimChar=(this.delimChar)?this.delimChar:null;if(aDelimChar){var nDelimIndex=-1;for(var i=aDelimChar.length-1;i>=0;i--){var nNewIndex=sQuery.lastIndexOf(aDelimChar[i]);if(nNewIndex>nDelimIndex){nDelimIndex=nNewIndex;}}
if(aDelimChar[i]==" "){for(var j=aDelimChar.length-1;j>=0;j--){if(sQuery[nDelimIndex-1]==aDelimChar[j]){nDelimIndex--;break;}}}
if(nDelimIndex>-1){var nQueryStart=nDelimIndex+1;while(sQuery.charAt(nQueryStart)==" "){nQueryStart+=1;}
this._sSavedQuery=sQuery.substring(0,nQueryStart);sQuery=sQuery.substr(nQueryStart);}
else if(sQuery.indexOf(this._sSavedQuery)<0){this._sSavedQuery=null;}}
if(sQuery&&(sQuery.length<this.minQueryLength)||(!sQuery&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}
this._toggleContainer(false);return;}
sQuery=encodeURIComponent(sQuery);this._nDelayID=-1;this.dataRequestEvent.fire(this,sQuery);this._waitingToPopulate=new Array();this._nDisplayedItems=0;for(var i=0;i<this.dataSources.length;i++)
{this.dataSources[i].getResults(this._populateStaging,sQuery,this);}};YAHOO.widget.MultiAutoComplete.prototype._waitingToPopulate=new Array();YAHOO.widget.MultiAutoComplete.prototype._populateStaging=function(sQuery,aResults,oSelf,iIndex){if(oSelf._waitingToPopulate.length==oSelf.dataSources.length-1){for(var i=0;i<oSelf._waitingToPopulate.length;i++){if(oSelf._waitingToPopulate[i]!=null)
oSelf._populateList(oSelf._waitingToPopulate[i].query,oSelf._waitingToPopulate[i].results,oSelf._waitingToPopulate[i].self,oSelf._waitingToPopulate[i].index);}
if(aResults!=null)
oSelf._populateList(sQuery,aResults,oSelf,iIndex);}
else{if(aResults==null)
oSelf._waitingToPopulate.push(null);else
{oSelf._waitingToPopulate.push({query:sQuery,results:aResults,self:oSelf,index:iIndex});}}}
YAHOO.widget.MultiAutoComplete.prototype._populateList=function(sQuery,aResults,oSelf,iIndex){if(aResults===null){oSelf.dataErrorEvent.fire(oSelf,sQuery);}
if(!oSelf._bFocused||!aResults){return;}
var isOpera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);var contentStyle=oSelf._oContainer._oContent.style;contentStyle.width=(!isOpera)?null:"";contentStyle.height=(!isOpera)?null:"";var sCurQuery=decodeURIComponent(sQuery);oSelf._sCurQuery=sCurQuery;oSelf._bItemSelected=false;if(oSelf._maxResultsDisplayed!=oSelf.maxResultsDisplayed){oSelf._initList();}
var nItems=Math.min(aResults.length,oSelf.maxResultsDisplayed);oSelf._nDisplayedItems+=nItems;if(nItems>0){oSelf._initContainerHelpers();oSelf.toggleSubHeader(true,iIndex);var aItems=oSelf._aListItems[iIndex];for(var i=nItems-1;i>=0;i--){var oItemi=aItems[i];var oResultItemi=aResults[i];oItemi.innerHTML=oSelf.formatResult(oResultItemi,sCurQuery,iIndex);oItemi.style.display="list-item";oItemi._sResultKey=oResultItemi[0];oItemi._oResultData=oResultItemi;}
for(var j=aItems.length-1;j>=nItems;j--){var oItemj=aItems[j];oItemj.innerHTML=null;oItemj.style.display="none";oItemj._sResultKey=null;oItemj._oResultData=null;}
if(oSelf.autoHighlight){var oFirstItem=aItems[0];oSelf._toggleHighlight(oFirstItem,"to");oSelf.itemArrowToEvent.fire(oSelf,oFirstItem);oSelf._typeAhead(oFirstItem,sQuery);}
else{this._toggleHighlight();oSelf._oCurItem=null;}
if(!this._bContainerOpen)
{var ok=oSelf.doBeforeExpandContainer(oSelf._oTextbox,oSelf._oContainer,sQuery,aResults);oSelf._toggleContainer(ok);}}
else if(nItems==0)
{oSelf.toggleSubHeader(false,iIndex);oSelf._initSubList(iIndex);}
if(oSelf._nDisplayedItems==0){oSelf._toggleContainer(false);}
oSelf.dataReturnEvent.fire(oSelf,sQuery,aResults,iIndex);};YAHOO.widget.MultiAutoComplete.prototype._clearSelection=function(){var sValue=this._oTextbox.value;var sChar=(this.delimChar)?this.delimChar[0]:null;var nIndex=(sChar)?sValue.lastIndexOf(sChar,sValue.length-2):-1;if(nIndex>-1){this._oTextbox.value=sValue.substring(0,nIndex);}
else{this._oTextbox.value="";}
this._sSavedQuery=this._oTextbox.value;this.selectionEnforceEvent.fire(this);};YAHOO.widget.MultiAutoComplete.prototype._textMatchesOption=function(){var foundMatch=false;for(var j=0;j<this._aListItems.length;j++)
{for(var i=this._nDisplayedItems-1;i>=0;i--){var oItem=this._aListItems[j][i];if(oItem==null||oItem._sResultKey==null)
continue;var sMatch=oItem._sResultKey.toLowerCase();if(sMatch==this._sCurQuery.toLowerCase()){foundMatch=true;break;}}}
return(foundMatch);};YAHOO.widget.MultiAutoComplete.prototype._typeAhead=function(oItem,sQuery){if(!this.typeAhead||(this._nKeyCode==8)){return;}
var oTextbox=this._oTextbox;var sValue=this._oTextbox.value;if(!oTextbox.setSelectionRange&&!oTextbox.createTextRange){return;}
var nStart=sValue.length;this._updateValue(oItem);var nEnd=oTextbox.value.length;this._selectText(oTextbox,nStart,nEnd);var sPrefill=oTextbox.value.substr(nStart,nEnd);this.typeAheadEvent.fire(this,sQuery,sPrefill);};YAHOO.widget.MultiAutoComplete.prototype._selectText=function(oTextbox,nStart,nEnd){if(oTextbox.setSelectionRange){oTextbox.setSelectionRange(nStart,nEnd);}
else if(oTextbox.createTextRange){var oTextRange=oTextbox.createTextRange();oTextRange.moveStart("character",nStart);oTextRange.moveEnd("character",nEnd-oTextbox.value.length);oTextRange.select();}
else{oTextbox.select();}};YAHOO.widget.MultiAutoComplete.prototype._toggleContainerHelpers=function(bShow){var bFireEvent=false;var width=this._oContainer._oContent.offsetWidth+"px";var height=this._oContainer._oContent.offsetHeight+"px";if(this.useIFrame&&this._oContainer._oIFrame){bFireEvent=true;if(bShow){this._oContainer._oIFrame.style.width=width;this._oContainer._oIFrame.style.height=height;}
else{this._oContainer._oIFrame.style.width=0;this._oContainer._oIFrame.style.height=0;}}
if(this.useShadow&&this._oContainer._oShadow){bFireEvent=true;if(bShow){this._oContainer._oShadow.style.width=width;this._oContainer._oShadow.style.height=height;}
else{this._oContainer._oShadow.style.width=0;this._oContainer._oShadow.style.height=0;}}};YAHOO.widget.MultiAutoComplete.prototype._toggleContainer=function(bShow){var oContainer=this._oContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return;}
if(!bShow){this._oContainer._oContent.scrollTop=0;for(var i=0;i<this._aListItems.length;i++)
{var aItems=this._aListItems[i];if(aItems&&(aItems.length>0)){for(var j=aItems.length-1;j>=0;j--){aItems[j].style.display="none";}}
if(this._oCurItem){this._toggleHighlight(this._oCurItem,"from");}
this._oCurItem=null;this._nDisplayedItems=0;this._sCurQuery=null;}}
if(!bShow&&!this._bContainerOpen){oContainer._oContent.style.display="none";return;}
var oAnim=this._oAnim;if(oAnim&&oAnim.getEl()&&(this.animHoriz||this.animVert)){if(!bShow){this._toggleContainerHelpers(bShow);}
if(oAnim.isAnimated()){oAnim.stop();}
var oClone=oContainer._oContent.cloneNode(true);oContainer.appendChild(oClone);oClone.style.top="-9000px";oClone.style.display="block";var wExp=oClone.offsetWidth;var hExp=oClone.offsetHeight;var wColl=(this.animHoriz)?0:wExp;var hColl=(this.animVert)?0:hExp;oAnim.attributes=(bShow)?{width:{to:wExp},height:{to:hExp}}:{width:{to:wColl},height:{to:hColl}};if(bShow&&!this._bContainerOpen){oContainer._oContent.style.width=wColl+"px";oContainer._oContent.style.height=hColl+"px";}
else{oContainer._oContent.style.width=wExp+"px";oContainer._oContent.style.height=hExp+"px";}
oContainer.removeChild(oClone);oClone=null;var oSelf=this;var onAnimComplete=function(){oAnim.onComplete.unsubscribeAll();if(bShow){oSelf.containerExpandEvent.fire(oSelf);}
else{oContainer._oContent.style.display="none";oSelf.containerCollapseEvent.fire(oSelf);}
oSelf._toggleContainerHelpers(bShow);};oContainer._oContent.style.display="block";oAnim.onComplete.subscribe(onAnimComplete);oAnim.animate();this._bContainerOpen=bShow;}
else{if(bShow){oContainer._oContent.style.display="block";this.containerExpandEvent.fire(this);}
else{oContainer._oContent.style.display="none";this.containerCollapseEvent.fire(this);}
this._toggleContainerHelpers(bShow);this._bContainerOpen=bShow;}};YAHOO.widget.MultiAutoComplete.prototype._toggleHighlight=function(oNewItem,sType){var sHighlight=this.highlightClassName;if(this._oCurItem){YAHOO.util.Dom.removeClass(this._oCurItem,sHighlight);}
if((sType=="to")&&sHighlight){YAHOO.util.Dom.addClass(oNewItem,sHighlight);this._oCurItem=oNewItem;}};YAHOO.widget.MultiAutoComplete.prototype._togglePrehighlight=function(oNewItem,sType){if(oNewItem==this._oCurItem){return;}
var sPrehighlight=this.prehighlightClassName;if((sType=="mouseover")&&sPrehighlight){YAHOO.util.Dom.addClass(oNewItem,sPrehighlight);}
else{YAHOO.util.Dom.removeClass(oNewItem,sPrehighlight);}};YAHOO.widget.MultiAutoComplete.prototype._updateValue=function(oItem){var oTextbox=this._oTextbox;var sDelimChar=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var sSavedQuery=this._sSavedQuery;var sResultKey=oItem._sResultKey;oTextbox.focus();oTextbox.value="";if(sDelimChar){if(sSavedQuery){oTextbox.value=sSavedQuery;}
oTextbox.value+=sResultKey+sDelimChar;if(sDelimChar!=" "){oTextbox.value+=" ";}}
else{oTextbox.value=sResultKey;}
if(oTextbox.type=="textarea"){oTextbox.scrollTop=oTextbox.scrollHeight;}
var end=oTextbox.value.length;this._selectText(oTextbox,end,end);this._oCurItem=oItem;};YAHOO.widget.MultiAutoComplete.prototype._selectItem=function(oItem){this._bItemSelected=true;this._updateValue(oItem);this._cancelIntervalDetection(this);this.itemSelectEvent.fire(this,oItem,oItem._oResultData);this._toggleContainer(false);};YAHOO.widget.MultiAutoComplete.prototype._jumpSelection=function(){if(!this.typeAhead){return;}
else{this._toggleContainer(false);}};YAHOO.widget.MultiAutoComplete.prototype._moveSelection=function(nKeyCode){if(this._bContainerOpen){var oCurItem=this._oCurItem;var nCurItemIndex=-1;if(oCurItem){if(oCurItem._nDataSourceIndex==0){nCurItemIndex=oCurItem._nItemIndex;}
else{var step=this.maxResultsDisplayed;for(var i=this._aListItems[oCurItem._nDataSourceIndex-1].length-1;i>=0;i--)
{if(this._aListItems[oCurItem._nDataSourceIndex-1][i]._oResultData!=null)
break;step--;}
nCurItemIndex=oCurItem._nItemIndex+step;}}
var nNewItemIndex=(nKeyCode==40)?(nCurItemIndex+1):(nCurItemIndex-1);if(nNewItemIndex<-2||nNewItemIndex>=this._nDisplayedItems){return;}
if(oCurItem){this._toggleHighlight(oCurItem,"from");this.itemArrowFromEvent.fire(this,oCurItem);}
if(nNewItemIndex==-1){if(this.delimChar&&this._sSavedQuery){if(!this._textMatchesOption()){this._oTextbox.value=this._sSavedQuery;}
else{this._oTextbox.value=this._sSavedQuery+this._sCurQuery;}}
else{this._oTextbox.value=this._sCurQuery;}
this._oCurItem=null;return;}
if(nNewItemIndex==-2){this._toggleContainer(false);return;}
var merged=new Array();for(var i=0;i<this._aListItems.length;i++)
{for(var j=0;j<this._aListItems[i].length;j++)
{if(this._aListItems[i][j]._oResultData==null)
break;merged.push(this._aListItems[i][j]);}}
var oNewItem=merged[nNewItemIndex];var oContent=this._oContainer._oContent;var scrollOn=((YAHOO.util.Dom.getStyle(oContent,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(oContent,"overflowY")=="auto"));if(scrollOn&&(nNewItemIndex>-1)&&(nNewItemIndex<this._nDisplayedItems)){if(nKeyCode==40){if((oNewItem.offsetTop+oNewItem.offsetHeight)>(oContent.scrollTop+oContent.offsetHeight)){oContent.scrollTop=(oNewItem.offsetTop+oNewItem.offsetHeight)-oContent.offsetHeight;}
else if((oNewItem.offsetTop+oNewItem.offsetHeight)<oContent.scrollTop){oContent.scrollTop=oNewItem.offsetTop;}}
else{if(oNewItem.offsetTop<oContent.scrollTop){this._oContainer._oContent.scrollTop=oNewItem.offsetTop;}
else if(oNewItem.offsetTop>(oContent.scrollTop+oContent.offsetHeight)){this._oContainer._oContent.scrollTop=(oNewItem.offsetTop+oNewItem.offsetHeight)-oContent.offsetHeight;}}}
this._toggleHighlight(oNewItem,"to");this.itemArrowToEvent.fire(this,oNewItem);if(this.typeAhead){this._updateValue(oNewItem);}}};YAHOO.widget.MultiAutoComplete.prototype._onItemMouseover=function(v,oSelf){if(oSelf.prehighlightClassName){oSelf._togglePrehighlight(this,"mouseover");}
else{oSelf._toggleHighlight(this,"to");}
oSelf.itemMouseOverEvent.fire(oSelf,this);};YAHOO.widget.MultiAutoComplete.prototype._onItemMouseout=function(v,oSelf){if(oSelf.prehighlightClassName){oSelf._togglePrehighlight(this,"mouseout");}
else{oSelf._toggleHighlight(this,"from");}
oSelf.itemMouseOutEvent.fire(oSelf,this);};YAHOO.widget.MultiAutoComplete.prototype._onItemMouseclick=function(v,oSelf){oSelf._toggleHighlight(this,"to");oSelf._selectItem(this);};YAHOO.widget.MultiAutoComplete.prototype._onContainerMouseover=function(v,oSelf){oSelf._bOverContainer=true;};YAHOO.widget.MultiAutoComplete.prototype._onContainerMouseout=function(v,oSelf){oSelf._bOverContainer=false;if(oSelf._oCurItem){oSelf._toggleHighlight(oSelf._oCurItem,"to");}};YAHOO.widget.MultiAutoComplete.prototype._onContainerScroll=function(v,oSelf){oSelf._oTextbox.focus();};YAHOO.widget.MultiAutoComplete.prototype._onContainerResize=function(v,oSelf){oSelf._toggleContainerHelpers(oSelf._bContainerOpen);};YAHOO.widget.MultiAutoComplete.prototype._onTextboxKeyDown=function(v,oSelf){var nKeyCode=v.keyCode;switch(nKeyCode){case 9:if(oSelf.delimChar&&(oSelf._nKeyCode!=nKeyCode)){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
if(oSelf._oCurItem){oSelf._selectItem(oSelf._oCurItem);}
else{oSelf._toggleContainer(false);}
break;case 13:if(oSelf._nKeyCode!=nKeyCode){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
if(oSelf._oCurItem){oSelf._selectItem(oSelf._oCurItem);}
else{oSelf._toggleContainer(false);}
break;case 27:oSelf._toggleContainer(false);return;case 39:oSelf._jumpSelection();break;case 38:YAHOO.util.Event.stopEvent(v);oSelf._moveSelection(nKeyCode);break;case 40:YAHOO.util.Event.stopEvent(v);oSelf._moveSelection(nKeyCode);break;default:break;}};YAHOO.widget.MultiAutoComplete.prototype._onTextboxKeyPress=function(v,oSelf){var nKeyCode=v.keyCode;var isMac=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(isMac){switch(nKeyCode){case 9:if(oSelf.delimChar&&(oSelf._nKeyCode!=nKeyCode)){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
break;case 13:if(oSelf._nKeyCode!=nKeyCode){if(oSelf._bContainerOpen){YAHOO.util.Event.stopEvent(v);}}
break;case 38:case 40:YAHOO.util.Event.stopEvent(v);break;default:break;}}
else if(nKeyCode==229){oSelf._queryInterval=setInterval(function(){oSelf._onIMEDetected(oSelf);},500);}};YAHOO.widget.MultiAutoComplete.prototype._onTextboxKeyUp=function(v,oSelf){oSelf._initProps();var nKeyCode=v.keyCode;oSelf._nKeyCode=nKeyCode;var sText=this.value;if(oSelf._isIgnoreKey(nKeyCode)||(sText.toLowerCase()==oSelf._sCurQuery)){return;}
else{oSelf.textboxKeyEvent.fire(oSelf,nKeyCode);}
if(oSelf.queryDelay>0){var nDelayID=setTimeout(function(){oSelf._sendQuery(sText);},(oSelf.queryDelay*1000));if(oSelf._nDelayID!=-1){clearTimeout(oSelf._nDelayID);}
oSelf._nDelayID=nDelayID;}
else{oSelf._sendQuery(sText);}};YAHOO.widget.MultiAutoComplete.prototype._onTextboxFocus=function(v,oSelf){oSelf._oTextbox.setAttribute("autocomplete","off");oSelf._bFocused=true;oSelf.textboxFocusEvent.fire(oSelf);};YAHOO.widget.MultiAutoComplete.prototype._onTextboxBlur=function(v,oSelf){if(!oSelf._bOverContainer||(oSelf._nKeyCode==9)){if(!oSelf._bItemSelected){if(!oSelf._bContainerOpen||(oSelf._bContainerOpen&&!oSelf._textMatchesOption())){if(oSelf.forceSelection){oSelf._clearSelection();}
else{oSelf.unmatchedItemSelectEvent.fire(oSelf,oSelf._sCurQuery);}}}
if(oSelf._bContainerOpen){oSelf._toggleContainer(false);}
oSelf._cancelIntervalDetection(oSelf);oSelf._bFocused=false;oSelf.textboxBlurEvent.fire(oSelf);}};YAHOO.widget.MultiAutoComplete.prototype._onFormSubmit=function(v,oSelf){if(oSelf.allowBrowserAutocomplete){oSelf._oTextbox.setAttribute("autocomplete","on");}
else{oSelf._oTextbox.setAttribute("autocomplete","off");}};YAHOO.widget.DataSource=function(){};YAHOO.widget.DataSource.ERROR_DATANULL="Response data was null";YAHOO.widget.DataSource.ERROR_DATAPARSE="Response data could not be parsed";YAHOO.widget.DataSource.prototype.maxCacheEntries=15;YAHOO.widget.DataSource.prototype.queryMatchContains=false;YAHOO.widget.DataSource.prototype.queryMatchSubset=false;YAHOO.widget.DataSource.prototype.queryMatchCase=false;YAHOO.widget.DataSource.prototype.index=-1;YAHOO.widget.DataSource.prototype.toString=function(){return"DataSource "+this._sName;};YAHOO.widget.DataSource.prototype.getResults=function(oCallbackFn,sQuery,oParent){var aResults=this._doQueryCache(oCallbackFn,sQuery,oParent);if(aResults.length===0){this.queryEvent.fire(this,oParent,sQuery);this.doQuery(oCallbackFn,sQuery,oParent);}};YAHOO.widget.DataSource.prototype.doQuery=function(oCallbackFn,sQuery,oParent){};YAHOO.widget.DataSource.prototype.flushCache=function(){if(this._aCache){this._aCache=[];}
if(this._aCacheHelper){this._aCacheHelper=[];}
this.cacheFlushEvent.fire(this);};YAHOO.widget.DataSource.prototype.queryEvent=null;YAHOO.widget.DataSource.prototype.cacheQueryEvent=null;YAHOO.widget.DataSource.prototype.getResultsEvent=null;YAHOO.widget.DataSource.prototype.getCachedResultsEvent=null;YAHOO.widget.DataSource.prototype.dataErrorEvent=null;YAHOO.widget.DataSource.prototype.cacheFlushEvent=null;YAHOO.widget.DataSource._nIndex=0;YAHOO.widget.DataSource.prototype._sName=null;YAHOO.widget.DataSource.prototype._aCache=null;YAHOO.widget.DataSource.prototype._init=function(){var maxCacheEntries=this.maxCacheEntries;if(isNaN(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}
if(maxCacheEntries>0&&!this._aCache){this._aCache=[];}
this._sName="instance"+YAHOO.widget.DataSource._nIndex;YAHOO.widget.DataSource._nIndex++;this.queryEvent=new YAHOO.util.CustomEvent("query",this);this.cacheQueryEvent=new YAHOO.util.CustomEvent("cacheQuery",this);this.getResultsEvent=new YAHOO.util.CustomEvent("getResults",this);this.getCachedResultsEvent=new YAHOO.util.CustomEvent("getCachedResults",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError"+this.index,this);this.cacheFlushEvent=new YAHOO.util.CustomEvent("cacheFlush",this);};YAHOO.widget.DataSource.prototype._addCacheElem=function(oResult){var aCache=this._aCache;if(!aCache||!oResult||!oResult.query||!oResult.results){return;}
if(aCache.length>=this.maxCacheEntries){aCache.shift();}
aCache.push(oResult);};YAHOO.widget.DataSource.prototype._doQueryCache=function(oCallbackFn,sQuery,oParent){var aResults=[];var bMatchFound=false;var aCache=this._aCache;var nCacheLength=(aCache)?aCache.length:0;var bMatchContains=this.queryMatchContains;if((this.maxCacheEntries>0)&&aCache&&(nCacheLength>0)){this.cacheQueryEvent.fire(this,oParent,sQuery);if(!this.queryMatchCase){var sOrigQuery=sQuery;sQuery=sQuery.toLowerCase();}
for(var i=nCacheLength-1;i>=0;i--){var resultObj=aCache[i];var aAllResultItems=resultObj.results;var matchKey=(!this.queryMatchCase)?encodeURIComponent(resultObj.query).toLowerCase():encodeURIComponent(resultObj.query);if(matchKey==sQuery){bMatchFound=true;aResults=aAllResultItems;if(i!=nCacheLength-1){aCache.splice(i,1);this._addCacheElem(resultObj);}
break;}
else if(this.queryMatchSubset){for(var j=sQuery.length-1;j>=0;j--){var subQuery=sQuery.substr(0,j);if(matchKey==subQuery){bMatchFound=true;for(var k=aAllResultItems.length-1;k>=0;k--){var aRecord=aAllResultItems[k];var sKeyIndex=(this.queryMatchCase)?encodeURIComponent(aRecord[0]).indexOf(sQuery):encodeURIComponent(aRecord[0]).toLowerCase().indexOf(sQuery);if((!bMatchContains&&(sKeyIndex===0))||(bMatchContains&&(sKeyIndex>-1))){aResults.unshift(aRecord);}}
resultObj={};resultObj.query=sQuery;resultObj.results=aResults;this._addCacheElem(resultObj);break;}}
if(bMatchFound){break;}}}
if(bMatchFound){this.getCachedResultsEvent.fire(this,oParent,sOrigQuery,aResults);oCallbackFn(sOrigQuery,aResults,oParent,this.index);}}
return aResults;};YAHOO.widget.DS_XHR=function(sScriptURI,aSchema,oConfigs){if(typeof oConfigs=="object"){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!aSchema||(aSchema.constructor!=Array)){return;}
else{this.schema=aSchema;}
this.scriptURI=sScriptURI;this._init();};YAHOO.widget.DS_XHR.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_XHR.TYPE_JSON=0;YAHOO.widget.DS_XHR.TYPE_XML=1;YAHOO.widget.DS_XHR.TYPE_FLAT=2;YAHOO.widget.DS_XHR.ERROR_DATAXHR="XHR response failed";YAHOO.widget.DS_XHR.prototype.connMgr=YAHOO.util.Connect;YAHOO.widget.DS_XHR.prototype.connTimeout=0;YAHOO.widget.DS_XHR.prototype.scriptURI=null;YAHOO.widget.DS_XHR.prototype.scriptQueryParam="query";YAHOO.widget.DS_XHR.prototype.scriptQueryAppend="";YAHOO.widget.DS_XHR.prototype.responseType=YAHOO.widget.DS_XHR.TYPE_JSON;YAHOO.widget.DS_XHR.prototype.responseStripAfter="\n<!-";YAHOO.widget.DS_XHR.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var isXML=(this.responseType==YAHOO.widget.DS_XHR.TYPE_XML);var sUri=this.scriptURI+"?"+this.scriptQueryParam+"="+sQuery;if(this.scriptQueryAppend.length>0){sUri+="&"+this.scriptQueryAppend;}
var oResponse=null;var oSelf=this;var responseSuccess=function(oResp){if(!oSelf._oConn||(oResp.tId!=oSelf._oConn.tId)){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
for(var foo in oResp){}
if(!isXML){oResp=oResp.responseText;}
else{oResp=oResp.responseXML;}
if(oResp===null){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
var aResults=oSelf.parseResponse(sQuery,oResp,oParent);var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;if(aResults===null){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATAPARSE);aResults=[];}
else{oSelf.getResultsEvent.fire(oSelf,oParent,sQuery,aResults);oSelf._addCacheElem(resultObj);}
oCallbackFn(sQuery,aResults,oParent,this.argument[0]);};var responseFailure=function(oResp){oSelf.dataErrorEvent.fire(oSelf,oParent,sQuery,YAHOO.widget.DS_XHR.ERROR_DATAXHR);return;};var oCallback={success:responseSuccess,failure:responseFailure,argument:[this.index]};if(!isNaN(this.connTimeout)&&this.connTimeout>0){oCallback.timeout=this.connTimeout;}
if(this._oConn){this.connMgr.abort(this._oConn);}
oSelf._oConn=this.connMgr.asyncRequest("GET",sUri,oCallback,null);};YAHOO.widget.DS_XHR.prototype.parseResponse=function(sQuery,oResponse,oParent){var aSchema=this.schema;var aResults=[];var bError=false;var nEnd=((this.responseStripAfter!=="")&&(oResponse.indexOf))?oResponse.indexOf(this.responseStripAfter):-1;if(nEnd!=-1){oResponse=oResponse.substring(0,nEnd);}
switch(this.responseType){case YAHOO.widget.DS_XHR.TYPE_JSON:var jsonList;if(window.JSON&&(navigator.userAgent.toLowerCase().indexOf('khtml')==-1)){var jsonObjParsed=JSON.parse(oResponse);if(!jsonObjParsed){bError=true;break;}
else{try{jsonList=eval("jsonObjParsed."+aSchema[0]);}
catch(e){bError=true;break;}}}
else{try{while(oResponse.substring(0,1)==" "){oResponse=oResponse.substring(1,oResponse.length);}
if(oResponse.indexOf("{")<0){bError=true;break;}
if(oResponse.indexOf("{}")===0){break;}
var jsonObjRaw=eval("("+oResponse+")");if(!jsonObjRaw){bError=true;break;}
jsonList=eval("(jsonObjRaw."+aSchema[0]+")");}
catch(e){bError=true;break;}}
if(!jsonList){bError=true;break;}
if(jsonList.constructor!=Array){jsonList=[jsonList];}
for(var i=jsonList.length-1;i>=0;i--){var aResultItem=[];var jsonResult=jsonList[i];for(var j=aSchema.length-1;j>=1;j--){var dataFieldValue=jsonResult[aSchema[j]];if(!dataFieldValue){dataFieldValue="";}
aResultItem.unshift(dataFieldValue);}
if(aResultItem.length==1){aResultItem.push(jsonResult);}
aResults.unshift(aResultItem);}
break;case YAHOO.widget.DS_XHR.TYPE_XML:var xmlList=oResponse.getElementsByTagName(aSchema[0]);if(!xmlList){bError=true;break;}
for(var k=xmlList.length-1;k>=0;k--){var result=xmlList.item(k);var aFieldSet=[];for(var m=aSchema.length-1;m>=1;m--){var sValue=null;var xmlAttr=result.attributes.getNamedItem(aSchema[m]);if(xmlAttr){sValue=xmlAttr.value;}
else{var xmlNode=result.getElementsByTagName(aSchema[m]);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0).firstChild){sValue=xmlNode.item(0).firstChild.nodeValue;}
else{sValue="";}}
aFieldSet.unshift(sValue);}
aResults.unshift(aFieldSet);}
break;case YAHOO.widget.DS_XHR.TYPE_FLAT:if(oResponse.length>0){var newLength=oResponse.length-aSchema[0].length;if(oResponse.substr(newLength)==aSchema[0]){oResponse=oResponse.substr(0,newLength);}
var aRecords=oResponse.split(aSchema[0]);for(var n=aRecords.length-1;n>=0;n--){aResults[n]=aRecords[n].split(aSchema[1]);}}
break;default:break;}
sQuery=null;oResponse=null;oParent=null;if(bError){return null;}
else{return aResults;}};YAHOO.widget.DS_XHR.prototype._oConn=null;YAHOO.widget.DS_JSFunction=function(oFunction,oConfigs){if(typeof oConfigs=="object"){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!oFunction||(oFunction.constructor!=Function)){return;}
else{this.dataFunction=oFunction;this._init();}};YAHOO.widget.DS_JSFunction.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSFunction.prototype.dataFunction=null;YAHOO.widget.DS_JSFunction.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var oFunction=this.dataFunction;var aResults=[];aResults=oFunction(sQuery);if(aResults===null){this.dataErrorEvent.fire(this,oParent,sQuery,YAHOO.widget.DataSource.ERROR_DATANULL);return;}
var resultObj={};resultObj.query=decodeURIComponent(sQuery);resultObj.results=aResults;this._addCacheElem(resultObj);this.getResultsEvent.fire(this,oParent,sQuery,aResults);oCallbackFn(sQuery,aResults,oParent,this.index);return;};YAHOO.widget.DS_JSArray=function(aData,oConfigs){if(typeof oConfigs=="object"){for(var sConfig in oConfigs){this[sConfig]=oConfigs[sConfig];}}
if(!aData||(aData.constructor!=Array)){return;}
else{this.data=aData;this._init();}};YAHOO.widget.DS_JSArray.prototype=new YAHOO.widget.DataSource();YAHOO.widget.DS_JSArray.prototype.data=null;YAHOO.widget.DS_JSArray.prototype.doQuery=function(oCallbackFn,sQuery,oParent){var aData=this.data;var aResults=[];var bMatchFound=false;var bMatchContains=this.queryMatchContains;if(sQuery){if(!this.queryMatchCase){sQuery=sQuery.toLowerCase();}
for(var i=aData.length-1;i>=0;i--){var aDataset=[];if(aData[i]){if(aData[i].constructor==String){aDataset[0]=aData[i];}
else if(aData[i].constructor==Array){aDataset=aData[i];}}
if(aDataset[0]&&(aDataset[0].constructor==String)){var sKeyIndex=(this.queryMatchCase)?encodeURIComponent(aDataset[0]).indexOf(sQuery):encodeURIComponent(aDataset[0]).toLowerCase().indexOf(sQuery);if((!bMatchContains&&(sKeyIndex===0))||(bMatchContains&&(sKeyIndex>-1))){aResults.unshift(aDataset);}}}}
this.getResultsEvent.fire(this,oParent,sQuery,aResults);oCallbackFn(sQuery,aResults,oParent,this.index);};

function MWHierNavNamespace()
{function HierNav()
{}
HierNav.config={autosubmenudisplay:true,hidedelay:50,lazyload:true,submenualignment:["tl","bl"]};HierNav.onHierMainMenuReady=function()
{var oMenuBar=new YAHOO.widget.MenuBar("HierMainMenu",HierNav.config);oMenuBar.render();}
HierNav.onHierSubMenuReady=function()
{var oMenuBar=new YAHOO.widget.MenuBar("HierSubMenu",HierNav.config);oMenuBar.render();}
HierNav.onBodyReady=function()
{HierNav.onHierMainMenuReady();HierNav.onHierSubMenuReady();}
function InstallLibrary(target)
{YAHOO.widget.Menu.prototype.onRender=function(){};var ua=navigator.userAgent.toLowerCase();var isOpera=(ua.indexOf('opera')>-1);var isIE=(!isOpera&&ua.indexOf('msie')>-1);if(isIE)
{YAHOO.util.Event.addListener(window,"load",HierNav.onBodyReady);}
else
{YAHOO.util.Event.onContentReady("HierMainMenu",HierNav.onHierMainMenuReady);YAHOO.util.Event.onContentReady("HierSubMenu",HierNav.onHierSubMenuReady);}};InstallLibrary();}
MWHierNavNamespace();

var MKTW=window.MKTW||{};MKTW.namespace=function(sNameSpace){if(!sNameSpace||!sNameSpace.length){return null;}
var levels=sNameSpace.split(".");var currentNS=MKTW;for(var i=(levels[0]=="MKTW")?1:0;i<levels.length;++i){currentNS[levels[i]]=currentNS[levels[i]]||{};currentNS=currentNS[levels[i]];}
return currentNS;};

Function.prototype.bind=function(object){var method=this;return function(){method.apply(object,arguments);};};var HomePage={getEventTarget:function(e)
{var target;if(!e)
{var e=window.event;}
if(e.target)
{target=e.target;}
else if(e.srcElement)
{target=e.srcElement;}
if(target.nodeType==3)
{target=target.parentNode;}
return target;},videoLaunch:function(siteId,url)
{switch(siteId){case"aolpf":case"netscape":case"aol":case"compuserve":case"yhoo":case"myyahoo":case"intuit":url=url.replace(/player.asp/g,"playerFull.asp");if(url.search(/siteid=/g)==-1)
{url=url+"&siteid="+siteId;}
document.location=url;break;default:pop=window.open(url,'vviewer','width=988,height=550,scrollbars=no,resize=no,location=no,status=no');pop.focus();break;}},getRequest:function()
{var xmlHttp=false;try
{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch(msxml2Exception)
{try
{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(microsoftException)
{xmlHttp=false;}}
if(!xmlHttp&&typeof XMLHttpRequest!='undefined')
{xmlHttp=new XMLHttpRequest();}
return xmlHttp;},reportError:function(msg)
{},findPosX:function(obj)
{var curleft=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curleft+=obj.offsetLeft;obj=obj.offsetParent;}}
else if(obj.x)
{curleft+=obj.x;}
return curleft;},findPosY:function(obj)
{var curtop=0;if(obj.offsetParent)
{while(obj.offsetParent)
{curtop+=obj.offsetTop;obj=obj.offsetParent;}}
else if(obj.y)
{curtop+=obj.y;}
return curtop;},addCssClass:function(element,className)
{var present=false;if(element!=null&&element.className!=null&&element.className!="")
{var currentClasses=element.className.split(" ");for(i=0;i<currentClasses.length;i++)
{if(currentClasses[i]==className)
{present=true;}}
if(!present)
{element.className+=" "+className;}}
else if(element!=null)
{element.className=className;}},removeCssClass:function(element,className)
{var present=false;var newClasses="";if(element!=null&&element.className!=null&&element.className!="")
{var currentClasses=element.className.split(" ");for(i=0;i<currentClasses.length;i++)
{if(currentClasses[i]!=className)
{if(newClasses!="")
{newClasses+=" ";}
newClasses+=currentClasses[i];}}
element.className=newClasses;}},isOfCssClass:function(element,className)
{if(element.className!=null)
{var classes=element.className.split(" ");for(var i=0;i<classes.length;i++)
{if(classes[i]==className)
{return true;}}}
return false;},getUserIdFromCookie:function()
{var cookieName="marketwatchportfolio";var documentCookie=document.cookie;var begin=documentCookie.indexOf(cookieName);if(begin==-1)
{return null;}
var end=documentCookie.indexOf(";",begin);if(end==-1)
{end=documentCookie.length;}
var portfolioCookie=documentCookie.substring(begin,end);var uidString="UID=";begin=portfolioCookie.indexOf(uidString);if(begin==-1)
{return null;}
end=portfolioCookie.indexOf("&",begin);if(end==-1)
{end=portfolioCookie.length;}
var userId=portfolioCookie.substring(begin+uidString.length,end);return userId;}};function PollingCoordinator()
{this.callbacks=new Array();this.minimumRefreshRate=PollingCoordinator.MaximumRefreshRate;this.startTimeout=null;this.debug=false;}
PollingCoordinator.MaximumRefreshRate=2147483647;PollingCoordinator.prototype.add=function(coordinationId,coordinatedRequest,getRequestCallback,processResponseCallback)
{this.callbacks[this.callbacks.length]={"coordinationId":coordinationId,"coordinatedRequest":coordinatedRequest,"getRequest":getRequestCallback,"processResponse":processResponseCallback};if(this.minimumRefreshRate>coordinatedRequest.RefreshRate)
{this.minimumRefreshRate=coordinatedRequest.RefreshRate;}};PollingCoordinator.prototype.remove=function(coordinationId)
{var updatedCallbacks=new Array();for(var i=0;i<this.callbacks.length;i++)
{if(this.callbacks[i].coordinationId!=coordinationId)
{updatedCallbacks[updatedCallbacks.length]=this.callbacks[i];}}
this.callbacks=updatedCallbacks;};PollingCoordinator.prototype.start=function()
{var thunk=this;if(!BrowserDetect().isSafari&&!BrowserDetect().isFF10)
{this.startTimeout=setTimeout(function()
{thunk.sendMessages();},this.minimumRefreshRate);}};PollingCoordinator.prototype.sendMessages=function()
{try
{if(this.debug)
{window.status="Polling: "+new Date().toLocaleTimeString()+"...";}
var messages=new Array();var messagesIndex=0;for(var i=0;i<this.callbacks.length;i++)
{var callback=this.callbacks[i];var coordinatedRequest=callback.coordinatedRequest;var callbackMessage=callback.getRequest();if(callbackMessage!=null)
{coordinatedRequest.Message=callbackMessage;coordinatedRequest.RequestId=i.toString();messages[messagesIndex]=coordinatedRequest;messagesIndex++;}}
if(messages.length>0)
{var message={"Requests":messages};var request=HomePage.getRequest();var thunk=this;request.open("GET","CoordinatedBridgePage.aspx?Messages="+JSON.serialize(message),true);request.onreadystatechange=function()
{if(request.readyState==4)
{thunk.onMessagesProcessed(request.responseText);}};request.send(null);}
else
{this.start();}}
catch(sendException)
{HomePage.reportError("PollingCoordinator.prototype.sendMessages() - "+sendException);this.start();}};PollingCoordinator.prototype.onMessagesProcessed=function(responseText)
{try
{var response=JSON.deserializeNoValidate(responseText);if(response!=null&&response.Succeeded==true&&response.Responses!=null)
{for(var i=0;i<response.Responses.length;i++)
{var coordinatedResponse=response.Responses[i];var requestId=parseInt(coordinatedResponse.RequestId);var coordinatedRequest=this.callbacks[requestId].coordinatedRequest;if(coordinatedRequest.LastUpdated!=coordinatedResponse.LastUpdated&&coordinatedResponse.Response!=null)
{coordinatedRequest.LastUpdated=coordinatedResponse.LastUpdated;try
{this.callbacks[requestId].processResponse(coordinatedResponse.Response);}
catch(callbackException){}}}}}
catch(processException)
{HomePage.reportError("PollingCoordinator.prototype.onMessagesProcessed() - "+processException);}
this.start();};function AdRefresher(containerId,refreshRate,orderValue)
{}
function MyMarketWatchManager(uiMessage,dataMessage,userId,tabId,tickerContent,headlineContent)
{this.recentTabControl=document.getElementById(uiMessage.RecentTabId);this.portfolioTabControl=document.getElementById(uiMessage.PortfolioTabId);this.recentHeadlineControl=document.getElementById(uiMessage.RecentHeadlineId);this.recentHeadlineContentControl=document.getElementById(uiMessage.RecentHeadlineContentId);this.recentTickerControl=document.getElementById(uiMessage.RecentTickerId);this.recentTickerContentControl=document.getElementById(uiMessage.RecentTickerContentId);this.tickerHRef=uiMessage.TickerHRef;this.portfolioTickerControl=document.getElementById(uiMessage.PortfolioTickerId);this.portfolioTickerContentControl=document.getElementById(uiMessage.PortfolioTickerContentId);this.portfolioHeadlineControl=document.getElementById(uiMessage.PortfolioHeadlineId);this.portfolioHeadlineContentControl=document.getElementById(uiMessage.PortfolioHeadlineContentId);this.portfolioHeaderControl=document.getElementById(uiMessage.PortfolioHeaderId)
this.recentHeaderControl=document.getElementById(uiMessage.RecentHeaderId);this.userId=userId;this.tickerContentHTML=tickerContent;this.headlineContentHTML=headlineContent;this.toolTip=new YAHOO.widget.Tooltip("quotett");this.toolTip.doShow=this.customToolTipShow;this.toolTip.prepareToolTip=this.prepareToolTip;this.toolTipElements=new Array();this.myData=new Array();this.myData[tabId]=dataMessage;this.showData(tabId);}
MyMarketWatchManager.MyQuotes=0;MyMarketWatchManager.Portfolio=1;MyMarketWatchManager.prototype.customToolTipShow=function(e,context){var yOffset=25;if(this.browser=="opera"&&context.tagName&&context.tagName.toUpperCase()=="A"){yOffset+=12;}
if(!this.prepareToolTip(context))return;;var me=this;return setTimeout(function(){if(me._tempTitle){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
YAHOO.util.Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));};MyMarketWatchManager.prototype.prepareToolTip=function(context){if(!window.LiveQuotesGateway||typeof(window.LiveQuotesGateway)=='undefined')
return false;var bindings=LiveQuotesGateway.Instance().Bindings;var contextTicker=context.firstChild.getAttribute('mwsymbol');var timestamp=null;var type='Delayed';var source='Comstock';for(var ticker in bindings)
{if(typeof(bindings[ticker])=="object"&&ticker.lastIndexOf(contextTicker)==ticker.length-contextTicker.length&&bindings[ticker].getStatus()=='Subscribed')
{timestamp=bindings[ticker].Timestamp();break;}}
var classes=context.firstChild.className.split(' ');if(classes.length==1){if(context.firstChild.lastChild&&context.firstChild.lastChild.className)
classes=context.firstChild.lastChild.className.split(' ');}
if(classes!=null&&classes.length>0)
{for(var i=0;i<classes.length;i++)
{switch(classes[i])
{case'realtime':type='Realtime';break;case'halt':type='Halted';break;case'after':type='After-Hours';break;case'pre':type='Pre-Market';break;}
if(type!='Delayed')
{source='Nasdaq';break;}}}
if(timestamp==null){timestamp=' ';if(context.firstChild.lastChild&&context.firstChild.lastChild.getAttribute("time")&&DateFormat){var date=new Date(context.firstChild.lastChild.getAttribute("time"));date.format=DateFormat;timestamp=date.format('h:nn a/pm')+" ET";}}
else
timestamp=timestamp.format('h:nn a/pm')+" ET";var message="<p class='quotetype'>"+type+" quote:</p><p>"+timestamp+"</p><p>This quote is a "+type.toLowerCase()+" quote by "+source+".</p>";this.cfg.setProperty('text',message);return true;};MyMarketWatchManager.prototype.clearAll=function(tabId)
{if(tabId==MyMarketWatchManager.MyQuotes)
{mymwCookie.clearAllViewedQuotes();if(this.myData[tabId]!=null)
{this.myData[tabId].Tickers=null;this.myData[tabId].Headlines=null;this.showData(tabId);}
if(mymwCookie.UID)
{var message={"UserId":mymwCookie.UID};var request=HomePage.getRequest();try
{request.open("GET","BridgePage.aspx?Method=UpdateUserWithMyMW&Message="+JSON.serialize(message),true);request.send(null);}
catch(sendException)
{}}}};MyMarketWatchManager.prototype.showData=function(tabId)
{var data=this.myData[tabId];var quoteTable=null;if(tabId==MyMarketWatchManager.MyQuotes)
{HomePage.addCssClass(this.recentTabControl,"selected");HomePage.removeCssClass(this.portfolioTabControl,"selected");HomePage.addCssClass(this.portfolioTickerContentControl,"invisible");HomePage.removeCssClass(this.recentTickerContentControl,"invisible");HomePage.addCssClass(this.portfolioHeadlineContentControl,"invisible");HomePage.removeCssClass(this.recentHeadlineContentControl,"invisible");HomePage.addCssClass(this.portfolioHeaderControl,"invisible");if(data!=null&&data.Tickers!=null&&data.Tickers.length>0)
{HomePage.removeCssClass(this.recentHeaderControl,"invisible");}
else
{HomePage.addCssClass(this.recentHeaderControl,"invisible");}
quoteTable=this.recentTickerContentControl.getElementsByTagName("table")[0];}
else if(tabId==MyMarketWatchManager.Portfolio)
{HomePage.addCssClass(this.portfolioTabControl,"selected");HomePage.removeCssClass(this.recentTabControl,"selected");HomePage.addCssClass(this.recentTickerContentControl,"invisible");HomePage.removeCssClass(this.portfolioTickerContentControl,"invisible");HomePage.addCssClass(this.recentHeadlineContentControl,"invisible");HomePage.removeCssClass(this.portfolioHeadlineContentControl,"invisible");HomePage.addCssClass(this.recentHeaderControl,"invisible");if(data!=null&&data.Tickers!=null&&data.Tickers.length>0)
{HomePage.removeCssClass(this.portfolioHeaderControl,"invisible");}
quoteTable=this.portfolioTickerContentControl.getElementsByTagName("table")[0];}
if(data!=null)
{if(data.Tickers!=null&&data.Tickers.length>0)
{if(quoteTable==null)
{quoteTable=this.generateQuoteTable(data.Tickers);headlineTable=this.generateHeadlineLinks(data.Headlines);if(tabId==MyMarketWatchManager.MyQuotes)
{this.recentTickerContentControl.appendChild(quoteTable);this.recentHeadlineContentControl.appendChild(headlineTable);}
else if(tabId==MyMarketWatchManager.Portfolio)
{this.portfolioTickerContentControl.appendChild(quoteTable);this.portfolioHeadlineContentControl.appendChild(headlineTable);}}}
else
{if(tabId==MyMarketWatchManager.MyQuotes)
{this.recentTickerContentControl.innerHTML=this.tickerContentHTML[tabId];this.recentHeadlineContentControl.innerHTML=this.headlineContentHTML[tabId];}
else if(tabId==MyMarketWatchManager.Portfolio)
{this.portfolioTickerContentControl.innerHTML=this.tickerContentHTML[tabId];this.portfolioHeadlineContentControl.innerHTML=this.headlineContentHTML[tabId];}}}
else
{var message={"Type":tabId,"UserId":this.userId};var request=HomePage.getRequest();var thunk=this;request.open("GET","BridgePage.aspx?Method=GetMyMarketWatchData&Message="+JSON.serialize(message),true);request.onreadystatechange=function()
{if(request.readyState==4)
{thunk.onMessagesProcessed(tabId,request.responseText);}};request.send(null);}};MyMarketWatchManager.prototype.onMessagesProcessed=function(tabId,responseText)
{var response=JSON.deserializeNoValidate(responseText);if(response!=null&&response.Succeeded==true)
{this.myData[tabId]=response;this.showData(tabId);if(window.MWLiveQuotes!=null)
{MWLiveQuotes.setup();}
else if(window.LiveQuotesGateway!=null)
{if(window.LiveQuotesExchanges!=null)
LiveQuotesGateway.setup(window.LiveQuotesExchanges);else
LiveQuotesGateway.setup();}}};MyMarketWatchManager.prototype.generateHeadlineLinks=function(headlines)
{var now=new Date();var headlineTable=document.createElement("table");headlineTable.cellPadding=0;headlineTable.cellSpacing=0;headlineTable.border=0;var headlineTableBody=document.createElement("tbody");if(headlines!=null)
{for(var i=0;i<headlines.length;i++)
{var headlineRow=document.createElement("tr");if((i+1)%2==0)
{headlineRow.className="myMarketWatchRow even";}
else
{headlineRow.className="myMarketWatchRow odd";}
var currentHeadline=headlines[i];var timestamp=document.createElement("td");headlineRow.appendChild(timestamp);var createdTimestamp=new Date(Date.parse(currentHeadline.CreatedTimestamp));if((now.getDate()==createdTimestamp.getDate())&&(now.getMonth()==createdTimestamp.getMonth())&&(now.getFullYear()==createdTimestamp.getFullYear()))
{var minutes=createdTimestamp.getMinutes()<10?"0"+createdTimestamp.getMinutes():createdTimestamp.getMinutes();var hours=createdTimestamp.getHours()%12==0?"12":createdTimestamp.getHours()%12;timestamp.innerHTML=hours+":"+minutes;}
else
{var month=createdTimestamp.getMonth()+1;var day=createdTimestamp.getDate();timestamp.innerHTML=month+"/"+day;}
timestamp.className="timestamp";var headline=document.createElement("td");headline.className="headline";if(currentHeadline.DocType==90)
{if(currentHeadline.Symbol!=null)
{var symbolSpan=document.createElement("span");symbolSpan.innerHTML=currentHeadline.Symbol;var symbolLink=document.createElement("a");symbolLink.href=currentHeadline.Link;symbolLink.appendChild(symbolSpan);headline.appendChild(document.createTextNode("["));headline.appendChild(symbolLink);headline.appendChild(document.createTextNode("] "));headline.appendChild(document.createTextNode(currentHeadline.Headline));}
headlineRow.appendChild(headline);}
else
{var link=document.createElement("a");link.href=currentHeadline.Link;link.innerHTML=currentHeadline.Headline;headline.appendChild(link);headlineRow.appendChild(headline);}
headlineTableBody.appendChild(headlineRow);}}
headlineTable.appendChild(headlineTableBody);return headlineTable;};MyMarketWatchManager.prototype.generateQuoteTable=function(tickers)
{var quoteTable=document.createElement("table");quoteTable.className="quotes";var quoteBody=document.createElement("tbody");quoteTable.appendChild(quoteBody);this.generateTableHeader(quoteBody);var index=0;for(var i=0;i<tickers.length;i++)
{if(tickers[i]!=null)
{this.generateTableRow(quoteBody,tickers[i],index);index++;}}
if(this.toolTip!=null&&this.toolTip.id!=null)
this.toolTip.cfg.setProperty("context",this.toolTipElements);return quoteTable;};MyMarketWatchManager.prototype.generateTableRow=function(quoteTable,ticker,index)
{var quoteRow=document.createElement("tr");quoteTable.appendChild(quoteRow);if((index+1)%2==0)
{quoteRow.className="myMarketWatchRow even";}
else
{quoteRow.className="myMarketWatchRow odd";}
var symbolCell=document.createElement("td");quoteRow.appendChild(symbolCell);symbolCell.className="symbol";var symbolAnchor=document.createElement("a");symbolCell.appendChild(symbolAnchor);var tickerValue=null;if(ticker.Exchange!=null&&ticker.Exchange.toUpperCase()!="US")
{tickerValue=ticker.Exchange+":"+ticker.Symbol;}
else
{tickerValue=ticker.Symbol;}
var isIndu=false;if(tickerValue.toLowerCase()=='indu'||tickerValue.toLowerCase()=='djia')
isIndu=true;symbolAnchor.innerHTML=tickerValue;symbolAnchor.href=this.tickerHRef+tickerValue;var priceCell=document.createElement("td");quoteRow.appendChild(priceCell);priceCell.className="price";var neutralPrice=document.createElement("span");priceCell.appendChild(neutralPrice);neutralPrice.className="neutral";var formattedPrice=document.createElement("span");priceCell.appendChild(formattedPrice);if(!isIndu)
formattedPrice.className="mwlivequotes";formattedPrice.setAttribute("mwfield","Price");formattedPrice.setAttribute("mwformat",",2");formattedPrice.setAttribute("mwsymbol",tickerValue);formattedPrice.innerHTML=ticker.Price;var dataSourceCell=document.createElement("td");quoteRow.appendChild(dataSourceCell);dataSourceCell.className="datasource";var dataSource=document.createElement("span");if(!isIndu)
dataSource.className="mwlivequotes";dataSource.setAttribute("mwfield","Flags");dataSource.setAttribute("mwformat","none");dataSource.setAttribute("mwsymbol",tickerValue);dataSource.innerHTML="&nbsp;";var initialIcon=document.createElement("span");if(ticker.Flag&&ticker.Flag.length>0)
initialIcon.className=ticker.Flag;else
initialIcon.className="delayed";initialIcon.innerHTML="&nbsp;";initialIcon.setAttribute("time",ticker.Time)
dataSource.appendChild(initialIcon);var changeCell=document.createElement("td");quoteRow.appendChild(changeCell);changeCell.className="change";var formattedChange=document.createElement("span");changeCell.appendChild(formattedChange);if(!isIndu)
formattedChange.className="mwlivequotes";formattedChange.setAttribute("mwfield","Change");formattedChange.setAttribute("mwformat",",2");formattedChange.setAttribute("mwsymbol",tickerValue);var colorChange=document.createElement("span");if(ticker.Change>0)
{colorChange.className="up";}
else if(ticker.Change<0)
{colorChange.className="down";}
colorChange.innerHTML=ticker.Change;formattedChange.appendChild(colorChange);var percentChangeCell=document.createElement("td");quoteRow.appendChild(percentChangeCell);percentChangeCell.className="percentChange";var formattedPercentChange=document.createElement("span");percentChangeCell.appendChild(formattedPercentChange);if(!isIndu)
formattedPercentChange.className="mwlivequotes";formattedPercentChange.setAttribute("mwfield","PercentChange");formattedPercentChange.setAttribute("mwformat",",2");formattedPercentChange.setAttribute("mwsymbol",tickerValue);var colorPercentChange=document.createElement("span");if(ticker.PercentChange>0)
{colorPercentChange.className="up";}
else if(ticker.PercentChange<0)
{colorPercentChange.className="down";}
colorPercentChange.innerHTML=ticker.PercentChange;formattedPercentChange.appendChild(colorPercentChange);};MyMarketWatchManager.prototype.generateTableHeader=function(quoteTable)
{var quoteHeaderRow=document.createElement("tr");quoteTable.appendChild(quoteHeaderRow);var symbolHeader=document.createElement("th");quoteHeaderRow.appendChild(symbolHeader);symbolHeader.className="symbol";symbolHeader.innerHTML="Symbol";var priceHeader=document.createElement("th");quoteHeaderRow.appendChild(priceHeader);priceHeader.className="price";priceHeader.innerHTML="Price";var datasourceHeader=document.createElement("th");quoteHeaderRow.appendChild(datasourceHeader);datasourceHeader.className="datasource";var changeHeader=document.createElement("th");quoteHeaderRow.appendChild(changeHeader);changeHeader.className="change";changeHeader.innerHTML="Change";var percentChangeHeader=document.createElement("th");quoteHeaderRow.appendChild(percentChangeHeader);percentChangeHeader.className="percentChange";percentChangeHeader.innerHTML="% Change";};function BulletinMonitor(containerId,headlineId,message)
{this.container=document.getElementById(containerId);this.headline=document.getElementById(headlineId);this.message=message;}
BulletinMonitor.prototype.getRequest=function()
{return JSON.serialize(this.message);};BulletinMonitor.prototype.processResponse=function(response)
{try
{if((response.Succeeded==true)&&(response.Bulletin!=null))
{var bulletin=response.Bulletin;var displayStyle=(bulletin.HasExpired==false)?"block":"none";if(this.message.LastUpdated!=bulletin.LastUpdated||displayStyle!=this.container.style.display)
{this.message.LastUpdated=bulletin.LastUpdated;if(bulletin.HasExpired==false)
{this.headline.innerHTML="<a href=\""+bulletin.Link+"\">"+bulletin.Headline+"</a>";this.container.style.display="block";}
else
{this.container.style.display="none";}}}}
catch(sendException)
{HomePage.reportError("BulletinMonitor.prototype.processResponse() - "+sendException);}};function TimeBrandingMonitor(message)
{try
{TimeBrandingMonitor.currentInterval=null;TimeBrandingMonitor.nextInterval=null;TimeBrandingMonitor.lastUpdate=null;this.message=message;}
catch(e)
{HomePage.reportError("TimeBrandingMonitor() - "+e);}}
TimeBrandingMonitor.prototype.getRequest=function()
{return JSON.serialize(this.message);};TimeBrandingMonitor.prototype.processResponse=function(response)
{try
{if(response.Succeeded==true)
{TimeBrandingMonitor.lastUpdate=response.LastUpdate;TimeBrandingMonitor.currentInterval=response.CurrentInterval;TimeBrandingMonitor.nextInterval=response.NextInterval;}}
catch(sendException)
{HomePage.reportError("TimeBrandingMonitor.prototype.processResponse() - "+sendException);}};function PhatMonitor(containerId,lastCheckedDateId,lastCheckedTimeId,lastCheckedZoneId,message,imageUrl,phatItems)
{this.imageUrl=imageUrl;this.message=message;this.container=document.getElementById(containerId);this.lastCheckedDate=document.getElementById(lastCheckedDateId);this.lastCheckedTime=document.getElementById(lastCheckedTimeId);this.lastCheckedZone=document.getElementById(lastCheckedZoneId);this.phatItems=phatItems;for(var i=0;i<this.phatItems.length;i++)
{var phatItem=this.phatItems[i];if(phatItem.AddJavaScript!=null)
{eval(phatItem.AddJavaScript);}}}
PhatMonitor.prototype.getRequest=function()
{return JSON.serialize(this.message);};PhatMonitor.prototype.processResponse=function(response)
{try
{if(response!=null)
{if(response.LastChecked!=null)
{if((response.LastChecked.Date!=null)&&(this.lastCheckedDate!=null))
{this.lastCheckedDate.innerHTML=response.LastChecked.Date;}
if((response.LastChecked.Time!=null)&&(this.lastCheckedTime!=null))
{this.lastCheckedTime.innerHTML=response.LastChecked.Time;}
if((response.LastChecked.Zone!=null)&&(this.lastCheckedZone!=null))
{this.lastCheckedZone.innerHTML=response.LastChecked.Zone;}}
if(response.Succeeded==true&&response.Responses!=null&&response.Responses.length==1&&response.Responses[0]!=null)
{var phatContentResponse=response.Responses[0];if(phatContentResponse.LastUpdated!=this.message.Requests[0].LastUpdated&&phatContentResponse.PhatContent!=null)
{this.getCurrentPhatWidgets();this.message.Requests[0].LastUpdated=phatContentResponse.LastUpdated;this.container.innerHTML=phatContentResponse.PhatContent;this.updatePhatWidgets(phatContentResponse);}}}}
catch(sendException)
{HomePage.reportError("PhatMonitor.prototype.processResponse() - "+sendException);}};PhatMonitor.prototype.updatePhatWidgets=function(response)
{var updatedPhatItemsList=new Array();for(var k=0;k<this.phatItems.length;k++)
{var phatItem=this.phatItems[k];var newPhatElement=document.getElementById(phatItem.WidgetId);if(newPhatElement!=null)
{newPhatElement.parentNode.replaceChild(phatItem.CurrentPhatElement,newPhatElement);updatedPhatItemsList[updatedPhatItemsList.length]=phatItem;phatItem.CurrentPhatElement=null;}
else
{eval(phatItem.RemoveJavaScript);}}
if(response.Widgets!=null&&response.Widgets.length>0)
{for(var i=0;i<response.Widgets.length;i++)
{var addedPhatItem=response.Widgets[i];var itemFound=false;for(var j=0;j<updatedPhatItemsList.length;j++)
{if(addedPhatItem.WidgetId==updatedPhatItemsList[j].WidgetId)
{itemFound=true;break;}}
if(itemFound==false)
{updatedPhatItemsList[updatedPhatItemsList.length]=addedPhatItem;eval(addedPhatItem.AddJavaScript);}}}
this.phatItems=updatedPhatItemsList;};PhatMonitor.prototype.getCurrentPhatWidgets=function()
{for(var i=0;i<this.phatItems.length;i++)
{var currentPhatElement=document.getElementById(this.phatItems[i].WidgetId);currentPhatElement.parentNode.removeChild(currentPhatElement);this.phatItems[i].CurrentPhatElement=currentPhatElement;}};function MarketOverview()
{this.selectedTickers=new Array();this.chartTimeout;this.popupTimeout;this.currentTicker;this.currentTickerRow;this.displayedTicker;}
MarketOverview.prototype.addSelectedTicker=function(ticker)
{this.selectedTickers[this.selectedTickers.length]=ticker;};MarketOverview.prototype.showPopupMenu=function(menuId,ticker,tickerRowElement)
{var menuElement=document.getElementById(menuId);if(menuElement!=null)
{menuElement.style.visibility="visible";this.currentTicker=ticker;if(tickerRowElement!=null)
{if(tickerRowElement.tagName=="TR")
{this.currentTickerRow=tickerRowElement;}}
var spans=menuElement.getElementsByTagName("span");for(var i=0;i<spans.length;i++)
{if(spans[i].className=="symbolToExchange")
{var index=ticker.indexOf(":");if(index!=-1||ticker.length-1)
{spans[i].innerHTML=ticker.substring(index+1,ticker.length);}}}}};MarketOverview.prototype.delayHidePopupMenu=function(menuId)
{var thunk=this;clearTimeout(this.popupTimeout);this.popupTimeout=setTimeout(function(){thunk.hidePopupMenu(menuId);},1000);};MarketOverview.prototype.stopHidePopupMenu=function()
{clearTimeout(this.popupTimeout);};MarketOverview.prototype.hidePopupMenu=function(menuId)
{var menuElement=document.getElementById(menuId);if(menuElement!=null)
{menuElement.style.visibility="hidden";}};MarketOverview.prototype.showTickerData=function(tableRow,ticker,displayTicker,chartId,chartSrc)
{var overviewTable=tableRow.parentNode;if(overviewTable.tagName.toLowerCase()=="table"||overviewTable.tagName.toLowerCase()=="tbody")
{var trs=overviewTable.getElementsByTagName("tr");for(i=0;i<trs.length;i++)
{if(HomePage.isOfCssClass(trs[i],"highlighted"))
{HomePage.removeCssClass(trs[i],"highlighted");}}}
HomePage.addCssClass(tableRow,"highlighted");var chartElement=document.getElementById(chartId);if(chartElement!=null&&chartElement.childNodes!=null)
{for(i=0;i<chartElement.childNodes.length;i++)
{if(chartElement.childNodes[i].tagName.toLowerCase()=="img")
{chartElement.childNodes[i].src=chartSrc;}}}};MarketOverview.prototype.delayShowTickerData=function(tableRow,ticker,displayTicker,chartId,chartSrc)
{var thunk=this;clearTimeout(this.chartTimeout);this.chartTimeout=setTimeout(function(){thunk.showTickerData(tableRow,ticker,displayTicker,chartId,chartSrc);},500);};MarketOverview.prototype.stopShowTickerData=function()
{clearTimeout(this.chartTimeout);};MarketOverview.prototype.switchTicker=function(newTicker,newTickerRowElement)
{for(i=0;i<this.selectedTickers.length;i++)
{if(this.selectedTickers[i]==this.currentTicker)
{this.selectedTickers[i]=newTicker;break;}}
this.switchTickerRowElements(this.currentTicker,this.currentTickerRow,newTicker,newTickerRowElement);var userId=HomePage.getUserIdFromCookie();var tickers=this.selectedTickers.join("|");var message={"UserId":userId,"Tickers":tickers};if(userId!=null)
{this.updateUserWithMarketOverviewTickers(message);}
else
{this.saveSelectedTickersToCookie(message.Tickers);}
return false;};MarketOverview.prototype.switchTickerRowElements=function(oldTicker,oldTickerRow,newTicker,newTickerRow)
{var oldCells=oldTickerRow.getElementsByTagName("td");var newCells=newTickerRow.getElementsByTagName("td");if(oldCells.length==3&&newCells.length==3)
{var icon=oldCells[0].getElementsByTagName("a")[0];icon.childNodes[0].innerHTML=newTicker;var oldSymbol=oldCells[0].getElementsByTagName("a")[1];var newSymbol=newCells[0].getElementsByTagName("a")[0];newSymbol.onmouseover=oldSymbol.onmouseover;oldSymbol.onmouseover="";oldSymbol.onclick=newSymbol.onclick;newSymbol.onclick="";var tempSymbol=oldCells[0].replaceChild(newSymbol,oldSymbol);newCells[0].appendChild(tempSymbol);var tempPrice=oldTickerRow.replaceChild(newCells[1],oldCells[1]);newTickerRow.appendChild(tempPrice);var tempChange=oldTickerRow.replaceChild(newCells[1],oldCells[2]);newTickerRow.appendChild(tempChange);}};MarketOverview.prototype.updateUserWithMarketOverviewTickers=function(message)
{var request=HomePage.getRequest();try
{request.open("GET","BridgePage.aspx?method=UpdateUserWithMarketOverviewTickers"+"&message="+JSON.serialize(message),false);request.send(null);this.saveSelectedTickersToCookie(message.Tickers);}
catch(sendException)
{HomePage.reportError(sendException);}};MarketOverview.prototype.saveSelectedTickersToCookie=function(tickers)
{var cookieName="mw_tickers";var expires=new Date();expires.setFullYear(expires.getFullYear()+1);var domain=".marketwatch.com";document.cookie=cookieName+"=values="+tickers+"; expires="+expires.toGMTString()+"; path=/; domain="+domain;};var marketOverview=new MarketOverview();function LiveHeadlines(elementId,message,latestHeadlines)
{this.MAX_HEADLINES=30;this.elementId=elementId;this.element=document.getElementById(elementId);this.headlines=new Array();this.message=message;if(latestHeadlines!=null&&latestHeadlines.length>0)
{this.sliceHeadlines(latestHeadlines);this.message.LastUpdated=latestHeadlines[0].CreatedTimestamp;}
this.scrollTimeout;}
LiveHeadlines.prototype.getRequest=function()
{var request=null;request=JSON.serialize(this.message);return request;};LiveHeadlines.prototype.processResponse=function(response)
{try
{if(response.Succeeded==true&&response.LastUpdated!=this.message.LastUpdated&&response.Headlines!=null)
{this.addHeadlines(response.Headlines);this.message.LastUpdated=response.LastUpdated;}}
catch(sendException)
{HomePage.reportError("LiveHeadlines.prototype.processResponse() - "+sendException);}};LiveHeadlines.prototype.sliceHeadlines=function(headlines)
{var numHeadlines=headlines.length;var numHeadlinesAdded=0;if(numHeadlines<this.MAX_HEADLINES)
{if(numHeadlines+this.headlines.length>this.MAX_HEADLINES)
{this.headlines=this.headlines.slice(0,this.MAX_HEADLINES-numHeadlines);}
this.headlines=headlines.concat(this.headlines);numHeadlinesAdded=numHeadlines;}
else
{this.headlines=headlines.slice(0,this.MAX_HEADLINES);numHeadlinesAdded=this.MAX_HEADLINES;}};LiveHeadlines.prototype.addHeadlines=function(headlines)
{this.sliceHeadlines(headlines);this.element.innerHTML="";for(var i=0;i<this.headlines.length;i++)
{var currentHeadline=this.headlines[i];var timestamp=document.createElement("span");var firstSpace=currentHeadline.CreatedTimestamp.indexOf(" ");var secondSpace=currentHeadline.CreatedTimestamp.indexOf(" ",firstSpace+1);var time=currentHeadline.CreatedTimestamp.substr(firstSpace,secondSpace-firstSpace);var lastColon=time.lastIndexOf(":");timestamp.innerHTML=time.substr(0,lastColon);timestamp.className="timestamp";var headlineRow=document.createElement("div");headlineRow.className="headlineEntry";headlineRow.appendChild(timestamp);var headline=document.createElement("span");headline.innerHTML=currentHeadline.Headline;headline.headline="headline";if(currentHeadline.DocType==90)
{if(currentHeadline.Symbol!=null)
{var symbolSpan=document.createElement("span");symbolSpan.innerHTML=currentHeadline.Symbol;var symbolLink=document.createElement("a");symbolLink.href=currentHeadline.Link;symbolLink.appendChild(symbolSpan);headlineRow.appendChild(document.createTextNode("["));headlineRow.appendChild(symbolLink);headlineRow.appendChild(document.createTextNode("] "));}
headlineRow.appendChild(headline);}
else if(currentHeadline.DocType==103||currentHeadline.DocType==91)
{var link=document.createElement("a");link.href=currentHeadline.Link;link.appendChild(headline);headlineRow.appendChild(link);}
else
{var link=document.createElement("a");link.href=currentHeadline.Link;link.appendChild(headline);headlineRow.appendChild(link);}
this.element.appendChild(headlineRow);}};LiveHeadlines.prototype.scrollUp=function()
{if(this.element!=null)
{var topLoc=this.element.style.top.replace(/px/,"");if(topLoc=="")
{topLoc=0;}
topLoc=parseInt(topLoc);if(topLoc<0)
{topLoc+=6;this.element.style.top=topLoc+"px";var thunk=this;clearTimeout(this.scrollTimeout);this.scrollTimeout=setTimeout(function(){thunk.scrollUp();},50);}}};LiveHeadlines.prototype.scrollDown=function()
{if(this.element!=null&&this.element.parentNode!=null)
{var topLoc=this.element.style.top.replace(/px/,"");if(topLoc=="")
{topLoc=0;}
else
{topLoc=parseInt(topLoc);}
var elementHeight=this.element.offsetHeight;var parentNodeHeight=this.element.parentNode.offsetHeight;if(elementHeight>parentNodeHeight)
{var bottomPosition=parentNodeHeight-topLoc;if(bottomPosition<elementHeight)
{topLoc-=6;this.element.style.top=topLoc+"px";var thunk=this;clearTimeout(this.scrollTimeout);this.scrollTimeout=setTimeout(function(){thunk.scrollDown();},50);}}}};LiveHeadlines.prototype.scrollStop=function()
{clearTimeout(this.scrollTimeout);};function TimeBrandingSeedData(seedData)
{this.Data=seedData;}
function TimeBrandingRibbon()
{this.startTimeout=null;this.outerDiv=null;this.innerDiv=null;this.textDiv=null;this.minuteSpan=null;this.secondSpan=null;this.innerPageElement=null;this.outerPageElement=null;this.debugDiv=null;this.delay=1000;}
TimeBrandingRibbon.prototype.setup=function(seedData)
{try
{if((seedData!=null)&&(seedData.Data!=null)&&(seedData.Data.InitialResponse!=null))
{TimeBrandingMonitor.lastUpdate=seedData.Data.InitialResponse.LastUpdate;TimeBrandingMonitor.currentInterval=seedData.Data.InitialResponse.CurrentInterval;TimeBrandingMonitor.nextInterval=seedData.Data.InitialResponse.NextInterval;if(seedData.Data.DebugDivId!=null)
{this.debugDiv=browser.getElement(seedData.Data.DebugDivId);}
this.innerDiv=BrowserDetect().getElement(seedData.Data.InnerDivId);this.outerDiv=BrowserDetect().getElement(seedData.Data.OuterDivId);this.textDiv=BrowserDetect().getElement(seedData.Data.TextDivId);this.minuteSpan=BrowserDetect().getElement(seedData.Data.MinuteSpanId);this.secondSpan=BrowserDetect().getElement(seedData.Data.SecondSpanId);this.outerPageElement=new PageElement(this.outerDiv);this.innerPageElement=new PageElement(this.innerDiv);this.innerPageElement.setClippingFrame(this.outerPageElement);this.innerPageElement.makeWindowShade(20,3,"bottom");this.outerPageElement.setOpenDimensions(660,30);this.innerPageElement.snapShadeClosed();if(TimeBrandingMonitor.currentInterval.Image!=null)
{this.innerPageElement.toggleShade(true);}
if(this.innerDiv!=null)
{var thunk=this;this.startTimeout=setTimeout(function(){thunk.timerTick();},this.delay);}}}
catch(e)
{HomePage.reportError("TimeBrandingRibbon.prototype.setup: "+e);}};TimeBrandingRibbon.prototype.toggleCountdown=function(show)
{this.textDiv.style.visibility=show?"visible":"hidden";};TimeBrandingRibbon.prototype.timerTick=function()
{try
{if(TimeBrandingMonitor.currentInterval!=null)
{if(TimeBrandingMonitor.currentInterval.SecondsRemaining>-5)
{TimeBrandingMonitor.currentInterval.SecondsRemaining--;}
var minutes=0;var seconds=0;if(TimeBrandingMonitor.currentInterval.ShowCountdown)
{minutes=Math.floor(TimeBrandingMonitor.currentInterval.SecondsRemaining/60);seconds=TimeBrandingMonitor.currentInterval.SecondsRemaining-(minutes*60);}
if(this.debugDiv!=null)
{this.debugDiv.innerHTML="<font size=1>Minutes: "+minutes+"  Seconds: "+seconds+"<br/>";if(TimeBrandingMonitor.lastUpdate!=null)
{this.debugDiv.innerHTML+="LastUpdate: "+TimeBrandingMonitor.lastUpdate+"<br/>";}
if(TimeBrandingMonitor.currentInterval!=null)
{this.debugDiv.innerHTML+="CurrentInterval:<br/>"+"&nbsp;&nbsp;Image: "+TimeBrandingMonitor.currentInterval.Image+"<br/>"+"&nbsp;&nbsp;Seconds Remaining: "+TimeBrandingMonitor.currentInterval.SecondsRemaining+"<br/>"+"&nbsp;&nbsp;ShowCountdown: "+TimeBrandingMonitor.currentInterval.ShowCountdown+"<br/>";}
if(TimeBrandingMonitor.nextInterval!=null)
{this.debugDiv.innerHTML+="NextInterval:<br/>"+"&nbsp;&nbsp;Image: "+TimeBrandingMonitor.nextInterval.Image+"<br/>"+"&nbsp;&nbsp;Seconds Remaining: "+TimeBrandingMonitor.nextInterval.SecondsRemaining+"<br/>"+"&nbsp;&nbsp;ShowCountdown: "+TimeBrandingMonitor.nextInterval.ShowCountdown+"<br/>";}
this.debugDiv.innerHTML+="&nbsp;<br/></font>";}
if(TimeBrandingMonitor.currentInterval.ShowCountdown&&(TimeBrandingMonitor.currentInterval.SecondsRemaining>=0))
{this.minuteSpan.innerHTML=minutes.toString();this.secondSpan.innerHTML=seconds.toString();}
switch(TimeBrandingMonitor.currentInterval.SecondsRemaining)
{case 0:if((TimeBrandingMonitor.currentInterval!=null)&&(TimeBrandingMonitor.currentInterval.Image!=null))
{this.innerPageElement.snapShadeClosed();}
break;case-1:break;case-2:if((TimeBrandingMonitor.nextInterval!=null)&&(TimeBrandingMonitor.nextInterval.Image!=null))
{this.toggleCountdown(false);TimeBrandingMonitor.currentInterval=TimeBrandingMonitor.nextInterval;TimeBrandingMonitor.nextInterval=null;if(TimeBrandingMonitor.currentInterval!=null)
{TimeBrandingMonitor.currentInterval.SecondsRemaining-=2;}
this.innerDiv.style.background="url('"+TimeBrandingMonitor.currentInterval.Image+"')";this.innerPageElement.toggleShade(true);if(TimeBrandingMonitor.currentInterval.Image.indexOf("countdownToClose")>-1)
{this.toggleCountdown(true);}
else
{this.toggleCountdown(false);}}
break;default:break;}}
var thunk=this;this.startTimeout=setTimeout(function(){thunk.timerTick();},this.delay);}
catch(e)
{HomePage.reportError("TimeBrandingRibbon.prototype.timerTick"+e);}};function openwindow(url,width,height)
{params='width='+width+',height='+height+',resizeable,scrollbars';myvar=window.open(url,'calculators',params);myvar.focus();}
function newToggleSection(disabledSectionNames,disabledTabNames,enabledSection,enabledTab)
{for(de=0;de<disabledSectionNames.length;de++)
{var disabledSection=document.getElementById(disabledSectionNames[de]);if(disabledSection&&disabledSection.style)
{disabledSection.style.display='none';}}
for(dl=0;dl<disabledTabNames.length;dl++)
{var disabledTab=document.getElementById(disabledTabNames[dl]);var disabledTabLeftImg=document.getElementById(disabledTabNames[dl]+'Left');var disabledTabRightImg=document.getElementById(disabledTabNames[dl]+'Right');if(disabledTab&&disabledTab.style)
{disabledTab.className="RRTab Off";disabledTabRightImg.className="ImgTab OffRight";disabledTabLeftImg.className="ImgTab OffLeft";}}
var enabledSection=document.getElementById(enabledSection);if(enabledSection&&enabledSection.style)
{enabledSection.style.display='block';}
var enabledTabLeftImg=document.getElementById(enabledTab+'Left');var enabledTabRightImg=document.getElementById(enabledTab+'Right');var enabledTab=document.getElementById(enabledTab);if(enabledTab&&enabledTab.style)
{enabledTab.className="RRTab On";enabledTabRightImg.className="ImgTab OnRight";enabledTabLeftImg.className="ImgTab OnLeft";}
return false;}

var JSON=function(){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},s={'boolean':function(x){return String(x);},number:function(x){return isFinite(x)?String(x):'null';},string:function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c;}
c=b.charCodeAt();return'\\u00'+
Math.floor(c/16).toString(16)+
(c%16).toString(16);});}
return'"'+x+'"';},object:function(x){if(x){var a=[],b,f,i,l,v;if(x instanceof Array){a[0]='[';l=x.length;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}
a[a.length]=v;b=true;}}}
a[a.length]=']';}else if(x instanceof Object){a[0]='{';for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=',';}
a.push(s.string(i),':',v);b=true;}}}
a[a.length]='}';}else{return;}
return a.join('');}
return'null';}};return{copyright:'(c)2005 JSON.org',license:'http://www.JSON.org/license.html',serialize:function(v){var f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){return v;}}
return null;},deserialize:function(text){try{return!(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|[^"\\])*"/g,'')))&&eval('('+text+')');}catch(e){return false;}},deserializeNoValidate:function(text){try{return eval('('+text+')');}catch(e){return null;}}};}();

var Page_ValidationVer="125";var Page_IsValid=true;var Page_BlockSubmit=false;var Page_InvalidControlToBeFocused=null;function ValidatorUpdateDisplay(val){if(typeof(val.display)=="string"){if(val.display=="None"){return;}
if(val.display=="Dynamic"){val.style.display=val.isvalid?"none":"inline";return;}}
if((navigator.userAgent.indexOf("Mac")>-1)&&(navigator.userAgent.indexOf("MSIE")>-1)){val.style.display="inline";}
val.style.visibility=val.isvalid?"hidden":"visible";}
function ValidatorUpdateIsValid(){Page_IsValid=AllValidatorsValid(Page_Validators);}
function AllValidatorsValid(validators){if((typeof(validators)!="undefined")&&(validators!=null)){var i;for(i=0;i<validators.length;i++){if(!validators[i].isvalid){return false;}}}
return true;}
function ValidatorHookupControlID(controlID,val){if(typeof(controlID)!="string"){return;}
var ctrl=document.getElementById(controlID);if((typeof(ctrl)!="undefined")&&(ctrl!=null)){ValidatorHookupControl(ctrl,val);}
else{val.isvalid=true;val.enabled=false;}}
function ValidatorHookupControl(control,val){if(typeof(control.tagName)!="string"){return;}
if(control.tagName!="INPUT"&&control.tagName!="TEXTAREA"&&control.tagName!="SELECT"){var i;for(i=0;i<control.childNodes.length;i++){ValidatorHookupControl(control.childNodes[i],val);}
return;}
else{if(typeof(control.Validators)=="undefined"){control.Validators=new Array;var eventType;if(control.type=="radio"){eventType="onclick";}else{eventType="onchange";if(typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){ValidatorHookupEvent(control,"onblur","ValidatedControlOnBlur(event); ");}}
ValidatorHookupEvent(control,eventType,"ValidatorOnChange(event); ");if(control.type=="text"||control.type=="password"||control.type=="file"){ValidatorHookupEvent(control,"onkeypress","if (!ValidatedTextBoxOnKeyPress(event)) return false; ");}}
control.Validators[control.Validators.length]=val;}}
function ValidatorHookupEvent(control,eventType,functionPrefix){var ev;eval("ev = control."+eventType+";");if(typeof(ev)=="function"){ev=ev.toString();ev=ev.substring(ev.indexOf("{")+1,ev.lastIndexOf("}"));}
else{ev="";}
var func;if(navigator.appName.toLowerCase().indexOf('explorer')>-1){func=new Function(functionPrefix+" "+ev);}
else{func=new Function("event",functionPrefix+" "+ev);}
eval("control."+eventType+" = func;");}
function ValidatorGetValue(id){var control;control=document.getElementById(id);if(typeof(control.value)=="string"){return control.value;}
return ValidatorGetValueRecursive(control);}
function ValidatorGetValueRecursive(control)
{if(typeof(control.value)=="string"&&(control.type!="radio"||control.checked==true)){return control.value;}
var i,val;for(i=0;i<control.childNodes.length;i++){val=ValidatorGetValueRecursive(control.childNodes[i]);if(val!="")return val;}
return"";}
function Page_ClientValidate(validationGroup){Page_InvalidControlToBeFocused=null;if(typeof(Page_Validators)=="undefined"){return true;}
var i;for(i=0;i<Page_Validators.length;i++){ValidatorValidate(Page_Validators[i],validationGroup,null);}
ValidatorUpdateIsValid();ValidationSummaryOnSubmit(validationGroup);Page_BlockSubmit=!Page_IsValid;return Page_IsValid;}
function ValidatorCommonOnSubmit(){Page_InvalidControlToBeFocused=null;var result=!Page_BlockSubmit;if((typeof(window.event)!="undefined")&&(window.event!=null)){window.event.returnValue=result;}
Page_BlockSubmit=false;return result;}
function ValidatorEnable(val,enable){val.enabled=(enable!=false);ValidatorValidate(val);ValidatorUpdateIsValid();}
function ValidatorOnChange(event){if(!event){event=window.event;}
Page_InvalidControlToBeFocused=null;var targetedControl;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){targetedControl=event.srcElement;}
else{targetedControl=event.target;}
var vals;if(typeof(targetedControl.Validators)!="undefined"){vals=targetedControl.Validators;}
else{if(targetedControl.tagName.toLowerCase()=="label"){targetedControl=document.getElementById(targetedControl.htmlFor);vals=targetedControl.Validators;}}
var i;for(i=0;i<vals.length;i++){ValidatorValidate(vals[i],null,event);}
ValidatorUpdateIsValid();}
function ValidatedTextBoxOnKeyPress(event){if(event.keyCode==13){ValidatorOnChange(event);var vals;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){vals=event.srcElement.Validators;}
else{vals=event.target.Validators;}
return AllValidatorsValid(vals);}
return true;}
function ValidatedControlOnBlur(event){var control;if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){control=event.srcElement;}
else{control=event.target;}
if((typeof(control)!="undefined")&&(control!=null)&&(Page_InvalidControlToBeFocused==control)){control.focus();Page_InvalidControlToBeFocused=null;}}
function ValidatorValidate(val,validationGroup,event){val.isvalid=true;if((typeof(val.enabled)=="undefined"||val.enabled!=false)&&IsValidationGroupMatch(val,validationGroup)){if(typeof(val.evaluationfunction)=="function"){val.isvalid=val.evaluationfunction(val);if(!val.isvalid&&Page_InvalidControlToBeFocused==null&&typeof(val.focusOnError)=="string"&&val.focusOnError=="t"){ValidatorSetFocus(val,event);}}}
ValidatorUpdateDisplay(val);}
function ValidatorSetFocus(val,event){var ctrl;if(typeof(val.controlhookup)=="string"){var eventCtrl;if((typeof(event)!="undefined")&&(event!=null)){if((typeof(event.srcElement)!="undefined")&&(event.srcElement!=null)){eventCtrl=event.srcElement;}
else{eventCtrl=event.target;}}
if((typeof(eventCtrl)!="undefined")&&(eventCtrl!=null)&&(typeof(eventCtrl.id)=="string")&&(eventCtrl.id==val.controlhookup)){ctrl=eventCtrl;}}
if((typeof(ctrl)=="undefined")||(ctrl==null)){ctrl=document.getElementById(val.controltovalidate);}
if((typeof(ctrl)!="undefined")&&(ctrl!=null)&&(ctrl.tagName.toLowerCase()!="table"||(typeof(event)=="undefined")||(event==null))&&((ctrl.tagName.toLowerCase()!="input")||(ctrl.type.toLowerCase()!="hidden"))&&(typeof(ctrl.disabled)=="undefined"||ctrl.disabled==null||ctrl.disabled==false)&&(typeof(ctrl.visible)=="undefined"||ctrl.visible==null||ctrl.visible!=false)&&(IsInVisibleContainer(ctrl))){if(ctrl.tagName.toLowerCase()=="table"&&(typeof(__nonMSDOMBrowser)=="undefined"||__nonMSDOMBrowser)){var inputElements=ctrl.getElementsByTagName("input");var lastInputElement=inputElements[inputElements.length-1];if(lastInputElement!=null){ctrl=lastInputElement;}}
if(typeof(ctrl.focus)!="undefined"&&ctrl.focus!=null){ctrl.focus();Page_InvalidControlToBeFocused=ctrl;}}}
function IsInVisibleContainer(ctrl){if(typeof(ctrl.style)!="undefined"&&((typeof(ctrl.style.display)!="undefined"&&ctrl.style.display=="none")||(typeof(ctrl.style.visibility)!="undefined"&&ctrl.style.visibility=="hidden"))){return false;}
else if(typeof(ctrl.parentNode)!="undefined"&&ctrl.parentNode!=null&&ctrl.parentNode!=ctrl){return IsInVisibleContainer(ctrl.parentNode);}
return true;}
function IsValidationGroupMatch(control,validationGroup){if((typeof(validationGroup)=="undefined")||(validationGroup==null)){return true;}
var controlGroup="";if(typeof(control.validationGroup)=="string"){controlGroup=control.validationGroup;}
return(controlGroup==validationGroup);}
function ValidatorOnLoad(){if(typeof(Page_Validators)=="undefined")
return;var i,val;for(i=0;i<Page_Validators.length;i++){val=Page_Validators[i];if(typeof(val.evaluationfunction)=="string"){eval("val.evaluationfunction = "+val.evaluationfunction+";");}
if(typeof(val.isvalid)=="string"){if(val.isvalid=="False"){val.isvalid=false;Page_IsValid=false;}
else{val.isvalid=true;}}else{val.isvalid=true;}
if(typeof(val.enabled)=="string"){val.enabled=(val.enabled!="False");}
if(typeof(val.controltovalidate)=="string"){ValidatorHookupControlID(val.controltovalidate,val);}
if(typeof(val.controlhookup)=="string"){ValidatorHookupControlID(val.controlhookup,val);}}
Page_ValidationActive=true;}
function ValidatorConvert(op,dataType,val){function GetFullYear(year){var twoDigitCutoffYear=val.cutoffyear%100;var cutoffYearCentury=val.cutoffyear-twoDigitCutoffYear;return((year>twoDigitCutoffYear)?(cutoffYearCentury-100+year):(cutoffYearCentury+year));}
var num,cleanInput,m,exp;if(dataType=="Integer"){exp=/^\s*[-\+]?\d+\s*$/;if(op.match(exp)==null)
return null;num=parseInt(op,10);return(isNaN(num)?null:num);}
else if(dataType=="Double"){exp=new RegExp("^\\s*([-\\+])?(\\d*)\\"+val.decimalchar+"?(\\d*)\\s*$");m=op.match(exp);if(m==null)
return null;if(m[2].length==0&&m[3].length==0)
return null;cleanInput=(m[1]!=null?m[1]:"")+(m[2].length>0?m[2]:"0")+(m[3].length>0?"."+m[3]:"");num=parseFloat(cleanInput);return(isNaN(num)?null:num);}
else if(dataType=="Currency"){var hasDigits=(val.digits>0);var beginGroupSize,subsequentGroupSize;var groupSizeNum=parseInt(val.groupsize,10);if(!isNaN(groupSizeNum)&&groupSizeNum>0){beginGroupSize="{1,"+groupSizeNum+"}";subsequentGroupSize="{"+groupSizeNum+"}";}
else{beginGroupSize=subsequentGroupSize="+";}
exp=new RegExp("^\\s*([-\\+])?((\\d"+beginGroupSize+"(\\"+val.groupchar+"\\d"+subsequentGroupSize+")+)|\\d*)"
+(hasDigits?"\\"+val.decimalchar+"?(\\d{0,"+val.digits+"})":"")
+"\\s*$");m=op.match(exp);if(m==null)
return null;if(m[2].length==0&&hasDigits&&m[5].length==0)
return null;cleanInput=(m[1]!=null?m[1]:"")+m[2].replace(new RegExp("(\\"+val.groupchar+")","g"),"")+((hasDigits&&m[5].length>0)?"."+m[5]:"");num=parseFloat(cleanInput);return(isNaN(num)?null:num);}
else if(dataType=="Date"){var yearFirstExp=new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\s*$");m=op.match(yearFirstExp);var day,month,year;if(m!=null&&(m[2].length==4||val.dateorder=="ymd")){day=m[6];month=m[5];year=(m[2].length==4)?m[2]:GetFullYear(parseInt(m[3],10))}
else{if(val.dateorder=="ymd"){return null;}
var yearLastExp=new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$");m=op.match(yearLastExp);if(m==null){return null;}
if(val.dateorder=="mdy"){day=m[3];month=m[1];}
else{day=m[1];month=m[3];}
year=(m[5].length==4)?m[5]:GetFullYear(parseInt(m[6],10))}
month-=1;var date=new Date(year,month,day);if(year<100){date.setFullYear(year);}
return(typeof(date)=="object"&&year==date.getFullYear()&&month==date.getMonth()&&day==date.getDate())?date.valueOf():null;}
else{return op.toString();}}
function ValidatorCompare(operand1,operand2,operator,val){var dataType=val.type;var op1,op2;if((op1=ValidatorConvert(operand1,dataType,val))==null)
return false;if(operator=="DataTypeCheck")
return true;if((op2=ValidatorConvert(operand2,dataType,val))==null)
return true;switch(operator){case"NotEqual":return(op1!=op2);case"GreaterThan":return(op1>op2);case"GreaterThanEqual":return(op1>=op2);case"LessThan":return(op1<op2);case"LessThanEqual":return(op1<=op2);default:return(op1==op2);}}
function CompareValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;var compareTo="";if((typeof(val.controltocompare)!="string")||(typeof(document.getElementById(val.controltocompare))=="undefined")||(null==document.getElementById(val.controltocompare))){if(typeof(val.valuetocompare)=="string"){compareTo=val.valuetocompare;}}
else{compareTo=ValidatorGetValue(val.controltocompare);}
var operator="Equal";if(typeof(val.operator)=="string"){operator=val.operator;}
return ValidatorCompare(value,compareTo,operator,val);}
function CustomValidatorEvaluateIsValid(val){var value="";if(typeof(val.controltovalidate)=="string"){value=ValidatorGetValue(val.controltovalidate);if((ValidatorTrim(value).length==0)&&((typeof(val.validateemptytext)!="string")||(val.validateemptytext!="true"))){return true;}}
var args={Value:value,IsValid:true};if(typeof(val.clientvalidationfunction)=="string"){eval(val.clientvalidationfunction+"(val, args) ;");}
return args.IsValid;}
function RegularExpressionValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;var rx=new RegExp(val.validationexpression);var matches=rx.exec(value);return(matches!=null&&value==matches[0]);}
function ValidatorTrim(s){var m=s.match(/^\s*(\S+(\s+\S+)*)\s*$/);return(m==null)?"":m[1];}
function RequiredFieldValidatorEvaluateIsValid(val){return(ValidatorTrim(ValidatorGetValue(val.controltovalidate))!=ValidatorTrim(val.initialvalue))}
function RangeValidatorEvaluateIsValid(val){var value=ValidatorGetValue(val.controltovalidate);if(ValidatorTrim(value).length==0)
return true;return(ValidatorCompare(value,val.minimumvalue,"GreaterThanEqual",val)&&ValidatorCompare(value,val.maximumvalue,"LessThanEqual",val));}
function ValidationSummaryOnSubmit(validationGroup){if(typeof(Page_ValidationSummaries)=="undefined")
return;var summary,sums,s;for(sums=0;sums<Page_ValidationSummaries.length;sums++){summary=Page_ValidationSummaries[sums];summary.style.display="none";if(!Page_IsValid&&IsValidationGroupMatch(summary,validationGroup)){var i;if(summary.showsummary!="False"){summary.style.display="";if(typeof(summary.displaymode)!="string"){summary.displaymode="BulletList";}
switch(summary.displaymode){case"List":headerSep="<br>";first="";pre="";post="<br>";end="";break;case"BulletList":default:headerSep="";first="<ul>";pre="<li>";post="</li>";end="</ul>";break;case"SingleParagraph":headerSep=" ";first="";pre="";post=" ";end="<br>";break;}
s="";if(typeof(summary.headertext)=="string"){s+=summary.headertext+headerSep;}
s+=first;for(i=0;i<Page_Validators.length;i++){if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){s+=pre+Page_Validators[i].errormessage+post;}}
s+=end;summary.innerHTML=s;window.scrollTo(0,0);}
if(summary.showmessagebox=="True"){s="";if(typeof(summary.headertext)=="string"){s+=summary.headertext+"\r\n";}
var lastValIndex=Page_Validators.length-1;for(i=0;i<=lastValIndex;i++){if(!Page_Validators[i].isvalid&&typeof(Page_Validators[i].errormessage)=="string"){switch(summary.displaymode){case"List":s+=Page_Validators[i].errormessage;if(i<lastValIndex){s+="\r\n";}
break;case"BulletList":default:s+="- "+Page_Validators[i].errormessage;if(i<lastValIndex){s+="\r\n";}
break;case"SingleParagraph":s+=Page_Validators[i].errormessage+" ";break;}}}
alert(s);}}}}

function PageElement(obj)
{this.BrowserClass=BrowserDetect();this.SelectedElement=this.BrowserClass.getElement(obj);if(this.SelectedElement)
{this.Style=this.BrowserClass.getElementStyleObject(this.SelectedElement);this.openHeight=-1;this.openWidth=-1;this.currentHeight=this.BrowserClass.getObjectHeight(this.SelectedElement);this.currentWidth=this.BrowserClass.getObjectWidth(this.SelectedElement);}}
PageElement.prototype.setOpenDimensions=function(width,height)
{this.openWidth=width;this.openHeight=height;};PageElement.prototype.moveBy=function(deltaX,deltaY)
{if(this.BrowserClass.isCSS)
{var units=(typeof this.Style.left=="string")?"px":0;this.Style.left=parseInt(this.BrowserClass.getObjectLeft(this.SelectedElement))+deltaX+units;this.Style.top=parseInt(this.BrowserClass.getObjectTop(this.SelectedElement))+deltaY+units;}};PageElement.prototype.moveTo=function(x,y)
{if(this.BrowserClass.isCSS)
{var units=(typeof this.Style.left=="string")?"px":0;this.Style.left=x+units;this.Style.top=y+units;}};PageElement.prototype.clone=function(deep)
{if(this.BrowserClass.isW3C){var temp=this.SelectedElement.cloneNode(deep);if(this.SelectedElement&&this.SelectedElement.parentNode)
{this.SelectedElement.parentNode.appendChild(temp);}
else
{document.body.firstChild.appendChild(temp)}
var newPE=new PageElement(temp)
newPE.Style.top=this.Style.top;newPE.Style.left=this.Style.left;newPE.Open=this.Open;newPE.isInMotion=this.isInMotion;newPE.openHeight=this.openHeight;newPE.openWidth=this.openWidth;newPE.currentHeight=this.currentHeight;newPE.currentWidth=this.currentWidth;return newPE;}
else
{return null;}};PageElement.prototype.setOpacity=function(decimalval)
{if(this.BrowserClass.isIE4)
{this.Style.filter="progid:DXImageTransform.Microsoft.Alpha('style=0, opacity="+(decimalval*100)+"')";}
else if(this.BrowserClass.isW3C)
{this.Style.opacity=decimalval;}};PageElement.prototype.setZIndex=function(zindex)
{this.Style.zIndex=zindex;};PageElement.prototype.getHeight=function()
{var val=parseInt(this.BrowserClass.getObjectHeight(this.SelectedElement))
return isNaN(val)?-1:val;};PageElement.prototype.setHeight=function(val)
{var units=(typeof this.Style.height=="string")?"px":0;if(val>-1)
{this.Style.height=val+units;this.currentHeight=val;}}
PageElement.prototype.getWidth=function()
{var val=parseInt(this.BrowserClass.getObjectWidth(this.SelectedElement))
return isNaN(val)?-1:val;};PageElement.prototype.setWidth=function(val)
{var units=(typeof this.Style.width=="string")?"px":0;if(val>-1)
{this.Style.width=val+units;this.currentWidth=val;}};PageElement.prototype.show=function()
{this.Style.visibility="visible";};PageElement.prototype.hide=function()
{this.Style.visibility="hidden";};PageElement.prototype.displayBlock=function()
{this.Style.display="block";};PageElement.prototype.displayInline=function()
{this.Style.display="inline";};PageElement.prototype.displayNone=function()
{this.Style.display="none";};PageElement.prototype.setClippingFrame=function(obj)
{if(obj.Style)
{this.ClippingFrame=obj;}
else
{this.ClippingFrame=new PageElement(this.BrowserClass.getElement(obj));}
this.ClippingFrame.Style.postion="absolute";this.ClippingFrame.Style.overflow="hidden";this.ClippingFrame.Style.zIndex=1;this.Style.zIndex=0;this.ClippingFrame.Open=true;this.ClippingFrame.isInMotion=false;};PageElement.prototype.createClippingFrame=function(height,width,border)
{if(this.BrowserClass.isW3C)
{this.Open=true;var clip=document.createElement("div");clip.id=this.SelectedElement.id+"_frame";clip.style.position="absolute";var units=(typeof this.Style.left=="string")?"px":0;clip.style.top=this.BrowserClass.getObjectTop(this.SelectedElement)+units;clip.style.left=this.BrowserClass.getObjectLeft(this.SelectedElement)+units;clip.style.height=height;clip.style.width=width;if(border)
{clip.style.border=border;}
clip.style.zIndex=1;clip.style.overflow="hidden";if(this.SelectedElement.parentNode)
{this.SelectedElement.parentNode.appendChild(clip);}
else
{document.appendChild(clip);}
clip.appendChild(this.SelectedElement);this.Style.top=0+units;this.Style.left=0+units;this.Style.zIndex=clip.style.zIndex-1;this.ClippingFrame=new PageElement(clip);}};PageElement.prototype.makeWindowShade=function(delay,stepcount,direction)
{this.shadeDelay=delay;this.stepCount=stepcount;this.direction=direction;this.isInMotion=false;this.currentTimeoutId;this.Open=true;this.isInMotion=false;if(!this.ClippingFrame)
{this.createClippingFrame(this.Style.height,this.Style.width);this.ClippingFrame.Open=true;}};PageElement.prototype.snapShadeClosed=function()
{var direction=this.direction;if(direction=="left")
{this.ClippingFrame.setWidth(0);}
else if(direction=="bottom")
{this.ClippingFrame.setHeight(0);}
else
{alert('not implemented');}
this.ClippingFrame.Open=false;};PageElement.prototype.toggleShade=function(forceToOpen)
{if(this.ClippingFrame)
{if(this.ClippingFrame.isInMotion)
{return;}
if(this.ClippingFrame.Open==forceToOpen)
{return;}
var width;var height;var stepunits;var visiblebar;var direction=this.direction;if(this.ClippingFrame.openHeight>-1)
{height=this.ClippingFrame.openHeight;}
else
{height=this.BrowserClass.getObjectHeight(this.SelectedElement);}
if(this.ClippingFrame.openWidth>-1)
{width=this.ClippingFrame.openWidth;}
else
{width=this.BrowserClass.getObjectWidth(this.SelectedElement);}
if(direction=="left")
{stepunits=Math.round(width/this.stepCount);direction=1;if(this.ClippingFrame.Open)
stepunits=stepunits*-1;}
else if(direction=="bottom")
{stepunits=Math.round(height/this.stepCount);direction=2;if(this.ClippingFrame.Open)
stepunits=stepunits*-1;}
else if(direction=="right")
{stepunits=Math.round(width/this.stepCount);direction=3;if(this.ClippingFrame.Open)
stepunits=stepunits*-1;}
else if(direction=="top")
{stepunits=Math.round(height/this.stepCount);direction=4;if(this.ClippingFrame.Open)
stepunits=stepunits*-1;}
this.ClippingFrame.isInMotion=true;if(this.ClippingFrame.Open==true)
{var handle=this;this.currentTimeoutId=setTimeout(function(){stepShadeClose(handle,width,height,direction,stepunits,handle.stepCount,handle.shadeDelay);},500);}
else if(this.ClippingFrame.Open==false)
{if(this.currentTimeoutId)
{clearTimeout(this.currentTimeoutId);this.currentTimeoutId=0;}
stepShadeOpen(this,width,height,direction,stepunits,this.stepCount,this.shadeDelay);}}
else
{alert("window shade not initialized, please call makeWindowShade");}};PageElement.prototype.fly=function(startX,startY,destX,destY,clone,delay,stepcount,deletewhenfinished,zindex)
{clone=(clone)?true:false;delay=(delay)?delay:5;stepcount=(stepcount)?stepcount:4;var obj;if(clone)
{obj=this.clone();obj.Style.position="absolute";}
else
{obj=this;}
if(zindex)
{obj.setZIndex(zindex);}
var distanceX=destX-startX;var distanceY=destY-startY;var incrementX=Math.round(distanceX/stepcount);var incrementY=Math.round(distanceY/stepcount);var coordinates=new Array();for(i=0;i<stepcount;i++)
{if(i<stepcount-1)
{coordinates[i]=new coordinate(startX+(incrementX*i),startY+(incrementY*i));}
else
{coordinates[i]=new coordinate(destX,destY);}}
obj.Style.left=startX;obj.Style.top=startY;flyStep(obj,coordinates,0,delay,deletewhenfinished);};PageElement.prototype.onMouseDown=function(func)
{this.SelectedElement.onmousedown=func;};PageElement.prototype.onMouseOver=function(func)
{this.SelectedElement.onmouseover=func;};PageElement.prototype.onMouseUp=function(func)
{this.SelectedElement.onmouseup=func;};PageElement.prototype.onMouseOut=function(func)
{this.SelectedElement.onmouseout=func;};PageElement.prototype.onMouseMove=function(func)
{this.SelectedElement.onmousemove=func;};PageElement.prototype.onClick=function(func)
{this.SelectedElement.onclick=func;};function PostInitializationHandler()
{if(!window._postInitializeEvents)
{window._postInitializeEvents=new HandlePostInitialize().create();}
return window._postInitializeEvents;}
function HandlePostInitialize()
{return this;}
HandlePostInitialize.prototype.getHandler=function()
{if(!window._postInitializeEvents)
{window._postInitializeEvents=this.create();}
return window._postInitializeEvents;};HandlePostInitialize.prototype.create=function()
{this.PostInitializeEvents=new Array();return this;};HandlePostInitialize.prototype.add=function(func)
{this.PostInitializeEvents[this.PostInitializeEvents.length]=func;};HandlePostInitialize.prototype.executePostInitialzeEvents=function()
{if(this.PostInitializeEvents)
{var i;for(i=0;i<this.PostInitializeEvents.length;i++)
{this.PostInitializeEvents[i]();}}};function BrowserDetect()
{if(!window.BrowserClass.Initialized)
{window.BrowserClass=new BrowserClass();window.BrowserClass.initialize();}
return window.BrowserClass;}
function BrowserClass(){}
BrowserClass.prototype.initialize=function()
{var uAgent=navigator.userAgent;this.isCSS=(document.styleSheets)?true:false;this.isW3C=(this.isCSS&&document.getElementById)?true:false;this.isIE4=(this.isCSS&&document.all)?true:false;this.isIE5=(document.body.currentStyle)?true:false;if(uAgent)
{this.isSafari=uAgent.toLowerCase().indexOf("safari")>-1;this.isFF10=uAgent.toLowerCase().indexOf("firefox/1.0")>-1;}
else
{this.isSafari=false;this.isFF10=false;}
this.isMAC=(this.isSafari)?true:false;this.isIECSS1=(document.compatMode&&document.compatMode.indexOf("CSS1")>=0)?true:false;this.isIEBackCompat=(document.compatMode&&document.compatMode.indexOf("BackCompat")>=0)?true:false;this.Initialized=true;};BrowserClass.prototype.getElement=function(obj)
{var theObj;if(typeof obj=="string")
{if(this.isW3C)
{theObj=document.getElementById(obj);}
else if(this.isIE4)
{theObj=document.all(obj);}}
else
{theObj=obj;}
return theObj;};BrowserClass.prototype.getElementStyleObject=function(obj)
{var theObj=this.getElement(obj);if(theObj)
{theObj=theObj.style;}
return theObj;};BrowserClass.prototype.getObjectLeft=function(elem)
{var result=0;if(document.defaultView)
{var style=document.defaultView;var cssDecl=style.getComputedStyle(elem,"");result=cssDecl.getPropertyValue("left");}
else if(elem.currentStyle)
{result=elem.currentStyle.left;}
else if(elem.style)
{result=elem.style.left;}
if(isNaN(parseInt(result)))
result=0;return result;};BrowserClass.prototype.getObjectTop=function(elem)
{var result=0;if(document.defaultView)
{var style=document.defaultView;var cssDecl=style.getComputedStyle(elem,"");result=cssDecl.getPropertyValue("top");}
else if(elem.currentStyle)
{result=elem.currentStyle.top;}
else if(elem.style)
{result=elem.style.top;}
if(isNaN(parseInt(result)))
result=0;return result;};BrowserClass.prototype.getObjectWidth=function(elem)
{var result=0;if(elem.offsetWidth)
{if(elem.scrollWidth&&(elem.offsetWidth!=elem.scrollWidth))
{result=elem.scrollWidth;}
else
{result=elem.offsetWidth;}}
else if(elem.clip&&elem.clip.width)
{result=elem.clip.width;}
else if(elem.style&&elem.style.pixelWidth)
{result=elem.style.pixelWidth;}
return result;};BrowserClass.prototype.getObjectHeight=function(elem)
{var result=0;if(elem.offsetHeight)
{result=elem.offsetHeight;}
else if(elem.clip&&elem.clip.height)
{result=elem.clip.height;}
else if(elem.style&&elem.style.pixelHeight)
{result=elem.style.pixelHeight;}
return result;};BrowserClass.prototype.onMouseDown=function(func)
{document.onmousedown=func;};BrowserClass.prototype.onMouseUp=function(func)
{document.onmouseup=func;};BrowserClass.prototype.onMouseOver=function(func)
{document.onmouseover=func;};BrowserClass.prototype.onMouseOut=function(func)
{document.onmouseout=func;};BrowserClass.prototype.onMouseMove=function(func)
{document.onmousemove=func;};BrowserClass.prototype.onClick=function(func)
{document.onclick=func;};function ParsedLocation()
{if(!window.LocationParser.Parsed)
{window.LocationParser=new LocationParser();}
return window.LocationParser;}
function LocationParser()
{this.parse();return this;}
LocationParser.prototype.parse=function()
{var query=document.location.search.substr(1);this.Location=document.location;this.Query=new GetQuery();this.Query.parse(query.replace(/<|<\//,''));this.Parsed=true;};LocationParser.prototype.isSecure=function()
{return this.Location.protocol=="https:";};LocationParser.prototype.go=function()
{};function GetQuery(){}
GetQuery.prototype.parse=function(qs)
{this.QueryString=(qs)?qs:"";this.Items=new Array();if(this.QueryString!="")
{var arquery=this.QueryString.split('&');for(i=0;i<arquery.length;i++)
{var aritem=arquery[i].split('=');if(aritem.length==2)
{this.addItem(aritem[0],aritem[1]);}}}};GetQuery.prototype.get=function(key)
{var obj=eval("this."+key);if(obj)
{return obj;}
else
{return"";}};GetQuery.prototype.addItem=function(key,value)
{try
{var newItem=new QueryItem().create(key,value);if(newItem.Key)
{var oldItem=eval("this."+newItem.Key);if(!oldItem)
{eval("this."+newItem.Key+" = newItem");this.Items[this.Items.length]=newItem;}
else
{oldItem.Value=oldItem.Value+","+value;}}}
catch(err){}}
GetQuery.prototype.toString=function()
{};function QueryItem(){}
QueryItem.prototype.create=function(key,value)
{var newPropertyName=escape(key);if(newPropertyName.indexOf('%')==-1)
{this.Key=key;this.Value=value;}
else
{this.Key=null;this.Value="";}
return this;};function coordinate(x,y)
{this.x=x;this.y=y;}
function flyStep(obj,coordinates,currentindex,delay,deletewhenfinished)
{obj.moveTo(coordinates[currentindex].x,coordinates[currentindex].y);currentindex++;if(currentindex<coordinates.length)
{setTimeout(function(){flyStep(obj,coordinates,currentindex,delay,deletewhenfinished);},delay);}
else if(deletewhenfinished)
{obj.hide();}}
function stepShadeClose(obj,width,height,direction,pixels,step,delay)
{if(direction==1)
{width=width+pixels;if(width<0)
width=0;obj.ClippingFrame.setWidth(width);}
else if(direction==2)
{height=height+pixels;if(height<0)
height=1;obj.ClippingFrame.setHeight(height);}
else if(direction==3)
{width=width+pixels;if(width<0)
width=0;obj.ClippingFrame.setWidth(width);obj.ClippingFrame.Style.left=obj.BrowserClass.getObjectLeft(obj.ClippingFrame)+pixels+units;}
else if(direction==4)
{height=height+pixels;if(height<0)
height=0;obj.ClippingFrame.setHeight(height);obj.ClippingFrame.Style.top=obj.BrowserClass.getObjectTop(obj.ClippingFrame)+pixels+units;}
if(step>0)
{setTimeout(function(){stepShadeClose(obj,width,height,direction,pixels,step,delay);},delay);step--;}
else
{obj.ClippingFrame.Open=false;obj.ClippingFrame.isInMotion=false;obj.hide();}}
function stepShadeOpen(obj,width,height,direction,pixels,step,delay)
{var shadewidth=obj.ClippingFrame.currentWidth;var shadeheight=obj.ClippingFrame.currentHeight;var units=(typeof obj.ClippingFrame.Style.width=="string")?"px":0;if(direction==1)
{shadewidth=shadewidth+pixels;if(shadewidth>width)
shadewidth=width;obj.ClippingFrame.Style.width=shadewidth+units;obj.ClippingFrame.currentWidth=shadewidth;}
else if(direction==2)
{shadeheight=shadeheight+pixels;if(shadeheight>height)
shadeheight=height;obj.ClippingFrame.Style.height=shadeheight+units;obj.ClippingFrame.currentHeight=shadeheight;}
else if(direction==3)
{shadewidth=shadewidth+pixels;if(shadewidth>width)
shadewidth=width;obj.ClippingFrame.Style.width=shadewidth+units;obj.ClippingFrame.currentWidth=shadewidth;obj.ClippingFrame.Style.left=obj.BrowserClass.getObjectLeft(obj.ClippingFrame)-pixels+units;}
else if(direction==4)
{shadeheight=shadeheight+pixels;if(shadeheight>height)
{shadeheight=height;}
obj.ClippingFrame.Style.height=shadeheight+units;obj.ClippingFrame.currentHeight=shadeheight;obj.ClippingFrame.Style.top=obj.BrowserClass.getObjectTop(obj.ClippingFrame.Style.top)+pixels+units;}
if(step>0)
{setTimeout(function(){stepShadeOpen(obj,width,height,direction,pixels,step,delay);},delay);step--;}
else
{if(obj.currentTimeoutId)
{clearTimeout(obj.currentTimeoutId);obj.currentTimeoutId=0;}
else
{obj.ClippingFrame.Open=true;obj.ClippingFrame.isInMotion=false;}}}

function MarketWatchSignInBox()
{this.Visible=false;this.signInHeader=new PageElement("SignInHeader");this.signInBody=new PageElement("SignInBody");this.signedInHeader=new PageElement("SignedInHeader");this.signInSubmit=BrowserDetect().getElement("btnLogin");}
MarketWatchSignInBox.prototype.setup=function()
{};MarketWatchSignInBox.prototype.showSignIn=function()
{this.signInHeader.displayBlock();this.signInBody.displayBlock();this.signInHeader.show();this.signInBody.show();var loginBox=BrowserDetect().getElement("SignInEmail");if(loginBox)
loginBox.focus();setFocused(loginBox);this.Visible=true;};MarketWatchSignInBox.prototype.hideSignIn=function()
{this.signInHeader.displayNone();this.signInBody.displayNone();this.signInHeader.hide();this.signInBody.hide();setFocused(null);this.Visible=false;};function onSignInSubmit()
{var loginBox=BrowserDetect().getElement("SignInEmail");var loginPass=BrowserDetect().getElement("SignInPassword");if(loginBox)
{if(loginBox.value!=""&&loginPass.value!="")
{document.forms[0].action=signinPath;var evtTargetElem=BrowserDetect().getElement("signInFlag");evtTargetElem.value="true";return true;}
else
{alert("Please enter both your username/email address and password");if(loginBox.value=="")
{loginBox.focus();setFocused(loginBox);}
else
{loginPass.focus();setFocused(loginPass);}}}
return false;}

function SetCookie(name,value)
{var expireDate=new Date();expireDate.setDate(expireDate.getDate()+90);SetCookieWithExpiration(name,value,expireDate);}
function SetSessionCookie(name,value)
{SetCookieWithExpiration(name,value);}
function SetCookieWithExpiration(name,value,expires)
{var path="/";var domain=".marketwatch.com";var expiresString=(expires)?expires.toGMTString():"";value=unescape(value);document.cookie=name+"="+encodeURI(value)+"; expires="+expiresString+
((path)?"; path="+path:"")+
((domain)?"; domain="+domain:"");}
function GetCookie(name)
{var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1)
{begin=dc.indexOf(prefix);if(begin!==0)
{return null;}}
else
{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end===-1)
{end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));}
function getCookieValue(ckie,nme)
{var splitValues;for(var i=0;i<ckie.length;++i)
{splitValues=ckie[i].split('=');if(splitValues[0]==nme)
{return splitValues[1];}}
return"";}
function DeleteCookie(name)
{SetCookie(name,"");}
function GetCookieSectionValue(cookieName,sectionName)
{var cookie=GetCookie(cookieName);var key=sectionName+"=";var value;if(cookie)
{var secBegIndex=cookie.indexOf(key)+key.length;var secEndIndex=cookie.indexOf("&",secBegIndex);if(secEndIndex<0)
{secEndIndex=cookie.length;}
value=cookie.substring(secBegIndex,secEndIndex);}
return value;}
function AreCookiesEnabled()
{var testCookie="mktwCookieEnabledTest";var cookiesEnabled=false;SetCookie(testCookie,"true");if(GetCookie(testCookie)!=null)
{cookiesEnabled=true;}
var yesterday=new Date();yesterday.setDate(yesterday.getDate()-1);SetCookieWithExpiration(testCookie,"",yesterday)
return cookiesEnabled;}

function Cookie()
{var wellKnownValues=new WellKnownMWCookieValues();var value=GetCookie("mymw");var mwprtf=GetCookie("marketwatchportfolio");this._port=mwprtf;this._value=value;this.load();Cookie.ReturnArrayAsString=function(symbolArray)
{if(symbolArray!=null&&symbolArray.length>0)
{return symbolArray.join('|');}
else
{return"";}};Cookie.SetMyMwCookieValue=function(cookieValue)
{return SetCookie("mymw",cookieValue);};Cookie.BuildNewsClipSection=function(textValue)
{if(textValue!=null&&textValue.length>=32)
{var wellKnownValues=new WellKnownMWCookieValues();var returnString=wellKnownValues.GetNewsClipsSectionHeader();var newsClipArray=TransformNewsClipStringToArray(textValue);returnString+=newsClipArray.join('|');return returnString;}
else
{return"";}};Cookie.GetVersion=function(cookieString)
{if(cookieString.substring(0,2)=="v=")
{if(cookieString.indexOf('&')==-1)
{return cookieString.substring(2);}
else
{return cookieString.substring(2,cookieString.indexOf('&'));}}
else if(cookieString.substring(0,8)=="version=")
{if(cookieString.indexOf('&')==-1)
{return cookieString.substring(8);}
else
{return cookieString.substring(8,cookieString.indexOf('&'));}}};Cookie.GetSection=function(sectionArray,type)
{for(var iCount=0;iCount<sectionArray.length;iCount++)
{var sectionString=sectionArray[iCount];if(sectionString.length>type.length)
{var header=sectionString.substring(0,type.length);if(header==type)
{return sectionString.substring(type.length);}}}
return"";};Cookie.BumpArray=function(symbol,symbolArray)
{if(symbolArray!=null)
{symbolArray.unshift(symbol);for(var iBumpCounter=1;iBumpCounter<symbolArray.length;iBumpCounter++)
{var symbolString=symbolArray[iBumpCounter];if(symbolString.toUpperCase()==symbol.toUpperCase())
{var aArray=symbolArray.splice(iBumpCounter,(symbolArray.length-iBumpCounter));aArray.shift();symbolArray=symbolArray.concat(aArray);}}}
else
{symbolArray=symbol.split('|');}
return symbolArray;};Cookie.BumpNewsClipArray=function(newsClipSerialized,newsClipArray)
{if(newsClipArray!=null)
{var subClipArray=newsClipSerialized.split('|');for(var iSubBump=0;iSubBump<subClipArray.length;iSubBump++)
{var subString=subClipArray[iSubBump];var subComponents=subString.split(':');var subFlag="N";if(subComponents.length==2)
{subFlag=subComponents[1];}
var subGuid=subComponents[0];subString=subGuid+":"+subFlag;newsClipArray.unshift(subString);for(var iBumpCounter=1;iBumpCounter<newsClipArray.length;iBumpCounter++)
{var newsString=newsClipArray[iBumpCounter];var newsComponents=newsString.split(':');var newsFlag="N";if(newsComponents.length==2)
{newsFlag=newsComponents[1];}
var newsGuid=newsComponents[0];if(newsGuid.toUpperCase()==subGuid.toUpperCase())
{var aArray=newsClipArray.splice(iBumpCounter,(newsClipArray.length-iBumpCounter));aArray.shift();newsClipArray=newsClipArray.concat(aArray);if(newsFlag=="Y")
{newsClipArray.shift();newsClipArray.unshift(subGuid+":Y");}}}}}
else
{newsClipArray=newsClipSerialized.split('|');}
return newsClipArray;};}
Cookie.prototype.RemoveNewsClip=function(guidString)
{var newsClipArray=this._newsClipArray;if(newsClipArray!=null&&newsClipArray.length>0)
{for(var iCount=0;iCount<newsClipArray.length;iCount++)
{var thisClip=new NewsClip(newsClipArray[i]);if(thisClip.Guid.toUpperCase()==guidString.toUpperCase())
{var aArray=newsClipArray.splice(iCount,(newsClipArray.length-iCount));aArray.shift();newsClipArray=newsClipArray.concat(aArray);}}}};Cookie.prototype.removeReadNewsClips=function()
{var newsClipArray=this._newsClipArray;var removedClips=new Array();var rclipi=0;if(newsClipArray!=null)
{for(i=0;i<newsClipArray.length;i++)
{if(newsClipArray[i])
{thisClip=new NewsClip(newsClipArray[i]);if(thisClip.ReadFlag=="Y")
{newsClipArray.splice(i--,1);removedClips[rclipi++]=thisClip;}}}}
return removedClips;};Cookie.prototype.setQuoteWithString=function(inputText,type)
{if(inputText!=null&&inputText.length>0)
{var array=[];if(type!="nc=")
{array=TransformSymbolStringToArray(inputText);}
else
{array=TransformNewsClipStringToArray(inputText);}
this.setQuoteWithArray(array,type);}};Cookie.prototype.doesNewsClipExist=function(strGuid)
{strGuid=unescape(strGuid).toUpperCase();var clipArray=this.getQuoteArray("nc=");for(i=0;i<clipArray.length;i++)
{if(clipArray[i].indexOf(strGuid)>-1)
{return true;}}
return false;};Cookie.prototype.setQuoteWithArray=function(inputArray,type)
{if(inputArray!=null)
{this._isNewClip=false;var targetArray=this.getQuoteArray(type);for(var iCounter=inputArray.length-1;iCounter>=0;iCounter--)
{var symbolString=inputArray[iCounter];if(type!="nc=")
{targetArray=Cookie.BumpArray(symbolString,targetArray);}
else
{var iLengthBeforeBump=targetArray.length;targetArray=Cookie.BumpNewsClipArray(symbolString,targetArray);var iLengthAfterBump=targetArray.length;if(iLengthAfterBump>iLengthBeforeBump)
{this._isNewClip=true;}}}
this.setArray(targetArray,type);this.save();}};Cookie.prototype.removeNewsClips=function(guidString)
{if(guidString!=null&&guidString.length>=32)
{guidString=unescape(guidString);var removeArray=guidString.split('|');for(var i=0;i<removeArray.length;i++)
{var removeVal=removeArray[i];var removeComponents=removeVal.split(':');var removeGuid=removeComponents[0].split['^'][1];if(removeGuid!=null&&removeGuid.length==32)
{this._newsClipArray=Cookie.RemoveNewsClip(removeGuid,this._newsClipArray);}}
this.save();}};Cookie.prototype.setArray=function(inputArray,type)
{var wellKnownValues=new WellKnownMWCookieValues();switch(type)
{case wellKnownValues.GetViewedQuoteSectionHeader():this._viewedQuoteArray=inputArray;break;case wellKnownValues.GetSavedQuoteSectionHeader():this._savedQuoteArray=inputArray;break;case wellKnownValues.GetRecommendedQuoteSectionHeader():this._recommendedQuoteArray=inputArray;break;case wellKnownValues.GetNewsClipsSectionHeader():this._newsClipArray=inputArray;break;default:}};Cookie.prototype.getQuoteArray=function(type)
{var returnArray=[];var wellKnownValues=new WellKnownMWCookieValues();switch(type)
{case wellKnownValues.GetViewedQuoteSectionHeader():returnArray=this._viewedQuoteArray;break;case wellKnownValues.GetSavedQuoteSectionHeader():returnArray=this._savedQuoteArray;break;case wellKnownValues.GetRecommendedQuoteSectionHeader():returnArray=this._recommendedQuoteArray;break;case wellKnownValues.GetNewsClipsSectionHeader():returnArray=this._newsClipArray;break;default:return null;}
return returnArray;};Cookie.prototype.setValue=function(cookieValueString)
{this._value=cookieValueString;Cookie.SetMyMwCookieValue(cookieValueString);};Cookie.prototype.setSection=function(type)
{var wellKnownValues=new WellKnownMWCookieValues();switch(type)
{case wellKnownValues.GetViewedQuoteSectionHeader():this._viewedQuoteArray=getSection(type);break;case wellKnownValues.GetSavedQuoteSectionHeader():this._savedQuoteArray=getSection(type);break;case wellKnownValues.GetRecommendedQuoteSectionHeader():this._recommendedQuoteArray=getSection(type);break;case wellKnownValues.GetNewsClipsSectionHeader():this._newsClipArray=getSection(type);break;default:return null;}};Cookie.prototype.getValue=function()
{return this._value;};Cookie.prototype.getSection=function(type)
{var sectionArray=this._value.split('&');return Cookie.GetSection(sectionArray,type);};Cookie.prototype.save=function()
{this._value=this.buildCookieString(Cookie.ReturnArrayAsString(this._viewedQuoteArray),Cookie.ReturnArrayAsString(this._savedQuoteArray),Cookie.ReturnArrayAsString(this._recommendedQuoteArray),Cookie.ReturnArrayAsString(this._newsClipArray));Cookie.SetMyMwCookieValue(this._value);};Cookie.prototype.buildCookieString=function(viewedString,savedString,recommendedString,newsClipString)
{var wellKnownValues=new WellKnownMWCookieValues();var outputString=wellKnownValues.GenerateVersion();if(viewedString!=null&&viewedString.length>0)
{outputString+=("&"+BreakApartSymbolsByCountry(viewedString,wellKnownValues.GetViewedQuoteSectionHeader()));}
if(savedString!=null&&savedString.length>0)
{outputString+=("&"+BreakApartSymbolsByCountry(savedString,wellKnownValues.GetSavedQuoteSectionHeader()));}
if(recommendedString!=null&&recommendedString.length>0)
{outputString+=("&"+BreakApartSymbolsByCountry(recommendedString,wellKnownValues.GetRecommendedQuoteSectionHeader()));}
if(newsClipString!=null&&newsClipString.length>=32)
{outputString+=("&"+Cookie.BuildNewsClipSection(newsClipString));}
this._value=outputString;return outputString;};Cookie.prototype.clearAllNewsClips=function()
{if(this._newsClipArray)
{this._newsClipArray=new Array();this.save();}};Cookie.prototype.clearAllViewedQuotes=function()
{if(this._viewedQuoteArray)
{this._viewedQuoteArray=new Array();this.save();}}
Cookie.prototype.load=function()
{var wellKnownValues=new WellKnownMWCookieValues();if(this._port)
{var ports=this._port.split('&');for(i=0;i<ports.length;i++)
{var nmval=ports[i].split('=');if(nmval.length==2)
{eval("this."+nmval[0]+" = \""+nmval[1]+"\"");}}}
if(this._value!=null&&this._value.length>0)
{var sectionArray=this._value.split('&');var sectionString=GetCookieSection(sectionArray,wellKnownValues.GetViewedQuoteSectionHeader());this._viewedQuoteArray=TransformSymbolStringToArray(sectionString);sectionString=GetCookieSection(sectionArray,wellKnownValues.GetSavedQuoteSectionHeader());this._savedQuoteArray=TransformSymbolStringToArray(sectionString);sectionString=GetCookieSection(sectionArray,wellKnownValues.GetRecommendedQuoteSectionHeader());this._recommendedQuoteArray=TransformSymbolStringToArray(sectionString);sectionString=GetCookieSection(sectionArray,wellKnownValues.GetNewsClipsSectionHeader());sectionString=unescape(sectionString);this._newsClipArray=TransformNewsClipStringToArray(sectionString);}
else
{this._viewedQuoteArray=[];this._savedQuoteArray=[];this._recommendedQuoteArray=[];this._newsClipArray=[];}};Cookie.prototype.reload=function()
{this.load();};function MyMwCookieParser(testValue)
{var value="";if(testValue!=null&&testValue.length>0)
{value=testValue;}
else
{value=GetCookie("mymw");}
var cookie=new Cookie();var viewedString="";var savedString="";var recommendedString="";var newsClipString="";var wellKnownValues=new WellKnownMWCookieValues();if(value!=null&&value.substring(1,2)=="e")
{viewedString=GetSubSectionValue(value,wellKnownValues.GetViewedQuoteV3SectionHeader());cookie._viewedQuoteArray=TransformSymbolStringToArray(viewedString);savedString=GetSubSectionValue(value,wellKnownValues.GetSavedQuoteV3SectionHeader());cookie._savedQuoteArray=TransformSymbolStringToArray(savedString);recommendedString=GetSubSectionValue(value,wellKnownValues.GetRecommendedQuoteV3SectionHeader());cookie._recommendedQuoteArray=TransformSymbolStringToArray(recommendedString);cookie._value=value;}
else if(value!=null&&value.substring(1,2)=="=")
{viewedString=GetSubSectionValue(value,wellKnownValues.GetViewedQuoteSectionHeader());cookie._viewedQuoteArray=TransformSymbolStringToArray(viewedString);savedString=GetSubSectionValue(value,wellKnownValues.GetSavedQuoteSectionHeader());cookie._savedQuoteArray=TransformSymbolStringToArray(savedString);recommendedString=GetSubSectionValue(value,wellKnownValues.GetRecommendedQuoteSectionHeader());cookie._recommendedQuoteArray=TransformSymbolStringToArray(recommendedString);newsClipString=GetSubSectionValue(value,wellKnownValues.GetNewsClipsSectionHeader());cookie._newsClipArray=TransformNewsClipStringToArray(newsClipString);cookie._value=value;}
return cookie;}
function GetSubSectionValue(cookieValue,type)
{if(cookieValue!=null)
{var valueArray=cookieValue.split('&');var typeLength=type.length;for(var iTypeCounter=0;iTypeCounter<valueArray.length;iTypeCounter++)
{var valueString=valueArray[iTypeCounter];if(valueString.length>=typeLength&&valueString.substring(0,typeLength)==type)
{return valueString.substring(typeLength);}}}
return"";}
function WellKnownMWCookieValues()
{this._count=1;WellKnownMWCookieValues.prototype.GenerateVersion=function()
{return"v=4";};WellKnownMWCookieValues.prototype.GetViewedQuoteSectionHeader=function()
{return"vq=";};WellKnownMWCookieValues.prototype.GetViewedQuoteV3SectionHeader=function()
{return"viewedquotes=";};WellKnownMWCookieValues.prototype.GetSavedQuoteSectionHeader=function()
{return"sq=";};WellKnownMWCookieValues.prototype.GetSavedQuoteV3SectionHeader=function()
{return"savedquotes=";};WellKnownMWCookieValues.prototype.GetRecommendedQuoteSectionHeader=function()
{return"rq=";};WellKnownMWCookieValues.prototype.GetRecommendedQuoteV3SectionHeader=function()
{return"recommendedquotes=";};WellKnownMWCookieValues.prototype.GetNewsClipsSectionHeader=function()
{return"nc=";};}
function TransformSymbolStringToArray(sectionText)
{if(sectionText!=null&&sectionText.length>0)
{var returnArray=[];var countryStringArray=sectionText.split('~');for(var iCountryCounter=0;iCountryCounter<countryStringArray.length;iCountryCounter++)
{var countryString=countryStringArray[iCountryCounter];var symbolArray=countryString.split('|');symbolArray=EnsureEachSymbolHasAssociatedExchange(symbolArray);returnArray=returnArray.concat(symbolArray);}
return returnArray;}
return null;}
function EnsureEachSymbolHasAssociatedExchange(symbolArray)
{var previousExchange="";if(symbolArray!=null)
{for(var iEnsureCounter=0;iEnsureCounter<symbolArray.length;iEnsureCounter++)
{var symbolString=symbolArray[iEnsureCounter];var components=symbolString.split(':');if(components.length==1)
{if(previousExchange=="")
{previousExchange="US";}}
else if(components.length==2)
{if(previousExchange!=components[0])
{previousExchange=components[0].toUpperCase();}
symbolString=components[1];}
symbolArray[iEnsureCounter]=previousExchange+":"+symbolString.toUpperCase();}}
return symbolArray;}
function TransformNewsClipStringToArray(textValue)
{if(textValue!=null&&textValue.length>=32)
{var newsClipArray=textValue.split('|');return newsClipArray;}
else
{return[];}}
function BreakApartSymbolsByCountry(textValue,sectionHeader)
{if(textValue!=null&&textValue.length>0)
{var countryStringArray=textValue.split('~');var outputString=sectionHeader;var hasWrittenSymbols=false;for(var iCountryCounter=0;iCountryCounter<countryStringArray.length;iCountryCounter++)
{var countryString=countryStringArray[iCountryCounter];var symbolArray=countryString.split('|');symbolArray=AlterArrayByRemovingRedundantExchangeSymbols(symbolArray);for(var iSymbolArrayCounter=0;iSymbolArrayCounter<symbolArray.length;iSymbolArrayCounter++)
{var symbolString=symbolArray[iSymbolArrayCounter];var componentArray=symbolString.split(':');if(componentArray.length==2)
{if(hasWrittenSymbols==false)
{if(componentArray[0]=="US")
{outputString+=componentArray[1];}
else
{outputString+=symbolString;}
hasWrittenSymbols=true;}
else
{if(componentArray[0]=="US")
{outputString+=("~"+componentArray[1]);}
else
{outputString+=("~"+symbolString);}}}
else
{if(hasWrittenSymbols==false)
{if(iSymbolArrayCounter!=0)
{outputString+=("|"+symbolString);}
else
{outputString+=symbolString;}
hasWrittenSymbols=true;}
else
{if(iSymbolArrayCounter!=0)
{outputString+=("|"+symbolString);}
else
{outputString+=("~"+symbolString);}}}}}
return outputString;}
return"";}
function AlterArrayByRemovingRedundantExchangeSymbols(symbolArray)
{var previousExchange="";for(var iAlterArrayCounter=0;iAlterArrayCounter<symbolArray.length;iAlterArrayCounter++)
{var symbolString=symbolArray[iAlterArrayCounter];var components=symbolString.split(':');if(components.length==2)
{var exchange=components[0];var symbol=components[1];if(previousExchange.length==0)
{previousExchange=exchange;}
else
{if(previousExchange==exchange)
{symbolArray[iAlterArrayCounter]=symbol;}
else
{previousExchange=exchange;}}}}
return symbolArray;}
function GetGuid()
{var guidValue="";for(var iCounter=0;iCounter<32;iCounter++)
{guidValue+=Math.floor(Math.random()*0xF).toString(0xF);}
return guidValue;}
function RandomYOrN()
{var flip=Math.random();if(flip>=0.5)
{return"Y";}
return"N";}
function GetUnreadNewsClipGuids(newsClipText)
{return GetNewsClipGuidsByFlag(newsClipText,"N");}
function GetReadNewsClipGuids(newsClipText)
{return GetNewsClipGuidsByFlag(newsClipText,"Y");}
function GetNewsClipGuidsByFlag(newsClipText,flag)
{if(newsClipText!=null&&newsClipText.length>0)
{var wellKnownValues=new WellKnownMWCookieValues();var newsClipArray=newsClipText.split('|');var clipArray=[];for(var iGetReadGuidCounter=0;iGetReadGuidCounter<newsClipArray.length;iGetReadGuidCounter++)
{var newsClipSerializedObject=newsClipArray[iGetReadGuidCounter];var components=newsClipSerializedObject.split(':');if(components.length==2&&components[1]==flag.toUpperCase())
{clipArray.push(components[0]);}}
return clipArray;}}
function GetCookieSection(sectionArray,type)
{for(var iCount=0;iCount<sectionArray.length;iCount++)
{var sectionString=sectionArray[iCount];if(sectionString.length>type.length)
{var header=sectionString.substring(0,type.length);if(header==type)
{return sectionString.substring(type.length);}}}
return"";}

function NumberFormat(num,inputDecimal)
{this.VERSION='Number Format v1.5.4';this.COMMA=',';this.PERIOD='.';this.DASH='-';this.LEFT_PAREN='(';this.RIGHT_PAREN=')';this.LEFT_OUTSIDE=0;this.LEFT_INSIDE=1;this.RIGHT_INSIDE=2;this.RIGHT_OUTSIDE=3;this.LEFT_DASH=0;this.RIGHT_DASH=1;this.PARENTHESIS=2;this.NO_ROUNDING=-1
this.num;this.numOriginal;this.hasSeparators=false;this.separatorValue;this.inputDecimalValue;this.decimalValue;this.negativeFormat;this.negativeRed;this.hasCurrency;this.currencyPosition;this.currencyValue;this.places;this.roundToPlaces;this.truncate;this.setNumber=setNumberNF;this.toUnformatted=toUnformattedNF;this.setInputDecimal=setInputDecimalNF;this.setSeparators=setSeparatorsNF;this.setCommas=setCommasNF;this.setNegativeFormat=setNegativeFormatNF;this.setNegativeRed=setNegativeRedNF;this.setCurrency=setCurrencyNF;this.setCurrencyPrefix=setCurrencyPrefixNF;this.setCurrencyValue=setCurrencyValueNF;this.setCurrencyPosition=setCurrencyPositionNF;this.setPlaces=setPlacesNF;this.toFormatted=toFormattedNF;this.toPercentage=toPercentageNF;this.getOriginal=getOriginalNF;this.moveDecimalRight=moveDecimalRightNF;this.moveDecimalLeft=moveDecimalLeftNF;this.getRounded=getRoundedNF;this.preserveZeros=preserveZerosNF;this.justNumber=justNumberNF;this.expandExponential=expandExponentialNF;this.getZeros=getZerosNF;this.moveDecimalAsString=moveDecimalAsStringNF;this.moveDecimal=moveDecimalNF;this.addSeparators=addSeparatorsNF;if(inputDecimal==null){this.setNumber(num,this.PERIOD);}else{this.setNumber(num,inputDecimal);}
this.setCommas(true);this.setNegativeFormat(this.LEFT_DASH);this.setNegativeRed(false);this.setCurrency(false);this.setCurrencyPrefix('$');this.setPlaces(2);}
function setInputDecimalNF(val)
{this.inputDecimalValue=val;}
function setNumberNF(num,inputDecimal)
{if(inputDecimal!=null){this.setInputDecimal(inputDecimal);}
this.numOriginal=num;this.num=this.justNumber(num);}
function toUnformattedNF()
{return(this.num);}
function getOriginalNF()
{return(this.numOriginal);}
function setNegativeFormatNF(format)
{this.negativeFormat=format;}
function setNegativeRedNF(isRed)
{this.negativeRed=isRed;}
function setSeparatorsNF(isC,separator,decimal)
{this.hasSeparators=isC;if(separator==null)separator=this.COMMA;if(decimal==null)decimal=this.PERIOD;if(separator==decimal){this.decimalValue=(decimal==this.PERIOD)?this.COMMA:this.PERIOD;}else{this.decimalValue=decimal;}
this.separatorValue=separator;}
function setCommasNF(isC)
{this.setSeparators(isC,this.COMMA,this.PERIOD);}
function setCurrencyNF(isC)
{this.hasCurrency=isC;}
function setCurrencyValueNF(val)
{this.currencyValue=val;}
function setCurrencyPrefixNF(cp)
{this.setCurrencyValue(cp);this.setCurrencyPosition(this.LEFT_OUTSIDE);}
function setCurrencyPositionNF(cp)
{this.currencyPosition=cp}
function setPlacesNF(p,tr)
{this.roundToPlaces=!(p==this.NO_ROUNDING);this.truncate=(tr!=null&&tr);this.places=(p<0)?0:p;}
function addSeparatorsNF(nStr,inD,outD,sep)
{nStr+='';var dpos=nStr.indexOf(inD);var nStrEnd='';if(dpos!=-1){nStrEnd=outD+nStr.substring(dpos+1,nStr.length);nStr=nStr.substring(0,dpos);}
var rgx=/(\d+)(\d{3})/;while(rgx.test(nStr)){nStr=nStr.replace(rgx,'$1'+sep+'$2');}
return nStr+nStrEnd;}
function toFormattedNF()
{var pos;var nNum=this.num;var nStr;var splitString=new Array(2);if(this.roundToPlaces){nNum=this.getRounded(nNum);nStr=this.preserveZeros(Math.abs(nNum));}else{nStr=this.expandExponential(Math.abs(nNum));}
if(this.hasSeparators){nStr=this.addSeparators(nStr,this.PERIOD,this.decimalValue,this.separatorValue);}else{nStr=nStr.replace(new RegExp('\\'+this.PERIOD),this.decimalValue);}
var c0='';var n0='';var c1='';var n1='';var n2='';var c2='';var n3='';var c3='';var negSignL=(this.negativeFormat==this.PARENTHESIS)?this.LEFT_PAREN:this.DASH;var negSignR=(this.negativeFormat==this.PARENTHESIS)?this.RIGHT_PAREN:this.DASH;if(this.currencyPosition==this.LEFT_OUTSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n1=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n2=negSignR;}
if(this.hasCurrency)c0=this.currencyValue;}else if(this.currencyPosition==this.LEFT_INSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n0=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n3=negSignR;}
if(this.hasCurrency)c1=this.currencyValue;}
else if(this.currencyPosition==this.RIGHT_INSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n0=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n3=negSignR;}
if(this.hasCurrency)c2=this.currencyValue;}
else if(this.currencyPosition==this.RIGHT_OUTSIDE){if(nNum<0){if(this.negativeFormat==this.LEFT_DASH||this.negativeFormat==this.PARENTHESIS)n1=negSignL;if(this.negativeFormat==this.RIGHT_DASH||this.negativeFormat==this.PARENTHESIS)n2=negSignR;}
if(this.hasCurrency)c3=this.currencyValue;}
nStr=c0+n0+c1+n1+nStr+n2+c2+n3+c3;if(this.negativeRed&&nNum<0){nStr='<font color="red">'+nStr+'</font>';}
return(nStr);}
function toPercentageNF()
{nNum=this.num*100;nNum=this.getRounded(nNum);return nNum+'%';}
function getZerosNF(places)
{var extraZ='';var i;for(i=0;i<places;i++){extraZ+='0';}
return extraZ;}
function expandExponentialNF(origVal)
{if(isNaN(origVal))return origVal;var newVal=parseFloat(origVal)+'';var eLoc=newVal.toLowerCase().indexOf('e');if(eLoc!=-1){var plusLoc=newVal.toLowerCase().indexOf('+');var negLoc=newVal.toLowerCase().indexOf('-',eLoc);var justNumber=newVal.substring(0,eLoc);if(negLoc!=-1){var places=newVal.substring(negLoc+1,newVal.length);justNumber=this.moveDecimalAsString(justNumber,true,parseInt(places));}else{if(plusLoc==-1)plusLoc=eLoc;var places=newVal.substring(plusLoc+1,newVal.length);justNumber=this.moveDecimalAsString(justNumber,false,parseInt(places));}
newVal=justNumber;}
return newVal;}
function moveDecimalRightNF(val,places)
{var newVal='';if(places==null){newVal=this.moveDecimal(val,false);}else{newVal=this.moveDecimal(val,false,places);}
return newVal;}
function moveDecimalLeftNF(val,places)
{var newVal='';if(places==null){newVal=this.moveDecimal(val,true);}else{newVal=this.moveDecimal(val,true,places);}
return newVal;}
function moveDecimalAsStringNF(val,left,places)
{var spaces=(arguments.length<3)?this.places:places;if(spaces<=0)return val;var newVal=val+'';var extraZ=this.getZeros(spaces);var re1=new RegExp('([0-9.]+)');if(left){newVal=newVal.replace(re1,extraZ+'$1');var re2=new RegExp('(-?)([0-9]*)([0-9]{'+spaces+'})(\\.?)');newVal=newVal.replace(re2,'$1$2.$3');}else{var reArray=re1.exec(newVal);if(reArray!=null){newVal=newVal.substring(0,reArray.index)+reArray[1]+extraZ+newVal.substring(reArray.index+reArray[0].length);}
var re2=new RegExp('(-?)([0-9]*)(\\.?)([0-9]{'+spaces+'})');newVal=newVal.replace(re2,'$1$2$4.');}
newVal=newVal.replace(/\.$/,'');return newVal;}
function moveDecimalNF(val,left,places)
{var newVal='';if(places==null){newVal=this.moveDecimalAsString(val,left);}else{newVal=this.moveDecimalAsString(val,left,places);}
return parseFloat(newVal);}
function getRoundedNF(val)
{val=this.moveDecimalRight(val);if(this.truncate){val=val>=0?Math.floor(val):Math.ceil(val);}else{val=Math.round(val);}
val=this.moveDecimalLeft(val);return val;}
function preserveZerosNF(val)
{var i;val=this.expandExponential(val);if(this.places<=0)return val;var decimalPos=val.indexOf('.');if(decimalPos==-1){val+='.';for(i=0;i<this.places;i++){val+='0';}}else{var actualDecimals=(val.length-1)-decimalPos;var difference=this.places-actualDecimals;for(i=0;i<difference;i++){val+='0';}}
return val;}
function justNumberNF(val)
{newVal=val+'';var isPercentage=false;if(newVal.indexOf('%')!=-1){newVal=newVal.replace(/\%/g,'');isPercentage=true;}
var re=new RegExp('[^\\'+this.inputDecimalValue+'\\d\\-\\+\\(\\)eE]','g');newVal=newVal.replace(re,'');var tempRe=new RegExp('['+this.inputDecimalValue+']','g');var treArray=tempRe.exec(newVal);if(treArray!=null){var tempRight=newVal.substring(treArray.index+treArray[0].length);newVal=newVal.substring(0,treArray.index)+this.PERIOD+tempRight.replace(tempRe,'');}
if(newVal.charAt(newVal.length-1)==this.DASH){newVal=newVal.substring(0,newVal.length-1);newVal='-'+newVal;}
else if(newVal.charAt(0)==this.LEFT_PAREN&&newVal.charAt(newVal.length-1)==this.RIGHT_PAREN){newVal=newVal.substring(1,newVal.length-1);newVal='-'+newVal;}
newVal=parseFloat(newVal);if(!isFinite(newVal)){newVal=0;}
if(isPercentage){newVal=this.moveDecimalLeft(newVal,2);}
return newVal;}

window.formElementWithFocus=null;function createAdScript()
{var script="";script='<script language="javascript1.1" type="text/javascript">document.write(\'<iframe src="{0}adi/{1}/{2}{3};ord={4};" name="" '
+'width="{5}" height="{6}" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="true">\');'
+'if (navigator.userAgent.indexOf("Gecko") == -1) { { document.write(\'<script type="text/javascript" src="{0}adj/{1}/{2}{3};abr=!ie;ord={4};">'
+'<\\/script>\'); } } document.write(\'</iframe>\');<\/script><noscript> <a href=""{0}jump/{1}/{2}{3};ord={4};">'
+'<img src="{0}ad/{1}/{2}{3};ord={4};" width="{5}" height="{6}" border="0" /></a></noscript>';return script;}
function vlaunch(vidurl)
{if(typeof g_siteid!="undefined"){switch(g_siteid){case"aolpf":case"netscape":case"aol":case"compuserve":case"yhoo":case"myyahoo":case"intuit":vidurl=vidurl.replace(/player.asp/g,"playerFull.asp");if(vidurl.search(/siteid=/g)==-1){vidurl=vidurl+"&siteid="+g_siteid;}
document.location=vidurl;break;default:defaultPlayer(vidurl);}}else{defaultPlayer(vidurl);}}
function defaultPlayer(vidurl)
{if(vidurl.length>0)
{pop=window.open(vidurl,'vviewer','width=988,height=550,scrollbars=no,resize=no,location=no,status=no');pop.focus();}}
window.gotSymbolReply=false;function initInfoComplete()
{if(!window.InfoComplete)return;window.InfoComplete.allowsymboltypes="-67";window.InfoComplete.Setup('hat_input','symbolCompleteResults',8,.050,[formatSymbolCompleteResult,formatKeywordCompleteResult]);if((typeof(window.InfoComplete.autoComplete)=='undefined')||(window.InfoComplete.autoComplete==null))
return;if(window.JSON&&window.JSON.deserialize)
{window.JSON.parse=window.JSON.deserialize;}
var inputBox=YAHOO.util.Dom.get('hat_input');var goButton=YAHOO.util.Dom.get('hat_button');window.InfoComplete.autoComplete.setHeader('');window.InfoComplete.autoComplete.setFooter('');window.InfoComplete.autoComplete.setSubHeader('Choose a quote match or "go" to get quote',0);window.InfoComplete.autoComplete.setSubHeader('Choose a topic to search news:',1);window.InfoComplete.autoComplete.dataReturnEvent.subscribe(updateSearchTerm,this);inputBox.setAttribute('onchange','');window.InfoComplete.autoComplete.itemSelectEvent.subscribe(submitSymbolOrSearch,this);YAHOO.util.Event.addListener(goButton,'click',submitSymbolOrSearch);var listenEvent='keypress';if(YAHOO.util.Event.isIE)
{listenEvent='keydown';}
YAHOO.util.Event.addListener(inputBox,listenEvent,function(e){if(e.keyCode==13)
{submitSymbolOrSearch(e);}
else
{window.gotSymbolReply=false;}});YAHOO.util.Event.addListener('symbolCompleteSearchLink','click',searchFromHeaderClick);}
function updateSearchTerm()
{window.gotSymbolReply=true;var searchTerm=YAHOO.util.Dom.get('symbolCompleteSearchTerm');if(searchTerm)
searchTerm.innerHTML=YAHOO.util.Dom.get('hat_input').value;}
function searchFromHeaderClick(e)
{YAHOO.util.Event.stopEvent(e);var searchTerm=YAHOO.util.Dom.get('symbolCompleteSearchTerm');if(searchTerm)
doSearch(searchTerm.innerHTML);else
submitSymbolOrSearch(e);}
var submittedSymbolOrSearch=false;function submitSymbolOrSearch(e,args)
{YAHOO.util.Event.stopEvent(e);if(submittedSymbolOrSearch)return;var searchBox=YAHOO.util.Dom.get('hat_input');checkUnUsed(searchBox);var select=false;if(window.InfoComplete.autoComplete._bItemSelected||(e&&e=='itemSelect'))
select=true;var index=0;if(args)
index=args[1]._nDataSourceIndex;if(validateQuoteSearchBox(searchBox))
{submittedSymbolOrSearch=true;var isOverride=isSearchOverride(searchBox.value);if(index==1||isOverride)
{doSearch(args?args[2][0].toLowerCase():searchBox.value);}
else if((!window.gotSymbolReply&&searchBox.value.length<=5&&!isOverride)||(select&&index==0)||isQuoteInput(searchBox.value))
{doViewQuote(searchBox.value);}
else
{doSearch(searchBox.value);}}}
function isSearchOverride(term)
{term=term.replace(/^\s+|\s+$/g,"").toUpperCase();var match=term.match(/^ABC$|^BAY$|^EGAN$|^AIR$|^ACME$|^GOLD$|^COST$|^KEY$|^GAS$|^CHINA$|^BEER$|^DRUG$|^OIL$|^DOG$|^CPI$|^GDP$|^DNA$|^ETF$|^JAZZ$|^ETFS$|^AUTO$|^FED$/);return match!=null&&match.length>0&&match[0].length>0;}
function doViewQuote(symbol)
{symbol=symbol.replace(/^\s+|\s+$/g,"");symbol=symbol.replace(/ +/gi,",");symbol=symbol.replace(/,+/gi,",");symbol=symbol.toLowerCase();symbol=symbol.replace(/,$|\.,$/,"");var hostToUse=document.domain;try
{hostToUse=quoteAndSearchHost;}
catch(exception)
{hostToUse=document.domain;}
if(symbol.match(","))
{window.location='http://'+hostToUse+'/quotes/quotes.aspx?symb='+symbol+'&dist=DNH_S';}
else
{re=/aux$|nul$|prn$|con$/gi;if(re.test(symbol))
{window.location='http://'+hostToUse+'/quotes/quotes.aspx?symb='+symbol+'&dist=DNH_S';}
else
{symbol=symbol.replace(/:/gi,"/");window.location='http://'+hostToUse+'/quotes/'+symbol+'/?dist=DNH_S';}}}
function doSearch(query)
{query=query.replace(/^\s+|\s+$/g,"").replace(/,$|\.,$/,"");var hostToUse=document.domain;try
{hostToUse=quoteAndSearchHost;}
catch(exception)
{hostToUse=document.domain;}
window.location='http://'+hostToUse+'/search/?value='+query+'&dist=DNH_S';}
function formatKeywordCompleteResult(aResultItem,Query,iIndex)
{var SCRegExp=new RegExp("\\b("+Query+")(.*)\\b","i");var result=aResultItem[0].toLowerCase();aResultItem[0]=result;if(result.match(SCRegExp))
result=result.replace(SCRegExp,"<span class=scResultTerm>$1</span>$2");return result;}
function formatSymbolCompleteResult(aResultItem,Query,iIndex)
{var SelectionValue=new param;var CompanyName=aResultItem[1];var Symbol=aResultItem[0].toUpperCase();var CountryCode=aResultItem[2].toUpperCase();if(CountryCode!="US"&&Symbol.indexOf(":")<0)
{Symbol=CountryCode+":"+Symbol;aResultItem[0]=Symbol;}
if(Query.indexOf(':')==2)
if(Query.length>3)
Query=Query.substring(3)
else
Query=""
var SCRegExp=new RegExp("\\b("+Query+")(.*)\\b","i");var tickerDisplay=Symbol;if(Symbol.match(SCRegExp))
tickerDisplay=tickerDisplay.replace(SCRegExp,"<span class=scResultTerm>$1</span>$2");else
CompanyName=CompanyName.replace(SCRegExp,"<span class=scResultTerm>$1</span>$2");var aMarkup=["<table class=scResultTable><tr><td class=symbolCompleteCol1>",tickerDisplay,"</td><td class=symbolCompleteCol2>",CompanyName,"</td></tr></table>"];return(aMarkup.join(""));}
function validateQuoteSearchBox(el)
{var isTextEntered=false;if(el.value==null||el.value.length==0)
{alert("Please Enter a Symbol or Keyword.");}
else
{isTextEntered=true;}
return isTextEntered;}
function isQuoteInput(textValue)
{if(!window.InfoComplete||!window.InfoComplete.autoComplete)
return false;else if(window.InfoComplete.autoComplete._bItemSelected)
return true;else
return window.InfoComplete.isSymbolMatch();}
function setFocused(elem)
{var resolved=YAHOO.util.Dom.get(elem);window.formElementWithFocus=resolved;}
function setUnUsed(searchField){var defaultValue;switch(searchField.name)
{case"Symbol":defaultValue="Symbol(s)";break;case"KeywordSearch":defaultValue="Keyword(s)";break;}
if(searchField.value==defaultValue)
{searchField.className=searchField.className+" unUsed";}}
function checkUnUsed(searchField){if(searchField.className.indexOf("unUsed")>=0)
{searchField.value="";}
return true;}
function searchFieldOnFocus(searchField)
{var index=searchField.className.indexOf("unUsed");if(index>=0)
{searchField.value="";if(index==0)
{if(searchField.className.match("unUsed "))
{searchField.className=searchField.className.replace("unUsed ","");}
else
{searchField.className=searchField.className.replace("unUsed","");}}
else
{searchField.className=searchField.className.replace(" unUsed","");}}}
function aolfam()
{switch(g_siteid){case"aolpf":case"netscape":case"aol":case"compuserve":return true;break;default:return false;break;}}
function launchTracker(param)
{var intheight=730;var intwidth=330;var strURL='http://www.marketwatch.com/portfolio/track.asp?'+param;var strTarget='mwtrack';var strWindowParam='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+intwidth+',height='+intheight;if(!aolfam()){trackWindow=window.open(strURL,strTarget,strWindowParam);if(trackWindow!=null)
{trackWindow.focus();}}}
function openWindow(url,name)
{if(!aolfam()){if(name=='alertWin')
popupWin=window.open(url,name,"width=575,height=650,resizable,scrollbars");else
popupWin=window.open(url,name,"width=637,height=610,resizable,scrollbars");}}
function CheckStocTrac(){var allcookies=document.cookie;var start=allcookies.indexOf('CBSMWQuoteSeen=1');if((start!=-1)||(aolfam()))return false;return true;}
function openTour(){quickWindow=window.open('http://www.marketwatch.com/tour/tour_1.htm','quickWin','toolbar=no,location=no,directories=no,status=no,scrollbars=no,menubar=no,resizable=no,width=766,height=426');quickWindow.focus();}
function openCobrandTour(){quickWindow=window.open('http://www.marketwatch.com/tour/cobrand_tours/tour1_aol.asp?siteid='+g_siteid,'quickWin','toolbar=no,location=no,directories=no,status=no,scrollbars=no,menubar=no,resizable=no,width=766,height=426');quickWindow.focus();}
function checkSearchValue(searchTextId)
{var searchBox=YAHOO.util.Dom.get(searchTextId);if(searchBox)
{if(searchBox.value!="")
{return true;}}
return false;}
function checkSigninValues()
{var loginBox=YAHOO.util.Dom.get("SignInEmail");var loginPass=YAHOO.util.Dom.get("SignInPassword");if(loginBox)
{if(loginBox.value!=""&&loginPass.value!="")
{return onSignInSubmit();}}
return false;}
function validateKnownFields()
{var quoteSearchField=YAHOO.util.Dom.get("hat_input");var signInEmailField=YAHOO.util.Dom.get("SignInEmail");var signInPasswordField=YAHOO.util.Dom.get("SignInPassword");if(window.formElementWithFocus!=null)
{if(window.formElementWithFocus.id==quoteSearchField.id)
{if(checkUnUsed)
{checkUnUsed(quoteSearchField);}
if(validateQuoteSearchBox(quoteSearchField))
{var searchType=YAHOO.util.Dom.get('SearchType');if(isQuoteInput(quoteSearchField.value))
searchType.value="quote";else
searchType.value="search";}
else
return false;}
else if(signInEmailField)
{if(window.formElementWithFocus.id==signInEmailField.id||window.formElementWithFocus.id==signInPasswordField.id)
{return onSignInSubmit();}}
return true;}
else
{return true;}}
function createAlertsFromQuotes(baseUrl,dist)
{var symbolList=getQuoteSelectionLists(" ");if(symbolList.length>0)
{var qs=new Querystring();var createUrl=baseUrl+'?selectedType=2&alertsymbol='+symbolList+'&siteid='+qs.get('siteid','')+'&dist='+dist;window.location=createUrl;}
else
{alert("Please select one or more symbols first.");}}
function getQuoteSelectionLists(delimiter)
{var quoteList=new Array();var index=0;for(i=0;i<quoteSelections.length;i++)
{var quoteSelection=document.getElementById(quoteSelections[i]);if(quoteSelection.checked==true)
{quoteList[index]=quoteSelection.value;index++;}}
return escape(quoteList.join(delimiter).replace(/^\s+/g,'').replace(/\s+$/g,''));}
function addQuotesToPortfolios(baseUrl,dist)
{var symbolList=getQuoteSelectionLists(",");if(symbolList.length>0)
{var qs=new Querystring();var addUrl=baseUrl+'?symbs='+symbolList+'&siteid='+qs.get('siteid','')+'&dist='+dist;window.open(addUrl,'new','toolbars=no,scrollbars=yes,resizable=yes,height=375,width=700');}
else
{alert("Please select one or more symbols first.");}}
function doSurvey()
{if(netPromoterSurvey)
netPromoterSurvey('http://i.mktw.net/mw3/promotions/netpromotersurvey.htm');}
document.writeln('<script type="text/javascript" src="http://i.mktw.net/mw3/javascript/survey_popup_net_promoter.js"></script>');setTimeout(doSurvey,1000);

function bcPlayer(vid)
{if(typeof vid=="string"&&vid.indexOf("link.brightcove.com")>-1)
{var searchforId=vid.match(/bctid[0-9]+/g);if(searchforId!=null)
{vid=searchforId[0].replace("bctid","");}
else
{return false;}}
var intheight=529;var intwidth=993;var strURL=domainresolve()+'/tvradio/bcPlayer.asp?videoId='+vid;var strTarget='bcplayer';var strWindowParam='toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+intwidth+',height='+intheight;bcWindow=window.open(strURL,strTarget,strWindowParam);if(bcWindow!=null)
{bcWindow.focus();}}
function domainresolve()
{var pagedomain=location.protocol+"//"+location.hostname;if(location.port&&location.port!="")
{pagedomain+=":"+location.port;}
return pagedomain;}

function MyMarketWatch2Namespace()
{function MyMarketWatch2()
{};MyMarketWatch2.onLoad=function(e,info)
{if(typeof(info.controlId)=="undefined")
{MyMarketWatch2.showError("...onLoad...info.controlId is undefined...");return;}
var controlElem=document.getElementById(info.controlId);if(controlElem==null)
{MyMarketWatch2.showError("...onLoad...element "+info.controlid+" not found...");return;}
controlElem.quoteUrl=info.quoteUrl;controlElem.headlineUrl=info.headlineUrl;controlElem.portfolioUrl=info.portfolioUrl;controlElem.screenerUrl=info.screenerUrl;controlElem.bridgeUrl=info.bridgeUrl;controlElem.userId=info.userId;controlElem.tabElems=new Array();var i,tabId,tabElem,dataElem,kind;var firstTabId=null;for(i=0;i<info.tabIds.length;i++)
{tabId=info.tabIds[i];tabElem=document.getElementById(tabId)
dataElem=document.getElementById(tabId+"Data")
kind=tabId.replace(info.controlId,"").replace("Tab","");tabElem.controlElem=controlElem;if((tabElem!=null)&&(dataElem!=null))
{controlElem.tabElems[i]=tabElem;tabElem.controlElem=controlElem;tabElem.dataElem=dataElem;tabElem.kind=kind;dataElem.tabElem=tabElem;dataElem.tickerList=null;dataElem.quoteList=null;dataElem.headlineList=null;dataElem.rendered=false;dataElem.loadInProgress=false;dataElem.loadQuotes=null;dataElem.loadHeadlines=null;dataElem.loadingElem=document.getElementById(tabId+"Loading");dataElem.quotesElem=document.getElementById(tabId+"Quotes");dataElem.dividerElem=document.getElementById(tabId+"Divider");dataElem.headlinesElem=document.getElementById(tabId+"Headlines");dataElem.emptyElem=document.getElementById(tabId+"Empty");dataElem.subheadElem=document.getElementById(tabId+"SubHead");if(kind==info.firstTab)
{firstTabId=tabId;}
switch(kind)
{case"Recent":dataElem.tickerList=info.recentTickers;dataElem.loadQuotes=MyMarketWatch2.loadRecentTickers;dataElem.loadHeadlines=MyMarketWatch2.loadTickerHeadlines;break;case"Portfolio":dataElem.loadQuotes=MyMarketWatch2.loadPortfolioTickers;dataElem.loadHeadlines=MyMarketWatch2.loadTickerHeadlines;break;case"Gainers":dataElem.loadQuotes=MyMarketWatch2.loadGainerTickers;dataElem.loadHeadlines=MyMarketWatch2.loadTickerHeadlines;MyMarketWatch2.loadGainerTickers(dataElem);break;case"Losers":dataElem.loadQuotes=MyMarketWatch2.loadLoserTickers;dataElem.loadHeadlines=MyMarketWatch2.loadTickerHeadlines;MyMarketWatch2.loadLoserTickers(dataElem);break;default:MyMarketWatch2.showError("Unhandled tab type: "+kind+".");break;}}}
if(firstTabId!=null)
{MyMarketWatch2.onTabClick(firstTabId);}
var initElem=document.getElementById(info.controlId+"Init")
if(initElem)
{initElem.style.display="none";}};MyMarketWatch2.selectTab=function(tabElem)
{var e,i;for(i=0;i<tabElem.controlElem.tabElems.length;i++)
{e=tabElem.controlElem.tabElems[i];if(e==tabElem)
{YAHOO.util.Dom.addClass(e,"selected");e.dataElem.style.display="block";}
else
{YAHOO.util.Dom.removeClass(e,"selected");e.dataElem.style.display="none";}}};MyMarketWatch2.onTabClick=function(id)
{try
{var tabElem=document.getElementById(id);if(tabElem==null)
{MyMarketWatch2.showError("...onTabClick...tab element "+id+" not found...");return;}
var dataElem=tabElem.dataElem;if(dataElem==null)
{MyMarketWatch2.showError("...onTabClick...data element for tab "+id+" is null...");return;}
MyMarketWatch2.selectTab(tabElem);if(!dataElem.rendered&&!dataElem.loadInProgress)
{if((dataElem.QuoteList!=null)&&(dataElem.headlineList!=null))
{MyMarketWatch2.renderData(dataElem);}
else
{if(dataElem.QuoteList==null)
{if(dataElem.loadQuotes!=null)
{dataElem.loadQuotes(dataElem);}}
else
{MyMarketWatch2.renderNoData(dataElem);}}}}
catch(boomer)
{MyMarketWatch2.showError("MyMarketWatch2.onTabClick: "+boomer);}};MyMarketWatch2.renderQuoteTableHeader=function(quoteTable)
{var quoteHeaderRow=document.createElement("tr");quoteTable.appendChild(quoteHeaderRow);var tickerHeader=document.createElement("th");quoteHeaderRow.appendChild(tickerHeader);tickerHeader.className="symbol";tickerHeader.innerHTML="Symbol";var priceHeader=document.createElement("th");quoteHeaderRow.appendChild(priceHeader);priceHeader.className="price";priceHeader.innerHTML="Price";var datasourceHeader=document.createElement("th");quoteHeaderRow.appendChild(datasourceHeader);datasourceHeader.className="datasource";var changeHeader=document.createElement("th");quoteHeaderRow.appendChild(changeHeader);changeHeader.className="change";changeHeader.innerHTML="Change";var percentChangeHeader=document.createElement("th");quoteHeaderRow.appendChild(percentChangeHeader);percentChangeHeader.className="percentChange";percentChangeHeader.innerHTML="% Change";};MyMarketWatch2.renderQuoteTableRow=function(quoteTable,quote,index)
{var quoteRow=document.createElement("tr");quoteTable.appendChild(quoteRow);if((index+1)%2==0)
{quoteRow.className="even";}
else
{quoteRow.className="odd";}
var tickerCell=document.createElement("td");quoteRow.appendChild(tickerCell);tickerCell.className="symbol";var tickerAnchor=document.createElement("a");tickerCell.appendChild(tickerAnchor);var quoteValue;if(quote.countryCode!=null&&quote.countryCode.toUpperCase()!="US")
{quoteValue=quote.countryCode+":"+quote.ticker;}
else
{quoteValue=quote.ticker;}
var isIndu=false;if(quoteValue.toLowerCase()=='indu'||quoteValue.toLowerCase()=='djia')
isIndu=true;var quoteHref=quote.url;tickerAnchor.innerHTML=quoteValue;tickerAnchor.href=quoteHref;var priceCell=document.createElement("td");quoteRow.appendChild(priceCell);priceCell.className="price";var neutralPrice=document.createElement("span");priceCell.appendChild(neutralPrice);neutralPrice.className="neutral";var formattedPrice=document.createElement("span");priceCell.appendChild(formattedPrice);if(!isIndu)
formattedPrice.className="mwlivequotes";formattedPrice.setAttribute("mwfield","Price");formattedPrice.setAttribute("mwformat",",2");formattedPrice.setAttribute("mwsymbol",quoteValue);formattedPrice.innerHTML=MyMarketWatch2.formatNumber(quote.price,2);var dataSourceCell=document.createElement("td");quoteRow.appendChild(dataSourceCell);dataSourceCell.className="datasource";var dataSource=document.createElement("span");if(!isIndu)
dataSource.className="mwlivequotes";dataSource.setAttribute("mwfield","Flags");dataSource.setAttribute("mwformat","none");dataSource.setAttribute("mwsymbol",quoteValue);dataSource.innerHTML="&nbsp;";var initialIcon=document.createElement("span");if(quote.flag&&quote.flag.length>0)
initialIcon.className=quote.flag;else
initialIcon.className="delayed";initialIcon.innerHTML="&nbsp;";initialIcon.setAttribute("time",quote.time)
dataSource.appendChild(initialIcon);var changeCell=document.createElement("td");quoteRow.appendChild(changeCell);changeCell.className="change";var formattedChange=document.createElement("span");changeCell.appendChild(formattedChange);if(!isIndu)
formattedChange.className="mwlivequotes";formattedChange.setAttribute("mwfield","Change");formattedChange.setAttribute("mwformat",",2");formattedChange.setAttribute("mwsymbol",quoteValue);var colorChange=document.createElement("span");if(quote.change>0)
{colorChange.className="up";}
else if(quote.change<0)
{colorChange.className="down";}
colorChange.innerHTML=MyMarketWatch2.formatNumber(quote.change,2);formattedChange.appendChild(colorChange);var percentChangeCell=document.createElement("td");quoteRow.appendChild(percentChangeCell);percentChangeCell.className="percentChange";var formattedPercentChange=document.createElement("span");percentChangeCell.appendChild(formattedPercentChange);if(!isIndu)
formattedPercentChange.className="mwlivequotes";formattedPercentChange.setAttribute("mwfield","PercentChange");formattedPercentChange.setAttribute("mwformat",",2");formattedPercentChange.setAttribute("mwsymbol",quoteValue);var colorPercentChange=document.createElement("span");if(quote.percentChange>0)
{colorPercentChange.className="up";}
else if(quote.percentChange<0)
{colorPercentChange.className="down";}
colorPercentChange.innerHTML=MyMarketWatch2.formatNumber(quote.percentChange,2);formattedPercentChange.appendChild(colorPercentChange);};MyMarketWatch2.renderQuoteData=function(dataElem)
{var quoteTable=document.createElement("table");dataElem.quotesElem.appendChild(quoteTable);var quoteBody=document.createElement("tbody");quoteTable.appendChild(quoteBody);MyMarketWatch2.renderQuoteTableHeader(quoteBody);var index=0;for(var i=0;i<dataElem.quoteList.length;i++)
{if(dataElem.quoteList[i]!=null)
{this.renderQuoteTableRow(quoteBody,dataElem.quoteList[i],index);index++;}}};MyMarketWatch2.renderHeadlineData=function(dataElem)
{var now=new Date();var headlineTable=document.createElement("table");headlineTable.cellPadding=0;headlineTable.cellSpacing=0;headlineTable.border=0;dataElem.headlinesElem.appendChild(headlineTable);var headlineTableBody=document.createElement("tbody");for(var i=0;i<dataElem.headlineList.length;i++)
{var currentHeadline=dataElem.headlineList[i];var headlineRow=document.createElement("tr");if((i+1)%2==0)
{headlineRow.className="myMarketWatchRow even";}
else
{headlineRow.className="myMarketWatchRow odd";}
var timestamp=document.createElement("td");headlineRow.appendChild(timestamp);var createTimestamp=new Date(Date.parse(currentHeadline.createTimestamp));if((now.getDate()==createTimestamp.getDate())&&(now.getMonth()==createTimestamp.getMonth())&&(now.getFullYear()==createTimestamp.getFullYear()))
{var minutes=createTimestamp.getMinutes()<10?"0"+createTimestamp.getMinutes():createTimestamp.getMinutes();var hours=createTimestamp.getHours()%12==0?"12":createTimestamp.getHours()%12;timestamp.innerHTML=hours+":"+minutes;}
else
{var month=createTimestamp.getMonth()+1;var day=createTimestamp.getDate();timestamp.innerHTML=month+"/"+day;}
timestamp.className="timestamp";var headline=document.createElement("td");headline.className="headline";if(currentHeadline.docType==90)
{if(currentHeadline.tickers&&(currentHeadline.tickers.length>0))
{var symbol=currentHeadline.tickers[0].replace("US:","");var symbolSpan=document.createElement("span");symbolSpan.innerHTML=symbol;var symbolLink=document.createElement("a");symbolLink.href=currentHeadline.url;symbolLink.appendChild(symbolSpan);headline.appendChild(document.createTextNode("["));headline.appendChild(symbolLink);headline.appendChild(document.createTextNode("] "));}
headline.appendChild(document.createTextNode(currentHeadline.title));headlineRow.appendChild(headline);}
else
{if(currentHeadline.column)
{currentHeadline.title=currentHeadline.column+": "+currentHeadline.title;}
if(currentHeadline.audio)
{currentHeadline.title="[audio] "+currentHeadline.title;}
else if(currentHeadline.video)
{currentHeadline.title="[video] "+currentHeadline.title;}
var link=document.createElement("a");link.href=currentHeadline.url;link.innerHTML=currentHeadline.title;headline.appendChild(link);headlineRow.appendChild(headline);}
headlineTableBody.appendChild(headlineRow);}
headlineTable.appendChild(headlineTableBody);};MyMarketWatch2.renderData=function(dataElem)
{MyMarketWatch2.renderQuoteData(dataElem);MyMarketWatch2.renderHeadlineData(dataElem);dataElem.loadingElem.style.display="none";dataElem.quotesElem.style.display="block";dataElem.dividerElem.style.display="block";dataElem.headlinesElem.style.display="block";if(dataElem.subheadElem)
{dataElem.subheadElem.style.display="block";}
dataElem.rendered=true;dataElem.loadInProgress=false;if(typeof(LiveQuotesGateway)!='undefined'&&LiveQuotesGateway!=null)
{if(window.LiveQuotesExchanges!=null)
LiveQuotesGateway.setup(window.LiveQuotesExchanges);else
LiveQuotesGateway.setup();}
else if(window.MWLiveQuotes!=null)
{MWLiveQuotes.setup();}};MyMarketWatch2.renderNoData=function(dataElem)
{if(dataElem.emptyElem)
{dataElem.loadingElem.style.display="none";dataElem.emptyElem.style.display="block";dataElem.quotesElem.style.display="none";dataElem.dividerElem.style.display="none";dataElem.headlinesElem.style.display="none";if(dataElem.subheadElem)
{dataElem.subheadElem.style.display="none";}}
dataElem.rendered=true;dataElem.loadInProgress=false;}
MyMarketWatch2.loadTickers=function(dataElem,tickers,sortBy)
{if((tickers==null)||(tickers.length==0))
{MyMarketWatch2.renderNoData(dataElem);}
else
{dataElem.loadInProgress=true;var quoteMessage=new Object();quoteMessage.tickers=[];quoteMessage.sortBy=sortBy;quoteMessage.dist="hpmymw";for(var i=0;i<tickers.length;i++)
{var ticker=tickers[i];quoteMessage.tickers.push(ticker);}
var quoteRequest=MyMarketWatch2.getRequestObject();var quoteUrl=dataElem.tabElem.controlElem.quoteUrl+"?json="+JSON.serialize(quoteMessage);quoteRequest.open("GET",quoteUrl,true);quoteRequest.onreadystatechange=function()
{if(quoteRequest.readyState==4)
{MyMarketWatch2.onLoadTickersComplete(quoteRequest.responseText,dataElem);}};quoteRequest.send(null);}};MyMarketWatch2.loadRecentTickers=function(dataElem)
{MyMarketWatch2.loadTickers(dataElem,dataElem.tickerList,"countryCode,ticker");};MyMarketWatch2.onLoadTickersComplete=function(responseText,dataElem)
{var response=JSON.deserializeNoValidate(responseText);if(response.succeeded)
{dataElem.quoteList=[];for(var i=0;i<response.quotes.length;i++)
{var currentQuote=response.quotes[i];if(currentQuote!=null)
{var myQuote=new Object();myQuote.ticker=currentQuote.liveData.ticker;myQuote.countryCode=currentQuote.liveData.countryCode;myQuote.price=currentQuote.liveData.price;myQuote.percentChange=currentQuote.liveData.percentChange;myQuote.change=currentQuote.liveData.change;myQuote.url=currentQuote.liveData.url;myQuote.time=currentQuote.liveData.time;if(currentQuote.extraData.halted)
myQuote.flag="halt";else if(currentQuote.extraData.hasPremarket)
myQuote.flag="pre";else if(currentQuote.extraData.hasAfterHours)
myQuote.flag="after";else if(currentQuote.extraData.realTime)
myQuote.flag="realtime";else
myQuote.flag="delayed";dataElem.quoteList.push(myQuote);}}
if((dataElem.headlineList!=null)||(dataElem.loadHeadlines==null))
{MyMarketWatch2.renderData(dataElem);}
else
{dataElem.loadHeadlines(dataElem);}}
else
{MyMarketWatch2.showError(response.errorMessage);}};MyMarketWatch2.loadPortfolioTickers=function(dataElem)
{if(dataElem.tabElem.controlElem.userId==null)
{MyMarketWatch2.renderNoData(dataElem);}
else
{dataElem.loadInProgress=true;var quoteMessage=new Object();quoteMessage.userId=dataElem.tabElem.controlElem.userId;var quoteRequest=MyMarketWatch2.getRequestObject();var quoteUrl=dataElem.tabElem.controlElem.portfolioUrl+"?json="+JSON.serialize(quoteMessage);quoteRequest.open("GET",quoteUrl,true);quoteRequest.onreadystatechange=function()
{if(quoteRequest.readyState==4)
{MyMarketWatch2.onLoadPortfolioComplete(quoteRequest.responseText,dataElem);}};quoteRequest.send(null);}};MyMarketWatch2.onLoadPortfolioComplete=function(responseText,dataElem)
{var response=JSON.deserializeNoValidate(responseText);if(response.succeeded)
{if(response.tickers==null)
{MyMarketWatch2.renderNoData(dataElem);}
else
{MyMarketWatch2.loadTickers(dataElem,response.tickers,"countryCode,ticker");}}
else
{MyMarketWatch2.renderNoData(dataElem);MyMarketWatch2.showError(response.errorMessage);}};MyMarketWatch2.loadScreenerTickers=function(dataElem,descending)
{dataElem.loadInProgress=true;var screenerMessage=new Object();screenerMessage.field="PercentChange";screenerMessage.sortDescending=descending;screenerMessage.exchange="All";screenerMessage.count=30;var screenerRequest=MyMarketWatch2.getRequestObject();var screenerUrl=dataElem.tabElem.controlElem.screenerUrl+"?json="+JSON.serialize(screenerMessage);screenerRequest.open("GET",screenerUrl,true);screenerRequest.onreadystatechange=function()
{if(screenerRequest.readyState==4)
{MyMarketWatch2.onLoadScreenerComplete(screenerRequest.responseText,dataElem);}};screenerRequest.send(null);};MyMarketWatch2.loadGainerTickers=function(dataElem)
{MyMarketWatch2.loadScreenerTickers(dataElem,false);};MyMarketWatch2.onLoadScreenerComplete=function(responseText,dataElem)
{var response=JSON.deserializeNoValidate(responseText);if(response.succeeded)
{MyMarketWatch2.loadTickers(dataElem,response.tickers,"none");}
else
{MyMarketWatch2.renderNoData(dataElem);MyMarketWatch2.showError(response.errorMessage);}};MyMarketWatch2.loadLoserTickers=function(dataElem)
{MyMarketWatch2.loadScreenerTickers(dataElem,true);};MyMarketWatch2.loadTickerHeadlines=function(dataElem)
{var headlineRequestMessage=new Object();var headlineMessage=new Object();headlineRequestMessage.requests=[];headlineRequestMessage.requests.push(headlineMessage);headlineRequestMessage.dist="hpmymw";headlineMessage.limit=10;headlineMessage.docType=3180;headlineMessage.tickers=[];for(var i=0;i<dataElem.quoteList.length;i++)
{var quote=dataElem.quoteList[i];var ticker=quote.countryCode+":"+quote.ticker;headlineMessage.tickers.push(ticker);}
var headlineRequest=MyMarketWatch2.getRequestObject();var headlineUrl=dataElem.tabElem.controlElem.headlineUrl+"?json="+JSON.serialize(headlineRequestMessage);headlineRequest.open("GET",headlineUrl,true);headlineRequest.onreadystatechange=function()
{if(headlineRequest.readyState==4)
{MyMarketWatch2.onLoadHeadlinesComplete(headlineRequest.responseText,dataElem);}};headlineRequest.send(null);};MyMarketWatch2.onLoadHeadlinesComplete=function(responseText,dataElem)
{var response=JSON.deserializeNoValidate(responseText);if(response.succeeded)
{if(response.responses.length>0)
{dataElem.headlineList=response.responses[0].headlines;if(dataElem.quoteList!=null)
{MyMarketWatch2.renderData(dataElem);}
else
{MyMarketWatch2.renderNoData(dataElem);}}
else
{MyMarketWatch2.renderNoData(dataElem);}}
else
{MyMarketWatch2.renderNoData(dataElem);MyMarketWatch2.showError(response.errorMessage);}};MyMarketWatch2.clearRecentList=function(id)
{var dataElem=document.getElementById(id);if(dataElem)
{var mymwCookie=new Cookie("");mymwCookie.clearAllViewedQuotes();MyMarketWatch2.renderNoData(dataElem);var controlElem=dataElem.tabElem.controlElem;if(controlElem.userId)
{var message={"UserId":controlElem.userId};var request=MyMarketWatch2.getRequestObject();try
{request.open("GET",controlElem.bridgeUrl+"?Method=UpdateUserWithMyMW&Message="+JSON.serialize(message),true);request.send(null);}
catch(sendException)
{MyMarketWatch2.showError("MyMarketWatch2.clearRecentList: "+sendException);}}}};MyMarketWatch2.formatNumber=function(value,places)
{var valueFormat=new NumberFormat(value);valueFormat.setPlaces(places);return valueFormat.toFormatted();};MyMarketWatch2.getRequestObject=function()
{var xmlHttp=false;try
{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch(msxml2Exception)
{try
{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(microsoftException)
{xmlHttp=false;}}
if(!xmlHttp&&typeof XMLHttpRequest!='undefined')
{xmlHttp=new XMLHttpRequest();}
return xmlHttp;};MyMarketWatch2.showError=function(msg)
{}
function InstallLibrary(target)
{var t=target||window;t.MyMarketWatch2=MyMarketWatch2;};InstallLibrary();}
MyMarketWatch2Namespace();

function CommonControls(){CommonControls.tickerMouseOver=function(id){var ticker=$(id);var ContainerElement=getAncestorWithClass(id,'contentmodule');if(!ContainerElement)
return;removeClassFrom('spq_selectedTicker','spq_ticker',ContainerElement);if(ticker)
ticker.addClassName('spq_selectedTicker');}
CommonControls.tickerTabClick=function(tab){var tabID='cmtab_'+tab;var pageID='cmtabpage_'+tab;var ContainerElement=getContainerElement(tabID);if(!ContainerElement)
return;removeClassFrom('cmselectedtab','cmtab',ContainerElement);addClassTo('cmunselectedtab','cmtab',ContainerElement);removeClassFrom('cmselectedtabpage','cmtabpage',ContainerElement);addClassTo('cmunselectedtabpage','cmtabpage',ContainerElement);$(tabID).addClassName('cmselectedtab');$(pageID).addClassName('cmselectedtabpage');var tickers=$(pageID).getElementsByClassName('spq_ticker');for(var i=0;i<tickers.length;i++){ticker=tickers[i];ticker.addClassName('spq_selectedTicker');ticker.removeClassName('spq_selectedTicker');}
if(tickers.length>0)
CommonControls.tickerMouseOver(tickers[0]);}
CommonControls.tabClick=function(tabId,tabPageId){var ContainerElement=getContainerElement(tabId);if(!ContainerElement)
return;removeClassFrom('cmselectedtab','cmtab',ContainerElement);addClassTo('cmunselectedtab','cmtab',ContainerElement);removeClassFrom('cmselectedtabpage','cmtabpage',ContainerElement);addClassTo('cmunselectedtabpage','cmtabpage',ContainerElement);$(tabId).addClassName('cmselectedtab');$(tabPageId).addClassName('cmselectedtabpage');}
function getContainerElement(tabID){var TabBar=getAncestorWithClass(tabID,'cmheader');if(TabBar!=null)
return TabBar.up();else
return null;}
function getAncestorWithClass(ID,PClass){var Ancestors=$(ID).ancestors();for(var i=0;i<Ancestors.length;i++){if(Ancestors[i].hasClassName(PClass))
return Ancestors[i];}
return null;}
function removeClassFrom(classToRemove,classToSelect,ContainerElement){var elements=ContainerElement.getElementsByClassName(classToSelect);for(var i=0;i<elements.length;i++){elements[i].removeClassName(classToRemove);}}
function addClassTo(classToAdd,classToSelect,ContainerElement){var elements=ContainerElement.getElementsByClassName(classToSelect);for(var i=0;i<elements.length;i++){elements[i].addClassName(classToAdd);}}
CommonControls.expandAd=function(id)
{var elem=document.getElementById(id);elem.style.display="block";}}
CommonControls();

var UniversalAuthentication=function(){return{loadingImage:new Image(),storedSecret:0.0,prematuredlyToggled:false,init:function(){YAHOO.util.Event.addListener(YAHOO.util.Dom.get("authPopupTrigger"),"click",this.toggle,this,true);YAHOO.util.Event.addListener(YAHOO.util.Dom.get("loginclose").childNodes[0],"click",this.toggle,this,true);this.setup();},setup:function(){this.iframe=YAHOO.util.Dom.get("authiframe");if(typeof(this.iframe)!="undefined")
{this.firstOpen=true;this.overlay=document.getElementById("loginoverlay");if(!this.prematurelyToggled){this.overlayVisible=false;}
else{this.toggle();}
this.loadingImage.src="https://secure.marketwatch.com/mw3/misc/ajax-loader.gif";}},toggle:function(e){YAHOO.util.Event.stopEvent(e);if(typeof(this.iframe)=="undefined"){this.prematurelyToggled=true;}
else
{if(this.overlayVisible)
{this.overlay.style.display="none";this.overlayVisible=false;}
else
{if(this.firstOpen)
{UniversalAuthentication.storedSecret=Math.floor(Math.random()*100000001)
this.iframe.src=YAHOO.util.Dom.get("authiframesrc").value+"#vars="+UniversalAuthentication.storedSecret+"&domain="+window.location.host;this.firstOpen=false;var me=this;YAHOO.util.Event.addListener(this.iframe,"load",function(){me.overlay.style.display="block";});}
else{this.overlay.style.display="block";}
this.overlayVisible=true;}}},checkLoginKeyEvent:function(e){if(e.keyCode==13)this.attemptLogin();return false;},ignoreLoginKeyEvent:function(e){try{e.preventDefault();e.stopPropagation();}
catch(exception){}},getDisplayName:function(){try{var mktwport=/marketwatchportfolio=([^;]*)/i.exec(document.cookie)[1];var uname=/uname=([^&;]*)/i.exec(mktwport)[1];var dncheck=0;var dncheckMatch=/dncheck=([^&;]*)/i.exec(mktwport);if(typeof(dncheckMatch)!="undefined"&&dncheckMatch){dncheck=dncheckMatch[1];}
var email=/email=([^&;]*)/i.exec(mktwport)[1];if(unescape(uname).indexOf("@")>0||uname.length>20||(email.toLowerCase().indexOf(uname.toLowerCase())>=0&&dncheck!="1"))
{var userid=/uid=([^&;]*)/i.exec(mktwport)[1];var nameRequest=this.getRequestObject();var params="userid="+unescape(userid);var uri="https://secure3.marketwatch.com/registration/getdisplayname.aspx";nameRequest.open("POST",uri,true);nameRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");nameRequest.setRequestHeader("Content-length",params.length);nameRequest.setRequestHeader("Connection","close");var me=this;nameRequest.onreadystatechange=function()
{if(nameRequest.readyState==4)
{me.getDisplayNameResponse(nameRequest.responseText);}};nameRequest.send(params);}}
catch(exception){}
return false;},getDisplayNameResponse:function(response){try{var displayName=/{\"displayname\":\"(.*)\"}/i.exec(response)[1];if(typeof(displayName)!="undefined"&&displayName!="")
{var mktwport=unescape(/marketwatchportfolio=([^;]*)/i.exec(document.cookie)[0]);mktwport=mktwport.replace(/(uname=)([^&;]*)/gi,"$1"+displayName);var date=new Date();date.setTime(date.getTime()+(30*24*60*60*1000));var rest="; expires="+date.toGMTString()+"; path=/; domain=.marketwatch.com";if(mktwport.toLowerCase().indexOf("dncheck")<0)rest="&dncheck=1"+rest;mktwport=mktwport+rest;document.cookie=mktwport;}}
catch(exception){}},attemptLogin:function(loginUrl){this.showSignInAnimation();var loginRequest=this.getRequestObject();var authId=document.getElementById("authenticationid").value;var password=document.getElementById("password").value;var params="authenticationid="+authId+"&password="+password;document.getElementById("frameChild").src="";loginRequest.open("POST","authentication.aspx",true);loginRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");loginRequest.setRequestHeader("Content-length",params.length);loginRequest.setRequestHeader("Connection","close");var me=this;loginRequest.onreadystatechange=function()
{if(loginRequest.readyState==4)
{me.loginComplete(loginRequest.responseText);}};loginRequest.send(params);return false;},loginComplete:function(response){var dsrlzd=JSON.deserializeNoValidate(response);if(!dsrlzd.ValidMember){this.hideSignInAnimation();}
var box=document.getElementById("secret");var secret=box.value;var domain="http://"+/[?|&]domain=([^&]*)/i.exec(window.location)[1];document.getElementById("frameChild").src=domain+"/AuthenticationReceiver.htm#secret="+secret+"&var="+response;},showSignInAnimation:function(){var loginButton=document.getElementById("loginbutton");var loginLoading=document.getElementById("loginloading");loginButton.style.display="none";loginLoading.style.display="block";},hideSignInAnimation:function(){var loginButton=document.getElementById("loginbutton");var loginLoading=document.getElementById("loginloading");loginLoading.style.display="none";loginButton.style.display="block";},storeHash:function(){var box=document.getElementById("secret");box.value=/[#|?|&]vars=([^&]*)/i.exec(window.location)[1];},getRequestObject:function(){var xmlHttp=false;try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch(msxml2Exception)
{try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch(microsoftException){xmlHttp=false;}}
if(!xmlHttp&&typeof XMLHttpRequest!='undefined')
xmlHttp=new XMLHttpRequest();return xmlHttp;},reloadPage:function(){window.location.reload();}};}();

var Prototype={Version:'1.5.0',BrowserFeatures:{XPath:!!document.evaluate},ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function(){},K:function(x){return x}}
var Class={create:function(){return function(){this.initialize.apply(this,arguments);}}}
var Abstract=new Object();Object.extend=function(destination,source){for(var property in source){destination[property]=source[property];}
return destination;}
Object.extend(Object,{inspect:function(object){try{if(object===undefined)return'undefined';if(object===null)return'null';return object.inspect?object.inspect():object.toString();}catch(e){if(e instanceof RangeError)return'...';throw e;}},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);}});Function.prototype.bind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}}
Function.prototype.bindAsEventListener=function(object){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[(event||window.event)].concat(args).concat($A(arguments)));}}
Object.extend(Number.prototype,{toColorPart:function(){var digits=this.toString(16);if(this<16)return'0'+digits;return digits;},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;}});var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}}
var PeriodicalExecuter=Class.create();PeriodicalExecuter.prototype={initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.callback(this);}finally{this.currentlyExecuting=false;}}}}
String.interpret=function(value){return value==null?'':String(value);}
Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=count===undefined?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return this;},truncate:function(length,truncation){length=length||30;truncation=truncation===undefined?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:this;},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var div=document.createElement('div');var text=document.createTextNode(this);div.appendChild(text);return div.innerHTML;},unescapeHTML:function(){var div=document.createElement('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var name=decodeURIComponent(pair[0]);var value=pair[1]?decodeURIComponent(pair[1]):undefined;if(hash[name]!==undefined){if(hash[name].constructor!=Array)
hash[name]=[hash[name]];if(value)hash[name].push(value);}
else hash[name]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.replace(/\\/g,'\\\\');if(useDoubleQuotes)
return'"'+escapedString.replace(/"/g,'\\"')+'"';else
return"'"+escapedString.replace(/'/g,'\\\'')+"'";}});String.prototype.gsub.prepareReplacement=function(replacement){if(typeof replacement=='function')return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};}
String.prototype.parseQuery=String.prototype.toQueryParams;var Template=Class.create();Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;Template.prototype={initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){return this.template.gsub(this.pattern,function(match){var before=match[1];if(before=='\\')return match[2];return before+String.interpret(object[match[3]]);});}}
var $break=new Object();var $continue=new Object();var Enumerable={each:function(iterator){var index=0;try{this._each(function(value){try{iterator(value,index++);}catch(e){if(e!=$continue)throw e;}});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator){var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.map(iterator);},all:function(iterator){var result=true;this.each(function(value,index){result=result&&!!(iterator||Prototype.K)(value,index);if(!result)throw $break;});return result;},any:function(iterator){var result=false;this.each(function(value,index){if(result=!!(iterator||Prototype.K)(value,index))
throw $break;});return result;},collect:function(iterator){var results=[];this.each(function(value,index){results.push((iterator||Prototype.K)(value,index));});return results;},detect:function(iterator){var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator){var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(pattern,iterator){var results=[];this.each(function(value,index){var stringValue=value.toString();if(stringValue.match(pattern))
results.push((iterator||Prototype.K)(value,index));})
return results;},include:function(object){var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inGroupsOf:function(number,fillWith){fillWith=fillWith===undefined?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator){this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value>=result)
result=value;});return result;},min:function(iterator){var result;this.each(function(value,index){value=(iterator||Prototype.K)(value,index);if(result==undefined||value<result)
result=value;});return result;},partition:function(iterator){var trues=[],falses=[];this.each(function(value,index){((iterator||Prototype.K)(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value,index){results.push(value[property]);});return results;},reject:function(iterator){var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator){return this.map(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(typeof args.last()=='function')
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}}
Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});var $A=Array.from=function(iterable){if(!iterable)return[];if(iterable.toArray){return iterable.toArray();}else{var results=[];for(var i=0,length=iterable.length;i<length;i++)
results.push(iterable[i]);return results;}}
Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)
Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(value&&value.constructor==Array?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},indexOf:function(object){for(var i=0,length=this.length;i<length;i++)
if(this[i]==object)return i;return-1;},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(){return this.inject([],function(array,value){return array.include(value)?array:array.concat([value]);});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';}});Array.prototype.toArray=Array.prototype.clone;function $w(string){string=string.strip();return string?string.split(/\s+/):[];}
if(window.opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(arguments[i].constructor==Array){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;}}
var Hash=function(obj){Object.extend(this,obj||{});};Object.extend(Hash,{toQueryString:function(obj){var parts=[];this.prototype._each.call(obj,function(pair){if(!pair.key)return;if(pair.value&&pair.value.constructor==Array){var values=pair.value.compact();if(values.length<2)pair.value=values.reduce();else{key=encodeURIComponent(pair.key);values.each(function(value){value=value!=undefined?encodeURIComponent(value):'';parts.push(key+'='+encodeURIComponent(value));});return;}}
if(pair.value==undefined)pair[1]='';parts.push(pair.map(encodeURIComponent).join('='));});return parts.join('&');}});Object.extend(Hash.prototype,Enumerable);Object.extend(Hash.prototype,{_each:function(iterator){for(var key in this){var value=this[key];if(value&&value==Hash.prototype[key])continue;var pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},merge:function(hash){return $H(hash).inject(this,function(mergedHash,pair){mergedHash[pair.key]=pair.value;return mergedHash;});},remove:function(){var result;for(var i=0,length=arguments.length;i<length;i++){var value=this[arguments[i]];if(value!==undefined){if(result===undefined)result=value;else{if(result.constructor!=Array)result=[result];result.push(value)}}
delete this[arguments[i]];}
return result;},toQueryString:function(){return Hash.toQueryString(this);},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';}});function $H(object){if(object&&object.constructor==Hash)return object;return new Hash(object);};ObjectRange=Class.create();Object.extend(ObjectRange.prototype,Enumerable);Object.extend(ObjectRange.prototype,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);}
var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0}
Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(typeof responder[callback]=='function'){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++;},onComplete:function(){Ajax.activeRequestCount--;}});Ajax.Base=function(){};Ajax.Base.prototype={setOptions:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:''}
Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(typeof this.options.parameters=='string')
this.options.parameters=this.options.parameters.toQueryParams();}}
Ajax.Request=Class.create();Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Request.prototype=Object.extend(new Ajax.Base(),{_complete:false,initialize:function(url,options){this.transport=Ajax.getTransport();this.setOptions(options);this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=this.options.parameters;if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
params=Hash.toQueryString(params);if(params&&/Konqueror|Safari|KHTML/.test(navigator.userAgent))params+='&_='
if(this.method=='get'&&params)
this.url+=(this.url.indexOf('?')>-1?'&':'?')+params;try{Ajax.Responders.dispatch('onCreate',this,this.transport);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)
setTimeout(function(){this.respondToReadyState(1)}.bind(this),10);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();var body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(typeof extras.push=='function')
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){return!this.transport.status||(this.transport.status>=200&&this.transport.status<300);},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState];var transport=this.transport,json=this.evalJSON();if(state=='Complete'){try{this._complete=true;(this.options['on'+this.transport.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(transport,json);}catch(e){this.dispatchException(e);}
if((this.getHeader('Content-type')||'text/javascript').strip().match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(transport,json);Ajax.Responders.dispatch('on'+state,this,transport,json);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},getHeader:function(name){try{return this.transport.getResponseHeader(name);}catch(e){return null}},evalJSON:function(){try{var json=this.getHeader('X-JSON');return json?eval('('+json+')'):null;}catch(e){return null}},evalResponse:function(){try{return eval(this.transport.responseText);}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Updater=Class.create();Object.extend(Object.extend(Ajax.Updater.prototype,Ajax.Request.prototype),{initialize:function(container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))}
this.transport=Ajax.getTransport();this.setOptions(options);var onComplete=this.options.onComplete||Prototype.emptyFunction;this.options.onComplete=(function(transport,param){this.updateContent();onComplete(transport,param);}).bind(this);this.request(url);},updateContent:function(){var receiver=this.container[this.success()?'success':'failure'];var response=this.transport.responseText;if(!this.options.evalScripts)response=response.stripScripts();if(receiver=$(receiver)){if(this.options.insertion)
new this.options.insertion(receiver,response);else
receiver.update(response);}
if(this.success()){if(this.onComplete)
setTimeout(this.onComplete.bind(this),10);}}});Ajax.PeriodicalUpdater=Class.create();Ajax.PeriodicalUpdater.prototype=Object.extend(new Ajax.Base(),{initialize:function(container,url,options){this.setOptions(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(request){if(this.options.decay){this.decay=(request.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=request.responseText;}
this.timer=setTimeout(this.onTimerEvent.bind(this),this.decay*this.frequency*1000);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(typeof element=='string')
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(query.snapshotItem(i));return results;};}
document.getElementsByClassName=function(className,parentElement){if(Prototype.BrowserFeatures.XPath){var q=".//*[contains(concat(' ', @class, ' '), ' "+className+" ')]";return document._getElementsByXPath(q,parentElement);}else{var children=($(parentElement)||document.body).getElementsByTagName('*');var elements=[],child;for(var i=0,length=children.length;i<length;i++){child=children[i];if(Element.hasClassName(child,className))
elements.push(Element.extend(child));}
return elements;}};if(!window.Element)
var Element=new Object();Element.extend=function(element){if(!element||_nativeExtensions||element.nodeType==3)return element;if(!element._extended&&element.tagName&&element!=window){var methods=Object.clone(Element.Methods),cache=Element.extend.cache;if(element.tagName=='FORM')
Object.extend(methods,Form.Methods);if(['INPUT','TEXTAREA','SELECT'].include(element.tagName))
Object.extend(methods,Form.Element.Methods);Object.extend(methods,Element.Methods.Simulated);for(var property in methods){var value=methods[property];if(typeof value=='function'&&!(property in element))
element[property]=cache.findOrStore(value);}}
element._extended=true;return element;};Element.extend.cache={findOrStore:function(value){return this[value]=this[value]||function(){return value.apply(null,[this].concat($A(arguments)));}}};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,html){html=typeof html=='undefined'?'':html.toString();$(element).innerHTML=html.stripScripts();setTimeout(function(){html.evalScripts()},10);return element;},replace:function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();if(element.outerHTML){element.outerHTML=html.stripScripts();}else{var range=element.ownerDocument.createRange();range.selectNodeContents(element);element.parentNode.replaceChild(range.createContextualFragment(html.stripScripts()),element);}
setTimeout(function(){html.evalScripts()},10);return element;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $A($(element).getElementsByTagName('*'));},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(typeof selector=='string')
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){return Selector.findElement($(element).ancestors(),expression,index);},down:function(element,expression,index){return Selector.findElement($(element).descendants(),expression,index);},previous:function(element,expression,index){return Selector.findElement($(element).previousSiblings(),expression,index);},next:function(element,expression,index){return Selector.findElement($(element).nextSiblings(),expression,index);},getElementsBySelector:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},getElementsByClassName:function(element,className){return document.getElementsByClassName(className,element);},readAttribute:function(element,name){element=$(element);if(document.all&&!window.opera){var t=Element._attributeTranslations;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];var attribute=element.attributes[name];if(attribute)return attribute.nodeValue;}
return element.getAttribute(name);},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;if(elementClassName.length==0)return false;if(elementClassName==className||elementClassName.match(new RegExp("(^|\\s)"+className+"(\\s|$)")))
return true;return false;},addClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).add(className);return element;},removeClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element).remove(className);return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;Element.classNames(element)[element.hasClassName(className)?'remove':'add'](className);return element;},observe:function(){Event.observe.apply(Event,arguments);return $A(arguments).first();},stopObserving:function(){Event.stopObserving.apply(Event,arguments);return $A(arguments).first();},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.match(/^\s*$/);},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);while(element=element.parentNode)
if(element==ancestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=Position.cumulativeOffset(element);window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);if(['float','cssFloat'].include(style))
style=(typeof element.style.styleFloat!='undefined'?'styleFloat':'cssFloat');style=style.camelize();var value=element.style[style];if(!value){if(document.defaultView&&document.defaultView.getComputedStyle){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}else if(element.currentStyle){value=element.currentStyle[style];}}
if((value=='auto')&&['width','height'].include(style)&&(element.getStyle('display')!='none'))
value=element['offset'+style.capitalize()]+'px';if(window.opera&&['left','top','right','bottom'].include(style))
if(Element.getStyle(element,'position')=='static')value='auto';if(style=='opacity'){if(value)return parseFloat(value);if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
return value=='auto'?null:value;},setStyle:function(element,style){element=$(element);for(var name in style){var value=style[name];if(name=='opacity'){if(value==1){value=(/Gecko/.test(navigator.userAgent)&&!/Konqueror|Safari|KHTML/.test(navigator.userAgent))?0.999999:1.0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');}else if(value===''){if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'');}else{if(value<0.00001)value=0;if(/MSIE/.test(navigator.userAgent)&&!window.opera)
element.style.filter=element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'')+'alpha(opacity='+value*100+')';}}else if(['float','cssFloat'].include(name))name=(typeof element.style.styleFloat!='undefined')?'styleFloat':'cssFloat';element.style[name.camelize()]=value;}
return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=element.style.overflow||'auto';if((Element.getStyle(element,'overflow')||'visible')!='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;}};Object.extend(Element.Methods,{childOf:Element.Methods.descendantOf});Element._attributeTranslations={};Element._attributeTranslations.names={colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",datetime:"dateTime",accesskey:"accessKey",tabindex:"tabIndex",enctype:"encType",maxlength:"maxLength",readonly:"readOnly",longdesc:"longDesc"};Element._attributeTranslations.values={_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){var node=element.getAttributeNode('title');return node.specified?node.nodeValue:null;}};Object.extend(Element._attributeTranslations.values,{href:Element._attributeTranslations.values._getAttr,src:Element._attributeTranslations.values._getAttr,disabled:Element._attributeTranslations.values._flag,checked:Element._attributeTranslations.values._flag,readonly:Element._attributeTranslations.values._flag,multiple:Element._attributeTranslations.values._flag});Element.Methods.Simulated={hasAttribute:function(element,attribute){var t=Element._attributeTranslations;attribute=t.names[attribute]||attribute;return $(element).getAttributeNode(attribute).specified;}};if(document.all&&!window.opera){Element.Methods.update=function(element,html){element=$(element);html=typeof html=='undefined'?'':html.toString();var tagName=element.tagName.toUpperCase();if(['THEAD','TBODY','TR','TD'].include(tagName)){var div=document.createElement('div');switch(tagName){case'THEAD':case'TBODY':div.innerHTML='<table><tbody>'+html.stripScripts()+'</tbody></table>';depth=2;break;case'TR':div.innerHTML='<table><tbody><tr>'+html.stripScripts()+'</tr></tbody></table>';depth=3;break;case'TD':div.innerHTML='<table><tbody><tr><td>'+html.stripScripts()+'</td></tr></tbody></table>';depth=4;}
$A(element.childNodes).each(function(node){element.removeChild(node)});depth.times(function(){div=div.firstChild});$A(div.childNodes).each(function(node){element.appendChild(node)});}else{element.innerHTML=html.stripScripts();}
setTimeout(function(){html.evalScripts()},10);return element;}};Object.extend(Element,Element.Methods);var _nativeExtensions=false;if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
['','Form','Input','TextArea','Select'].each(function(tag){var className='HTML'+tag+'Element';if(window[className])return;var klass=window[className]={};klass.prototype=document.createElement(tag?tag.toLowerCase():'div').__proto__;});Element.addMethods=function(methods){Object.extend(Element.Methods,methods||{});function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;var cache=Element.extend.cache;for(var property in methods){var value=methods[property];if(!onlyIfAbsent||!(property in destination))
destination[property]=cache.findOrStore(value);}}
if(typeof HTMLElement!='undefined'){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);copy(Form.Methods,HTMLFormElement.prototype);[HTMLInputElement,HTMLTextAreaElement,HTMLSelectElement].each(function(klass){copy(Form.Element.Methods,klass.prototype);});_nativeExtensions=true;}}
var Toggle=new Object();Toggle.display=Element.toggle;Abstract.Insertion=function(adjacency){this.adjacency=adjacency;}
Abstract.Insertion.prototype={initialize:function(element,content){this.element=$(element);this.content=content.stripScripts();if(this.adjacency&&this.element.insertAdjacentHTML){try{this.element.insertAdjacentHTML(this.adjacency,this.content);}catch(e){var tagName=this.element.tagName.toUpperCase();if(['TBODY','TR'].include(tagName)){this.insertContent(this.contentFromAnonymousTable());}else{throw e;}}}else{this.range=this.element.ownerDocument.createRange();if(this.initializeRange)this.initializeRange();this.insertContent([this.range.createContextualFragment(this.content)]);}
setTimeout(function(){content.evalScripts()},10);},contentFromAnonymousTable:function(){var div=document.createElement('div');div.innerHTML='<table><tbody>'+this.content+'</tbody></table>';return $A(div.childNodes[0].childNodes[0].childNodes);}}
var Insertion=new Object();Insertion.Before=Class.create();Insertion.Before.prototype=Object.extend(new Abstract.Insertion('beforeBegin'),{initializeRange:function(){this.range.setStartBefore(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element);}).bind(this));}});Insertion.Top=Class.create();Insertion.Top.prototype=Object.extend(new Abstract.Insertion('afterBegin'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(true);},insertContent:function(fragments){fragments.reverse(false).each((function(fragment){this.element.insertBefore(fragment,this.element.firstChild);}).bind(this));}});Insertion.Bottom=Class.create();Insertion.Bottom.prototype=Object.extend(new Abstract.Insertion('beforeEnd'),{initializeRange:function(){this.range.selectNodeContents(this.element);this.range.collapse(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.appendChild(fragment);}).bind(this));}});Insertion.After=Class.create();Insertion.After.prototype=Object.extend(new Abstract.Insertion('afterEnd'),{initializeRange:function(){this.range.setStartAfter(this.element);},insertContent:function(fragments){fragments.each((function(fragment){this.element.parentNode.insertBefore(fragment,this.element.nextSibling);}).bind(this));}});Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);var Selector=Class.create();Selector.prototype={initialize:function(expression){this.params={classNames:[]};this.expression=expression.toString().strip();this.parseExpression();this.compileMatcher();},parseExpression:function(){function abort(message){throw'Parse error in selector: '+message;}
if(this.expression=='')abort('empty expression');var params=this.params,expr=this.expression,match,modifier,clause,rest;while(match=expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)){params.attributes=params.attributes||[];params.attributes.push({name:match[2],operator:match[3],value:match[4]||match[5]||''});expr=match[1];}
if(expr=='*')return this.params.wildcard=true;while(match=expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)){modifier=match[1],clause=match[2],rest=match[3];switch(modifier){case'#':params.id=clause;break;case'.':params.classNames.push(clause);break;case'':case undefined:params.tagName=clause.toUpperCase();break;default:abort(expr.inspect());}
expr=rest;}
if(expr.length>0)abort(expr.inspect());},buildMatchExpression:function(){var params=this.params,conditions=[],clause;if(params.wildcard)
conditions.push('true');if(clause=params.id)
conditions.push('element.readAttribute("id") == '+clause.inspect());if(clause=params.tagName)
conditions.push('element.tagName.toUpperCase() == '+clause.inspect());if((clause=params.classNames).length>0)
for(var i=0,length=clause.length;i<length;i++)
conditions.push('element.hasClassName('+clause[i].inspect()+')');if(clause=params.attributes){clause.each(function(attribute){var value='element.readAttribute('+attribute.name.inspect()+')';var splitValueBy=function(delimiter){return value+' && '+value+'.split('+delimiter.inspect()+')';}
switch(attribute.operator){case'=':conditions.push(value+' == '+attribute.value.inspect());break;case'~=':conditions.push(splitValueBy(' ')+'.include('+attribute.value.inspect()+')');break;case'|=':conditions.push(splitValueBy('-')+'.first().toUpperCase() == '+attribute.value.toUpperCase().inspect());break;case'!=':conditions.push(value+' != '+attribute.value.inspect());break;case'':case undefined:conditions.push('element.hasAttribute('+attribute.name.inspect()+')');break;default:throw'Unknown operator '+attribute.operator+' in selector';}});}
return conditions.join(' && ');},compileMatcher:function(){this.match=new Function('element','if (!element.tagName) return false; \
      element = $(element); \
      return '+this.buildMatchExpression());},findElements:function(scope){var element;if(element=$(this.params.id))
if(this.match(element))
if(!scope||Element.childOf(element,scope))
return[element];scope=(scope||document).getElementsByTagName(this.params.tagName||'*');var results=[];for(var i=0,length=scope.length;i<length;i++)
if(this.match(element=scope[i]))
results.push(Element.extend(element));return results;},toString:function(){return this.expression;}}
Object.extend(Selector,{matchElements:function(elements,expression){var selector=new Selector(expression);return elements.select(selector.match.bind(selector)).map(Element.extend);},findElement:function(elements,expression,index){if(typeof expression=='number')index=expression,expression=false;return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){return expressions.map(function(expression){return expression.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).inject([null],function(results,expr){var selector=new Selector(expr);return results.inject([],function(elements,result){return elements.concat(selector.findElements(result||element));});});}).flatten();}});function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,getHash){var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){var key=element.name,value=$(element).getValue();if(value!=undefined){if(result[key]){if(result[key].constructor!=Array)result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return getHash?data:Hash.toQueryString(data);}};Form.Methods={serialize:function(form,getHash){return Form.serializeElements(Form.getElements(form),getHash);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);form.getElements().each(function(element){element.blur();element.disabled='true';});return form;},enable:function(form){form=$(form);form.getElements().each(function(element){element.disabled='';});return form;},findFirstElement:function(form){return $(form).getElements().find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;}}
Object.extend(Form,Form.Methods);Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}}
Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Hash.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();return element;},disable:function(element){element=$(element);element.disabled=true;return element;},enable:function(element){element=$(element);element.blur();element.disabled=false;return element;}}
Object.extend(Form.Element,Form.Element.Methods);var Field=Form.Element;var $F=Form.Element.getValue;Form.Element.Serializers={input:function(element){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);default:return Form.Element.Serializers.textarea(element);}},inputSelector:function(element){return element.checked?element.value:null;},textarea:function(element){return element.value;},select:function(element){return this[element.type=='select-one'?'selectOne':'selectMany'](element);},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}}
Abstract.TimedObserver=function(){}
Abstract.TimedObserver.prototype={initialize:function(element,frequency,callback){this.frequency=frequency;this.element=$(element);this.callback=callback;this.lastValue=this.getValue();this.registerCallback();},registerCallback:function(){setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},onTimerEvent:function(){var value=this.getValue();var changed=('string'==typeof this.lastValue&&'string'==typeof value?this.lastValue!=value:String(this.lastValue)!=String(value));if(changed){this.callback(this.element,value);this.lastValue=value;}}}
Form.Element.Observer=Class.create();Form.Element.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create();Form.Observer.prototype=Object.extend(new Abstract.TimedObserver(),{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=function(){}
Abstract.EventObserver.prototype={initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback.bind(this));},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}}
Form.Element.EventObserver=Class.create();Form.Element.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create();Form.EventObserver.prototype=Object.extend(new Abstract.EventObserver(),{getValue:function(){return Form.serialize(this.element);}});if(!window.Event){var Event=new Object();}
Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,element:function(event){return event.target||event.srcElement;},isLeftClick:function(event){return(((event.which)&&(event.which==1))||((event.button)&&(event.button==1)));},pointerX:function(event){return event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft));},pointerY:function(event){return event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop));},stop:function(event){if(event.preventDefault){event.preventDefault();event.stopPropagation();}else{event.returnValue=false;event.cancelBubble=true;}},findElement:function(event,tagName){var element=Event.element(event);while(element.parentNode&&(!element.tagName||(element.tagName.toUpperCase()!=tagName.toUpperCase())))
element=element.parentNode;return element;},observers:false,_observeAndCache:function(element,name,observer,useCapture){if(!this.observers)this.observers=[];if(element.addEventListener){this.observers.push([element,name,observer,useCapture]);element.addEventListener(name,observer,useCapture);}else if(element.attachEvent){this.observers.push([element,name,observer,useCapture]);element.attachEvent('on'+name,observer);}},unloadCache:function(){if(!Event.observers)return;for(var i=0,length=Event.observers.length;i<length;i++){Event.stopObserving.apply(this,Event.observers[i]);Event.observers[i][0]=null;}
Event.observers=false;},observe:function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.attachEvent))
name='keydown';Event._observeAndCache(element,name,observer,useCapture);},stopObserving:function(element,name,observer,useCapture){element=$(element);useCapture=useCapture||false;if(name=='keypress'&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||element.detachEvent))
name='keydown';if(element.removeEventListener){element.removeEventListener(name,observer,useCapture);}else if(element.detachEvent){try{element.detachEvent('on'+name,observer);}catch(e){}}}});if(navigator.appVersion.match(/\bMSIE\b/))
Event.observe(window,'unload',Event.unloadCache,false);var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},realOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return[valueL,valueT];},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return[valueL,valueT];},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p=='relative'||p=='absolute')break;}}while(element);return[valueL,valueT];},offsetParent:function(element){if(element.offsetParent)return element.offsetParent;if(element==document.body)return element;while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return element;return document.body;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=this.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=this.realOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=this.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},page:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(!window.opera||element.tagName=='BODY'){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return[valueL,valueT];},clone:function(source,target){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{})
source=$(source);var p=Position.page(source);target=$(target);var delta=[0,0];var parent=null;if(Element.getStyle(target,'position')=='absolute'){parent=Position.offsetParent(target);delta=Position.page(parent);}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)target.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)target.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)target.style.width=source.offsetWidth+'px';if(options.setHeight)target.style.height=source.offsetHeight+'px';},absolutize:function(element){element=$(element);if(element.style.position=='absolute')return;Position.prepare();var offsets=Position.positionedOffset(element);var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';},relativize:function(element){element=$(element);if(element.style.position=='relative')return;Position.prepare();element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;}}
if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)){Position.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return[valueL,valueT];}}
Element.addMethods();
