$(document).ready(function () {
  $("body").off("click").on("click", ".remove", remove);
  $("body").on("focus blur change", ".item", getMsp);
  $("body").on("dblclick", ".rate", showMsp);
  $("body").on(
    "blur focus keyup click",
    "#autosale,.sufiamt,.qty, .rate, .amount, .discperc,.discount, .total, .remove, .roundoff, .totalamount,.discount2",
    caltran
  );
  $("body").on(
    "blur focus keyup click",
    "#autosale,.sufiamt,.subtotal, .litemdisc, .cdiscperc, .cdiscamt, .packkg, .packrate, .paidrate, .paidamt, .gstrate, .gstamt, .packamt, .netamt, .discount2, .ladvance, .lesother,.totalamount, .roundoff, .balance, .dcperc, .dcbperc, .dcamt, .remove,.party",
    mainCal
  );
  $("body").on("focus change", ".srno_0, .prodtype", validProdType);
  $("body").on("change", ".prodtype", generatePrint);
  $("body").on("blur", ".rate, .discperc", validMsp);
  $("body").on("blur", ".rate", validMrp);
  $("body").on("change", ".prodtype", prodSelect);
  $("body").on("blur change", ".barcode", GetItemFromCode);
  $("body").on("blur", ".qty", autoAddRows);
  $("body").on("focus blur", ".amount", storOtpSucs);
  $("body").on("blur", ".qty", noZeroAcptQty);
  $("body").on("blur", ".rate", noZeroAcptRate);
  $("body").on("blur", ".cdiscperc, .lesother ", checkMspTotal);
  $("body").on("change blur", ".party", changePrintName);
  //    $("body").on("change", ".party, .vouchdt", chkBill);
  $("body").on("change", ".party", getpartydetails);
  $("body").on("change keyup blur", ".credamt,.cashamt,.ccamt", chkTot);
  $("body").on("change blur", ".party", getTransp);
  $("body").on("change", ".party", getPartyAmt);
  $("body").on("blur", ".quotvouch", getQuotDet);

  function getQuotDet() {
    var quotvouch = $(".quotvouch").val(),
      data = { quotvouch: quotvouch };

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

        $(".party").val(m.party).trigger( "change" );
        $(".remark1").val(m.remark1);
        $(".remark2").val(m.remark2);
        $(".subtotal").val(m.subtotal);
        $(".totqty").val(m.totqty);
        $(".lessperc").val(m.lessperc);
        $(".lesother").val(m.lesother);
        $(".totalamount").val(m.totalamount);
        $(".packkg").val(m.packkg);
        $(".packrate").val(m.packrate);
        $(".packamt").val(m.packamt);
        $(".paidamt").val(m.paidamt);
        $(".paidrate").val(m.paidrate);
        $(".roundoff").val(m.roundoff);
        $(".netamt").val(m.netamt);
      },
    });

    getRawMatFromQuot()
  }



  function getRawMatFromQuot() {
    var quotvouch = $(".quotvouch").val();
    // data = { quotvouch: quotvouch };
    // var prodcode = $(".quot").val();
    // var jobgiven = $(".jobgiven").val();

            if (quotvouch != '') {
                $.get('getRawMatFromQuot.php', {quotvouch: quotvouch}, function (data) {
                    $("#saledtltab").html(data);
                });
            }
}
  function getPartyAmt() {
    var party = $(".party").val();
    var vouchdt = $(".vouchdt").val();
    $.post(
      "get_partyamt.php",
      { party: party, vouchdt: vouchdt },
      function (data) {
        $("#amtshow").text(data.mobal).trigger("change");
      }
    );
  }

  function getTransp() {
    var party = $(".party").val();
    $.post("getTranspComb.php", { party: party }, function (data) {
      $(".transporter").html(data).trigger("change");
    });
  }
  //    $('body').on('change keyup blur', '.invno, .party', chkInvno);
  //
  //    function chkInvno() {
  //        var party = $(".party").val(),
  //                invno = $(".invno").val(),
  //                vouchno = $(".vouchno").val();
  //
  //        $.post('chk_sl.php', {party: party, invno: invno, vouchno: vouchno}, function (data) {
  //            if (data.s == 1) {
  //                alert('These Invoice Already Exist on Voucher No  ' + data.vouchno);
  //                $(".invno").val('');
  //                $(".invno").focus();
  //            }
  //        }, 'json');
  //
  //    }

  function chkTot() {
    var netamt = $(".netamt").val(),
      credamt = $(".credamt").val(),
      ccamt = $(".ccamt").val(),
      cashamt = $(".cashamt").val(),
      pendcred = netamt - cashamt - ccamt;
    $(".credamt").val(pendcred);
  }

  //    function chkBill() {
  //        var party = $(".party").val(),
  //                vouchdt = $(".vouchdt").val(),
  //                vouchno = $(".vouchno").val();
  //
  //        if (party != '' && vouchdt != '' && vouchno != '') {
  //
  //            $.post('chkBill.php', {party: party, vouchdt: vouchdt, vouchno: vouchno}, function (data) {
  //                if (data != '') {
  //                    alert(data);
  ////                    $('.party').prop('selectedIndex', 1);
  //                    $(".party").select2("val", "");
  //                    $(".party").select2("open");
  //
  ////                    getParty();
  //                }
  //            });
  //
  //        }
  //    }

  function getpartydetails() {
    var party = $(".party").val(),
      data = { party: party };

    $.ajax({
      type: "GET",
      dataType: "json",
      url: "getpartydetail.php",
      data: data,
      success: function (response) {
        var m = response;
        $(".lessperc").val(m.discount);
        $(".packrate").val(m.packing);
        $(".paidrate").val(m.paid);
        mainCal();
      },
    });
  }

  //    function getParty() {
  //        $.post('getParty.php', {code: '1'}, function (data) {
  //            $(".party").html(data);
  //            $(".party").select2("open");
  //        });
  //    }

  //    changePrintName();

  function changePrintName() {
    var party = $(".party").val();
    var transname = $(".transname").val();
    if (party == "51") {
      $(".showname").show();
    } else {
      $(".showname").hide();
    }
    if (transname == "") {
      $.post("getTransport.php", { party: party }, function (data) {
        $(".transname").val(data);
      });
    }
  }

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

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

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

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

    Math.round($(".subtotal").val(val));

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

    $("#saledtltab")
      .find("tr")
      .each(function () {
        var row = $(this),
          qty = row.find(".qty").val(),
          msp = row.find(".msp").val(),
          rate = row.find(".rate").val(),
          amount = (parseFloat(qty) * parseFloat(rate)).toFixed(2),
          mspamount = (parseFloat(qty) * parseFloat(msp)).toFixed(2);

        row.find(".amount").val(amount);
        if (otprowsucs == "1") {
          row.find(".mspamount").val(amount);
        } else {
          row.find(".mspamount").val(mspamount);
        }
      });
    mainCal();
  }

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

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

    if (vouchdt != "" && invno != "") {
      $.post(
        "chekdupinv.php",
        { vouchdt: vouchdt, invno: invno, vouchno: vouchno },
        function (data) {
          if (parseFloat(data) > 0) {
            alert("Invoice No. Already Exist for Same Date");
            //                    return false;
            valid = false;
          }
        }
      );
    }

    if (party == "") {
      alert("Party Cannot Be Empty");
      return false;
      valid = false;
    }
    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 (ccamt > 0) {
      if (bankname.length <= 0) {
        alert("Bank Name Cannot Be Empty");
        return false;
        valid = false;
      }
    }

    if (valid) {
      var isValid = true;

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

  function noZeroAcptQty() {
    var $row = $(this).closest("tr"),
      mqty = $row.find(".qty").val();
    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 storOtpSucs() {
    var $row = $(this).closest("tr"),
      mrate = $row.find(".rate").val(),
      motp = $(".otprecv").val(),
      mmsp = $row.find(".msp").val();
    if (motp != "") {
      if (mrate < mmsp) {
        $row.find(".otprowsucs").val("1");
        $row.find(".otpvalue").val(motp);
      } else {
        $row.find(".otprowsucs").val("");
        $row.find(".otpvalue").val("");
      }
    }
  }

  $(".gendsotp").click(function () {
    var party = $(".party").val(),
      subtotal = $(".subtotal").val(),
      vouchno = $(".vouchno").val(),
      salesman = $(".salesman").val(),
      msptotal = $(".msptotal").val(),
      cdiscamt = $(".cdiscamt").val(),
      lesother = $(".lesother").val(),
      totdisc = parseFloat(lesother) + parseFloat(cdiscamt),
      data = {
        party: party,
        subtotal: subtotal,
        vouchno: vouchno,
        salesman: salesman,
        msptotal: msptotal,
        totdisc: totdisc,
      };

    $.ajax({
      type: "GET",
      dataType: "json",
      url: "getGenDiscOtp.php",
      data: data,
      success: function (response) {
        $("#overlay_form").show();

        $(".normotp").hide();
        $(".lesdsotp").show();
        var m = response;
        $(".otpdssend").val(m.otpdssend);

        //                $("#overlay_form").show();
        //                var myEcho = "<h3>M.S.P = " + m.msp + "</h3>";
        //                $(".genotp").hide();
        //                $("#otp").val(m.msp);
        alert("OTP Send to Registered Mobile No.");
        $(".otpdssend").focus();
      },
    });
  });

  function autoAddRows() {
    //        if ($(this).closest("tr").is(":last-child")) {
    //            AddRows();
    //        }
    var ctr = $("#items").val();
    var tr = $(this).closest("tr");
    var srno = tr.find(".srno").val();
    if (srno == ctr) {
      AddRows();
    }
  }

  $(".subdsotp").click(function () {
    var otpdsrecv = $(".otpdsrecv").val(),
      otpdssend = $(".otpdssend").val();
    if (otpdsrecv != "") {
      if (otpdsrecv == otpdssend) {
        $(".otpdssucs").val("1");
        $(".disctotp").val(otpdsrecv);
        $("#overlay_form").hide();
        $(".cdiscperc").attr("readonly", true);
        $(".cdiscamt").attr("readonly", true);
        $(".lesother").attr("readonly", true);
        $(".cdiscperc").focus();
        //                $("#ssubmit").show();
        $("#finishTab").show();
      } else {
        alert("OTP Does Not Match");
        $(".otpdsrecv").val("");
        $(".otpdssucs").val("");
        $(".disctotp").val("");
      }
    }
  });

  $(".subotp").click(function () {
    var otprecv = $(".otprecv").val(),
      otpsend = $(".otpsend").val();
    if (otprecv != "") {
      if (otprecv == otpsend) {
        $(".otpsucs").val("1");
        $("#overlay_form").hide();
        $("#finishTab").show();
        //                $("#ssubmit").show();
        //                $(".rate").focus();
        var trimidge = $("#idget").val();
        $("#rate" + trimidge).focus();
      } else {
        alert("OTP Does Not Match");
        $(".otprecv").val("");
        $(".otpsucs").val("");
      }
    }
  });

  ///////////////////////////////////////////////////IMP - START//////////////////////////////////////////////////

  function GetItemFromCode() {
    var $row = $(this).closest("tr");
    var itemcode = $row.find(".barcode").val();
    var prodtype = $(".prodtype").val();
    $.post(
      "show_item_dtl.php",
      { itemcode: itemcode, prodtype: prodtype },
      function (data) {
        if (data != "") {
          $row.find(".item").html(data).trigger("change");
          //                $row.find(".qty").focus();
          //                $row.find(".item").html(data).trigger("change");
        }
        //            $row.find(".itemcode").val(itemcode);
      }
    );
  }

  function prodSelect() {
    var prodtype = $(".prodtype").val(),
      data = { prodtype: prodtype };

    $.ajax({
      type: "GET",
      dataType: "html",
      url: "getTypeItem.php",
      data: data,
      success: function (response) {
        var m = response;
        $(".item").html(m);
      },
      error: function (request, textStatus, errorThrown) {},
    });
  }

  function validMsp() {
    $(".ratemspless").show();
    var tr = $(this).closest("tr"),
      otpsucs = $(".otpsucs").val(),
      otprowsucs = tr.find(".otprowsucs").val(),
      itemname = tr.find(".item").val(),
      rate = tr.find(".rate").val(),
      msp = tr.find(".msp").val(),
      mrp = tr.find(".mrp").val(),
      qty = tr.find(".qty").val(),
      srno = tr.find(".srno").val(),
      total = tr.find(".total").val(),
      discperc = tr.find(".discperc").val(),
      idget = $(this).attr("id"),
      mspamt = parseFloat(msp) * parseFloat(qty);
    if (otpsucs == "1" || otprowsucs == "1") {
    } else {
      if (rate > 0) {
        //                if (parseFloat(rate) < parseFloat(msp) && parseFloat(rate) != parseFloat(msp)) {
        //                    alert("Rate Cannot Be Less Than M.S.P");
        //                    tr.find(".qty").focus();
        //                    tr.find(".rate").val("0");
        //
        ////                    $("#overlay_form").show();
        ////                    $("#close_form1").hide();
        ////                    $("#close_form").show();
        ////
        ////                    $(".normotp").show();
        ////                    $(".lesdsotp").hide();
        ////                    //                var myEcho = "<h3>M.S.P = " + msp + "</h3>";
        ////                    $(".genotp").show();
        ////                    $("#browdata").val(msp);
        ////                    $("#rowitm").val(itemname);
        ////                    $("#rowsrno").val(srno);
        ////                    $("#rowqty").val(qty);
        ////                    $("#rowrate").val(rate);
        ////                    $("#rowmsp").val(msp);
        ////                    $("#rowmrp").val(mrp);
        ////
        ////                    var newidget = idget.substring(4, 10),
        ////                            trimidget = newidget;
        ////                    $("#idget").val(trimidget);
        ////                    //                    tr.find(".rate").val("0");
        ////                    tr.find(".rate").attr("readonly", true);
        ////                    $("#finishTab").hide();
        //                    //                    $("#ssubmit").hide();
        //                    //                    tr.find(".rate").focus();
        //
        //                }
        if (discperc > 0) {
          if (
            parseFloat(total) < parseFloat(mspamt) &&
            parseFloat(total) != parseFloat(mspamt)
          ) {
            alert("Total Cannot Be Less Than M.S.P-Total");
            tr.find(".discperc").val("0");
            tr.find(".discount").val("0");
            tr.find(".discperc").focus();
          }
        }
      }
    }
  }

  function validMrp() {
    //        var tr = $(this).closest("tr"),
    //                rate = tr.find(".rate").val(),
    //                mrp = tr.find(".mrp").val();
    //        if (rate > 0) {
    //            if (parseFloat(rate) > parseFloat(mrp)) {
    //                alert("Rate Cannot Be Greater Than M.R.P");
    //                tr.find(".rate").val("0");
    //            }
    //        }
  }

  if ($(".prodtype").val() == "") {
    $(".item").prop("disabled", true);
    $(".barcode").prop("disabled", true);
    $(".myPrint").attr("href", "");
  }

  function generatePrint() {
    var vouch = $(".vouchno").val();
    var prodtype = $(".prodtype").val();

    if (prodtype == "P") {
      $(".myPrint").attr("href", "salep_print.php?vouchno=" + vouch);
      $(".myPrint").attr("target", "_blank");
    } else {
      $(".myPrint").attr("href", "#");
      $(".myPrint").attr("target", "");
    }
  }
  generatePrint();

  $(document).keydown(function (e) {
    if (e.ctrlKey && String.fromCharCode(e.which).toLowerCase() === "m") {
      rajEvent = new Event("CTR+M");
      document.dispatchEvent(rajEvent);
    }
  });

  $(document).keydown(function (e) {
    if (
      e.ctrlKey &&
      e.altKey &&
      String.fromCharCode(e.which).toLowerCase() === "b"
    ) {
      rajEvent = new Event("CTR+B");
      document.dispatchEvent(rajEvent);
    }
  });

  document.addEventListener("CTR+M", showMsp, false);
  document.addEventListener("CTR+B", showPrint, false);

  function showPrint() {
    var vouchno = $(".vouchno").val();
    var prodtype = $(".prodtype").val();
    if (prodtype == "P") {
      window.open("salep_print.php?vouchno=" + vouchno, "_blank");
    }
  }

  $(".genotp").click(function () {
    var rowitem = $(".rowitm").val(),
      rowqty = $(".rowqty").val(),
      rowrate = $(".rowrate").val(),
      rowmsp = $(".rowmsp").val(),
      rowmrp = $(".rowmrp").val(),
      vouchno = $(".vouchno").val(),
      salesman = $(".salesman").val(),
      data = {
        rowitem: rowitem,
        rowqty: rowqty,
        rowrate: rowrate,
        vouchno: vouchno,
        salesman: salesman,
        rowmsp: rowmsp,
        rowmrp: rowmrp,
      };

    $.ajax({
      type: "GET",
      dataType: "json",
      url: "getGenratedOtp.php",
      data: data,
      success: function (response) {
        var m = response;
        $(".otpsend").val(m.otpsend);
        //alert(m.otpsend);

        //                $("#overlay_form").show();
        //                var myEcho = "<h3>M.S.P = " + m.msp + "</h3>";
        //                $(".genotp").hide();
        $("#browdata").val(m.msp);
        alert("OTP Send to Registered Mobile No.");
        $(".otpsend").focus();
      },
    });
  });

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

    $.ajax({
      type: "GET",
      dataType: "json",
      url: "getItemMsp.php?m=a",
      data: data,
      success: function (response) {
        var m = response;
        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(".rate").val(m.rate);
        tr.find(".ratebfdisc").val(m.rate);

        //                }

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

  function showMsp() {
    //        var tr = $(this).closest("tr"),
    //                itemname = tr.find(".item").val(),
    //                data = {itemname: itemname};

    var itemname = $(document.activeElement.closest("tr")).find(".item").val(),
      data = { itemname: itemname };

    $.ajax({
      type: "GET",
      dataType: "json",
      url: "getItemMsp.php?m=a",
      data: data,
      success: function (response) {
        var m = response;
        var str = "MSP  = " + m.msp;
        var result = str;

        alert(result);
        //                $("#overlay_form").show();
        //                var myEcho = "<h3>M.S.P = " + m.msp + "</h3>";
        //                $("#browdata").html(myEcho);
        //                $(".ratemspless").hide();
        //                $(".lesdsotp").hide();
        ////                $(".normotp").show();
        //                $(".close_form1").hide();
        //                $(".genotp").hide();
      },
    });
  }

  function validProdType() {
    var prodtype = $(".prodtype").val();

    if (prodtype == "") {
      $(".barcode").prop("disabled", true);
      $(".item").prop("disabled", true);
      $(".prodtype").select2("open");
      alert("Please Select The Product Type");
    } else {
      $(".barcode").prop("disabled", false);
      $(".item").prop("disabled", false);
    }
  }

  ///////////////////////////////////////////////////IMP - END//////////////////////////////////////////////////

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

  function mainCal() {
    var subtotal = $(".subtotal").val(),
      litemdisc = $(".litemdisc").val(),
      cdiscperc = $(".cdiscperc").val(),
      cdiscamt = ((subtotal * cdiscperc) / 100).toFixed(2),
      //                cdiscamt = (((subtotal - litemdisc) * cdiscperc) / 100).toFixed(2),
      packkg = $(".packkg").val(),
      packrate = $(".packrate").val(),
      paidrate = $(".paidrate").val(),
      gstrate = $(".gstrate").val(),
      lessperc = $(".lessperc").val();
    var lesother = 0;
    if (lessperc > 0) {
      lesother = (lessperc * subtotal) / 100;
      $(".lesother").val(lesother);
    }
    var lesother = $(".lesother").val();

    if (lesother != 0) {
      lesother = lesother;
    } else {
      lesother = 0;
    }

    if (packrate != 0) {
      packrate = packrate;
    } else {
      packrate = 0;
    }

    if (paidrate != 0) {
      paidrate = paidrate;
    } else {
      paidrate = 0;
    }

    if (gstrate != 0) {
      gstrate = gstrate;
    } else {
      gstrate = 0;
    }

    if (packkg != 0) {
      packkg = packkg;
    } else {
      packkg = 0;
    }

    var packamt = (parseFloat(packkg) * parseFloat(packrate)).toFixed(2);
    if (packamt != 0) {
      packamt = packamt;
    } else {
      packamt = 0;
    }

    var paidamt = (parseFloat(packkg) * parseFloat(paidrate)).toFixed(2);
    if (paidamt != 0) {
      paidamt = paidamt;
    } else {
      paidamt = 0;
    }

    var gstamt = parseFloat(gstrate).toFixed(2);
    if (gstamt != 0) {
      gstamt = gstamt;
    } else {
      gstamt = 0;
    }

    var netamt = (parseFloat(subtotal) - parseFloat(lesother)).toFixed(0),
      ladvance = $(".ladvance").val(),
      balance = (parseFloat(netamt) - parseFloat(ladvance)).toFixed(0),
      dcperc = $(".dcperc").val(),
      dcbperc = $(".dcbperc").val(),
      dcamt = Math.round((((netamt * dcbperc) / 100) * dcperc) / 100);

    $(".totalamount").val(netamt);
    if (dcamt > 0) {
      if (dcamt > netamt) {
        $(".dcbperc").val("0");
        //                $(".dcamt").val("0");
        alert("Driver Amount Cannot Be Greater than Net Amount");
        $(".dcperc").focus();
      }
    }

    var totalamount = $(".totalamount").val(),
      roundoff = $(".roundoff").val();
    if (roundoff != "") {
      roundoff = roundoff;
    } else {
      roundoff = 0;
    }
    var final =
      parseFloat(totalamount) +
      parseFloat(roundoff) +
      parseFloat(packamt) +
      parseFloat(paidamt) +
      parseFloat(gstamt);
    $(".netamt").val(final);
    $(".credamt").val(final);

    $(".cdiscamt").val(cdiscamt);
    $(".packamt").val(packamt);
    $(".paidamt").val(paidamt);
    $(".gstamt").val(gstamt);
    //        $(".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));

    chkTot();
  }

  printLast();

  function printLast() {
    var vouchno = $(".vouchno").val(),
      para = $(".para").val(),
      link = "salegstmulti_print.php?vouchno=" + vouchno;

    $.ajax({
      type: "POST",
      datatype: "json",
      data: { vouchno: vouchno },
      url: "print_last.php",
      success: function (response) {
        if (response.success == true) {
          window.open(link, "_blank");
        }
      },
      error: function (request, errorThrown, textStatus) {},
    });
  }

  function checkMspTotal() {
    var subtotal = $(".subtotal").val(),
      cdiscamt = $(".cdiscamt").val(),
      //                cdiscamt = (((subtotal - litemdisc) * cdiscperc) / 100).toFixed(2),
      lesother = $(".lesother").val(),
      msptotal = $(".msptotal").val(),
      //                msptotal = $(".msptotal").val(),
      otpdssucs = $(".otpdssucs").val(),
      newtotal = subtotal - cdiscamt - lesother;
    if (otpdssucs == "1") {
      $("#finishTab").show();
      //            $("#ssubmit").show();
    } else {
      if (msptotal > newtotal) {
        $("#overlay_form").show();
        $("#finishTab").hide();
        //                $("#ssubmit").hide();
        $(".normotp").hide();
        $(".lesdsotp").show();
        $("#close_form1").show();
        $("#close_form").hide();
      } else {
        $("#overlay_form").hide();
        $("#finishTab").show();
        //                $("#ssubmit").show();
      }
    }
  }
  ///////////////////////////////////////////////////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(
      "sale_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();
  }
});
