﻿/* ################################################################ COOKIES ################################################################*/
function WriteSessionCookie(CookieName, CookieValue, CookieDomain) {
  if (TestSessionCookie()) {
    document.cookie = escape(CookieName) + "=" + escape(CookieValue) + "; path=/; domain=" + CookieDomain;
    return true;
  }
  else return false;
}
function WritePersistentCookie(CookieName, CookieValue, PeriodType, Offset) {
  var expireDate = new Date();
  Offset = Offset / 1;

  var myPeriodType = PeriodType;
  switch (myPeriodType.toLowerCase()) {
    case "years":
      var year = expireDate.getYear();
      // Note some browsers give only the years since 1900, and some since 0.
      if (year < 1000) year = year + 1900;
      expireDate.setYear(year + Offset);
      break;
    case "months":
      expireDate.setMonth(expireDate.getMonth() + Offset);
      break;
    case "days":
      expireDate.setDate(expireDate.getDate() + Offset);
      break;
    case "hours":
      expireDate.setHours(expireDate.getHours() + Offset);
      break;
    case "minutes":
      expireDate.setMinutes(expireDate.getMinutes() + Offset);
      break;
    default:
      alert("Invalid PeriodType parameter for writePersistentCookie()");
      break;
  }

  document.cookie = escape(CookieName) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/;"
}
function TestSessionCookie() {
  document.cookie = "testSessionCookie=Enabled";
  if (GetCookieValue("testSessionCookie") == "Enabled")
    return true
  else
    return false;
}
function TestPersistentCookie() {
  WritePersistentCookie("testPersistentCookie", "Enabled", "minutes", 1);
  if (GetCookieValue("testPersistentCookie") == "Enabled")
    return true
  else
    return false;
}
function GetCookieValue(CookieName) {
  var exp = new RegExp(escape(CookieName) + "=([^;]+)");
  if (exp.test(document.cookie + ";")) {
    exp.exec(document.cookie + ";");
    return unescape(RegExp.$1);
  }
  else return null;
}
function DeleteCookie(CookieName) {
  if (GetCookieValue(CookieName)) WritePersistentCookie(CookieName, "Pending delete", "years", -1);
  return true;
}
/* ################################################################ COOKIES ################################################################*/
function DisclaimerAccepted() {
  WritePersistentCookie("ShowDisclaimer", "disabled", "days", 1);
}
function PageOnLoad() {
  if (window.location.href.indexOf("index.aspx") != -1 || window.location.pathname != "/") {
    if (GetCookieValue("ShowDisclaimer") != "disabled")
      self.location.href = "/";
  }
}
window.onload = PageOnLoad; 
