var temp, temp2, cookieArray, cookieArray2, cookieArray3, cookieCount, cookieTemp;

/*function checkCookie(){
   setCookie("CookieTest", "OK");
   if (!getCookie("CookieTest")) {
      //alert("Ihr Browser akzeptiert derzeit keine Cookies,\nwelche für eine optimale Darstellung dieser Seite erforderlich sind!");
      //return false;
   } else {
      //deleteCookie("CookieTest");
      //document.title = "JA";
      //return true;
   }
}*/

function setCookie(name, wert, domain, expires, path, secure) {
   var cook = name+"="+unescape(wert);
   cook += (domain) ? "; domain="+ domain : "";
   cook += (expires) ? "; expires="+expires : "";
   cook += (path) ? "; path="+path : "";
   cook += (secure) ? "; secure" : "";
   document.cookie = cook;
   //document.title = document.cookie;
}

function deleteCookie(name, domain, path) {
   var cook = name+"=; expires=Thu, 01-Jan-70 00:00:01 GMT";
   cook += (domain) ? "domain="+domain : "";
   cook += (path) ? "path="+path : "";
   document.cookie = cook;
}

function cookieCheck() {
  if (!document.cookie) {
    eraseCookie();

    if (!document.cookie) {
      alert("Ihr Browser akzeptiert derzeit keine Cookies,\nwelche für eine optimale Darstellung dieser Seite erforderlich sind!");
    }
  }
}

function removeCookie (name) {
  now = new Date();
  document.cookie = name+"=; expires="+now.toGMTString();
}

function eraseCookie() {
  cookieArray3=new Array();
  temp=document.getElementById("containerul");

  for (var q=0;q<temp.getElementsByTagName("li").length;q++) {
    if (temp.getElementsByTagName("li")[q].childNodes.length>0) {
      if (temp.getElementsByTagName("li")[q].getElementsByTagName("ul").length>0) {

        cookieArray3[cookieArray3.length]="false";

      }
    }
  }

  var n = "state";
  var w = cookieArray3.join(",");
  var d = "";
  var e = new Date(new Date().getTime() + 1000*60*60*24*365).toGMTString();
  var p = "/";
  var s = "";

  setCookie(n, w, d, e, p, s);
}

function initiate() {
  cookieCount = 0;
  cookieArray = new Array();
  cookieArray2 = new Array();

  if (document.cookie) {
    cookieTemp = document.cookie;
    //document.title += "||" + cookieTemp;

    //cookieSession = cookieTemp.replace(/^(.*)PHPSESSID=/, "");
    //cookieTemp = cookieTemp.replace(/;\sPHPSESSID=(.*)/, "");

      cookieTemp = cookieTemp.replace(/;(.*)$/, "");
      cookieArray = cookieTemp.split(";");

      for (i=0; i < cookieArray.length; i++){
        cookieArray2[cookieArray[i].split("=")[0].replace(/ /g,"")]=cookieArray[i].split("=")[1].replace(/ /g,"");
      }
  }

  cookieArray=(document.cookie.indexOf("state=")>=0)?cookieArray2["state"].split(","):new Array();

  temp=document.getElementById("containerul");

  for (var o=0;o<temp.getElementsByTagName("li").length;o++) {

    if (temp.getElementsByTagName("li")[o].getElementsByTagName("ul").length>0) {
      temp2 = document.createElement("span");

      temp.getElementsByTagName("li")[o].insertBefore(temp2,temp.getElementsByTagName("li")[o].firstChild);
      temp.getElementsByTagName("li")[o].getElementsByTagName("ul")[0].style.display = "none";

      if(cookieArray[cookieCount]=="true"){
        showhide(temp.getElementsByTagName("li")[o]);
      }

      cookieCount++;
    } else{
      temp2 = document.createElement("span");

      temp.getElementsByTagName("li")[o].insertBefore(temp2,temp.getElementsByTagName("li")[o].firstChild);
    }
  }
}

function showelement(el) {
  showhide(el);
  writeCookie();
}

function showhide(el) {
  el.getElementsByTagName("ul")[0].style.display=(el.getElementsByTagName("ul")[0].style.display=="block")?"none":"block";
}

function writeCookie() { // Runs through the menu and puts the "states" of each nested list into an array, the array is then joined together and assigned to a cookie.
  cookieArray=new Array();

  for (var q=0;q<temp.getElementsByTagName("li").length;q++) {
    if (temp.getElementsByTagName("li")[q].childNodes.length>0) {
      if (temp.getElementsByTagName("li")[q].getElementsByTagName("ul").length > 0) {

        cookieArray[cookieArray.length]=(temp.getElementsByTagName("li")[q].getElementsByTagName("ul")[0].style.display=="block");

      }
    }
  }

  var n = "state";
  var w = cookieArray.join(",");
  var d = "";
  var e = new Date(new Date().getTime() + 1000*60*60*24*365).toGMTString();
  var p = "/";
  var s = "";

  setCookie(n, w, d, e, p, s);
}
