function switchType() {
	switch ($('calctype').options[$('calctype').selectedIndex].value) {
		case '1': 
			$('typePayments').style.display='block';
			$('typeSumm').style.display='none';
		break;
		case '2': 
			$('typePayments').style.display='none';
			$('typeSumm').style.display='block';
		break;
	}
}

function calculate() {
	switch ($('calctype').options[$('calctype').selectedIndex].value) {
		case '1': calculatePayments(); break;
		case '2': calculateSumm(); break;
	}
}

function calculatePayments() {
	var type =0;
	var summ=0;
	var rate=0;
	var period=0;
	if ($('type').options[$('type').selectedIndex].value==0) {
		$('show_type').innerHTML='Ануитетные платежи'; 
		type = 0;
	} else {
		$('show_type').innerHTML='Дифференциальные платежи';
		type = 1;
	}
	if ($('summ').value>0 && $('summ').value<999999999999) {
		$('show_summ').innerHTML=parseInt($('summ').value,10);
		summ = parseInt($('summ').value,10);
	} else {
		$('show_summ').innerHTML=0;
		summ = 0;
	}
	$('show_summ_div').style.display='block';
	$('show_payment_div').style.display='none';
	if ($('rate').value>0 && $('rate').value<=100) {
		$('show_rate').innerHTML=parseInt($('rate').value,10);
		rate = parseInt($('rate').value,10);
	} else {
		$('show_rate').innerHTML=0;
		rate = 0;
	}
	$('show_period').innerHTML=$('period').options[$('period').selectedIndex].value;
	period = $('period').options[$('period').selectedIndex].value;
	
	if (period > 0 && summ > 0 && rate > 0) {
		$('payments').style.display='block';
		$('payments_info').style.display='block';
		html = '<h4>График погашения кредита</h4><table width="100%" cellspacing="5" cellpadding="0"><thead><tr style="font-weight:bold;"><th>Период</th><th>Возвращаемая часть</th><th>Проценты</th><th>Сумма выплаты</th><th>Остаток</th></tr></thead>';

		total_percents = 0;
		total_part = 0;
		t = period*12;
		annPart = summ*rate/12/100*Math.pow((1+rate/12/100),t)/(Math.pow((1+rate/12/100),t)-1);
		rest = summ;
		desPay = summ/t;
		var tyear = 0;
		for(i=1;i<t+1;i++) {
			switch (type) {
	      		case 1 :
	      			pay = desPay;
	        		percents = (rest/100*rate)/12;
	        		part = Number(pay+percents);
	        		rest = rest-pay;
	        	break;
	      		case 0 :
	        		percents = (rest/100*rate)/12;
	        		pay = annPart-percents;
	        		rest = rest-pay;
	        		part = annPart;
	        	break;
	    	}
	    	if ((i-1)%12 == 0) tyear++;
	    	html += '<tr><td width="20%"><span style="white-space:nowrap">'+i+' мес. ('+tyear+'-й год)</span></td><td width="20%">'+round2(pay)+'</td><td width="20%">'+round2(percents)+'</td><td width="20%">'+round2(part)+'</td><td width="20%">'+round2(rest)+'</td></tr>';
	    	total_percents += percents;
	    	total_part += part;
	  	}
	
	  	html += '<tr><td style="padding-top:5px;font-weight:bold;" width="20%">Всего:</td><td width="20%"><b>'+round2(summ)+'</b></td><td width="20%"><b>'+round2(total_percents)+'</b></td><td width="20%"><b>'+round2(total_part)+'</b></td></tr>';
	  	html += "</table>";
	  	$('payments').innerHTML = html;
	  	
	} else $('payments').style.display='none';
}

function calculateSumm() {
	var type =0;
	var payment=0;
	var rate=0;
	var period=0;
	var summ = 0;
	if ($('type').options[$('type').selectedIndex].value==0) {
		$('show_type').innerHTML='Ануитетные платежи'; 
		type = 0;
	} else {
		$('show_type').innerHTML='Дифференциальные платежи';
		type = 1;
	}
	if ($('payment').value>0 && $('payment').value<999999999999) {
		$('show_payment').innerHTML=parseInt($('payment').value,10);
		payment = parseInt($('payment').value,10);
	} else {
		$('show_payment').innerHTML=0;
		payment = 0;
	}
	$('show_payment_div').style.display='block';
	$('show_summ_div').style.display='none';
	if ($('rate').value>0 && $('rate').value<=100) {
		$('show_rate').innerHTML=parseInt($('rate').value,10);
		rate = parseInt($('rate').value,10);
	} else {
		$('show_rate').innerHTML=0;
		rate = 0;
	}
	$('show_period').innerHTML=$('period').options[$('period').selectedIndex].value;
	period = $('period').options[$('period').selectedIndex].value;
	
	if (period > 0 && payment > 0 && rate > 0) {
		$('payments').style.display='block';
		$('payments_info').style.display='block';
		html = '<h4>Расчёт суммы кредита</h4><table width="100%" cellspacing="5" cellpadding="0"><thead><tr style="font-weight:bold;"><th>Период</th><th>Сумма кредита</th><th>Проценты</th></tr></thead>';

		var tyear = 0;
		for (var y=1;y<Number(period)+1;y++) {
			t = y*12;
			pay = payment;
			if (type==1) {
				mPercent = rate*0.01/12;
				summ = round2(pay * t / (1 + mPercent*t));
			} else if (type==0) {
				mPercent = rate*0.01/12;
			    summ = round2(pay/(mPercent/(1-(Math.pow((1+mPercent),(-t))))));
			}
			total_percents = 0;
			total_part = 0;
			annPart = summ*rate/12/100*Math.pow((1+rate/12/100),t)/(Math.pow((1+rate/12/100),t)-1);
			rest = summ;
			desPay = summ/t;
			var tyear = 0;
			for(i=1;i<t+1;i++) {
				switch (type) {
		      		case 1 :
		      			pay = desPay;
		        		percents = (rest/100*rate)/12;
		        		part = Number(pay+percents);
		        		rest = rest-pay;
		        	break;
		      		case 0 :
		        		percents = (rest/100*rate)/12;
		        		pay = annPart-percents;
		        		rest = rest-pay;
		        		part = annPart;
		        	break;
		    	}
		    	total_percents += percents;
		  	}
		  	html += '<tr><td width="20%"><span style="white-space:nowrap">'+y+'-й год</span></td><td width="20%">'+summ+'</td><td width="20%">'+round2(total_percents)+'</td></tr>';
		}
	  	html += "</table>";
	  	$('payments').innerHTML = html;
	  	
	} else $('payments').style.display='none';
}

function round2(value) {
	if (value>=1) {
  		var val = Math.round(value*Math.pow(10,2));
  		val=val<0 ? "" : val.toString();
  		val = val.substring(0,val.length-2)+"."+val.substring(val.length-2, val.length);
  		return val;
	} else return 0;
}