<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name=""viewport" content=""width=device-width, initial-scale="1.0">

    <title>Premium Calculator</title>

    <meta name="description" content="Insurance premium calculator for pro-rata and short-rate calculations.">

    <link rel="stylesheet" href="assets/style.css">
    <link rel="icon" type="image/x-icon" href="assets/favicon.ico">
  </head>

  <body>
    <header>
      <h1>Premium Calculator</h1>
    </header>

    <main>
      <div class="flex-container">
        <div class="flex-1">
          <h2>Policy Details</h2>
          <table>
            <tr>
              <th><label for="effectiveDate">Effective date</label></th>
              <td><input type="date" id="effectiveDate" name="effectiveDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
            </tr>
            <tr>
              <th><label for="expiryDate">Expiry date:</label></th>
              <td><input type="date" id="expiryDate" name="expiryDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
            </tr>
            <tr>
              <th><label for="cancelDate">Cancellation date:</label></th>
              <td><input type="date" id="cancelDate" name="cancelDate" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
            </tr>
            <tr>
              <th><label for="totalPremium">Total premium:</label></th>
              <td><input type="number"  id="totalPremium" name="totalPremium" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
            </tr>
            <tr>
              <th>Days in policy term:</th>
              <td><span id="termDays">-</span></td>
            </tr>
            <tr>
              <th>Days in force:</th>
              <td><span id="forceDays">-</span></td>
            </tr>
            <tr>
              <th>Days remaining:</th>
              <td><span id="remainingDays">-</span></td>
            </tr>
          </table>
        </div>

        <div class="flex-2">
          <h2>Factor Method</h2>

          <div class="calcMethod">
            <label for="calcProRata">
              <input type="radio" name="calcMethod" id="calcProRata" value="Pro Rata" checked="checked" onclick="calculator();" >
              <span>Pro Rata</span>
            </label>
            <label for="calcShortRate">
              <input type="radio" name="calcMethod" id="calcShortRate" value="Short Rate" onclick="calculator();" >
              <span>Short Rate</span>
            </label>
          </div>

          <table>
            <tr>
              <td class="with-border"></td>
              <th class="with-border">Earned</th>
              <th class="with-border">Unearned</th>
            </tr>
            <tr>
              <th class="with-border">Factor</th>
              <td class="with-border"><span id="earnedFactor">-</span></td>
              <td class="with-border"><span id="unearnedFactor">-</span></td>
            </tr>
            <tr>
              <th class="with-border">Premium</th>
              <td class="with-border"><span id="earnedPremium">-</span></td>
              <td class="with-border"><span id="unearnedPremium">-</span></td>
            </tr>
          </table>
        </div>

        <div class="flex-3">
          <h2>Premium Breakdown (Optional)</h2>
          <blockquote><span id="checkMatch">Total breakdown: N/A</span></blockquote>

          <table>
            <tr>
              <th>Coverage</th>
              <th>Premium</th>
              <th>Breakdown (%)</th>
              <th>Earned Premium</th>
              <th>Unearned Premium</th>
            </tr>
            <tr>
              <td><label for="breakDO">D&O</label></td>
              <td><input type="number" id="breakDO" name="breakDO" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentDO">-</span></td>
              <td><span id="earnedDO">-</span></td>
              <td><span id="unearnedDO">-</span></td>
            </tr>
            <tr>
              <td><label for="breakEPL">EPL</label></td>
              <td><input type="number" id="breakEPL" name="breakEPL" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentEPL">-</span></td>
              <td><span id="earnedEPL">-</span></td>
              <td><span id="unearnedEPL">-</span></td>
            </tr>
            <tr>
              <td><label for="breakEO">E&O</label></td>
              <td><input type="number" id="breakEO" name="breakEO" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentEO">-</span></td>
              <td><span id="earnedEO">-</span></td>
              <td><span id="unearnedEO">-</span></td>
            </tr>
            <tr>
              <td><label for="breakCyber">Cyber</label></td>
              <td><input type="number" id="breakCyber" name="breakCyber" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentCyber">-</span></td>
              <td><span id="earnedCyber">-</span></td>
              <td><span id="unearnedCyber">-</span></td>
            </tr>
            <tr>
              <td><label for="breakLEI">Legal Expense</label></td>
              <td><input type="number" id="breakLEI" name="breakLEI" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentLEI">-</span></td>
              <td><span id="earnedLEI">-</span></td>
              <td><span id="unearnedLEI">-</span></td>
            </tr>
            <tr>
              <td><label for="breakCGL">CGL</label></td>
              <td><input type="number" id="breakCGL" name="breakCGL" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentCGL">-</span></td>
              <td><span id="earnedCGL">-</span></td>
              <td><span id="unearnedCGL">-</span></td>
            </tr>
            <tr>
              <td><label for="breakProperty">Property</label></td>
              <td><input type="number" id="breakProperty" name="breakProperty" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentProperty">-</span></td>
              <td><span id="earnedProperty">-</span></td>
              <td><span id="unearnedProperty">-</span></td>
            </tr>
            <tr>
              <td><label for="breakEB">Equipment Breakdown</label></td>
              <td><input type="number" id="breakEB" name="breakEB" onblur="calculator()" min="0" oninput="validity.valid||(value='')"></td>
              <td><span id="percentEB">-</span></td>
              <td><span id="earnedEB">-</span></td>
              <td><span id="unearnedEB">-</span></td>
            </tr>
          </table>

          <div class="flex-4">
            <button onClick="calculator()">Calculate</button>
          </div>
      </div>
   </main>

   <footer>
    <select name="theme-select" id="theme-select">
      <option value="light">Light</option>
      <option value="dark">Dark</option>
      <option value="summer">Summer</option>
      <option value="slate">Slate</option>
      <option value="tokyo">Tokyo</option>
      <option value="solarized">Solarized</option>
      <option value="forest">Forest</option>
    </select>

    <ul>
      <li>Made by <a href="https://haothitran.com">Hao Tran</a>. View the project repository on <a href="https://forge.haothitran.com/KlazHTT/premium-calculator">Gitea</a> or <a href="https://github.com/KlazHTT/premium-calculator">Github</a>.</li>
      <li>This calculator is intended for informational use only and does not constitute advice. </li>
      <li>Calculations are rounded to the nearest hundredth. As such, there may be rounding discrepancies.</li>
      <li>Date format is determined by browser and/or operating system settings.</li>
    </ul>
   </footer>

   <script src="assets/calculator.js"></script>
   <script src="assets/theme.js"></script>
  </body>
</html>