﻿function gaLinkTag() {
    var all = document.getElementsByTagName('a');
    var extentions = ['pdf', 'xls', 'doc', 'dmg', 'exe', 'zip', 'rar', 'txt', 'msi', 'mov', 'avi', 'wmv', 'ppt'];
    var ignoreExternal = [location.hostname.replace('www.', ''), 'google-analytics.com'];

    for (var i = 0; i < all.length; i++) {
        var processed = 0;
        // mailto?
        if (all[i].href.indexOf('mailto:') != -1) {
            all[i].onclick = function () {
                var mailAddress = this.href.split(":");
                pageTracker._trackEvent('mails', mailAddress[1]);
            }
            processed++;
        }
        // Telephone?
        if (all[i].href.indexOf('tel:') != -1 && processed < 1) {
            all[i].onclick = function () {
                all[i].onclick = function () {
                    var telNumber = this.href.split(":");
                    pageTracker._trackEvent('calls', telNumber[1]);
                }
            }
            processed++;
        }
        // Files?
        if (processed < 1) {
            for (var x = 0; x < extentions.length; x++) {
                if (all[i].href.indexOf('.' + extentions[x]) != -1) {
                    all[i].extention = extentions[x];
                    all[i].onclick = function () {
                        pageTracker._trackEvent('downloads', this.extention, this.href);
                    }
                    processed++;
                }
            }
        }
        //  External links?
        if (processed < 1) {
            var count = 0;
            for (var x = 0; x < ignoreExternal.length; x++) {
                if (all[i].href.indexOf(ignoreExternal[x]) == -1) {
                    count++;
                }
            }
            if (count == ignoreExternal.length) {
                all[i].onclick = function () {
                    pageTracker._trackEvent('external', this.href);
                }
            }
        }
    }
}
gaLinkTag();
