var temp, temp2, cookieArray, cookieArray2, cookieCount;

function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function ReadCookie(nom){
	var arg=nom+"=";
	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 WriteCookie(nom, valeur){
	var argv=WriteCookie.arguments;
	var argc=WriteCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function ClearCookie(nom){
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	WriteCookie(nom,null,date);
}

function initiate(){
  cookieCount=0;
  
  
  cookieArray=new Array();
  var mData = ReadCookie("state");
  if(mData!=null){
	for(var i=0;i<mData.length;i++){
		cookieArray[i] = mData.charAt(i);
	}
  }
  temp=document.getElementById("navMenuContainer");

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

      temp.getElementsByTagName("li")[o].getElementsByTagName("ul")[0].style.display = "none";
      if(cookieArray[cookieCount]=="y"){
        showhide(temp.getElementsByTagName("li")[o]);
      }
      temp2 = temp.getElementsByTagName("li")[o].getElementsByTagName("div")[0];

      temp2.onclick=function(){
        showhide(this.parentNode);
        SetMenuCookie();
      }

      cookieCount++;
    }
  }
}

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

function SetMenuCookie(){ // 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();
  temp=document.getElementById("navMenuContainer");
  for(var q=0;q<temp.getElementsByTagName("li").length;q++){
    if(temp.getElementsByTagName("li")[q].getElementsByTagName("ul").length>0){
      cookieArray[cookieArray.length]=((temp.getElementsByTagName("li")[q].getElementsByTagName("ul")[0].style.display=="block")?"y":"n")	;
    }
  }
  
  date=new Date;
  date.setMonth(date.getMonth()+1);	
  WriteCookie("state",cookieArray.join(""),date,"/");
}
