var newline = "</tr><tr>";

document.write("<form name='calculator' action='' method='post' onsubmit='calc();return false;'><table class='kreditrechner_box' name='kreditrechner_box' border='0' cellpadding='2'><tr>");
document.write("  <td colspan='4'><b>Ihr Kreditwunsch</b></td>");
document.write(newline);
document.write("	<td colspan='4'><input name='credit_amount' type='text' size='11' maxlength='8' value='Betrag' onclick='javascript:document.getElementsByName(\"credit_amount\")[0].value=\"\"'> &nbsp;<span id='pro_monat'>&euro;</span></td>");
document.write(newline);
document.write("	<td align='right'>Pkw</td><td><input type='radio' name='type' checked='checked' value='pkw'></td><td align='right'>Motorrad</td><td><input type='radio' name='type' value='moped'></td>");
document.write(newline);
document.write("	<td colspan='4'><hr style='margin-bottom: 5px;' /></td>");
document.write(newline);
document.write("	<td colspan='4'>KFZ-Pfandkredit</td>");
document.write(newline);
document.write("	<td colspan='4'><input name='pawn_credit' type='text' size='11' disabled> &nbsp;<span id='pro_monat'>&euro; / Monat</span></td>");
document.write(newline);
document.write("	<td colspan='4'>KFZ-Mobilkredit</td>");
document.write(newline);
document.write("	<td colspan='4'><input name='mobile_credit' type='text' size='11' disabled> &nbsp;<span id='pro_monat'>&euro; / Monat</span></td>");
document.write(newline);
document.write("	<td colspan='4' style='height: 30px' align='right'><input style='height: 23px' name='credit_amount' type='submit' value='Berechnen'></td>");
document.write("</tr></table>");

function calc()
{
	var credit_amount = document.getElementsByName("credit_amount")[0];
	
  if (credit_amount.value == "") {
    alert("Bitte Ihren Kreditwunsch eingeben!");
    credit_amount.focus();
    return false;
  }
	else if (credit_amount.value < 1) { // 29.06.2009 cs: min. amount deleted
    alert("Betrag muss größer als 0,- Euro sein.");
    credit_amount.focus();
    return false;		
	}
	else {
	  var chkZ = 1;
	  for (i = 0; i < credit_amount.value.length; ++i)
    	if (credit_amount.value.charAt(i) < "0" ||
        	credit_amount.value.charAt(i) > "9")
      	chkZ = -1;
  	if (chkZ == -1) {
	    alert("Kreditwunsch ist keine Zahl!");
    	credit_amount.focus();
    	return false;
    }
  }
  
  // start calculation ...
  var type = document.getElementsByName("type")[0];
  var pawn_credit = document.getElementsByName("pawn_credit")[0];
  var mobile_credit = document.getElementsByName("mobile_credit")[0];
  
  if (type.checked == true) {
  	var stand_fee = 89;  // pkw
  }
	else {
		var stand_fee = 49; // moped
	}
	
  var mobile_credit_value = round_value(credit_amount.value * 0.09, 2); // 29.06.2009 cs: changed percentage
  	
  if (credit_amount.value <= 10000) {
  	// var pawn_credit_value = round_value((credit_amount.value * 0.035) + stand_fee + (credit_amount.value * 0.01), 2); // 17.09.2009
  	// var pawn_credit_value = round_value((credit_amount.value * 0.045) + stand_fee, 2); // 23.09.2009
  	var pawn_credit_value = round_value((credit_amount.value * 0.01) + (credit_amount.value * 0.035) + 89, 2);
  }
  else if (credit_amount.value >= 10001 && credit_amount.value <= 20000) {
  	// var pawn_credit_value = round_value((credit_amount.value * 0.03) + stand_fee + (credit_amount.value * 0.01), 2); // 17.09.2009
  	// var pawn_credit_value = round_value((credit_amount.value * 0.01) + 350 + ((credit_amount.value - 10000) * 0.03), 2); // 23.09.2009
  	var pawn_credit_value = round_value((credit_amount.value * 0.01) + (credit_amount.value - 10000) * 0.03 + 89 + 350, 2);
  }
	else {
  	// var pawn_credit_value = round_value((credit_amount.value * 0.025) + stand_fee + (credit_amount.value * 0.01), 2); // 17.09.2009
  	// var pawn_credit_value = round_value((credit_amount.value * 0.01) + 650 + ((credit_amount.value - 20000) * 0.025), 2); // 23.09.2009
  	var pawn_credit_value = round_value((credit_amount.value * 0.01) + (credit_amount.value - 20000) * 0.025 + 89 + 350 + 300 , 2);
	}
	
	/* 23.09.2009
	if (pawn_credit_value < 100) {
		pawn_credit.value = "100,00";
	}
	else {*/
	pawn_credit.value = thousands(pawn_credit_value.toString().replace('.', ','));

	/* 23.09.2009
	if (mobile_credit_value < 149) {
		mobile_credit.value = "149,00";
	}
	else {
	*/
	mobile_credit.value = thousands(mobile_credit_value.toString().replace('.', ','));
}

function round_value(amount, s)
{
  // Runden des Wertes amount auf s Nachkommastellen
  if(amount.toFixed) {
    return amount.toFixed(s);
  }
  else {
    return parseInt(amount * Math.pow(10, s) + 0.5) / Math.pow(10, s);
  }
}

function thousands(number) {
	number = '' + number;
	
	if (number.length > 3) {
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				// hier wird das Trennzeichen festgelegt mit '.'
				if (number.substring(mod+ 3 * i, mod+ 3 * i + 1) == ",") {
					output+= number.substring(mod + 3 * i, mod + 3 * i + 3);
				}
			 	else {
			 		output+= '.' + number.substring(mod + 3 * i, mod + 3 * i + 3);
			 	}
		}
		return (output);
	}
	else return number;
}