﻿imgHi = new Image(); imgHi.src = "/images/high.gif";
imgLo = new Image(); imgLo.src = "/images/low.gif";
imgHiS = new Image(); imgHiS.src = "/images/highp.gif";
imgLoS = new Image(); imgLoS.src = "/images/lowp.gif";
transGifSrc = "/images/trans.gif";
umbruch = 34; // Umbruch nach der angegebenen Anzahl an Zeichen
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function startt(){
  var zeit = new Date();
  start = zeit.getMilliseconds();
}
function stopt(){
  var zeit = new Date();
  stop = zeit.getMilliseconds();
  //alert(start/1000+", "+stop/1000);
  //alert((stop-start)/1000);
}
//+++ Menu erzeugen ++++++++++++
menuInitOK=false; //globale vari, ob das menu vollst&auml;ndig ist

var lineHeights = new Array();

function erzeugeMenu(ebene1,ebene2,xPos,yPos){

  var menuID = (ebene2==0)?String(ebene1):ebene1+"_"+ebene2;
  var imgRefEbene2 = new Array();  //hier werden die img-Namen reinkopiert, um die globale JS Referenz auf die img zu erm&ouml;glichen
  var imgRefEbene1 = new Array();  //hier werden die img-Namen reinkopiert, um die globale JS Referenz auf die img zu erm&ouml;glichen
  
  
  var ausgabepuffer1 = '<div id="bm'+menuID+'" class="menu">\n';
  ausgabepuffer1 += '<table cellpadding="0" cellspacing="0" width="'+feldbreite+'" border="0">\n'

  
  if(ebene2==0){ //ebene 1 menu erzeugen
    for(var i=1; eval("i<Menu"+ebene1+".length"); i++) {


    var linkname = eval("Menu"+ebene1+"[i][0]").replace(/(\S+)-\s+/g, "$1");

    // breche um, falls der Linkname länger als die definierte Anzahl an Zeichen ist
    // und kein Leerzeichen vorkommt
    if (linkname.length > umbruch && linkname.substr(0,umbruch).search(/\s+/) == -1){
      var anfang = linkname.substr(0, umbruch);
      var ende = linkname.substring(umbruch, (linkname.length));
    
      linkname = anfang+"<br>"+ende;
    }







      if (eval("Menu"+ebene1+"[i].length>2")) { //wenn es ebenen-2 menus enthalten soll
       
     ausgabepuffer1 += '<tr>' + 
   '<td width='+feldbreite+' height='+(feldhoehe-1)+' onClick="window.location.href=\''+eval("Menu"+ebene1+"[i][1]")+'\'" onMouseOut="document.getElementById(\'table_'+ebene1+'_'+i+'\').className=\'menu-inactive\'; verstecke()" onMouseOver="document.getElementById(\'table_'+ebene1+'_'+i+'\').className=\'menu-active\'; zeige('+ebene1+','+i+',0,true)">'+
    '<table cellpadding="0" cellspacing="0" border="0" class="menu-inactive" id="table_'+ebene1+'_'+i+'">'+
     '<tr>'+
      '<td class="menu-topline" colspan="3"><img src="/images/trans.gif" width="1" height="1"></td>'+
     '</tr>'+
     '<tr>'+
      '<td width="5"><div id="div_'+ebene1+i+'" style="height:100%"><img src="/images/trans.gif" width="5" style="height: 100%" id="img_'+ebene1+i+'"></div></td>'+
      '<td width="'+(feldbreite-25)+'" height='+(feldhoehe-1)+' >'+
       '<a class="dhtml-men-link" href="'+eval("Menu"+ebene1+"[i][1]")+'">'+linkname+'</a>'+
      '</td>'+
      '<td width="20"><img src="/images/navipfeil-rechts.gif"></td>'+
     '</tr>'+
    '</table>'+
   '</td>'+
  '</tr>\n';
  
  }else { //wenn es keine ebenen-2 menus enthalten soll
        
   ausgabepuffer1 += '<tr>' + 
   '<td width='+feldbreite+' height='+(feldhoehe-1)+' onClick="window.location.href=\''+eval("Menu"+ebene1+"[i][1]")+'\'" onMouseOut="document.getElementById(\'table_'+ebene1+'_'+i+'\').className=\'menu-inactive\'; verstecke()" onMouseOver="document.getElementById(\'table_'+ebene1+'_'+i+'\').className=\'menu-active\'; zeige('+ebene1+','+i+',0)">'+
    '<table cellpadding="0" cellspacing="0" border="0" class="menu-inactive" id="table_'+ebene1+'_'+i+'">'+
     '<tr>'+
      '<td class="menu-topline" colspan="3"><img src="/images/trans.gif" width="1" height="1"></td>'+
     '</tr>'+
     '<tr>'+
      '<td width="5"><div id="div_'+ebene1+i+'" style="height:100%"><img src="/images/trans.gif" style="width: 5px; height: 100%" id="img_'+ebene1+i+'"></div></td>'+
      '<td width="'+(feldbreite-25)+'" height='+(feldhoehe-1)+'>'+
       '<a class="dhtml-men-link" href="'+eval("Menu"+ebene1+"[i][1]")+'">'+linkname+'</a>'+
      '</td>'+
      '<td width="20"><img src="/images/trans.gif" width="20" height="1"></td>'+
     '</tr>'+
    '</table>'+
   '</td>'+
  '</tr>\n';  
    }
   }
  }else { //ebene 2 menu erzeugen
    eval("var mutter = Menu"+ebene1+"[ebene2];");
    for(var i=2;i<mutter.length;i+=2) {


  var linkname2 = mutter[i].replace(/(\S+)-\s+/g, "$1");

   // breche um, falls der Linkname länger als die definierte Anzahl an Zeichen ist
   // und kein Leerzeichen vorkommt
   if (linkname2.length > umbruch && linkname2.substr(0,umbruch).search(/\s+/) == -1){
    var anfang = linkname2.substr(0, umbruch);
    var ende = linkname2.substring(umbruch, (linkname2.length));
    
    linkname2 = anfang+"<br>"+ende;
   }

  
    ausgabepuffer1 += '<tr>' + 
   '<td width='+feldbreite+' height='+(feldhoehe-1)+' onClick="window.location.href=\''+mutter[i+1]+'\'" onMouseOut="document.getElementById(\'table_'+ebene1+'_'+ebene2+'_'+i/2+'\').className=\'menu-inactive\'; verstecke()" onMouseOver="document.getElementById(\'table_'+ebene1+'_'+ebene2+'_'+i/2+'\').className=\'menu-active\'; zeige('+ebene1+','+ebene2+','+i/2+')">'+
    '<table cellpadding="0" cellspacing="0" border="0" class="menu-inactive" id="table_'+ebene1+'_'+ebene2+'_'+i/2+'">'+
     '<tr>'+
      '<td class="menu-topline" colspan="3"><img src="/images/trans.gif" width="1" height="1"></td>'+
     '</tr>'+
     '<tr>'+
      '<td width="5"><img src="/images/trans.gif" width="5" height="1"></td>'+
      '<td width="'+(feldbreite-25)+'" height='+(feldhoehe-1)+'>'+
       '<a class="dhtml-men-link" href="'+mutter[i+1]+'">'+linkname2+'</a>'+
      '</td>'+
      '<td width="20"><img src="/images/trans.gif" width="20" height="1"></td>'+
     '</tr>'+
    '</table>'+
   '</td>'+
  '</tr>\n';  
   }  

  }
  ausgabepuffer1 += '</table>\n</div>\n';

  
  //schreiben
  document.write(ausgabepuffer1);
  
  if(ebene2==0){ //ebene 1 menu erzeugen
    lineHeights[ebene1] = new Array();
  
    for(var i=1;eval("i<Menu"+ebene1+".length");i++) {
      if(i>1){ 
        lineHeights[ebene1][i] = parseInt(document.getElementById("img_"+ebene1+i).height) + parseInt(lineHeights[ebene1][i-1]) + 1; 
      }else{
        lineHeights[ebene1][i] = parseInt(document.getElementById("img_"+ebene1+i).height) + parseInt(yPos) + 1; 
      }
    }
  }


  //globale Referenz auf die divs setzen
  //JS Objektname = "js"+divName, z.B. jsbm1_1
  eval("jsbm"+menuID+"=getLO('bm'+menuID);");
  
  //positionieren
  setXY(eval("jsbm"+menuID),xPos,yPos);
  
  //unsichtbar machen
  versteckeLO(eval("jsbm"+menuID));

}
var menMode = "rechts"; //nach wo soll das rechte menu aufklappen?
var menMode2 = "rechts"; //nach wo soll das 2. menu von rechts aufklappen?

