var prelim = {};

prelim.tfvalid = true;
	
prelim.init = function (){
		prelim.sum = document.forms['preliminary'].elements['sum'];
		prelim.snip = document.forms['preliminary'].elements['snip'];
		prelim.creditsum = document.forms['preliminary'].elements['creditsum'];
		prelim.percents_year = document.forms['preliminary'].elements['percents_year'];
		prelim.credit_period = document.forms['preliminary'].elements['credit_period'];
		
		prelim.percents_month_snip = document.getElementById('percents_month_snip');
		
		prelim.sum_first = document.getElementById('sum_first');
		prelim.month_payment = document.getElementById('month_payment');
		prelim.period_total = document.getElementById('period_total');
		prelim.overpayment = document.getElementById('overpayment');
		prelim.overpayment_percents = document.getElementById('overpayment_percents');
		
		// set init vals
		prelim.sum.value = parseFloat(prelim.sum.value).toFixed(2);
		prelim.snip.value = parseFloat(prelim.snip.value).toFixed(2);
		prelim.creditsum.value = parseFloat(prelim.creditsum.value).toFixed(2);
		prelim.percents_year.value = parseFloat(prelim.percents_year.value).toFixed(2);
		prelim.credit_period.value = parseFloat(prelim.credit_period.value).toFixed(2);
	
		prelim. calcIt();	
}
	
prelim.calcIt = function (){
		if (!prelim.tfvalid) return;
		
		// calc vars
		var sum = parseFloat(prelim.sum.value);
		var snip = parseFloat(prelim.snip.value);
		var creditsum = parseFloat(prelim.creditsum.value);
		var percents_year = parseFloat(prelim. percents_year.value);
		var credit_period = parseFloat(prelim. credit_period.value);
		
		
		// calc percents_month_snip
		//
		//=percents_year/1200
		var percents_month_snip = prelim.percents_year.value/1200;
		
		prelim. percents_month_snip.innerHTML = percents_month_snip.toFixed(2);
		
		// calc sum_first
		// 
		//=C6*C7/100=sum*snip/100
		prelim.sum_first.innerHTML = (sum*snip/100).toFixed(2);
		
		// calc month_payment
		//
		//=C8*(C10*РЎРўР•РџР•РќР¬(1+C10;C11)/(РЎРўР•РџР•РќР¬(1+C10;C11)-1))
		// C8 - creditsum; C10 - percents_month_snip; C11 - credit_period
		var month_payment = creditsum*(percents_month_snip*Math.pow(1+percents_month_snip, credit_period)/
					(Math.pow(1+percents_month_snip, credit_period)-1));
		prelim.month_payment.innerHTML = "<b>"+( month_payment ).toFixed(2)+"</b>";
		
		// calc period_total
		//
		//=C17*C11 = month_payment*credit_period
		
		var period_total = month_payment*credit_period;
		prelim.period_total.innerHTML  = (period_total).toFixed(2);
		
		//calc overpayment
		//
		//=C18-C8 = period_total- creditsum
		var overpayment = period_total-creditsum;
		prelim. overpayment.innerHTML = (overpayment).toFixed(2);
		
		// calc overpayment_percents
		//
		//=C19/C8*100 = overpayment/creditsum*100
		prelim. overpayment_percents.innerHTML = (overpayment/creditsum*100).toFixed(2);
}
	
prelim.validate_tf = function(e){
	if (!e.value) return;
	if (e.value.match(/^[0-9]+([.]?[0-9]*)?$/)){
		prelim.tfvalid = true;
		e.className = "tfOrdinary";
	}
	else{
		prelim.tfvalid = false;
		e.className = "tfInValid";
	}
		
}

window.onload = prelim.init;



