<script>

{*-- ここからjsでのデータ表示用 ---------------------------------------------------*}
function doHeaderEnable(pmode) { {*pmode:H Header有効・D 明細有効*}
  let h = $("#headerTop");
  let d = $("#detailTop");
  let m = $("#funcMenu");
  let h1 = h.find(".header1");
  let h2 = h.find(".header2");
  let w_sts = common.getValue(h1.find(".sts"));
  let w_newmode = common.getValue(h1.find(".newmode"));

  if (pmode == "H") { {*Header有効*}
    h1.removeClass("noevent");
    h2.addClass("noevent");
    d.addClass("noevent");
    $(".Func2").removeClass("noevent");
    $(".Func3").addClass("noevent");
    $(".Func4").addClass("noevent");
    $(".Func5").addClass("noevent");
    $(".Func9").addClass("noevent");
    $(".Func12").removeClass("noevent");

    {*削除タイトル表示*}
    d.find(".delttl").show();

    $("#lastDetail").addClass("hide");  {*行追加アイテム*}

    h.find(".newLabel").hide(); {*右上モード*}

    h.find(".spktcd").focus();
  } else {
    h1.addClass("noevent");
    h2.removeClass("noevent");
    d.removeClass("noevent");
    $(".Func2").addClass("noevent");
    if (w_sts == "2") { {*確定済み・削除不可*}
      $(".Func3").addClass("noevent");
      $(".Func4").addClass("noevent");
    } else {
      $(".Func3").removeClass("noevent");
      $(".Func4").removeClass("noevent");
    }
    $(".Func5").removeClass("noevent");
    if (w_sts == "2") { {*確定済み・登録不可*}
      $(".Func9").addClass("noevent");
    } else {
      $(".Func9").removeClass("noevent");
    }
    $(".Func12").removeClass("noevent");

    if (w_sts == "2") { {*確定済み・行挿入不可*}
      $("#lastDetail").addClass("hide");
      {*削除タイトル非表示*}
      d.find(".delttl").hide();
    } else {
      $("#lastDetail").removeClass("hide");
    }
    if (w_newmode == "NEW") {
      d.find(".jan")[0].focus();
    } else {
      if (w_sts == "2") {
        d.find(".dummy_d")[0].focus();
      } else {
        d.find(".cdat")[0].focus();
      }
    }
  }
}

function clearHeader() {  {*headerクリア*}
  let frm = $("#headerTop");
  let container = frm.closest(".container");
  doHeaderEnable("H");
  common.clearInputData(container);
  common.setValue(frm.find(".newmode"), "NEW");
  frm.find(".newLabel").hide();
}

function clearDetail() {
  common.clearAllError();

  $("#detail .detail").remove(); {*明細クリア*}
}

var init_data={
  vlin:'1',
};

function setOneRow() {
  clearDetail();  {*一旦クリア*}
  {*明細に最初の一行追加*}
  var el = af24ax_detail.appendRow(init_data);
  $("#detail").append(el);
  var detail = $("#detail").find(".detail");
  detail.find(".datepicker").each(function (index) {
    common.setDatepickerInfoMM2($(this));
  });
}

function dspDetail() { {*データ表示*}
  let frm = $("#headerTop");
  let frm_f = $("#footer_content");

  var detail = $("#detail").find(".detail");

  clearDetail();  {*一旦クリア*}
  var el = "";

  var container = $(".container");
  sendData = {};
  sendData = common.getContainerInputData(container);

  common.postData(
    "./search.php"
    , sendData
    , function name(data) {
      var d = JSON.parse(data);
      if(d.ret == "0") {

        console.log(d.ret_header);

        {*ヘッダー情報*}
        common.dspDetailData(d.ret_header, frm);
        {*フッター情報*}
        common.dspDetailData(d.ret_header, frm_f);
        setLblCutax();  {*右上*}

        if(d.ret_header.newmode == "NEW") { {*新規モード*}
          setOneRow();
          doHeaderEnable("D");
        } else {  {*修正モード*}
          {*行作成*}
          d.ret_array.forEach((item, i) => {
            el += af24ax_detail.appendRow(item);
          });
          $("#detail").append(el);

          var detail = $("#detail .detail");
          for(i = 0 ; i  < detail.length ; i++) {
            let $me = $(detail[i]);

            $me.find(".datepicker").each(function (index) {
              common.setDatepickerInfoMM2($(this));
            });

            $me.find("select").each(function(index) {
              var $selectVal = $(this);
              common.setValue($selectVal,common.getValue($me.find(".memo"+$selectVal.attr("name"))));
            });

          }
          calcSum("amt")
          doHeaderEnable("D");
        }
      } else if (d.ret == "-1") { {*売上伝票なし*}
        setOneRow();
        alert("該当するデータがありません");
        doHeaderEnable("H");
      } else {  {*エラー*}
        alert(d.msg);
        frm.find(".spktcd").focus();
      }
    }, function name(params) {
      alert(params.msg);
    }
  )
}

