function ssnAcceptsCookies() {
  var cookieName = 'ssnAcceptsCookies';
  var oneYear = 1 * 365 * 24 * 60 * 60 * 1000;
  var expiresDate = new Date();
  expiresDate.setTime(expiresDate.getTime() + oneYear);
  ssnSetCookie(cookieName, 'yes', expiresDate);

  if (ssnGetCookie(cookieName) == 'yes') {
    ssnDeleteCookie(cookieName);
    return true;
  }
  else {
    return false;
  }    
}

function ssnSetCookie(cookieName, cookieValue, expires) {
  var expiresDate;
  var expiresStr;

  if (expires == null) {
    var oneYear = 1 * 365 * 24 * 60 * 60 * 1000;
    expiresDate = new Date();
    expiresDate.setTime(expiresDate.getTime() + oneYear);
  }
  else {
    expiresDate = expires;
  }

  expiresStr = '; expires=' + expiresDate.toGMTString();
  document.cookie = cookieName + '=' + escape(cookieValue) + expiresStr;
}

function ssnGetCookie(cookieName) {
  var cookieValue = null;
  var wholeCookie = ' ' + document.cookie + ';';
  var searchName = ' ' + cookieName + '=';
  var startOfCookie = wholeCookie.indexOf(searchName);
  var endOfCookie;

  if (startOfCookie != -1) {
    startOfCookie += searchName.length;
    endOfCookie = wholeCookie.indexOf(';', startOfCookie);
    cookieValue = unescape(wholeCookie.substring(startOfCookie, endOfCookie));
  }

  return cookieValue;
}

function ssnDeleteCookie(cookieName) {
  var threeDays = 3 * 24 * 60 * 60 * 1000;
  var expiresDate = new Date();

  expiresDate.setTime(expiresDate.getTime() - threeDays);
  ssnSetCookie(cookieName, 'delete', expiresDate);
}

function ssnGetExpirationDate( numDays ) {
  var numMillSec = parseInt(numDays) * 24 * 60 * 60 * 1000;
  var expiresDate = new Date();

  expiresDate.setTime(expiresDate.getTime() + numMillSec);

  return expiresDate;
}

function DisplaySsn() {
  var displaySsn  = false; 

  if(!ssnAcceptsCookies() || ssnGetCookie('ssnDisplayed')) {
    displaySsn = false;
  }
  else {
    displaySsn = true;
  }

  return displaySsn;
}

// function SsnLink(ohref, gid) { 
function SsnLink(ohref, siteID, gameID) { 
//  var siteID = 5; // Demo Site Id

  try {
    var ssnBaseUrl  = "http://pub.sponsorselect.com/Direct/SponsorIndex.aspx?ssns=" + siteID + "&eu=";
    var ssnEndUrl   = ohref.getAttribute('href');
    var expireDays  = 3; // Cookie expiration
    var today       = new Date();

    redirect = ssnBaseUrl + escape(ssnEndUrl) + "&gameid=" + gameID;
//     redirect = ssnBaseUrl + escape(ssnEndUrl);

    if(DisplaySsn()) {        
      ssnSetCookie('ssnDisplayed', today, ssnGetExpirationDate(expireDays));    
      window.top.location.href = redirect;                  
      return false;
    }
    else {
      return true;
    }     
  }
  catch (oEx) {
    return true;
  }       
}

// function SsnLink(ohref, gid) { 
function SsnDirectLink(href, siteID, gameID) { 
//  var siteID = 5; // Demo Site Id

  try {
    var ssnBaseUrl  = "http://pub.sponsorselect.com/Direct/SponsorIndex.aspx?ssns=" + siteID + "&eu=";
    var expireDays  = 3; // Cookie expiration
    var today       = new Date();

    redirect = ssnBaseUrl + escape(href) + "&gameid=" + gameID;

    if(DisplaySsn()) {        
      ssnSetCookie('ssnDisplayed', today, ssnGetExpirationDate(expireDays));    
      window.top.location.href = redirect;                  
      return false;
    }
    else {
      return true;
    }     
  }
  catch (oEx) {
    return true;
  }       
}
