/***************************\
* Mannschafts-Menü's        *
\***************************/

function __mannschaftsleiste__ (saison_id)
{ var mannschaften = new Array();
  
  var mannschaften1 = new Array('Erste','Reserve');
  var mannschaften2 = new Array('Erste','Reserve','U15','U13','U11','U9');
  var mannschaften3 = new Array('Erste','Reserve','U16','U14','U12','U10');
  var mannschaften4 = new Array('Erste','Reserve','U15','U13','U11','U9','U7');
  var mannschaften5 = new Array('Erste','Reserve','U16','U14','U12','U10','U8');
  
  switch (saison_id)
  { case 37: mannschaften = mannschaften1; break;
    case 38: mannschaften = mannschaften2; break;
    case 39: mannschaften = mannschaften3; break;
    case 40: mannschaften = mannschaften4; break;
    case 41: mannschaften = mannschaften5; break;
    case 42: mannschaften = mannschaften4; break;
    case 43: mannschaften = mannschaften5; break;
    default: mannschaften = mannschaften1; break;
  }
  
  var i;
  var button;
  
  for (i=1; i<=mannschaften.length; i++)
  { button = document.createElement("input");
    button.type = "button";
    button.className = (i == Setting ? "Navi_Mannschaft_aktuell" : "Navi_Mannschaft");
    button.id = "Navi_Mannschaft_"+i;
    button.value = mannschaften[i-1];
    button.onclick = new Function ("__sam__(Saison_ID,Saisonabschnitt,"+i+")");
    
    document.getElementById("Mannschaftsnavi").appendChild(button);
  }
}

function __navi_element__ (id,eintrag,ebene,typ,parent_id,sam,href)
{ this.id              = id;                 // ID beim ersten Durchlauf setzen
  this.eintrag         = eintrag;            // Text der in der Navigation angezeigt wird
  this.ebene           = ebene;              // Ebene des Navigationseintrages (1,2,3,...)
  this.typ             = typ;                // S...Seite, H...Hyperlink (auf externe Seite), K...Knoten (dieser Eintrag enthält Unterpunkte),
                                             // L...Leerzeile (Höhe steht in eintrag), U...Untermenü (Seite wird aufgemacht, aber Unterpunte sofort angezeigt)
  this.parent_id       = parent_id;          // ID des Stammknoten
  this.saison          = Boolean(sam & 4);   // Saisonauswahl einblenden
  this.saisonabschnitt = Boolean(sam & 2);   // Saisonabschnitt einblenden
  this.mannschaft      = Boolean(sam & 1);   // Mannschaftsauswahl einblenden
  this.href            = Pfad + href;        // Zieladresse des Links, wenn bei Knoten ein Eintrag ist, wird auf diese Seite gelinkt
  this.offen           = false;              // Kennzeichnung von offenen Knoten
  this.aktuell         = false;              // aktueller Eintrag
  
  this.austragen = function ()
  { var ul = document.getElementById(this.id).parentNode.lastChild;
    ul.removeChild(ul.lastChild);
  }
  
  this.eintragen = function ()
  { var ul = (this.ebene == 1 ? document.getElementById("Navigation").lastChild : document.getElementById(this.parent_id).parentNode.lastChild);
    var li = document.createElement("li");
    
    if (this.typ == "L")
    { ul.lastChild.style.marginBottom = (2 + parseInt(this.eintrag)) + "px";
      //li.style.height = "0px";
      //ul.appendChild(li);
      return;
    }
    
    var a = document.createElement("a");
    var t = document.createTextNode(this.eintrag);
    a.appendChild(t);
    a.href = (this.typ == "K" ? "javascript:menu['"+this.id+"'].knoten(true)" : this.href);
    a.className = "Ebene" + this.ebene + (this.aktuell ? "_aktuell" : "");
    a.id = this.id;
    li.appendChild(a);
    li.appendChild(document.createElement("ul"));
    
    ul.appendChild(li);
  }
  
  this.knoten = function (swusch)
  { var speed = 70;
    var zeit = 0;
    var i,x;
    var knoten_array = new Array();
    var zuknoten = new Array();
    var parent;
    
    parent = this.id;
    while (parent != "-")
    { knoten_array.push(parent);
      parent = menu[parent].parent_id;
    }
    
    if (!menu[this.id].offen)
    { // aufmachen
      for (i in menu)
      { if ((menu[i].ebene > 1) && (knoten_array.contains(menu[i].parent_id)) && !menu[menu[i].parent_id].offen)
        { if (swusch)
          { window.setTimeout("menu['"+i+"'].eintragen()",zeit);
            zeit += speed;
          }
          else
          { menu[i].eintragen();
          }
        }
      }
      for (i=0; i<knoten_array.length; i++)
      { menu[knoten_array[i]].offen = true;
      }
    }
    else
    { zuknoten.push(this.id);
    }
    
    zeit = 0;
    
    // zumachen
    for (i in menu)
    { if ((menu[i].offen) && !knoten_array.contains(i))
      { zuknoten.push(i);
      }
    }
    
    for (x=zuknoten.length-1; x>=0; x--)
    { menu[zuknoten[x]].offen = false;
      for (i=0; i<document.getElementById(zuknoten[x]).parentNode.lastChild.childNodes.length; i++)
      { window.setTimeout("menu['"+zuknoten[x]+"'].austragen()",zeit);
        zeit += speed;
      }
    }
    
    setValue("knoten",(menu[this.id].offen ? this.id : menu[this.id].parent_id));
  }
}

