
function Coordinates(intXCoordinate, intYCoordinate)
{
	this.X = intXCoordinate;
	this.Y = intYCoordinate;
}

function Common()
{
	
}

Common.getMouseCoordinates = function(objEvent)
{
	var intXCoordinate = 0;
	var	intYCoordinate = 0;
	var objCoordinates = null;
	
	if (objEvent.pageX)
	{
		intXCoordinate = objEvent.pageX;
		intYCoordinate = objEvent.pageY;
	}
	else if (objEvent.clientX)
	{
		intXCoordinate = objEvent.clientX;
		intXCoordinate += ((document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft);	

		intYCoordinate = objEvent.clientY;
		intYCoordinate += ((document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop);	
	}
	
	objCoordinates= new Coordinates(intXCoordinate, intYCoordinate);
	
	return objCoordinates;
}

Common.getElementCoordinates = function(objElement)
{
	var intXCoordinate = 0;
	var	intYCoordinate = 0;
	var objCoordinates = null;

	if (objElement.offsetParent)
	{
		while(objElement.offsetParent)
		{
			intXCoordinate += objElement.offsetLeft;
			intYCoordinate += objElement.offsetTop;
			
			objElement = objElement.offsetParent;
		}
	}
	else if (objElement.x)
	{
		intXCoordinate += objElement.x;
		intYCoordinate += objElement.y;
	} 

	objCoordinates= new Coordinates(intXCoordinate, intYCoordinate);
	
	return objCoordinates;
}

Common.doesElementContainCoordinates = function(objElement, objCoordinates)
{
	var objElementCoordinates = null;
	var blnContainsCoordinates = false;
	
	objElementCoordinates = Common.getElementCoordinates(objElement);
	if (((objCoordinates.X >= objElementCoordinates.X) && (objCoordinates.X <= objElementCoordinates.X + objElement.offsetWidth)) && ((objCoordinates.Y >= objElementCoordinates.Y) && (objCoordinates.Y <= objElementCoordinates.Y + objElement.offsetHeight)))
	{
		blnContainsCoordinates = true;
	}
	
	return blnContainsCoordinates;
}

Common.getEvent = function(objEvent)
{
	if (objEvent == null)
	{
		objEvent = event;
	}
	
	return objEvent;
}
	
Common.getEventSource = function(objEvent)
{
	var objEventSource = null;
	
	if (objEvent == null)
	{
		objEvent = event;
	}
	
	objEventSource = ((objEvent.target != null) ? objEvent.target : objEvent.srcElement);
	
	return objEventSource;
}
	
