var bUseEventForOutbound = true;
var bUseEventForDownload = true;
var gaA_fileTypes = new RegExp(/\.(docx*|xlsx*|pptx*|exe|zip|pdf|xpi)$/i);
var gaA_pageTracker = pageTracker;
var gaAddons = function(){
    var startListening = function(obj, evnt, func){
        if (obj.addEventListener) 
            obj.addEventListener(evnt, func, false);
        else 
            if (obj.attachEvent) 
                obj.attachEvent("on" + evnt, func);
    }
    var trackDocument = function(evnt){
		evnt=evnt||event;
		var elmnt = evnt.srcElement||evnt.target;
		var pathname = ("/" + elmnt.pathname).replace(/\/\//,'');
        bUseEventForDownload ? gaA_pageTracker._trackEvent("download", "click", pathname) : gaA_pageTracker._trackPageview("/download" + pathname);
    }
    var trackExternalLink = function(evnt){
		evnt=evnt||event;
        var elmnt = evnt.srcElement||evnt.target;
        if (elmnt) {
            while (elmnt.tagName != "A") 
                elmnt = elmnt.parentNode;
            if (/http/.test(elmnt.protocol)) {
				url = elmnt.href.substr(elmnt.href.indexOf('//')+2,Infinity);
				bUseEventForOutbound ? gaA_pageTracker._trackEvent("outbound", "click", url) : gaA_pageTracker._trackPageview(("/outbound/" + url));
			}
            if (elmnt.protocol == "mailto:") 
                bUseEventForOutbound ? gaA_pageTracker._trackEvent("mailto", "click", elmnt.href.replace(/mailto:/, "")) : gaA_pageTracker._trackPageview("/mailto/" + elmnt.href.replace(/mailto:/));
        }
        else {
            if (/http/.test(this.protocol)) {
				url = this.href.substr(this.href.indexOf('//')+2,Infinity);
				bUseEventForOutbound ? gaA_pageTracker._trackEvent("outbound", "click", url) : gaA_pageTracker._trackPageview("/outbound/" + url);
			}
            if (this.protocol == "mailto:") 
                bUseEventForOutbound ? gaA_pageTracker._trackEvent("mailto", "click", this.href.replace(/mailto:/, "")) : gaA_pageTracker._trackPageview("/mailto/" + this.href.replace(/mailto:/));
        }
    }
    if (document.getElementsByTagName && typeof gaA_pageTracker == "object") {
        var hrefs = document.getElementsByTagName('a');
        for (var l = 0, m = hrefs.length; l < m; l++) 
            if (gaA_fileTypes.test(hrefs[l].pathname)) 
                startListening(hrefs[l], "click", trackDocument);
            else 
                if (hrefs[l].hostname != location.hostname) 
                    startListening(hrefs[l], "click", trackExternalLink);
    }
}
if (window.addEventListener)
    window.addEventListener('load', gaAddons, false);
else 
    if (window.attachEvent)
        window.attachEvent('onload', gaAddons);

