﻿//定义.NaN0
Number.prototype.NaN0=function(){return isNaN(this)?0:this;}
//获取鼠标文档坐标
function MouseCoords(ev){
	if(ev.pageX || ev.pageY){//Firefox
		return {x:ev.pageX, y:ev.pageY};
	}
	return {//IE
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}
//获取鼠标相对target的相对坐标
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};
}
//返回item相对页面左上角的坐标
function GetPosition(e){
	var left = 0;
	var top  = 0;
	while (e.offsetParent){
		left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
		top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
		e     = e.offsetParent;
	}

	left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
	top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);

	return {x:left, y:top};

}
function GetTarget(ev){
    ev = ev || window.event;
	//Firefox uses event.target here, MSIE uses event.srcElement
	var target   = ev.target || ev.srcElement;
	return target;
}
