function getEventObj(args) { return args.length?args[0]:window.event; }

function ReturnEventTarget(ev, sTag)
{
	var el = ev.srcElement;
	if (!el)
		el = ev.target;

	if (arguments.length>1)
	{
		while (el && el.tagName != sTag)
			el = el.parentNode;
	}

	return el;
}

function getEventButton(e)
{
	var arrN = ["left","middle","right"];
	var ie = !!e.srcElement;
	var b;
	if (b=e.button)
	{
		if (ie)
		{
			var arr = [1,4,2];
			var s="";
			for (var i=0; i<3; i++)
				if (b&arr[i])
					s += (s.length?"_":"") + arrN[i];
			return s;
		}
		else if (b>=0 && b<3)
			return arrN[b];
	}
	else if (b=e.which)
		if(b>0 && b<4)
			return arrN[b-1];
}

function getLoc(e)
{
	var x=0, y=0;
	while (e && e.nodeType==1)
	{
		x += e.offsetLeft;
		y += e.offsetTop;
		e = e.offsetParent;
	}
	return [x,y];
}

function getEventOffsetEl(el, ev)
{
	var x, y;
	if (ev.offsetX)
	{
		x=ev.offsetX;
		y=ev.offsetY;
	}
	else
	{
		var xy=getLoc(el);
		x=ev.clientX-xy[0];
		y=ev.clientY-xy[1];
	}
	return [x,y];
}



