addEvent(document,'click',onClickHandler);

function onClickHandler(evt) {
	evt = fixEvent(evt);
	if (evt.button && evt.button>1) return;
	e = evt.target;
	if (!e) return;
	// handle #mailto anti-spam mechanism
	if (e.parentNode && e.parentNode.tagName && e.parentNode.tagName=='A' && e.parentNode.hash && e.parentNode.hash=='#mailto') {
		e = e.parentNode;
	}
	if (e.tagName && e.tagName=='A' && e.hash && e.hash=='#mailto') {
		window.location.href = 'mailto:'+e.innerHTML.replace(/\s+@\s+/,'@').replace(/\s+\.\s+/,'.');
		e.blur();
		if (evt.cancelable) evt.preventDefault();
		return false;
	}
}


function fixEvent(evt) {
	if (!evt) evt = window.event;
	if (evt.target) {
		if (evt.target.nodeType == 3) evt.target = evt.target.parentNode;
	} else if (evt.srcElement) evt.target = evt.srcElement;

	return evt;
}



function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Event handler could not be added");
  }
} 

