/* Toggle the expand/collapse status of menu items */
function toggle(element)
{
    /* Toggle expand/collapse */
    for (var i=0;i<element.childNodes.length;i++)
    {
        var leaf = element.childNodes[i];
        if(leaf.nodeName == "UL")
        {

            leaf.style.display = (leaf.style.display == "block") ? "none" : "block"; 

        }

    }

}

/* Recurses from element supplied and creates clickable tree */
function buildClickable(element)
{
    var hasUL = 0;

    /* Recurse Nodes */
    for (var k=0; k<element.childNodes.length; k++)
    {

        if ( element.childNodes[k].nodeName == "UL") { hasUL = 1; }
        buildClickable(element.childNodes[k]);

    }

    /* Build clickable items inside LI tags */
    if (element.nodeName == 'LI')
    {
        firstNode = element.childNodes[0];        

	if ( firstNode.nodeName == "A" && firstNode.className == "menuitem" ) {

        	if ( hasUL == 1 )
		{

            		firstNode.onclick = function()
            		{
                		toggle(element);
            		}
       
        	}

	}

    }

}

/* Lets build the tree from root UL */    
function createTree()
{
    root = document.getElementById("tree");
    buildClickable(root);
}

/* Initialise Tree onLoad() */ 
window.onload=createTree;

