$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
    $("body").on("blur", '.qty', autoAddRows);
    $("body").on("change", '.itemgrp', GetItem);
    $("body").on("change keyup blur", '.item', showDetail);
    $("body").on("change keyup blur", '.item', getDispUnit);
    $("body").on("change keyup blur", '.item', getStkUnit);
    $("body").on("change blur keyup", '.item, .stkunit, .unit, .qty, .itempart', checkUnit);
    $("body").on("change blur keyup ", '.item, .qty,.vol', checkCount);

    function checkCount() {
        var val1 = 0;
        var val2 = 0;
        var val3 = 0;
        $(".item").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val1 += 1;
            }
        });
        $(".vol").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val2 += parseFloat(this.value);
            }
        });
        $(".qty").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val3 += parseFloat(this.value);
            }
        });
        $(".totvol").val(val2);
        $(".totqty").val(val3);
        $(".totitem").val(val1);
    }


    function checkUnit() {
        var tr = $(this).closest("tr"),
                itemgrp = tr.find(".itemgrp").val(),
                itemcode = tr.find(".item").val(),
                stkunit = tr.find(".stkunit").val(),
                itempart = tr.find(".itempart").val(),
                unit = tr.find(".unit").val(),
                qty = tr.find(".qty").val(),
                vol = tr.find(".vol").val();
        if (qty > 0) {
            $.ajax({
                type: 'GET',
                dataType: 'json',
                url: "get_Vol.php",
                data: "stkunit=" + stkunit + "&itemcode=" + itemcode + "&unit=" + unit + "&qty=" + qty + "&vol=" + vol + "&itempart=" + itempart + "&itemgrp=" + itemgrp,
                success: function (response) {
                    var vol = response.vol;
                    var stkvol = response.stkvol;
                    tr.find('.vol').val(vol);
                    tr.find('.stkvol').val(stkvol);
                },
                error: function (request, textStatus, errorThrown) {
                    alert(errorThrown);
                }
            });
        }
    }

    function GetItem() {
        var tr = $(this).closest("tr"),
                itemcode = tr.find(".item").val(),
                itemgrp = tr.find(".itemgrp").val();
        $.post('get_Item.php', {itemgrp: itemgrp, itemcode: itemcode}, function (data) {
            if (data != '') {
                tr.find(".item").html(data).trigger('change');
                tr.find(".item").focus();
            }
        });
    }

    function getDispUnit() {
        var tr = $(this).closest("tr"),
                itemcode = tr.find(".item").val();
        $.post('get_Unit.php', {itemcode: itemcode, flag: 'I', disp: 'D'}, function (data) {
            if (data != '') {
                tr.find(".unit").html(data).trigger('change');
//                tr.find(".unit").focus();
            }
        });
    }

    function getStkUnit() {
        var tr = $(this).closest("tr"),
                itemcode = tr.find(".item").val();
        $.post('get_Unit.php', {itemcode: itemcode, flag: 'I', disp: 'S'}, function (data) {
            if (data != '') {
                tr.find(".stkunit").val(data);

//                tr.find(".stkunit").html(data).trigger('change');
//                tr.find(".stkunit").focus();
            }
        });
    }

    function showDetail() {
        var tr = $(this).closest("tr");
        var name = tr.find('.item').val();
        $.ajax({
            type: 'GET',
            dataType: 'json',
            url: "get_itemrate_dtl.php",
            data: "name=" + name + "",
            success: function (response) {
                var hsncode = response.hsncode;
                $(tr.find('.hsncode')).val(hsncode);
            },
            error: function (request, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    }



    $('#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;
        }
        ctr++;
        $('#items').val(ctr);
        var detail = ".fetchpart_" + ctr;
        $(detail).select2();
        $.post('inward_add.php', {ctr: ctr, hide: hide_check}, function (data) {
            $(data).appendTo('.tbody');

        });
    }


    $("body").on("keyup", ".ssearch", getSearchData);
    $("body").on("click", ".sload", getSearchData);
    $("body").on("click", "#search", getSearchData);

    //////////////////////////////////////////////Search Part - Start//////////////////////////////////////////////
    $(".snoRecord").hide();
    $(".sloader").hide();


    var imrangeFrom = 0,
            imrangeTo = 40;

    function getSearchData(pagination) {

        $(".sloader").show();

        if (pagination == 'prev') {
            if (imrangeFrom > 0) {
                imrangeFrom = (imrangeFrom - 40);
                imrangeTo = (imrangeTo - 40);
            }
        }
        if (pagination == 'next') {
            imrangeFrom = (imrangeFrom + 40);
            imrangeTo = (imrangeTo + 40);
        }

        var series = $(".series").val(),
                vouchno = $(".vouchno").val(),
                ssearch = $(".ssearch").val(),
                sfield = $(".sfield").val(),
                sortBy = $(".sortBy").val(),
                orderAs = $(".orderAs").val(),
                soperator = $(".soperator").val(),
                data = {ssearch: ssearch, sfield: sfield, sortBy: sortBy, orderAs: orderAs, soperator: soperator,
                    series: series, vouchno: vouchno, rangeFrom: imrangeFrom, rangeTo: imrangeTo},
                values = "";
        $.ajax({
            type: 'GET',
            dataType: 'json',
            url: "inward_search.php",
            data: data,
            success: function (response) {
                if (response == "") {
                    $(".snoRecord").show();
                    $(".snext").hide();
                } else {
                    $(".snext").show();
                    $(".snoRecord").hide();

                    $.each(response, function () {
                        values += "<tr class='clickable-row' data-href='" + this.action + "'>" +
                                "<td align='left' width='13%'>" + this.vouchno + "</td>" +
                                "<td align='left' width='13%'>" + this.mydt + "</td>" +
                                "<td align='left' width='13%'>" + this.godown + "</td>" +
                                "<td align='left' width='13%'>" + this.remark + "</td>" +
                                "<td align='left' width='5%'><a href='" + this.action + "' ><i class='fa fa-pencil'></i></a></td>" +
                                "</tr>";
                    });
                    $(".sloader").hide();
                    $(".sTbody").empty();
                    $(".sTbody").html(values);
                    if (response) {
                        $(".search-action-bar").show();
                    }
                }
            },
            error: function (request, textStatus, errorThrown) {

            }
        });
    }
    $("#search").click(function () {
        $(".searchModal").on('shown.bs.modal', function () {
            $(".ssearch").focus();
            $(".ssearch").val("");
            $(".sfield").val("1");
            getSearchData();
        });

        getSearchData();
    });
    $(".sprev").click(function () {
        getSearchData('prev');
    });
    $(".snext").click(function () {
        getSearchData('next');
    });


    //////////////////////////////////////////////Search Part - End  //////////////////////////////////////////////
});