function chType()
{
	if(form.calcvalue[0].checked)
	{
		form["LoanAmount"].readOnly=true;
		form["AmountMonthly"].readOnly=false;
        //form["AmountMonthly"].className = 'inpBorder';
        //form["LoanAmount"].className = 'inpNoBorder';
		form.calcvalue[0].checked = true;
	} else {
		form["LoanAmount"].readOnly=false;
		form["AmountMonthly"].readOnly=true;
        //form["AmountMonthly"].className = 'inpNoBorder';
        //form["LoanAmount"].className = 'inpBorder';
        form.calcvalue[1].checked = true;
	}
}
function countLeftSum(iFirst, iLast, dbCreditSum, dbTotalPmnt, dbMonthRate) 
{
	for(var i=iFirst;i<=iLast;i++) 
	{
		dbCreditSum = dbCreditSum - round(dbTotalPmnt - round(dbCreditSum * dbMonthRate, 2), 2);
	}
	return dbCreditSum;
}

function validateForm()
{
	document.getElementById('btnAprekinat').disabled = true;
	error = 0;
	filled = 0;
	chType();
	la = form.LoanAmount.value;
	if(!la)la = '0';
	if(!(parseFloat( la ) == la))
	{
		//document.getElementById('TD_LoanAmount').className = 'error';		
		error =1;
	}
	else
	{
		//document.getElementById('TD_LoanAmount').className = 'field';
		if(la == 0) filled += 1;
	}


	ir = form.InterestRate.value;
	if(ir == '')ir = '0';
	if(!(parseFloat( ir ) == ir))
	{
		//document.getElementById('TD_InterestRate').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('TD_InterestRate').className = 'field';
		if(ir == 0) filled += 1;
	}

	ly = form.LoanYears.value;
	if(ly == '')ly = '0';
	if(!(parseInt( ly ) == ly))
	{
		//document.getElementById('TD_LoanYears').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('TD_LoanYears').className = 'field';
		if(ly == 0)filled += 1;
	}

	am = form.AmountMonthly.value;
	if(am == '')am = '0';
	if(!(parseFloat( am ) == am))
	{
		//document.getElementById('TD_AmountMonthly').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('TD_AmountMonthly').className = 'field';
		if(am == 0) filled += 1;
	}

	if(error)
		return false;
	if(!((parseInt(ly)>0)&&(parseFloat(ir)>0)&&((parseFloat(am)>0)||(parseFloat(la)>0))))
		return false;

	doCalc(form);
	document.getElementById('btnAprekinat').disabled = false;		
}
function calc()
{
	error = 0;
	// Adults
	mc = document.getElementById('txtAdults').value;
	if(mc == '')mc = '0';

	if(!(parseInt( mc ) == mc) )
	{
		//document.getElementById('tdAdults').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('tdAdults').className = 'field';
	}
	// Childs
	cc = document.getElementById('txtChilds').value;
	if(cc == '')cc = '0';
	if(!(parseInt( cc ) == cc) )
	{
		//document.getElementById('tdChilds').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('tdChilds').className = 'field';
	}
	// Income 1
	si = document.getElementById('txtIncome1').value;
	if(si == '')si = '0';

	if(!(parseFloat( si ) == si))
	{
		//document.getElementById('tdIncome1').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('tdIncome1').className = 'field';
	}
	// Income 2
	oi = document.getElementById('txtIncome2').value;
	if(oi == '')oi = '0';

	if(!(parseFloat( oi ) == oi) )
	{
		//document.getElementById('tdIncome2').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('tdIncome2').className = 'field';
	}
	// other Income 
	lo = document.getElementById('txtCitas').value;
	if(lo== '')lo = '0';

	if(!(parseFloat( lo ) == lo ))
	{
		//document.getElementById('tdCitas').className = 'error';
		error =1;
	}
	else
	{
		//document.getElementById('tdCitas').className = 'field';
	}
	if(error)
		return;

		mc = Math.round(mc*100)/100;
		cc = Math.round(cc*100)/100;
		si = Math.round(si*100)/100;
		oi = Math.round(oi*100)/100;
		lo = Math.round(lo*100)/100;

		ti = si + oi;
		solvency = 0;
		if(ti<=600) 
		{
			living_wage = mc * 90 + cc * 70;
			if(living_wage<170) living_wage=170;
			solvency1 = ti - living_wage - lo;
			solvency2 = ti * 0.5 - lo;
	}
	else if(ti>600 && ti<=1000)
	{
		living_wage = mc * ti * 0.17 + cc * 80;
		if(living_wage<170) living_wage=170;
		solvency1 = ti - living_wage - lo;
		solvency2 = ti * 0.55 - lo;
	}
	else if(ti>1000 && ti<=1800) 
	{
		living_wage = mc * ti * 0.17 + cc * ti * 0.085;
		if(living_wage<170) living_wage=170;
		solvency1 = ti - living_wage - lo;
		solvency2 = ti * 0.6 - lo;
	} 
	else
	{
		living_wage = mc * ti * 0.17 + cc *  ti * 0.085;
		if(living_wage < 170) living_wage=170;
		solvency1 = ti - living_wage - lo;
		solvency2 = ti * 0.65 - lo;			
	}
	if(solvency1 < solvency2)
	{
		solvency = solvency1;
	}
	else
	{
		solvency = solvency2;
	}

	if(solvency<0)solvency=0;
	solvency = round(solvency);
	document.getElementById('rezSpan').innerHTML = solvency;
}
function round(number,X) {
	X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}	
