/* How much will my mortgage cost */

function Floor(number)
{
  return Math.floor(number*Math.pow(10,2) + 0.5)/Math.pow(10,2);
}

function doCalc()
{
	
  var PIDisplay = ''
  var IODisplay = ''
  var mi = document.temps.IR.value / 1200;
  var mYi = document.temps.IR.value / 100
  var base = 1;
  var mbase = 1 + mi;
  for (i=0; i<document.temps.YR.value * 12; i++)
  {
    base = base * mbase
  }
  var PIDisplay = Floor((document.temps.LA.value - document.temps.DP.value) * mi / ( 1 - (1/base)))
  var IODisplay = Floor((document.temps.LA.value - document.temps.DP.value) * mYi / 12)
  
  
  document.temps.PI.value = PIDisplay.toFixed(2)
  document.temps.IO.value = IODisplay.toFixed(2)
  
}

/* Mortgage how much can I borrow */

function put_commas(input) {

	var result, len;

    input += "";
	len = input.indexOf(".");
	if(len == -1) {
		len = input.length;
		result = "";
	}
	else {
		result = input.substring(len, input.length);
	}

	while(len > 3) {
		result = input.substring(len-3, len) + result;		
		result = "," + result;		
		len -= 3;
	} 

	result = input.substring(0, len) + result;
	return result;

}

function strip_commas(input) {

        var newnum;
        var ch;

        newnum ="";
        for(var i=0; i<input.length; i++) {
                ch = input.charAt(i);
                if(ch != ",") {
                        newnum += ch;
                }
        }
        return parseFloat(newnum);
}

function checkNum(input) {

	var oldnum;
	var newnum;
	var ch;

	oldnum = input.value;
	newnum ="";
	for(var i=0; i<oldnum.length; i++) {
		ch = oldnum.charAt(i);
		if(ch != ",") {
			newnum += ch;
		}
	}

	return parseFloat(newnum);
}

function checkNumPeriods(input) {

	input.value = checkNum(input);
	input.value = parseInt(input.value);
	if(input.value == null ||          
         input.value.length == 0 ||
	   input.value == "NaN") {
		input.value = "";
	}
	else {
		if(parseFloat(input.value) <= 0) {
			input.value = "";
		}
	}
	calcTotal(input.form);
	input.value = put_commas(input.value);
}

function checkPayment(input) {

	input.value = checkNum(input);
	if(input.value == null ||          
         input.value.length == 0 ||
	   input.value == "NaN") {
		input.value = "";
	}
	else {
		if(parseFloat(input.value) < 0) {
			input.value = "";
		}
	}

	calcTotal(input.form);
	input.value = put_commas(input.value);
}

function checkInterest(input) {

	input.value = parseFloat(input.value);
	if(input.value == null ||          
         input.value.length == 0 ||
	   input.value == "NaN") {
		input.value = "";
	}
	else {
		if(parseFloat(input.value) <= 0 || 
		   parseFloat(input.value) > 100.0) {
			input.value = "";
		}
	}
	calcTotal(input.form);
}



function calcTotal(input,targetId1) {

	if(input.interest.value == "" || 
	   input.nper.value == "" ||
	   input.pmt.value == "") {
		input.total.value = "";
	}
	else {
		i = strip_commas(input.interest.value) / 100;
		i = i / 12;
		n = strip_commas(input.nper.value) * 12;
		tmp = (1/i) * (1 - Math.pow(1/(1+i), n));
		tmp = strip_commas(input.pmt.value) * tmp;
		tmp = Math.round(tmp*100) / 100;
		tmp = tmp.toFixed(2)
		input.total.value = put_commas(tmp);
		if(input.total.value == null ||          
	         input.total.value.length == 0 ||
		   input.total.value == "NaN") {
			input.total.value = "";
		}
	}
  target1 = document.getElementById( targetId1 );
		
  	if (target1.style.display == "none"){
  			target1.style.display = "";
  	}
}