function init(){ //ALLE menus erzeugen
  var kante1 = abstaende[abstaende.length-1]+(2*feldbreite); //rechter rand (xPos) des submenus des menus ganz rechts
  var kante2 = abstaende[abstaende.length-2]+(2*feldbreite); //rechter rand (xPos) des submenus des 2. menus von rechts
  var winBreite = getWidthWindowInner();

    if(typeof(Menu6) == "undefined") {
        anzahlMains=5;
    } 
    if (typeof(Menu5) == "undefined") {
        anzahlMains=4;
    } 
    if(typeof(Menu4) == "undefined") {
        anzahlMains=3;
    } 
    if(typeof(Menu3) == "undefined") {
        anzahlMains=2;
    } 
    if(typeof(Menu2) == "undefined") {
        anzahlMains=1;
    }

  for(var i=1;i<=anzahlMains;i++){
    erzeugeMenu(i,0,abstaende[i],yOff); //erzeugt ebene1 menus
    for(var j=1;j<eval("Menu"+i+".length");j++){
      if(eval("Menu"+i+"[j].length>2")) {
        if (winBreite<=kante1 && i==anzahlMains) {
          
       if(j>1){
      erzeugeMenu(i,j,abstaende[i]-feldbreite,lineHeights[i][j-1]);//erzeugt ebene2 menus
       }else{
      erzeugeMenu(i,j,abstaende[i]-feldbreite,yOff);//erzeugt ebene2 menus
       }    
    
    //erzeugeMenu(i,j,abstaende[i]-feldbreite,yOff+((j-1)*feldhoehe));//erzeugt ebene2 menus beim rechtesten punkt auf der LINKEN seite (=browser zu schmal)
          menMode = "links"; 
  }else if (winBreite<=kante2 && i==anzahlMains-1) {
       
    if(j>1){
      erzeugeMenu(i,j,abstaende[i]-feldbreite,lineHeights[i][j-1]);//erzeugt ebene2 menus
       }else{
      erzeugeMenu(i,j,abstaende[i]-feldbreite,yOff);//erzeugt ebene2 menus
       }            
    
    //erzeugeMenu(i,j,abstaende[i]-feldbreite,yOff+((j-1)*feldhoehe));//erzeugt ebene2 menus beim 2. punkt von rechts auf der LINKEN seite (=browser zu schmal)
          menMode2 = "links"; 
  }else{ 
       if(j>1){
      erzeugeMenu(i,j,abstaende[i]+feldbreite,lineHeights[i][j-1]);//erzeugt ebene2 menus
       }else{
      erzeugeMenu(i,j,abstaende[i]+feldbreite,yOff);//erzeugt ebene2 menus
       }
    //erzeugeMenu(i,j,abstaende[i]+feldbreite,yOff+((j-1)*feldhoehe));//erzeugt ebene2 menus
       }
   }
     }
  }
  menuInitOK = true;
}






