﻿var exchangeRate = usdNBU;
var exchangeRateCom = exchangeRate*1.02;
var currencySign = '$';
var bankCommission = 3;
var caskoRate = 6;
var osago = 373;
var accidentRate = 1;
var monthes = new Array('январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь');
var numbers = new Array('первый','второй','третий','четвертый','пятый','шестой','седьмой','восьмой','девятый','десятый');

function IsOldIE() {
	if( -1 == navigator.userAgent.indexOf("MSIE 7.0") ) return false;
	else return true;
}

function GetTRShowStyle() {
	var result = "table-row";
	if ( IsOldIE() ) return result = "block";
	return result;
}

function checkCredit() {

	var percentage =  document.getElementById('percentage').value.replace(',','.').replace('%','');
	var initialPercent = document.getElementById('initialPercent').value.replace(',','.');
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');
	bankCommission = document.getElementById('commisionInput').value.replace(',','.');
	var priceUAH = priceUSD*exchangeRateCom;
	var engineSize = window.document.getElementById("engineSize").value;
	var years = document.getElementById('years').value;
		
	if ( percentage > 0 && priceUSD > 0 && years > 0 && bankCommission >0) {
		return true;
	} else {
		alert('Вы не заполнили все необходимые поля');
		return false;
	}
}	

function calcCredit() {

	var percentage =  document.getElementById('percentage').value.replace(',','.').replace('%','');
	var initialPercent = document.getElementById('initialPercent').value.replace(',','.');
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');
	bankCommission = document.getElementById('commisionInput').value.replace(',','.');
	var priceUAH = priceUSD*exchangeRateCom;
	var engineSize = window.document.getElementById("engineSize").value;
	var years = document.getElementById('years').value;
		
	if ( percentage > 0 && priceUSD > 0 && years > 0 && bankCommission >0)
	{

		var resultsDiv = document.getElementById('results');
		resultsDiv.style.display='block';
		
		
		document.getElementById('initialMoneyUAH').innerHTML = Round2(initialPercent*priceUAH/100);
		
		var startRestUSD = priceUSD*(1-initialPercent/100);
		
		//Банковская комисия
		document.getElementById('bankCommission').innerHTML = bankCommission;
		var bankCommissionUAH = startRestUSD*exchangeRate*bankCommission/100;
		document.getElementById('bankCommissionUAH').innerHTML = Round2(bankCommissionUAH);
		
		//КАСКО
		document.getElementById('caskoRate').innerHTML = caskoRate;
		var caskoRateUAH = caskoRate*priceUAH/100;
		document.getElementById('caskoRateUAH').innerHTML = Round2(caskoRateUAH);
		
		//ОСАГО
		//document.getElementById('osago').innerHTML = osago;
		
		var osago = 0;
		engineSize = new Number( engineSize);
		if ( engineSize < 80 ) osago = 373;
		else if ( engineSize < 200 ) osago = 493;
		else if ( engineSize < 750 ) osago = 730;
		else osago = 740;
		document.getElementById('engineSizeUAH').innerHTML = osago;
		
		//НС
		/*
		document.getElementById('accidentRate').innerHTML = accidentRate;
		var accidentRateUAH = accidentRate*startRestUSD/100;
		document.getElementById('accidentRateUAH').innerHTML = Round2(accidentRateUAH);
	   */
		//МРЭО
		//var mreo = 1440.00+95.54+114.37+120.00+50.00+90.00+96.80+64.05+560.00+0.03*priceUAH/1.2;
		
		var mreo = (new Number(engineSize) + 919.05 + 0.03* priceUAH/1.2 )*1.01+1100;
		document.getElementById('mreo').innerHTML = Round2(mreo);
		
	
		//Доп. затраты
		var additions = priceUAH*0.001+70+500+300;
		document.getElementById('additions').innerHTML = Round2(additions);
		
		//Результаты
		var resultUAH = initialPercent*priceUAH/100 + bankCommissionUAH + caskoRateUAH +  mreo + additions + osago+engineSize;
		document.getElementById('resultUAH').innerHTML = Round2(resultUAH);
		if ( exchangeRate == 1 ) {
			document.getElementById('resultUSD').innerHTML = '&nbsp;';
		} else {
			document.getElementById('resultUSD').innerHTML = currencySign +' '+ Round2( resultUAH/exchangeRate );
		}
		
		
		document.getElementById('resultsFull').innerHTML = '';
	} else {
		alert('Вы не заполнили все необходимые поля');
	}
}

