var bild_path = "./";

function change_calc_fld(fld) {
  frm = document.frm_Ansparen;
  frm.Update.value = "-1";
  frm.calc_fld.value = fld;
  frm.submit();
}

function rechnen(){

  var monatl_sparbetrag = toNumeric(document.getElementById("monatl_sparbetrag").value);
  var einmal_sparbetrag = toNumeric(document.getElementById("einmal_sparbetrag").value);
  var angZinssatz = toNumeric(document.getElementById("angZinssatz").value);
  var anspardauer = toNumeric(document.getElementById("anspardauer").value);
  var kest = document.getElementById("kest").checked;
  var zins_kest=get_zins_kest(angZinssatz,kest)/100;  
  
 var kapital_zukunft =  (
                       (6.5 * monatl_sparbetrag * zins_kest + 12 * monatl_sparbetrag) * (
                        Math.pow(1 + zins_kest, anspardauer) - 1
                       ) / zins_kest
                      ) + einmal_sparbetrag * Math.pow(1 + zins_kest, anspardauer);
   if(kapital_zukunft)             
    kapital_zukunft = toString(runde_zahl(kapital_zukunft, 2));
   else
    kapital_zukunft = "0,00" 

  document.getElementById("9").innerHTML = kapital_zukunft+" EUR";

}

function rechnen1(){

  var monatl_sparbetrag1 = toNumeric(document.getElementById("monatl_sparbetrag1").value);
  var einmal_sparbetrag1 = toNumeric(document.getElementById("einmal_sparbetrag1").value);
  var angZinssatz1 = toNumeric(document.getElementById("angZinssatz1").value);
  var kapinzukunft1 = toNumeric(document.getElementById("kapinzukunft1").value);
  var kest = document.getElementById("kest1").checked;  
  var zins_kest=get_zins_kest(angZinssatz1,kest)/100;  
  var anspardauer;
  
  if(monatl_sparbetrag1 == 0 && einmal_sparbetrag1 != 0 && einmal_sparbetrag1 < kapinzukunft1) {
    anspardauer = get_mylog(kapinzukunft1 / einmal_sparbetrag1, zins_kest + 1);
  } else if(monatl_sparbetrag1 != 0 && einmal_sparbetrag1 == 0) {
    anspardauer = get_mylog(1 + (
                                 (kapinzukunft1 * zins_kest) / (6.5 * monatl_sparbetrag1 * zins_kest + 12 * monatl_sparbetrag1)
                                ), zins_kest + 1
                           );
  } else {
    var tmp_value = (6.5 * monatl_sparbetrag1 * zins_kest + 12 * monatl_sparbetrag1) / zins_kest;
    anspardauer = get_mylog((eval(kapinzukunft1) + tmp_value) / (eval(einmal_sparbetrag1) + tmp_value), zins_kest + 1);
  }

   if(anspardauer)             
    anspardauer = toString(runde_zahl(anspardauer, 2));
   else
    anspardauer = "0,00"   
    
  document.getElementById("19").innerHTML = anspardauer+" Jahre";  

}

function rechnen2(){

  var monatl_sparbetrag2 = toNumeric(document.getElementById("monatl_sparbetrag2").value);
  var angZinssatz2 = toNumeric(document.getElementById("angZinssatz2").value);
  var anspardauer2 = toNumeric(document.getElementById("anspardauer2").value);
  var kapinzukunft2 = toNumeric(document.getElementById("kapinzukunft2").value);
  var kest = document.getElementById("kest2").checked;  
  var zins_kest=get_zins_kest(angZinssatz2,kest)/100;  
  
  var einmalerlag =  (
                   kapinzukunft2 - (
                    6.5 * monatl_sparbetrag2 * zins_kest + 12 * monatl_sparbetrag2
                   ) * (Math.pow(1 + zins_kest, anspardauer2) - 1) / zins_kest
                  ) / Math.pow(1 + zins_kest, anspardauer2);
                  
   if(einmalerlag)             
    einmalerlag = toString(runde_zahl(einmalerlag, 2));
   else
    einmalerlag = "0,00"                    
  
  document.getElementById("29").innerHTML = einmalerlag+" EUR";  

}

function rechnen3(){

  var einmalerlag3 = toNumeric(document.getElementById("einmalerlag3").value);
  var angZinssatz3 = toNumeric(document.getElementById("angZinssatz3").value);
  var anspardauer3 = toNumeric(document.getElementById("anspardauer3").value);
  var kapinzukunft3 = toNumeric(document.getElementById("kapinzukunft3").value);   
  var kest = document.getElementById("kest3").checked;   
  var zins_kest=get_zins_kest(angZinssatz3,kest)/100; 
  
  var monatl_sparbetrag =  ( 2 * (kapinzukunft3 - (einmalerlag3 * Math.pow(1 + zins_kest, anspardauer3))))
                       / ((13 * zins_kest + 24) * (Math.pow(1 + zins_kest, anspardauer3) - 1) / zins_kest);

   if(monatl_sparbetrag)             
    monatl_sparbetrag = toString(runde_zahl(monatl_sparbetrag, 2));
   else
    monatl_sparbetrag = "0,00"                         
  
  document.getElementById("39").innerHTML = monatl_sparbetrag+" EUR";  

}


