var getEvent = function(e) {
  if(!e) {
    if(!window.event) {
      return null;
    }
    e = window.event;
  }
  
  e.src = e.srcElement || e.target;
  
  return e;
};

var addEvent = function(object, evt, func, capture) {
  if (typeof(func) != 'function') {
    return false;
  }
  
  if (object.addEventListener) {
    object.addEventListener(evt, func, capture);
    return true;
  } else if (object.attachEvent) {
    object.attachEvent('on' + evt, func);
    return true;
  }
  
  return false;
};

var removeEvent = function(object, evt, func, capture) {
  if (typeof(func) != 'function') {
    return false;
  }
  
  if (object.removeEventListener) {
    object.removeEventListener(evt, func, capture);
    return true;
  } else if (object.detachEvent) {
    object.detachEvent('on' + evt, func);
    return true;
  }
  
  return false;
};