/*=================================================================================================*/
/*======  Enthält alle Funktionen für das Erstellen des Menus (linke Seite des Bildschirms)  ======*/
/*=================================================================================================*/

/*==============================  Menuaufbau  ==============================*/
/* Baut die Menus aufgrund der erhaltenen Tabellen auf und gibt diese zurück*/
/* Werte für Inputvariable Nummer: AktiverMenupunkt --> Numerischer Wert, welcher die Zeile in der Tabelle HauptMenutabelle kennzeichnet*/
/* Werte für Inputvariable Nummer: AktiverSubMenupunkt --> Numerischer Wert, welcher die Zeile in der Tabelle Menutabelle kennzeichnet*/
/* Werte für Inputvariable Nummer: Level --> T = Mainlevel; index.htm*/
/*                                           B = Bottom; alles, ausser index.htm*/
/* HauptMenutabelle: enthält die Hauptmenueinträge */
/* Menutabelle     : enthält die Submenueinträge */
/* MaxSubmenueff   : Anzahl der effektiven Submenueinträge*/
/* LinkIndex : Prefix des Links ab der Index-Seite*/
/* LinkNormal: Prefix des Links ab allen anderen Seiten*/
/* Anzahl3   : Startwert für die Menueinträge*/
/* Up3       : Erhöhungswert für die Menueinträge*/

