var dy = 1;
var count = 0;
timeOut = 0;

function scrollWin() {
	if(count <= dy) {
		window.scrollBy(0,0);
		timeOut = setTimeout("scrollWin();", 5);	
		count++;
		//document.getElementById('txtBoxMonthlyPayment').value = timeOut;
	}
	else if(count <= 5) {
		timeOut = setTimeout("scrollWin();", 5);
		count++;
	}
	else {
		//document.getElementById('monthlyPayments').style.display = 'inline';	
		//document.getElementById('downArrow').style.display = 'inline';
	}
}

var timer;

function stopCount() {
	clearTimeout(timer);
}


var n = 0;
var btnPressed = false;

function getPayments() {
	
	//if(count <= dy) {
		//scrollWin();
	//}
	
	var err = false;
	
	var p = document.form1.amount.value;
	p = p.replace(/\$/g,"");
	p = p.replace(/,/g,"");
	p = p * 1;
	
	var i = document.form1.rate.value;
		
	//if(n != document.form1.payments.value*12) {
	//	document.getElementById('payments').blur();
	//}
	//else if(!btnPressed) {
	//	err = true;
	//	stopCount();		
	//}
	
	n = document.form1.payments.value;	
	
	if(!validNumber(p)) { 
		alert("The Principal Balance must only contain a monitory value."); 
		return false; 
	}	
	if(!p > 0) { 
		alert("Please enter your Principal Balance."); 
		return false; 
	}
	if(!validNumber(i)) { 
		alert("Please enter a numeric Interest Rate."); 
		return false; 
	}
	if(!i > 0) { 
		alert("Please enter an Interest Rate."); 
		return false; 
	}
	if(n == "" && document.form1.submitBtn.value == '') {  
		return false; 	
	}
	
	//document.write(btnPressed);
	
	if(!n > 0 && !btnPressed) { 
		return false; 
	}		

	if(!validNumber(n) || !n > 0) { 
		alert("Please enter a numeric Repayment Period."); 
		return false; 
	}		
	if(n > 10 && p < 30000) { 
		document.form1.payments.value = '';
		err = true;
		stopCount();
		alert("The Repayment Period must be 10 years or less when your Principal Balance is less than $30,000."); 		
		//return false; 
	}		

	if(n > 25 && p >= 30000) { 
		document.form1.payments.value = '';
		err = true;
		stopCount();
		alert("The Repayment Period must be 25 years or less when your Principal Balance is $30,000 or more."); 		
		//return false; 
	}
	
	btnPressed = false;
	document.form1.amount.value = formatNumber(p,2,true);
	
	p = p * 1;
	
	i = i * .01;
	n = n * 1;
	
	var strResult = "";
	strResult = "<table class='tblRight' width='375' border=0><tr><td><b>Month" + "</td><td><b>Balance" + "</td><td><b>Interest" + "</td><td><b>Principal" + "</td><td><b>Payment</b>" + "</td></tr>";
	i = i/12;
	var top;
	var bot;
	var payment;
	var months;
	
	var temp1 = "";
	
	//if(p <= 4400) {
	//	payment = 50;
	//}
	//else {
	/*	n = n + 1;
		do {
			n = n - 1;
			temp1 = temp1 + n + ",";
			top = (p*i);
			bot = 1-(Math.pow(1+i,(n*-12)));
			payment = top/bot;
		}
		while (payment < 50 && n > 1 && n <= 10)
		
		alert(temp1);
	//}
	
	*/
	
	
		top = (p*i);
		bot = 1-(Math.pow(1+i,(n*-12)));
		payment = top/bot
		

	if(payment < 50) { 
		//alert("Loan payments must be at least $50/month. Your Principal Balance \nis too low to meet the minimum payment."); 
		//return false; 
		
		payment = 50;
	}
	
	var strMinimum = "Loan payments must be at least $50/month. Your loan period has \nbeen reduced to " + n + " year(s) in order to meet this minimum.";

	//(n != document.form1.payments.value) { 
		//document.getElementById('payments').value = n;
		//alert(strMinimum); 
	//}

	//document.write(payment + "<br>");
	//document.write(n);

	var interest;
	var principle;
	var pad = "";
	
	n = n * 12;

	//for(x=1; x<=n; x++) {
	for(x=1; p > 1; x++) {
		interest = p*i;
		principle = payment - interest;
		pad = "";
		if(x < 100) {pad = "  ";}
		if(x < 10) {pad = "     ";}
		strResult = strResult + "<tr><td>" + x;
		strResult = strResult +"</td><td>"+ formatNumber(p,2,true);
		strResult = strResult +"</td><td>"+ formatNumber(interest,2,true);
		strResult = strResult +"</td><td>"+ formatNumber(payment - interest,2,true);
		strResult = strResult +"</td><td>"+ formatNumber(payment,2,true);
		strResult = strResult + "</td></tr>";
		p = p + interest - payment;
		
		}
	x = x - 1;	
	strResult = strResult + "</table>";

	//document.getElementById('payments').value = formatRound(x / 12, 1);
	
	var intYrs = formatRound(x / 12, 1);
	
	document.getElementById('monthlyPayments').style.display = 'none';
	document.getElementById('filler').style.display = 'inline';
	
	if(!err) {
		timer = setTimeout("document.getElementById('monthlyPayments').style.display = 'inline';document.getElementById('filler').style.display = 'none';", 500);
	}
	
	document.getElementById('monthlyPayments').innerHTML = "$" + formatNumber(payment,2,true) + "* (" + x + " payments over " + intYrs + " years)";
	
	
	
	//document.getElementById('txtBoxMonthlyPayment').value = "$" + formatNumber(payment,2,true) + "* (" + x + " payments over " + intYrs + " years)";
	
	document.getElementById('resultText').className = "bigType";
	
	
	
	//document.getElementById('downArrow').src = 'images/downArrowAnimated.gif';
	//document.getElementById('downArrow2').src = 'images/downArrowAnimated.gif';

	//document.getElementById('mainFrm').style.visibility = 'visible';
	//document.getElementById('mainFrm').style.display = 'inline';
	//document.getElementById('mainFrm').innerHTML = strResult;

}

