document.addEventListener("DOMContentLoaded", function () {

    function getValue(id) {
        var el = document.getElementsByName(id)[0];
        return el ? parseFloat(el.value) || 0 : 0;
    }

    function setValue(id, val) {
        var el = document.getElementsByName(id)[0];
        if (el) el.value = Number(val).toFixed(2);
    }

    window.calculate = function () {

        // --- BASIC INPUTS ---
        var gross_total_income = getValue("gross_total_income");
        var disallowance_14a = getValue("disallowance_14a");
        var disallowance_37 = getValue("disallowance_37");

        // // Auto-calculations (your logic)
        // setValue("gross_total_income", disallowance_37 + gross_total_income);
        // setValue("disallowance_37", disallowance_14a + disallowance_37);

        var gross_total = gross_total_income + disallowance_37 + disallowance_14a
        console.log("gross_total income:: " + gross_total)

        // --- DEDUCTIONS ---
        var d80_business = getValue("deduction_80ia_business");
        var d80_misc = getValue("deduction_80ia_misc");
        var d80_other = getValue("deduction_80ia_other");

        var deduction_sec37 = d80_business + d80_misc + d80_other - 1.35;
        setValue("deduction_sec37_disallowance", deduction_sec37);

        var deduction_80g = getValue("deduction_80g");

        // --- NET TAXABLE INCOME ---
        var net_taxable_income = gross_total - deduction_sec37 - deduction_80g;
        setValue("net_taxable_income", net_taxable_income);

        // --- TAX 30% ---
        var tax30 = net_taxable_income * 0.30;
        setValue("tax_30_percent", tax30);

        // --- TAX PAYABLE (18.5%) ---
        var tax185 = getValue("tax_book_profit_18_5");

        var tax_payable = (tax30 > tax185) ? tax30 : tax185;
        setValue("tax_payable", tax_payable);

        // --- SURCHARGE ---
        var percent = getValue("persentage");
        var surcharge = tax_payable * (percent / 100);
        setValue("surcharge_12", surcharge);

        var edu_cess = (tax_payable + surcharge) * 0.03;
        setValue("edu_cess_3", edu_cess);

        // --- total tax payable ---
        var total_tax_payable = tax_payable + surcharge + edu_cess;
        setValue("total_tax_payable", total_tax_payable);

        // --- FINAL TAX ---
        var mat_credit = getValue("mat_credit");
        var interest_234c = getValue("interest_234c");

        var total_tax = total_tax_payable + mat_credit + interest_234c;
        setValue("total_tax", total_tax);

        // --- ASSESSMENT ---
        var adv_tax = getValue("advance_tax");
        var tds = getValue("tds");
        var tcs = getValue("tcs");

        var tax_on_assessment = adv_tax + tds + tcs;
        setValue("tax_on_assessment", tax_on_assessment);

        var refund = total_tax - tax_on_assessment;
        setValue("refund", refund);
    };
});