function calcFull() {
	var resultsDiv = document.getElementById('resultsFull');

	var percentage = document.getElementById('percentage').value.replace(',','.').replace('%','');
	var initialPercent = document.getElementById('initialPercent').value.replace(',','.');
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');
	var years = document.getElementById('years').value;
	var priceUAH = priceUSD*exchangeRateCom;
	var startRestUSD = priceUSD*(1-initialPercent/100);
	
	resultsDiv.innerHTML = '';
	var results = '<table width="100%" border="1" id="monthlyCalc">';
	results += '<tr><td colspan="6" style="text-align:left" class="calcblue">Таблица рассчета ежемесячных платежей</td></tr>';
		results += '<tr bgcolor="#FFFFFF">';
		results += '<td class="calcblue">Период</td>';
		results += '<td class="calcblue">Остаток суммы по кредиту</td>';
		results += '<td class="calcblue">Погашение кредита</td>';
		results += '<td class="calcblue">%</td>';
		results += '<td class="calcblue">ИТОГО (классика) в месяц</td>';
		results += '<td class="calcblue">ИТОГО (ануитет) в месяц</td>';
		results += '</tr>';
	var currentUSD = startRestUSD;
	var PMT = Math.ceil(calculate_payment(startRestUSD,percentage/1200,years*12) );
	for ( var i=1; i<=years; i++ ) {
		var yBody = 0;
		var yPercentage = 0;
		for ( var m=1; m<=12; m++ ) {
			var mBody = startRestUSD/(years*12);
			var mPercentage = currentUSD*percentage/1200;
			var mTotal = mBody + mPercentage;
			results += '<tr><td>'+monthes[m-1]+'</td>';
			results += '<td>'+Round2(currentUSD)+'</td>';
			results += '<td>'+Round2(mBody)+'</td>';
			results += '<td>'+Round2(mPercentage)+'</td>';
			results += '<td>'+Round2(mTotal)+'</td>';
			results += '<td>'+PMT+'</td>';
			results += '</tr>';
			
			currentUSD -= mBody;
			yBody +=mBody;
			yPercentage += mPercentage;
		}
		
		if ( i>10 ) {
			results += '<tr bgcolor="#FFFFFF"><td colspan="3"  class="calcblue" style="text-align:left">Итог за '+i+'-й год</td>';
		} else {
			results += '<tr bgcolor="#FFFFFF"><td colspan="3"  class="calcblue" style="text-align:left">Итог за '+numbers[i-1]+' год</td>';
		}
		results += '<td class="calcblue">'+Round2(yPercentage)+' '+ currencySign +'</td><td class="calcblue">'+Round2(yPercentage+yBody)+' '+ currencySign+'</td><td class="calcblue">'+(PMT*12)+' '+ currencySign+'</td>';
		results += '</tr>';
	}
	
	results += '</table>'
	resultsDiv.innerHTML = results;
}

function calculate_payment(PV, IR, NP) {
  return PMT = (PV * IR) / (1 - Math.pow(1 + IR, -NP))
  
}


function Round2(value) {
	return Math.round(value*100)/100;
}

function recalcPrice() {
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');
	document.getElementById('priceUAH').value = Round2(priceUSD * exchangeRateCom);
	recalcInitial();
}


function recalcInitial() {
	var initialPercent = document.getElementById('initialPercent').value.replace(',','.');
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');	
	document.getElementById('initialMoney').value = Round2(initialPercent*priceUSD/100);
}


function recalcInitialPercent() {
	var initialMoney = document.getElementById('initialMoney').value.replace(',','.');
	var priceUSD = document.getElementById('priceUSD').value.replace(',','.');
	document.getElementById('initialPercent').value = Round2(initialMoney*100/priceUSD);
}

function CurrencyChange() {
	var currency = document.getElementById('currency').value;
	var currencySignSpan  = document.getElementById('currencySign');
	var usdTR = document.getElementById('usdTR');
	var eurTR = document.getElementById('eurTR');
	usdTR.style.display='none';
	eurTR.style.display='none';
	document.getElementById('priceUAHTR').style.display = GetTRShowStyle();
	//alert(document.getElementById('priceUAHTR').style.display);
	
	if ( currency == 'USD') {
		currencySign = '$';
		usdTR.style.display=GetTRShowStyle();
		RateChanged(document.getElementById('USDRate') );
	} else if ( currency == 'EUR') { 
		currencySign = 'EUR';
		eurTR.style.display=GetTRShowStyle();
		RateChanged(document.getElementById('EURRate') );
	} else if ( currency == 'UAH') {
		document.getElementById('priceUAHTR').style.display = 'none';
		currencySign = 'грн';
		exchangeRate = 1;
		exchangeRateCom = 1;
	}
	
	currencySignSpan.innerHTML = currencySign;
}

function RateChanged(rateField) {
	exchangeRate = new Number( rateField.value);
	exchangeRateCom = exchangeRate * 1.02;
	
	recalcPrice();	
}

function AddPersentSign(field) {
	field.value = field.value + '%';
}