YAHOO.util.CustomEvent=function(_1,_2){this.type=_1;this.scope=_2||window;this.subscribers=[];if(YAHOO.util["Event"]){YAHOO.util.Event.regCE(this);}};YAHOO.util.CustomEvent.prototype={subscribe:function(fn,_4,_5){this.subscribers.push(new YAHOO.util.Subscriber(fn,_4,_5));},unsubscribe:function(fn,_7){var _8=false;for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s&&s.contains(fn,_7)){this._delete(i);_8=true;}}return _8;},fire:function(){for(var i=0;i<this.subscribers.length;++i){var s=this.subscribers[i];if(s){var _d=(s.override)?s.obj:this.scope;s.fn.call(_d,this.type,arguments,s.obj);}}},unsubscribeAll:function(){for(var i=0;i<this.subscribers.length;++i){this._delete(i);}},_delete:function(_f){var s=this.subscribers[_f];if(s){delete s.fn;delete s.obj;}delete this.subscribers[_f];}};YAHOO.util.Subscriber=function(fn,obj,_13){this.fn=fn;this.obj=obj||null;this.override=(_13);};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){return (this.fn==fn&&this.obj==obj);};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var _16=false;var _17=[];var _18=[];var _19=[];var _1a=[];var _1b=[];var _1c=[];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(el,_1e,fn,_20,_21){if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=(this.on(el[i],_1e,fn,_20,_21)&&ok);}return ok;}else{if(typeof el=="string"){if(_16){el=this.getEl(el);}else{_18[_18.length]=[el,_1e,fn,_20,_21];return true;}}}if(!el){return false;}if("unload"==_1e&&_20!==this){_19[_19.length]=[el,_1e,fn,_20,_21];return true;}var _24=(_21)?_20:el;var _25=function(e){return fn.call(_24,YAHOO.util.Event.getEvent(e),_20);};var li=[el,_1e,fn,_25,_24];var _28=_17.length;_17[_28]=li;if(this.useLegacyEvent(el,_1e)){var _29=this.getLegacyIndex(el,_1e);if(_29==-1){_29=_1b.length;_1b[_29]=[el,_1e,el["on"+_1e]];_1c[_29]=[];el["on"+_1e]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),_29);};}_1c[_29].push(_28);}else{if(el.addEventListener){el.addEventListener(_1e,_25,false);}else{if(el.attachEvent){el.attachEvent("on"+_1e,_25);}}}return true;},fireLegacyEvent:function(e,_2c){var ok=true;var le=_1c[_2c];for(i=0;i<le.length;++i){var _2f=le[i];if(_2f){var li=_17[_2f];var _31=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(_31,e);ok=(ok&&ret);}}return ok;},getLegacyIndex:function(el,_34){for(var i=0;i<_1b.length;++i){var le=_1b[i];if(le&&le[0]==el&&le[1]==_34){return i;}}return -1;},useLegacyEvent:function(el,_38){return ((!el.addEventListener&&!el.attachEvent)||(_38=="click"&&this.isSafari));},removeListener:function(el,_3a,fn){if(typeof el=="string"){el=this.getEl(el);}else{if(this._isValidCollection(el)){var ok=true;for(var i=0;i<el.length;++i){ok=(this.removeListener(el[i],_3a,fn)&&ok);}return ok;}}var _3e=null;var _3f=this._getCacheIndex(el,_3a,fn);if(_3f>=0){_3e=_17[_3f];}if(!el||!_3e){return false;}if(el.removeEventListener){el.removeEventListener(_3a,_3e[this.WFN],false);}else{if(el.detachEvent){el.detachEvent("on"+_3a,_3e[this.WFN]);}}delete _17[_3f][this.WFN];delete _17[_3f][this.FN];delete _17[_3f];return true;},getTarget:function(ev,_41){var t=ev.target||ev.srcElement;if(_41&&t&&"#text"==t.nodeName){return t.parentNode;}else{return t;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}return y;},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else{if(ev.type=="mouseover"){t=ev.fromElement;}}}return t;},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}c=c.caller;}}return ev;},getCharCode:function(ev){return ev.charCode||(ev.type=="keypress")?ev.keyCode:0;},_getCacheIndex:function(el,_53,fn){for(var i=0;i<_17.length;++i){var li=_17[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==_53){return i;}}return -1;},_isValidCollection:function(o){return (o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){for(i in this.elCache){delete this.elCache[i];}},regCE:function(ce){_1a.push(ce);},_load:function(e){_16=true;},_tryPreloadAttach:function(){var _5b=!_16;for(var i=0;i<_18.length;++i){var d=_18[i];if(d){var el=this.getEl(d[this.EL]);if(el){this.on(el,d[this.TYPE],d[this.FN],d[this.SCOPE],d[this.ADJ_SCOPE]);delete _18[i];}}}if(_5b){setTimeout("YAHOO.util.Event._tryPreloadAttach()",50);}},_unload:function(e,me){for(var i=0;i<_19.length;++i){var l=_19[i];if(l){var _63=(l[this.ADJ_SCOPE])?l[this.SCOPE]:window;l[this.FN].call(_63,this.getEvent(e),l[this.SCOPE]);}}if(_17&&_17.length>0){for(i=0;i<_17.length;++i){l=_17[i];if(l){this.removeListener(l[this.EL],l[this.TYPE],l[this.FN]);}}this.clearCache();}for(i=0;i<_1a.length;++i){_1a[i].unsubscribeAll();delete _1a[i];}for(i=0;i<_1b.length;++i){delete _1b[i][0];delete _1b[i];}},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement;db=document.body;if(dd&&dd.scrollTop){return [dd.scrollTop,dd.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();}