YAHOO.util.CustomEvent=function(B,A){this.type=B;this.scope=A||window;this.subscribers=[];if(YAHOO.util["Event"]){YAHOO.util.Event.regCE(this)}};YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){this.subscribers.push(new YAHOO.util.Subscriber(B,C,A))},unsubscribe:function(C,E){var D=false;for(var A=0;A<this.subscribers.length;++A){var B=this.subscribers[A];if(B&&B.contains(C,E)){this._delete(A);D=true}}return D},fire:function(){for(var A=0;A<this.subscribers.length;++A){var C=this.subscribers[A];if(C){var B=(C.override)?C.obj:this.scope;C.fn.call(B,this.type,arguments,C.obj)}}},unsubscribeAll:function(){for(var A=0;A<this.subscribers.length;++A){this._delete(A)}},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj}delete this.subscribers[A]}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=C||null;this.override=(A)};YAHOO.util.Subscriber.prototype.contains=function(A,B){return(this.fn==A&&this.obj==B)};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var D=false;var E=[];var B=[];var G=[];var C=[];var F=[];var A=[];return{EL:0,TYPE:1,FN:2,WFN:3,SCOPE:3,ADJ_SCOPE:4,isSafari:(navigator.userAgent.match(/safari/gi)),isIE:(!this.isSafari&&navigator.userAgent.match(/msie/gi)),addListener:function(J,H,O,Q,I){if(this._isValidCollection(J)){var P=true;for(var M=0;M<J.length;++M){P=(this.on(J[M],H,O,Q,I)&&P)}return P}else{if(typeof J=="string"){if(D){J=this.getEl(J)}else{B[B.length]=[J,H,O,Q,I];return true}}}if(!J){return false}if("unload"==H&&Q!==this){G[G.length]=[J,H,O,Q,I];return true}var S=(I)?Q:J;var K=function(T){return O.call(S,YAHOO.util.Event.getEvent(T),Q)};var R=[J,H,O,K,S];var N=E.length;E[N]=R;if(this.useLegacyEvent(J,H)){var L=this.getLegacyIndex(J,H);if(L==-1){L=F.length;F[L]=[J,H,J["on"+H]];A[L]=[];J["on"+H]=function(T){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(T),L)}}A[L].push(N)}else{if(J.addEventListener){J.addEventListener(H,K,false)}else{if(J.attachEvent){J.attachEvent("on"+H,K)}}}return true},fireLegacyEvent:function(N,O){var L=true;var K=A[O];for(i=0;i<K.length;++i){var J=K[i];if(J){var H=E[J];var M=H[this.ADJ_SCOPE];var I=H[this.WFN].call(M,N);L=(L&&I)}}return L},getLegacyIndex:function(J,K){for(var I=0;I<F.length;++I){var H=F[I];if(H&&H[0]==J&&H[1]==K){return I}}return -1},useLegacyEvent:function(H,I){return((!H.addEventListener&&!H.attachEvent)||(I=="click"&&this.isSafari))},removeListener:function(M,N,L){if(typeof M=="string"){M=this.getEl(M)}else{if(this._isValidCollection(M)){var K=true;for(var J=0;J<M.length;++J){K=(this.removeListener(M[J],N,L)&&K)}return K}}var H=null;var I=this._getCacheIndex(M,N,L);if(I>=0){H=E[I]}if(!M||!H){return false}if(M.removeEventListener){M.removeEventListener(N,H[this.WFN],false)}else{if(M.detachEvent){M.detachEvent("on"+N,H[this.WFN])}}delete E[I][this.WFN];delete E[I][this.FN];delete E[I];return true},getTarget:function(J,I){var H=J.target||J.srcElement;if(I&&H&&"#text"==H.nodeName){return H.parentNode}else{return H}},getPageX:function(I){var H=I.pageX;if(!H&&0!==H){H=I.clientX||0;if(this.isIE){H+=this._getScrollLeft()}}return H},getPageY:function(H){var I=H.pageY;if(!I&&0!==I){I=H.clientY||0;if(this.isIE){I+=this._getScrollTop()}}return I},getRelatedTarget:function(I){var H=I.relatedTarget;if(!H){if(I.type=="mouseout"){H=I.toElement}else{if(I.type=="mouseover"){H=I.fromElement}}}return H},getTime:function(I){if(!I.time){var H=new Date().getTime();try{I.time=H}catch(J){return H}}return I.time},stopEvent:function(H){this.stopPropagation(H);this.preventDefault(H)},stopPropagation:function(H){if(H.stopPropagation){H.stopPropagation()}else{H.cancelBubble=true}},preventDefault:function(H){if(H.preventDefault){H.preventDefault()}else{H.returnValue=false}},getEvent:function(I){var H=I||window.event;if(!H){var J=this.getEvent.caller;while(J){H=J.arguments[0];if(H&&Event==H.constructor){break}J=J.caller}}return H},getCharCode:function(H){return H.charCode||(H.type=="keypress")?H.keyCode:0},_getCacheIndex:function(K,L,J){for(var I=0;I<E.length;++I){var H=E[I];if(H&&H[this.FN]==J&&H[this.EL]==K&&H[this.TYPE]==L){return I}}return -1},_isValidCollection:function(H){return(H&&H.length&&typeof H!="string"&&!H.tagName&&!H.alert&&typeof H[0]!="undefined")},elCache:{},getEl:function(H){return document.getElementById(H)},clearCache:function(){for(i in this.elCache){delete this.elCache[i]}},regCE:function(H){C.push(H)},_load:function(H){D=true},_tryPreloadAttach:function(){var J=!D;for(var H=0;H<B.length;++H){var K=B[H];if(K){var I=this.getEl(K[this.EL]);if(I){this.on(I,K[this.TYPE],K[this.FN],K[this.SCOPE],K[this.ADJ_SCOPE]);delete B[H]}}}if(J){setTimeout("YAHOO.util.Event._tryPreloadAttach()",50)}},_unload:function(L,K){for(var I=0;I<G.length;++I){var H=G[I];if(H){var J=(H[this.ADJ_SCOPE])?H[this.SCOPE]:window;H[this.FN].call(J,this.getEvent(L),H[this.SCOPE])}}if(E&&E.length>0){for(I=0;I<E.length;++I){H=E[I];if(H){this.removeListener(H[this.EL],H[this.TYPE],H[this.FN])}}this.clearCache()}for(I=0;I<C.length;++I){C[I].unsubscribeAll();delete C[I]}for(I=0;I<F.length;++I){delete F[I][0];delete F[I]}},_getScrollLeft:function(){return this._getScroll()[1]},_getScrollTop:function(){return this._getScroll()[0]},_getScroll:function(){var H=document.documentElement;db=document.body;if(H&&H.scrollTop){return[H.scrollTop,H.scrollLeft]}else{if(db){return[db.scrollTop,db.scrollLeft]}else{return[0,0]}}}}}();YAHOO.util.Event.on=YAHOO.util.Event.addListener;if(document&&document.body){YAHOO.util.Event._load()}else{YAHOO.util.Event.on(window,"load",YAHOO.util.Event._load,YAHOO.util.Event,true)}YAHOO.util.Event.on(window,"unload",YAHOO.util.Event._unload,YAHOO.util.Event,true);YAHOO.util.Event._tryPreloadAttach()}