$(document).ready(function() {
    $("body").off('click').on("click", '.remove', remove);
    //    $(".tbody").on("blur", '.rate', autoAddRows);
    $("body").on("keyup focus blur", '.taka, .qty, .flag, .flagqty, .invqty', itemCal);
    $("body").on("keyup focus blur", '.rate, .amount', amtCal);
    $("body").on("keyup focus blur", '.rate, .amount,.discount, .discperc, .frgperc, .freight', mainbCal);
    // $("body").on('blur change', '.item', showdtl);
    $("body").on('blur change', '.item', getItemdtl);
    //    $("body").on("keyup focus blur", '', discCal);
    $("body").on("change", '.brand', filterItem);
    $("body").on("change", ".item", gethsn);
    $("body").on("change", ".oms", editoms);
    $("body").on("click", '.mycheck2', check2);
    $("body").on("click", '.mycheck', check);
    $("body").on("click", '#close_form', closeForm);


    function editoms() {
        var igstperc = $('.igstperc').val(),
            cgstperc = $('.cgstperc').val();
        if ($(".oms").prop('checked')) {
            if (igstperc == 0) {
                var val = cgstperc * 2;
                $('.igstperc').val(val);
                $('.cgstperc').val(0);
                $('.sgstperc').val(0);
            }
        } else {
            if (cgstperc == 0) {
                var val2 = igstperc / 2;
                $('.cgstperc').val(val2);
                $('.sgstperc').val(val2);
                $('.igstperc').val(0);
            }
        }
        mainbCal();

    }

    function gethsn() {
        var tr = $(this).closest("tr");
        var item = tr.find('.item').val();
        $.post('gethsncode.php', {
            item: item
        }, function(data) {
            tr.find('.hsncode').val(data.hsn);
            tr.find('.rate').val(data.prate);
            if ($(".oms").prop('checked')) {
                $('.igstperc').val(data.igst);
                $('.cgstperc').val(0);
                $('.sgstperc').val(0);
            } else {
                $('.cgstperc').val(data.cgst);
                $('.sgstperc').val(data.sgst);
                $('.igstperc').val(0);
            }

        }, 'json');
    }

    function filterItem() {
        var tr = $(this).closest("tr");
        var brand = tr.find(".brand").val();
        $.post('get_fitem.php', {
            brand: brand
        }, function(data) {
            tr.find(".item").html(data);
        });
    }
    //     function showdtl() {
    //         var $row = $(this).closest("tr");
    //         var name = $row.find('.item').val();
    //         $.ajax({
    //             type: 'GET',
    //             dataType: 'json',
    //             url: "show_item_dtl.php",
    //             data: "name=" + name + "",
    //             success: function (response) {
    // //                    var barcode = response.barcode;
    //                 var rate = response.cost;
    // //                    $($row.find('.barcode')).val(barcode);
    //                 $($row.find('.rate')).val(rate);

    //             },
    //             error: function (request, textStatus, errorThrown) {
    //                 alert(errorThrown);
    //             }
    //         });
    //     }

    function getItemdtl() {
        var vouchno = $(".vouchno").val();
        var source = $(".source").val();
        var godown = $(".godown").val();
        var count = $("#items").val();
        var tr = $(this).closest("tr");
        var item = tr.find(".item").val();
        tr.find(".actbatch").addClass("oncheck");
        tr.find(".dtotqty").addClass("ontotqty");
        tr.find(".dflag").addClass("onflag");
        tr.find(".dflagqty").addClass("onflagqty");
        tr.find(".totqty").addClass("ogtotqty");
        tr.find(".flag").addClass("ogflag");
        tr.find(".flagqty").addClass("ogflagqty");
        tr.find(".taka").addClass("ogtaka");
        tr.find(".acttaka").addClass("ogacttaka");
        tr.find(".qty").addClass("ogqty");
        $.post('debnote_itemDtl.php', {
            item: item,
            godown: godown,
            count: count,
            source: source,
            vouchno: vouchno
        }, function(data) {
            $("#browdata").html(data);
            $("#check_0").focus();
        });
        $("#overlay_form").show("fast");
    }


    function check2() {
        var tr = $(this).closest("tr");
        var actbatch = tr.find(".checkactbatch").val();
        var totqty = tr.find(".checktotqty").val();
        var flag = tr.find(".checkflag").val();
        var flagqty = tr.find(".checkflagqty").val();
        alert(flag);
        $(".oncheck").val(actbatch);
        $(".ontotqty").val(totqty);
        $(".onflag").val(flag);
        $(".onflagqty").val(flagqty);
        $(".ogtotqty").val(totqty);
        $(".ogflag").val(flag);
        $(".ogflagqty").val(flagqty);
        $(".ogtaka").val("1");
        $(".ogacttaka").val("1");
        $(".ogqty").val(totqty);
        closeForm();
        $(".oncheck").closest("tr").find(".batch").focus();
        $(".oncheck").removeClass("oncheck");
        $(".ontotqty").removeClass("ontotqty");
        $(".onflag").removeClass("onflag");
        $(".onflagqty").removeClass("onflagqty");
        $(".ogcheck").removeClass("ogcheck");
        $(".ogtotqty").removeClass("ogtotqty");
        $(".ogflag").removeClass("ogflag");
        $(".ogflagqty").removeClass("ogflagqty");
        $(".ogtaka").removeClass("ogtaka");
        $(".ogacttaka").removeClass("ogacttaka");
        $(".ogqty").removeClass("ogqty");
    }

    function check() {
        var tr = $(this).closest("tr");
        var actbatch = tr.find(".checkactbatch").val();
        var totqty = tr.find(".checktotqty").val();
        var flag = tr.find(".checkflag").val();
        var flagqty = tr.find(".checkflagqty").val();
        $(".oncheck").val(actbatch);
        $(".ontotqty").val(totqty);
        $(".onflag").val(flag);
        $(".onflagqty").val(flagqty);
        closeForm();
        $(".oncheck").closest("tr").find(".batch").focus();
        $(".oncheck").removeClass("oncheck");
        $(".ontotqty").removeClass("ontotqty");
        $(".onflag").removeClass("onflag");
        $(".onflagqty").removeClass("onflagqty");
        $(".ogcheck").removeClass("ogcheck");
        $(".ogtotqty").removeClass("ogtotqty");
        $(".ogflag").removeClass("ogflag");
        $(".ogflagqty").removeClass("ogflagqty");
        $(".ogtaka").removeClass("ogtaka");
        $(".ogacttaka").removeClass("ogacttaka");
        $(".ogqty").removeClass("ogqty");
    }

    function closeForm() {
        $("#overlay_form").hide("fast");
    }

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

    function autoAddRows() {
        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('debnotegst2_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");
        var taka = tr.find(".taka").val();
        var qty = tr.find(".qty").val();
        var totqty = qty * taka;
        tr.find(".totqty").val(totqty);

        var flag = tr.find(".flag").val();
        var flagqty1 = flag * 0.10;
        var flagqty = flagqty1.toFixed(2);
        tr.find(".flagqty").val(flagqty);

        var invqty1 = totqty - flagqty;
        var invqty = invqty1.toFixed(2);
        tr.find(".invqty").val(invqty);
    }

    function amtCal() {
        var tr = $(this).closest("tr");
        var rate = tr.find(".rate").val();
        var invqty = tr.find(".invqty").val();
        var amt1 = rate * invqty;
        var amt = amt1.toFixed(2);
        tr.find(".amount").val(amt);
    }

    function mainbCal() {
        var tot = 0;
        var val = 0;

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

        var discperc = $(".discperc").val();
        var subtotal = $(".subtotal").val();
        var cgstperc = parseFloat($(".cgstperc").val());
        var sgstperc = parseFloat($(".sgstperc").val());
        var igstperc = parseFloat($(".igstperc").val());
        var freight = $(".freight").val();
        var totdisc = subtotal * discperc / 100;

        var taxable = parseFloat(subtotal) - parseFloat(totdisc) + parseFloat(freight);

        var cgstamt = taxable * cgstperc / 100;
        var sgstamt = taxable * sgstperc / 100;
        var igstamt = taxable * igstperc / 100;
        $(".discount").val(totdisc);
        $(".igstamt").val(igstamt);
        $(".cgstamt").val(cgstamt);
        $(".sgstamt").val(sgstamt);
        $(".taxamt").val(taxable);



        var netamt = Math.round(parseFloat(subtotal) - parseFloat(totdisc) + parseFloat(freight) + parseFloat(cgstamt) + parseFloat(sgstamt) + parseFloat(igstamt));
        //        var netamt = subtotal - totdisc + parseFloat(freight);
        if (isNaN(netamt)) {
            var netamt = subtotal - totdisc;
            $(".netamt").val(netamt);
        } else {
            $(".netamt").val(netamt);
        }
    }
});