<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_newmode = common.getValue(h1.find(".newmode"));
  let w_kflg_kbn = common.getValue(h1.find(".kflg_kbn"));

  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");
    $(".Func6").addClass("noevent");
    $(".Func9").addClass("noevent");
    $(".Func10").removeClass("noevent");
    $(".Func12").removeClass("noevent");

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

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

    {*右上モード表示*}
    h.find(".cutaxLabel").hide();
    h.find(".cutaxLabel_none").show();
    h.find(".newLabel").hide();
    h.find(".onlineLabel").hide();

    h.find(".cucd").focus();
  } else {
    h1.addClass("noevent");
    h2.removeClass("noevent");
    d.removeClass("noevent");
    $(".Func2").addClass("noevent");
    if (w_kflg_kbn == "ON") {
      $(".Func3").addClass("noevent");
      $(".Func4").addClass("noevent");
    } else {
      $(".Func3").removeClass("noevent");
      $(".Func4").removeClass("noevent");
    }
    $(".Func5").removeClass("noevent");
    if (w_newmode == "NEW" || w_kflg_kbn == "ON") { {*新規/kflg=ONの場合削除不可*}
      $(".Func6").addClass("noevent");
    } else {
      $(".Func6").removeClass("noevent");
    }
    if (w_kflg_kbn == "ON") {
      $(".Func9").addClass("noevent");
    } else {
      $(".Func9").removeClass("noevent");
    }
    $(".Func10").addClass("noevent");
    $(".Func12").removeClass("noevent");

    if (w_kflg_kbn == "ON") {
      $("#lastDetail").addClass("hide");
    } else {
      $("#lastDetail").removeClass("hide");
    }

    h2.find(".dat2")[0].focus();
  }
}

function clearHeader(pmode = "ALL") {  {*headerクリア pmode="UPD" ヘッダーは残す*}
  let frm = $("#headerTop");
  let container = frm.closest(".container");
  {*登録前の情報保存*}
  let w_cucd = common.getValue(frm.find(".cucd"));
  let w_cuscd = common.getValue(frm.find(".cuscd"));
  let w_cunm = common.getValue(frm.find(".cunm"));
  let w_spnm = common.getValue(frm.find(".spnm"));
  let w_dat2 = common.getValue(frm.find(".dat2"));
  let w_adat = common.getValue(frm.find(".adat"));
  let w_spktcd = common.getValue(frm.find(".spktcd"));
  let w_spktnm = common.getValue(frm.find(".spktnm"));
  let w_ktcls = common.getValue(frm.find(".ktcls"));
  let w_dcubcd = common.getValue(frm.find(".dcubcd"));
  let w_cuslip = common.getValue(frm.find(".cuslip"));
  let w_bbno = common.getValue(frm.find(".bbno"));

  doHeaderEnable("H");
  common.clearInputData(container);

  if (pmode == "UPD") { {*登録前の情報セット*}
    common.setValue(frm.find(".cucd"),w_cucd);
    common.setValue(frm.find(".cuscd"),w_cuscd);
    common.setValue(frm.find(".cunm"),w_cunm);
    common.setValue(frm.find(".spnm"),w_spnm);
    common.setValue(frm.find(".dat2"),w_dat2);
    common.setValue(frm.find(".adat"),w_adat);
    common.setValue(frm.find(".spktcd"),w_spktcd);
    common.setValue(frm.find(".spktnm"),w_spktnm);
    common.setValue(frm.find(".ktcls"),w_ktcls);
    common.setValue(frm.find(".dcubcd"),w_dcubcd);
    common.setValue(frm.find(".cuslip"),w_cuslip);
    common.setValue(frm.find(".bbno"),w_bbno);
  }

  common.setValue(frm.find(".newmode"), "NEW");
  frm.find(".cutaxLabel").hide();
  frm.find(".cutaxLabel_none").show();
  frm.find(".newLabel").hide();
  frm.find(".onlineLabel").hide();
}

