/* Javascript functions for creating a non-timed tooltip */
   var currenttooltip=0;
   var divshim=0;
   var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
   var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;

   document.onmousemove = updateMouseMove;

function updateMouseMove(e)
{
    var x=0;
    var y=0;
    if(!document.all)
    {
	x = e.pageX;
	y = e.pageY;
    }
    else 
    {
	x = window.event.x;
	y = window.event.y;
	if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
        {
    	    x = x + document.body.scrollLeft;
    	    y = y + document.body.scrollTop;
        } 
        else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
        {
       	    //IE6 standards compliant mode
    	    x = x + document.documentElement.scrollLeft;
    	    y = y + document.documentElement.scrollTop;
	}
    }

    if (currenttooltip) 
    {
	var totalwidth = 0;
	var totalheight = 0;
	if(document.all)
	{
	    totalwidth = document.body.clientWidth + document.body.scrollLeft;
	    totalheight = document.body.clientHeight + document.body.scrollTop;
	}
	else
	{
	    totalwidth = window.innerWidth + window.pageXOffset;
	    totalheight = window.innerHeight + window.pageYOffset;
	}
	offsetx = x + 10;
	if((offsetx + parseInt(currenttooltip.offsetWidth) + 10) > totalwidth)
	{
	    offsetx = totalwidth - parseInt(currenttooltip.offsetWidth) - 10;
	    if(offsetx < 10)
	    {
		offsetx=10;
	    }
	}
	offsety = y + 10;
	if((offsety + parseInt(currenttooltip.offsetHeight) + 10) > totalheight)
	{
	    offsety = totalheight - parseInt(currenttooltip.offsetHeight) - 10;
	    if(offsety < 10)
	    {
		offsety = 10;
	    }
	}
        currenttooltip.style.left = offsetx + "px";
        currenttooltip.style.top = offsety + "px";
        if(divshim)
        {
            divshim.style.left = offsetx + "px";
            divshim.style.top = offsety + "px";
            divshim.style.width = currenttooltip.offsetWidth;
            divshim.style.height = currenttooltip.offsetHeight;
        }
    }
}

function showTooltip(elid)
{
    el = findObject(elid);
    if(el)
    {
        currenttooltip=el;
        currenttooltip.style.display = "block";
	if((parseInt(currenttooltip.style.left) + parseInt(currenttooltip.offsetWidth)+25) > window.innerWidth)
	{
	    currenttooltip.style.left = (window.innerWidth - parseInt(currenttooltip.offsetWidth) - 25) + "px";
	}
	if((parseInt(currenttooltip.style.top) + parseInt(currenttooltip.offsetHeight)+25) > window.innerHeight)
	{
	    currenttooltip.style.top = (window.innerHeight - parseInt(currenttooltip.offsetHeight) - 25) + "px";
	}
        if(! divshim && isIE)
        {
            divshim = findObject('DivShim',0);
        }
        if(divshim)
        {
            divshim.style.display = "block";
            divshim.style.left = currenttooltip.style.left;
            divshim.style.top = currenttooltip.style.top;
            divshim.style.width = currenttooltip.offsetWidth;
            divshim.style.height = currenttooltip.offsetHeight;
            divshim.style.zIndex = currenttooltip.style.zIndex - 1;
       }
    }    
}

function hideTooltip()
{
    if(currenttooltip)
    {
        currenttooltip.style.display = "none";
        currenttooltip=0;
        if(divshim)
        {
            divshim.style.display = "none";
        }
    }
}
