var mousePos = new Object;
var showPopupInElementId;
var showPopupType;
var popupTimerId;

if (typeof HTMLElement != "undefined")
{
	HTMLElement.prototype.contains = function(node) {
		if (node == null)
			return false;
		if (node == this)
			return true;
		else
			return this.contains(node.parentNode);
	}
}


function showInfoPopUpBoxWithDelay(event, inElementId, inPopupType, inDelay)
{
	var theMousePosition = new MousePosition();

	showPopupType = inPopupType;
	showPopupInElementId = inElementId;
	showPopupMouseEvent = event;
	if(inDelay === undefined)
		inDelay = 500;

	theMousePosition.getMouseOverPosition(event);
	mousePos['xx'] = theMousePosition.xScreenPosition;
	mousePos['yy'] = theMousePosition.yScreenPosition;

	popupTimerId = setTimeout ( "showInfoPopUpBox()", inDelay);
}


function showInfoPopUpBox()
{

	var popupType = showPopupType;
	var left;
	var top;
	var inElement = document.getElementById(showPopupInElementId);
	inElement.style.display = "block";
	inElement.style.visibility = "hidden";
	if(popupType == "pop-up-above-right")
	{
		left =  35;
		top = inElement.offsetHeight;
	}
	else if(popupType == "pop-up-below-left")
	{
		left = (inElement.offsetWidth - 25);
		top = 0;
	}
	else if(popupType == "pop-up-below-right")
	{
		left =  15;
		top = 0;
	}

	if(document.all)
	{
		inElement.style.pixelLeft = (mousePos['xx'] - left);
		inElement.style.pixelTop = mousePos['yy'] - top;
	}
	else
	{
		inElement.style.left = (mousePos['xx'] - left) + 'px';
		inElement.style.top = (mousePos['yy'] - top) + 'px';
	}
	inElement.style.visibility = "visible";
}


function hideInfoPopUpBox(inElementId)
{
	clearTimeout ( popupTimerId );
	var inElement = document.getElementById(inElementId);
	inElement.style.display = "none";
}
