var external = {

  addEvent: function(elm, evType, fn, useCapture) 
  {
    // cross-browser event handling for IE5+, NS6 and Mozilla By Scott Andrew
    if (elm.addEventListener) 
    {
      elm.addEventListener(evType, fn, useCapture);
      return true;
    }
    else if (elm.attachEvent)
    { 
      var r = elm.attachEvent('on' + evType, fn);
      return r;
    }
    else
    {
      elm['on' + evType] = fn;
    }
  },

  init: function() 
  {
    if (!document.getElementById) return;
    
    var length = document.links.length;
    for (i = 0; i < length; i++)
    {
    	if(document.links[i].className == 'external')
	{
		external.addEvent(document.links[i],"click",external.newWindow, false);
	}
    }
  },
  
  newWindow: function(e)
  {
    var el;
    if (window.event && window.event.srcElement)
    	el = window.event.srcElement;
    if (e && e.target)
  	el = e.target;
    if (!el)
    	return;  
  
    window.open(el.href);
    if (window.event)
    {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.stopPropagation && e.preventDefault)
    {
      e.stopPropagation();
      e.preventDefault();
    }	
  }
}

external.addEvent(window,"load",external.init, false);
