function GetCookieVal(offset) {
   var endstr = document.cookie.indexOf (";",offset);
   if (endstr == -1) { endstr = document.cookie.length; }
   return unescape(document.cookie.substring(
              offset,endstr));
}

function GetACookie(name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while(i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i,j) == arg) {
         return GetCookieVal(j);
      }
      i = document.cookie.indexOf(" ", i) + 1;
      if(i == 0) break;
   }
   return null;
}

function saveElts(eltName)
{
	inputs = document.getElementsByTagName(eltName)
	for (var ixElt = 0; ixElt < inputs.length; ixElt++)
	{
		elt = inputs[ixElt]
		if (elt.type == 'checkbox')
			document.cookie = elt.id + "=" + (elt.checked ? 1 : 0) + "; path=/";
		else if (elt.type == 'text' || elt.type == 'select-one' || elt.type == 'textarea')
			document.cookie = elt.name + '=' + escape(elt.value) + '; path=/';
	}
}

function saveInput()
{
	saveElts("input")
	saveElts("select")
	saveElts("textarea")
}

function loadElts(eltName)
{
	inputs = document.getElementsByTagName(eltName)
	for (var ixElt = 0; ixElt < inputs.length; ixElt++)
	{
		elt = inputs[ixElt]
		// Want to make sure we don't change the buttons.
		if (elt.type == 'text' || elt.type == 'select-one' || elt.type == 'textarea')
		{
			var cookieVal = GetACookie(elt.name)
			if (cookieVal != null)
				elt.value = cookieVal
		}
	}
}

function loadInput() 
{
	loadElts("input")
	loadElts("select")
	loadElts("textarea")
}

