function expandUL(node)
{
	toggleUl(node);
	collapseOpenULs(node);
	event.cancelBubble = true; 
}	

function toggleUl(node)
{	
	var ul = node.getElementsByTagName("UL")[0];
	
	if (ul != null)
	{
		if (ul.style.display == "block")
			showElement(ul, false);
		else
			showElement(ul, true);
	}	
}

function showElement(node, visible)
{
	if (node != null)
	{
		var display = "";
	
		if (visible)
		{
			display = "block";
		}
		else
		{
			display = "none";
		}
		
		node.style.display = display;
	}
}

function collapseOpenULs(node)
{
	if (node.parentNode.tagName == "UL" || node.parentNode.tagName == "LI")
	{
		var nodes = node.parentNode.childNodes;

		if (nodes != null)
		{
			for( var i = 0; i < nodes.length; i++)
			{
				if (nodes[i] != node && nodes[i].nodeName != "#text")
				{
					var listNodes = nodes[i].getElementsByTagName("UL");

					for( var j = 0; j < nodes.length; j++)
					{
						showElement(listNodes[j], false);
					}

				}
			}
		}

		collapseOpenULs(node.parentNode);
	}
}