﻿/***********************************************
* Show Hint script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
		
var horizontal_offset="5px" //horizontal offset of hint box from anchor link


/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all

//--- Show hint
function ShowHint(menucontents, obj, e, tipwidth)
{
    if (menucontents == "")
        return;
        
    if ((ie||ns6) && document.getElementById("HintBox"))
    {
        dropmenuobj=document.getElementById("HintBox")
        dropmenuobj.innerHTML=menucontents
        dropmenuobj.style.left=dropmenuobj.style.top=-500
        if (tipwidth && tipwidth!="")
        {
            dropmenuobj.widthobj=dropmenuobj.style
            dropmenuobj.widthobj.width=tipwidth
        }
        
        dropmenuobj.x=getposOffset(obj, "left")
        dropmenuobj.y=getposOffset(obj, "top")
        left = dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth;
        
        //--- Hack horizontal position if too long
        if (left > 600)
            left = dropmenuobj.x - dropmenuobj.offsetWidth - parseInt(horizontal_offset);
            
        dropmenuobj.style.left = left + "px";
                
        dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px";
        
        //--- Start visibility delayed
        FadeIn(0);
        dropmenuobj.style.visibility="visible";
        
        obj.onmouseout=hidetip;
    }
}

//--- Change the opacity for different browsers
function FadeIn(opacity) 
{
    obj = dropmenuobj.style;
    
    //--- Dont start twice
    if (opacity == 0 && obj.InTransition)
        return;
    
    obj.InTransition = true;
    obj.opacity = (opacity / 100);
    obj.MozOpacity = (opacity / 100);
    obj.KhtmlOpacity = (opacity / 100);
    obj.filter = "alpha(opacity=" + opacity + ")";
    
    if (opacity == 0)
        setTimeout("FadeIn(" + (opacity + 10) + ")", 1000); 
    else
        if (opacity < 90)
        {
            setTimeout("FadeIn(" + (opacity + 10) + ")", 10); 
        }
        else
        {
            obj.InTransition = false;
        }
        
}


function getposOffset(what, offsettype)
{
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null)
    {
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function iecompattest()
{
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge)
{
    var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
    if (whichedge=="rightedge")
    {
        var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
        dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
        if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
    }
    else
    {
        var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
        dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
        if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
    }
    return edgeoffset
}

function hidetip(e)
{
    dropmenuobj.style.visibility="hidden"
    dropmenuobj.style.left="-500px"
    dropmenuobj.InTransition = false;
}

function createhintbox()
{
    var divblock=document.createElement("div")
    divblock.setAttribute("id", "HintBox")
    document.body.appendChild(divblock)
}

//--- Script to init hint 
if (window.addEventListener)
    window.addEventListener("load", createhintbox, false)
else if (window.attachEvent)
    window.attachEvent("onload", createhintbox)
else if (document.getElementById)
    window.onload=createhintbox;
    

