<!--
// Leasing-calculator
// (c) mass:werk, n.landsteiner, www.masswerk.at
// lsattler: inserted gesamtbelastung
// config

var calc_zinsbasis= 5.25;
// restwerte und laufzeit in monaten
var clac_restwerte= new Array(64.8, 56.7, 50.3, 43.1, 35.8);
var clac_laufzeit= new Array(12, 24, 36, 48, 60);
// preis: untergrenze, obergrenze
var clac_preisRange= new Array(500, 100000);
// maximale anzahlungsrate am kaufpreis (prozent d. kaufpreises/100)
var calc_maxAnzahlungsrate= .3;
// error alerts
var calc_alertAnzahlung= 'Die Anzahlung darf maximal 30 % des Kaufpreises betragen!';
var calc_alertKaufpreis= 'Der Kaufpreis muß in diesem Beispiel zwischen Euro 500,- und Euro 100.000,- liegen!';
// flag preiskontrolle (on/off)
var calc_preisKontrolle= false;

// vorgabewerte in den form-fields 'kaufpreis' und 'anzahlung' beruecksichtigen!


// functions

function calc_it() {
	var aw, rw, lz, factor, i, result, gesamtres, kstelle, kgestelle, kgeoffset, offset;
	i=calc_zinsbasis/1200;
	calc_testkaufpreis();
	aw=parseInt(document.calculator.kaufpreis.value,10)-parseInt(document.calculator.anzahlung.value,10);
	rw=parseInt(document.calculator.restwert.value,10);
	lz=parseInt(document.calculator.laufzeit[document.calculator.laufzeit.selectedIndex].value,10);
	factor=Math.pow(1+i,-clac_laufzeit[lz]);
	result=Math.round(((aw-rw*factor)/((1-factor)/i))*100)/100;
	//gesamtres=parseInt(result*clac_laufzeit[lz],10)+parseInt(document.calculator.anzahlung.value,10)+rw;
	gesamtres=result*clac_laufzeit[lz]+parseInt(document.calculator.anzahlung.value,10)+rw;//+(document.calculator.restwert.value);
	gesamtres=''+gesamtres;
	result=''+result;
	
	kgestelle=gesamtres.indexOf('.');
	if (kgestelle>-1) {
		kgeoffset=gesamtres.substring(kgestelle+1).length;
		if (kgeoffset<2) {
			for (var k=2-kgeoffset; k<2; k++) gesamtres+='0';
			}
		}
	else gesamtres+='.00';
	
	kstelle=result.indexOf('.');
	if (kstelle>-1) {
		offset=result.substring(kstelle+1).length;
		if (offset<2) {
			for (var k=2-offset; k<2; k++) result+='0';
			}
		}
	else result+='.00';
  document.calculator.gesamt.value=gesamtres;
  document.calculator.gesamt.blur();
	document.calculator.rate.value=result;
	document.calculator.rate.blur()
	}

function calc_testawaz() {
	if (isNaN(parseInt(document.calculator.kaufpreis.value,10))) document.calculator.kaufpreis.value=0;
	if (isNaN(parseInt(document.calculator.anzahlung.value,10))) document.calculator.anzahlung.value=0;
	clac_clearRate();
	}
	
function calc_testkaufpreis() {
	calc_testawaz();
	var preis=parseInt(document.calculator.kaufpreis.value,10);
	if (preis != document.calculator.kaufpreis.value) document.calculator.kaufpreis.value=preis;
	if (calc_preisKontrolle) {
		if ((preis<clac_preisRange[0]) || (preis>clac_preisRange[1])) {
			alert(calc_alertKaufpreis);
			if (preis>clac_preisRange[1]) preis=clac_preisRange[1]
			else preis=clac_preisRange[0];
			document.calculator.kaufpreis.value=preis;
			document.calculator.kaufpreis.blur()
			}
		}
	else {
		if ((preis=='') || (preis<1)) {
			preis=clac_preisRange[0];
			document.calculator.kaufpreis.value=preis;
			document.calculator.kaufpreis.blur()
		}
	}
	var anzahlung=parseInt(document.calculator.anzahlung.value,10);
	if (anzahlung != document.calculator.anzahlung.value) document.calculator.anzahlung.value=anzahlung;
	if (anzahlung>preis*calc_maxAnzahlungsrate) {
		alert(calc_alertAnzahlung);
		anzahlung=Math.floor(preis*calc_maxAnzahlungsrate);
		document.calculator.anzahlung.value=anzahlung;
		document.calculator.anzahlung.blur()
		};
	calc_setrestwert()
	}

function calc_testanzahlung() {
	calc_testawaz();
	var preis=parseInt(document.calculator.kaufpreis.value,10);
	var anzahlung=parseInt(document.calculator.anzahlung.value,10);
	if (preis != document.calculator.kaufpreis.value) document.calculator.kaufpreis.value=preis;
	if (anzahlung != document.calculator.anzahlung.value) document.calculator.anzahlung.value=anzahlung;
	if (anzahlung>preis*calc_maxAnzahlungsrate) {
		alert(calc_alertAnzahlung);
		anzahlung=Math.floor(preis*calc_maxAnzahlungsrate);
		document.calculator.anzahlung.value=anzahlung;
		document.calculator.anzahlung.blur()
		}
	}
	
function calc_setrestwert() {
	calc_testawaz();
	document.calculator.laufzeit.blur()
	var lz=parseInt(document.calculator.laufzeit[document.calculator.laufzeit.selectedIndex].value,10);
	var preis=parseInt(document.calculator.kaufpreis.value,10);
	document.calculator.restwert.value=Math.floor(preis*clac_restwerte[lz]/100);
	document.calculator.anzahlung.blur()
	}

function clac_clearRate() {
	document.calculator.rate.value="";
	document.calculator.rate.blur()
	}
	
//-->
