
	var boolMouseInitialized = false;

	var aryMouseListeners = new Array(10);
	var intMouseListenersCount = -1;
	
	var intCurrMouseX = 0;
	var intCurrMouseY = 0;
	
	var boolMouseMoveReturnValue = true;
	
	function addMouseListener(strListeningFunction)
	{
		intMouseListenersCount++;
		aryMouseListeners[intMouseListenersCount] = strListeningFunction;
	}
	
	function mouseMove(objEvent)
	{
		if( ! objEvent )
		{
			intCurrMouseX = event.x;
			intCurrMouseY = event.y;
		}
		else
		{
			intCurrMouseX = objEvent.pageX;
			intCurrMouseY = objEvent.pageY;
		}
		
		for( i = 0; i <= intMouseListenersCount; i++ )
			eval( aryMouseListeners[intMouseListenersCount] + '(' + intCurrMouseX + ',' + intCurrMouseY + ');' );
			
		return boolMouseMoveReturnValue;
	}
	
	function initMouse()
	{
		if( boolMouseInitialized )
			return;
			
		document.onmousemove=mouseMove;
		
		boolMouseInitialized = true;
	}