function clearDetail() {
  common.clearAllError();

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

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

function setOneRow() {
  clearDetail();  {*一旦クリア*}
  {*明細に最初の一行追加*}
  var el = af241x_detail.appendRow(init_data);
  $("#detail").append(el);
  var detail = $("#detail").find(".detail");
  detail.find(".datepicker").each(function (index) {
    common.setDatepickerInfo($(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);
        if (d.ret_header.newmode == "UPD") { {*更新:倉庫変更不可*}
          frm.find(".spktcd").attr("readonly", true);
          frm.find(".cmdKtktcd").addClass("noevent");
        } else {
          frm.find(".spktcd").attr("readonly", false);
          frm.find(".cmdKtktcd").removeClass("noevent");
        }

        {*フッター情報*}
        common.dspDetailData(d.ret_header, frm_f);

        {*ヘッダー右上表示切替*}
        setLblCutax(d.ret_header.cutax, d.ret_header.newmode);

        if(d.ret_header.newmode == "NEW") { {*新規モード*}
          setOneRow();
          doHeaderEnable("D");
        } else {  {*修正モード*}
          {*行作成*}
          d.ret_array.forEach((item, i) => {
            el += af241x_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.setDatepickerInfo($(this));
            });

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

          }
          calcSum("s_cst")
          doHeaderEnable("D");
        }
      } else if (d.ret == "-1") { {*返品伝票なし：ありえない*}
        setOneRow();
        alert("該当するデータがありません");
        doHeaderEnable("H");
      } else if (d.ret == "1") {  {*返品伝票複数*}
        common.setValue(frm.find(".vseq241"), common.getValue(frm.find(".vseq")));
        common.setValue(frm.find(".sts"), d.ret_header.sts);
        common.setValue(frm.find(".sbat"), d.ret_header.sbat);
        frm.find(".cmdAf241x1_w").trigger("click");
      } else {  {*エラー*}
        alert(d.msg);
        frm.find(".cucd").focus();
      }
    }, function name(params) {
      alert(params.msg);
    }
  )
}

