/*******************************************************
clientCookie.js
Functions to read and write cookies
********************************************************/

/**********************************************************************
GetCookie
***********************************************************************/
function GetCookie(name){ //get cookie value
var re = new RegExp(name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
  return document.cookie.match(re)[0].split("=")[1] //return its value
return ""
}

/**********************************************************************
SetCookie
***********************************************************************/
function SetCookie(name, value){
DeleteCookie(name);
UpdateCookie(name, value, 90);
}

/**********************************************************************
DeleteCookie
***********************************************************************/
function DeleteCookie(name){ 
UpdateCookie(name, '', -1);
}

/**********************************************************************
UpdateCookie
***********************************************************************/
function UpdateCookie(name, value, days){ //set cookei value
var expireDate = new Date()
//set "expstring" to either future or past date, to set or delete cookie, respectively
var expstring=expireDate.setDate(expireDate.getDate()+parseInt(days))
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}


/**********************************************************************
CookiesAllowed
***********************************************************************/
function CookiesAllowed(showError){ 
var testValue = Math.random();
SetCookie('test', testValue);
if (GetCookie('test') == testValue)
  return true
else{
  if (showError)
    alert(top.cookieErrorStr);
  return false;
}
}

