var lastNaviPointer;

function showSubNaviSub(pointer) {
  
  lastNaviPointer = pointer;
  
  var subNaviSubObj = pointer.nextSibling;
  
  if (!subNaviSubObj)
    return;
  
  if (subNaviSubObj.className.indexOf("sub-navi-sub") == -1)
    return;
  
  //pointer.getElementsByTagName("a")[0].href = "#";
  
  var subNaviList = document.getElementById("sub-navi-inner").getElementsByTagName("li");
  
  var elementClass;
  
  for (var i = 0; i < subNaviList.length; i++) {
    
    elementClass = subNaviList[i].className;
    
    if (elementClass.indexOf("sub-navi-sub-element") != -1 && elementClass.indexOf("act") == -1 && elementClass.indexOf("lock") == -1)
      subNaviList[i].style.display = "none";
    
  }
  
  var subNaviSubList = subNaviSubObj.getElementsByTagName("li");
  
  for (i = 0; i < subNaviSubList.length; i++) {
    
    elementClass = subNaviSubList[i].className;
    
    if (elementClass.indexOf("sub-navi-sub-element") != -1 && elementClass.indexOf("lock") == -1)
      subNaviSubList[i].style.display = "block";
    
  }
  
  return;
  
}

function hideSubNaviSub(pointer) {
  
  var subNaviSubObj = pointer.nextSibling;
  
  if (!subNaviSubObj)
    return;
  
  var subNaviSubList = subNaviSubObj.getElementsByTagName("li");
  
  var elementClass;
  
  for (i = 0; i < subNaviSubList.length; i++) {
    
    elementClass = subNaviSubList[i].className;
    
    if (elementClass.indexOf("sub-navi-sub-element") != -1 && elementClass.indexOf("act") == -1 && elementClass.indexOf("lock") == -1)
      subNaviSubList[i].style.display = "none";
    
  }
  
  return;
  
}

function showLastSubNaviSub(pointer) {
  
  lastNaviPointer = pointer.previousSibling;
  
  showSubNaviSub(lastNaviPointer);
  
  return;
  
}

function hideLastSubNaviSub() {
  
  hideSubNaviSub(lastNaviPointer);
  
  return;
  
}

function subNaviSubInit() {
  
  var subNaviList = document.getElementById("sub-navi-inner").getElementsByTagName("li");
  
  var actSubNaviPointer = null;
  
  // STEP 1
  
  var elementClass;
  
  for (var i = 0; i < subNaviList.length; i++) {
    
    elementClass = subNaviList[i].className;
    
    if (elementClass.indexOf("sub-navi-sub-element") != -1 && elementClass.indexOf("act") != -1) {
      
      actSubNaviPointer = subNaviList[i];
      break;
      
    }
    
  }
  
  if (actSubNaviPointer)
    var actSubNaviList = actSubNaviPointer.parentNode.getElementsByTagName("li");
  else {
    
    // STEP 2
    
    for (i = 0; i < subNaviList.length; i++) {
      
      elementClass = subNaviList[i].className;
      
      if (elementClass.indexOf("sub-navi-element") != -1 && elementClass.indexOf("act") != -1) {
        
        actSubNaviPointer = subNaviList[i];
        break;
        
      }
      
    }
    
    if (!actSubNaviPointer || !actSubNaviPointer.nextSibling)
      return;
    
    var actSubNaviList = actSubNaviPointer.nextSibling.getElementsByTagName("li");
    
  }
  
  for (i = 0; i < actSubNaviList.length; i++) {
    
    actSubNaviList[i].className += " lock";
    actSubNaviList[i].style.display = "block";
    
  }
  
  return;
  
}

// ---

function getSeason() {
  
  var dateNow = new Date();
  var timeNow = dateNow.getTime();
  
  var yearNow = dateNow.getFullYear();
  
  var dateSpring = new Date(yearNow, 1, 20);
  var dateSpringNextYear = new Date(yearNow + 1, 1, 20);
  var dateSummer = new Date(yearNow, 4, 21);
  var dateAutumn = new Date(yearNow, 7, 22);
  var dateWinter = new Date(yearNow, 10, 21);
  var dateWinterLastYear = new Date(yearNow - 1, 10, 21);
  
  // Winter
  if (timeNow >= dateWinterLastYear.getTime() && timeNow < dateSpring.getTime())
    return 4;
  
  // Fruehling
  if (timeNow >= dateSpring.getTime() && timeNow < dateSummer.getTime())
    return 1;
  
  // Sommer
  if (timeNow >= dateSummer.getTime() && timeNow < dateAutumn.getTime())
    return 2;
  
  // Herbst
  if (timeNow >= dateAutumn.getTime() && timeNow < dateWinter.getTime())
    return 3;
  
  // Winter
  if (timeNow >= dateWinter.getTime() && timeNow < dateSpringNextYear.getTime())
    return 4;
  
  return 0;
  
}

