function toggle(idStr)
{
	var element = document.getElementById(idStr);
	var imgStr = new String(idStr + 'image');
	var image = document.getElementById(imgStr);
	
	if(element.style.display == "none")
	{
		element.style.display = "";
		image.src = "images/arrow-dn.gif";
	}
	else
	{
		element.style.display = "none";
		image.src = "images/arrow-rt.gif";
	}	
	
	//Close all other parent nodes
	var nodes=get_cookie('nodeList').split("-");
	
	for(i=0; i < nodes.length; i++)
	{
		var nodeId= new String(nodes[i]);
		var element = document.getElementById(nodeId);
		var imgStr = new String(nodeId + 'image');
		var image = document.getElementById(imgStr);
		
		if(nodeId != idStr)
		{
			element.style.display = "none";
			image.src = "images/arrow-rt.gif";
		}
	}
}

function open_node(idStr)
{
    if (idStr == "") 
        return;

	var element = document.getElementById(idStr);
	var imgStr = new String(idStr + 'image');
	var image = document.getElementById(imgStr);
	
	if(element.style.display == "none")
	{
		element.style.display = "";
		image.src= "images/arrow-dn.gif";
	}
	
	//Close all other parent nodes
	var nodes=get_cookie('nodeList').split("-");
	
	for(i=0; i < nodes.length; i++)
	{
		var nodeId= new String(nodes[i]);
		var element = document.getElementById(nodeId);
		var imgStr = new String(nodeId + 'image');
		var image = document.getElementById(imgStr);
		
		if(nodeId != idStr)
		{
			element.style.display = "none";
			image.src = "images/arrow-rt.gif";
		}
	}
}

function preloadimages()
{
	var myimages = new Array();
	
	for (i=0; i<preloadimages.arguments.length; i++)
	{
		myimages[i] = new Image();
		myimages[i].src = preloadimages.arguments[i];
	}
}

function setCookie()
{
	var nodes = get_cookie('nodeList').split("-");
	var displayValues = "";
	
	for(i=0; i < nodes.length; i++)
	{
		displayValues=displayValues+nodes[i]
		var nodeId= new String(nodes[i])
		var element = document.getElementById(nodeId)
		
		if(element.style.display == "none")
			displayValues=displayValues + "_0-"
		else
			displayValues=displayValues + "_1-"
		
	}
	
	displayValues = displayValues.substr(0,displayValues.length-1);
	document.cookie = "nodeDisplay=" + displayValues;
}

function get_cookie(Name) 
{
  var search = Name + "=";
  var returnvalue = "";
  
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if (offset != -1) 
    { 
      offset += search.length
      // set index of beginning of value
      end = document.cookie.indexOf(";", offset);
      
      // set index of end of cookie value
      if (end == -1) end = document.cookie.length;
        returnvalue=unescape(document.cookie.substring(offset, end))
      }
   }
   
  return returnvalue;
}

function retrieveCookie()
{
	var cookieStr;
	
	if ((cookieStr = get_cookie("nodeDisplay")) != "")
	{
		//set display properties for nodes
		var nodesAndProp = cookieStr.split("-")
		for(i=0; i < nodesAndProp.length; i++)
		{
			values=nodesAndProp[i].split("_")
			var nodeName = new String(values[0])
			var displayVal = values[1]
			var element = document.getElementById(nodeName)
			var imgStr = new String(nodeName + 'image')
			var image = document.getElementById(imgStr)
			
			if(displayVal==1)
			{
				element.style.display = "";
				image.src = "images/arrow-dn.gif";
			}
			else
			{
				element.style.display ="none";
				image.src = "images/arrow-rt.gif";
			}
		}
	}
}

function MM_findObj(n, d) 
{
  var p,i,x;  
  
  if(!d) 
    d = document; 
  
  if((p = n.indexOf("?")) > 0 && parent.frames.length) 
  {
    d = parent.frames[n.substring(p+1)].document; 
    n = n.substring(0,p);
  }
  
  if(!(x=d[n])&&d.all) 
    x = d.all[n]; 
  
  for (i=0; !x && i<d.forms.length; i++) 
  {
    x = d.forms[i][n];
  }
  
  for(i=0; !x&&d.layers&&i<d.layers.length; i++) 
  {
    x = MM_findObj(n,d.layers[i].document); 
  }
  
  return x;
}

function MM_swapImage() 
{
  var i, j=0, x, a = MM_swapImage.arguments; 
  
  document.MM_sr = new Array; 
  
  for(i=0; i<(a.length-1); i+=2)
  {
    if ((x = MM_findObj(a[i])) != null)
    {
        document.MM_sr[j++] = x;
        x.oSrc = x.src; 
        x.src = a[i+1];
    }
  }
}

function MM_swapImgRestore() 
{
  var i, x, a = document.MM_sr; 
  
  for(i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++)
  {
    x.src = x.oSrc;
  }
}
