
function laske(vero_laina) {

    var muoto;
    var ashinta=0;
    var vanhah=0;
    var saasto=0;
    var vero=0;
    var laina=0;
    var rahana=0;
    var korko=0;

	var ok = tarkistus(vero_laina);

	// TÄSTÄ ALKAA VARAINSIIRTOJUTUT

	if (ok == "") {
		if (document.vero_laina.muoto[0].checked == true) {
			vero = 0.016;
		} else {
			vero = 0.040;
        }

		ashinta = parseFloat(document.vero_laina.ashinta.value.replace(' ', '').replace(',', '.'));
		vanhah = parseFloat(document.vero_laina.vanhah.value.replace(' ', '').replace(',', '.'));
		saasto = parseFloat(document.vero_laina.saasto.value.replace(' ', '').replace(',', '.'));

		if (vanhah == 0) {
			vero = 0;
		}
		
		// vero rahana
		rahana = Math.round(ashinta*vero);

		// lisätään ashinta-muuttujaan veron määrä
		ashinta += Math.round(ashinta*vero);

		ashinta = ashinta-vanhah-saasto;

		if (ashinta < 1) {
			document.vero_laina.vast.value = "Antamiesi tietojen perusteella et tarvitse lainaa.";
		} else {

			// TÄSTÄ ALKAA LAINURIN JUTUT
			
			// mikä korko on kyseessä
            var korkojenMaara = document.vero_laina.korko.length;
			for (var i = 0; i < korkojenMaara; i++) {
				if (document.vero_laina.korko[i].checked == true) {
					if (document.vero_laina.korko[i].id == 'kiinteaMuuKorko') {
						korko = document.getElementById('muuKorko').value.replace(' ', '').replace(',', '.');
                    } else {
			   			korko = document.vero_laina.korko[i].value;
                    }
                }
			}

            korko = parseFloat(korko.replace(' ', '').replace(',', '.'));

			// korkomarginaali
			var valittu = document.vero_laina.korkomar.selectedIndex;
			var korkomar = parseFloat(document.vero_laina.korkomar.options[valittu].value);

			// paljonko korko on yhteensä
			var koko = korko + korkomar;

			// laina-aika
			var valittu2;
			valittu2 = document.vero_laina.aika.selectedIndex;
			aika = document.vero_laina.aika.options[valittu2].value;

			// lyhennystapa
			var lyhtapa, valittu3;
			valittu3 = document.vero_laina.lyhennys.selectedIndex;
			var lyhtapa = document.vero_laina.lyhennys.options[valittu3].value;

			if (lyhtapa == "annu") {

				var yla;
				var ala;
				var korkokk;
				var korkotek;
				var lyhkrt;
				var tulos;
				var ekakuu;
				var kokoannu;

				korkokk = koko/12;
				korkotek = korkokk/100 + 1;
				lyhkrt = aika * 12;
				yla = 1 - korkotek;
				ala = 1 - Math.pow(korkotek,lyhkrt);
				tulos = ashinta * Math.pow(korkotek,lyhkrt) * (yla/ala);
				kokoannu = lyhkrt * tulos;

				// tulos

				document.vero_laina.vast.value = "Tarvitset lainaa " + ashinta + " euroa.\nVarainsiirtovero on " + vero*100
				+ " % (" + rahana + " euroa) hankintahinnasta.\n\nLainan kuukausierä: " + Math.round(tulos) +
				" euroa.\nLaina korkoineen: " + Math.round(kokoannu) + " euroa.\nLisäksi tulevat lainan perustamiskustannukset." ;

			} else if (lyhtapa == "tasaera") {

				var yla;
				var ala;
				var korkokk;
				var korkotek;
				var lyhkrt;
				var tulos;
				var ekakuu;
				var kokotasaera;

				korkokk = koko/12;
				korkotek = korkokk/100 + 1;
				lyhkrt = aika * 12;
				yla = 1 - korkotek;
				ala = 1 - Math.pow(korkotek,lyhkrt);
				tulos = ashinta * Math.pow(korkotek,lyhkrt) * (yla/ala);
				kokotasaera = lyhkrt * tulos;

				document.vero_laina.vast.value = "Tarvitset lainaa " + ashinta + " euroa.\nVarainsiirtovero on " + vero*100
				+ " % (" + rahana + " euroa) hankintahinnasta.\n\nLainan kuukausierä: " + Math.round(tulos)
				+ " euroa.\nLaina korkoineen: " + Math.round(kokotasaera) + " euroa.\nLisäksi tulevat lainan perustamiskustannukset." ;

			} else {

				var lyhe;
				var lyhkrt;
				var ekakorko;
				var ekaera;
				var vikakorko;
				var vikaera;
				var kokotasalyh;

				// muuttujat kokolainan laskua varten

				var jaljella = ashinta; // lainaa jäljellä
				var korkoyht = 0;		// korko yhteensä
				var laskuri = 1;

				lyhkrt = aika * 12;
				lyhe = ashinta/lyhkrt;
				ekakorko = 1/12 * (koko/100) * ashinta;
				ekaera = ekakorko + lyhe;

				vikakorko = 1/12 * koko/100 * lyhe;
				vikaera = vikakorko + lyhe;

				// kokolainan laskeminen

				for (var j = 0; j < lyhkrt; j++) {
					korkoyht = korkoyht + ((koko/100)/12 * jaljella);
					jaljella = ashinta - (lyhe * laskuri);
					laskuri++;
				}
				korkoyht = korkoyht + ashinta;

				document.vero_laina.vast.value = "Tarvitset lainaa " + ashinta + " euroa.\nVarainsiirtovero on " + vero*100
				+ " % (" + rahana + " euroa) hankintahinnasta.\n\nLainan ensimmäinen kuukausierä: " + Math.round(ekaera)
					+ " euroa.\nLainan viimeinen kuukausierä: " + Math.round(vikaera)
					+ " euroa.\nLaina korkoineen: " + Math.round(korkoyht) + " euroa.\nLisäksi tulevat lainan perustamiskustannukset."
			}
		}
	} else {
		document.vero_laina.vast.value = "Jätit joitakin kenttiä syöttämättä tai annoit muun kuin numeron. Yritä uudelleen.";
    }
	
}