function __navigation__ (NAVI_ID,SAISON,SAISONABSCHNITT,MANNSCHAFT)
/****************************************************************************************************\
* navigation(NAVI_ID)                                                                                *
*                                                                                                    *
* Wird von den HTML-Files aufgerufen. Übergeben wird die ID des menu-Array, das selektiert werden    *
* soll. Bei 0 wird kein Eintrag selektiert. Wenn SAISON, usw. angeben werden diese direkt angezeigt, *
* ansonsten werden diese Werte aus dem menu-Array ermittelt                                          *
\****************************************************************************************************/
{ var history;
  var i;
  
  Navi_ID = NAVI_ID;  // globale Variable
  history = "-";
  if ((getValue("knoten") != -1) && (getValue("knoten") != "-"))
  { history = getValue("knoten");
    if (menu[history] == undefined)
    { history = "-";
    }
    else
    { while ((history != "-") && (menu[history].typ == "U"))
      { history = menu[history].parent_id;  // Unternavigation aus History nicht anwählen, sondern Parent-Knoten
      }
    }
  }
  
  clear(document.getElementById("Navigation"));
  document.getElementById("Navigation").appendChild(document.createElement("ul"));
  
  if (menu[NAVI_ID] != undefined)
  { menu[NAVI_ID].aktuell = true;
    if (menu[NAVI_ID].typ == "U")
    { menu[NAVI_ID].typ = "K";     // Unternavigation in Knoten umwandeln
    }
  }
  
  for (i in menu)
  { if (menu.hasOwnProperty(i))
    { if (menu[i].ebene == 1)
      { menu[i].eintragen();         // Ebene 1 eintragen
      }
    }
  }
  
  if (history != "-")
  { menu[history].knoten(false);   // History anwählen
  }
  
  if (menu[NAVI_ID] != undefined)
  { menu[NAVI_ID].knoten(true);    // Navi-Eintrag anwählen
  }
  else
  { for (i in menu)
    { if (menu[i].offen)
      { menu[i].knoten(true);      // 1. offenen Knoten zumachen (alle darunter geöffnet werden ebenfalls geschlossen)
        break;
      }
    }
  }
  
  // Saison, Abschnitt und Mannschaft einblenden -> falls in den Parametern nicht angegeben -> aus Menü-Array suchen
  if ((menu[NAVI_ID] != undefined) && (SAISON == undefined) && (SAISONABSCHNITT == undefined) && (MANNSCHAFT == undefined))
  { SAISON = SAISON || menu[NAVI_ID].saison;
    SAISONABSCHNITT = SAISONABSCHNITT || menu[NAVI_ID].saisonabschnitt;
    MANNSCHAFT = MANNSCHAFT || menu[NAVI_ID].mannschaft;
  }
  
  document.getElementById("Saisonauswahl").style.visibility = (SAISON ? "visible" : "hidden");
  document.getElementById("Saisonabschnittauswahl").style.visibility = (SAISONABSCHNITT ? "visible" : "hidden");
  if (MANNSCHAFT) __mannschaftsleiste__(Saison_ID);
}