function Menuaufbau (AktiverMenupunkt, AktiverSubMenupunkt, Level, HauptMenutabelle, Menutabelle, MaxSubmenueff, LinkIndex, LinkNormal, Anzahl3In, Up3) {
var LinkMenu;
var LinkMenuInit;
var Menu0;
var Menu1;
var Menu2;
var Menu3;
var Menu0S;
var Menu1S;
var Menu2S;
var Menu3S;
var Menu4S;
var Anzahl;
var Anzahl2;
var Anzahl3;
var AnzahlUN;
var Anzahl2UN;
var Anzahl2AK;
var returnwert;

var AktivesMenu = '<tr>'+
		         '<td onMouseOut="ouN('+"'nHHH','navP');"+'" onMouseOver="ovN('+"'nHHH','navO');"+'" width="118"><a href="LINK">'+
		         '<div class="navP" id="nHHH" onMouseOut="ouN('+"'nHHH','navP');"+'" onMouseOver="ovN('+"'nHHH','navO');"+'">BEZEICHNUNG</div></a></td>'+
  		         '<td id="tdw1t"></td></tr>'+
  		         '<tr><td id="tdp1" colspan="2">';
var AktivesMenuEnd = '</td></tr>';

var InaktivesMenu = '<tr>'+
				  '<td onMouseOut="hNL('+"'unHHH');ouN('nHHH','nav');"+'" onMouseOver="sNL('+"'unHHH'); ovN('nHHH','navO');"+'" width="118"><a href="LINK">'+
				  '<div class="nav" id="nHHH" onMouseOut="hNL('+"'unHHH'); ouN('nHHH','nav');"+'" onMouseOver="sNL('+"'unHHH'); ovN('nHHH','navO');"+'">BEZEICHNUNG</div></a></td>'+
			       '<td id="tdw1t">'+
			       '<div id="unHHH" style="display:none;" onMouseOut="hNL('+"'unHHH'); ouN('nHHH','nav');"+'" onMouseOver="sNL('+"'unHHH'); ovN('nHHH','navO');"+'">'+
			         '<table id="KAdressen" cellspacing="0" cellpadding="0" onMouseOut="hNL('+"'unHHH'); ouN('nHHH','nav');"+'" onMouseOver="sNL('+"'unHHH'); ovN('nHHH','navO');"+'"><tr><td>';
var InaktivesMenuEnd = '</td></tr></table></div></td></tr>';

var AktivesSubMenu = '<a href="LINK" onMouseOut="ouN('+"'uHHHSSS','unavA');"+'" onMouseOver="ovN('+"'uHHHSSS','unavPO');"+'"><div id="uHHHSSS" class="unavA">BEZEICHNUNG</div></a>';
var InaktivesSubMenu = '<a href="LINK" onMouseOut="ouN('+"'uHHHSSS','unav');"+'" onMouseOver="ovN('+"'uHHHSSS','unavO');"+'"><div id="uHHHSSS" class="unav">BEZEICHNUNG</div></a>';

/*Linklevel bestimmen*/
 if (Level == undefined) {Level = "B";}
  if (Level == "T")
    {
    	LinkMenuInit = LinkIndex;
    	AktiverMenupunkt = -1;
    }
  else
  	{
  		LinkMenuInit = LinkNormal;
    }

Anzahl = 0;
returnwert = "";

/*Hauptmenueinträge auflisten*/
while (Anzahl < HauptMenutabelle.length)
{
  if (AktiverMenupunkt == Anzahl)
    {
      Menu0 = AktivesMenu;
    }
  else
	  {
		  Menu0 = InaktivesMenu;
    }

  Menu1 = Menu0.replace(/BEZEICHNUNG/g, (HauptMenutabelle [Anzahl] [0]));
  
 if (!AktiverSubMenupunkt && AktiverSubMenupunkt != 0)
    {
    	LinkMenu = LinkIndex;
    }
  else
  	{
  		LinkMenu = LinkNormal;
    }
    
  LinkMenu = LinkMenuInit + (HauptMenutabelle [Anzahl] [1]);
  Menu2 = Menu1.replace(/LINK/g, LinkMenu);

  AnzahlUN = Anzahl + 1;
  Menu3 = Menu2.replace(/HHH/g, AnzahlUN);

  returnwert = returnwert + Menu3;

  /*=======  Submenueinträge auflisten  ========*/
  Anzahl2=0;
  Anzahl3=Anzahl3In;
  Anzahl2AK=0;
  Anzahl2UN = 1;
  while (Anzahl2 < MaxSubmenueff)
  {
  	if ((Menutabelle [Anzahl] [Anzahl2]) != "")
  	  {
  	  	if ((Menutabelle [Anzahl] [Anzahl2]).substr(0, 8) == '<script type="text/javascript">')
  	  	  {
  	  	  	returnwert = returnwert + (Menutabelle [Anzahl] [Anzahl2]);
  	  	  }
  	  	else
  	  		{
  	  			/*1. If für Untermenus, 2. If für Hauptmenu*/
            if ((AktiverSubMenupunkt == Menutabelle [Anzahl] [Anzahl3] && Up3 != 0) || (AktiverSubMenupunkt == Anzahl2AK && AktiverMenupunkt == Anzahl && Up3 == 0))
              {
                Menu0S = AktivesSubMenu;
              }
            else
	            {
		            Menu0S = InaktivesSubMenu;
              }

            Menu1S = Menu0S.replace(/BEZEICHNUNG/g, (Menutabelle [Anzahl] [Anzahl2]));
            
            Anzahl2++;

            LinkMenu = LinkMenuInit + (Menutabelle [Anzahl] [Anzahl2]);
            Menu2S = Menu1S.replace(/LINK/g, LinkMenu);

            Menu3S = Menu2S.replace(/SSS/g, Anzahl2UN);
            Menu4S = Menu3S.replace(/HHH/g, AnzahlUN);
            
            if (Up3 != 0) {
              Anzahl2++;
            }
            Anzahl3=Anzahl2 + Up3;

            returnwert = returnwert + Menu4S;
          }
      }
    Anzahl2UN++;
    Anzahl2AK++;
  	Anzahl2++;
  }

  if (AktiverMenupunkt == Anzahl)
    {
      returnwert = returnwert + AktivesMenuEnd;
    }
  else
	  {
		  returnwert = returnwert + InaktivesMenuEnd;
    }
	
	Anzahl++;
}

return returnwert;
}
