//Track Downloads, External Links, and Mailto's
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){
		var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i");
		var isDownload = new RegExp("\\.(doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3|exe|gif)$", "i");
		var extension = isDownload.exec(href);
		
        if ((href.match(/^https?\:/i)) && (!href.match(urlPattern))){
            if (href.match(/^.*\.(doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3|exe|gif)$/i)) {
                pageTracker._trackPageview(href);
				pageTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
				rollupTracker._trackPageview(href);
				rollupTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
				oldTracker._trackPageview(href);
				oldTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
            } else {
                pageTracker._trackEvent("Outgoing links", "Click", href); 
				rollupTracker._trackEvent("Outgoing links", "Click", href); 
				oldTracker._trackEvent("Outgoing links", "Click", href); 
            }
        } else if (href.match(/^mailto\:/i)) {
	        pageTracker._trackEvent("Mails", "Click", href.substr(7));
			rollupTracker._trackEvent("Mails", "Click", href.substr(7));
			oldTracker._trackEvent("Mails", "Click", href.substr(7));
        } else if (href.match(/^.*\.(doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3|exe|gif)$/i)) {
                pageTracker._trackPageview(href);
				pageTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
				rollupTracker._trackPageview(href);
				rollupTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
				oldTracker._trackPageview(href);
				oldTracker._trackEvent("Downloads", extension[1].toUpperCase(), href.replace(isInternal, ''));
        }
    }
};