//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 - 30
        var tipy = anchor.offsetTop + anchor.dimensions.h - 30

        if (navigator.appVersion.indexOf("MSIE") != -1) {
            version = parseFloat(navigator.appVersion.split("MSIE")[1]);

            if (version < 9) {
                tipy = anchor.dimensions.offsety + anchor.dimensions.h - 30
            }
        }
        //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
        tipx = tipx + +anchor.dimensions.w

        $(tooltip).css({ left: tipx, top: tipy })
        var tooltipArrow = $(tooltip).find(".tooltip-arrow")
        var tooltipContent = $(tooltip).find(".tooltip-content")

        $(tooltipArrow).css({ left: 0, top: 12 })
        $(tooltipContent).css({ left: 9 })

    },

    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).css("color", "#c60c31")
				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
					    if (!(e.pageX > tooltip.offsetLeft && e.pageX < tooltip.offsetLeft + tooltip.offsetWidth &&
							e.pageY > tooltip.offsetTop && e.pageY < tooltip.offsetTop + tooltip.offsetHeight)) {

					        htmltooltip.hidetip($, parseInt(this.tippos), e)
					    }

					}
				)

                $(tooltip).hover(function (e) {


                }, function (e) {
                    htmltooltip.hidetip($, parseInt($(this).attr("rel") + " pos"), e)

                })

                $(window).bind("resize", function () { htmltooltip.updateanchordimensions($) })
            })
        })
    }
}

htmltooltip.render()
