/********************************************************************************************/
/*                                                                                          */
/*                      JavaScript-Library fuer [HML]                                       */
/*                                                                                          */
/********************************************************************************************/
/* First Releae     : 18.01.2000 / 23:28                                                    */
/* Last Update      : 20.10.2001 / 16:02                                                    */
/********************************************************************************************/
/* Watchdog = nein                                                                          */
/********************************************************************************************/
/* Inhalt: Diese Library sammelt die Routinen zur Manipulation der Layer-Menues.            */
/********************************************************************************************/
/* Verändern sie eigenmächtig keine Informationen davon ! Andernfalls uebernimmt die        */
/* Online-Services keinerlei Gewaehr fuer die ordnungsgemaesse Funktionsweise der Webseite. */
/* In solchen Faellen muessen wir die fuer die Instandsetzung enstehenden Aufwendungen in   */
/* Rechnung stellen !                                                                       */
/********************************************************************************************/

/********************************************************************************************/
/* Globale Variablendefintion                                                               */
/********************************************************************************************/
var NS;
var ident;
/* Browsererkennung *************************************************************************/
IE                 = (navigator.appName.indexOf("Microsoft")>-1);   // ja, wenn Browser = IE
NS                 = (navigator.appName.indexOf("Netscape")>-1);    // ja, wenn Browser = NS
/* Menueheader ******************************************************************************/
hdrFontFamily      = "Verdana";                                     // Schrifttyp
hdrFontSize        = "2";                                           // Schriftgroesse
hdrFontColor       = "#000000";                                     // Schriftfarbe
hdrBGColor         = "#d5d5d5";                                     // Hintergrundfarbe
/* Menuelinks *******************************************************************************/
linkFontFamily     = "Verdana";                                     // Schrifttyp
linkFontSize       = "2";                                           // Schriftgroesse
linkBGColor        = "#f0f0f0";                                     // Schriftfarbe
linkOverBGColor    = "#f0f0f0";                                     // Mausüber-Hintergrundfarbe
linkTarget         = "_top";                                        // Neues Fenster nach Mausklick auf Menuepunkt
zeilenhoeheklein   = 10;                                            // Kleine Zeilehoehe eines Menuepunktes
zeilenhoehenormal  = 24;                                            // Normale Zeilehoehe eines Menuepunktes
zeilenhoehegross   = 50;                                            // Vergroesserte Zeilehoehe fuer mehr Abstand der Menuepunkte
/* Menuedarstellung *************************************************************************/
YOffset            = 19;                                            // Lage der Oberkante des Menues von oben
YMenueProdukte     = 19;                                            // Lage der Oberkante des Menues Produkte
YMenueSupport      = 59;                                            // Lage der Oberkante des Menues Support
YMenueShop         = 99;                                            // Lage der Oberkante des Menues Shop
menuBGColor        = "#d1c9b5";                                     // Hintergrundfarbe der oberen und unteren Menuebegrenzung
menuIsStatic       = "no";                                          // ?
menuHeaderProdukte = "P r o d u k t e"                              // Ueberschrift
menuHeaderSupport  = "S u p p o r t "                               // Ueberschrift
menuHeaderShop     = "S h o p"                                      // Ueberschrift
menuWidth          = 220;                                           // Breite (must be a multiple of 5 !)
/* Menueklappgeschwindigkeit ****************************************************************/
speedout           = 5;                                             // Millisekunden zwischen jedem Schritt des Aufklappens
speedin            = 5;                                             // Millisekunden zwischen jedem Schritt des Zuklappens
/* Linke und rechte Klappbegrenzung *********************************************************/
herausfahrenbis    = 0;                                             // Horizontaler Wert bis zu dem das Menue herausgeklappt wird (must be a multiple of 5 !)
hineinfahrenbis    = -menuWidth-20;                                 // Horizontaler Wert bis zu dem das Menue hineingeklappt wird
/* Seitliches Bars **************************************************************************/
barBGColor         = "#006f98";                                     // Hintergrundfarbe des seitlichen Bars
/* unbekannt ********************************************************************************/
staticYOffset      = 20;                                            // ?
staticMode         = "advanced"                                     // ?
lastY              = 0;                                             // ?




function MM_displayStatusMsg(msgStr)
/************************************************************************************
unbekannte Funktion
************************************************************************************/
{
 status=msgStr;
 document.MM_returnValue = true;
}


