var RSMenu = null;
var RSanzahl = 0;
// der pointer wurzel_last zeigt auf den zuletzt erzeugten Knoten
var wurzel_last = null;
var wurzel_aktuell = null; //zeigt auf das aktuell zu bearbeitende Element
//var wurzel_gefunden = null;
function wurzel(level,dokunummer,active,passiv,over,datei)

{    wurzel_aktuell = new wurzel_konstruktor(level,dokunummer,active,passiv,over,datei);
  // die neue Wurzel muss nun richtig einsortiert werden
  if (wurzel_last != null)
  {   wurzel_last.next = wurzel_aktuell;
      var vorgaenger = wurzel_last;
      wurzel_last = wurzel_aktuell; 
      //von der letzten Wurzel ausgehend den Knoten suchen, dessen level kleiner oder gleich
     //dem aktuellen level ist.falls die letzte Wurzel den gleichen level hat, aktuell hinten anfügen
     while (vorgaenger.level > wurzel_aktuell.level) 
           { vorgaenger = vorgaenger.father;}
     //jetzt hat vorgaenger einen kleineren oder gleichen level
     if (vorgaenger.level < wurzel_aktuell.level)
     {//nach unten ergänzen
      vorgaenger.sohn = wurzel_aktuell;
      wurzel_aktuell.father = vorgaenger;
     }
     else
     {//auf gleicher ebene ergänzen
      vorgaenger.bruder = wurzel_aktuell;
      wurzel_aktuell.father = vorgaenger.father;
     }
  }
  else
  {//es wurde noch nie eine Wurzel erzeugt
   RSMenu = wurzel_aktuell;
   wurzel_last = wurzel_aktuell;
  }


}

function wurzel_konstruktor(level,dokunummer,active,passiv,over,datei)
{
 this.nummer   = RSanzahl++;
 this.dokunummer = dokunummer;
 this.active = active;
 this.passiv = passiv;
 this.over = over;
 this.level    = level;
 this.datei    = datei;
 this.visible = (level < 2);
 this.imagenummer = 0;
 this.father   = null; //link auf den Vaterknoten
 this.bruder   = null; //nächste Knoten mit gleichem Level
 this.sohn     = null; //nächste Knoten mit niedrigerem Level
 this.next     = null; //nächste Knoten, Liste damit man durchlaufen kann.
}


//   Ende der Auskommentierung für die HTML-Anzeige   -->

