

function WriteCookie (cookieName, cookieValue, expiry) 
{
  var expDate = new Date();
  if(expiry)  {
    expDate.setTime (expDate.getTime() + expiry);
    document.cookie = cookieName + "=" + escape (cookieValue) + "; expires=" + expDate.toGMTString();
  }
  else
  {
    // expDate.setTime (expDate.getTime() + ( 10 * 24 * 60 * 60 * 1000 ));
		document.cookie = cookieName + "=" + escape(cookieValue); // + "; expires=" + expDate.toGMTString();
  }
}

function setCookie (CookieName, CookieValue)
{
    WriteCookie(CookieName, CookieValue);
}
function ReadCookie (CookieName) {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces
  var ReturnValue = "";
  var ReturnValue2 = "";
  var x = 0;

  for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) {

    CookiePieces = CookieSet[x].split ('=');

    if (CookiePieces[0].substring (0,1) == ' ') {
      CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    }

    if (CookiePieces[0] == CookieName) {
      ReturnValue = CookiePieces[1];
      ReturnValue2 = CookiePieces[0];
    }
  }
  document.forms[0].elements[1].value = ReturnValue2;
  document.forms[0].elements[2].value = ReturnValue;
}
function AppendCookie (CookieName, itemToAppend) {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces
  var CookieValue = "";
  var CookieFound = 0;

  var x = 0;
  for (x = 0; ((x < SetSize) && (CookieValue == "")); x++) {

    CookiePieces = CookieSet[x].split ('=');
    if (CookiePieces[0].substring (0,1) == ' ') {
      CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    }

    if (CookiePieces[0] == CookieName) {
      CookieFound = 1;
      CookieValue = unescape(CookiePieces[1]) + ',' + itemToAppend;
      WriteCookie(CookiePieces[0], CookieValue, 0);
    }

  }
  if (CookieFound == 0)  {
    WriteCookie(CookieName, itemToAppend, 0);
  }
}
function RemoveCookieItem (CookieName, itemToRemove) {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces
  var CookieSubPieces
  var CookieValue = "";
  var SubSetSize;

  var x = 0;
  var i = 0;

  for (x = 0; ((x < SetSize) && (CookieValue == "")); x++) {

    CookiePieces = CookieSet[x].split ('=');

    if (CookiePieces[0].substring (0,1) == ' ') {
      CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    }

    if (CookiePieces[0] == CookieName) {
      CookieSubPieces = unescape(CookiePieces[1]).split(',');
      SubSetSize = CookieSubPieces.length;
      for (i = 0; i < SubSetSize; i++) {
        if (CookieSubPieces[i] != itemToRemove)  {
          CookieValue = CookieValue + ',' + CookieSubPieces[i];
        }
      }
      if (CookieValue == ',')  {
        CookieValue = '';
      }
      WriteCookie(CookiePieces[0], CookieValue, 0);
    }

  }
}

function ValidateCookie(CookieName)  {
  var CookieString = document.cookie;
  var CookieSet = CookieString.split (';');
  var SetSize = CookieSet.length;
  var CookiePieces
  var CookieValue = "";
  var CookieFound = 0;
  var x = 0;

  for (x = 0; ((x < SetSize) && (CookieValue == "")); x++) {
    CookiePieces = CookieSet[x].split ('=');

    if (CookiePieces[0].substring (0,1) == ' ') {
      CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length);
    }
    if (CookiePieces[0] == CookieName) {
      CookieFound = 1;
      return;
    }
  }
  
  if (CookieFound == 0)  {
    WriteCookie(CookieName, '1', 0);
  }
}

