/**
 * @author chasevida
 * Event Handling Model
 */

if (!com_chasevida) var com_chasevida = {};
else if (com_chasevida && typeof(com_chasevida) != "object")
    throw new Error("com_chasevida is not an Object type");

com_chasevida.EVENTS = {
    NAME: "Event handling module",
    VERSION: 1.0,
    
    addEventHandler: function(objNode, sEvt, fnHandler, bCapture) {
        if (objNode.attachEvent) {
        	objNode.attachEvent("on" + sEvt, fnHandler);
        } else {
        	objNode.addEventListener(sEvt, fnHandler, bCapture);
        }
    },

    removeEventHandler: function(objNode, sEvt, fnHandler, bCapture) {
        if (objNode.detachEvent) {
        	objNode.detachEvent("on" + sEvt, fnHandler);
        } else {
        	objNode.removeEventListener(sEvt, fnHandler, bCapture);
        }
    },

    getEventTarget: function(evt) {
        if (window.event) return window.event.srcElement;
        else return evt.target;
    },

    stopEvent: function(evt) {
        if (window.event) window.event.cancelBubble = true;
        else evt.stopPropagation();
    },
    
    preventDefault: function(evt) {
        if (window.event) window.event.returnValue = false;
        else evt.preventDefault();
    }
}

