JKow.namespace(["Input.Mouse"]);

/***********************************************
 * states:
 * 	note: UP and DOWN assume right mouse
 **********************************************/
JKow.Input.Mouse.states = {
	'OUT'  : 0x00,
	'OVER' : 0x01,
	'DOWN' : 0x02,
	'UP'   : 0x04,
	'MOVE' : 0x08
};

JKow.Input.Mouse.getMousePosition = function(e){
	var r = { x: null, y : null };
	e = e || event;
	try {
	if (document.documentElement.scrollLeft){
		r.x = e.clientX + document.documentElement.scrollLeft;
	} else if (e.pageX) {
		r.x = e.pageX; 
	} else if (window.scrollX){
		r.x = e.clientX + window.scrollX;
	} else if (document.body.scrollLeft){
		r.x = e.clientX + document.body.scrollLeft;
	} else if (e.clientX) {
		r.x = e.clientX;
	} 

	if (document.documentElement.scrollTop){
		r.y = e.clientY + document.documentElement.scrollTop;
	} else if (e.pageY){
		r.y = e.pageY;
	} else if (window.scrollY){
		r.y = e.clientY + window.scrollY;
	} else if (document.body.scrollTop){
		r.y = e.clientY + document.body.scrollTop;
	} else if (e.clientY) {
		r.y = e.clientY;
	}
	} catch(ex) {} 
	return r;
}
