$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
//    $(".tbody").on("focus", '.rate', autoAddRows);
    $("body").on("change keyup blur", '.qty, .rate, .amount, .discperc, .total', itemCal);
//    $("body").on("keyup focus blur", '.rate, .amount', amtCal);
    $("body").on("keyup focus blur", '.qty, .rate, .amount, .subtotal, .litemdisc, .cdiscperc, .cdiscamt, .lesother, .vatperc, .vatamt, .packing, .netamt', mainbCal);
    $("body").on("focus", '.amount', autoAddRows);

    $('#addnew').click(function () {
        AddRows();
    });

    function autoAddRows() {
        if ($(this).closest("tr").is(":last-child")) {
            AddRows();
        }
        
//        var ctr = $('#items').val();
//        var tr = $(this).closest("tr");
//        var srno = tr.find(".srno").val();
//        if (srno == ctr) {
//            AddRows();
//        }
    }

    function remove() {
        $(this).closest("tr").remove();
    }

    function AddRows() {
        var ctr = $('#items').val();
        var hide_check = "";
        if ($("#del_all").prop("checked")) {
            hide_check = 0;
        } else {
            hide_check = 1;
        }
        var detail = ".fetchpart_" + ctr;
        $.post('purchase_add.php', {ctr: ctr, hide: hide_check}, function (data) {
            $(data).appendTo('.tbody');
            ctr++;
            $('#items').val(ctr);
            $(detail).select2();
        });
    }

    function itemCal() {
        var tr = $(this).closest("tr"),
                qty = tr.find(".qty").val(),
                mrp = tr.find(".mrp").val(),
                rate = tr.find(".rate").val(),
                amount = Math.round(parseFloat(qty) * parseFloat(rate)),
                discperc = tr.find(".discperc").val(),
                discount = Math.round(discperc * amount / 100),
                total = Math.round(parseFloat(amount) - parseFloat(discount));

        tr.find(".amount").val(amount);
        tr.find(".discount").val(discount);
        tr.find(".total").val(total);


        var val = 0;
        $(".amount").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val += parseFloat(this.value);
            }
        });
        $(".subtotal").val(val);

        var val2 = 0;
        $(".discount").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val2 += parseFloat(this.value);
            }
        });
        $(".litemdisc").val(val2);
        mainbCal();
    }

    function mainbCal() {
        var subtot = $(".subtotal").val();
        var lesother = $(".lesother").val();

        var disc1 = Math.round(subtot);

        var discperc = $(".cdiscperc").val(),
                cdiscamt = Math.round((discperc * disc1) / 100);

        if (isNaN(cdiscamt)) {
            $('.cdiscamt').val("0");
        } else {
            $('.cdiscamt').val(cdiscamt);
        }


        var subtot1 = Math.round(subtot - cdiscamt - lesother);
        var vatperc = $(".vatperc").val(),
                vatamt = Math.round((vatperc * subtot1) / 100);

        if (isNaN(vatamt)) {
            $('.vatamt').val("0");
        } else {
            $('.vatamt').val(vatamt);
        }


        var pack = $(".packing").val();

        var net = Math.round(parseFloat(subtot1) + parseFloat(vatamt) + parseFloat(pack));

        if (isNaN(net)) {
            $('.netamt').val("0");
        } else {
            $('.netamt').val(net);
        }


    }

    

  
});