var eventUntil = {
addHandler: function(dom, type, fn) {
if (dom.addEventListener) {
dom.addEventListener(type, fn, false);
} else if (dom.attachEvent) {
dom.attachEvent("on" + type, fn);
} else {
dom['on' + type] = fn;
}
},
removeHandler: function(dom, type, fn) {
if (dom.removeEventListener) {
dom.removeEventListener(type, fn, false);
} else if (dom.detachEvent) {
dom.detachEvent("on" + type, fn);
} else {
dom['on' + type] = null;
}
},
getEventObject: function(e) {
return e || window.event;
},
getEventTarget: function(e) {
var eve = this.getEventObject(e);
if (eve.target) {
return eve.target
} else {
return eve.srcElement
}
},
stopPropagation: function(e) {
var eve = this.getEventObject(e);
if (eve.stopPropagation) {
eve.stopPropagation();
} else {
eve.cancelBubble = true;
}
},
preventDefault: function(e) {
var eve = this.getEventObject(e);
if (eve.preventDefault) {
eve.preventDefault();
} else {
eve.returnValue = false;
}
}
};