$(document).ready(function () {
    $(".tbody2").on("click", ".plus", AddQty);
    $(".tbody2").on("click", ".minus", MinusQty);
    $(".tbody2").on("click", ".itemname", ShowItemDesc);
    $(".tbody2").on("click", ".itemgrptr", HideItem);
    $(".tbody2").on("click", ".plus, .minus", CalcAmount);
    $(".tbody2").on("keyup", ".qty", CalcAmount);
    $("body").on("click", '.remove', remove);
    $("body").on("click", '.ordrep', ShowOrdRep);
    $("body").on("click", '.toggleadd', ShowAdd);
    $("body").on("change", '.delvcomp', ChangeDelvRate);

    $('.itemdesc').hide();

    function ShowAdd() {
        $(this).toggleClass("fa-rotate-180", "slow");
        $(".parceladd").toggle("fast", "linear");
    }
    function ChangeDelvRate() {
        var delvcomp = $(".delvcomp").val();
        if (delvcomp !== "") {
            $(".tbody2 tr").each(function () {
                var tr = $(this).closest("tr"),
                        itemcode = tr.find(".tritem").val();
                var data = {delvcomp: delvcomp, itemcode: itemcode};

                $.ajax({
                    type: 'GET',
                    dataType: 'json',
                    url: "get_delvrate.php",
                    data: data,
                    success: function (response) {
                        if (response.length > 0) {
                            tr.find('.lblrate').html(response);
                            tr.find('.rate').val(response);
                        }
                    },
                    error: function (request, textStatus, errorThrown) {
                        //   alert(errorThrown);
                    }
                });
            });
        }
    }

    function ShowOrdRep() {
        $("#Orderrep").modal('show');

        var mvouch = $(".vouch").val(),
                mvouchdt = $(".vouchdt").val(),
                mdelvcomp = $(".delvcomp option:selected").text();

        $(".modalvouch").val(mvouch);
        $(".modalvouchdt").val(mvouchdt);
        $(".modaldelvcomp").val(mdelvcomp);

        var totqty = 0, totamt = 0, ordrephtml;
        $(".tbody2 tr").each(function () {
            var tr = $(this).closest("tr");

            var trqty = parseFloat(tr.find(".qty").val());
            if (tr.find(".qty").val() > 0) {
                if (isNaN(tr.find(".qty").val())) {
                    trqty = 0;
                }
                totqty = totqty + trqty;

                var trrate = parseFloat(tr.find(".rate").val());
                if (isNaN(tr.find(".rate").val())) {
                    trrate = 0;
                }
                var amount = trrate * trqty;

                ordrephtml += "<tr>" +
                        "<td></td>" +
                        "<td>" + tr.find(".lblitemname").text() + "</td>" +
                        "<td>" + trqty + "</td>" +
                        "<td>" + trrate + "</td>" +
                        "<td>" + amount + "</td>" +
                        "<td></td>" +
                        "</tr>";
                totamt = totamt + amount;
            }

        });
        ordrephtml += "<tr style='background-color: black; color: white'>" +
                "<td></td>" +
                "<td>Total</td>" +
                "<td>" + totqty + "</td>" +
                "<td></td>" +
                "<td>" + totamt + "</td>" +
                "<td></td>" +
                "</tr>";

        $(".tbody4").html(ordrephtml);

    }
    function HideItem() {
        var idgrpctr = $(this).attr("id");
        $(".item_" + idgrpctr).toggle();
    }

    function CalcAmount() {
        var totqty = 0, totamt = 0;
        $(".tbody2 tr").each(function () {
            var tr = $(this).closest("tr");

            var trqty = parseFloat(tr.find(".qty").val());
            if (tr.find(".qty").val() !== '') {
                if (isNaN(tr.find(".qty").val())) {
                    trqty = 0;
                }
                totqty = totqty + trqty;

                var trrate = parseFloat(tr.find(".rate").val());
                if (isNaN(tr.find(".rate").val())) {
                    trrate = 0;
                }
                var amount = trrate * trqty;
                totamt = totamt + amount;
            }
        });
        $(".totqty").text(totqty);
        $(".totqty2").val(totqty);
        $(".totamt").text(totamt);
    }

    function ShowItemDesc() {
        var $tr = $(this).closest("tr");
        $tr.find(".itemdesc").toggle();
    }

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

    function AddQty() {
        var $tr = $(this).closest("tr"),
                qty = parseFloat($tr.find('.qty').val());
        $tr.find('.qty').val(qty + 1);
    }

    function MinusQty() {
        var $tr = $(this).closest("tr"),
                qty = parseFloat($tr.find('.qty').val());
        if (qty <= 0) {
        } else {
            $tr.find('.qty').val(qty - 1);
        }
    }

    $("#ItemSearch").on("keyup", function () {
        var value = $(this).val().toLowerCase();
        $("table tbody tr").filter(function () {
            $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
        });
    });

    $("#favitem").on("click", function () {
        if (this.checked) {
            var value = "favitem";
            $("table tbody tr").filter(function () {
                $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
            });
        } else {
            $("table tbody tr").filter(function () {
                $(this).toggle($(this).text() !== '');
            });
        }
    });
});