// Taken from here: http://goo.gl/kkxcg
var addEvent = (function () {
   var filter = function(el, type, fn) {
      for ( var i = 0, len = el.length; i < len; i++ ) {
         addEvent(el[i], type, fn);
      }
   };
   if ( document.addEventListener ) {
      return function (el, type, fn) {
         if ( el && el.nodeName || el === window ) {
            el.addEventListener(type, fn, false);
         } else if (el && el.length) {
            filter(el, type, fn);
         }
      };
   }
 
   return function (el, type, fn) {
      if ( el && el.nodeName || el === window ) {
         el.attachEvent('on' + type, function () { return fn.call(el, window.event); });
      } else if ( el && el.length ) {
         filter(el, type, fn);
      }
   };
})();

// minified version
var addEvent=function(){var d=function(a,b,c){for(var e=0,d=a.length;e<d;e++)addEvent(a[e],b,c)};return document.addEventListener?function(a,b,c){a&&a.nodeName||a===window?a.addEventListener(b,c,!1):a&&a.length&&d(a,b,c)}:function(a,b,c){a&&a.nodeName||a===window?a.attachEvent("on"+b,function(){return c.call(a,window.event)}):a&&a.length&&d(a,b,c)}}();
// usage
addEvent( document.getElementsByTagName('a'), 'click', fn);