var Tooltips=Class.create();Tooltips.prototype={initialize:function(selector,options){var tooltips=$$(selector);tooltips.each(function(tooltip){new Tooltip(tooltip,options);});}};var Tooltip=Class.create();Tooltip.prototype={initialize:function(el,options){this.el=$(el);this.initialized=false;this.setOptions(options);this.showEvent=this.show.bindAsEventListener(this);this.hideEvent=this.hide.bindAsEventListener(this);this.updateEvent=this.update.bindAsEventListener(this);Event.observe(this.el,"mouseover",this.showEvent);Event.observe(this.el,"mouseout",this.hideEvent);this.content=this.el.title.stripScripts().strip();this.el.title="";this.el.alt="";},setOptions:function(options){this.options={backgroundColor:"#999",borderColor:"#666",textColor:"",textShadowColor:"",maxWidth:250,align:"left",delay:250,mouseFollow:true,opacity:0.75,appearDuration:0.25,hideDuration:0.25};Object.extend(this.options,options||{});},show:function(e){try{this.xCord=Event.pointerX(e);this.yCord=Event.pointerY(e);if(!this.initialized){this.timeout=window.setTimeout(this.appear.bind(this),this.options.delay);}}catch(e){Element.show(this.tooltip);}},hide:function(e){if(this.initialized){try{this.appearingFX.cancel();if(this.options.mouseFollow){Event.stopObserving(this.el,"mousemove",this.updateEvent);}new Effect.Fade(this.tooltip,{duration:this.options.hideDuration,afterFinish:function(){Element.remove(this.tooltip);}.bind(this)});}catch(e){Element.remove(this.tooltip);}}this._clearTimeout(this.timeout);this.initialized=false;},update:function(e){this.xCord=Event.pointerX(e);this.yCord=Event.pointerY(e);this.setup();},appear:function(){this.tooltip=new Element("div",{style:"display: none"});Element.addClassName(this.tooltip,"tooltip");var arrow=new Element("div").insert('<b class="a1"></b><b class="a2"></b><b class="a3"></b><b class="a4"></b><b class="a5"></b><b class="a6"></b>');Element.addClassName(arrow,"xarrow");var top=new Element("div").insert(new Element("div",{style:"background-color:"+this.options.borderColor+";"}).addClassName("xb1")).insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb2")).insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb3")).insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb4"));Element.addClassName(top,"xtop");var bottom=new Element("div").insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb4")).insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb3")).insert(new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+";"}).addClassName("xb2")).insert(new Element("div",{style:"background-color:"+this.options.borderColor+";"}).addClassName("xb1"));Element.addClassName(bottom,"xbottom");var content=new Element("div",{style:"background-color:"+this.options.backgroundColor+"; border-color:"+this.options.borderColor+((this.options.textColor!="")?"; color:"+this.options.textColor:"")+((this.options.textShadowColor!="")?"; text-shadow:2px 2px 0"+this.options.textShadowColor+";":"")}).update(this.content);Element.addClassName(content,"xboxcontent");this.tooltip.insert(arrow).insert(top).insert(content).insert(bottom);$(document.body).insert({"top":this.tooltip});this.tooltip.select(".xarrow b").each(function(el){if(!el.hasClassName("a1")){el.setStyle({backgroundColor:this.options.backgroundColor,borderColor:this.options.borderColor});}else{el.setStyle({backgroundColor:this.options.borderColor});}}.bind(this));Element.extend(this.tooltip);this.options.width=this.tooltip.getWidth()+1;this.tooltip.style.width=this.options.width+"px";this.setup();if(this.options.mouseFollow){Event.observe(this.el,"mousemove",this.updateEvent);}this.initialized=true;this.appearingFX=new Effect.Appear(this.tooltip,{duration:this.options.appearDuration,to:this.options.opacity});},setup:function(){if(this.options.width>this.options.maxWidth){this.options.width=this.options.maxWidth;this.tooltip.style.width=this.options.width+"px";}if(this.xCord+this.options.width>=Element.getWidth(document.body)){this.options.align="right";this.xCord=this.xCord-this.options.width+20;this.tooltip.down(".xarrow").setStyle({left:this.options.width-24+"px"});}else{this.options.align="left";this.tooltip.down(".xarrow").setStyle({left:12+"px"});}this.tooltip.style.left=this.xCord-7+"px";this.tooltip.style.top=this.yCord+12+"px";},_clearTimeout:function(timer){clearTimeout(timer);clearInterval(timer);return null;}};var CustomTooltipOptions={mouseFollow:false,backgroundColor:"#fff",borderColor:"#CED5EE",textColor:"#000",textShadowColor:"#F0F5FB",opacity:1,delay:400,maxWidth:250,hideDuration:0.1};var LibraryTooltipOptions={mouseFollow:false,backgroundColor:"#fff",borderColor:"#ddd",textColor:"#000",textShadowColor:"#fff",opacity:1,delay:700,maxWidth:350,hideDuration:0.3};Element.observe(window,"load",function(){if(typeof Tooltip!="undefined"){$$("[title]").each(function(e){try{new Tooltip(e,LibraryTooltipOptions);}catch(e){}});}});