// lomakkeen tarkistus 
function tarkistus(vero_laina) {
	var pal = "";

    var kenttienMaara = document.vero_laina.elements.length;

	for (var ind = 0; ind < kenttienMaara; ind++) {
        if ((document.vero_laina.elements[ind].type == "text") && (document.getElementById('kiinteaMuuKorko').checked)) {
			if (tyhjaa(document.vero_laina.elements[ind].value) || (document.vero_laina.elements[ind] == null)) {
				pal = 2;
				document.vero_laina.elements[ind].focus();
				break;
			} else {
				if (onko_numero(document.vero_laina.elements[ind].value)) {
					pal = 2;
					document.vero_laina.elements[ind].focus();
					document.vero_laina.elements[ind].select();
					break;
				}
			}
		} else {
            if (document.vero_laina.elements[ind].type == "text" && (document.getElementById('kiinteaMuuKorko').checked == false)) {
				if (document.vero_laina.elements[ind].id != 'muuKorko') {
					if (tyhjaa(document.vero_laina.elements[ind].value) || (document.vero_laina.elements[ind] == null)) {
						pal = 1;
						document.vero_laina.elements[ind].focus();
						break;
					} else {
						if (onko_numero(document.vero_laina.elements[ind].value)) {
							pal = 1;
							document.vero_laina.elements[ind].focus();
							document.vero_laina.elements[ind].select();
							break;
						}
					}
				}
			}

		}
	} // for
    return pal;
}

// onko tyhjä mjono
function tyhjaa(mjono) {
	if (mjono.length == 0) {
		return true;
    }
	return false;
}

// onko numero
function onko_numero(merkit) {
    merkit = merkit.replace(' ', '').replace(',', '.');
	if (isNaN(merkit)) {
		return true;
    }
	return false;
}

// nollaa

function nollaa() {
	ashinta = 0;
	vanhah = 0;
	saasto = 0;
	vero = 0;
	laina = 0;
	rahana = 0;
	
	document.vero_laina.ashinta.value = 0;
	document.vero_laina.vanhah.value = 0;
	document.vero_laina.saasto.value = 0;
	
	document.forms["vero_laina"].elements["korkomar"][1].selected = true;
	document.forms["vero_laina"].elements["aika"][4].selected = true;
	document.forms["vero_laina"].elements["lyhennys"][0].selected = true;
	document.vero_laina.muukorko.value = "";
	document.vero_laina.vast.value = "";
	document.forms["vero_laina"].elements["korko"][0].checked = true;
}

