$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
//    $("body").on("focus", '.total', autoAddRows);
    $(".tbody").on("keyup blur focus", ".qty, .rate, .amount", calDetail);
    $("body").on("change keyup blur", ".qty,.rate,.amount,.igstrate,.cgstrate", calMain);
    $("body").on("focus", ".qty", gethsn);
    $("body").on("click change", ".oms", gsttr);
    $("body").on("blur", ".invno", chkinvno);
    $("body").on("blur change", ".vouchdt", getvoucher);
    $("body").on("change keyup blur", ".rate,.qty,.amount,.discperc", caltran);
    $("body").on("focus", '.discamt', autoaddrow);
    $("body").on("change blur", '.cmbparty', getinvno);
    $("body").on('click', '.butno', modaldetail);
    $("body").on('click', '.tdinvno', fetch);
    $("body").on("change", ".cmbparty", getoms);
    $("body").on("click", "#submit ,#cancel", hide_but);

    var salelock = $(".salelock").val();
    if (salelock != "0000-00-00" && salelock != "") {
        $("#hadd").hide();
        $("#hedit").hide();
        $("#hdelete").hide();
        $("#scancbill").hide();
    }

    function hide_but() {
        $("#ssubmit").hide();
        $("#scancel").hide();
    }


    function getoms() {
        var party = $(".cmbparty").val();
        $.post('chk_oms.php', {party: party}, function (data) {
            if (data == 1) {
                $(".oms").prop('checked', true);
            } else {
                $(".oms").prop('checked', false);
            }
        }, 'json');
    }


    $(document).keydown(function (event) {
        //19 for Mac Command+S
        if (event.keyCode == 27) { // escape key maps to keycode `27`
            // <DO YOUR WORK HERE>
            $("#prevmodal").modal('hide');
        }

    });

    function fetch() {
        var tr = $(this).closest("tr"),
                invno = tr.find('.invoice').val();
        $('.invno').val(invno);
        $("#prevmodal").modal("hide");
    }
//    
//    $('.tdinvno').click(function(){
//       var tr = $(this).closest("tr"),
//        invno = tr.find('.tdinvno').val();
//        $('.invno').val(invno);
//    });

    function modaldetail() {
        var party = $('.cmbparty').val();
        if ($('.pregst').prop("checked") != true && party != '') {

            $.post('get_credinv.php', {party: party}, function (data) {
                if (data != '') {
                    $('.invdetail').html(data);
                    $("#prevmodal").modal("show");
                }
            });
        }
    }


    function getinvno() {
        if ($('.pregst').prop("checked") == true) {
            $('.invno').val('');
//            $('.invno').prop('readonly', false);
        } else {
            alert("Not Pre-Gst Search Against Invoice No. Use Search Button For Invoice Number.");
            $('.butno').focus();
            $('.invno').val('');
//            $('.invno').prop('readonly', true);
        }
    }

    function autoaddrow() {
        if ($(this).closest('tr').is(":last-child")) {
            AddRows();
        }
    }


    $('.pregst').blur(function () {
        $(".cmbparty").focus();
        $(".cmbparty").select2("open");
    });

    $('.oms').focus(function () {
        if (confirm('Is it out of state ?')) {
            $('.oms').prop("checked", true);
            gsttr();
            $('.barcode').focus();
        } else {
            $('.oms').prop("checked", false);
            $('.barcode').focus();
        }
    });

    $('.vouchdt').blur(function () {
        var addflag = $('.addflag').val();
        if (addflag != 1) {
            $(".cmbparty").select2("open");
        }
    });

    function chkinvno() {
        var invno = $('.invno').val();
        var party = $(".cmbparty").val();
        if (invno.length > 0) {
            $.post('check_credinv.php', {invno: invno, party: party}, function (data) {
                if (data == 'success') {
                    alert('This Invoice No. For This Party Already Exist');
                    $('.invno').val('');
                    $('.invno').focus();
                }
            });
        }
    }

    function gsttr() {
        $('.tbody').find('tr').each(function () {
            var row = $(this),
                    cgstrate = row.find('.cgstrate').val(),
                    igstrate = row.find('.igstrate').val(),
                    igstamt = row.find('.igstamt').val(),
                    cgstamt = row.find('.cgstamt').val();
            if ($('.oms').prop("checked") == true) {
                if (igstrate == 0) {
                    var nigstrt = cgstrate * 2,
                            nigstamt = cgstamt * 2;
                    row.find('.igstrate').val(nigstrt);
                    row.find('.igstamt').val(nigstamt);
                    row.find('.cgstrate').val(0);
                    row.find('.cgstamt').val(0);
                    row.find('.sgstrate').val(0);
                    row.find('.sgstamt').val(0);
                }

            } else {
                if (cgstrate == 0) {
                    var ncgstrt = igstrate / 2,
                            ncgstamt = igstamt / 2;
                    row.find('.cgstrate').val(ncgstrt);
                    row.find('.cgstamt').val(ncgstamt);
                    row.find('.sgstrate').val(ncgstrt);
                    row.find('.sgstamt').val(ncgstamt);
                    row.find('.igstrate').val(0);
                    row.find('.igstamt').val(0);

                }

            }
        });
        caltran();
    }