{*明細行用関数*}
var af241x_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"> ' +
    '    <input name="vlin" type="text" class="form-control item input-sm wd-kbn vlin number" readonly tabindex="-1" value="' + n(d.vlin) + '" />';
    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) + '"> ';
    row = row + '    <input name="tpno" type="text" class="form-control input-sm item wd-number tpno number" maxlength="5" value="' + common.addFigure(n(d.tpno)) + '"> '+
    '    <input name="ncst" type="text" class="form-control input-sm item wd-number ncst number" maxlength="10" fixed="2" tabindex="-1" value="' + common.addFigure(n(d.dsp_ncst),2) + '"> '+
    '    <input name="s_cst" type="text" class="form-control input-sm item wd-number s_cst number" readonly value="' + common.addFigure(n(d.s_cst)) + '"> '+
    '    <div class="col wd-L">&nbsp;</div> '+
    '    <div class="col wd-040">&nbsp;</div> ';
    if ( (common.getValue($("#headerTop").find(".kflg_kbn")) != "ON")) { {*kflg=ON以外削除可*}
      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 wd-kbn">&nbsp;</div> ' +
    '    <input name="taxinfo" type="text" class="form-control input-sm item taxinfo" style="width:156px;" readonly value="' + n(d.taxinfo) + '"> ';
    row = row + '    <input name="gdjstnd" type="text" class="form-control input-sm item wd-LL gdjstnd longnm" readonly value="' + n(d.gdjstnd) + '"> ';
    row = row + '  </div>' +
    '  <input name="iseq30" type="hidden" class="iseq30 keyItem forDeleteData" value="' + n(d.iseq30) + '"> '+
    '  <input name="iseq31" type="hidden" class="iseq31" value="' + n(d.iseq31) + '"> '+
    '  <input name="taxrt" type="hidden" class="taxrt clear" value="' + n(d.taxrt) + '"> '+
    '  <input name="snum1" type="hidden" class="snum1 clear" value="' + n(d.snum1) + '"> '+ {*未使用?*}
    '  <input name="gdtax" type="hidden" class="gdtax clear" value="' + n(d.gdtax) + '"> '+
    '  <input name="gdtaxrt" type="hidden" class="gdtaxrt clear" value="' + n(d.gdtaxrt) + '"> '+
    '  <input name="taxrt" type="hidden" class="taxrt clear" value="' + n(d.taxrt) + '"> '+
    '  <input name="fcst" type="hidden" class="fcst clear" value="' + n(d.fcst) + '"> '+
    '  <input name="sal" type="hidden" class="sal clear" value="' + n(d.sal) + '"> '+
    {*old*}
    '  <input name="old_vlin" type="hidden" class="old_vlin clear" value="' + n(d.vlin) + '"> '+
    '  <input name="old_jan" type="hidden" class="old_jan clear" value="' + n(d.jan) + '"> '+
    '  <input name="old_tpno" type="hidden" class="old_tpno clear" value="' + n(d.tpno) + '"> '+
    '  <input name="old_ncst" type="hidden" class="old_ncst clear" value="' + n(d.dsp_ncst) + '"> '+
    '</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),"?");
    });

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

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

  function setLblCutax(p_cutax, p_mode) { {*p_cutax, p_mode*}
    let frm = $("#headerTop");
    if (p_mode == "NEW" || p_mode == "UNDER") {
      common.setValue(frm.find(".newLabel"), "新規");
    } else {
      common.setValue(frm.find(".newLabel"), "更新");
    }
    frm.find(".newLabel").show();

    if (p_cutax == "0") {
      frm.find(".cutaxLabel").hide();
      frm.find(".cutaxLabel_none").show();
    } else {
      frm.find(".cutaxLabel").show();
      frm.find(".cutaxLabel_none").hide();
    }

    {*onlineは常に非表示*}
    frm.find(".onlineLabel").hide();
  }

  function chkSpktcd() { {*倉庫入力時*}
    let frmh = $("#headerTop");
    if (!stringUtil.isEmpty(common.getValue(frmh.find(".spktcd")))) {
      if (common.getValue(frmh.find(".cuhcls")) != "0" && common.getValue(frmh.find(".ktcls")) == "02") {
        alert("返品Online得意先で倉庫が物流センター場合は入力対象外です。");
        common.setValue(frmh.find(".spktcd"), "");
        common.setValue(frmh.find(".spktnm"), "");
        common.setValue(frmh.find(".ktcls"), "");
        frmh.find(".spktcd").focus();
      }
    }
  }

  function getGdnmInfo($me) {  {*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["cucd"] = common.getValue(frmh.find(".cucd"));
      sendData["adat"] = common.getValue(frmh.find(".adat"));
      common.postData(
          "./getGdnmInfo.php"
        , sendData
        , function (data) {
          var obj = JSON.parse(data);
          let ret = obj.ret;

          if(ret == '0') {
            common.setValue(detail.find(".ncst"), common.addFigure(obj.ncst, "2"));
            common.setValue(detail.find(".sal"), obj.sal);
            common.setValue(detail.find(".fcst"), common.addFigure(obj.fcst, "2"));
            common.setValue(detail.find(".taxinfo"), obj.taxinfo);
            common.setValue(detail.find(".gdtax"), obj.gdtax);
            common.setValue(detail.find(".gdtaxrt"), obj.gdtaxrt);
            common.setValue(detail.find(".taxrt"), obj.taxrt);

            calcSum("s_cst")
            detail.find(".tpno").focus();
          } 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(".jpno"), "");
            common.setValue(detail.find(".ncst"), "");
            common.setValue(detail.find(".sal"), "");
            common.setValue(detail.find(".fcst"), "");
            common.setValue(detail.find(".taxinfo"), "");
            common.setValue(detail.find(".gdtax"), "");
            common.setValue(detail.find(".gdtaxrt"), "");
            common.setValue(detail.find(".taxrt"), "");
            calcSum("s_cst")
          }
        }
        , 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(".jpno"), "");
      common.setValue(detail.find(".ncst"), "");
      common.setValue(detail.find(".sal"), "");
      common.setValue(detail.find(".fcst"), "");
      common.setValue(detail.find(".taxinfo"), "");
      common.setValue(detail.find(".gdtax"), "");
      common.setValue(detail.find(".gdtaxrt"), "");
      common.setValue(detail.find(".taxrt"), "");
      calcSum("s_cst")
    }
  }

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

    var sendData = {};
    sendData["cucd"] = common.getValue(frmh.find(".cucd"));
    sendData["tpno"] = common.delFigure(common.getValue(detail.find(".tpno")));
    sendData["ncst"] = common.delFigure(common.getValue(detail.find(".ncst")));
    sendData["cutaxc"] = common.getValue(frmh.find(".cutaxc"));
    common.postData(
        "./calcScst.php"
      , sendData
      , function (data) {
        common.setValue(detail.find(".s_cst"), common.addFigure(data));
        calcSum("s_cst")
      }
      , 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("s_cst")
    });
    //　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) {
      $(".btn-delete").trigger("click");
    });
    //　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) {
      $("#headerTop").find(".cmdAf241x1_list").trigger("click");
    });
    //　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("delSuccess", ".btn-delete", function(e,option){
      if (option.ret == "0") {
        alert("削除しました。");
        $(".Func5").trigger("click");
      } else {
        alert(option.errmsg);
      }
    });

    $(document).on("regSuccess", ".btn-reg", function(e,option){
      let w_msg = "登録しました。\n";
      w_msg = w_msg + "伝票番号は【"　+　option.vseq + "】です。\n"
      alert(w_msg);

      clearHeader("UPD");
      setOneRow();
    });

    $(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_pno = 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(".iseq30")))
            || !stringUtil.isEmpty(common.getValue($me.find(".ijan"))) ) {
          if(!$me.find(".chkLineDel").prop("checked")) { {*削除データはﾁｪｯｸから除外する*}

              w_tpno = Number(stringUtil.nvl0(common.delFigure(common.getValue($me.find(".tpno"))), "0"));

              if (stringUtil.isEmpty(common.getValue($me.find(".jan")))) {
                errflg = true;
                common.addError($me.find(".jan"), "入力して下さい", null, true);
              }
              if ( w_tpno = 0) {
                errflg = true;
                common.addError($me.find(".tpno"), "０以外を入力して下さい", null, true);
              }

              w_tgcnt = w_tgcnt + 1;
            }
          }
        }

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

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

        common.postData(
            "./chkRegBefore.php"
          , sendData
          , function (data) {
            // 特殊処理があれば
            var obj = JSON.parse(data);
            let ret = obj.ret;
            let objlst = obj.ret_meisai;

            if(ret == '0') {
              $(".headermenu").find(".btn-reg").trigger("click");
            } else if(ret == '-1') {
              if (obj.ret1 != "0") {
                common.addError(frmh.find(".adat"), "計上日が不正です。", null, true);
              }
              if (obj.ret3 != "0") {
                common.addError(frmh.find(".dat2"), "返品日が不正です。", null, true);
              }
              if (obj.ret2 != "0") {  {*明細エラー有*}
                for ( var i = 0; i < objlst.length; i++) {
                  var obj1 = objlst[i];
                  colJan = $(detail[i]).find(".jan");
                  colTpno = $(detail[i]).find(".tpno");
                  if(obj1.ret == "err") {
                    if (!stringUtil.isEmpty(obj1.janmsg)) {
                      common.addError(colJan, obj1.janmsg, null, true,true);
                    }
                    if (!stringUtil.isEmpty(obj1.tpnomsg)) {
                      common.addError(colTpno, obj1.tpnomsg, null, true,true);
                    }
                  }
                }
              }
              alert("エラーがあります");
            } else {
              alert("登録前チェックに失敗しました");
            }
            $(".Func9").removeClass("noevent");
          }
          , function (error) {
            alert(error.msg);
            $(".Func9").removeClass("noevent");
          }
        );
      }

    });

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

    $(document).on("change", ".vseq", function(e) {
      common.setValue($("#headerTop").find(".viseq"), "");  {*viseqクリア*}
    });
    {*伝票検索で伝票を選択したら、そのまま表示*}
    $(document).on("afterSelectaf241x1", ".vseq", function(e) {
      dspDetail();
    });

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

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

    $(document).on("change", ".tpno", function(e) {
      let detail = $(this).closest(".detail");
      calcScst(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("s_fcst");
    });


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

    $(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>
