<!--  Hiding Script
// Goble variable
var foldersTree = 0;
var timeOutId = 0;
var picturePath;
var targetFrameName;

//node nature
var leafOutside = 0;
var leaf = 1;
var branchOpen = 2;
var branchClosed = 3;
var iNodeNature = 0;
var iNodeName = 1;
var iNum = 3;
var iChild = 4;
var iLink = 2;
var L = new Array;
var treeHTML;

//ns4 bug
if (document.layers)
{
	window.onResize = NSreloadTree;
}

function NSreloadTree()
{
	layerWrite("tree",treeHTML);
}

function transferTree()
{
	var i = 0;
	var v = new Array;
	v[0] = generateNode(L[i][1],L[i][3],L[i][2],i);
	for (i=1; i<L.length;i++)
	{
		v[L[i][0]] = appendChild(v[L[i][0]-1], generateNode(L[i][1],L[i][3],L[i][2],i));
	}
	foldersTree = v[0]
//	eval('parent.'+targetFrameName+'.location.href = foldersTree[2]');
}

function changeImage(layer,imgName,imgObj) 
{
	if (document.layers && layer!=null) eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src');
	else document.images[imgName].src = eval(imgObj+".src");
}

function generateNode(nodeNature, name, link, num)
{
	var a;
	a = new Array;
	a[iNodeNature] = nodeNature;
	a[iNodeName] = name;
	a[iNum] = num;
	
	if (nodeNature == leaf)
	{
		a[iLink] = "<a href='"+link+"' target="+targetFrameName+"><img src='"+picturePath+"doc.gif' width=24 height=22 alt=\""+name+"\"";
		a[iLink] += " border = 0></a><td valign=middle align=left nowrap><a href='"+link+"' target="+targetFrameName+"><font size=-1 face ='Arial, Helvetica'>" + name + "</font></a>";
	}
	else if (nodeNature == leafOutside)
	{
		a[iLink] = "<a href="+link+" target=_blank><img src='"+picturePath+"link.gif' width=24 height=22 alt=\""+name+"\"";
		a[iLink] += " border = 0></a><td valign=middle align=left nowrap><a href='"+link+"' target=_blank><font size=-1 face ='Arial, Helvetica'>" + name + "</font></a>";
	}
	else if (nodeNature > leaf)
	{
		a[iLink] = link;
	}
	return a;
}

function appendChild(parent, child)
{
	parent[parent.length] = child;
	return child;
}

function redrawTree()
{
	treeHTML="";
	redrawNode(foldersTree, 0, 1, "");
	layerWrite("tree",treeHTML);
}

function layerWrite(id,text) 
{
	if (document.layers) 
	{
		var lyr = document.layers[id].document;
		lyr.open();
		lyr.write(text);
		lyr.close();

	}
	else if (document.all)
	{
		document.all[id].innerHTML = text;
	}
	else if (document.getElementById)
	{
		var lyr = document.getElementById(id);
		lyr.innerHTML = text;
	}
}

function redrawNode(node, level, lastNode, leftSide)
{
	var j=0;
	var i=0;
	treeHTML += "<table border=0 cellspacing=0 cellpadding=0>";
	treeHTML += "<tr><td valign=middle nowrap>";
	treeHTML += leftSide;
	if (level>0)
        if (lastNode) //the last 'brother' in the children array
        {
                treeHTML += "<img src='"+picturePath+"lastnode.gif' width=16 height=22 >";
                leftSide = leftSide + "<img src='"+picturePath+"blank.gif' width=16 height=22>" ;
        }
        else
        {
                treeHTML += "<img src='"+picturePath+"node.gif' width=16 height=22 >";
                leftSide = leftSide + "<img src='"+picturePath+"vertline.gif' width=16 height=22>";
        }
	displayIconAndLabel(node);
	treeHTML += "</tr></table>";
	if (node[iNodeNature]==branchOpen)
	{
		level += 1;
		for (i=iChild; i<node.length-1; i++)
			redrawNode(node[i],level,0,leftSide);

		redrawNode(node[node.length-1],level,1,leftSide);
	}
}

function displayIconAndLabel(node)
{
	if (node[iNodeNature]<=leaf)
		treeHTML += node[iLink];
	else 
	{
		treeHTML += "<a href='javascript:openBranch(\"" + node[iNum] + "\")'><img src='";
		if (node[iNodeNature]==branchOpen)
			treeHTML += picturePath+"openfolder.gif' width=24 height=22 border=noborder alt=\""+node[iNodeName]+"\"></a>";
		else if (node[iNodeNature]==branchClosed)
			treeHTML += picturePath+"closedfolder.gif' width=24 height=22 border=noborder alt=\""+node[iNodeName]+"\"></a>";
		treeHTML += "<td valign=middle align=left nowrap>";
		treeHTML += "<a href='javascript:openBranch(\"" + node[iNum] + "\")'><font size=-1 face='Arial, Helvetica'>"+node[iNodeName]+"</font></a>";
	}
}

function openBranch(branchNum)
{
    clickOnFolderRec(foldersTree, branchNum);
		redrawTree();
}

function clickOnFolderRec(foldersNode, foldersNum)
{
	var i=0;

    if (foldersNode[iNum] == foldersNum)
    {
        if (foldersNode[iNodeNature] > leaf)
        {
				 	 if (foldersNode[iNodeNature]==branchOpen)
					 		closeFolders(foldersNode);
					 else
					 {	
					 		if (foldersNode[iLink] != "")
							{
								 eval('parent.'+targetFrameName+'.location = foldersNode[iLink]');
							}
							foldersNode[iNodeNature] = branchOpen;
					 }
			  }
    }
    else
    {
        if (foldersNode[iNodeNature] > leaf)
            for (i=iChild; i< foldersNode.length; i++)
                clickOnFolderRec(foldersNode[i], foldersNum);
    }
}

function closeFolders(foldersNode)
{
	var i=0;

    if (foldersNode[iNodeNature] > leaf)
    {
        for (i=iChild; i< foldersNode.length; i++)
						closeFolders(foldersNode[i]);
				
		foldersNode[iNodeNature] = branchClosed;
	}
}

function openFolders(foldersNode)
{
	var i=0;

    if (foldersNode[iNodeNature] > leaf)
    {
        for (i=iChild; i< foldersNode.length; i++)
			openFolders(foldersNode[i]);
		foldersNode[iNodeNature] = branchOpen;
	}
}

function openAllFolders()
{
	openFolders(foldersTree);
	redrawTree();
}

function initializeTree(path, Name)
{
	picturePath = path;
	targetFrameName = Name;
	generateTree();
	setTimeout("redrawTree()", 30);
}



// end hiding script  -->