//    function autoAddRows() {
//        if ($(this).closest("tr").is(":last-child")) {
//            AddRows();
//        }
//    }

    function getvoucher() {
        var date = new Date($(".vouchdt").val()),
                month = (date.getMonth() + 1).toString(),
                vouchno = $('.vouchno').val(),
                voucher = '0' + month + vouchno;

        $('.monno').val(month);
//        $('.voucher').val(voucher);

    }


    $('#hedit').click(function () {
        var addflag = $('.addflag').val();
        if (addflag != 1) {
            $('.oms').prop("disabled", true);
        } else {
            $('.oms').prop("disabled", false);
        }
    });



    function gethsn() {
        var tr = $(this).closest("tr");
        var barcode = tr.find('.barcode').val();
        $.post('get_salegst.php', {barcode: barcode}, function (data) {
//            tr.find('.discperc').val(data.discperc);
            if ($(".oms").prop('checked') == true) {
                tr.find('.igstrate').val(data.igst);
            } else {
                tr.find('.cgstrate').val(data.cgst);
                tr.find('.sgstrate').val(data.sgst);
            }
        }, 'json');
    }

    function caltran() {
        var cgst0 = 0,
                cgst5 = 0,
                cgst12 = 0,
                cgst18 = 0,
                cgst28 = 0,
                tot0 = 0,
                tot0a = 0,
                tot5 = 0,
                tot12 = 0,
                tot18 = 0,
                tot28 = 0,
                igst0 = 0,
                igst1 = 0,
                igst5 = 0,
                igst12 = 0,
                igst18 = 0,
                igst28 = 0,
                tot1a = 0,
                tot5a = 0,
                tot12a = 0,
                tot18a = 0,
                tot28a = 0,
                tota = 0,
                cgst0a = 0,
                cgst5a = 0,
                cgst12a = 0,
                cgst18a = 0,
                cgst28a = 0,
                igst0a = 0,
                igst5a = 0,
                igst12a = 0,
                igst18a = 0,
                igst28a = 0,
                totgst0 = 0,
                totgst5 = 0,
                totgst12 = 0,
                totgst18 = 0,
                totgst28 = 0,
                totbillamt = 0,
                tcsamt = 0,
                pretcs = 0,
                posttcs = 0,
                taxable = 0,
                billdiscamt = $('.billdiscamt').val();
//                postamt = $('.postamt').val();

        if ($('.deemexp').prop("checked") == true) {

            var tottaxble5 = 0,
                    tottaxble12 = 0,
                    tottaxble18 = 0,
                    tottaxble28 = 0;

            $('.tbody').find('tr').each(function () {
                var row = $(this),
                        amt = row.find('.amount').val(),
                        discperc = row.find('.discperc').val(),
                        discount = row.find('.discamt').val();
                if (discperc > 0) {
                    discount = parseFloat(discperc) * parseFloat(amt) / 100;
                }
                var postperc = $('.postperc').val(),
                        rdisc = Math.round(discount * 100) / 100,
                        taxval = (parseFloat(amt) - parseFloat(discount)).toFixed(2),
                        crate = row.find('.cgstrate').val(),
                        postamt = $('.postamt').val(),
                        newtax = 0,
                        edtomis = $("#editoms").val(),
                        irate = row.find('.igstrate').val();
//                        alert(edtomis);
                if ($('.oms').prop("checked") == true || edtomis == '1') {
                    if (irate > 0) {
                        if (irate == postperc) {
//                            newtax = parseFloat(taxval) + parseFloat(postamt);
                            newtax = parseFloat(taxval);
                            $('.postperc').val(0);
                        } else {
                            newtax = parseFloat(taxval);
                        }
                    } else {
                        newtax = parseFloat(taxval);

                    }
                } else if (crate > 0) {

                    if (crate == postperc) {
//                        newtax = parseFloat(taxval) + parseFloat(postamt);
                        newtax = parseFloat(taxval);
                        $('.postperc').val(0);
                    } else {
                        newtax = parseFloat(taxval);
                    }

                } else {

                    newtax = parseFloat(taxval);
                }
//                                        alert(taxval);

                var iamt = parseFloat(newtax) * 0.1 / 100,
                        total = parseFloat(iamt) + parseFloat(newtax),
                        rtotal = Math.round(total * 100) / 100;
                row.find('.subtot').val(newtax);
                row.find('.discamt').val(rdisc);
                row.find('.total').val(rtotal);
                row.find('.igstamt').val(iamt);
                row.find('.cgstamt').val(0);
                row.find('.sgstamt').val(0);
                igst1 += parseFloat(iamt);
            });
            var grosstot = 0,
                    discamt = 0,
                    subtot = 0;
            $(".amount").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    grosstot += parseFloat(this.value);
                }
            });
            $(".grossamt").val(grosstot.toFixed(2));
            $(".discamt").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    discamt += parseFloat(this.value);
                }
            });
            $('.totdiscamt').val(discamt.toFixed(2));
            $(".subtot").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    subtot += parseFloat(this.value);
                }
            });
