<!--  to hide script contents from old browsers


// This script was written by Marcelino Alves Martins on January of 1997.
// You are free to copy it as long as you keep this copyright notice.
// For more information refer to http://www.geocities.com/Paris/LeftBank/2178/ or mail to 
// martins@hks.com

// It was highly modified by Manuel Odendahl, big thx to Marcelino Martins

//each node in the tree is an Array with 4+n positions 
//  node[0] is 0/1 when the node is closed/open
//  node[1] is ID 
//  node[2] is 1 if the node is a document or 0 if it is a folder 
//  node[3] is the name of the folder
//  node[4] is the content of the node when it is a document
//  node[4] is the link of the node when it is a folder
//  node[5]...node[5+n] are the n children nodes when it is a node

// Auxiliary function to build the node
// The entries in arrayAux[5]..array[length-1] are other arrays 
function leafNode(ID, icon, name, iconname, link)
{
var arrayAux
	arrayAux = new Array
	arrayAux[0] = 0;
	arrayAux[1] = ID;
	arrayAux[2] = 0;
        
	if (icon==0)
	{
	   arrayAux[3] = name;
	}
	else
	{
		arrayAux[3] = "<img src='"+iconname+"' alt='Opens in new window'";
		arrayAux[3] += " border=0><td nowrap><font size=-1 face='Arial, Helvetica'>" + name + "</font>";
	}

        
        if (link)
           arrayAux[4] = link;
        else
           arrayAux[4]= "";

        return arrayAux;
}

// Just a vertical line
function nullNode(ID)
{
var arrayAux

	arrayAux = new Array
	arrayAux[0] = 2;
	arrayAux[1] = ID;
        
        return arrayAux;
}

//these are the last entries in the hierarchy, the local and remote links to html documents
function docNode(ID, icon, docDescription, link, iconname)
{
   var arrayAux;

   arrayAux = new Array;
   arrayAux[0] = 0;
   arrayAux[1] = ID;
   arrayAux[2] = 1;

   if (icon==0)
   {
      arrayAux[3] = "<A href='"+link+"' target='"+ziel+"' onClick='top.openBranch("+arrayAux[1]+")'>"+
	 "<img src='/baum/icons/document.png' alt='Opens in right frame'" 
      arrayAux[4] = "<A href='"+link+"' target='"+ziel+"' onClick='top.openBranch("+arrayAux[1]+")'>"+
	 "<img src='/baum/icons/documentg.png' alt='Opens in right frame'" ;
   }
   else
   {
      arrayAux[3] = "<A href='"+link+"' target='_blank' onClick='top.openBranch("+arrayAux[1]+")'>"+
	 "<img src='"+iconname+"' alt='Opens in right frame'" 
      arrayAux[4] = "<A href='"+link+"' target='_blank' onClick='top.openBranch("+arrayAux[1]+")'>"+
	 "<img src='"+iconname+"' alt='Opens in right frame'" ;
   }
   arrayAux[3] += " border=0></a><td nowrap><font size=-1 face='Arial, Helvetica'>" + docDescription + "</font>";
   arrayAux[4] += " border=0></a><td nowrap><font size=-1 face='Arial, Helvetica'>" + docDescription + "</font>";

   return arrayAux;
}

//this way the generate tree function becomes simpler and less error prone
function appendChild(parent, child)
{
	parent[parent.length] = child;
	return child;
}

// **********************
// display functions

//redraws the left frame
function redrawTree()
{
   if(navigator.appName=="Netscape")
      doc.clear();
   else
   {
      doc.close();
      doc.open();
   }
   
   drawHeader(doc);
   redrawNode(aux0, 0, 1, "");
   drawFoot(doc);
   doc.close();
}

