/**********************************************************
 *
 *	Tooltip.js
 *
 *	Description:
 *		ToolTip functionaliteit
 *
 *	History:
 *		[SL:20030730]:		Created by SvenL (volgens mij zelfs eerder...)
 *		[SL:20040209]:		Positionering ging niet geweldig als de pagina al (een deel) was doorgescrolled
 *		[SL:20040227]:		Validatie van scrollTop nu via typeof ipv kale if....
 *		[SL:20041123]:		Geen tooltip tonen als deze een lege string heeft.
 *
 ***/



function ShowTooltip(oObj, szMessage)
{
	var oTTdiv;
	var bNocache = false;

	if(typeof(oObj) == 'undefined')
	{
		bNocache = true;
		oObj = new Object();
	}

	if(typeof(oObj.tooltiptext) == 'undefined')
	{
		if(typeof(szMessage) != 'string')
			return false;

		if(szMessage == '')
			return false;

		oObj.tooltiptext = szMessage;
	}
	
	if(typeof(oObj.getBoundingClientRect) == 'object' && !bNocache)
	{
		var objHeight	= (oObj.getBoundingClientRect().bottom - oObj.getBoundingClientRect().top);
		var objTop		= parseInt(oObj.currentStyle.top);

		if(isNaN(objTop))
		{
			if(typeof(window.document.body.scrollTop) == 'number')
			{
				// scrollTop is IE-only en als het doctype dat gespecificeerd is zal IE deze niet (kunnen) gebruiken.
				oObj.tooltipPosX = 3 + oObj.getBoundingClientRect().left + window.document.body.scrollLeft;
				oObj.tooltipPosY = oObj.getBoundingClientRect().bottom + 2 + window.document.body.scrollTop;
			}
			else
			{
				return false;
			}
		}
		else
		{
			// oObj.tooltipPosX = oObj.getBoundingClientRect().left;
			oObj.tooltipPosX = 3 + (-oObj.getBoundingClientRect().left) + parseInt(oObj.currentStyle.left);
			oObj.tooltipPosY = objTop + objHeight + 2;
		}
	}
	else
	{
		oObj.tooltipPosX = event.x + 15;
		oObj.tooltipPosY = event.y + 10;

		if(typeof(window.document.body.scrollTop) == 'number')
		{
			oObj.tooltipPosX += window.document.body.scrollLeft;
			oObj.tooltipPosY += window.document.body.scrollTop;
		}
	}

	oTTdiv = window.document.getElementById('oTooltipDiv');

	if(!oTTdiv)
	{
		oTTdiv = window.document.getElementsByName('oTooltipDiv');
		if(oTTdiv.length > 0)
		{
			oTTdiv = oTTdiv[0];
		}
		else
		{
			oTTdiv = window.document.createElement('div');
			if(!oTTdiv)
			{
				oTTdiv = 0;
			}
			else
			{
				oTTdiv.id = 'oTooltipDiv';
				oTTdiv.name = 'oTooltipDiv';
				window.document.body.appendChild(oTTdiv);
			}
		}
	}

	if(!oTTdiv)
	{
		return false;
	}
	else
	{
		oTTdiv.style.position	= 'absolute';
		oTTdiv.style.display	= 'block';
		oTTdiv.style.visibility	= 'visible';
		oTTdiv.className		= 'clsTooltip';
		oTTdiv.style.zIndex		= 16383; // Mega on top.
		oTTdiv.innerHTML		= oObj.tooltiptext;
		oTTdiv.style.top		= oObj.tooltipPosY;
		oTTdiv.style.left		= oObj.tooltipPosX;
	}

	return true;
}



function HideTooltip(oObj)
{
	var oTTdiv;

	oTTdiv = window.document.getElementById('oTooltipDiv');

	if(oTTdiv)
	{
		oTTdiv.style.display	= 'none';
	}

	return true;
}