//        taxable = parseFloat(subtot) - parseFloat(billdiscamt);
            taxable = parseFloat(subtot);
            $('.taxableamt').val(taxable);
            $('.igst1').val(igst1.toFixed(2));
            $('.totgst1').val(igst1.toFixed(2));
            $('.cgst0').val(0);
            $('.sgst0').val(0);
            $('.igst0').val(0);
            $('.cgst5').val(0);
            $('.sgst5').val(0);
            $('.igst5').val(0);
            $('.cgst12').val(0);
            $('.sgst12').val(0);
            $('.igst12').val(0);
            $('.cgst18').val(0);
            $('.sgst18').val(0);
            $('.igst18').val(0);
            $('.cgst28').val(0);
            $('.sgst28').val(0);
            $('.igst28').val(0);
            $('.totgst0').val(0);
            $('.totgst5').val(0);
            $('.totgst12').val(0);
            $('.totgst18').val(0);
            $('.totgst28').val(0);
            totbillamt = (parseFloat(taxable) + parseFloat(igst1)).toFixed(2);
        } else {

            var tottaxble5 = 0,
                    tottaxble12 = 0,
                    tottaxble18 = 0,
                    tottaxble28 = 0;

            var editoms = $("#editoms").val();
            $('.tbody').find('tr').each(function () {
                var row = $(this),
                        amt = row.find('.amount').val(),
                        discperc = row.find('.discperc').val(),
                        discount = row.find('.discamt').val();
                if (discperc > 0) {
                    discount = parseFloat(discperc) * parseFloat(amt) / 100;
                }
                var postperc = $('.postperc').val(),
                        rdisc = Math.round(discount * 100) / 100,
                        taxval = parseFloat(amt) - parseFloat(discount),
                        crate = row.find('.cgstrate').val(),
                        postamt = $('.postamt').val(),
                        newtax = 0,
                        irate = row.find('.igstrate').val();
                if ($('.oms').prop("checked") == true || editoms == 1) {

                    if (irate > 0) {
                        if (irate == postperc) {
//                            newtax = parseFloat(taxval) + parseFloat(postamt);
                            newtax = parseFloat(taxval);
                            $('.postperc').val(0);
                        } else {
                            newtax = parseFloat(taxval);
                        }
                    } else {
                        newtax = parseFloat(taxval);

                    }
                } else if (crate > 0) {

                    if (crate == postperc) {
//                        newtax = parseFloat(taxval) + parseFloat(postamt);
                        newtax = parseFloat(taxval);
                        $('.postperc').val(0);
                    } else {
                        newtax = parseFloat(taxval);
                    }

                } else {
                    newtax = parseFloat(taxval);
                }

                var cgstamnt = parseFloat(newtax) * parseFloat(crate) / 100,
                        sgstamnt = parseFloat(newtax) * parseFloat(crate) / 100,
                        iamt = (parseFloat(newtax) * parseFloat(irate) / 100).toFixed(2),
                        total = (parseFloat(cgstamnt) + parseFloat(sgstamnt) + parseFloat(iamt) + parseFloat(newtax)).toFixed(2),
                        rtotal = Math.round(total * 100) / 100;
                row.find('.subtot').val(newtax);
                row.find('.discamt').val(rdisc);
                row.find('.total').val(rtotal);
                row.find('.cgstamt').val(cgstamnt);
                row.find('.sgstamt').val(sgstamnt);
                row.find('.igstamt').val(iamt);


                if ($('.oms').prop("checked") == true || editoms == 1) {



                    if (irate == 0) {
                        tot0a = parseFloat(newtax);
                        tot0 += parseFloat(tot0a);

                    }
                    if (irate == 5) {
                        tot5a = parseFloat(newtax);
                        tot5 += parseFloat(tot5a);

                    }

                    if (irate == 12) {
                        tot12a = parseFloat(newtax);
                        tot12 += parseFloat(tot12a);

                    }

                    if (irate == 18) {
                        tot18a = parseFloat(newtax);
                        tot18 += parseFloat(tot18a);

                    }
                    if (irate == 28) {
                        tot28a = parseFloat(newtax);
                        tot28 += parseFloat(tot28a);

                    }

                } else {

                    if (crate == 0) {
                        tot0a = parseFloat(newtax);
                        tot0 += parseFloat(tot0a);

                    }
                    if (crate == 2.5) {
                        tot5a = parseFloat(newtax);
                        tot5 += parseFloat(tot5a);

                    }

                    if (crate == 6) {
                        tot12a = parseFloat(newtax);
                        tot12 += parseFloat(tot12a);

                    }

                    if (crate == 9) {
                        tot18a = parseFloat(newtax);
                        tot18 += parseFloat(tot18a);

                    }
                    if (crate == 14) {
                        tot28a = parseFloat(newtax);
                        tot28 += parseFloat(tot28a);

                    }
                }





                if (crate <= 0) {
                    cgst0a = parseFloat(cgstamnt);
                    cgst0 += parseFloat(cgst0a);
                    igst0a = 0;
                } else if (crate < 3) {
                    cgst5a = parseFloat(cgstamnt);
                    cgst5 += parseFloat(cgst5a);
                    igst5a = 0;

//                    tot5a = 0;
                } else if (crate < 7) {
                    cgst12a = parseFloat(cgstamnt);
                    cgst12 += parseFloat(cgst12a);
                    igst12a = 0;
//                    tot12a = parseFloat(newtax);
//                    tot12 += parseFloat(tot12a);
//                    tot12a = 0;
                } else if (crate < 10) {
                    cgst18a = parseFloat(cgstamnt);
                    cgst18 += parseFloat(cgst18a);
                    igst18a = 0;
//                    tot18a = parseFloat(newtax);
//                    tot18 += parseFloat(tot18a);
//                    tot18a = 0;
                } else if (crate < 15) {
                    cgst28a = parseFloat(cgstamnt);
                    cgst28 += parseFloat(cgst28a);
                    igst28a = 0;
//                    tot28a = parseFloat(newtax);
//                    tot28 += parseFloat(tot28a);
//                    tot28a = 0;
                }

                if (irate <= 0) {
                    igst0a = parseFloat(iamt);
                    igst0 += parseFloat(igst0a);
                    cgst0a = 0;
//                    tot5a = parseFloat(newtax);
//                    tot5 += parseFloat(tot5a);
//                    tot5a = 0;
                } else if (irate < 7) {
                    igst5a = parseFloat(iamt);
                    igst5 += parseFloat(igst5a);
                    cgst5a = 0;
//                    tot5a = parseFloat(newtax);
//                    tot5 += parseFloat(tot5a);
//                    tot5a = 0;
                } else if (irate < 13) {
                    igst12a = parseFloat(iamt);
                    igst12 += parseFloat(igst12a);
                    cgst12a = 0;
//                    tot12a = parseFloat(newtax);
//                    tot12 += parseFloat(tot12a);
//                    tot12a = 0;

                } else if (irate < 19) {
                    igst18a = parseFloat(iamt);
                    igst18 += parseFloat(igst18a);
                    cgst18a = 0;
//                    tot18a = parseFloat(newtax);
//                    tot18 += parseFloat(tot18a);
//                    tot18a = 0;

                } else if (irate < 29) {
                    igst28a = parseFloat(iamt);
                    igst28 += parseFloat(igst28a);
                    cgst28a = 0;
//                    tot28a = parseFloat(newtax);
//                    tot28 += parseFloat(tot28a);
//                    tot28a = 0;
                }



            });




            var grosstot = 0,
                    discamt = 0,
                    subtot = 0;
            $(".amount").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    grosstot += parseFloat(this.value);
                }
            });
            $(".grossamt").val(grosstot.toFixed(2));
            $(".discamt").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    discamt += parseFloat(this.value);
                }
            });
            $('.totdiscamt').val(discamt.toFixed(2));
            $(".subtot").each(function () {
                if (!isNaN(this.value) && this.value.lenght != 0) {
                    subtot += parseFloat(this.value);
                }
            });



            var postage = $('.postamt').val(),
                    postage_gst = postage * 0.18,
                    igst18_2 = 0,
                    cgst18_2 = 0,
                    postcgst = 0;

            if ($('.oms').prop("checked") == true || editoms == 1) {

                igst18_2 = parseFloat(igst18) + parseFloat(postage_gst);

            } else {
                postcgst = postage_gst / 2;

                cgst18_2 = parseFloat(cgst18) + parseFloat(postcgst);
            }