{*明細行用関数*}
var af24ax_detail = {
  appendRow: function (d) {
    var n = stringUtil.nvl;
    var row =
    ' <div class="col wp-100 detail"> ' +
    '<div class="col wp-100 rowinfo detailMain janGrp">' +
    '  <div class="col wp-100 dateMM2"> ';
    if (common.getValue($("#headerTop").find(".newmode")) == "NEW") { {*新規の場合入力可*}
      row = row + '    <input name="jan" type="text" class="form-control input-sm item wd-jan jan popJan inpjan eventjan" maxlength="13" value="' + n(d.jan) + '"> ';
      row = row + '    <input type="button" class="col popbtn cmdJan" tabindex="-1" value="?"/> ';
    } else {
      row = row + '    <input name="jan" type="text" class="form-control input-sm item wd-jan jan popJan inpjan eventjan" maxlength="13" readonly value="' + n(d.jan) + '"> ';
      row = row + '    <input type="button" class="col popbtn cmdJan noevent" tabindex="-1" value="?"/> ';
    }
    row = row + '  <input name="ijan" type="hidden" class="ijan" value="' + n(d.ijan) + '"> ';
    row = row + '    <input name="gdcls9" type="hidden" class="gdcls9nm" readonly value="' + n(d.gdcls9) + '"> '+
    '    <input name="gdcls9nm" type="text" class="form-control input-sm item wd-020 gdcls9nm" readonly value="' + n(d.gdcls9nm) + '"> ';
    row = row + '    <input name="gdjnm" type="text" class="form-control input-sm item wd-LL gdjnm longnm" readonly value="' + n(d.gdjnm) + '"> ';
    if (common.getValue($("#headerTop").find(".sts")) != "2") { {*確定済み以外変更可*}
      row = row + '    <input name="cdat" type="text" class="form-control input-sm item wd-100 cdat datepicker" maxlength="7" value="' + n(d.cdat) + '"> '+
      '    <input type="button" class="col popbtn cmdDatepicker" tabindex="-1" value="?"/> ' +
      '    <input name="psum" type="text" class="form-control input-sm item wd-number psum number" readonly value="' + common.addFigure(n(d.psum)) + '"> '+
      '    <input name="pno" type="text" class="form-control input-sm item wd-number pno number required" maxlength="7" value="' + common.addFigure(n(d.pno)) + '"> '+
      '    <input name="cst" type="text" class="form-control input-sm item wd-number cst number required" maxlength="12" fixed="2" value="' + common.addFigure(n(d.cst), "2") + '"> ';
    } else {
      row = row + '    <input name="cdat" type="text" class="form-control input-sm item wd-100 cdat datepicker" readonly maxlength="7" value="' + n(d.cdat) + '"> '+
      '    <input type="button" class="col popbtn cmdDatepicker noevent" tabindex="-1" value="?"/> ' +
      '    <input name="psum" type="text" class="form-control input-sm item wd-number psum number" readonly value="' + common.addFigure(n(d.psum)) + '"> '+
      '    <input name="pno" type="text" class="form-control input-sm item wd-number pno number required" readonly maxlength="7" value="' + common.addFigure(n(d.pno)) + '"> '+
      '    <input name="cst" type="text" class="form-control input-sm item wd-number cst number required" readonly maxlength="12" fixed="2" value="' + common.addFigure(n(d.cst), "2") + '"> ';
    }
    row = row + '    <input name="amt" type="text" class="form-control input-sm item wd-number amt number" readonly value="' + common.addFigure(n(d.amt)) + '"> '+
    '    <div class="item wd-120">&nbsp;</div>';
    if (common.getValue($("#headerTop").find(".sts")) != "2") { {*確定済み以外削除可*}
      row = row + '    <input name="chkLineDel"  type="checkbox" class="form-control item input-sm wd-kbn chkLineDel" value="1" tabindex="-1"/>';
    }
    row = row + '  </div>' +
    '  <div class="col wp-100"> ' +
    '    <div class="item" style="width:156px;">&nbsp;</div> ';
    row = row + '    <input name="gdjstnd" type="text" class="form-control input-sm item wd-LL gdjstnd longnm" readonly value="' + n(d.gdjstnd) + '"> '+
    '  <div class="item" style="width:126px;">&nbsp;</div> '+
    '    <div class="item wd-number number lblcom">備考</div> ';
    if (common.getValue($("#headerTop").find(".sts")) != "2") { {*確定済み以外変更可*}
      row = row + '    <input name="com1" type="text" class="form-control input-sm item wd-L com1 " maxlength="30" value="' + n(d.com1) + '"> ';
    } else {
      row = row + '    <input name="com1" type="text" class="form-control input-sm item wd-L com1 " readonly maxlength="30" value="' + n(d.com1) + '"> '+
      '    <input type="text" class="form-control input-sm item dummy dummy_d"  maxlength="0" value=""> ';
    }
    row = row + '  </div>' +
    '  <input name="iseq" type="hidden" class="iseq keyItem forDeleteData" value="' + n(d.iseq) + '"> '+  {*伝票番号なしの場合、afr3127があったら埋まる*}
    '  <input name="vseq" type="hidden" class="vseq" value="' + n(d.vseq) + '"> '+
    {*old*}
    '  <input name="old_vlin" type="hidden" class="old_vlin" value="' + n(d.vlin) + '"> '+
    '  <input name="old_ijan" type="hidden" class="old_ijan" value="' + n(d.ijan) + '"> '+
    '  <input name="old_cdat" type="hidden" class="old_cdat" value="' + n(d.cdat) + '"> '+
    '  <input name="old_pno" type="hidden" class="old_pno" value="' + n(d.pno) + '"> '+
    '  <input name="old_cst" type="hidden" class="old_cst" value="' + n(d.cst) + '"> '+
    '  <input name="old_com" type="hidden" class="old_com" value="' + n(d.com) + '"> '+
    '  <input name="old_amt" type="hidden" class="old_amt" value="' + n(d.amt) + '"> '+
    '</div>' +
    '<hr>' +
    ' </div> ';
    return row;
  },
}


