
// vertailtavien autojen lkm lomakkeella
var a = 2;

function paivita_luopumispvm() {
	hankintapvmOsat = $("#input-yleiset-hankintapvm").val().split(".");
	$("#div-yleiset-luopumispvm").html( hankintapvmOsat[0] + "." + hankintapvmOsat[1] + "." + (parseInt(hankintapvmOsat[2])+parseInt($("#select-yleiset-kayttoaika").val())) );
}

function hae_paastovero(g) {
	if(g<67) {
		return 5.3;
	} else if (g>399) {
		return 166;
	} else {
		return pv[g];
	}
}

function hae_huoltokulut() {
	return Math.round( $("#select-yleiset-kayttoaika").val() * $("#input-yleiset-ajokilometrit").val() * 0.034 );
}

function hae_korko(hinta, autonro, painotettu_korko) {
	if(hinta == 0) {
		return "0";
	}
	
	var kokonaisKorko = 0;	
	var arvonAlennus = new Array();
	var korkoVuotena = new Array();
   
	for(var i=1 ; i <= $("#select-yleiset-kayttoaika").val() ; i++) {
		arvonAlennus[i] = (hinta * $("#input-arvonalennus-" + autonro).val()) / 100;
		korkoVuotena[i] = (hinta * painotettu_korko) / 100;
		hinta -= arvonAlennus[i];
		kokonaisKorko += korkoVuotena[i];
	}
	return Math.round(kokonaisKorko);
}

function hae_rengaskulut(autonro) {
	return Math.round( ( $("#select-yleiset-kayttoaika").val() * $("#input-yleiset-ajokilometrit").val() / 30000 ) * $("#auto" + autonro + "-tiedot-hinta").val() * 0.02 );
}

function oma_asetus(input) {
	var i = input.attr("id").replace(/[a-zA-Z-]+/, "");
	var oma_asetus;
	if(input.attr("id").search(/rengaskulut/) != -1) {
		if(!input.val()) {
			oma_asetus = 0;
		} else if(hae_rengaskulut(i) != input.val()) {
			oma_asetus = 1;
		}
		$("#input-kayttokulut-rengaskulut-oma-asetus-auto" + i).val(oma_asetus);
	} else if(input.attr("id").search(/kayttokulut/) != -1) {
		if(!input.val()) {
			oma_asetus = 0;
		} else if(hae_huoltokulut() != input.val()) {
			oma_asetus = 1;
		}
		$("#input-kayttokulut-huollot-oma-asetus-auto" + i).val(oma_asetus);
	}
}

function tarkista_desimaalit(input) {
	input.val(input.val().replace(/,/, "."));
}

function reset_form(autonro, loop) {
	for(var i=1 ; i<=loop ; i++) {
		if(i == 1) {
			$("#div-tyyppi-" + autonro).html('<select id="select-tyyppi-' + autonro + '" disabled="disabled"><option value="0">Valitse ensin malli</option></select>');
		} else if(i == 2) {
			$("#div-malli-" + autonro).html('<select id="select-malli-' + autonro + '" disabled="disabled">	<option value="0">Valitse ensin merkki</option></select>');
		}
	}
	
	$("#div-tiedot-" + autonro).html("");
	$("#input-varusteet-" + autonro).val("0");
	$("#div-lainaosuus-" + autonro).html("");
	$("#div-painotettu-korko-" + autonro).html("");
	$("#input-arvonalennus-" + autonro).val("");
	$("#div-ajoneuvovero-" + autonro).html("");
	$("#div-liikennevakuutus-" + autonro).html("");
	$("#div-autovakuutus-" + autonro).html("");
	$("#div-paaomakulut-arvonalennus-" + autonro).html("");
	$("#div-paaomakulut-korko-" + autonro).html("");
	$("#div-paaomakulut-liikennevakuutus-" + autonro).html("");
	$("#div-paaomakulut-autovakuutus-" + autonro).html("");
	$("#div-paaomakulut-ajoneuvovero2008-" + autonro).html("");
	$("#div-paaomakulut-ajoneuvovero2010-" + autonro).html("");
	$("#div-paaomakulut-kayttovoima-" + autonro).html("");
	$("#div-paaomakulut-sailytys-" + autonro).html("");
	$("#div-paaomakulut-yhteensa-" + autonro).html("");
	$("#div-kayttokulut-polttoaine-" + autonro).html("");
	if($("#input-kayttokulut-rengaskulut-oma-asetus-" + autonro).val() == 0) {
		$("#input-kayttokulut-rengaskulut-" + autonro).val("");
	}
	if($("#input-kayttokulut-huollot-oma-asetus-" + autonro).val() == 0) {
		$("#input-kayttokulut-huollot-" + autonro).val("");
	}
	$("#div-kayttokulut-kilometrikorvaus-" + autonro).html("");
	$("#div-kayttokulut-yhteensa-" + autonro).html("");
	$("#div-lopputulos-yhteensa-" + autonro).html("");
	$("#div-lopputulos-yhteensa-kk-" + autonro).html("");
	$("#div-lopputulos-yhteensa-km-" + autonro).html("");
	
}

