// Vertical Drop Down Menu tree structure
// Created 14/04/06 by Apito
/**********************************
Variable Declaration
**********************************/
var img1 = new Image()
img1.src = "images/fold.gif"
var img2 = new Image()
img2.src = "images/open.gif"
var ns6=(document.getElementById&&!document.all||window.opera)
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
/**********************************
Function Declaration
**********************************/

function checkcontained(e)
{
	var iscontained=0
	if(ns6)
	{
		e.cancelBubble = true;
		cur = e.target;
	}else{
		event.cancelBubble = true;
		cur = event.srcElement;
	}
	
	i=0
	if (cur.id.indexOf("header_") == 0)
	{
		iscontained=1
	}else{
		while (ns6&&cur.parentNode||(ie4&&cur.parentElement))
		{
		    if (cur.id.indexOf("header_") == 0 || cur.id.indexOf("subheading_") == 0)
			{
			    iscontained = (cur.id.indexOf("header_") == 0) ? 1 : 0
				break
			}
			cur=ns6? cur.parentNode : cur.parentElement
		}
	}

	if (iscontained)
	{
		var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("ul")[0];		
		if (foldercontent.style.display=="none")
		{
			foldercontent.style.display="";
			cur.style.listStyleImage="url(images/open.gif)";
		}else{
			foldercontent.style.display="none";
			cur.style.listStyleImage="url(images/fold.gif)";
		}
	}
}

function liRegister()
{
	var testLILen = document.getElementById("treeListing").getElementsByTagName("li").length;
	for(i=0;i<=testLILen-1;i++)
	{
		var elId = document.getElementById("treeListing").getElementsByTagName("li")[i].id;
		var el = document.getElementById("treeListing").getElementsByTagName("li")[i];

		//Attach the specific event handler to each of the <LI> tags rather than a catch all click event
		if (elId.indexOf("header_") == 0)
		{
			switch(navigator.appName)
			{
				case "Netscape":el.addEventListener("click",checkcontained,false);break;
				case "Microsoft Internet Explorer": el.attachEvent("onclick",checkcontained); break;
			}
		}
	}
}
