//Inline HTML Tooltip script: By JavaScript Kit: http://www.javascriptkit.com //Created: July 10th, 08' var htmltooltip={ tipclass: 'htmltooltip', fadeeffect: [true, 500], anchors: [], tooltips: [], //array to contain references to all tooltip DIVs on the page positiontip:function($, tipindex, e){ var anchor=this.anchors[tipindex] var tooltip=this.tooltips[tipindex] var scrollLeft=window.pageXOffset? window.pageXOffset : this.iebody.scrollLeft var scrollTop=window.pageYOffset? window.pageYOffset : this.iebody.scrollTop var docwidth=(window.innerWidth)? window.innerWidth-15 : htmltooltip.iebody.clientWidth-15 var docheight=(window.innerHeight)? window.innerHeight-18 : htmltooltip.iebody.clientHeight-15 var tipx=anchor.dimensions.offsetx var tipy=anchor.dimensions.offsety+anchor.dimensions.h tipx=(tipx+tooltip.dimensions.w-scrollLeft>docwidth)? tipx-tooltip.dimensions.w : tipx //account for right edge tipy=(tipy+tooltip.dimensions.h-scrollTop>docheight)? tipy-tooltip.dimensions.h-anchor.dimensions.h : tipy //account for bottom edge $(tooltip).css({left: tipx, top: tipy}) }, showtip:function($, tipindex, e){ var tooltip=this.tooltips[tipindex] if (this.fadeeffect[0]) $(tooltip).hide().fadeIn(this.fadeeffect[1]) else $(tooltip).show() }, hidetip:function($, tipindex, e){ var tooltip=this.tooltips[tipindex] if (this.fadeeffect[0]) $(tooltip).fadeOut(this.fadeeffect[1]) else $(tooltip).hide() }, updateanchordimensions:function($){ var $anchors=$('*[@rel="'+htmltooltip.tipclass+'"]') $anchors.each(function(index){ this.dimensions={w:this.offsetWidth, h:this.offsetHeight, offsetx:$(this).offset().left, offsety:$(this).offset().top} }) }, render:function(){ jQuery(document).ready(function($){ htmltooltip.iebody=(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body var $anchors=$('*[@rel="'+htmltooltip.tipclass+'"]') var $tooltips=$('div[@class="'+htmltooltip.tipclass+'"]') $anchors.each(function(index){ //find all links with "title=htmltooltip" declaration this.dimensions={w:this.offsetWidth, h:this.offsetHeight, offsetx:$(this).offset().left, offsety:$(this).offset().top} //store anchor dimensions this.tippos=index+' pos' //store index of corresponding tooltip var tooltip=$tooltips.eq(index).get(0) //ref corresponding tooltip if (tooltip==null) //if no corresponding tooltip found return //exist tooltip.dimensions={w:tooltip.offsetWidth, h:tooltip.offsetHeight} $(tooltip).remove().appendTo('body') //add tooltip to end of BODY for easier positioning htmltooltip.tooltips.push(tooltip) //store reference to each tooltip htmltooltip.anchors.push(this) //store reference to each anchor var $anchor=$(this) $anchor.hover( function(e){ //onMouseover element htmltooltip.positiontip($, parseInt(this.tippos), e) htmltooltip.showtip($, parseInt(this.tippos), e) }, function(e){ //onMouseout element htmltooltip.hidetip($, parseInt(this.tippos), e) } ) $(window).bind("resize", function(){htmltooltip.updateanchordimensions($)}) }) }) } } htmltooltip.render()