Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

<?php
/**
 * Plugin Name: Lease vs Buy Calculator
 * Description: A simple lease vs buy calculator.
 * Version: 1.0
 * Author: Your Name
 */

function lvb_calculator_shortcode() {
    ob_start();
    ?>
    <form id="lease-vs-buy-form">
        <h2>Lease vs Buy Calculator</h2>

        <h3>Lease Option</h3>
        <label for="lease-monthly-payment">Monthly Lease Payment ($):</label>
        <input type="number" id="lease-monthly-payment" required><br>

        <label for="lease-term">Lease Term (months):</label>
        <input type="number" id="lease-term" required><br>

        <label for="lease-down-payment">Down Payment ($):</label>
        <input type="number" id="lease-down-payment" required><br>

        <label for="lease-residual-value">Residual Value ($):</label>
        <input type="number" id="lease-residual-value" required><br>

        <h3>Buy Option</h3>
        <label for="buy-purchase-price">Purchase Price ($):</label>
        <input type="number" id="buy-purchase-price" required><br>

        <label for="buy-loan-term">Loan Term (months):</label>
        <input type="number" id="buy-loan-term" required><br>

        <label for="buy-loan-rate">Loan Interest Rate (%):</label>
        <input type="number" id="buy-loan-rate" required><br>

        <label for="buy-down-payment">Down Payment ($):</label>
        <input type="number" id="buy-down-payment" required><br>

        <label for="buy-resale-value">Resale Value ($):</label>
        <input type="number" id="buy-resale-value" required><br>

        <button type="submit">Calculate</button>
    </form>

    <div id="results">
        <h3>Results:</h3>
        <p id="lease-total-cost">Total Lease Cost: $0</p>
        <p id="buy-total-cost">Total Buy Cost: $0</p>
    </div>

    <script>
        document.getElementById('lease-vs-buy-form').addEventListener('submit', function(event) {
            event.preventDefault();

            // Lease Calculations
            var leaseMonthlyPayment = parseFloat(document.getElementById('lease-monthly-payment').value);
            var leaseTerm = parseInt(document.getElementById('lease-term').value);
            var leaseDownPayment = parseFloat(document.getElementById('lease-down-payment').value);
            var leaseResidualValue = parseFloat(document.getElementById('lease-residual-value').value);
            
            var leaseTotalPayments = leaseMonthlyPayment * leaseTerm;
            var leaseTotalCost = leaseTotalPayments + leaseDownPayment;
            var leaseFinalCost = leaseTotalCost + leaseResidualValue;

            // Buy Calculations
            var buyPurchasePrice = parseFloat(document.getElementById('buy-purchase-price').value);
            var buyLoanTerm = parseInt(document.getElementById('buy-loan-term').value);
            var buyLoanRate = parseFloat(document.getElementById('buy-loan-rate').value) / 100 / 12; // monthly rate
            var buyDownPayment = parseFloat(document.getElementById('buy-down-payment').value);
            var buyResaleValue = parseFloat(document.getElementById('buy-resale-value').value);
            
            var buyLoanAmount = buyPurchasePrice - buyDownPayment;
            var buyMonthlyPayment = (buyLoanAmount * buyLoanRate) / (1 - Math.pow(1 + buyLoanRate, -buyLoanTerm));
            var buyTotalCost = buyMonthlyPayment * buyLoanTerm + buyDownPayment;
            var buyFinalCost = buyTotalCost - buyResaleValue;

            // Display Results
            document.getElementById('lease-total-cost').innerText = "Total Lease Cost: $" + leaseFinalCost.toFixed(2);
            document.getElementById('buy-total-cost').innerText = "Total Buy Cost: $" + buyFinalCost.toFixed(2);
        });
    </script>
    <?php
    return ob_get_clean();
}

// Register the shortcode to use in pages or posts
add_shortcode('lease_vs_buy_calculator', 'lvb_calculator_shortcode');
?>

Comments

One response to “”

  1. A WordPress Commenter Avatar

    Hi, this is a comment.
    To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
    Commenter avatars come from Gravatar.

Leave a Reply

Your email address will not be published. Required fields are marked *

More posts