
function calcMonthlyLoanPayment () {

    var costCalcForm = document.getElementById("costCalcForm");
    var loanTerm = costCalcForm.loanTerm.value;
    var annualInterest = costCalcForm.annualInterest.value / 100;
    var monthlyInterest = annualInterest / 12;
    var principal = costCalcForm.principal.value;

    var monthlyPayment = Math.ceil((principal * monthlyInterest) / (1 - Math.pow((1 + monthlyInterest), -loanTerm)));
    return monthlyPayment;
}

function calcMonthlyFuel () {
    
    var costCalcForm = document.getElementById("costCalcForm");
    var usage = parseInt(costCalcForm.usage.value);
    var gas = parseFloat(costCalcForm.gas.value);
    var guzzle = parseFloat(costCalcForm.guzzle.value);
    
    var monthlyFuel = Math.ceil((gas * guzzle * usage) / 12);
    return monthlyFuel;
}
 
function calcMonthlyWear () {

    var costCalcForm = document.getElementById("costCalcForm");
    var usage = parseInt(costCalcForm.usage.value);
    var wear = parseFloat(costCalcForm.wear.value);
    
    var monthlyWear = Math.ceil((usage * wear) / 12);
    return monthlyWear;
}

function calcMonthlyInspections () {

    var costCalcForm = document.getElementById("costCalcForm");
    var usage = parseInt(costCalcForm.usage.value);
    var insp100hr = parseFloat(costCalcForm.insp100hr.value);
    var insp12mo = parseFloat(costCalcForm.insp12mo.value);
    var insp24mo = parseFloat(costCalcForm.insp24mo.value);
    
    var monthlyInspections = Math.ceil(
        (insp12mo / 12) + (insp24mo / 24) + (insp100hr * usage / 100));
    return monthlyInspections;
}

function calcInitialTotal () {

    var costCalcForm = document.getElementById("costCalcForm");
    var initialLoanPayment = parseFloat(document.getElementById("initialLoanPayment").innerHTML);
    var closing = parseFloat(costCalcForm.closing.value);
    
    var initialTotal = Math.ceil(initialLoanPayment + closing);
    return initialTotal;
}

function calcOverhaulCountdown () {

    var costCalcForm = document.getElementById("costCalcForm");
    var tach = parseInt(costCalcForm.tach.value);
    var usage = parseInt(costCalcForm.usage.value);
    var overhaulTach = parseInt(costCalcForm.overhaulTach.value);
    
    var overhaulCountdown = Math.floor(	(overhaulTach - tach) * 12 / (usage));
    return overhaulCountdown;
}

function calcMonthlyTotal () {

    var costCalcForm = document.getElementById("costCalcForm");
    var monthlyLoanPayment = parseFloat(document.getElementById("monthlyLoanPayment").innerHTML);
    var insurance = parseFloat(costCalcForm.insurance.value);
    var hangar = parseFloat(costCalcForm.hangar.value);
    var otherBase = parseFloat(costCalcForm.otherBase.value);
    var gps = parseFloat(costCalcForm.gps.value);
    var monthlyFuel = parseFloat(document.getElementById("monthlyFuel").innerHTML);
    var monthlyWear = parseFloat(document.getElementById("monthlyWear").innerHTML);
    
    var monthlyTotal = Math.ceil(
    	monthlyLoanPayment + insurance + hangar + otherBase + gps + monthlyFuel + monthlyWear);
    return monthlyTotal;
}

function calcMonthlyRental () {

    var costCalcForm = document.getElementById("costCalcForm");
    var usage = parseInt(costCalcForm.usage.value);
    var rental = parseFloat(costCalcForm.rental.value);
    var rentalPlusFuel = costCalcForm.rentalPlusFuel.checked;
    var monthlyFuel = parseFloat(document.getElementById("monthlyFuel").innerHTML)
    
    var monthlyRental = Math.ceil(rental * usage / 12);
    
    if (rentalPlusFuel) {
        monthlyRental += monthlyFuel;        
    }
    
    return monthlyRental;
}

function calc () {
    var costCalcForm = document.getElementById("costCalcForm");
    
    document.getElementById("initialLoanPayment").innerHTML = costCalcForm.price.value - costCalcForm.principal.value;
    document.getElementById("monthlyLoanPayment").innerHTML = calcMonthlyLoanPayment();
    document.getElementById("monthlyFuel").innerHTML = calcMonthlyFuel();
    document.getElementById("monthlyWear").innerHTML = calcMonthlyWear();
    document.getElementById("monthlyInspections").innerHTML = calcMonthlyInspections();
    document.getElementById("initialTotal").innerHTML = calcInitialTotal();
    document.getElementById("overhaul2").innerHTML = costCalcForm.overhaul.value;
    document.getElementById("overhaulCountdown").innerHTML = calcOverhaulCountdown();
    document.getElementById("monthlyTotal").innerHTML = calcMonthlyTotal();
    document.getElementById("monthlyRental").innerHTML = calcMonthlyRental();
}
