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)
	{
		case 'external':
			window.open(href);
			break;
		default:
			return true;
	}

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