function berechnung(x, y)
{
	var zinssatz;
	zinssatz = x / 100 * document.form1.vorgabezinssatz.value * y; // zinssatz (aus db)
	return zinssatz;
}

function berechnung2(x)
{
	var bearbeitung;
	bearbeitung= x / 100 * document.form1.vorgabebearbeitung.value; // bearbeitungsgebühr (aus db)
	return bearbeitung;
}

function berechnung3(x, y)
{
	var gesamt;
	gesamt = 1 * x + 1 * berechnung(x, y) + 1 * berechnung2(x);
	return gesamt;
}

function berechnung4(y)
{
	var x=document.form1.ausgabegesamt.value;
	var rate;
	x=x*100;
	rate=Math.floor(x/y);
	rate=rate/100;
	return rate;
}

function berechnung5(y)
{
	var rate=document.form1.ausgabefolgeraten.value;
	var gesamt=document.form1.ausgabegesamt.value;
	var erste;
	erste=gesamt-rate*(y-1);
	return erste;
}

function runden(x)
{
	var n = 2;
  	var e = Math.pow(10, n);
  	var k = (Math.round(x * e) / e).toString();
  	if (k.indexOf('.') == -1) k += '.';
  	k += e.toString().substring(1);
  	return k.substring(0, k.indexOf('.') + n + 1);
}

function numberFormat (number, decimals, dec_point, thousands_sep) {
	var exponent = "";
	var numberstr = number.toString ();
	var eindex = numberstr.indexOf ("e");
	if (eindex > -1) {
		exponent = numberstr.substring (eindex);
		number = parseFloat (numberstr.substring (0, eindex));
	}
	
	if (decimals != null) {
		var temp = Math.pow (10, decimals);
		number = Math.round (number * temp) / temp;
	}
	var sign = number < 0 ? "-" : "";
	var integer = (number > 0 ? Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
	var fractional = number.toString ().substring (integer.length + sign.length);
	dec_point = dec_point != null ? dec_point : ".";
	fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
	if (decimals != null && decimals > 0) {
		for (i = fractional.length - 1, z = decimals; i < z; ++i) fractional += "0";
	}
	thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? thousands_sep : null;
	if (thousands_sep != null && thousands_sep != "") {
		for (i = integer.length - 3; i > 0; i -= 3) integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
	}
	return sign + integer + fractional + exponent;
}

function chkIntValue (elm)
{
	var errmsg = '';
	if (elm.value == '' && elm.name != 'anzahlung') errmsg = 'Bitte geben Sie einen Betrag ein!';
	else if (isNaN (elm.value)) errmsg = 'Bitte geben Sie einen gültigen Betrag ein!';
	else if (elm.value == 0 && elm.name != 'anzahlung') errmsg = 'Bitte geben Sie einen gültigen Betrag ein!';
	else if (Math.floor(elm.value) != elm.value) errmsg = 'Bitte keine gebrochenen Beträge eingeben.';
	else if (elm.value < 0) errmsg = 'Bitte keine negativen Beträge eingeben.';

	if (errmsg != '')
	{
		alert (errmsg);
		elm.value = '';
		return false;
	}
	else return true;
}

function ausgabe (betrag, laufzeit, anzahlung)
{
    if (betrag == '' || laufzeit == '') return false;

    document.form1.ausgabebetrag.value = runden(betrag-anzahlung);
	document.form1.ausgabebetrag2.value = runden(anzahlung);
	document.form1.ausgabelaufzeit.value = laufzeit;
	document.form1.ausgabezinssatz.value = runden(berechnung(betrag-anzahlung, laufzeit));
	document.form1.ausgabebearbeitung.value = runden(berechnung2(betrag-anzahlung));
	document.form1.ausgabegesamt.value = runden(berechnung3(betrag-anzahlung, laufzeit));
	document.form1.ausgabefolgeraten.value = runden(berechnung4(laufzeit));
	document.form1.ausgaberate.value = numberFormat (runden(berechnung5(laufzeit)),2,',','.');
	document.form1.ausgabefolgeraten.value = numberFormat (runden(berechnung4(laufzeit)),2,',','.');
	document.form1.ausgabejahreszins.value = numberFormat (document.form1.vorgabejahreszins.value,2,',','.');
    document.form1.ausgabebetrag.value = numberFormat (betrag-anzahlung, 2, ',', '.');
	document.form1.ausgabebetrag2.value = numberFormat (anzahlung, 2, ',', '.');
    document.form1.rechnungsbetrag.value = numberFormat (betrag, 2, ',', '.');
	document.form1.creditapplication.disabled = false;
}

function database(laufzeit)
{
	switch(laufzeit)
	{

		case "0":
  			document.form1.vorgabezinssatz.value="";
  			document.form1.vorgabebearbeitung.value="";
  			document.form1.vorgabejahreszins.value="";
  			break;

  		case "12":
  			document.form1.vorgabezinssatz.value="0.167";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "24":
  			document.form1.vorgabezinssatz.value="0.292";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "36":
  			document.form1.vorgabezinssatz.value="0.338";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "48":
  			document.form1.vorgabezinssatz.value="0.362";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "60":
  			document.form1.vorgabezinssatz.value="0.382";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "72":
  			document.form1.vorgabezinssatz.value="0.396";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
  		case "84":
  			document.form1.vorgabezinssatz.value="0.408";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
    	
  		case "96":
  			document.form1.vorgabezinssatz.value="0.417";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;
    	
    	
  		case "120":
  			document.form1.vorgabezinssatz.value="0.437";
  			document.form1.vorgabebearbeitung.value="3.25";
  			document.form1.vorgabejahreszins.value="9.99";
  			break;

  	}
}

