function chain(f) {var o=window.onload;window.onload=function() {if(o) o();f();}}
chain(function(){
	if (document.getElementsByTagName) {
		var hrefs = document.getElementsByTagName("a");
		for (var l = 0; l < hrefs.length; l++) {
			try{ //protocol, host, hostname, port, pathname, search, hash
				if (hrefs[l].protocol == "mailto:") {
					startListening(hrefs[l],"click",trackMailto);
				//} else if (hrefs[l].className=="trackClick") {
					//hrefs[l].onclick=function(ev){trackInternalLinks(ev,this);};
				} else if (hrefs[l].hostname == location.host) {
					var path = hrefs[l].pathname + hrefs[l].search;
					var isDoc = path.match(/\.(?:doc|eps|jpg|png|svg|xls|ppt|pdf|xls|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)($|\&|\?)/);
					if (isDoc) { startListening(hrefs[l],"click",trackDocumentLinks); }
				} else if (hrefs[l].hostname != location.host) {
					// var note = document.createElement("span");
					// note.innerHTML = "(link opens in a new window)";
					// hrefs[l].parentNode.insertBefore(note,hrefs[l]);
					//hrefs[l].onclick=function() { window.open(this.href); return false;}
					startListening(hrefs[l],"click",trackExternalLinks);
				}
			}
			catch(e){
				continue;
			}
		}
	}
});
 
function startListening (obj,evnt,func) {
    if (obj.addEventListener) {
        obj.addEventListener(evnt,func,false);
    } else if (obj.attachEvent) {
        obj.attachEvent("on" + evnt,func);
    }
}
 
function trackMailto (evnt) {
    var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
    var mailto = "/mailto/" + href.substring(7);
    if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
}
 
function trackDocumentLinks (evnt) {
    var href = (evnt.srcElement) ? evnt.srcElement.href : this.href;
    var mailto = "/downloads/" + href.substring(7);
    if (typeof(pageTracker) == "object") pageTracker._trackPageview(mailto);
}
 
function trackInternalLinks (evnt,el) {	
    var href = (evnt.srcElement) ? evnt.srcElement.href : el.href;
    var lnk = "/internal-link/" + href;
    if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk);
}
 
function trackExternalLinks (evnt) {
    var e = (evnt.srcElement) ? evnt.srcElement : this;
    while (e.tagName != "A") { e = e.parentNode; }
    var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
    if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
    lnk = "/external/" + e.hostname + lnk;
    if (typeof(pageTracker) == "object") pageTracker._trackPageview(lnk); 
}