// validate a user entered number.
function checkNumber(input){
	// blank field reset to default value.
  if(input.value==''){
  	input.value=input.defaultValue;
  }else{
  	// remove any user added commas
  	input.value = parseFloat(input.value);
  	if(isNaN(input.value)){
  		input.value=input.defaultValue;
  		input.focus();
  	}else{
  		document.getElementById("loan").value=parseFloat(document.getElementById("price").value)-parseFloat(document.getElementById("down_payment").value);
  		calcMonthly();
  	}
  }
}
//-----------------------------
function checkTotal(input){
	input.value = parseFloat(input.value);
  input.value = parseFloat(input.value);
  if(isNaN(input.value))
  	input.value=0
  else{
  	if(input.value < 0)
  		input.value = 0;
  	else{
  		calcMonthly();
      //input.value = put_commas(input.value);
    }
  }
}
//-----------------------------
function calcMonthly(){
	var interest=parseFloat(document.getElementById("interest").value);
	var loan=parseFloat(document.getElementById("loan").value);
	var loanterm=parseFloat(document.getElementById("loanterm").value);
	
	if(isNaN(interest)||isNaN(loan)||isNaN(loanterm)){
		document.getElementById("monthly").value="";
	}else{
		if(interest>0){
			var ir=interest/1200;//100*12;
			var tmp=Math.pow((1+ir),loanterm)-1;
			var tmp=loan*ir*Math.pow((1+ir),loanterm)/tmp;
			document.getElementById("monthly").value=put_commas(Number(tmp).toFixed(2));
		}else{
			document.getElementById("monthly").value=put_commas(Number(loan/loanterm).toFixed(2));//Math.round((loan/loanterm)*100)/100;
		}
	}
}
// Verify the interest rate is a reasonable number, or set it to one.
function checkInterest(input) {
	input.value = parseFloat(input.value);
	if(isNaN(input.value)||input.value < 0 || input.value > 100){
		input.value =input.defaultValue;
  }
  calcMonthly();
}
//------------------------------------
function checkNumPeriods(input){
	input.value = parseFloat(input.value);
  if(isNaN(input.value)||input.value<=0)
  	input.value = "";
  else{
  	calcMonthly();
  }
}
//---------- Reset the forms to default values.
function clearForm(){
	var interest=document.getElementById("interest");
	document.getElementById("loan").value=0;
	var loanterm=document.getElementById("loanterm");
	document.getElementById("down_payment").value=0;
	document.getElementById("monthly").value=0;
	
	interest.value=interest.defaultValue;
	loanterm.value=loanterm.defaultValue;
 }
function selectField(field){
	field.select();
}
// Make a number a nice comma delimited number.
function put_commas(input) {
        var result, len;
        input += "";

        // Locate the decimal point if any.
        len = input.indexOf(".");
        if (len == -1) {
                len = input.length;
                result = "";
        } else {
                result = input.substring(len, input.length);
        }

        // 3 characters at a time through the integer portion.
        while (len > 3) {
                result = input.substring(len-3, len) + result;
                result = "," + result;
                len -= 3;
        }

        // Add any remaining characters.
        result = input.substring(0, len) + result;
        return result;
}