function highlight(x)
/************************************************************************************
unbekannte Funktion
************************************************************************************/
{
 document.forms[x].elements[0].focus()
 document.forms[x].elements[0].select()
}


function MM_jumpMenu(targ,selObj,restore)
/************************************************************************************
unbekannte Funktion
************************************************************************************/
{
 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
 if (restore) selObj.selectedIndex=0;
}




function klappemenueszurueck()
/************************************************************************************
Hauptroutine für htm-Dateien, die die Menues zurückklappen. Aber nur, wenn auch
Menues in der htm-Datei des Frames 9 enthalten sind !
************************************************************************************/
{
 if ((top.frame9.location.href.indexOf(".htm")>-1) || (top.frame9.location.href.indexOf(".php")>-1))
   {
    /* Frame9 enthält augenblicklich Informationen einer HTML- oder PHP-Datei. Das reicht um davon
    auszugehen, dass dort prinzipiell Menue vorhanden sein können. Beginne daher zuerst
    herauszufinden welches Menue aufgeklappt ist. Dann klappe es zurueck. */
    if (menueaufgeklappt('Produkte')=="auf")
      {
       moveBack('Produkte')
      }
     else
      {
       if (menueaufgeklappt('Support')=="auf")
         {
          moveBack('Support')
         }
        else
         {
          if (menueaufgeklappt('Shop')=="auf")
            {
             moveBack('Shop')
            }
         }
      }
   }
  else
   {
    /* Frame9 enthält augenblicklich Informationen ohne die Menues (z.B. in angezeigte PDF-Dateien
    durch den Acrobat-Reader, daher können auch keine Menues zurueckgeklappt werden ! */
   }
}




function moveOut(menuetyp)
/************************************************************************************
Zentrale Funktion zu Herausklappen des Menues (geht nur, wenn Menue eingeklappt ist).
************************************************************************************/
{
 if ((top.frame9.location.href.indexOf(".htm")>-1) || (top.frame9.location.href.indexOf(".php")>-1))
   {
    /* Frame9 enthält augenblicklich Informationen einer HTML- oder PHP-Datei. Das reicht um davon
    auszugehen, dass dort prinzipiell Menue vorhanden sein können. */
    switch (menuetyp)
     {
      case "Produkte": ident="produktelayer";break;
      case "Support" : ident="supportlayer";break;
      case "Shop"    : ident="shoplayer";break;
     }
    /* Weil die ausgeklappten Menues mitgescrollt werden, koennen sie ggf. (auch ausgeklappt)
    nicht gesehen werden, wenn der gesamte Frame9-Inhalt vom User nach unten gescrollt wurde.
    Daher wird vor ausklappen eines Menues der Frame9-Inhalt zwangsweise nach oben gescrollt*/
    top.frame9.scrollTo(0,0);

    /* Raus mit dem Menue ! */
    moveOut1();
   }
  else
   {
    /* Frame9 enthält augenblicklich Informationen ohne die Menues (z.B. in angezeigte PDF-Dateien
    durch den Acrobat-Reader). Daher können auch keine Menues aufgeklappt werden ! */
    switch (menuetyp)
     {
      case "Produkte": alert ('Wenn Sie in das Untermenue der Produkte gelangen möchten, drücken Sie bitte zuerst auf »Home« !');break;
      case "Support" : alert ('Wenn Sie in das Untermenue des Supports gelangen möchten, drücken Sie bitte zuerst auf »Home« !');break;
      case "Shop"    : alert ('Wenn Sie in das Untermenue des Shops gelangen möchten, drücken Sie bitte zuerst auf »Home« !');break;
     }
   }
}



function moveOut1()
/************************************************************************************
Unterfunktion zum Herausklappen des Menues
************************************************************************************/
{
 if (window.cancel) {cancel="";}

 if (window.moving2)
   {
    clearTimeout(moving2);
    moving2="";
   }

 if ((IE && top.frame9.document.all[ident].style.pixelLeft < herausfahrenbis)||(NS && top.frame9.document.layers[ident].left < herausfahrenbis))
   {
    if (IE) {top.frame9.document.all[ident].style.pixelLeft += (20%menuWidth);}
       else if (NS) {top.frame9.document.layers[ident].left += (20%menuWidth);}
    moving1 = setTimeout('moveOut1()', speedout)
   }
  else {clearTimeout(moving1)}
};




