// dw_event.js version date Apr 2008
// basic event handling file from dyn-web.com

var dw_Event = {
 
  add: function(obj, etype, fp, cap) {
    cap = cap || false;
    if (obj.addEventListener) obj.addEventListener(etype, fp, cap);
    else if (obj.attachEvent) obj.attachEvent("on" + etype, fp);
  }, 
  remove: function(obj, etype, fp, cap) {
    cap = cap || false;
    if (obj.removeEventListener) obj.removeEventListener(etype, fp, cap);
    else if (obj.detachEvent) obj.detachEvent("on" + etype, fp);
  }, 
  
  DOMit: function(e) { 
    e = e? e: window.event; // e IS passed when using attachEvent though ...
    if (!e.target) e.target = e.srcElement;
    // don't seem to work if not using attachEvent (moral: be consistent, use old OR new models)
    if (!e.preventDefault) e.preventDefault = function () { e.returnValue = false; return false; }
    if (!e.stopPropagation) e.stopPropagation = function () { e.cancelBubble = true; }
    return e;
  },
  
  getTarget: function(e) {
    e = dw_Event.DOMit(e); var tgt = e.target; 
    if (tgt.nodeType != 1) tgt = tgt.parentNode; // safari...
    return tgt;
  }
  
}

// Danny Goodman's version (DHTML def ref)
function addLoadEvent(func) {
  var oldQueue = window.onload? window.onload: function() {};
  window.onload = function() {
    oldQueue();
    func();
  }
}