//            var tot18_2 = parseFloat(tot18) ;


            taxable = subtot.toFixed(2);
            $('.taxableamt').val(taxable);

            $(".tottaxble0").val(tot0.toFixed(2));
            $(".tottaxble5").val(tot5.toFixed(2));
            $(".tottaxble12").val(tot12.toFixed(2));
            $(".tottaxble18").val(tot18.toFixed(2));
            $(".tottaxble28").val(tot28.toFixed(2));
            totgst5 = (parseFloat(cgst5) + parseFloat(cgst5) + parseFloat(igst5)).toFixed(2);
            totgst12 = (parseFloat(cgst12) + parseFloat(cgst12) + parseFloat(igst12)).toFixed(2);
            totgst18 = (parseFloat(cgst18) + parseFloat(cgst18) + parseFloat(igst18)).toFixed(2);
            totgst28 = (parseFloat(cgst28) + parseFloat(cgst28) + parseFloat(igst28)).toFixed(2);

            $('.cgst0').val(cgst0.toFixed(2));
            $('.sgst0').val(cgst0.toFixed(2));
            $('.igst0').val(igst0.toFixed(2));
            $('.cgst5').val(cgst5.toFixed(2));
            $('.sgst5').val(cgst5.toFixed(2));
            $('.igst5').val(igst5.toFixed(2));
            $('.cgst12').val(cgst12.toFixed(2));
            $('.sgst12').val(cgst12.toFixed(2));
            $('.igst12').val(igst12.toFixed(2));
            $('.cgst18').val(cgst18.toFixed(2));
            $('.sgst18').val(cgst18.toFixed(2));
            $('.igst18').val(igst18.toFixed(2));
            $('.cgst28').val(cgst28.toFixed(2));
            $('.sgst28').val(cgst28.toFixed(2));
            $('.igst28').val(igst28.toFixed(2));
            $('.totgst0').val(totgst0.toFixed(2));
            $('.totgst5').val(totgst5);
            $('.totgst12').val(totgst12);
            $('.totgst18').val(totgst18);
            $('.totgst28').val(totgst28);
            $('.igst1').val(0);
            $('.totgst1').val(0);

