/**
 * Created by JetBrains PhpStorm.
 * User: bhughes
 * Date: 6/1/11
 * Time: 4:37 PM
 * To change this template use File | Settings | File Templates.
 */

var partnersoftArgs = null;
var partnersoftifyClass = 'partnersoftify';
var partnersUrl = 'http://partners.bangbrosonline.com/ct/imgcount.php?';
var partnersUrlGetParamProgram = 'program';
var partnersUrlGetParamAffiliate = 'a';
var partnersUrlGetParamCampaign = 'cmp';
var partnersoftUrlPattern =  /\/([A-Za-z0-9_-]*)=([A-Za-z0-9_-]*)((,|%2C)([A-Za-z0-9_-]*))?\//i;
var partnersoftUrlGetParamProgram = 'program';
var partnersoftUrlGetParamAffiliate = 'affiliate';
var partnersoftUrlGetParamCampaign = 'campaign';

jQuery('document').ready(function() {
    partnersoftCheck();
    partnersoftifyLinks();
    partnersPixel();
});

function partnersoftCheck() {
    var url = window.document.location.href;
    var matches = partnersoftUrlPattern.exec(url);
    if(null!=matches) {
        partnersoftArgs = {
            program: (matches[1]) ? matches[1] : ''
            , affiliate: (matches[2]) ? matches[2] : ''
            , campaign: (matches[5]) ? matches[5] : ''
        };
    }
}

function partnersoftifyLinks() {
    if(hasPartnersoft()) {
        jQuery('a.' + partnersoftifyClass).each(function() {
            var anchor = jQuery(this)
            var url = anchor.attr('href');
            var params = partnersoftUrlGetParamProgram + "=" + partnersoftArgs.program
                    + "&" + partnersoftUrlGetParamAffiliate + "=" + partnersoftArgs.affiliate
                    + "&" + partnersoftUrlGetParamCampaign + "=" + partnersoftArgs.campaign;
            var qs = url.indexOf('?');
            var separator = (qs==-1) ? '?' : '&';
            var newUrl = url + separator + params;
            anchor.attr('href', newUrl);
        });
    }
}

function partnersPixel() {
    if(hasPartnersoft()) {
        var domImg = document.createElement('img');
        var img = jQuery(domImg);
        var params = partnersUrlGetParamProgram + "=" + partnersoftArgs.program
                    + "&" + partnersUrlGetParamAffiliate + "=" + partnersoftArgs.affiliate
                    + "&" + partnersUrlGetParamCampaign + "=" + partnersoftArgs.campaign
                    + "&referer=" + document.referrer;
        var src = partnersUrl + params;
        img.attr('src', src);
        jQuery('body').append(img);
    }
}

function hasPartnersoft() {
    return (null!=partnersoftArgs) ? true: false;
}
