var loaded=false;

function init() { 
 loaded=true; 
};

// tooltip start
var mouseX, mouseY;

// returns width of window
function getWinWidth() {
    var winWd = 0;
    if (document.documentElement && document.documentElement.clientWidth) 
        winWd = document.documentElement.clientWidth;
    else if (document.body && document.body.clientWidth) 
        winWd = document.body.clientWidth;
    else if (document.body && document.body.offsetWidth) 
        winWd = document.body.offsetWidth; // ns6
    else if (window.innerWidth) winWd = window.innerWidth-18;
    return winWd;
}
// returns height of window
function getWinHeight() {
    var winHt = 0;
    if (window.innerHeight) winHt = window.innerHeight-18;
    else if (document.documentElement && document.documentElement.clientHeight) 
        winHt = document.documentElement.clientHeight;
    else if (document.body && document.body.clientHeight) 
        winHt = document.body.clientHeight;
    return winHt;
}

// returns amount of vertical scroll
function getScrollY() {
    var scroll_y = 0;
    if (document.documentElement && document.documentElement.scrollTop)
        scroll_y = document.documentElement.scrollTop;
    else if (document.body && document.body.scrollTop) 
        scroll_y = document.body.scrollTop; 
    else if (window.pageYOffset)
        scroll_y = window.pageYOffset;
    else if (window.scrollY)
        scroll_y = window.scrollY;
    return scroll_y;
}

// returns amount of horizontal scroll
function getScrollX() {
    var scroll_x = 0;
    if (document.documentElement && document.documentElement.scrollLeft)
        scroll_x = document.documentElement.scrollLeft;
    else if (document.body && document.body.scrollLeft) 
        scroll_x = document.body.scrollLeft; 
    else if (window.pageXOffset)
        scroll_x = window.pageXOffset;
    else if (window.scrollX)
        scroll_x = window.scrollX;
    return scroll_x;
}

function goTooltip(evt,cntnt) {
    // set up mousemove 
    if (document.addEventListener) {
        document.addEventListener("mousemove",trackMouse,true);
    } else if (document.attachEvent) {
        document.attachEvent("onmousemove",trackMouse);
    } else {
    if (document.layers && document.captureEvents) 
        document.captureEvents(Event.MOUSEMOVE);
        document.onmousemove = trackMouse;
    }

    vert_scroll = getScrollY();
    hor_scroll = getScrollX();
    // get coordinates of mouseover event
    evt = (window.event)? window.event: evt;
    if (evt) {
        mouseX = getMouseX(evt);
        mouseY = getMouseY(evt);
    }

    //write content & show tooltip
    if (document.layers) {
        document.layers.tooltip.document.write(cntnt);
        document.layers.tooltip.document.close();
        document.layers.tooltip.visibility="show";
    } else {
        document.getElementById("tooltip").innerHTML=cntnt;
        document.getElementById("tooltip").style.visibility="visible";
    };
}

function hideTip() {
    // release mousemove
    if (document.removeEventListener) {
        document.removeEventListener("mousemove",trackMouse,true);
    } else if (document.detachEvent) {
        document.detachEvent("onmousemove",trackMouse);
    } else {
        if (document.layers && document.releaseEvents)
            document.releaseEvents(Event.MOUSEMOVE);
        document.onmousemove = null;
    }

    // hide layer
    if (document.layers) {
        document.layers.tooltip.visibility="hidden";
    } else {
        document.getElementById("tooltip").style.visibility="hidden";
    };
}

// check coordinates and position tooltip
function positionTip() {
    var x, y;
    var tooltipSzelesseg=100;
    var tooltipMagassag=100;
    //commented by D.Zoli
    //window.status=(mouseY+tooltipMagassag)+" "+(getWinHeight()+getScrollY());
    if ((mouseX+tooltipSzelesseg)>(getWinWidth()+getScrollX())) {
        eltolasX=-tooltipSzelesseg-30;
    } else {
        eltolasX=10;
    };
    if ((mouseY+tooltipMagassag)>(getWinHeight()+getScrollY())) {
        eltolasY=-20;
    } else {
        eltolasY=10;
    };

    if (document.layers) {
        document.layers.tooltip.top=mouseY+eltolasY;
        document.layers.tooltip.left=mouseX+eltolasX;
    } else {
        document.getElementById("tooltip").style.top=mouseY+eltolasY+"px";
        document.getElementById("tooltip").style.left=mouseX+eltolasX+"px";
    };
}

// used with tipFollowMouse
function trackMouse(evt) {
    evt = (window.event)? window.event: evt;
    if (evt) {
        mouseX = getMouseX(evt);
        mouseY = getMouseY(evt);
    }
    positionTip();  
}

// functions to get page coordinates of mouse event
function getMouseX(evt) {
    return (evt.pageX)? evt.pageX: evt.clientX + getScrollX();
}

function getMouseY(evt) {
    return (evt.pageY)? evt.pageY: evt.clientY + getScrollY();
}

// avoid error of passing event object from link in older browsers
if (!document.getElementById && !document.all && !document.layers)
    event = "";

function doTooltip(evt,txt) {
    if (!loaded) return;
    var contentheader="<TABLE cellspacing=1 cellpadding=1 border=0><TR><TD class=tooltip>&nbsp;</TD><TD bgcolor=black><TABLE width=100% cellspacing=0 cellpadding=5 border=0><TR><TD valign=top bgcolor=white nowrap><P class=tooltip>";
    var contentfooter="</P></TD></TR></TABLE></TD></TR></TABLE>";
    var cntnt = contentheader+txt+contentfooter;
    goTooltip(evt,cntnt);
}

function enableTooltip() {
    loaded=true;
};

// tooltip end