//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++ Highlight und Zeige Funktionen +++
openDiv1=0; //gibt an, welches ebene-1-div offen ist
openDiv2=0; //gibt an, welches ebene-2-div offen ist
function zeige(pfad1,pfad2,pfad3,boolSub){ //zeigt ein div an, setzt evtl. highlights/low
  //pfad1 = Nummer des Hauptmenupunkts; pfad2 = Nummer des ebene1 punkts; pfad3 = Nummer des ebene2 punkts
  if(typeof to!="undefined") window.clearTimeout(to); //falls close-mechanismus ausgel&ouml;st war: reset (=stop)
  
  //von leer auf hauptbutton
  if(openDiv1==0 && pfad2==0 && pfad3==0) {
    zeige3Div(pfad1);openDiv1=pfad1;
  }

  //von ebene1 auf ebene1 oder von ebene2 auf anderen ebene1-punkt
  else if(openDiv1==pfad1 && pfad2!=0 && pfad3==0 && openDiv2!=pfad1+"_"+pfad2) {

    if(openDiv2!=0){ 
        document.getElementById('table_'+openDiv2).className='menu-inactive';
        hide3Div(openDiv2);
        openDiv2=0;
    }
    if(boolSub) {
        zeige3Div(pfad1+"_"+pfad2);
        openDiv2=pfad1+"_"+pfad2;
    }
  }
  //von ebene1 zum gleichen hauptbutton
  else if(openDiv1==pfad1 && pfad2==0) {
    if(openDiv2!=0) {
      hide3Div(openDiv2);
      openDiv2=0;
    }
  }
  //von ebene1 zu anderem hauptbutton
  else if(openDiv1!=0 && openDiv1!=pfad1 && pfad2==0) {

    versteckeLO(eval("jsbm"+openDiv1));
    if(openDiv2!=0) { 
      hide3Div(openDiv2);
      openDiv2=0;
    }
    zeige3Div(pfad1);openDiv1=pfad1;
  }

  //von ebene1 zu ebene2
  else if(openDiv2!=0 && openDiv2==pfad1+"_"+pfad2 && pfad3!=0) {
    document.getElementById('table_'+pfad1+'_'+pfad2).className='menu-active';
  }


  //von ebene2 zu gleichem ebene1-button
  else if(openDiv2!=0 && openDiv2!=pfad1+"_"+pfad2 && pfad3==0) {

    hide3Div(openDiv2);openDiv2=0;
    if(boolSub) {zeige3Div(pfad1+"_"+pfad2);openDiv2=pfad1+"_"+pfad2;}
  } 



   
}
//unterfunktionen von zeige() ---------
function zeige3Div(namePart){
  zeigeLO(eval("jsbm"+namePart));
}
function hide3Div(namePart){
  versteckeLO(eval("jsbm"+namePart));
}
//-------------------------------------
function verstecke(){ //leitet ein: verstecke div, setze evtl highlight/low
  to = window.setTimeout("verstecke2()",500);
}
function verstecke2(){ //wenn es offenes div auf ebene 2 gibt -> schliessen
  if(openDiv1!=0) { //wenn es offenes div auf ebene 1 gibt -> schliessen
    if(openDiv2!=0) { //wenn es offenes div auf ebene 2 gibt -> schliessen
      hide3Div(openDiv2);    
      openDiv2=0;
    }
    hide3Div(openDiv1);
    openDiv1=0; 
  }
 OpenLayer();
}
//--- Img Funktionen -------------------------------------------------
function switchImgHi(imgName) {imgName.src = imgHi.src;}
function switchImgLo(imgName) {imgName.src = imgLo.src;}
function switchImgHiS(imgName) {imgName.src = imgHiS.src;} //f&uuml;r die mit submenu
function switchImgLoS(imgName) {imgName.src = imgLoS.src;} //f&uuml;r die mit submenu
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++ Funktionen f&uuml;r die Hauptmenupunkte

