try {
	document.addEventListener('click', handleClick, false);
} 
catch(e) {
	if(document.attachEvent) {
		document.attachEvent('onclick', handleClick);
	} else {
		document.onclick = handleClick;
	}
}

function handleClick(e) {
	var event = e || window.event;
	if(event.ctrlKey || event.shiftKey || event.altKey) return true;
	if(event.which && event.which != 1) return true;

	var target = event.target || event.srcElement;
	while(target && !/^a$/i.test(target.nodeName)) {
		target = target.parentNode;
	}

	if(!target || !target.getAttribute('rel')) return true;

   var rel = target.getAttribute('rel');
   var href = target.getAttribute('href');
   
   switch(rel.substring(0,8)) {
	  case 'external':
		 window.open(href);
		 break;
	  default:
		 return true;
   }

   try { event.preventDefault(); } catch(e){}
   return false;
}


