/*
Copyright (c) 2008, Bubbling Library Team. All rights reserved.
Portions Copyright (c) 2008, Yahoo!, Inc. All rights reserved.
Code licensed under the BSD License:
http://www.bubbling-library.com/eng/licence
version: 2.0
*/
(function(){var C=YAHOO.Bubbling,D=YAHOO.lang,A=YAHOO.util.Event,B=YAHOO.util.Dom,E=YAHOO.util.Dom.get;YAHOO.widget.TooltipManager=function(){var M={},J={},F="yui-cms-snap",P="yui-cms-tt",I="loading",Q=false,T=false,K=null,G=null,S=[0,0],H={zIndex:1000,opacity:0.9,preventoverlap:true,showdelay:200,effect:null,autodismissdelay:5000,text:"",underlay:"shadow",width:"auto",height:"auto",close:false};var O=function(W,U){var X=M.finder(U[1].target);if(D.isObject(X)){for(var V=0;V<M.forbbiden.length;V++){if(D.isObject(C.getOwnerByClassName(X,M.forbbiden[V]))){return }}M.check(U[0],X)}};var L=function(){M.backup={title:M.element.getAttribute("title")};M.element.setAttribute("title","")};var N=function(){if(M.element&&M.backup.title){M.element.setAttribute("title",M.backup.title)}};var R=function(Z,V){V=V||30;var a=new RegExp("^((?:http|https)://)("+document.domain+")(/.*)$","i"),X=/#.*/,W=Z||"",Y=new String(document.location);W=W.replace(X,"");Y=Y.replace(X,"");var U=W.match(a);if(U){W=((W==Y)?"":U[3])}if(!W||(W.indexOf("javascript:")===0)||(W=="/")){W=""}else{W=(W.length>V?W.substring(0,V)+"...":W)}return W};M.handleOverlay=null;M.element=null;M.body="";M.header=null;M.footer=null;M.onCompile=null;M.onRender=null;M.destructible=true;M.backup={};M.forbbiden=["yuimenu","yuimenubar","yui-nav","notips"];M.config=function(U){c=U||{};H.constraintoviewport=(D.isBoolean(c.constraintoviewport)?c.constraintoviewport:H.constraintoviewport);H.zIndex=(D.isNumber(c.zIndex)?c.zIndex:H.zIndex);H.underlay=(D.isString(c.underlay)?c.underlay:H.underlay);H.preventoverlap=(D.isBoolean(c.preventoverlap)?c.preventoverlap:H.preventoverlap);H.width=(D.isNumber(c.width)||D.isString(c.width)?c.width:H.width);H.height=(D.isNumber(c.height)||D.isString(c.height)?c.height:H.height);H.close=(D.isBoolean(c.close)?c.close:H.close);H.effect=(D.isObject(c.effect)?c.effect:H.effect);H.opacity=(D.isNumber(c.opacity)?c.opacity:H.opacity);H.showdelay=(D.isNumber(c.showdelay)?c.showdelay:H.showdelay)};M.init=function(){if(!T){T=true;C.on("rollover",O)}};M.check=function(X,V){this.init();if(this.element){A.removeListener(this.element,"mouseout",M.hide)}this.element=V;L();S=A.getXY(X);A.addListener(M.element,"mouseout",M.dismiss,M,true);this.body="";this.header=null;this.footer=null;if(!D.isFunction(this.onCompile)||!(this.onCompile.apply(M,[this.element]))){this.compileBody(V)}if((D.isString(this.body)&&(this.body!==""))||D.isString(this.header)||D.isString(this.footer)){try{var W=V.getElementsByTagName("img");if(W&&(W.length>0)){for(var U=0;U<W.length;U++){W[U].alt=""}}}catch(Y){}M.delay()}};M.render=function(){if(D.isObject(this.handleOverlay)&&(this.destructible)){this.handleOverlay.destroy()}this.destructible=true;if(!D.isFunction(YAHOO.widget.Panel)){return false}this.handleOverlay=new YAHOO.widget.Panel(F,{visible:false,constraintoviewport:true,zIndex:H.zIndex,underlay:H.underlay,preventoverlap:H.preventoverlap,width:H.width,close:H.close,context:this.element,xy:[S[0]+10,S[1]+10]});B.addClass(this.handleOverlay.element,P);if(H.close){this.handleOverlay.setHeader(" &nbsp; ");if(D.isFunction(YAHOO.util.DD)){this.handleOverlay.cfg.setProperty("dragable",true)}}if(this.body){this.handleOverlay.setBody(this.body)}if(this.header){this.handleOverlay.setHeader(this.header)}if(this.footer){this.handleOverlay.setFooter(this.footer)}if(B.inDocument(F)){this.handleOverlay.render()}else{this.handleOverlay.render(document.body)}if(H.effect){this.handleOverlay.cfg.setProperty("effect",H.effect)}this.handleOverlay.showEvent.subscribe(function(){M.destructible=true;if(!A.isIE||C.force2alfa){B.setStyle(M.handleOverlay.element,"opacity",H.opacity)}},M,true);this.handleOverlay.hideEvent.subscribe(function(){M.destructible=true},M,true);if(D.isFunction(this.onRender)){this.onRender.apply(M,[this.element,this.handleOverlay])}M.show()};M.dismiss=function(){A.removeListener(M.element,"mouseout",M.dismiss);window.clearTimeout(K);window.clearTimeout(G);N();if(!H.close){M.hide()}};M.delay=function(){window.clearTimeout(K);window.clearTimeout(G);if(!this.destructible){if(D.isObject(this.handleOverlay)){this.handleOverlay.hideEvent.subscribe(M.delay,M,true);this.handleOverlay.showEvent.subscribe(M.delay,M,true)}}else{G=window.setTimeout(function(){M.render()},H.showdelay)}};M.show=function(){if(this.handleOverlay&&this.element){this.destructible=false;this.handleOverlay.show();if(D.isNumber(H.autodismissdelay)&&(H.autodismissdelay>0)){window.clearTimeout(K);K=window.setTimeout(function(){M.dismiss()},Math.abs(H.autodismissdelay))}}};M.hide=function(){if((this.handleOverlay)&&(this.element)){this.handleOverlay.hide()}};M.compilePath=function(V,U){return R(V,U)};M.compileBody=function(V){var X=this.compilePath(V.getAttribute("href",2)),U=(V.accessKey?" ["+V.accessKey+"]":""),W=this.backup.title;W=(W?W+"<br />":"");this.body=(W+U+X!==""?W+"<em>"+U+"</em><strong>"+X+"</strong>":"")};M.finder=function(U){return C.getOwnerByClassName(U,"yui-tip")};A.onDOMReady(M.init,M,true);return M}()})();YAHOO.register("tooltipmanager",YAHOO.widget.TooltipManager,{version:"2.0",build:"212"});
