﻿//kloeke tooltip
function enableTooltips(id) {
    var links, i, h;
    if (!document.getElementById || !document.getElementsByTagName) {
        return;
    }

    h = document.createElement("span");
    h.id = "btc";
    h.setAttribute("id", "btc");
    h.style.position = "absolute";
    document.getElementsByTagName("body")[0].appendChild(h);

    if (id == null) {
        links = document.getElementsByTagName("a"); // the searched tags
    }
    else {
        links = document.getElementById(id).getElementsByTagName("a");
    }

    for (i = 0; i < links.length; i++) {
        Prepare(links[i]);
    }
}

function Prepare(el)
{
    var tooltip,t,b,s,l;
	t=el.getAttribute("title"); 
	if (t != null && t != '')
	{
		el.removeAttribute("title");
		tooltip=CreateEl("span","tooltip");
		s=CreateEl("span","top");
		s.innerHTML = t;
		tooltip.appendChild(s);
		b=CreateEl("b","bottom");
		tooltip.appendChild(b);
		setOpacity(tooltip);
		el.tooltip=tooltip;
		el.onmouseover=showTooltip;
		el.onmouseout=hideTooltip;
		el.onmousemove=Locate;
    }
}

function showTooltip(e)
{
	var d=document.getElementById("btc")
	d.appendChild(this.tooltip);
	d.style.visibility='visible';
	Locate(e);
}

function hideTooltip(e)
{
    var d=document.getElementById("btc");
    d.style.visibility='hidden';
    if(d.childNodes.length>0)
    {
        d.removeChild(d.firstChild);
    }
}

function setOpacity(el)
{
	el.style.filter="alpha(opacity:90)";
	el.style.KHTMLOpacity="0.90";
	el.style.MozOpacity="0.90";
	el.style.opacity="0.90";
}

function CreateEl(t,c)
{
	var x=document.createElement(t);
	x.className=c;
	x.style.display="block";
	return(x);
}

function Locate(e)
{
    var posx=0,posy=0;
    if(e==null) e=window.event;
    if(e.pageX || e.pageY)
    {
        posx=e.pageX; posy=e.pageY;
    }
    else if(e.clientX || e.clientY)
    {
        if(document.documentElement.scrollTop)
        {
            posx=e.clientX+document.documentElement.scrollLeft;		
            posy=e.clientY+document.documentElement.scrollTop;
        }
        else
        {
            posx=e.clientX+document.body.scrollLeft;
            posy=e.clientY+document.body.scrollTop;
        }
    }
	h = document.documentElement.clientHeight;
	if(h-posy < 200) 
	{
	  document.getElementById("btc").style.top=(posy-250)+"px";
	} 
	else 
	{
	  document.getElementById("btc").style.top=(posy-50)+"px";
	}
	document.getElementById("btc").style.left=(posx+50)+"px";
}


