// Indicate each file extension that needs to be tracked
// Example: var fileTypes = (".doc",".xls",".exe",".zip",".pdf");
var fileTypes = (".pdf");

// This variable controls how outbound links will appear in
// the GA reports. By default, external links will appear as
// '/outbound/<URL>' where <URL> is the URL in the anchor tag.
var extIdentifier = '/outbound/';

/// No need to change anything below this line ///
if (document.getElementsByTagName) {
	// Initialize external link handlers
	var hrefs = document.getElementsByTagName('a');
	for (var l = 0; l < hrefs.length; l++) {
		//protocol, host, hostname, port, pathname, search, hash
		if (hrefs[l].hostname == location.host) {
			var path = hrefs[l].pathname;
			if (path.indexOf(fileTypes) != -1)
				startListening(hrefs[l],"click",trackDocuments);
		} else {
			startListening(hrefs[l],"click",trackExternalLinks);
		}
	}
}

function startListening (obj,evnt,func) {
	if (obj.addEventListener) {
		obj.addEventListener(evnt,func,false);
	} else if (obj.attachEvent) {
		obj.attachEvent("on" + evnt,func);
	}
}

function trackDocuments (evnt) {
	var url = (evnt.srcElement) ? "/" + evnt.srcElement.pathname : this.pathname;
	if (typeof(pageTracker) == "object") {
		pageTracker._trackPageview(url);
	}
}

function trackExternalLinks (evnt) {
	var lnk;
	if (evnt.srcElement) {
		var elmnt = evnt.srcElement;
		while (elmnt.tagName != "A") {
			var newelmnt = elmnt.parentNode;
			elmnt = newelmnt;
		}
		lnk = extIdentifier +elmnt.hostname + "/" + elmnt.pathname + elmnt.search;
	} else {
		lnk = extIdentifier + this.hostname + this.pathname + this.search;
	}
	if (typeof(pageTracker) == "object") {
		pageTracker._trackPageview(lnk);
	}
}