function calculate() {
  var rechnerart = document.frm_Ansparen.hidden_rechnerart.value;
  var monatl_sparbetrag = toNumeric(document.frm_Ansparen.monatl_sparbetrag.value);
  var ang_zinssatz = toNumeric(document.frm_Ansparen.ang_zinssatz.value);
  var kest = document.frm_Ansparen.kest[0].checked;
  var anspardauer = toNumeric(document.frm_Ansparen.anspardauer.value);
  var einmalerlag = toNumeric(document.frm_Ansparen.einmalerlag.value);
  var kapital_zukunft = toNumeric(document.frm_Ansparen.kapital_zukunft.value);

  var zins_kest=get_zins_kest(ang_zinssatz,kest)/100;

  var back = "";

  switch(rechnerart) {
    case "kapital_zukunft":
      kapital_zukunft =  (
                           (6.5 * monatl_sparbetrag * zins_kest + 12 * monatl_sparbetrag) * (
                            Math.pow(1 + zins_kest, anspardauer) - 1
                           ) / zins_kest
                          ) + einmalerlag * Math.pow(1 + zins_kest, anspardauer);
      kapital_zukunft = toString(runde_zahl(kapital_zukunft, 2));
      document.frm_Ansparen.kapital_zukunft.value = kapital_zukunft;
      toBerechneWert(document.frm_Ansparen.kapital_zukunft, 2);
      document.getElementById("20").firstChild.data = "Kapital in der Zukunft:";
      document.frm_Ansparen.hidden_ergebnis.value = document.frm_Ansparen.kapital_zukunft.value;
      document.getElementById("21").firstChild.data = document.frm_Ansparen.hidden_ergebnis.value + " EUR";
      break;
    case "anspardauer":
      if(monatl_sparbetrag == 0 && einmalerlag != 0 && einmalerlag < kapital_zukunft) {
        anspardauer = get_mylog(kapital_zukunft / einmalerlag, zins_kest + 1);
      } else if(monatl_sparbetrag != 0 && einmalerlag == 0) {
        anspardauer = get_mylog(1 + (
                                     (kapital_zukunft * zins_kest) / (6.5 * monatl_sparbetrag * zins_kest + 12 * monatl_sparbetrag)
                                    ), zins_kest + 1
                               );
      } else {
        var tmp_value = (6.5 * monatl_sparbetrag * zins_kest + 12 * monatl_sparbetrag) / zins_kest;
        anspardauer = get_mylog((eval(kapital_zukunft) + tmp_value) / (eval(einmalerlag) + tmp_value), zins_kest + 1);
      }
      anspardauer = toString(runde_zahl(anspardauer, 2));
      document.frm_Ansparen.anspardauer.value = anspardauer;
      toBerechneWert(document.frm_Ansparen.anspardauer, 2);
      document.getElementById("20").firstChild.data = "Anspardauer:";
      document.frm_Ansparen.hidden_ergebnis.value = document.frm_Ansparen.anspardauer.value;
      document.getElementById("21").firstChild.data = document.frm_Ansparen.hidden_ergebnis.value + " Jahre";
      break;
    case "einmalerlag":
      einmalerlag =  (
                       kapital_zukunft - (
                        6.5 * monatl_sparbetrag * zins_kest + 12 * monatl_sparbetrag
                       ) * (Math.pow(1 + zins_kest, anspardauer) - 1) / zins_kest
                      ) / Math.pow(1 + zins_kest, anspardauer);
      einmalerlag = toString(runde_zahl(einmalerlag, 2));
      document.frm_Ansparen.einmalerlag.value = einmalerlag;
      toBerechneWert(document.frm_Ansparen.einmalerlag, 2);
      document.getElementById("20").firstChild.data = "Einmalerlag:";
      document.frm_Ansparen.hidden_ergebnis.value = document.frm_Ansparen.einmalerlag.value;
      document.getElementById("21").firstChild.data = document.frm_Ansparen.hidden_ergebnis.value + " EUR";
      break;
    case "monatl_sparbetrag":
      monatl_sparbetrag =  ( 2 * (kapital_zukunft - (einmalerlag * Math.pow(1 + zins_kest, anspardauer))))
                           / ((13 * zins_kest + 24) * (Math.pow(1 + zins_kest, anspardauer) - 1) / zins_kest);
      monatl_sparbetrag = toString(runde_zahl(monatl_sparbetrag, 2));
      document.frm_Ansparen.monatl_sparbetrag.value = monatl_sparbetrag;
      toBerechneWert(document.frm_Ansparen.monatl_sparbetrag, 2);
      document.getElementById("20").firstChild.data = "monatlicher Sparbetrag:";
      document.frm_Ansparen.hidden_ergebnis.value = document.frm_Ansparen.monatl_sparbetrag.value;
      document.getElementById("21").firstChild.data = document.frm_Ansparen.hidden_ergebnis.value + " EUR";
      break;
  }
  return false;
}

function get_mylog(x, b) {
  return Math.log(x)/Math.log(b);
}

function get_zins_kest(zins, kest) {
  if(kest == true) {
    if(zins <= 6) {
      return (zins * 0.75);
    } else {
      return ((6 * 0.75) + (zins - 6));
    }
  } else {
    return zins;
  }
}
