﻿function containsTag(containerNode, containedNode) 
{ 
	while (containedNode) 
	{
		if (containedNode == containerNode)
			return true; 
		containedNode = containedNode.parentNode;
	}
	return false;
}

function SetInnerText(element, text)
{
	// Firefox support
	if (typeof(element.innerText) != "undefined")
		element.innerText = text;
	else
		element.textContent = text;
}
function GetInnerText(element)
{
	// Firefox support
	if (typeof(element.innerText) != "undefined")
		return element.innerText;
	else
		element.textContent;
}
function CancelEvent(e)
{
	e = e || window.event; 
	e.cancelBubble = true; 
	e.returnValue = false; 
	if (e.stopPropagation) e.stopPropagation(); 
	if (e.preventDefault) e.preventDefault(); 
	return false; 
}
function CalcPos(element)
{
    var pos = new Object();

	if (typeof(element.clientLeft) != "undefined")
	{
		pos.x = element.offsetLeft + element.clientLeft;
		pos.y = element.offsetTop + element.clientTop;
	}
	else
	{
		pos.x = 0;
		pos.y = 0;
		while (element != null)
		{
			pos.x += element.offsetLeft;
			pos.y += element.offsetTop;
			element = element.offsetParent;
		}
    }
    return pos;
}
function CalMousePos(e)
{
	var scrollTop = (window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop); // pageYOffset is Safari syntax
    var scrollLeft = (window.pageXOffset ? window.pageXOffset : document.documentElement.scrollLeft);
	return {"x" : (e.clientX + scrollLeft),
			"y" : (e.clientY + scrollTop)};
}