	var tree ="";

        function stopEventBubble(event)
        {
                if (!event) event=window.event;
                event.cancelBubble=true;
                if (event.StopPropagation) event.StopPropagation();
                return false;                
        }

	function toggleBranch(branch,event,cookieName){
		    var BranchNode = document.getElementById("node_"+branch);
                var Branch = document.getElementById("branch_"+branch);
                if(!BranchNode || !Branch)
                        return;
                if (Branch.style.display=="block")
                {
                        Branch.style.display="none";
                        BranchNode.style.backgroundImage="url(plus.gif)";
                        if (cookieName)
                        {
                                tree=tree.replace(branch,"");
                                tree=tree.replace(/^,/,"");
                                tree=tree.replace(/,$/,"");
                                tree=tree.replace(",,",",");			
                        }
                }
                else
                {
                        Branch.style.display="block";
                        BranchNode.style.backgroundImage="url(minus.gif)";
                        if(cookieName && tree.indexOf(branch)<0)
                        {
                                if (tree!="")
                                   tree = tree +",";
                                tree = tree + branch;
                        }
                }
                stopEventBubble(event);
                if (cookieName)
                        document.cookie=cookieName+"="+tree+"; path=/";
                return;
	}

        function showBranchSecure(branch)
        {
                var BranchNode = document.getElementById("node_"+branch);
                var Branch = document.getElementById("branch_"+branch);
                if(!BranchNode || !Branch)
                {
                        window.setTimeout("showBranchSecure('"+branch+"')",100);
                        return;
                }
                else
                {
                    Branch.style.display="block";
                    BranchNode.style.backgroundImage="url(minus.gif)";
                }
                return;
        }

	function restoreTree(cookieName)
	{
		var treeCookieValue = "";
                var beg=cookieName+"=";
		if (document.cookie && document.cookie.indexOf(beg)>=0)
		{
			treeCookieValue=document.cookie.substring(document.cookie.indexOf(beg)+beg.length,document.cookie.length);
			var treeCookieEnd=treeCookieValue.indexOf(";");
			if (treeCookieEnd>-1)
				treeCookieValue=treeCookieValue.substring(0,treeCookieEnd);
                        if (treeCookieValue)
                        {
                                tree=treeCookieValue;
                                var treeOpenBranches = tree.split(",");
                                for (i=0; i< treeOpenBranches.length; i++)
                                {
                                        showBranchSecure(treeOpenBranches[i]);
                                }
                        }
                }
	}