function paivita_lomake() {

	var temp;
	
	
	paivita_luopumispvm();

	
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-hinta").val() > 0) {
			$("#div-hinta-yhteensa-auto" + i).html( parseInt($("#auto" + i + "-tiedot-hinta").val()) + parseInt($("#input-varusteet-auto" + i).val()) );
			$("#auto" + i + "-tiedot-hinta-yht").val( parseInt($("#auto" + i + "-tiedot-hinta").val()) + parseInt($("#input-varusteet-auto" + i).val()) );
		}
	}
	
	
	
	var auto1_lainaosuus;
	var auto2_lainaosuus;
	
	if($("#auto1-tiedot-hinta").val() > 0 && $("#input-yleiset-oma-rahoitusosuus").val()) {
		auto1_lainaosuus = parseInt($("#auto1-tiedot-hinta-yht").val()) - parseInt($("#input-yleiset-oma-rahoitusosuus").val());
		if(auto1_lainaosuus < 0) auto1_lainaosuus = "0";
		$("#div-lainaosuus-auto1").html(auto1_lainaosuus);
	}
	if($("#auto2-tiedot-hinta").val() > 0 && $("#input-yleiset-oma-rahoitusosuus").val()) {	
		auto2_lainaosuus = parseInt($("#auto2-tiedot-hinta-yht").val()) - parseInt($("#input-yleiset-oma-rahoitusosuus").val());
		if(auto2_lainaosuus < 0) auto2_lainaosuus = "0";
		$("#div-lainaosuus-auto2").html(auto2_lainaosuus);
	}
	
	
	
	var auto1_painotettu_korko = 0;
	var auto2_painotettu_korko = 0;
	var oma_rahoitusosuus = 0;
	
	if($("#auto1-tiedot-hinta").val() > 0 && $("#input-yleiset-oma-rahoitusosuus").val()) {	
		oma_rahoitusosuus = (parseInt($("#input-yleiset-oma-rahoitusosuus").val()) > parseInt($("#auto1-tiedot-hinta-yht").val()) ) ? parseInt($("#auto1-tiedot-hinta-yht").val()) : parseInt($("#input-yleiset-oma-rahoitusosuus").val());
		auto1_painotettu_korko = ( oma_rahoitusosuus * parseInt($("#input-yleiset-saamatta-jaava-korko").val()) + parseInt(auto1_lainaosuus) * $("#input-yleiset-lainakorko").val() ) / parseInt($("#auto1-tiedot-hinta-yht").val());
		$("#div-painotettu-korko-auto1").html( auto1_painotettu_korko.toFixed(2) );
	}
	
	if($("#auto2-tiedot-hinta").val() > 0 && $("#input-yleiset-oma-rahoitusosuus").val()) {
		oma_rahoitusosuus = (parseInt($("#input-yleiset-oma-rahoitusosuus").val()) > parseInt($("#auto2-tiedot-hinta-yht").val()) ) ? parseInt($("#auto2-tiedot-hinta-yht").val()) : parseInt($("#input-yleiset-oma-rahoitusosuus").val());	
		auto2_painotettu_korko = ( oma_rahoitusosuus * parseInt($("#input-yleiset-saamatta-jaava-korko").val()) + parseInt(auto2_lainaosuus) * $("#input-yleiset-lainakorko").val() ) / parseInt($("#auto2-tiedot-hinta-yht").val());
		$("#div-painotettu-korko-auto2").html( auto2_painotettu_korko.toFixed(2) );
	}
	
	
	
	var arvonalennus;

	if($("#input-yleiset-ajokilometrit").val()) {
		if(parseInt($("#input-yleiset-ajokilometrit").val()) < 30000) {
			arvonalennus = $("#input-yleiset-ajokilometrit").val() / 500000 + 0.1;
		} else {
			arvonalennus = 0.16 + ( $("#input-yleiset-ajokilometrit").val() - 30000 ) / 1200000;
		}
		arvonalennus *= 100;		
		
		for(i=1 ; i<=a ; i++) {
			if($("#auto" + i + "-tiedot-hinta").val() > 0) {		
				if($("#input-arvonalennus-auto" + i).val() && $("#input-arvonalennus-auto" + i).val() != arvonalennus.toFixed(0)) {
					// käyttäjä muokannut arvonalennusprosenttia, annetaan olla
				} else {
					$("#input-arvonalennus-auto" + i).val(arvonalennus.toFixed(0));
				}
			}
		}
		
   	}
	

	
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-paastot").val()) {
			$("#div-ajoneuvovero-auto" + i).html(hae_paastovero($("#auto" + i + "-tiedot-paastot").val()));
		}
	}
	
	
	
	
	
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-hinta").val() > 0) {
			$("#div-paaomakulut-arvonalennus-auto" + i).html( Math.round( $("#auto" + i + "-tiedot-hinta-yht").val() - $("#auto" + i + "-tiedot-hinta-yht").val() * Math.pow((1 - ($("#input-arvonalennus-auto" + i).val()/100)), $("#select-yleiset-kayttoaika").val()) ) );
		}
	}
	

	
	if(auto1_painotettu_korko != 0) {
		$("#div-paaomakulut-korko-auto1").html(hae_korko($("#auto1-tiedot-hinta-yht").val(), 'auto1', auto1_painotettu_korko));
	}
	if(auto2_painotettu_korko != 0) {
		$("#div-paaomakulut-korko-auto2").html(hae_korko($("#auto2-tiedot-hinta-yht").val(), 'auto2', auto2_painotettu_korko));
	}
	
	
	
	for(i=1 ; i<=a ; i++) {
		if($("#select-tyyppi-auto" + i).val() != 0 && $("#input-liikennevakuutus-auto" + i).val() && $("#input-liikennevakuutus-auto" + i).val() != 0 && $("#select-yleiset-kayttoaika").val()) {
			$("#div-paaomakulut-liikennevakuutus-auto" + i).html( parseInt($("#input-liikennevakuutus-auto" + i).val()) * parseInt($("#select-yleiset-kayttoaika").val()) );
		} else {
			$("#div-paaomakulut-liikennevakuutus-auto" + i).html("0");
		}
		if($("#select-tyyppi-auto" + i).val() != 0 &&  $("#input-autovakuutus-auto" + i).val() && $("#input-autovakuutus-auto" + i).val() != 0 && $("#select-yleiset-kayttoaika").val()) {
			$("#div-paaomakulut-autovakuutus-auto" + i).html( parseInt($("#input-autovakuutus-auto" + i).val()) * parseInt($("#select-yleiset-kayttoaika").val()) );
		} else {
			$("#div-paaomakulut-autovakuutus-auto" + i).html("0");
		}
	}
	

	
	var luopumispvm_osat = $("#div-yleiset-luopumispvm").html().split('.');
	var dateLuopumisPvm = new Date(luopumispvm_osat[2], luopumispvm_osat[1]-1, luopumispvm_osat[0]);
	var verotettavia_paivia;
	
	if($("#div-ajoneuvovero-auto1").html() || $("#div-ajoneuvovero-auto2").html()) {
		var hankintapvm_osat = $("#input-yleiset-hankintapvm").val().split('.');
		if(hankintapvm_osat[2] < 2010) {
			var dateHankintaPvm = new Date(hankintapvm_osat[2], hankintapvm_osat[1]-1, hankintapvm_osat[0]);
			var dateViimeinenPvm;
			if(luopumispvm_osat[2] > 2009) {
				dateViimeinenPvm = new Date(2010, 0, 1);
			} else {
				dateViimeinenPvm = dateLuopumisPvm;
			}
			verotettavia_paivia = Math.round(Math.ceil(dateViimeinenPvm.getTime()-dateHankintaPvm.getTime()) / (1000*60*60*24));
			var ajoneuvovero_2008 = Math.round(verotettavia_paivia * 0.35);
			if($("#div-ajoneuvovero-auto1").html()) {
				$("#div-paaomakulut-ajoneuvovero2008-auto1").html(ajoneuvovero_2008);
			}
			if($("#div-ajoneuvovero-auto2").html()) {
				$("#div-paaomakulut-ajoneuvovero2008-auto2").html(ajoneuvovero_2008);
			}					
		} else {
			if($("#div-ajoneuvovero-auto1").html()) {
				$("#div-paaomakulut-ajoneuvovero2008-auto1").html('0');
			}
			if($("#div-ajoneuvovero-auto2").html()) {
				$("#div-paaomakulut-ajoneuvovero2008-auto2").html('0');
			}		
		}
	}		
   	
	
	
	if($("#div-ajoneuvovero-auto1").html() || $("#div-ajoneuvovero-auto2").html()) {
		if(parseInt(luopumispvm_osat[2]) >= 2010) {
			var dateEnsimmainen_2010 = new Date(2010, 0, 1);
			verotettavia_paivia = Math.round(Math.ceil(dateLuopumisPvm.getTime()-dateEnsimmainen_2010.getTime()) / (1000*60*60*24));
			if($("#div-ajoneuvovero-auto1").html()) {
				$("#div-paaomakulut-ajoneuvovero2010-auto1").html( Math.round((verotettavia_paivia * $("#div-ajoneuvovero-auto1").html()) / 100) );
			}
			if($("#div-ajoneuvovero-auto2").html()) {
				$("#div-paaomakulut-ajoneuvovero2010-auto2").html( Math.round((verotettavia_paivia * $("#div-ajoneuvovero-auto2").html()) / 100) );
			}
		} else {
			if($("#div-ajoneuvovero-auto1").html()) {
				$("#div-paaomakulut-ajoneuvovero2010-auto1").html('0');
			}
			if($("#div-ajoneuvovero-auto2").html()) {
				$("#div-paaomakulut-ajoneuvovero2010-auto2").html('0');
			}
		}
	}
	
	
	
	if($("#select-tyyppi-auto1").val() != 0) {
		if($("#select-polttoaine-auto1").val() == "bensiini") {
			$("#div-paaomakulut-kayttovoima-auto1").html("0");
		} else {
			if($("#auto1-tiedot-paino").val()) {
				$("#div-paaomakulut-kayttovoima-auto1").html( Math.round( parseInt($("#select-yleiset-kayttoaika").val()) * (Math.round((parseInt($("#auto1-tiedot-paino").val()-0.001)) / 100) + 1) * 24.46 ) );
			}
		}
	}
	if($("#select-tyyppi-auto2").val() != 0) {
		if($("#select-polttoaine-auto2").val() == "bensiini") {
			$("#div-paaomakulut-kayttovoima-auto2").html("0");
		} else {
			if($("#auto2-tiedot-paino").val()) {
				$("#div-paaomakulut-kayttovoima-auto2").html( Math.round( parseInt($("#select-yleiset-kayttoaika").val()) * (Math.round((parseInt($("#auto2-tiedot-paino").val()-0.001)) / 100) + 1) * 24.46 ) );
			}
		}
	}
	
	
	
	if($("#select-tyyppi-auto1").val() != 0) {
		$("#div-paaomakulut-sailytys-auto1").html( $("#select-yleiset-kayttoaika").val() * 456 );
	}
	if($("#select-tyyppi-auto2").val() != 0) {
		$("#div-paaomakulut-sailytys-auto2").html( $("#select-yleiset-kayttoaika").val() * 456 );
	}
		
	
	
	for(i=1 ; i<=a ; i++) {
  		if($("#auto" + i + "-tiedot-hinta").val() > 0) {
			$("#div-paaomakulut-yhteensa-auto" + i).html( parseInt($("#div-paaomakulut-arvonalennus-auto" + i).html()) + parseInt($("#div-paaomakulut-korko-auto" + i).html()) + parseInt($("#div-paaomakulut-liikennevakuutus-auto" + i).html()) + parseInt($("#div-paaomakulut-autovakuutus-auto" + i).html()) + parseInt($("#div-paaomakulut-ajoneuvovero2008-auto" + i).html()) + parseInt($("#div-paaomakulut-ajoneuvovero2010-auto" + i).html()) + parseInt($("#div-paaomakulut-kayttovoima-auto" + i).html()) + parseInt($("#div-paaomakulut-sailytys-auto" + i).html()) );
		}
	}
	
	
	
	
	
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-kulutus").val()) {
			$("#div-kayttokulut-polttoaine-auto" + i).html( Math.round( $("#select-yleiset-kayttoaika").val() * $("#input-yleiset-ajokilometrit").val() / 100 * $("#auto" + i + "-tiedot-kulutus").val() * $("#input-yleiset-" + $("#select-polttoaine-auto" + i).val()).val() ) );
		}
	}
	
	
	
	var rengaskulut;
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-hinta").val() > 0) {
			if($("#input-kayttokulut-rengaskulut-oma-asetus-auto" + i).val() == 0) {
				$("#input-kayttokulut-rengaskulut-auto" + i).val(hae_rengaskulut(i));
			}
		}
	}
	
	
	
	var huoltokulut;
	for(i=1 ; i<=a ; i++) {
		if($("#select-tyyppi-auto" + i).val() != 0) {
			if($("#input-kayttokulut-huollot-oma-asetus-auto" + i).val() == 0) {
				$("#input-kayttokulut-huollot-auto" + i).val(hae_huoltokulut());
			}
		}
	}
	
	
	
	var kilometrikorvaus = 0;
	if($("#input-yleiset-tyoajot").val()) {
		kilometrikorvaus = Math.round( -1 * ( 0.44 * $("#input-yleiset-tyoajot").val() * $("#select-yleiset-kayttoaika").val() ) );
	}
	for(i=1 ; i<=a ; i++) {
		if($("#select-tyyppi-auto" + i).val() != 0) {
			$("#div-kayttokulut-kilometrikorvaus-auto" + i).html(kilometrikorvaus);
		}
	}
	
	
	
	for(i=1 ; i<=a ; i++) {
		if($("#auto" + i + "-tiedot-hinta").val() > 0) {
			temp = parseInt($("#div-kayttokulut-kilometrikorvaus-auto" + i).html()) ? parseInt($("#div-kayttokulut-kilometrikorvaus-auto" + i).html()) : 0;
			$("#div-kayttokulut-yhteensa-auto" + i).html( parseInt($("#div-kayttokulut-polttoaine-auto" + i).html()) + parseInt($("#input-kayttokulut-rengaskulut-auto" + i).val()) + parseInt($("#input-kayttokulut-huollot-auto" + i).val()) + temp );
		}
	}
	
	
	

	
	var yhteensa_km;
	if($("#div-paaomakulut-yhteensa-auto1").html() && $("#div-kayttokulut-yhteensa-auto1").html()) {
		$("#div-lopputulos-yhteensa-auto1").html( parseInt($("#div-paaomakulut-yhteensa-auto1").html()) + parseInt($("#div-kayttokulut-yhteensa-auto1").html()) );
		$("#div-lopputulos-yhteensa-kk-auto1").html( Math.round( $("#div-lopputulos-yhteensa-auto1").html() / ( $("#select-yleiset-kayttoaika").val() * 12 ) ) );
		yhteensa_km = $("#div-lopputulos-yhteensa-auto1").html() / ( $("#select-yleiset-kayttoaika").val() * $("#input-yleiset-ajokilometrit").val() );
		$("#div-lopputulos-yhteensa-km-auto1").html( yhteensa_km.toFixed(2) );
	}
	if($("#div-paaomakulut-yhteensa-auto2").html() && $("#div-kayttokulut-yhteensa-auto2").html()) {
		$("#div-lopputulos-yhteensa-auto2").html( parseInt($("#div-paaomakulut-yhteensa-auto2").html()) + parseInt($("#div-kayttokulut-yhteensa-auto2").html()) );
		$("#div-lopputulos-yhteensa-kk-auto2").html( Math.round( $("#div-lopputulos-yhteensa-auto2").html() / ( $("#select-yleiset-kayttoaika").val() * 12 ) ) );
		yhteensa_km = $("#div-lopputulos-yhteensa-auto2").html() / ( $("#select-yleiset-kayttoaika").val() * $("#input-yleiset-ajokilometrit").val() );
		$("#div-lopputulos-yhteensa-km-auto2").html( yhteensa_km.toFixed(2) );
	}
	
}
