﻿//get all href tags in the page and add event listeners to them
$(document).ready(function() {
    if (document.getElementsByTagName) {
        // Initialize external link handlers
        var hrefs = document.getElementsByTagName("a");       
        for (var l = 0; l < hrefs.length; l++) {
            // try {} catch{} block added by erikvold VKI
            try {            
                //protocol, host, hostname, port, pathname, search, hash
                if (hrefs[l].attributes["hastracking"] == null || (hrefs[l].attributes["hastracking"] != null && hrefs[l].attributes["hastracking"] == false)) {
                    if (hrefs[l].protocol == "mailto:") {
                        startListening(hrefs[l], "click", trackMailto);
                    }
                    else {
                        //create event listener
                        startListening(hrefs[l], "click", trackLinks);
                    }
                }
            }
            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 trackLinks(evnt) {
    var e = (evnt.srcElement) ? evnt.srcElement : this;
    while (e.tagName != "A") {
        e = e.parentNode;
    }

//    var lnk;
//    if (e.pathname != '') {
//        lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
//   }
//   else {
//       lnk = e.nameProp;
//   }
   
    //var lnk = (e.pathname.charAt(0) == "/") ? e.pathname : "/" + e.pathname;
 //   if (e.search && e.pathname.indexOf(e.search) == -1) lnk += e.search;
   // if (e.hostname != location.host) lnk = "/external/" + e.hostname + lnk;
    if (typeof (pageTracker) == "object") trackPage(e.href);
}
