// Mouse handling script...
var mousePos;

var user_idle = false;
var user_idle_timer = null;

document.onmousemove = mouseMove;


function SetUserIdle() {

	user_idle = true;
	clearInterval( user_idle_timer );
}


function ScrollCoords()
{
	var scrollX, scrollY;
	
	if (document.all)
	{
		if (!document.documentElement.scrollLeft)
			scrollX = document.body.scrollLeft;
		else
			scrollX = document.documentElement.scrollLeft;
				
		if (!document.documentElement.scrollTop)
			scrollY = document.body.scrollTop;
		else
			scrollY = document.documentElement.scrollTop;
	}   
	else
	{
		scrollX = window.pageXOffset;
		scrollY = window.pageYOffset;
	}

	return {x:scrollX, y:scrollY}
	
}


function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x , y:mousePos.y - docPos.y  };
}


function mouseMove(ev){
	ev           = ev || window.event;
	
	mousePos = mouseCoords(ev);

	

	user_idle = false;

	clearInterval( user_idle_timer );
	user_idle_timer = setInterval("SetUserIdle()",60000);

	//return false;
}

function getPosition(e){

	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
		if( e == document.body ) break;
	}

	return {x:left, y:top};

}

function mouseCoords(ev) {
	
	if( ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY}; // mozilla
	}
	var scoords = ScrollCoords();
	return {
		//x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		//y:ev.clientY + document.body.scrollTop  - document.body.clientTop
		
		x:ev.clientX,
		y:ev.clientY + scoords.y
		
	};
}	


