var affiliator = function() {

  return {

    affDays : 30,

    getCookieDomain: function(domain) {

      var cookieDomain = "";
      var domainParts = domain.split(".");

      if (domainParts.length < 3){

        cookieDomain = domain;

      } else {

        domainParts.shift();
        cookieDomain = '.' + domainParts.join(".");

      }

      return cookieDomain;
    },

    setCookie: function() {

      var cookieDomain = this.getCookieDomain(document.domain);
      var affId;
      
      if (getQuerystring('AFF_ID'))
      affId = getQuerystring('AFF_ID');
      else if (ReadCookie ('AFF_ID'))
      affId = ReadCookie ('AFF_ID');
        
      //var affId = $.query.get('AFF_ID') || $.cookie('AFF_ID');

      if(affId && !isNaN(parseInt(affId))) {

        if (getQuerystring('AFF_ID')) {
  
          //var options = { expires:this.affDays, path:"/"; domain:cookieDomain};
                  
          createCookie ('AFF_ID', affId,  this.affDays,'/',cookieDomain) ;
        
          var subId =  getQuerystring('SUB_ID')

          if (subId) {
            createCookie ('SUB_ID', escape(subId),  this.affDays,'/',cookieDomain) ;
            //$.cookie('SUB_ID', subId, options);

          }

        }
      }
      
      
    }
  };

}();

$(function() {
  affiliator.setCookie();
});

function getQuerystring(key, default_)
{
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
}

function ReadCookie(cookiename) {
  var numOfCookies = document.cookie.length;
  var nameOfCookie = cookiename + "=";
  var cookieLen = nameOfCookie.length;
  var x = 0;
  while (x <= numOfCookies) {
        var y = (x + cookieLen);
        if (document.cookie.substring(x, y) == nameOfCookie)
           return (extractCookieValue(y));
           x = document.cookie.indexOf(" ", x) + 1;
           if (x == 0){
              break;
           }
  }
  return (null);
}
function extractCookieValue(val) {
  if ((endOfCookie = document.cookie.indexOf(";", val)) == -1) {
     endOfCookie = document.cookie.length;
  }
  return unescape(document.cookie.substring(val,endOfCookie));
}
function createCookie(name, value, expiredays,path,cookieDomain) {
  var todayDate = new Date();
  todayDate.setDate(todayDate.getDate() + expiredays);
  document.cookie = name + "=" + value + "; expires=" +todayDate.toGMTString() + "; path=" + path + ";domain="+cookieDomain;
}