﻿function add_events_tracking() {
    // .push(category, action, optional_label, optional_value)

    var as = document.getElementsByTagName("a");
    var extTrack = ["gyldendal-uddannelse.dk", "gyldendaluddannelse.dk", "localhost", ".gu.gyldendal.dk",".gu.dk"];
    var extDoc = [".ashx", ".doc", ".docx", ".eps", ".svg", ".txt", ".vsd", ".vxd", ".js", ".css", ".rar", ".wma", ".mov", ".avi", ".wmv", ".xls", ".exe", ".zip", ".pdf", ".csv", ".ppt", ".zip", ".gz", ".dmg", ".xml", ".mp3"];
    var ga_object = '_gaq';
    
    for (var i = 0; i < as.length; i++) {
        // Looping all <a>'s
        var tmp = as[i].getAttribute("onclick");
        if (typeof (tmp) == "string" && tmp.indexOf('urchinTracker') > -1) continue;
        //if (tmp != null && tmp.indexOf('urchinTracker') > -1) continue;
        //if (as[i].getAttribute("href") == null) break;

        // Tracking external links
        var extT = true;
        for (var j = 0; j < extTrack.length; j++) {
            if (as[i].href.indexOf(extTrack[j]) >= 0) {
                extT = false;
                break;
            }
        }

        if (extT == true) {
            // Link is external
            var splitResult = as[i].href.split("//");
            var url = splitResult[1];
            var prev_js = ((tmp != null) ? tmp + "; " : "");
            as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'External links','Click','" + splitResult[1] + "']);");
            //as[i].setAttribute("rel", "external-link");				
        }

        // Tracking downloads
        for (var j = 0; j < extDoc.length; j++) {
            if (as[i].href.indexOf(extDoc[j]) >= 0) {
                // Link is a download
                var type = extDoc[j].replace(/\./, '');
                var prev_js = ((tmp != null) ? tmp + "; " : "");
                as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Downloads', '" + type + "', '" + as[i].href + "']);");
                //as[i].setAttribute("rel", "download-" + type);													
                break;
            }
        }

        // Tracking mailto links
        if (as[i].href.indexOf("mailto:") != -1) {
            var splitResult = as[i].href.split(":");
            var prev_js = ((tmp != null) ? tmp + "; " : "");
            as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Mails','Click','" + splitResult[1] + "']);");
            //as[i].setAttribute("rel", "mail");					
        }

        // Tracking prints
        if (as[i].href.indexOf("window.print") != -1) {
            var prev_js = ((tmp != null) ? tmp + "; " : "");
            as[i].setAttribute("onclick", prev_js + ga_object + ".push(['_trackEvent', 'Print','Click','" + document.location.href + "']);");
            //as[i].setAttribute("rel", "print");
        }
    }
}

window.onload = function(e) { add_events_tracking() };

