var temp, temp2, cookieArray, cookieArray2, cookieCount;
function initiate(activeId)
{
  cookieCount=0;

  if(document.cookie)
  {
    cookieArray2=new Array();
    var cookieVal = readCookie('navstate');
    if (cookieVal)
    {
    	var cookieSplit = cookieVal.toString().split("="); 
    	cookieArray2[cookieSplit[0].replace(/ /g,"")] = cookieSplit[1].replace(/ /g,"");
	 }
  }
  cookieArray=(document.cookie.indexOf("navstate=")>=0)?cookieArray2["navstate"].split(","):new Array();
  temp=document.getElementById("lh-left-nav-ul");
  for(var o=0;o<temp.getElementsByTagName("li").length;o++)
  {
	currListItem = temp.getElementsByTagName("li")[o];
	currSubMenu = currListItem.getElementsByTagName("ul");
    if(currSubMenu.length>0)
    { // list element has children
      
    	// ZACKMOD
    	aLinks = currListItem.getElementsByTagName("a");
    	for(var i=0;i<aLinks.length;i++)
    	{
    		aLinks[i].onclick = function() 
    		{
    			showhide(this.parentNode);
    			writeCookie();
    		};
    	}
    	// END ZACKMOD

    	
      // create bullet
      temp2 = document.createElement("span");
      temp2.className = "symbols";
      temp2.style.backgroundImage = (cookieArray.length>0)?((cookieArray[cookieCount]=="true")?"url(/images/greenwood/minus.png)":"url(/images/greenwood/plus.png)"):"url(/images/greenwood/plus.png)";
      temp2.onclick=function(){
        showhide(this.parentNode);
        writeCookie();
      };
      currListItem.insertBefore(temp2,currListItem.firstChild);
      
      // hide sublists
      currSubMenu[0].style.display = "none";
      
      if(cookieArray[cookieCount]=="true")
      {
        showhide(currListItem);
      }
	
      cookieCount++;
    }
    else
    { // list element has no children
      temp2 = document.createElement("span");
      temp2.className = "symbols";
      temp2.style.backgroundImage = "url(/images/greenwood/page.png)";
      currListItem.insertBefore(temp2,currListItem.firstChild);
    }
  }
  
  // ZACK MOD
  var activeNodes = getElementsByClassName(document, "active-list");
  for (var i = 0; i < activeNodes.length; i++) 
  {
	var activeNode = activeNodes[i];
	if (activeNode != null)
		try
		{
			//var activeList = activeNode.getElementsByTagName("ul")[0];
			activeNode.getElementsByTagName("ul")[0].style.display="block";
			activeNode.getElementsByTagName("span")[0].style.backgroundImage="url(/images/greenwood/minus.png)";
		}
		catch (err)
		{}
  }
  /*
  activeNode = document.getElementById(activeId);
	if (activeNode != null)
	{
		try
		{
			activeNode.getElementsByTagName("ul")[0].style.display="block";
			activeNode.getElementsByTagName("span")[0].style.backgroundImage="url(/images/greenwood/minus.png)";
		}
		catch (err)
		{}

	}
	*/
	
// END ZACK MOD
}
//not all browsers support the native function
function getElementsByClassName(node,classname) {
	  if (node.getElementsByClassName) { // use native implementation if available
	    return node.getElementsByClassName(classname);
	  } else {
	    return (function getElementsByClass(searchClass,node) {
	        if ( node == null )
	          node = document;
	        var classElements = [],
	            els = node.getElementsByTagName("*"),
	            elsLen = els.length,
	            pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"), i, j;

	        for (i = 0, j = 0; i < elsLen; i++) {
	          if ( pattern.test(els[i].className) ) {
	              classElements[j] = els[i];
	              j++;
	          }
	        }
	        return classElements;
	    })(classname, node);
	  }
	}
function readCookie(name) 
{
  var nameEQ = name;
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) 
  {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c;
  }
  return null;
}
function showhide(el)
{
  el.getElementsByTagName("ul")[0].style.display=(el.getElementsByTagName("ul")[0].style.display=="block")?"none":"block";
  el.getElementsByTagName("span")[0].style.backgroundImage=(el.getElementsByTagName("ul")[0].style.display=="block")?"url(/images/greenwood/minus.png)":"url(/images/greenwood/plus.png)";
}


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].childNodes[0].nodeName=="SPAN" && temp.getElementsByTagName("li")[q].getElementsByTagName("ul").length>0){
        cookieArray[cookieArray.length]=(temp.getElementsByTagName("li")[q].getElementsByTagName("ul")[0].style.display=="block");
      }
    }
  }
  document.cookie="navstate="+cookieArray.join(",")+";expires="+new Date(new Date().getTime() + 365*24*60*60*1000).toGMTString()+"; path=/";
}