{*-- ここまでjsでのデータ表示用 ---------------------------------------------------*}

  function setNewLineData($me) {
    let detail = $me.closest(".contents").find(".detail.selectRow");

    detail.find(".popbtn").each(function (index) {
      common.setValue($(this),"?");
    });
    common.setValue(detail.find(".lblcom"),"備考");

    detail.find(".jan").prop("readonly",false);
    detail.find(".cmdJan").removeClass("noevent");

    detail.find(".jan").focus();
  }

  function setLblCutax() {
    let frm = $("#headerTop");
    if (common.getValue(frm.find(".sts")) == "2") {
      common.setValue(frm.find(".newLabel"), "確定済");
      frm.find(".newLabel").show();
    } else {
      common.setValue(frm.find(".newLabel"), "");
      frm.find(".newLabel").hide();
    }
  }

  function getGdnmInfo($me, pmode) {  {*JANコード入力時他 pmode:JAN=jan入力時*}
    let frmh = $("#headerTop");
    let detail = $me.closest(".detail");
    let w_jan = common.getValue($me);
    let w_ijan = common.getValue(detail.find(".ijan"));

    if (!stringUtil.isEmpty(w_ijan)) {  {*入力あり*}
      var sendData = {};
      sendData["ijan"] = w_ijan;
      sendData["vseq"] = common.getValue(frmh.find(".vseq"));
      sendData["spktcd"] = common.getValue(frmh.find(".spktcd"));
      sendData["scutaxc"] = common.getValue(frmh.find(".scutaxc"));
      sendData["cdat"] = common.getValue(detail.find(".cdat"));
      sendData["inpflg"] = pmode; {*JAN or etc*}
      common.postData(
          "./getGdnmInfo.php"
        , sendData
        , function (data) {
          var obj = JSON.parse(data);
          let ret = obj.ret;
          if(ret == '0') {
            if (pmode == "JAN") { {*JAN入力時のみ更新*}
              common.setValue(detail.find(".cst"), common.addFigure(obj.cst, "2"));
            }
            common.setValue(detail.find(".psum"), common.addFigure(obj.psum));
            if (stringUtil.isEmpty(common.getValue(frmh.find(".vseq")))) {  {*vseq未指定時*}
              {*afr3127より*}
              if (obj.flg3127 == "1") { {*afr3127あり*}
                common.setValue(detail.find(".iseq"), obj.iseq);
                common.setValue(detail.find(".pno"), obj.pno);
                common.setValue(detail.find(".cst"), common.addFigure(obj.cst3127, "2"));
                common.setValue(detail.find(".com1"), obj.com1);
                common.setValue(detail.find(".cdat"), obj.cdat);
                common.setValue(detail.find(".amt"), common.addFigure(obj.amt));
              } else {
                common.setValue(detail.find(".iseq"), "");
                common.setValue(detail.find(".pno"), "");
                common.setValue(detail.find(".com1"), "");
              }
              calcCst(detail);
              calcSum("amt")
            }

            if (pmode == "JAN") {
              detail.find(".cdat").focus();
            } else {
              detail.find(".pno").focus();
            }
          }
        }
        , function (error) {
          alert(error.msg);
        }
      );
    } else {
      common.setValue(detail.find(".ijan"), "");
      common.setValue(detail.find(".gdcls9"), "");
      common.setValue(detail.find(".gdcls9nm"), "");
      common.setValue(detail.find(".gdjnm"), "");
      common.setValue(detail.find(".gdjstnd"), "");
      common.setValue(detail.find(".psum"), "");
      common.setValue(detail.find(".cst"), "");
      common.setValue(detail.find(".pno"), "");
      common.setValue(detail.find(".cdat"), "");
      common.setValue(detail.find(".com"), "");
      calcSum("amt")
    }
  }

  function calcCst(detail) { {*納入金額計算*}
    let frmh = $("#headerTop");

    var sendData = {};
    sendData["pno"] = common.delFigure(common.getValue(detail.find(".pno")));
    sendData["cst"] = common.delFigure(common.getValue(detail.find(".cst")));
    sendData["scutaxc"] = common.getValue(frmh.find(".scutaxc"));
    common.postData(
        "./calcCst.php"
      , sendData
      , function (data) {
        common.setValue(detail.find(".amt"), common.addFigure(data));
        calcSum("amt")
      }
      , function (error) {
        alert(error.msg);
      }
    );
  }

  {*合計の計算 引数は要素の名前(ex. amt)*}
  function calcSum(el_name) {
    let detail = $("#detail .detail");
    let sum_tpno = new BigNumber(0);
    for (var i = 0; i < detail.length; i++) {
      $me = $(detail[i]);
      if(!$me.find(".chkLineDel").prop("checked")) {
        var wtpno = new BigNumber(stringUtil.nvl0(common.delFigure(common.getValue($me.find("."+el_name))),"0"));
        sum_tpno = sum_tpno.plus(wtpno);
      }
    }
    common.setValue($("#sum_"+el_name), common.addFigure(sum_tpno));
  }

  $(document).ready(function(){
    /* 明細 高さ 自動設定
    //===================================================================*/
    common.setDetailHeight( $("#detail") );

    /* イベント
    //===================================================================*/
    //　F1
    $(document).on("click", ".Func1:not('.noevent')", function(e) {
    });
    //　F2
    $(document).on("click", ".Func2:not('.noevent')", function(e) {
      $(".btn-search-before").trigger("click");
    });
    //　F3 行削除
    $(document).on("click", ".Func3:not('.noevent')", function(e) {
      $(".btn-del").trigger("click");
      calcSum("amt")
    });
    //　F4 行挿入
    $(document).on("click", ".Func4:not('.noevent')", function(e) {
      {*行数チェック*}
      let frmh = $("#headerTop");
      let maxvlin = common.getValue(frmh.find(".maxvlin"));
      var detail = $("#detail .detail");
      let length = detail.length;
      var cnt = 0;

      for(i = 0 ; i < length ; i++) {
        var $me = $(detail[i]);
        console.log($me.find(".chkLineDel").prop("checked"));
        if(!$me.find(".chkLineDel").prop("checked")) {
          cnt = cnt + 1;
        }
      }
      console.log("maxvlin,cnt = "+maxvlin+", "+cnt);

      if(parseInt(maxvlin) <= cnt) {
        alert("伝票入力は"+maxvlin+"行までです。");
        detail.find(".jan")[0].focus();
        return false;
      }
      $(".btnLineIns").trigger("click");
    });
    //　F5 クリア
    $(document).on("click", ".Func5:not('.noevent')", function(e) {
        clearHeader();
        setOneRow();
    });
    //　F6
    $(document).on("click", ".Func6:not('.noevent')", function(e) {
    });
    //　F7
    $(document).on("click", ".Func7:not('.noevent')", function(e) {
    });
    //　F8
    $(document).on("click", ".Func8:not('.noevent')", function(e) {
    });
    //　F9 登録/実行
    $(document).on("click", ".Func9:not('.noevent')", function(e) {
      $(".Func9").addClass("noevent");
      $(".btn-reg-before").trigger("click");
    });
    //　F10
    $(document).on("click", ".Func10:not('.noevent')", function(e) {
    });
    //　F11 表示
    $(document).on("click", ".Func11:not('.noevent')", function(e) {
    });
    //　F12 メニュー/戻る
    $(document).on("click", ".Func12:not('.noevent')", function(e) {
      $('.btn-close').trigger('click');
    });

    //画面初期表示時動作
    setOneRow(); {*最初に一行出したい*}
    doHeaderEnable("H");

    //MENUボタン===============================
    $(document).on("regSuccess", ".btn-reg", function(e,option){
      if (option.ret == "0") {
        alert("登録しました。");
        $(".Func5").trigger("click");
      } else {
        alert(option.errmsg);
      }
    });

    $(document).on("click", ".btn-search-before", function(e) {

      var errflg = false;
      var frmh = $("#headerTop").find(".header1");
      common.clearFormError(frmh);

      frmh.find(".required").each(function (index) {
        if (stringUtil.isEmpty(common.getValue($(this)))) {
          common.addError($(this), "入力して下さい", null, true);
          errflg = true;
        }
      });

      if (errflg) {
        alert('エラーがあります');
      } else {
        dspDetail();
      }

    });

    $(document).on("click", ".btn-reg-before", function(e) {
      let detail = $("#detail .detail");
      let frmh = $(this).closest(".contents").find(".header");
      let errflg = false;

      common.clearFormError($(this).closest(".contents"));

      frmh.find(".required").each(function (index) {  {*ヘッダー必須チェック*}
        if (stringUtil.isEmpty(common.getValue($(this)))) {
          errflg = true;
          common.addError($(this), "入力して下さい", null, true);
        }
      });

      {*明細*}
      let detailcnt = detail.length;
      let w_tpno = 0;
      let w_jpno = 0;
      let w_tgcnt = 0;
      let w_taxkey = "";
      let w_buf = "";
      for (var i = 0; i < detailcnt; i++) {
        $me = $(detail[i]);
        if (!stringUtil.isEmpty(common.getValue($me.find(".iseq")))
            || !stringUtil.isEmpty(common.getValue($me.find(".ijan"))) ) {
          if(!$me.find(".chkLineDel").prop("checked")) { {*削除データはﾁｪｯｸから除外する*}

            $me.find(".required").each(function (index) {  {*明細必須チェック*}
              if (stringUtil.isEmpty(common.getValue($(this)))) {
                errflg = true;
                common.addError($(this), "入力して下さい", null, true);
              }
            });

            w_pno = Number(stringUtil.nvl0(common.delFigure(common.getValue($me.find(".pno"))), "0"));
            w_psum = Number(stringUtil.nvl0(common.delFigure(common.getValue($me.find(".psum"))), "0"));
            if (w_pno <= 0) {
              errflg = true;
              common.addError($me.find(".pno"), "廃棄数は１以上を入力して下さい", null, true);
            } else {
              if (w_pno > w_psum) {
                errflg = true;
                common.addError($me.find(".pno"), "廃棄数が不良品在庫数を超えています", null, true);
              }
            }

            if (!errflg) {  {*JAN重複チェック*}
              for (var j = i+1 ; j < detailcnt; j++) {
                $me2 = $(detail[j]);
                if (!stringUtil.isEmpty(common.getValue($me2.find(".iseq")))
                    || !stringUtil.isEmpty(common.getValue($me2.find(".ijan"))) ) {
                  if(!$me2.find(".chkLineDel").prop("checked")) { {*削除データはﾁｪｯｸから除外する*}

                    if (common.getValue($me.find(".jan")) == common.getValue($me2.find(".jan"))
                        && common.getValue($me.find(".cdat")) == common.getValue($me2.find(".cdat"))) {
                      errflg = true;
                      common.addError($me2.find(".jan"), "同一商品・賞味期限の登録は出来ません", null, true);
                    }
                  }
                }
              }
            }
          }
          w_tgcnt = w_tgcnt + 1;
        }
      }

      if(errflg) {
        alert("エラーがあります");
        $(".Func9").removeClass("noevent");
      } else if(w_tgcnt == 0) {
        alert("商品を入力して下さい。")
        $(".Func9").removeClass("noevent");
      } else {
        $(".Func9").removeClass("noevent");
        $(".headermenu").find(".btn-reg").trigger("click");
      }

    });

    $(document).on("focus", ".dummy", function(e) {
      if ($(this).hasClass("h_dummy")) {  {*headerのDummy*}
        $("#topmenu").find(".Func2").focus();
      }
    });

    //=== header ===
    {*JAN入力・選択 ↓ ----------------------------*}
    $(document).on("afterSelectAfm02x", ".jan", function(e) {
      getGdnmInfo($(this), "JAN");
    });
    $(document).on("afterChangeJan", ".jan", function(e) {
      getGdnmInfo($(this), "JAN");
    });
    $(document).on("clearChangeJan", ".jan", function(e) {
      getGdnmInfo($(this), "JAN");
    });
    $(document).on("errChangeJan", ".jan", function(e) {
      getGdnmInfo($(this), "JAN");
    });
    {*JAN入力・選択 ↑ ----------------------------*}

    $(document).on("afterChangeDatePicker", ".cdat", function(e) {
      getGdnmInfo($(this), "CDAT");
    });

    $(document).on("change", ".cst", function(e) {
      let detail = $(this).closest(".detail");
      calcCst(detail);
    });

    $(document).on("change", ".pno", function(e) {
      let detail = $(this).closest(".detail");
      let w_psum = Number(stringUtil.nvl0(common.delFigure(common.getValue(detail.find(".psum"))), "0"));
      let w_pno = Number(stringUtil.nvl0(common.delFigure(common.getValue(detail.find(".pno"))), "0"));
      if (w_psum < w_pno) {
        alert("廃棄数が不良品在庫数を超えています。");
        common.setValue(detail.find(".pno"), "");
      } else {
        calcCst(detail);
      }
    });

    $(document).on("change", ".chkLineDel", function(e) {
      var chkDel = $(this);

      if(!chkDel.prop("checked")) {
        {*行数チェック*}
        let frmh = $("#headerTop");
        let maxvlin = common.getValue(frmh.find(".maxvlin"));
        var detail = $("#detail .detail");
        let length = detail.length;

        var cnt = 0;

        for(i = 0 ; i < length ; i++) {
          var $me = $(detail[i]);
          console.log($me.find(".chkLineDel").prop("checked"));
          if(!$me.find(".chkLineDel").prop("checked")) {
            cnt = cnt + 1;
          }
        }

        if(parseInt(maxvlin) < cnt ) { {*この時自分のチェックは外れているので、自分含め最大行数を超えないかのチェック*}
          chkDel.prop("checked",true);
          alert("伝票入力は"+maxvlin+"行までです。");
          detail.find(".jan")[0].focus();
          return false;
        }
      }

      calcSum("amt");
    });


    //====明細行動作======
    $(document).on("afterDelLine", ".chkLineDel", function(e) {
      calcSum("amt");
    });

    $(document).on("insertLine", ".selectRow", function(e) {
      setNewLineData($(this));
    });
    $("#lastDetail").focus(function(){
      var details = $("#detailTop .detail:last")[0];
      if(!!!details){
        return true;
      }

      {*行数チェック*}
      let frmh = $("#headerTop");
      let maxvlin = common.getValue(frmh.find(".maxvlin"));
      var detail = $("#detail .detail");
      let length = detail.length;

      var cnt = 0;

      for(i = 0 ; i < length ; i++) {
        var $me = $(detail[i]);
        console.log($me.find(".chkLineDel").prop("checked"));
        if(!$me.find(".chkLineDel").prop("checked")) {
          cnt = cnt + 1;
        }
      }

      if(parseInt(maxvlin) <= cnt) {
        alert("伝票入力は"+maxvlin+"行までです。");
        detail.find(".jan")[0].focus();
        return false;
      }

      var newRow = commonLine.insertDetail(details);
      common.setDetailHeight();
      $(newRow).find(":enabled")[0].focus();
      $(window).scrollTop($(newRow).parent().offset().top);
      setNewLineData($(newRow));
    });


  });

</script>
