/*Javascript for Bubble Tooltips by Alessandro Fulciniti
http://pro.html.it - http://web-graphics.com */

var g_tooltipsEnabled = false;

function enableTooltips(id) {
    if (!g_tooltipsEnabled) {
        var links, i, h;
        if (!document.getElementById || !document.getElementsByTagName) return;
        AddCss();
        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");
        else links = document.getElementById(id).getElementsByTagName("a");
        for (i = 0; i < links.length; i++) {
            if (links[i].className.indexOf('hover') > -1) {
                Prepare(links[i]);
            }
        }
        g_tooltipsEnabled = true;
    }
}

function Prepare(el) {
    var tooltip, t, b, s, l;
    t = el.getAttribute("title");

    if (t != null && t.length > 0) {
        el.removeAttribute("title");
        tooltip = CreateEl("span", "hovertooltip");
        s = CreateEl("span", "top");
        tooltip.appendChild(s);
        m = CreateEl("span", "middle");
        //        m.appendChild(document.createTextNode(t));
        m.innerHTML = t;
        tooltip.appendChild(m);
        b = CreateEl("span", "bottom");
        tooltip.appendChild(b);
        setOpacity(tooltip);
        el.tooltip = tooltip;
        el.onmouseover = showTooltip;
        el.onmouseout = hideTooltip;
        el.onmousemove = Locate;
    }
}

function showTooltip(e) {
    document.getElementById("btc").appendChild(this.tooltip);
    Locate(e);
}

function hideTooltip(e) {
    var d = document.getElementById("btc");
    if (d.childNodes.length > 0) d.removeChild(d.firstChild);
}

function setOpacity(el) {
    el.style.filter = "alpha(opacity:80)";
    el.style.KHTMLOpacity = "0.80";
    el.style.MozOpacity = "0.80";
    el.style.opacity = "0.80";
}

function CreateEl(t, c) {
    var x = document.createElement(t);
    x.className = c;
    x.style.display = "block";
    return (x);
}

function AddCss() {
    var l = CreateEl("link");
    l.setAttribute("type", "text/css");
    l.setAttribute("rel", "stylesheet");
    l.setAttribute("href", "/website/Css/bt.css");
    l.setAttribute("media", "screen");
    document.getElementsByTagName("head")[0].appendChild(l);
}

function Locate(e) {
    document.getElementById("btc").style.top = (getMouseCoord(e)[1] + 9) + "px";
    document.getElementById("btc").style.left = getMouseCoord(e)[0] + "px";
}

function getMouseCoord(e) {
    var offset;

    if (!e) {
        e = window.event;
        var mainElementWidth = document.getElementsByTagName("form")[0].offsetWidth;
        offset = (document.documentElement.clientWidth - mainElementWidth) / 2;
    }
    else {
        e = e;
        var mainElementWidth = document.getElementsByTagName("form")[0].offsetWidth;
        offset = (window.innerWidth - mainElementWidth) / 2;
    }

    objDoc = new doc();
    (e.pageX) ? objDoc.pageX = e.pageX : objDoc.pageX = e.clientX + objDoc.pageXOffset;
    (e.pageY) ? objDoc.pageY = e.pageY : objDoc.pageY = e.clientY + objDoc.pageYOffset;

    objDoc.pageX = objDoc.pageX - offset;

    return [objDoc.pageX, objDoc.pageY];
}

doc = function() {
    if (self.innerHeight) {
        doc.pageYOffset = self.pageYOffset;
        doc.pageXOffset = self.pageXOffset;
        doc.innerHeight = self.innerHeight;
        doc.innerWidth = self.innerWidth;
    } else if (document.documentElement &&
document.documentElement.clientHeight) {
        doc.pageYOffset = document.documentElement.scrollTop;
        doc.pageXOffset = document.documentElement.scrollLeft;
        doc.innerHeight = document.documentElement.clientHeight;
        doc.innerWidth = document.documentElement.clientWidth;
    } else if (document.body) {
        doc.pageYOffset = document.body.scrollTop;
        doc.pageXOffset = document.body.scrollLeft;
        doc.innerHeight = document.body.clientHeight;
        doc.innerWidth = document.body.clientWidth;
    }
    return doc;
}
