var eventUtil = new Object;eventUtil.addEventHandler = function (target, eventType, handler) ... { if (target.addEventListener) ...{ target.addEventListener(eventType, handler, false); } else if (target.attachEvent) ...{ target.attachEvent("on" + eventType, handler); } else ...{ target["on" + eventType] = handler; }} ;eventUtil.removeEventHandler = function (target, eventType, handler) ... { if (target.removeEventListener) ...{ target.removeEventListener(eventType, handler); } else if (target.detachEvent) ...{ target.detachEvent("on" + eventType, handler); } else ...{ target["on" + eventType] = null; }} ;eventUtil.formatEvent = function (evt) ... { if (isIE && isWin) ...{ evt.charCode = (evt.type == "keypress") ? evt.keyCode : 0; evt.eventPhase = 2; evt.isChar = (evt.charCode > 0); evt.pageX = evt.clientX + document.body.scrollLeft; evt.pageY = evt.clientY + document.body.scrollTop; evt.preventDefault = function() ...{ this.returnvalue = false; }; if (evt.type == "mouseout") ...{ evt.relatedTarget = evt.toElement; } else if (evt.type == "mouseover") ...{ evt.relatedTarget = evt.fromElement; } evt.stopPropagation = function() ...{ this.cancelBubble = true; }; evt.target = evt.srcElement; evt.time = (new Date()).getTime(); } return evt;} ;eventUtil.getEvent = function () ... { if (window.event) ...{ return this.formatEvent(window.event); } else ...{ return EventUtil.getEvent.caller.arguments[0]; }} ;