Loan EMI Code

 <!DOCTYPE html>

<html lang="en" dir="ltr">

<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Loan Schedule Generator</title>

  <style>

    body {

      font-family: 'Segoe UI', sans-serif;

      background-color: #f4f4f4;

      margin: 0;

      padding: 20px;

    }

    h2 {

      text-align: center;

      color: white;

      background-color: #007bff;

      padding: 15px;

      border-radius: 8px;

    }

    .container {

      max-width: 800px;

      margin: auto;

      background: #fff;

      padding: 20px;

      border-radius: 10px;

      box-shadow: 0 0 10px rgba(0,0,0,0.1);

    }

    .input-group {

      display: flex;

      gap: 10px;

      margin-bottom: 20px;

    }

    .input-group input {

      flex: 1;

      padding: 10px;

      font-size: 16px;

      border: 1px solid #ccc;

      border-radius: 5px;

    }

    .button {

      background-color: #28a745;

      color: white;

      border: none;

      padding: 10px 20px;

      font-size: 16px;

      cursor: pointer;

      border-radius: 5px;

    }

    .button:hover {

      background-color: #218838;

    }

    table {

      width: 100%;

      border-collapse: collapse;

      margin-top: 20px;

    }

    th, td {

      border: 1px solid #ddd;

      padding: 8px;

      text-align: center;

    }

    th {

      background-color: #dc3545;

      color: white;

    }

    .summary-boxes {

      display: flex;

      justify-content: space-between;

      margin-top: 20px;

      gap: 10px;

      flex-wrap: wrap;

    }

    .box {

      flex: 1 1 45%;

      background: #f8f9fa;

      padding: 15px;

      border-radius: 8px;

      text-align: center;

      font-weight: bold;

      box-shadow: 0 0 5px rgba(0,0,0,0.05);

    }

    .ad-section {

      margin: 20px 0;

      padding: 15px;

      background: #e2e3e5;

      text-align: center;

      border-radius: 8px;

    }

  </style>

</head>

<body>

  <div class="container">

    <h2>Loan Payment Schedule Generator</h2>


    <div class="input-group">

      <input type="number" id="loanAmount" placeholder="Enter Loan Amount (PKR)">

      <input type="number" id="loanYears" placeholder="Enter Loan Period (Years)">

      <button class="button" onclick="generateSchedule()">Calculate</button>

    </div>


    <div class="ad-section">AdSense Ad Placeholder</div>


    <div class="summary-boxes" id="summary"></div>

    <table id="scheduleTable"></table>


    <div class="ad-section">AdMob Ad Placeholder</div>

  </div>


  <script>

    function generateSchedule() {

      const amount = parseFloat(document.getElementById('loanAmount').value);

      const years = parseInt(document.getElementById('loanYears').value);

      if (isNaN(amount) || isNaN(years) || amount <= 0 || years <= 0) {

        alert("Please enter valid amount and years.");

        return;

      }


      const paymentsPerYear = 12;

      const totalPayments = years * paymentsPerYear;

      const monthlyPayment = (amount / totalPayments).toFixed(2);

      let balance = amount;

      let scheduleHTML = '<tr><th>No</th><th>Date</th><th>Beginning Balance</th><th>Payment</th><th>Principal</th><th>Markup</th><th>Ending Balance</th></tr>';

      let startDate = new Date();

      startDate.setDate(16);

      startDate.setMonth(startDate.getMonth());


      for (let i = 1; i <= totalPayments; i++) {

        let paymentDate = new Date(startDate);

        paymentDate.setMonth(startDate.getMonth() + i - 1);

        let principal = parseFloat(monthlyPayment);

        let endBalance = (balance - principal).toFixed(2);

        scheduleHTML += `<tr>

          <td>${i}</td>

          <td>${paymentDate.toLocaleDateString()}</td>

          <td>${balance.toFixed(2)}</td>

          <td>${monthlyPayment}</td>

          <td>${monthlyPayment}</td>

          <td>0</td>

          <td>${endBalance}</td>

        </tr>`;

        balance -= principal;

      }


      document.getElementById('scheduleTable').innerHTML = scheduleHTML;


      document.getElementById('summary').innerHTML = `

        <div class="box">Monthly Payment: PKR ${monthlyPayment}</div>

        <div class="box">Total Payments: ${totalPayments}</div>

        <div class="box">Total Amount Paid: PKR ${(monthlyPayment * totalPayments).toFixed(2)}</div>

        <div class="box">Markup: 0%</div>

      `;

    }

  </script>

</body>

</html>