var sL = {
	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;
	  }
	},
	handleLink: function(e) {
	  var el;
	  if (window.event && window.event.srcElement)
		el = window.event.srcElement;
	  if (e && e.target)
		el = e.target;
	  if (!el)
		return;
	
	  while (el.nodeName.toLowerCase() != 'a' &&
		  el.nodeName.toLowerCase() != 'body')
		el = el.parentNode;
	
		window.open(el.href, "popup", "height=350, width=250, scrollbars=yes");
		if (window.event) {
		  window.event.cancelBubble = true;
		  window.event.returnValue = false;
		}
		if (e && e.stopPropagation && e.preventDefault) {
		  e.stopPropagation();
		  e.preventDefault();
		}
	},
	
	cancelClick: function() {
	  return true;
	},
	
	// here's the bit that installs the listeners
	
	addListeners: function() {
	  if (!document.getElementById)
		return;
	
	  var all_links = document.getElementsByTagName('a');
	  for (var i = 0; i < all_links.length; i++) {
		sL.addEvent(all_links[i], 'click', sL.handleLink, false);
		all_links[i].onclick = sL.cancelClick;
	  }
	}
}


// Here's the smart link code
sL.addEvent(window, 'load', sL.addListeners, false);