//            var tcsperc = $(".tcsperc").val();
//            pretcs = (parseFloat(taxable) + parseFloat(totgst0) + parseFloat(totgst5) + parseFloat(totgst12) + parseFloat(totgst18) + parseFloat(totgst28)).toFixed(2);
//            tcsamt = ((tcsperc * pretcs) / 100).toFixed(2);
//            posttcs = (parseFloat(taxable) + parseFloat(totgst0) + parseFloat(totgst5) + parseFloat(totgst12) + parseFloat(totgst18) + parseFloat(totgst28) + parseFloat(tcsamt)).toFixed(2);
        }

        var totbillamt2 = (parseFloat(taxable) + parseFloat(totgst0) + parseFloat(totgst5) + parseFloat(totgst12) + parseFloat(totgst18) + parseFloat(totgst28)).toFixed(2);
        var rtotbillamt = Math.round(totbillamt2);

        var rdoff = (rtotbillamt - totbillamt2).toFixed(2);
        $(".roundoff").val(rdoff);

//        if ($('.freeflag').prop("checked") == true) {
//            $('.freeamount').val(rtotbillamt);
//            $(".totbillamt").val(0);
//        } else {
//            $(".tcsamt").val(tcsamt);
//            $(".pretcs").val(pretcs);
        $(".totbillamt").val(rtotbillamt);
