$(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);
    $("#Orderrep").on("click", '.sHowItem', GoToItem);
    $("body").on('focus', '.colrrow', changeColour);


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


    function ShowOrdRep() {
        $("#Orderrep").modal('show');
        var mvouch = $(".vouch").val(),
                mvouchdt = $(".vouchdt").val(),
                tableno = $(".tableno option:selected").text();

        $(".modalvouch").val(mvouch);
        $(".modalvouchdt").val(mvouchdt);
        $(".modaltable").val(tableno);

        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 class='sHowItem'>" +
                        "<td></td>" +
                        "<td class='lblmodalitem'>" + 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 GoToItem() {
        var $trrow = $(this).closest("tr"),
                $trval = $trrow.find(".lblmodalitem").text();
        $(".tbody2 tr").each(function () {
            var tr = $(this).closest("tr");
            if (tr.find(".lblitemname").text() == $trval) {
                tr.find(".qty").focus();
                $("#Orderrep").modal('hide');
            }
        });
    }

    function changeColour() {
        $('.tbody2 tr input').focus(function () {
            var $tr = $(this).closest('tr'); //get tr
            $tr.css('background-color', '#ccffcc'); //change background color 
            $tr.siblings().css('background-color', 'white'); //set sibling tr's background color to be old color
        }).blur(function () {
            var $tr = $(this).closest('tr'); //get tr
            $tr.css('background-color', 'white'); //set tr's background color to be old color
        });
    }

    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();
//        if ($("#favitem").is(":checked")) {
//            var favvalue = "favitem";
//            $("table tbody tr").filter(function () {
//                if ($(this).text() != favvalue && $(this).text() != favvalue) {
//                    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
//                }
//            });
//        } else {
        $("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() !== '');
            });
        }
    });

    $("#jointtblchk").on("click", function () {
        if (this.checked) {
            var tableno = $('.tableno').val();
            if (tableno == '') {
                alert("Please Select a Table First");
                $(".tableno").select2('open');
                return false;
            }
            $.post('get_multitable.php', {tableno: tableno}, function (data) {
                $(".multbldiv").html(data);
                $(".tablenomul").select2();
//                $(".tablenomul").select2('multiple');
            });
        } else {
            $(".multbldiv").empty();
        }
    });
});