function berechneZinsen (betrag, zinssatz)
{
	return (betrag * (zinssatz / 100.0) );
}

function berechneRealenWert (betrag, inflationsrate)
{
	return (betrag / (1.0 + (inflationsrate / 100.0) ) );
}

function floattostring (wert)
{
var text = "";
var iGanz = 0;
var iDez = 0;

iGanz = Math.floor(wert);
iDez = Math.floor((wert - Math.floor(wert))*100);
if (iDez < 10)
  {
  text = iGanz+",0"+iDez;
  }
else
  {
  text = iGanz+","+iDez;
  }
return text;

}

function runden (wert)
{
return (Math.round( wert * 100.0) / 100.0);
}


var anfangskapital;
var zinssatz;
var inflationsrate;
var anlagezeitraum;

var anfangskapitalOK = false;
var zinssatzOK = false;
var inflationsrateOK = false;
var anlagezeitraumOK = false;

var kapital;
var zinsen;
var realesKapital;
var realeZinsen;

var StrAusg;

while (!anfangskapitalOK)
{
	anfangskapital = prompt ("Anfangskapital in DM:", "1000");
	anfangskapital = parseFloat (anfangskapital);
	if (( !isNaN (anfangskapital)) && (anfangskapital >= 0.0 ))
	  {
	  anfangskapitalOK = true;
	  }
	else
	  {
	  alert ("Bitte Zahl groesser als 0 eingeben!");	
	  }
}

while (!zinssatzOK)
{
	zinssatz = prompt ("zinssatz in \%:", "2.25");
	zinssatz = parseFloat (zinssatz);
	if (( !isNaN (zinssatz)) && (zinssatz >= 0.0 ))
	  {
	  zinssatzOK = true;
	  }
	else
	  {
	  alert ("Bitte Zahl groesser als 0 eingeben!");	
	  }
}

while (!inflationsrateOK)
{
	inflationsrate = prompt ("Inflationsrate in \%:", "1.5");
	inflationsrate = parseFloat (inflationsrate);
	if ( !isNaN (inflationsrate))
	  {
	  inflationsrateOK = true;
	  }
	else
	  {
	  alert ("Bitte Zahl eingeben!");	
	  }
}

while (!anlagezeitraumOK)
{
	anlagezeitraum = prompt ("anlagezeitraum in Jahren (0-100):", "10");
	anlagezeitraum = parseInt (anlagezeitraum);
	if (!isNaN (anlagezeitraum) && (anlagezeitraum >= 1) && (anlagezeitraum <= 100) )
	  {
	  anlagezeitraumOK = true;
	  }
	else
	  {
	  alert ("Bitte Zahl zwischen 0 und 100 eingeben!");	
	  }
}

document.write ("<h1 align='center'>")
document.write ("Anfangskapital: ", runden (anfangskapital), " DM<br>");
document.write ("Zinssatz: ", runden (zinssatz), " \%<br>");
document.write ("Inflationsrate: ", runden (inflationsrate), " \%<br>");
document.write ("Anlagezeitraum: ", anlagezeitraum , " Jahre<br><br>");
document.write ("</h1>");

document.write ("<center><h2>Wertentwicklung unter Ber&uuml;cksichtigung von Verzinsung<br>");
document.write ("Verzinsung und Inflation</h2></center>");

document.write ("<table border='1' align='center'>" );
//erste Zeile der Tabelle
document.write ("<tr>");
document.write ("<th>Jahre</th>");
document.write ("<th>Zinsen</th>");
document.write ("<th>Guthaben</th>");
document.write ("<th>Tats&auml;chliche<br>Zinsen</th>");
document.write ("<th>Tats&auml;chliches<br>Guthaben</th>");
document.write ("</tr>");

realesKapital = kapital = anfangskapital;

for (var jahre = 1; jahre < anlagezeitraum; jahre ++ )
  {
  document.write ("<tr>");

  document.write ("<td align='right'>",jahre,"</td>");

  zinsen = runden(berechneZinsen (kapital, zinssatz ));	
  StrAusg = floattostring (zinsen);
  
  document.write ("<td align='right'>",StrAusg,"</td>");

  kapital += zinsen;	
  StrAusg = floattostring (kapital);

  document.write ("<td align='right'>", StrAusg,"</td>");

  realeZinsen = runden(berechneRealenWert (zinsen, inflationsrate ));
  StrAusg = floattostring (realeZinsen);

  document.write ("<td align='right'>", StrAusg,"</td>");

  realesKapital += zinsen;
  realesKapital = runden(berechneRealenWert (realesKapital, inflationsrate ));	
  StrAusg = floattostring (realesKapital);

  document.write ("<td align='right'>", StrAusg, "</td>")

  document.write ("</tr>");
  }
document.write ("</table>");
