Blog

  • 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');
    ?>