function formatRound(number,precision) {if (precision==null) precision = 2;
	if (precision==0) return Math.round(number);
	lnFactor = Math.floor(Math.pow(10,precision));
	if (precision<0) return Math.round(number/lnFactor)*lnFactor;
	if (precision>0) return Math.round(number*lnFactor)/lnFactor;
}

function validNumber(number) {
	//var checknum = parseFloat(number);
	var checknum = number;
	if (isNaN(checknum)) return false;
	return true;
	}

function formatNumber(number,precision,commas) {
	if(precision==null) precision = 2;
	number = formatRound(number,precision);
	var llSign = number<0;
	number = Math.abs(number);
	var ln = precision+1;
	var lc = "";
	number = Math.floor(number*Math.pow(10,precision));
	while (((ln--)>0) || (number>0)) {
		lc = (number%10)+lc;
		number = Math.floor(number/10);
		if (ln==1) lc = "."+lc;
	}
	
	if (llSign) lc = "-"+lc;
	var lc2 = "";
	if (commas) {
		var lc3 = lc;
		ln = lc.length;
		if (lc.indexOf(".")!=-1) {
			lc2 = lc.substring(lc.indexOf("."),ln);
			lc3 = lc.substring(0,lc.indexOf("."));
	}
	ln = lc3.length;
	var lnCount = 0;
	while (ln>0) {
		lnCount++;
		if (lnCount==4) {
			lc2 = ","+lc2;
			lnCount = 1;
		}
		lc2 = lc3.substring(ln-1,ln)+lc2;
		ln--;
		}
	}
	
	else lc2 = lc;
	return lc2
}
