]> git.scottworley.com Git - inverse-tax/blob - tax.html
All fields trigger recalculation
[inverse-tax] / tax.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="tax.js"></script>
5 <script src="tax_ui.js"></script>
6 <style>
7 td { padding: .5em; vertical-align: top}
8 textarea { height: 12em; }
9 input { width: 7em }
10 </style>
11 </head>
12 <body onload="calculate()">
13 <h1>Inverse income tax tool</h1>
14 <p>What gross salary is needed to provide a specified after-tax salary?</p>
15
16 <form>
17 <table>
18 <tr>
19 <td>
20 Federal deductible<br/><input id="deductible_1" value="24000" onchange="calculate()" oninput="calculate()"/>
21 </td>
22 <td>
23 State deductible<br/><input id="deductible_2" value="8258" onchange="calculate()" oninput="calculate()"/>
24 </td>
25 </tr>
26 <tr>
27 <td>
28 Federal tax table<br/>
29 <textarea id="tax_table_1" onchange="calculate()" oninput="calculate()"> 0 10
30 18651 15
31 75901 25
32 153101 28
33 233351 33
34 416701 35
35 470001 39.6</textarea>
36 </td>
37 <td>
38 State tax table<br/>
39 <textarea id="tax_table_2" onchange="calculate()" oninput="calculate()"> 0 1
40 16030 2
41 38002 4
42 59978 6
43 83258 8
44 105224 9.3
45 537500 10.3
46 644998 11.3
47 1000000 12.3
48 1074996 13.3</textarea>
49 <br/>(Initial table is California's)
50 </td>
51 </tr>
52 <tr>
53 <td colspan="2">
54 Desired after-tax salary</br>
55 <input id="after_tax" value="100000" onchange="calculate()" oninput="calculate()">
56 </td></tr>
57 </table>
58 </form>
59
60 <p><strong><span id="before_tax"></span> before tax</strong>
61 - <span id="tax_1"></span> federal tax
62 - <span id="tax_2"></span> state tax
63 = <span id="after_tax_verification"></span> after tax.</p>
64
65 <p>Privacy policy: All calculations are client-side; no figures are sent to any server.</p>
66 </body>
67 </html>