﻿//var PartnerDomainsXmlDocPath = "http://localhost:53166/xml/partners.xml";
var PartnerDomainsXmlDocPath = "/global/xml/partners.xml";
var AffiliateIdCookieName = "aid"; 
var WebsiteIdCookieName = "wid";
var Delimiter = "|"; 

$(document).ready(function() {

    InitiatePartnerFeature();
    
});

function InitiatePartnerFeature() {
    
    var affiliateId = GetCookie(AffiliateIdCookieName);

    var websiteId = GetCookie(WebsiteIdCookieName);

    if (affiliateId > 0) {

        var partnerDomainsDelimited = GetDelimitedPartnerDomains();

        UpdatePartnerLinks(affiliateId, websiteId, partnerDomainsDelimited);
    }
}

function UpdatePartnerLinks(affiliateId, websiteId, partnerDomainsDelimited) {

    $('a').each(function() {

        if (document.domain != null && document.domain != '') {

            var url = $(this).attr('href');

            if (url != null && url.indexOf('http://') == 0 && url.indexOf('aid=') == -1) {

                var domain = url.split('/')[2].replace('www.', '');

                if (domain != document.domain.replace('www.', '') && partnerDomainsDelimited.indexOf(Delimiter + domain + Delimiter) > -1) {

                    $(this).attr('href', AppendAffiliateQs(url, affiliateId, websiteId));

                }

            }
        }
    });
}

function AppendAffiliateQs(url, affiliateId, websiteId) {

    var qsAddOn = '?';

    if (url.indexOf('?') > -1) {
        qsAddOn = '&';
    }

    return url + qsAddOn + 'aid=' + affiliateId + '&wid=' + websiteId;
}

function GetDelimitedPartnerDomains() {
    
    var output = Delimiter;
    
    $.ajax({ url: PartnerDomainsXmlDocPath,
        data: "",
        dataType: "xml",
        async: false,
        success: function(xml) {
            $(xml).find("domain").each(function() {
                output += $(this).text() + Delimiter;
            });
        }
    });
    
    return output;
}

function GetCookie(name) {

    var output = 0;

    var cookies = document.cookie.split('&');

    for (i = 0; i < cookies.length; i++) {

        var start = cookies[i].indexOf(name + "=");

        var len = start + name.length + 1;

        if ((!start && name != cookies[i].substring(0, name.length)) || start == -1) {

	}else{

            var end = cookies[i].indexOf(";", len);

            if (end == -1) {
	        end = cookies[i].indexOf("&", len);

                if (end == -1) {
                    end = cookies[i].length;
                }
            }

            output = unescape(cookies[i].substring(len, end));

	    break;
        }
    }


    return output;
}

