// see http://lixlpixel.org/javascript-tooltips/

// position of the tooltip relative to the mouse in pixel //
var offsetx = 0;
var offsety =  0;
var tooltipMargin = 10;

function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
            margin = '0';
            padding = '0';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e)
{
    if(document.getElementById)
    {
    
		var de = document.documentElement;
		var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
		var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
    
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
        mousex = ns6?e.clientX:window.event.clientX;
        mousey = ns6?e.clientY:window.event.clientY;

        var lixlpixel_tooltip = document.getElementById('tooltip');
	    var tooltipHeight=lixlpixel_tooltip.childNodes[0].height;
	    var tooltipWidth=lixlpixel_tooltip.childNodes[0].width;
        var tLeft = (mousex+pagex+offsetx);
        var tTop = (mousey+pagey+offsety);
        
        h = h+pagey;
        if (tTop+tooltipHeight+tooltipMargin > h) {
        	tTop = h - tooltipHeight - tooltipMargin;
        }
        if (tLeft+tooltipWidth+tooltipMargin > w) {
        	tLeft = w - tooltipWidth - tooltipMargin;
        }
        lixlpixel_tooltip.style.left = tLeft + 'px';
        lixlpixel_tooltip.style.top = tTop + 'px';
    }
}
function showTooltip(tip, addOffsetX, addOffsetY)
{
	offsetx = addOffsetX;
	offsety = addOffsetY;
    if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML = tip;
    lixlpixel_tooltip.style.display = 'block';
    document.onmousemove = getmouseposition;
}
function hideTooltip()
{
    document.getElementById('tooltip').style.display = 'none';
}