/**
 * Events.js
 * Create a simple event handling interface.  This is really stripped down.
 */

Events = new Object();

/**
 * preventDefault
 * Call to stop the default action from occuring
 */
Events.preventDefault = function(e){
  try{
    if(document.addEventListener){
      e.preventDefault();
    }else{
      e.returnValue = false;
    }
  }catch(e){
    alert("Error:  Events.preventDefault");
  }
  return;
}

/**
 * addEvent
 * Add an event listener
 * n DOM Node                Node to add event to
 * e String                  Event name, i.e. "mouselook", "click", etc.
 * h Function                Event handler
 */
Events.addEvent = function(n, e, h){
  try{
    if(document.addEventListener){
      // DOM L2 method
      n.addEventListener(e, h, false);
    }else if(document.attachEvent){
      // IE method
      n.attachEvent("on" + e, h);
    }else{
      return false;
    }
  }catch(e){
    alert("Error:  Events.addEvent");
    return false;
  }
  return true;
}

/**
 * remEvent
 * Remove an event listener
 * n DOM Node                Node to remove event from
 * e String                  Event name, i.e. "mouselook", "click", etc.
 * h Function                Event handler
 */
Events.remEvent = function(n, e, h){
  try{
    if(document.addEventListener){
      // DOM L2 method
      n.removeEventListener(e, h, false);
    }else if(document.attachEvent){
      // IE method
      n.detachEvent("on" + e, h);
    }else{
      return false;
    }
  }catch(e){
    alert("Error:  Events.remEvent");
    return false;
  }
  return true;
}