//recursive function over the tree structure called by redrawTree
function redrawNode(foldersNode, level, lastNode, leftSide)
{
   var j=0;
   var i=0;

   if(foldersNode[0]==2)
   {
      doc.write("<table border=0 cellspacing=0 cellpadding=0 valign=center>");
      doc.write("<tr><td nowrap>");
      doc.write(leftSide);
      doc.write("<img src='/baum/icons/vertline.gif' width=16 height=22>");
      doc.write("</td></tr></table>");
   }
   else if(foldersNode[2]==1)
   {
      doc.write("<table border=0 cellspacing=0 cellpadding=0 valign=center>");
      doc.write("<tr><td nowrap>");
      doc.write(leftSide);
      if (level>0)
	 if (lastNode) //the last 'brother' in the children array
	 {
       	    doc.write("<img src='/baum/icons/lastnode.gif' width=16 height=22>");
	 }
       	 else
	 {
	    doc.write("<img src='/baum/icons/node.gif' width=16 height=22>");
	 }
      if(foldersNode[0])
      {
	 foldersNode[0] = 0;
	 doc.write(foldersNode[4]);
      }
      else
	 doc.write(foldersNode[3]);
      doc.write("</table>");
   }
   else if(foldersNode[2]==0)
   {
      doc.write("<table border=0 cellspacing=0 cellpadding=0>");
      doc.write("<tr><td valign = middle nowrap>");
      
      doc.write(leftSide);
      
      if (level>0)
      {
	 if (lastNode) //the last 'brother' in the children array
	 {
	    doc.write("<img src='/baum/icons/lastnode.gif' width=16 height=22>");
	    leftSide += "<img src='/baum/icons/blank.gif' width=16 height=22>" ;
	 }
       	 else
	 {
	    doc.write("<img src='/baum/icons/node.gif' width=16 height=22>");
	    leftSide += "<img src='/baum/icons/vertline.gif' width=16 height=22>";
	 }
      }
      
      displayIconAndLabel(foldersNode, doc);
      doc.write("</table>");
      
      if(foldersNode[0])
      { 
      	 level=level+1;
	 for (i=5; i<foldersNode.length;i++)
	    if (i==foldersNode.length-1)
	       redrawNode(foldersNode[i], level, 1, leftSide);
	    else
	       redrawNode(foldersNode[i], level, 0, leftSide);
      }
   }
}

//builds the html code to display a folder and its label
function displayIconAndLabel(foldersNode)
{
   if(foldersNode[4] && !foldersNode[0])
      doc.write("<A href='"+foldersNode[4]+"' target='"+ziel+"' onClick='top.openBranch("+foldersNode[1]+")'><img src=");
   else
      doc.write("<A href='Javascript:top.openBranch("+foldersNode[1]+")'><img src=");
   if (foldersNode[0])
      doc.write("\'/baum/icons/big_black_button.png\' width=24 height=22 border=noborder></a>");
   else
      doc.write("\'/baum/icons/big_blue_button.png\' width=24 height=22 border=noborder></a>");
   doc.write("<td valign=middle align=left nowrap>");
   doc.write("<font size='3' face='Arial, Helvetica'><b>"+foldersNode[3]+"</b></font>");
}

//**********************+
// Recursive functions

//when a parent is closed all children also are
function closeFolders(foldersNode)
{
   var i=0;

   if (!foldersNode[2])
   {
      for (i=5; i< foldersNode.length; i++)
	 closeFolders(foldersNode[i]);
   }
   if(foldersNode[0]==1)
      foldersNode[0] = 0;
}

//recursive over the tree structure
//called by openbranch
function clickOnFolderRec(foldersNode, ID)
{
   var i=0;

   if (foldersNode[1] == ID)
   {
	   if(foldersNode[2])
	   {
	      if(!foldersNode[0])
		 foldersNode[0] = 1;
	   }
	   else
	      if (foldersNode[0])
		 closeFolders(foldersNode);
	      else
	      {
		 foldersNode[0] = 1;
	      }
   }
   else
   {
      if (!foldersNode[2])
	 for (i=5; i< foldersNode.length; i++)
	    clickOnFolderRec(foldersNode[i], ID);
   }
}


// ********************
// Event handlers

//called when the user clicks on a folder
function openBranch(ID)
{
   clickOnFolderRec(aux0, ID);
   timeOutId = setTimeout("redrawTree()",100);
}

var aux0 = 0;
var timeOutId = 0;
var doc = document;
var ziel = "Navigation";

// end hiding contents from old browsers  -->

