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