﻿/* Event Libarary */

if(window.captureEvents)
	if(Event.MOUSEMOVE)
    	window.captureEvents(Event.MOUSEMOVE);

window.onmousemove = evtXY; 

if(dom && !ie)
	document.addEventListener("mousemove",evtXY,true);

xy = new Array();

function getMouseX(e)
{
	if(ns4)
		return xy[0];
	else if(dom && !ie)
	{
	    //alert("Mouse X (dom && !ie): " + xy[0]);
		return xy[0];
	}
	else
	{
	    //alert("Mouse X (else): " + evtXY(e)[0]);
		return evtXY(e)[0];
	}
}

function getMouseY(e)
{
	if(ns4)
		return xy[1];
	else if(dom && !ie)
	{
	    //alert("Mouse Y (dom && !ie): " + xy[1]);
		return xy[1];
	}
	else
	{
	    //alert("Mouse Y (else): " + evtXY(e)[1]);
		return evtXY(e)[1];
	}
}

function evtXY(e)
{
//    if(ie)
//	    debugger;
	
	if(!e)
	{
		if(window.event)
			e = window.event;
		else
			return;
	}

	if(typeof(e.pageX) == 'number')
	{
		xy[0] = e.pageX;
		xy[1] = e.pageY;
		return xy;
	}
	else
	{
		if(typeof(e.clientX) == 'number')
		{
	    	xy[0] = document.body.scrollLeft + e.clientX;
			xy[1] = document.body.scrollTop + e.clientY;
	      	    
	      	if(dom)
			{
		    	if(document.body && (document.body.scrollLeft || document.body.scrollTop))
				{
			    	xy[0] += document.body.scrollLeft;
					xy[1] += document.body.scrollTop;
				}
		    	else if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
				{
				    
			    	xy[0] += document.documentElement.scrollLeft;
					xy[1] += document.documentElement.scrollTop;
				}
		    }
		    
		    if(ie)
		    {
		        if(document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
			    {
				    
		    	    xy[0] += document.documentElement.scrollLeft;
				    xy[1] += document.documentElement.scrollTop;
			    }
		    }
		}
		else
			return;
	}
	
	return xy;
}