// PerfectForms Referrer Management

function getCookie(NameOfCookie){
    if (document.cookie.length > 0) {              
    begin = document.cookie.indexOf(NameOfCookie+"=");       
    if (begin != -1) {           
      begin += NameOfCookie.length+1;       
      end = document.cookie.indexOf(";", begin);
      if (end == -1) end = document.cookie.length;
        return unescape(document.cookie.substring(begin, end));
    } 
  }
  return null;
}

//function setCookie(NameOfCookie, value, expiredays) {
//var ExpireDate = new Date ();
//ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));

//  document.cookie = NameOfCookie + "=" + escape(value) + 
//  ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
//}

function setCookie(NameOfCookie, value, expiredays) {
    var today = new Date ();
    today.setTime(today.getTime());

    var expires = expiredays * 1000 * 60 * 60 * 24;
    //alert(expires);
    var expiresDate = new Date(today.getTime() + (expires));
    //alert("expires Date: " + expiresDate);

      document.cookie = NameOfCookie + "=" + escape(value) +
      ((expires == null) ? "" : "; expires=" + expiresDate.toGMTString());
}

function delCookie (NameOfCookie) {
  if (getCookie(NameOfCookie)) {
    document.cookie = NameOfCookie + "=" +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return('');
} 

function setPFCookies () {
  // Check to see if the OriginalReferrer cookie is already there. If it is, delete it and reset it to run another 120 days
  var PartnerReferrer;
  
  setOriginalReferrer();  
  // Set the recent referrer. Always overwrite the old one, if there
  delCookie('RecentReferrer');
  setCookie('RecentReferrer', document.referrer, 2);
  
  //Set the Partner Cookie by insepcting the Query string. If it already exists, renew for another 12 days
  PartnerReferrer=getCookie('PartnerReferrer');
  if(PartnerReferrer) {
	  delCookie('PartnerReferrer');
	  setCookie('PartnerReferrer', PartnerReferrer, 2);
  }
  else
	  setCookie('PartnerReferrer', getQueryVariable('partner'), 2); 
}

function setOriginalReferrer(){
	var OriginalReferrer;

	OriginalReferrer=getCookie('OriginalReferrer');
	if (OriginalReferrer != null) {
		delCookie('OriginalReferrer');
		setCookie('OriginalReferrer', OriginalReferrer, 2);
	}
	else
		setCookie('OriginalReferrer', document.referrer, 2);
}

function delPFCookies() {
	delCookie('OriginalReferrer');
	delCookie('RecentReferrer');
	delCookie('PartnerReferrer');
}

function generatePFParms(formID) {
	return('f=' + formID + '&secure=true&OriginalReferrer=' + getCookie('OriginalReferrer') + "&RecentReferrer=" + getCookie('RecentReferrer') + "&PartnerReferrer=" + getCookie('PartnerReferrer') );

}

function getReferrer(){
	return document.referrer;
}