function CloseLayer(nr){
/*
 if(document.layers){
  str_obj=".visibility='hide'";
 } else {
  str_obj=".style.visibility='hidden'";
 }
 x=1;
 layer_obj=MM_findObj("dhtml"+x);
 while(layer_obj){
  eval("layer_obj"+str_obj);
  layer_obj=MM_findObj("dhtml"+x++)
 }
 
 if(!document.layers){
  j=1;
  while(document.forms[j]){
   if( (document.forms[j].name!="vis") && (document.forms[j].name!="loginform") && (document.forms[j].name!="logoutform") && (document.forms[j].name!="searchform") ){
    for(var i=0;i<document.forms[j].length;++i) document.forms[j].elements[i].style.visibility='hidden';
   }
   j++
  } 
 }
*/
 //layer_obj.visibility='hide';
}
function OpenLayer(nr){
 if(document.layers){
  str_obj=".visibility='show'";
 } else {
  str_obj=".style.visibility='visible'";
 }
 x=1;
 layer_obj=MM_findObj("dhtml"+x);
 while(layer_obj){
  eval("layer_obj"+str_obj);
  layer_obj=MM_findObj("dhtml"+x++)
 }
 
 if(!document.layers){
  j=1;
  while(document.forms[j]){
   for(var i=0;i<document.forms[j].length;++i)
    document.forms[j].elements[i].style.visibility='visible'; 
   j++
  }  
 }
}
function switchImgLoTop(imgNr) {
 /*
  if(GlobalMenuNo!=imgNr){
   var bild = getImg("img"+imgNr+"_0_0");
   bild.src = eval("topMenuLo"+imgNr+".src;");
 }
 */
}
function switchImgHiTop(imgNr) {
  /*
  var bild = getImg("img"+imgNr+"_0_0");
  bild.src = eval("topMenuHi"+imgNr+".src;");
  */
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++ Rechtes Submenu wird nach links ausgeklappt, wen der browser zu schmal ist
function getWidthWindowInner(){ 
  if (_All) return (document.body.clientWidth);
  else if (_NS6 || _NS4) return(window.innerWidth);
}
/*
function korrigiereRechtestesMenu(){
  var winBreite = getWidthWindowInner();
  var x;
  var newMenMode = menMode;
  if (menuInitOK) {
    for(var j=1;j<eval("Menu"+anzahlMains+".length");j++) {
      if(eval("Menu"+anzahlMains+"[j].length>2")) {
       if(winBreite<=minBrowsWidth && menMode=="rechts"){
          x = abstaende[abstaende.length-1]-feldbreite;
          setX(eval("jsbm"+anzahlMains+"_"+j),x);
          newMenMode="links";
        }
        else if (winBreite>minBrowsWidth && menMode=="links"){
          x = abstaende[abstaende.length-1]+feldbreite;
          setX(eval("jsbm"+anzahlMains+"_"+j),x);
          newMenMode="rechts";          
        }
      }    
    }
  }
  menMode = newMenMode;
}
*/

function korrigiereRechtestesMenu(){
  var winBreite = getWidthWindowInner();
  var x;
  var newMenMode = menMode;
  var newMenMode2 = menMode2;  
  var az = anzahlMains-1;
  var kante1 = abstaende[abstaende.length-1]+(2*feldbreite); //rechter rand (xPos) des submenus des menus ganz rechts
  var kante2 = abstaende[abstaende.length-2]+(2*feldbreite); //rechter rand (xPos) des submenus des 2. menus von rechts
  if (menuInitOK) {
    for(var j=1;j<eval("Menu"+anzahlMains+".length");j++) {
      if(eval("Menu"+anzahlMains+"[j].length>2")) {
       if(winBreite<=kante1 && menMode=="rechts"){
          x = abstaende[abstaende.length-1]-feldbreite;
          setX(eval("jsbm"+anzahlMains+"_"+j),x);
          newMenMode="links";
        }
        else if (winBreite>kante1 && menMode=="links"){
          x = abstaende[abstaende.length-1]+feldbreite;
          setX(eval("jsbm"+anzahlMains+"_"+j),x);
          newMenMode="rechts";          
        }
      }    
    }
    for(var j=1;j<eval("Menu"+az+".length");j++) {
      if(eval("Menu"+az+"[j].length>2")) {
       if(winBreite<=kante2 && menMode2=="rechts"){
          x = abstaende[abstaende.length-2]-feldbreite;
          setX(eval("jsbm"+az+"_"+j),x);
          newMenMode2="links";
        }
        else if (winBreite>kante2 && menMode2=="links"){
          x = abstaende[abstaende.length-2]+feldbreite;
          setX(eval("jsbm"+az+"_"+j),x);
          newMenMode2="rechts";          
        }
      }    
    }
  }
  menMode = newMenMode;
  menMode2 = newMenMode2;
}
onresize=korrigiereRechtestesMenu;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++