//
//	$Source: /cvs/js/cookie.js,v $
//	$Revision: 1.1 $ $Date: 2001/04/18 04:11:57 $
//
//	cookie management routines
//

function ReadCookie(name)
{
var allCookie, cookieVal, length, start, end;
cookieVal = "";
name = name + "=";
allCookie = document.cookie;
length = allCookie.length;

if (length > 0)
   {
   start = allCookie.indexOf(name, 0);
   if (start != -1)
      {
      start += name.length;
      end = allCookie.indexOf(";", start);
      if (end == -1)
         { end = length; }
      cookieVal = unescape(allCookie.substring(start, end));
      }
   }

return(cookieVal);
}

function WriteCookie(name, value, domain, path, expires, secure)
{
var cookieVal, cookieError;
cookieVal = cookieError = "";

//document.write ("<P>" + "WriteCookie(\"" + name + "\", \"" +
//	value + "\", \"" +
//	domain + "\", \"" +
//	path + "\", \"" +
//	expires + "\", \"" +
//	secure + "\")</P>");

if (name)
   {
   cookieVal = cookieVal + escape(name) + "=";
   if (value)
      {
      cookieVal = cookieVal + escape(value);
      if (domain)
         { cookieVal = cookieVal + "; domain=" + domain; }
      if (path)
         { cookieVal = cookieVal +"; path=" + path; }
      if (expires)
         { cookieVal = cookieVal +"; expires=" + expires.toUTCString(); }
      if (secure)
         { cookieVal = cookieVal +"; secure=" + secure; }
      }
   else
      { cookieError = cookieError + "Value failure"; }
   }
else
   { cookieError = cookieError + "Name failure"; }

if (! cookieError)
   {
   document.cookie = cookieVal;  		// set the cookie

   // document.write ("<P>Cookie value: \"" + unescape (cookieVal) + "\"</P>");

   if (value != ReadCookie(name))		// see if cookie was written
      { cookieError = "Write failure"; }
   }

return cookieError;
}

function DeleteCookie (name, domain, path)
{
var expireDate = new Date(1);	// set start of epoch as expiration date

if (ReadCookie(name))
   { WriteCookie(name, " ", domain, path, expireDate); }
}