//            $('.freeamount').val(0);
//        }
//        calDetail();
    }


    function calDetail() {
        var tr = $(this).closest("tr"),
                qty = tr.find(".qty").val(),
                rate = tr.find(".rate").val(),
                amount = parseFloat(rate) * parseFloat(qty),
                subtotal = 0;

        tr.find(".amount").val(amount);

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

    function calMain() {
        var tr = $(this).closest("tr");
        var amt = tr.find('.amount').val(),
                discperc = tr.find('.discperc').val(),
                discount = (discperc * amt) / 100;
        tr.find('.discamt').val(discount);
        var taxval = parseFloat(amt) - parseFloat(discount);
        tr.find('.subtot').val(taxval);

        var cgstrate = tr.find('.cgstrate').val(),
                sgstrate = tr.find('.sgstrate').val(),
                cgstamnt = parseFloat(taxval) * parseFloat(cgstrate) / 100,
                sgstamnt = parseFloat(taxval) * parseFloat(sgstrate) / 100,
                total = Math.round(parseFloat(cgstamnt) + parseFloat(sgstamnt) + parseFloat(taxval));

        tr.find('.cgstamt').val(cgstamnt);
        tr.find('.sgstamt').val(sgstamnt);
        tr.find('.total').val(total);

        var grosstot = 0,
                discamt = 0,
                subtot = 0,
                cgstamt = 0,
                sgstamt = 0;


        $(".amount").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                grosstot += parseFloat(this.value);
            }
        });
        $(".grossamt").val(grosstot.toFixed(2));

        $(".discamt").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                discamt += parseFloat(this.value);
            }
        });
        $('.totdiscamt').val(discamt.toFixed(2));

        $(".subtot").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                subtot += parseFloat(this.value);
            }
        });
        $('.taxableamt').val(subtot.toFixed(2));

        $(".cgstamt").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                cgstamt += parseFloat(this.value);
            }
        });
        $('.totcgst').val(cgstamt.toFixed(2));

        $(".sgstamt").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                sgstamt += parseFloat(this.value);
            }
        });
        $('.totsgst').val(sgstamt.toFixed(2));




        var totbillamt = Math.round(parseFloat(subtot) + parseFloat(cgstamt) + parseFloat(sgstamt));


        $(".totbillamt").val(totbillamt);
    }

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

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


});