var EventUtil = new Object;
EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
	if (oTarget.addEventListner) {
		oTarget.addEventListner(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.removeEventListner) {
		oTarget.removeEventListner(sEventType, fnHandler, false);
	}else if (oTarget.detachEvent) {
		oTarget.detachEvent('on' + sEventType, fnHandler);
	}else{
		oTarget['on' + sEventType] = null;
	}
};
EventUtil.formatEvent = function (oEvent) {
	if (bIsIE) {
		oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
		oEvent.eventPhase = 2;
		oEvent.isChar = (oEvent.charCode > 0);
		oEvent.pageX = oEvent.clientX + document.body.scrollLeft;
		oEvent.pageY = oEvent.clientY + document.body.scrollTop;
		oEvent.preventDefault = function () {
			oEvent.returnValue = false;
		};
		if (oEvent.type == "mouseout") {
			oEvent.relatedTarget = oEvent.fromElement;
		}else if (oEvent.type== "mouseover") {
			oEvent.relatedTarget = oEvent.toElement;
		}
		oEvent.stopPropagation = function () {
			this.returnValue = false;
			this.cancelBubble = true;
		};
		oEvent.target = oEvent.srcElement;
		oEvent.timeStamp = (new Date).getTime();
	}
	return oEvent;
};
EventUtil.getEvent = function () {
	if(window.event) {
		return this.formatEvent(window.event);
	}else{
		return EventUtil.getEvent.caller.arguments[0];
	}
};
