//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()