function log(msg) { return window.console ? console.log(msg) : null; }

$.expr[':'].external  = function(obj) { return !obj.href.match(/^mailto:/) && (obj.hostname != document.location.hostname); };
$("a:external").attr({target: "_blank"});

$.expr[':'].mailto  = function(obj) { return obj.href.match(/^mailto:/); };


document.onclick = function(event) 
{
	event = event || window.event;
	var target = event.target || event.srcElement,
		targetElement = target.tagName.toLowerCase();

	if (targetElement == "a") {
		var href = target.getAttribute("href"),
			urlHost = document.domain.replace(/^www\./i,"");
		var urlPattern = "^(?:https?:)?\/\/(?:(?:www)\.)?" + urlHost + "\/?";
		eventCheck(href,urlPattern);
	}
 
	function eventCheck(href,urlPattern)
	{
		if ((href.match(/^https?\:/i)) && (!href.match(urlPattern))){
			if (href.match(/^.*\.(pdf|jpg|png|gif|zip|mp3|txt|doc|rar|js|py)$/i)) {
				_gaq.push(['_trackEvent', 'Download', 'click', href]);
			} else {
				_gaq.push(['_trackEvent', 'External', 'click', href]);
			}
		} else if (href.match(/^mailto\:/i)) {
			_gaq.push(['_trackEvent', 'Email', 'click', href.substr(7)]);
		} else if (href.match(/^.*\.(pdf|jpg|png|gif|zip|mp3|txt|doc|rar|js|py)$/i)) {
			_gaq.push(['_trackEvent', 'Download', 'click', href]);
		}
	}
};