function __sam__ (s,a,m)
{ document.getElementById("Saisonauswahl").blur();
  document.getElementById("Saisonabschnittauswahl").blur();
  
  if ((Saison_ID == s) && (Saisonabschnitt == a) && (Setting == m))
  { // keine Änderung -> nix machen
    // return;
  }
  
  var leiste = document.getElementById("Mannschaftsnavi");
  
  if (leiste.hasChildNodes())
  { if (Saison_ID != s)
    { while (leiste.hasChildNodes())
      { leiste.removeChild(leiste.lastChild);
      }
      __mannschaftsleiste__(parseInt(s));
    }
    
    if (m > leiste.childNodes.length)
    { // falls es Mannschaft in betroffenem Jahr nicht gibt
      m = 1;
    }
    
    for (var i=1; i<=leiste.childNodes.length; i++)
    { document.getElementById("Navi_Mannschaft_"+i).className = "Navi_Mannschaft";
    }
    document.getElementById("Navi_Mannschaft_"+m).className = "Navi_Mannschaft_aktuell";
    document.getElementById("Navi_Mannschaft_"+m).blur();    // Focus entfernen
  }
  
  Saison_ID = s;
  Saisonabschnitt = a;
  Setting = m;
  if (typeof(SAM) != "undefined") SAM();
}

var Navi_ID;                // globale Variable
var menu = new Array();
menu['1'] = new __navi_element__('1','Startseite',1,'S','-',0,'Startseite/Startseite.php');
menu['2'] = new __navi_element__('2','Verein',1,'K','-',0,'');
menu['3'] = new __navi_element__('3','Geschichte',2,'S','2',0,'Verein/Vereinsgeschichte.php');
menu['4'] = new __navi_element__('4','Vorstand',2,'S','2',0,'Verein/Vorstand.php');
menu['5'] = new __navi_element__('5','Sportanlage',2,'U','2',0,'Verein/Sportanlage.php');
menu['6'] = new __navi_element__('6','Anfahrt',3,'S','5',0,'Verein/Anfahrt.php');
menu['7'] = new __navi_element__('7','Kontakt',2,'S','2',0,'Verein/Kontakt.php');
menu['8'] = new __navi_element__('8','5',1,'L','-',0,'');
menu['9'] = new __navi_element__('9','Mannschaft',1,'K','-',0,'');
menu['10'] = new __navi_element__('10','Kader',2,'S','9',7,'Kader/Kader.php');
menu['11'] = new __navi_element__('11','Meisterschaft',2,'S','9',7,'Spiele/Meisterschaft.php');
menu['12'] = new __navi_element__('12','Spielplan',2,'S','9',7,'Spiele/Spielplan.php');
menu['13'] = new __navi_element__('13','Testspiele',2,'S','9',5,'Spiele/Testspiele.php');
menu['14'] = new __navi_element__('14','Statistik',1,'K','-',0,'');
menu['15'] = new __navi_element__('15','Fieberkurven',2,'S','14',7,'Statistik/Fieberkurven.php');
menu['16'] = new __navi_element__('16','Ergebnisraster',2,'S','14',7,'Statistik/Ergebnisraster.php');
menu['17'] = new __navi_element__('17','Torverhältnis',2,'S','14',7,'Statistik/Torverhaeltnis.php');
menu['18'] = new __navi_element__('18','Mannschaft',2,'S','14',7,'Statistik/Mannschaft.php');
menu['19'] = new __navi_element__('19','Torbilanz',2,'S','14',7,'Statistik/Torbilanz.php');
menu['20'] = new __navi_element__('20','Stechuhr',2,'S','14',7,'Statistik/Stechuhr.php');
menu['21'] = new __navi_element__('21','Ligastatistik',2,'S','14',7,'Statistik/Ligastatistik.php');
menu['22'] = new __navi_element__('22','5',1,'L','-',0,'');
menu['23'] = new __navi_element__('23','Wettbüro',1,'K','-',0,'');
menu['24'] = new __navi_element__('24','Wettschein',2,'S','23',4,'Wettbuero/Wettschein.php');
menu['25'] = new __navi_element__('25','Rangliste',2,'S','23',4,'Wettbuero/Rangliste.php');
menu['26'] = new __navi_element__('26','Anleitung',2,'S','23',0,'Wettbuero/Anleitung.php');
menu['27'] = new __navi_element__('27','Kalender',1,'U','-',0,'Kalender/Kalender.php');
menu['28'] = new __navi_element__('28','Forum',1,'S','-',0,'Forum/Forum.php');
menu['29'] = new __navi_element__('29','Gästebuch',1,'S','-',0,'Forum/Gaestebuch.php');
menu['30'] = new __navi_element__('30','Extras',1,'S','-',0,'Extras/Extras.php');
menu['31'] = new __navi_element__('31','Impressum',1,'S','-',0,'Impressum/Impressum.php');
menu['32'] = new __navi_element__('32','Links',1,'S','-',0,'Links/Links.php');
