﻿function AttachExternalClickTracker(links, cName, excDomains) 
{
    if (document.getElementsByTagName) 
    {
        if (!links) 
        {
            links = document.getElementsByTagName('a');
        }
        for (var i = 0; i < links.length; i++) {
            if (IsExternalLink(links[i].href, excDomains)) {
                links[i].onclick = function() {
                    var trackName = (cName ? '/' + cName + '/' : '/clicks/') + this.href.substring(7);
                    pageTracker._trackPageview(trackName);
                    pageTracker._trackEvent('Advert', 'Click', trackName);
                }
            }
        }
    }
}
function IsExternalLink(link, internalDomains) {
    if (link.length < 1) return false;
    var startIndex = link.indexOf('//');
    if (startIndex > -1) {
        var targetDomainName = link.substring(startIndex + 2);

        if (targetDomainName.indexOf('/') > -1) {
            var endIndex = targetDomainName.indexOf('/');
            targetDomainName = targetDomainName.substring(0, endIndex);
        }
        else if (targetDomainName.indexOf('?') > -1) {
            var endIndex = targetDomainName.indexOf('?');
            targetDomainName = targetDomainName.substring(0, endIndex);
        }
        else if (targetDomainName.indexOf('#') > -1) {
            var endIndex = targetDomainName.indexOf('#');
            targetDomainName = targetDomainName.substring(0, endIndex);
        }

        for (var i = 0; i < internalDomains.length; i++) {
            var domainName = internalDomains[i];
            if (targetDomainName == domainName) {
                return false;
            }
        }
        return true;
    }
    else {
        return false;
    }
}