function moveBack(menuetyp)
/************************************************************************************
Zentrale Funktion zum Hereinklappen des Menues (geht nur, wenn Menue ausgeklappt ist).
************************************************************************************/
{
 switch (menuetyp)
  {
   case "Produkte": ident="produktelayer"; break
   case "Support" : ident="supportlayer";  break;
   case "Shop"    : ident="shoplayer";     break;
  }
 cancel=moveBack1();
}




function moveBack1()
/************************************************************************************
Unterfunktion zum Hereinklappen des Menues
************************************************************************************/
{
 if (window.moving1) {clearTimeout(moving1)}

 if ((IE && top.frame9.document.all[ident].style.pixelLeft > hineinfahrenbis)||(NS && top.frame9.document.layers[ident].left > hineinfahrenbis))
   {
    if (IE) {top.frame9.document.all[ident].style.pixelLeft -= (40%menuWidth);}
       else if (NS) {top.frame9.document.layers[ident].left -= (40%menuWidth);}
    moving2 = setTimeout('moveBack1()', speedin)
   }
  else {clearTimeout(moving2)}
};



function menueaufgeklappt(menuetyp)
/************************************************************************************
Prueft, ob angegebenes Menue aufgeklappt ist.
************************************************************************************/
{
 switch (menuetyp)
  {
   case "Produkte":
   if ((IE && top.frame9.document.all['produktelayer'].style.pixelLeft < 0)||(NS && top.frame9.document.layers['produktelayer'].left < 0))
     {return "zu"} else {return "auf"};
   break;

   case "Support":
   if ((IE && top.frame9.document.all['supportlayer'].style.pixelLeft < 0)||(NS && top.frame9.document.layers['supportlayer'].left < 0))
     {return "zu"} else {return "auf"};
   break;

   case "Shop":
   if ((IE && top.frame9.document.all['shoplayer'].style.pixelLeft < 0)||(NS && top.frame9.document.layers['shoplayer'].left < 0))
     {return "zu"} else {return "auf"};
   break;
  }
}



function makeStatic(mode)
/************************************************************************************
unbekannte Funktion
************************************************************************************/
{
 if (IE) {winY = document.body.scrollTop;var NM=produktelayer.style}
 if (NS) {winY = window.pageYOffset;var NM=document.produktelayer}

 if (IE) {winY = document.body.scrollTop;var NM=supportlayer.style}
 if (NS) {winY = window.pageYOffset;var NM=document.supportlayer}

 if (mode=="smooth")
   {
    if ((IE||NS) && winY!=lastY)
      {
       smooth = .2 * (winY - lastY);
       if(smooth > 0) smooth = Math.ceil(smooth);
          else smooth = Math.floor(smooth);
       if (IE) NM.pixelTop+=smooth;
       if (NS) NM.top+=smooth;
       lastY = lastY+smooth;
      }
    setTimeout('makeStatic("smooth")', 1)
   }
  else if (mode=="advanced")
         {
          if ((IE||NS) && winY>YOffset-staticYOffset)
            {
             if (IE) {NM.pixelTop=winY+staticYOffset}
             if (NS) {NM.top=winY+staticYOffset}
            }
           else
            {
             if (IE) {NM.pixelTop=YOffset}
             if (NS) {NM.top=YOffset-7}
            }
          setTimeout('makeStatic("advanced")', 1)
         }
}


function init()
/************************************************************************************
Initialisierung, weil sonst die Layer-Menues zu Beginn ein wenig ueber dem Bildschirm
huepfen. Dazu wurden sie bei der Definition ausgeblendet und jetzt wieder ein-
geblendet.
************************************************************************************/
{
 if (IE)
   {
    document.all['produktelayer'].style.pixelLeft  = hineinfahrenbis;
    document.all['produktelayer'].style.visibility = "visible"
    document.all['supportlayer'].style.pixelLeft  = hineinfahrenbis;
    document.all['supportlayer'].style.visibility = "visible"
    document.all['shoplayer'].style.pixelLeft  = hineinfahrenbis;
    document.all['shoplayer'].style.visibility = "visible"
   }
  else if (NS)
         {
          document.produktelayer.left = hineinfahrenbis;
          document.produktelayer.visibility = "show"
          document.supportlayer.left = hineinfahrenbis;
          document.supportlayer.visibility = "show"
          document.shoplayer.left = hineinfahrenbis;
          document.shoplayer.visibility = "show"
         }
}