function doCalc(form) 
{
	document.getElementById('btnAprekinat').disabled = false;
	errorfoundi2 = false;

	if(form.elements["calcvalue"][1].checked) 
	{
		if(!errorfoundi2) 
		{
			if(form.elements["loanscheme"][0].checked) 
			{
				var la = parseFloat(form.elements["LoanAmount"].value);
				var ir = parseFloat(form.elements["InterestRate"].value);
				ir = ir/100;
				var ly = parseInt(form.elements["LoanYears"].value);

				monthCount = (ly*12);
				dbMonthRate = ir/12;
				dbSum = la;
				minPaymnt = round((la/monthCount), 2);
				minAtl = countLeftSum(1, monthCount, la, minPaymnt, dbMonthRate);
				if(ir!=0) 
				{   
                	maxPaymnt = 2*la/monthCount;
                	dbSum = la;
                	maxAtl = countLeftSum(1, monthCount, la, maxPaymnt, dbMonthRate);
                	dbSumPmnt = round((minPaymnt-(minAtl*((maxPaymnt-minPaymnt)/(maxAtl - minAtl)))), 2);
            	} 
            	else 
            	{
    				dbSumPmnt = minPaymnt;
				}

  				dbSum = countLeftSum(1, monthCount, la, dbSumPmnt, dbMonthRate);
				bExit = false;
				if(dbSum!=0) 
				{
   					while(!bExit) 
   					{
        				if(dbSum>0) 
        				{
            				dbTemp = round(dbSumPmnt+0.01, 2);
        				} 
        				else 
        				{
            					dbTemp = round(dbSumPmnt-0.01, 2);
        				}
        				dbTempLeft = countLeftSum(1, monthCount, la, dbTemp, dbMonthRate);
       
       					if((dbTempLeft>=0 && dbSum>=0) || (dbTempLeft<0 && dbSum<0)) 
       					{
							dbSumPmnt = dbTemp;
							dbSum = dbTempLeft;
        				} 
        				else 
        				{
            				if(Math.abs(dbSum) > Math.abs(dbTempLeft)) 
            				{
                				dbSumPmnt = dbTemp;
            				}
            				bExit = true;
        				}
    				}
				}

					form.elements["AmountMonthly"].value = round( dbSumPmnt, 2 );
   				document.getElementById('btnAprekinat').disabled = false;
			} 
			else 
			{
				var la = parseFloat(form.elements["LoanAmount"].value);
    			var ir = parseFloat(form.elements["InterestRate"].value);
    			ir = ir/100;
				var ly = parseInt(form.elements["LoanYears"].value);

        		vPaymentCount = (ly*12);
            	dbMonthRate = ir/12;
            	dbSum = la;

            	viplati = round(la/vPaymentCount, 2);

            	firstPmnt = round(viplati + round(dbSum * dbMonthRate, 2), 2);
            	form.elements["AmountMonthly"].value = round ( firstPmnt, 2);
    			document.getElementById('btnAprekinat').disabled = false;
        	}
		} 
		else 
		{
			form.elements["AmountMonthly"].value = "?";
			}
	} 
	else if(form.elements["calcvalue"][0].checked) 
	{
		if(!errorfoundi2) 
		{
			if(form.elements["loanscheme"][0].checked) 
			{
				var am = parseFloat(form.elements["AmountMonthly"].value);
				var ir = parseFloat(form.elements["InterestRate"].value);
				var ly = parseInt(form.elements["LoanYears"].value);
    			var period = ly*12;
       			form.elements["LoanAmount"].value = round( am/((ir/1200)/(1-Math.pow(1+ir/1200, period * -1))), 2 );
//              	  			form.elements["LoanAmount"].value = formatNum(am/((ir/1200)/(1-Math.pow(1+ir/1200, period * -1))));
			} 
			else 
			{
				var am = parseFloat(form.elements["AmountMonthly"].value);
    			var ir = parseFloat(form.elements["InterestRate"].value);
    			var ly = parseInt(form.elements["LoanYears"].value);
				var period = ly*12;
	                form.elements["LoanAmount"].value = round( am*period/(1+ir*period/1200) , 2 );
   			}
			document.getElementById('btnAprekinat').disabled = false;
		} 
		else 
		{
			form.elements["LoanAmount"].value = "?";
		}
	}
}	

