import {calculate} from '/tax-engine.mjs'; const f=document.querySelector('.taxform'),out=document.querySelector('#tax-result'); const money=n=>'PKR '+n.toLocaleString('en-PK',{minimumFractionDigits:2,maximumFractionDigits:2}); function show(){try{const r=calculate({kind:f.dataset.kind,year:Number(f.dataset.year),amount:document.querySelector('#amount').valueAsNumber,frequency:document.querySelector('#frequency').value,deductions:document.querySelector('#deductions')?.valueAsNumber??0,age:document.querySelector('#age')?.valueAsNumber??60,eligible:document.querySelector('#eligible').checked});out.replaceChildren();const dl=document.createElement('dl');for(const [label,val] of [['Annual income entered',r.gross],...(f.dataset.kind==='rental'?[['Building repairs allowance',r.repairs],['Taxable rental income',r.taxable]]:[]),['Base tax',r.base],['Surcharge',r.surcharge],['Estimated annual tax',r.total],['Monthly equivalent',r.monthly]]){const dt=document.createElement('dt');dt.textContent=label;const dd=document.createElement('dd');dd.textContent=money(val);dl.append(dt,dd)}out.append(dl);const p=document.createElement('p');p.textContent='Effective rate: '+r.effective.toFixed(2)+'%. Before withholding, credits and excluded adjustments. This is not a final assessment.';out.append(p)}catch(e){out.textContent=e.message}} f.addEventListener('submit',e=>{e.preventDefault();show()});f.addEventListener('input',()=>{out.textContent='Inputs changed. Calculate again to update your estimate.'});f.addEventListener('reset',()=>{out.textContent='Confirm that the scenario matches your circumstances, then calculate.'});