// ---

function calcBMI() {
  
  var bmiAge = parseInt(document.getElementById("fmBMI_alter").value);
  var bmiSize = parseInt(document.getElementById("fmBMI_groesse").value);
  var bmiMass = parseInt(document.getElementById("fmBMI_masse").value);
  
  if (isNaN(bmiAge) || isNaN(bmiSize) || isNaN(bmiMass)) {
    
    alert("Bitte nur Zahlen eingeben.");
    return false;
    
  }
  
  var bmi = Math.round(bmiMass / Math.pow(bmiSize / 100, 2));
  
  var underWeight, overWeight;
  
  if (bmiAge < 25) {
    
    underWeight = 19;
    overWeight = 24;
    
  }
  
  if (bmiAge > 24 && bmiAge < 35) {
    
    underWeight = 20;
    overWeight = 25;
    
  }
  
  if (bmiAge > 34 && bmiAge < 45) {
    
    underWeight = 21;
    overWeight = 26;
    
  }
  
  if (bmiAge > 44 && bmiAge < 55) {
    
    underWeight = 22;
    overWeight = 27;
    
  }
  
  if (bmiAge > 54 && bmiAge < 65) {
    
    underWeight = 23;
    overWeight = 28;
    
  }
  
  if (bmiAge > 64) {
    
    underWeight = 24;
    overWeight = 29;
    
  }
  
  var bmiCat;
  
  /*
  1 = untergewicht
  2 = normalgewicht
  3 = uebergewicht
  4 = deutliches uebergewicht
  */
  
  if (bmi < underWeight)
    bmiCat = 1;
  
  if (bmi >= underWeight && bmi <= overWeight)
    bmiCat = 2;
  
  if (bmi > overWeight && bmi < overWeight + 5)
    bmiCat = 3;
  
  if (bmi >= overWeight + 5)
    bmiCat = 4;
  
  with (document.getElementById("BMI_ergebnis")) {
    
    style.display = "block";
    innerHTML = "<b>Ihr BMI:</b> " + bmi.toString();
    
  }
  
  for (var i = 1; i < 5; i++)
    document.getElementById("BMI_ergebnis_" + i.toString()).style.display = "none";
  
  document.getElementById("BMI_ergebnis_" + bmiCat.toString()).style.display = "block";
  
  return false;
  
}

// ---

function flashLayerOpen() {
  
  $("flash-layer").setStyle({ display: "block" });
  
  if (Prototype.Browser.IE)
    $("flash-layer-iframe").setStyle({ display: "block" });
  
  var moveOptions = {
      x: 0,
      y: 0,
      mode: "absolute"
      };
  
  new Effect.Move(
      $("flash-layer"),
      moveOptions
      );
  
  if (Prototype.Browser.IE)
    new Effect.Move(
        $("flash-layer-iframe"),
        moveOptions
        );
  
  return;
  
}

function flashLayerClose() {
  
  new Effect.Move(
      $("flash-layer"),
      {
          x: -947,
          y: 0,
          mode: "absolute",
          afterFinish: function() { $("flash-layer").setStyle({ display: "none" }); }
          }
      );
  
  if (Prototype.Browser.IE)
    new Effect.Move(
        $("flash-layer-iframe"),
        {
            x: -947,
            y: 0,
            mode: "absolute",
            afterFinish: function() { $("flash-layer-iframe").setStyle({ display: "none" }); }
            }
        );
  
  return;
  
}


function expand(aElement,aIndex){
 if(aElement.parentNode.className == 'hdl_expandable'){
  aElement.parentNode.className = 'hdl_expandable_act';
  document.getElementById("exp_content_"+aIndex).style.display = 'block';
 }else{
  aElement.parentNode.className = 'hdl_expandable';
  document.getElementById("exp_content_"+aIndex).style.display = 'none';
 }
}