var sUserAgent = navigator.userAgent;
var isIE = sUserAgent.indexOf("compatible") > -1
		   && sUserAgent.indexOf("MSIE") > -1;
var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");

var EventUtil = new Object;

EventUtil.addEventHandler = 
function (oTarget, sEventType, fnHandler) 
{
	if (oTarget.addEventListener) 
	{
	oTarget.addEventListener(sEventType, fnHandler, false);
	}
	else if (oTarget.attachEvent) 
	{
		oTarget.attachEvent("on"+sEventType, fnHandler);
	}
	else
	{
		oTarget["on" + sEventType] = fnHandler;
	}
};

EventUtil.removeEventHandler = 
function (oTarget, sEventType, fnHandler) 
{
	if (oTarget.removeEventListener) 
	{
	oTarget.removeEventListener(sEventType, fnHandler, false);
	}
	else if (oTarget.detachEvent) 
	{
		oTarget.detachEvent("on"+sEventType, fnHandler);
	}
	else
	{
		oTarget["on" + sEventType] = fnHandler;
	}
};

EventUtil.formatEvent = 
function (oEvent)
{
	if (isIE && isWin) 
	{
		oEvent.eventPhase = 2;
		oEvent.preventDefault = function () {
			this.returnValue = false;
		}
		oEvent.stopPropagation = function () {
			this.cancelBubble = true;
		}
		oEvent.target = oEvent.srcElement;
	}
	return oEvent;
};

EventUtil.getEvent =
function ()
{
	if (window.event) 
	{
		return this.formatEvent(window.event);
	} 
	else 
	{
		return EventUtil.getEvent.caller.arguments[0];
	}
};
