var Tooltip=Class.create();Tooltip.prototype={initialize:function(a,c,b){this.element=$(a);this.options={offsetX:5,offsetY:5,offsetFromElement:false,offsetPosition:"top left",cssClass:"tooltip",zindex:1500};for(option in b){this.options[option]=b[option]}if($(c)){this.tooltipElement=$(c)}else{this.tooltipElement=$(document.createElement("div"));document.body.appendChild(this.tooltipElement);this.tooltipElement.addClassName(this.options.cssClass);this.tooltipElement.appendChild(document.createTextNode(c))}this.tooltipElement.hide();this.tooltipElement.setStyle({overflow:"auto"});this.eventMouseOver=this.showTooltip.bindAsEventListener(this);this.eventMouseOut=this.hideTooltip.bindAsEventListener(this);this.eventMouseMove=this.moveTooltip.bindAsEventListener(this);this.registerEvents()},destroy:function(){Event.stopObserving(this.element,"mouseover",this.eventMouseOver);Event.stopObserving(this.element,"mouseout",this.eventMouseOut);Event.stopObserving(this.element,"mousemove",this.eventMouseMove)},registerEvents:function(){Event.observe(this.element,"mouseover",this.eventMouseOver);Event.observe(this.element,"mouseout",this.eventMouseOut);Event.observe(this.element,"mousemove",this.eventMouseMove)},moveTooltip:function(d){Event.stop(d);var g;var h;var a;if(this.options.offsetFromElement){var f=Element.cumulativeOffset(this.element);g=f.left;h=f.top;var a=Element.getDimensions(this.element);var c=a.width;var b=a.height;if(this.options.offsetPosition.search(/right/i)>=0){g+=c}if(this.options.offsetPosition.search(/bottom/i)>=0){h+=b}g+=this.options.offsetX;h+=this.options.offsetY}else{g=Event.pointerX(d);h=Event.pointerY(d);a=Element.getDimensions(this.tooltipElement);var j=a.width;var i=a.height;if((j+g)>=(this.getWindowWidth()-this.options.offsetX)){g=g-j;g=g-this.options.offsetX}else{g=g+this.options.offsetX}if((i+h)>=(this.getWindowHeight()-this.options.offsetY)){h=h-i;h=h-this.options.offsetY}else{h=h+this.options.offsetY}var k=document.viewport.getScrollOffsets()["top"];if(h<k){h=k+10}}this.setPosition(g,h)},setPosition:function(a,b){Element.setStyle(this.tooltipElement,{position:"absolute",top:b+"px",left:a+"px",zindex:this.options.zindex})},showTooltip:function(a){Event.stop(a);this.moveTooltip(a);if(Element.appear){new Element.appear(this.tooltipElement,{duration:0.5})}else{new Element.show(this.tooltipElement)}},hideTooltip:function(a){if(Element.fade){new Element.fade(this.tooltipElement,{duration:0.5})}else{new Element.hide(this.tooltipElement)}},getWindowHeight:function(){var a;if(navigator.appVersion.indexOf("MSIE")>0){a=document.body.clientHeight}else{a=window.innerHeight}return a},getWindowWidth:function(){var a;if(navigator.appVersion.indexOf("MSIE")>0){a=document.body.clientWidth}else{a=window.innerWidth}return a}};function createTooltips(b){var a=$$("*");for(e in a){if(a[e].hasAttribute){if(a[e].hasAttribute("tooltip")){new Tooltip(a[e],a[e].readAttribute("tooltip"),b)}}}};
