$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
    $("body").on("blur focus keyup click", '.yard,.meters,.qty, .rate, .amount, .remove', caltran);
    $("body").on("blur focus keyup click", '.subtotal .netamt, .roundoff, .remove', mainCal);
    $("body").on("focus", '.qty', autoAddRows);
    $("body").on("focus", '.rate', noZeroAcptQty);
    $("body").on("change blur", '.item, .color, .lot', getMsp);
    $("body").on("blur", '.rate', noZeroAcptRate);

    function caltran() {
        var tr = $(this).closest("tr");
        var amt = tr.find('.amount').val(),
        rate = tr.find(".rate").val(),
        qty = tr.find(".qty").val(),
        totqty = 0,
        totmtrs = 0,
        totamt = 0;
        amt = parseFloat(qty) * parseFloat(rate); 
        tr.find('.amount').val(amt);

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

        $(".qty").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                totqty += parseFloat(this.value);
            }

        });
        $(".totqty").val(totqty);
mainCal();
    }

    $("#submit").hide();

    $("#finishTab").click(function () {
        var ccamt = $('.ccamt').val(),
                party = $('.karigar').val(),
                cashamt = $('.cashamt').val(),
                bankname = $('#bankname').val(),
                credamt = $('.credamt').val(),
                netamt = $('.netamt').val(),
                totcamt = parseFloat(ccamt) + parseFloat(cashamt) + parseFloat(credamt),
                valid = true;

        // if (netamt != totcamt) {
        //     $('.ccamt').val('0');
        //     $('.cashamt').val('0');
        //     $('.credamt').val('0');
        //     $('.cashamt').focus();
        //     alert('Cash, CC , Credit Total Amount Should Be Same As Netamt');
        //     return false;
        //     valid = false;
        // }
        if (party.length <= 0) {
            alert('Karigar Name Cannot Be Empty');
            return false;
            valid = false;
        }

        // if (c 

        if (valid) {
            var isValid = true;

            if (isValid) {
                $("#finishTab").hide();
                $("#submit").show();
                $("#submit").click();
//                $("form").submit();
//                $("#submit").hide();
//                $("#cancel").hide();

            }
        }
    });
    
    function noZeroAcptQty() {
        var $row = $(this).closest("tr"),
                qty = $row.find(".qty").val(),
                yard = $row.find(".yard").val(),
                meters = $row.find(".meters").val(),
                mqty = parseFloat(qty);
        if (mqty > 0) {
        } else {
            alert('Qty Cannot be Zero');
            $row.find(".item").focus();
        }
    }

    function noZeroAcptRate() {
        var $row = $(this).closest("tr"),
                mrate = $row.find(".rate").val();

        if (mrate > 0) {
        } else {
            alert('Rate Cannot be Zero');
            $row.find(".mrp").focus();
        }
    }

    

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

    ///////////////////////////////////////////////////CALCULATION - START//////////////////////////////////////////////////



    function mainCal() {
        var subtotal = $(".subtotal").val(),
               
        // var netamt = (parseFloat(subtotal)),

                roundoff = $(".roundoff").val(),
                final = parseFloat(subtotal) + parseFloat(roundoff);
        $(".netamt").val(final);

        // $(".cdiscamt").val(cdiscamt);
        // $(".couamt").val(couamt);
        //        $(".netamt").val(netamt);
        // $(".balance").val(balance);
        // $(".dcamt").val(dcamt);

        //        $(".taxamt").val(taxable.toFixed(2));
        //        $(".igstamt").val(igstamt.toFixed(2));
        //        $(".cgstamt").val(cgstamt.toFixed(2));
        //        $(".sgstamt").val(sgstamt.toFixed(2));


    }

    ///////////////////////////////////////////////////CALCULATION - END  //////////////////////////////////////////////////


    $("#close_form").click(function () {
        var trimidge = $("#idget").val();

        $("#rate" + trimidge).removeAttr("readonly", true);
        //        $(".rate").removeAttr("readonly", true);
        //        alert("rate" + trimidge);
        $("#rate" + trimidge).focus();
        $("#rate" + trimidge).val("0");
        $("#overlay_form").hide();

        //        $(".rate").val("0");
        $("#finishTab").show();
        //        $("#ssubmit").show();


    });
    $("#close_form1").click(function () {
        $("#overlay_form").hide();
        //        $(".les").removeAttr("readonly", true);
        $(".cdiscperc").val("0");
        $(".cdiscamt").val("0");
        $(".lesother").val("0");
        $(".cdiscperc").focus();
        $("#finishTab").show();
        //        $("#ssubmit").show();


    });
    $('#addnew').click(function () {
        AddRows();
    });
    
    function remove() {
        $(this).closest("tr").remove();
    }

    function AddRows() {
        var ctr = $('#items').val();
        var prodtype = $('.prodtype').val();
        var hide_check = "";
        if ($("#del_all").prop("checked")) {
            hide_check = 0;
        } else {
            hide_check = 1;
        }
        $(".otpsend").val("");
        $(".otprecv").val("");
        $(".otpsucs").val("");
        //        $(".otprowsucs").val("");
        //        $(".otpvalue").val("");
        //        $(".idget").val("");
        var detail = ".fetchpart_" + ctr;
        $.post('jobord_add.php', {ctr: ctr, hide: hide_check, prodtype: prodtype}, function (data) {
            $(data).appendTo('.tbody');
            ctr++;
            $('#items').val(ctr);
            $(detail).select2();
            if (prodtype == "") {
                $(".barcode").prop("disabled", true);
                $(".item").prop("disabled", true);
            }
        });
        //        $(".barcode").focus();
    }

    function getMsp() {
        var tr = $(this).closest("tr"),
                itemname = tr.find(".item").val(),
                color = tr.find(".color").val(),
                rate = tr.find(".rate").val(),
                lot = tr.find(".lot").val(),
                ratebfdisc = tr.find(".ratebfdisc").val(),
                data = {itemname: itemname, color: color, lot: lot};

        $.ajax({
            type: 'GET',
            dataType: 'json',
            url: "getRawMsp.php?m=a",
            data: data,
            success: function (response) {
                var m = response;
                var type = m.type;

                tr.find(".stqty").val(m.stqty);
                tr.find(".rawtype").val(type);
                tr.find(".barcode").val(itemname);
                tr.find(".mrp").val(m.mrp);
                tr.find(".hsncode").val(m.hsncode);
//                if (rate > 0) {
//                    tr.find(".rate").val(rate);
//                    tr.find(".ratebfdisc").val(ratebfdisc);
//                } else {
                tr.find(".cost").val(m.cost);
                tr.find(".rate").val(m.rate);
                tr.find(".ratebfdisc").val(m.rate);

//                }

                tr.find(".msp").val(m.msp);
                tr.find(".unit").val(m.unit);
                //                $("#overlay_form").show();
                var myEcho = "<h3>M.S.P = " + m.msp + "</h3>";
                $(".genotp").hide();
                $("#browdata").html(myEcho);
            }
        });
    }

    $('body').on('change', '.item2', getSize);

    function getSize() {

        var tr = $(this).closest("tr"),
                item = tr.find(".item2").val();
        if (item != '') {
            $.get('getSize.php', {item: item}, function (data) {
                if (data != "") {
                    tr.find(".size2").html(data);
                }
            });
        }
    }

});