var menuDepth=0;
function menuGetActive(targetUrl) {
 var i;
 if (document.getElementsByTagName) {
  var menuEntriesTmp=Array();
  var menuEntries=Array();
  menuEntriesTmp=document.getElementsByTagName("a");
  for (i=0;i<menuEntriesTmp.length;i++) {
   var obj;
   obj=menuEntriesTmp[i];
   if ( (obj.className=="navsub") || (obj.className=="navmain") ) {
    var searchStr;
    searchStr="http://"+obj.hostname;
    if (obj.port!="") {
     searchStr=searchStr+":"+obj.port;
    }
    if (obj.href==targetUrl) {
     if (obj.style) {
      obj.style.textDecoration="underline";
     }
     setParentVisible(obj);
    }
   }
  }
 }
}
function setParentVisible(obj) {
 if (obj.parentNode) {
  if (obj.parentNode.className=="navindent") {
   obj.parentNode.className="navindentactive";
/*
   if (obj.parentNode.style) {
    obj.parentNode.style.display="block";
   }
*/
  }
  for (i=0; i<obj.parentNode.childNodes.length; i++) {
   if (obj.parentNode.childNodes[i]==obj) {
    for (j=i+1; j<obj.parentNode.childNodes.length; j++) {
     if ( (obj.parentNode.childNodes[j].className=="navindent") || (obj.parentNode.childNodes[j].className=="nav") ) {
      if (obj.parentNode.childNodes[j].className=="navsub") {
        break;
      }
      if (obj.parentNode.childNodes[j].className=="navindent") {
       obj.parentNode.childNodes[j].className="navindentactive";
      }
//      obj.parentNode.childNodes[j].style.display="block";
      break;
     }
    }
    if (obj.parentNode.childNodes[i].className=="navsub") {
     obj.parentNode.childNodes[i].className="navsubactive";
    }
    if (obj.parentNode.childNodes[i].className=="navmain") {
     obj.parentNode.childNodes[i].className="navmainactive";
    }
//    obj.parentNode.childNodes[i].style.display="block";
   }
  }
  setParentVisible(obj.parentNode);
 }
}

function Tarifrechner(Medium) {
 var DoAlert=true;
 if ( (document.BruttoForm.VerbrauchEingabe.value!="") && (isNaN(KommaToPunkt(document.BruttoForm.VerbrauchEingabe.value) )==false) ) {
  document.BruttoForm.VerbrauchEingabe.value=KommaToPunkt(document.BruttoForm.VerbrauchEingabe.value);
  BerechnungBetrag(KommaToPunkt(document.BruttoForm.VerbrauchEingabe.value),Medium);
  DoAlert=false;
 } 
 if (DoAlert==true){
  alert("Bitte geben Sie Ihren Verbrauch ein oder wählen Sie eine der Vorgaben.");
 }
}

function KommaToPunkt(TheValue) {
 return TheValue.replace(/,/,'.');
}

function runden(x) {
 var k = (Math.round(x * 100) / 100).toString();
 k += (k.indexOf('.')==-1)?'.00':'00';
 var p = k.indexOf('.'),m=k.indexOf('-');
 var f =(p==0 ||m==0)?'0,':',';
 return KommaToPunkt(k.substring(0,p) + f + k.substring(p+1,p+3));
}

function BerechnungBetrag(Verbrauch, Medium) {
 var Ergebnis=0;
 var AbschnittBerechnet=0;
 
 if (Verbrauch<=0) {
  return;
 }
 
 switch (Medium) {
  case "Strom":
   document.BruttoForm.elements["ErgebnisSWSFamily"].value="";
   document.BruttoForm.elements["ErgebnisSWSAllgemeinPrivat"].value="";
   document.BruttoForm.elements["ErgebnisSWSBusiness"].value="";
   document.BruttoForm.elements["ErgebnisSWSAllgemeinGewerbe"].value="";
  
   BerecheFeld(Verbrauch, 'ErgebnisSWSFamily', 2000, -1, 15.80, 0, 3);
   AbschnittBerechnet=0;
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinPrivat', 0, 62, 30.71, 26.68, 0);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinPrivat', 63, 3000, 16.47, 35.57, 0);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinPrivat', 3001, -1, 17.66, 0, 0);

   BerecheFeld(Verbrauch, 'ErgebnisSWSBusiness', 2000, 30000, 16.60, 0, 3.50);

   AbschnittBerechnet=0;
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinGewerbe', 0, 1263, 28.78, 26.68, 0);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinGewerbe', 1264, 6273, 14.69, 204.60, 0);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch, 'ErgebnisSWSAllgemeinGewerbe', 6274, -1, 17.96, 0, 0);
   break;

  case "Gas":
   document.BruttoForm.elements["ErgebnisSWSGasKleinverbrauchstarif"].value="";
   document.BruttoForm.elements["ErgebnisSWSGasGrundpreistarif"].value="";
   document.BruttoForm.elements["ErgebnisSWSGasWärmesondervertragI"].value="";
   document.BruttoForm.elements["ErgebnisSWSGasWärmesondervertragII"].value="";
   document.BruttoForm.elements["ErgebnisSWSGasWärmesondervertragIIa"].value="";
  
   AbschnittBerechnet=0;
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch/11, 'ErgebnisSWSGasKleinverbrauchstarif', 0, 2920, 7.71, 0, 2.32);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch/11, 'ErgebnisSWSGasGrundpreistarif', 2921, 7500, 5.57, 0, 7.54);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch/11, 'ErgebnisSWSGasWärmesondervertragI', 7501, 12000, 5.10, 0, 10.44);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch/11, 'ErgebnisSWSGasWärmesondervertragII', 12001, 37142, 4.64, 0, 15.08);
   if (AbschnittBerechnet==0)
    AbschnittBerechnet=BerecheFeld(Verbrauch/11, 'ErgebnisSWSGasWärmesondervertragIIa', 37143, -1, 5.12, 0, 0);
   break;
 }
}

function BerecheFeld(Verbrauch, Feld, VerbrauchMin, VerbrauchMax, Preis, Einmalig, Monatlich) {
 var Ergebnis="";
 if (VerbrauchMax==-1) {
  VerbrauchMax=Verbrauch+1;
 }
 if (Verbrauch>=VerbrauchMin && Verbrauch<=VerbrauchMax) {
  Ergebnis=runden(Verbrauch*(Preis/100)+Einmalig+12*Monatlich);
 }
 for (i=0;i<document.BruttoForm.elements.length;i++) {
  if (document.BruttoForm.elements[i].name==Feld) {
   if (Ergebnis!="") {
    document.BruttoForm.elements[i].value=Ergebnis;
    return 1;
   }
  }
 }
 return 0;
}