function doCreditCalc() {
	checkFormInline2();
	if (!errorfoundi2) {
		var la = parseFloat($("#price").val());
		la = la * (100 - $("#first").val()) / 100;
		var ir = parseFloat($("#parcent").val());
		ir = ir/100;
		var ly = parseInt($("#years").val());

		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;
				}
			}
		}

		$("#monthly").val(formatAsMoney(dbSumPmnt));
	}
	else {
		$("#monthly").val("?");
	}
}

function checkFormInline2() {
	errorfoundi2 = false; 

	var la = $("#price").val();
	var ir = $("#parcent").val();
	var ly = $("#years").val();
	var am = $("#mounthly").val();
	var fp = $("#first").val();
	cv = "loanamount";
	ls = "loanscheme1";

	if ((fp < 0) || (fp > 99)) {
		/*$("#first").css("border-color", "#ff0000");*/
		errorfoundi2 = true;
	}
	else {
		/*$("#first").css("border-color", "");*/
	}
		
	if (((la!=null && la!="") && la.search(/^([1-9]{1}[0-9]{0,8}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/)==-1) || (la==null || la=="")) {
		/*$("#price").css("border-color", "#ff0000");*/
		errorfoundi2 = true;
	}
	else {
		/*$("#price").css("border-color", "");*/
	}

	if (((ir!=null && ir!="") && ir.search(/^([1-9]{1}[0-9]{0,1}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/)==-1) || (ir==null || ir=="") || parseFloat(ir)<=0 || parseFloat(ir)>=100) {
		/*$("#parcent").css("border-color", "#ff0000");*/
		errorfoundi2 = true;
	}
	else {
		/*$("#parcent").css("border-color", "");*/
	}

	if (((ly!=null && ly!="") && ly.search(/^[1-9]{1}[0-9]{0,1}$/)==-1) || (ly==null || ly=="")) {
		/*$("#years").css("border-color", "#ff0000");*/
		errorfoundi2 = true;
	}
	else {
		/*$("#years").css("border-color", "");*/
	}

	return !errorfoundi2;
}

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 formatAsMoney(mnt) {
	mnt -= 0;
	mnt = (Math.round(mnt*100))/100;
	return (mnt == Math.floor(mnt)) ? mnt + ".00" : ( (mnt*10 == Math.floor(mnt*10)) ? mnt + "0" : mnt);
}

function round(number,X) {
	X = (!X ? 2 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}


