/*-- 
Description: Singleton utility object for working with events.
--*/

function JEventUtil(){};

//Assign event handler to a given dom object
JEventUtil.addEvent = function( obj, type, fn ){
  try{
    if (obj.addEventListener)
      obj.addEventListener( type, fn, false );
    else if (obj.attachEvent)
    {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
    }
  }catch(e){
    var _err = new Error("JEventUtil says -Most likely you passed in an invalid element node reference when assigning an event handler.");
    _err.name = "JError";
    throw _err;
  }
}

JEventUtil.removeEvent = function( obj, type, fn ){
  if (obj.removeEventListener)
    obj.removeEventListener( type, fn, false );
  else if (obj.detachEvent)
  {
    obj.detachEvent( "on"+type, obj[type+fn] );
    obj[type+fn] = null;
    obj["e"+type+fn] = null;
  }
}

//This accepts an dom event object and returns an obj ref to the dom element that fired the event
//accomodates difference between mozilla based and IE based browsers
JEventUtil.getTarget = function(evt){
  var _target=(evt.target)?evt.target:evt.srcElement;
  return _target;
}
-->