var Events = function() {};

Events.AddEvent = function(objObject, strMethodName, objArguments)
{
  /* The returned inner function is intended to act as an event
     handler for a DOM element:-
  */
  return(function(e){
      /* The event object that will have been parsed as the - e -
         parameter on DOM standard browsers is normalised to the IE
         event object if it has not been passed as an argument to the
         event handling inner function:-
      */
      e = e||window.event;
      /* The event handler calls a method of the object - obj - with
         the name held in the string - methodName - passing the now
         normalised event object and a reference to the element to
         which the event handler has been assigned using the - this -
         (which works because the inner function is executed as a
         method of that element because it has been assigned as an
         event handler):-
      */
      return(objObject[strMethodName](e, this, objArguments));
  });
}