﻿function calculate_new2() {
    // Get the user's input from the form. Assume it is all valid.
    // Convert interest from a percentage to a decimal, and convert from
    // an annual rate to a monthly rate. Convert payment period in years
    // to the number of monthly payments.
	
	if(document.getElementById("downpayment").value == "" || document.getElementById("downpayment").value < 0){
		document.getElementById("downpayment").value = 0;
	}
	
    var principal = document.getElementById("principal").value - document.getElementById("downpayment").value;
    var interest = document.getElementById("interest").value / 100 / 12;
    var payments = document.getElementById("years").value * 12;
    var fee = round(document.getElementById("fee").value);
    var taxes = (principal * (document.getElementById("tax").value/100)) / 12;

    // Now compute the monthly payment figure, using esoteric math.
    var x = Math.pow(1 + interest, payments);
    var monthly = (principal*x*interest)/(x-1);

    // Check that the result is a finite number. If so, display the results
    if (!isNaN(monthly) && 
        (monthly != Number.POSITIVE_INFINITY) &&
        (monthly != Number.NEGATIVE_INFINITY)) {

        document.getElementById("payment").value = round(monthly);
        //document.getElementById("total").value = round(monthly * payments);
        //document.getElementById("totalinterest").value = 
            round((monthly * payments) - principal);
    }
    // Otherwise, the user's input was probably invalid, so don't
    // display anything.
    else {
        document.getElementById("payment").value = "";
        //document.getElementById("total").value = "";
        //document.getElementById("totalinterest").value = "";
    }
    if (!isNaN(taxes) && 
        (taxes != Number.POSITIVE_INFINITY) &&
        (taxes != Number.NEGATIVE_INFINITY)) {
        document.getElementById("monthly").value = round(monthly + taxes + fee);
        /*alert(monthly+" + "+taxes+" + "+fee+" = "+(monthly+taxes+fee));*/
    }
    else {
        document.getElementById("tax").value = "";
        document.getElementById("fee").value = "";
        document.getElementById("monthly").value = "";
    }
}

function calculate_new3() {
    // Get the user's input from the form. Assume it is all valid.
    // Convert interest from a percentage to a decimal, and convert from
    // an annual rate to a monthly rate. Convert payment period in years
    // to the number of monthly payments.
	
	if(document.getElementById("downpayment").value == "" || document.getElementById("downpayment").value < 0){
		document.getElementById("downpayment").value = 0;
	}
	
    var principal = document.getElementById("principal").value - document.getElementById("downpayment").value;
    var interest = document.getElementById("interest").value / 100 / 12;
    var payments = document.getElementById("years").value * 12;
    var fee = round(document.getElementById("fee").value);
    var taxes = (principal * (document.getElementById("tax").value/100)) / 12;

	if(principal == ""){
		alert("\"Price of The Home\" cannot be zero.");
		document.getElementById("principal").focus();
		return false;
	}
	if(interest == ""){
		alert("\"Annual Interest Rate\" cannot be zero.");
		document.getElementById("interest").focus();
		return false;
	}
	if(payments == ""){
		alert("\"Term of Loan in Years\" cannot be zero.");
		document.getElementById("years").focus();
		return false;
	}

    // Now compute the monthly payment figure, using esoteric math.
    var x = Math.pow(1 + interest, payments);
    var monthly = (principal*x*interest)/(x-1);

    // Check that the result is a finite number. If so, display the results
    if (!isNaN(monthly) && 
        (monthly != Number.POSITIVE_INFINITY) &&
        (monthly != Number.NEGATIVE_INFINITY)) {

        document.getElementById("payment").value = round(monthly);
        //document.getElementById("total").value = round(monthly * payments);
        //document.getElementById("totalinterest").value = 
            round((monthly * payments) - principal);
    }
    // Otherwise, the user's input was probably invalid, so don't
    // display anything.
    else {
        document.getElementById("payment").value = "";
        //document.getElementById("total").value = "";
        //document.getElementById("totalinterest").value = "";
    }
    if (!isNaN(taxes) && 
        (taxes != Number.POSITIVE_INFINITY) &&
        (taxes != Number.NEGATIVE_INFINITY)) {
        document.getElementById("monthly").value = round(monthly + taxes + fee);
        /*alert(monthly+" + "+taxes+" + "+fee+" = "+(monthly+taxes+fee));*/
    }
    else {
        document.getElementById("tax").value = "";
        document.getElementById("fee").value = "";
        document.getElementById("monthly").value = "";
    }
}

// This simple method rounds a number to two decimal places.
function round(x) {
  return Math.round(x*100)/100;
}