/*
*  == General Info ==
*  Use: Handles browser event listener differentiations
*  Date: 20th May 2006
*/

var ua="msie";
var W=navigator.userAgent.toLowerCase();

if ( W.indexOf("opera") != -1 ) { ua="opera" }
else if ( W.indexOf("msie") != -1 ) { ua="msie" }
else if ( W.indexOf("mozilla") != -1 ) { ua="gecko" }

function myAddEventListener(obj,event,listener){
  if ( ua=="gecko" || ua=="opera" ) { obj.addEventListener(event,listener,false) }
  else if ( ua=="msie" ) { obj.attachEvent("on"+event,listener) }
};

function myRemoveEventListener(obj,event,listener){
  if ( ua=="gecko" || ua=="opera" ) { obj.removeEventListener(event,listener,false) }
  else if ( ua == "msie" ) { obj.detachEvent("on"+event,listener) }
};

function _el(id){ return document.getElementById(id) }

function createMethodReference(object,methodName){
  return function(){ object[methodName].apply(object,arguments) }
};