var offX=-220,offY=30,styleclass="tooltip",ToolTipItem=Class.create();ToolTipItem.prototype={element:null,initialize:function(elem){this.element=elem;this.body=$$('body').first();this.tooltip=new Element('div',{id:elem.identify(),style:'position: absolute'}).hide();this.tooltip.addClassName(styleclass);var contents=this.element.down('.contents');if(contents)this.body.insert(this.tooltip.insert(contents.innerHTML));if(Prototype.Browser.IE){Event.observe(elem,"mouseenter",this.start.bindAsEventListener(this));Event.observe(elem,"mouseleave",this.stop.bindAsEventListener(this))}else{Event.observe(elem,"mouseover",this.start.bindAsEventListener(this));Event.observe(elem,"mouseout",this.stop.bindAsEventListener(this))}},start:function(evt){this.element.observe('mousemove',this.positionTooltip.bindAsEventListener(this));this.tooltip.show()},positionTooltip:function(evt){var position=this.element.cumulativeOffset(),tooltipHeight=this.tooltip.getHeight()/2,tooltipWidth=this.tooltip.getWidth(),liWidth=this.element.getWidth();if(position[0]<tooltipWidth){this.tooltip.setStyle({left:(position[0]+liWidth)+'px',top:((position[1]+offY)-tooltipHeight)+'px',backgroundPosition:'center left',paddingLeft:'20px'})}else this.tooltip.setStyle({left:(position[0]+offX)+'px',top:((position[1]+offY)-tooltipHeight)+'px',backgroundPosition:'center right',paddingLeft:'0px'})},stop:function(evt){this.tooltip.hide()}};document.observe("dom:loaded",function(event){$$(".tipme").each(function(elem){new ToolTipItem(elem)})})
