//Time in days to save form fields values after last visit
//Set to different value to reset cookie (ie: "101 days" instead of "100 days"):
var memoryduration="2 days"

function setformobjects(){
    var theforms=document.forms
    memorizearray=new Array()
    for (i=0; i< theforms.length; i++){
        for (j=0; j< theforms[i].elements.length; j++){
            if (theforms[i].elements[j].className.indexOf("memorize") != -1) // && (theforms[i].elements[j].type == "text") || (theforms[i].elements[j].type == "password"))
                memorizearray[memorizearray.length]=theforms[i].elements[j]
        }
    }
    var retrievedvalues = get_cookie("mvalue" + window.location.pathname)

    if (retrievedvalues != "") {
        GetElement("husk").style.display="none";
        GetElement("glem").style.display="block";
        retrievedvalues = retrievedvalues.split("|")    
        if (retrievedvalues[retrievedvalues.length-1]!=parseInt(memoryduration)) //reset cookie if var memoryduration has changed
            resetcookie("mvalue"+window.location.pathname)
        else
        {            
            for (i = 0; i < memorizearray.length; i++)
            {
                if (retrievedvalues[i] != "empty_value")
                    memorizearray[i].value = retrievedvalues[i]                              
            }
        }   
    }
}

function get_cookie(Name) {
  var search = Name + "="
  var returnvalue = "";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) { // if cookie exists
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1)
         end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
  return returnvalue;
}

function resetcookie(id){
    var expireDate = new Date()
    expireDate.setDate(expireDate.getDate()-10)
    document.cookie = id+"=;path=/;expires=" + expireDate.toGMTString()
}

function saveformvalues() {
    var formvalues = new Array(), temp
    for (i = 0; i < memorizearray.length; i++) {
        temp = memorizearray[i].value != "" ? memorizearray[i].value : "empty_value"
        formvalues[formvalues.length] = escape(temp)
    }
    formvalues[formvalues.length] = parseInt(memoryduration)
    formvalues = formvalues.join("|")
    var expireDate = new Date()
    expireDate.setDate(expireDate.getDate() + parseInt(memoryduration))
    if (document.Form1.remember.checked) {
        document.cookie = "mvalue" + window.location.pathname + "=" + formvalues + "; path=/;expires=" + expireDate.toGMTString()
    }
    if (document.Form1.forget.checked) {
        resetcookie("mvalue" + window.location.pathname)
    }
}

function GetElement(strElement) {
    if (document.getElementById) {
        return (document.getElementById(strElement));
    } else if (document.all) {
        return (eval("document.all." + strElement));
    } else if (document.layers) {
        return (eval("document." + strElement));
    } else {
        return (null);
    }
}

if (window.addEventListener)
    window.addEventListener("load", setformobjects, false)
else if (window.attachEvent)
    window.attachEvent("onload", setformobjects)
else if (document.getElementById)
    window.onload=setformobjects
if (document.getElementById)
    window.onunload=saveformvalues