<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");
  if (pmode == "H") { {*Header有効*}
    h1.removeClass("noevent");
    h2.addClass("noevent");
    d.addClass("noevent");

    $(".Func2").removeClass("noevent");
    $(".Func3").addClass("noevent");
    $(".Func5").addClass("noevent");
    $(".Func6").addClass("noevent");
    $(".Func9").addClass("noevent");
    $(".Func10").addClass("noevent");

    {*ヘッダー項目クリア*}
    h.find(".keycd").focus();
    h.find(".modelbl").removeClass("newLabel");

  } else {
    h1.addClass("noevent");
    h2.removeClass("noevent");
    d.removeClass("noevent");
    $(".Func2").addClass("noevent");
    $(".Func3").removeClass("noevent");
    {if $header.p_title eq ""}
      $(".Func5").removeClass("noevent");  {*メニューから呼ばれた場合のみクリア可能*}
    {/if}
    $(".Func6").removeClass("noevent");
    $(".Func9").removeClass("noevent");
    {if $header.p_title neq ""}
      $(".Func10").removeClass("noevent"); {*発注確定から呼ばれた場合のみ確定可能*}
    {/if}
    {*データ部フォーカス*}
    h2.find(".dat").focus();
    h.find(".modelbl").addClass("newLabel");
  }
}

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

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

function clearHeader() {  {*headerクリア*}
  let frm = $("#headerTop");
  let container = frm.closest(".container");
  $("#bank").hide();

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

function setOneRow() {
  clearDetail();  {*一旦クリア*}
  {*明細に最初の一行追加*}
  var el = af212x_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 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") {
        {*行作成*}

        common.setValue(frm.find(".dat"),d.ret_header.dat);
        common.setValue(frm.find(".dat1"),d.ret_header.dat1);
        common.setValue(frm.find(".spktcd"),d.ret_header.spktcd);
        common.setValue(frm.find(".spktnm"),d.ret_header.spktnm);
        common.setValue(frm.find(".com1"),d.ret_header.com1);

        common.setValue(frm.find(".scutaxc"),d.ret_header.scutaxc); {*afm04の値 端数処理区分*}
        common.setValue(frm.find(".mtaxdiv"),d.ret_header.mtaxdiv); {*afm04の値 税率混在区分*}

        common.setValue(container.find(".chgcdnm"), stringUtil.nvl(d.ret_header.chgcdnm));
        common.setValue(container.find(".idat"), stringUtil.nvl(d.ret_header.idat));
        common.setValue(container.find(".upchgnm"), stringUtil.nvl(d.ret_header.upchgnm));
        common.setValue(container.find(".udat"), stringUtil.nvl(d.ret_header.udat));

        if(d.cnt != "0") {

          common.setValue(frm.find(".cuiseq"),d.ret_header.cuiseq);

          {*データ有時はヘッダー仕入先名も埋める*}
          common.setValue(frm.find(".mcd"),d.ret_header.mcd);
          common.setValue(frm.find(".mnm"),d.ret_header.mnm);

          d.ret_array.forEach((item, i) => {
            el += af212x_detail.appendRow(item);
          });
          $("#detail").append(el);


          calcSum("scst"); {*合計値の計算*}
          calcSum("mvpno");

          common.setValue(frm.find(".modelbl"), "修正");
        } else {
          setOneRow();
          common.setValue(frm.find(".modelbl"), "新規");
        }

        doHeaderEnable("D");

      } else {
        alert(d.msg);
        if(d.ret == '-9') {
          clearHeader();
          setOneRow();
        }
      }
    }, function name(params) {
      alert(params.msg);
    }
  )
}
{*明細行用関数*}
var af212x_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  date"> ' +
    {*1行目*}
    '    <div class="col wp-100 "> ' +
    '      <input name="vlin" type="text" class="form-control input-sm item wd-kbn vlin" readonly value="' + n(d.vlin) + '"> '+
    '      <input name="jan" type="text" class="form-control input-sm item wd-jan jan eventjan popJan inpjan" maxlength="13" value="' + n(d.jan) + '"> '+
    '      <input type="button" class="col popbtn cmdJan noclear" tabindex="-1" value="?"/> '+
    '      <input name="gdcls9nm" type="text" class="form-control input-sm item wd-kbn gdcls9nm center" readonly value="' + n(d.gdcls9nm) + '"> '+
    '      <input name="gdjnm" type="text" class="form-control input-sm item wd-gdjnm gdjnm" readonly value="' + n(d.gdjnm) + '"> '+
    '      <input name="gdcnum" type="text" class="form-control input-sm item wd-number gdcnum number" readonly value="' + common.addFigure(n(d.gdcnum)) + '"> '+
    '      <input name="mvpno" type="text" class="form-control input-sm item wd-number mvpno number" maxlength="7" value="' + common.addFigure(n(d.mvpno)) + '"> '+
    '      <input name="cst" type="text" class="form-control input-sm item wd-number cst number" maxlength="10" fixed="2" value="' + common.addFigure(n(d.cst),2) + '"> '+
    '      <input name="scst" type="text" class="form-control input-sm item wd-number scst number" readonly maxlength="5" value="' + common.addFigure(n(d.scst)) + '"> '+
    '      <input name="chkLineDel"  type="checkbox" class="form-control item input-sm wd-kbn chkLineDel" value="1" tabindex="-1"/>' +
    '    </div>' +
    {*2行目*}
    '    <div class="col wp-100 "> ' +
    '      <div class="col" style="width:200px;"> '+
    '        <div class="col wd-kbn">&nbsp;</div> '+
    '        <div class="col taxinfo clear" >' + n(d.taxinfo) + '</div>'+
    '      &nbsp;</div> '+
    '      <input name="gdjstnd" type="text" class="form-control input-sm item wd-gdjnm gdjstnd" readonly value="' + n(d.gdjstnd) + '"> '+
    '      <input name="gdhtun" type="text" class="form-control input-sm item wd-number gdhtun number" readonly value="' + common.addFigure(n(d.gdhtun)) + '"> '+
    '      <input name="com" type="text" class="form-control input-sm item wd-L com" maxlength="20" value="' + n(d.com) + '"> '+
    '      <label class="control-label checkbox-label " style="margin-bottom:0px; padding-bottom:0px;"> ' +
    '        <input name="chkGdhtun" type="checkbox" value="1" class="form-control item input-sm wd-kbn chkGdhtun clear" tabindex="-1" />発注単価変更  ' +
    '      </label> '+
    '    </div>' +
    {*非表示項目*}
    '  </div>' +
    '  <input name="iseq"     type="hidden" class="iseq keyItem forDeleteData" value="' + n(d.iseq) + '"> '+
    '  <input name="ijan"     type="hidden" class="ijan" value="' + n(d.ijan) + '"/>' +
    '  <input name="taxrt"    type="hidden" class="taxrt" value="' + n(d.taxrt) + '"/>' + 
    '  <input name="taxrtdiv" type="hidden" class="taxrtdiv" value="' + n(d.taxrtdiv) + '"/>' + 
    '  <input name="undkbn"   type="hidden" class="undkbn" value="' + n(d.undkbn) + '"/>' + {*バラ発注 1:可,2:不可*}

    '</div>' +
    '<hr>' +
    ' </div> ';
    return row;
  },
}


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


  {*合計の計算 引数は要素の名前*}
  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));
  }

  function setNewLineData($me) {
    let detail = $me.closest(".contents").find(".detail.selectRow");
    detail.find(".datepicker").each(function (index) {
      common.setDatepickerInfo($(this));
    });
    detail.find(".popbtn").each(function (index) {
      common.setValue($(this),"?");
    });

    common.setValue(detail.find(".taxinfo"),"");

    detail.find(".jan").prop("readonly",false);
    detail.find(".jan").focus();
  }


  {*発注書発行。対象データはワークから*}
  function svf_printout(pwseq) {
    var frm = $("#headerTop");
    var dat1 = common.getValue(frm.find(".dat1"));
    var mcd  = common.getValue(frm.find(".mcd"));

    let param2 = { "method": "GetWseqMjan" };
    let irep = "AF412X";
    $.ajax({
      type: "GET",
      url: "../../api/getWseq.php",
      data: param2,
      dataType: "json",
      scriptCharset: 'utf-8',
      success: function(data, status, xhr) {
        var wurl = "{$_REPORT_URL}" + "AF999I?WSEQ=" + JSON.parse(data.data)
                + "&IREP=" + irep
                + "&CHGCD=" + "{$_SYSTEM_NAME_EN_CHGCD}"
                + "&KTKTCD=" + "{$_SYSTEM_NAME_EN_LGKTKTCD}"
                + "&VEND=" + "{$_SYSTEM_NAME_EN_VEND}"
                + "&ACCD=" + "{$_SYSTEM_NAME_EN_ACCD}"
                + "&DBNO=" + "{$_SYSTEM_NO}"
                /*
                + "&JOKEN1=" + dat1
                + "&JOKEN2=" + mcd
                + "&JOKEN3=" + vseq
                + "&JOKEN4=" + vseq
                + '&PDF=1';
                */
                + "&JOKEN1=" + pwseq
                + '&PDF=1';
        window.open(wurl, irep+JSON.parse(data.data));

        {if $header.p_title eq ""}
          setOneRow();
          clearHeader();
          doHeaderEnable("H");
        {else}
          window.opener.closeAf212x(); 
          window.close(); {*メニュー以外から呼ばれていたら、ウィンドウを閉じる*}
        {/if}

      }
    });
  }

  $(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("pno");
    });
    //　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;

      if(maxvlin == length) {
        alert("伝票入力は"+maxvlin+"行までです。");
        detail.find(".jan")[0].focus();
        return false;
      }
      
      $(".btnLineIns").trigger("click");
    });
    //　F5 クリア
    $(document).on("click", ".Func5:not('.noevent')", function(e) {
      clearDetail();
      setOneRow();
      clearHeader();
    });
    //　F6
    $(document).on("click", ".Func6:not('.noevent')", function(e) {
      common.setValue($("#headerTop .sflg"),'0');
      $(".headermenu").find(".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) {
      {*登録処理*}
      common.setValue($("#headerTop .sflg"),'0');
      $(".btn-reg-before").trigger("click");
    });
    //　F10 確定
    $(document).on("click", ".Func10:not('.noevent')", function(e) {
      {*即時確定(FAX&ﾌﾟﾘﾝﾀ出力)*}
      common.setValue($("#headerTop .sflg"),'1');
      $(".btn-reg-before").trigger("click");
    });
    //　F11 
    $(document).on("click", ".Func11:not('.noevent')", function(e) {
      common.setValue($("#headerTop .sflg"),'2'); {*呼ばれないけど動作あった*}
      $(".btn-reg-before").trigger("click");
    });
    //　F12 メニュー/戻る
    $(document).on("click", ".Func12:not('.noevent')", function(e) {
      {if $header.p_title eq ""}
        $('.btn-close').trigger('click'); {*メニューから呼ばれていたら、メニューに戻る*}
      {else}
        window.opener.closeAf212x(); 
        window.close(); {*メニュー以外から呼ばれていたら、ウィンドウを閉じる*}
      {/if}
    });

    //操作可/不可ボタン
    setOneRow();
    doHeaderEnable("H");

    {*メニュー以外から呼ばれていて、vseq,mcdがnot nullならそのまま表示*}
    {if $header.p_title neq ""}
      var frmh = $("#headerTop");
      if(!stringUtil.isEmpty(frmh.find(".vseq").val()) && !stringUtil.isEmpty(frmh.find(".mcd").val())) {
        dspDetail();
      }
    {/if}


    //=== header ===


    //MENUボタン===============================
    $(document).on("regSuccess", ".btn-reg", function(e,option){
      w_msg = "登録しました。\n";
      if(!stringUtil.isEmpty(option.vseq)) {
        w_msg = w_msg+ "伝票番号は【"+option.vseq+"】です。\n";
      } 
      alert(w_msg);

      var sflg = $("#headerTop .sflg").val();

      if(sflg == '0') {
        {if $header.p_title eq ""}
          setOneRow();
          clearHeader();
          doHeaderEnable("H");
        {else}
          window.opener.closeAf212x(); 
          window.close(); {*メニュー以外から呼ばれていたら、ウィンドウを閉じる*}
        {/if}
      } else if(sflg == '1' || sflg == '2') {
        if(sflg == '1' && option.wret != '0') { {*send_hattyuの結果*}
          msg = "FAX送信に失敗しました";
          if(!stringUtil.isEmpty(option.msg)) {
            msg = msg + "(" +option.msg + ")";
          }
          alert(msg);
        }
        if(option.pret == '0') {
          svf_printout(option.pwseq);
        } else {
          alert("発注書データ作成に失敗しました。");
        }

        setOneRow();
        clearHeader();
        doHeaderEnable("H");   
      }

    });
    $(document).on("delSuccess", ".btn-delete", function(e,option){
      alert("削除しました");
      {if $header.p_title eq ""}
        setOneRow();
        clearHeader();
        doHeaderEnable("H");
      {else}
        window.opener.closeAf212x(); 
        window.close(); {*メニュー以外から呼ばれていたら、ウィンドウを閉じる*}
      {/if}
    });

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

      var errflg = false;
      var frm = $(this).closest(".contents").find(".header");
      common.clearFormError(frm);

      if (stringUtil.isEmpty(common.getValue(frm.find(".mcd")))) {
        errflg = true;
        common.addError( frm.find(".mcd"), "入力して下さい。", null, true);
      }

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

    });


    $(document).on("click", ".btn-reg-before", function(e) {
      var frmh = $("#headerTop");
      var detail = $("#detail .detail");
      var errflg = false;
      var wret;

      {*税率混在チェック用*}
      var cnt = 0;
      var taxrt = "";
      var taxdiv = "";
      var toptaxrt = "";
      var toptaxdiv = "";
      var taxerrflg = false;

      

      //$(".headermenu").find(".btn-reg").trigger("click");
      common.clearAllError();

      if (stringUtil.isEmpty(common.getValue(frmh.find(".dat")))) {
        errflg = true;
        common.addError( frmh.find(".dat"), "入力して下さい。", null, true);
      }
      if (stringUtil.isEmpty(common.getValue(frmh.find(".dat1")))) {
        errflg = true;
        common.addError( frmh.find(".dat1"), "入力して下さい。", null, true);
      }
      if (stringUtil.isEmpty(common.getValue(frmh.find(".spktcd")))) {
        errflg = true;
        common.addError( frmh.find(".spktcd"), "入力して下さい。", null, true);
      }

      if(!stringUtil.isEmpty(common.getValue(frmh.find(".dat"))) && !stringUtil.isEmpty(common.getValue(frmh.find(".dat1")))) {
        let wdat  = dateUtil.getYYYYMMDDDate(common.getValue(frmh.find(".dat")));
        let wdat1 = dateUtil.getYYYYMMDDDate(common.getValue(frmh.find(".dat1")));
        if(wdat < wdat1) {
          errflg = true;
          common.addError(frmh.find(".dat"), "発注日より過去の日付は入力できません。", null, true);
        }        
      }

      var detail = $("#detail .detail");
      detail.each(function(e){
        var $me = $(this);


        if(!stringUtil.isEmpty(common.getValue($me.find(".iseq"))) 
        || !stringUtil.isEmpty(common.getValue($me.find(".jan")))) { {*削除と空白は対象外*}
         cnt = cnt + 1;
         
          if(!$me.find(".chkLineDel").prop("checked")) {
            if (stringUtil.isEmpty(common.getValue($me.find(".jan")))) {
              errflg = true;
              common.addError( $me.find(".jan"), "入力して下さい。", null, true);
            }

            if (stringUtil.isEmpty(common.getValue($me.find(".mvpno")))) {
              errflg = true;
              common.addError( $me.find(".mvpno"), "入力して下さい。", null, true); {*not null チェック*}
            } else {
              var wmvpno = new BigNumber(stringUtil.nvl0(common.delFigure(common.getValue($me.find(".mvpno"))),"0"));
              if(wmvpno.lt(1)) {
                errflg = true;
                common.addError( $me.find(".mvpno"), "１以上を入力して下さい。", null, true); {*1以上ェック*}
              } else {
                if(!$me.find(".chkGdhtun").prop("checked")) {
                  let wgdhtun = new BigNumber(stringUtil.nvl0(common.delFigure(common.getValue($me.find(".gdhtun"))),"1"));
                  if(!(wmvpno.mod(wgdhtun).eq(0))) { {*mvpno%gdhtun!=0*}
                    errflg = true;
                    common.addError($me.find(".mvpno"), "発注単位数の倍数を入力して下さい。(最小発注単位数"+String(wgdhtun)+")", null, true);
                  } 
                }
              }
            }

            {*税率混在チェック*}
            if(frmh.find(".mtaxdiv").val()=='0') {
              if(cnt == 1) {
                toptaxrt = common.getValue($me.find(".taxrt"));
                toptaxdiv = common.getValue($me.find(".taxdiv"));
              } else {
                taxrt = common.getValue($me.find(".taxrt"));
                taxdiv = common.getValue($me.find(".taxdiv"));

                if(toptaxrt != taxrt || toptaxdiv != taxdiv) {
                  taxerrflg = true;
                  common.addError( $me.find(".jan"), "異なる税区分、税率の商品が混在しています。", null, true);
                }
              }
            }
          }
        }
      });


      if(errflg) {
        alert("エラーがあります");
        return false;
      } else if(taxerrflg) {
        alert("異なる税区分、税率の商品が混在しています");
        return false;
      } else if(cnt == 0) {
        alert("商品を入力して下さい。");
        return false;
      }

      //重複チェック
      var detail = $("#detail .detail");
      var errflg = false;

      console.log(detail.length);

      for(i = 0 ; i < detail.length ; i++) {
        if(errflg) {
          break;
        }
        var div = $(detail[i]);
        if(!stringUtil.isEmpty(div.find(".jan").val())) {
          var joken1 = div.find(".jan");
          for(j = i+1 ; j < detail.length ; j++) {
            if(errflg) {
              break;
            }
            var div2 = $(detail[j]);
            if(!stringUtil.isEmpty(div2.find(".jan").val())) {
              var joken1_2 = div2.find(".jan");
              if(div.attr("id") != div2.attr("id")){
                if(joken1.val() == joken1_2.val()) {
                  errflg = true;
                  joken1_2.focus();
                }
              }
            }
          }
        }
      }

      if(errflg) {
        alert("重複しています");
      } else {

        {*登録前メッセージは自力で出す。 *}
        $(".btn-reg").addClass("noMsgReg");

        {*sflg=0の登録時(sts='N'の登録時)は、バラ発注不可品がないかの警告チェックをする*}
        {*新規時はそもそも入力不可だけど、修正時は入力可のため*}
        {*警告なので、エラーが無ければチェック*}
        var sflg = common.getValue(frmh.find(".sflg"));

        if(sflg == '0') {
          var warflg = false;

          detail.each(function(e){
            var $me = $(this);

            if(!stringUtil.isEmpty(common.getValue($me.find(".iseq"))) 
            || !stringUtil.isEmpty(common.getValue($me.find(".jan")))) { {*削除と空白は対象外*}
              if(!$me.find(".chkLineDel").prop("checked")) {
                if(common.getValue($me.find(".undkbn")) == '1') {
                  warflg = true;
                  common.addError( $me.find(".jan"), "バラ発注不可品です。", null, true);
                }
              }
            }
          });

          if(warflg) {
            if(window.confirm("バラ発注不可品が含まれます。\n登録しますか？")) {
              $(".headermenu").find(".btn-reg").trigger("click");
            }
          } else {
            if(window.confirm("登録します。\nよろしいですか？")) {
              $(".headermenu").find(".btn-reg").trigger("click");
            }
          }
        } else if(sflg == '1') {
          if(window.confirm("確定します。\nよろしいですか？")) {
            $(".headermenu").find(".btn-reg").trigger("click");
          }
        } else if(sflg == '2'){ {*呼ばれないはずだけど、一応*}
          if(window.confirm("発注確定し、プリンタ出力します。\nよろしいですか？")) {
            $(".headermenu").find(".btn-reg").trigger("click");
          }
        }

      }

    });


    //=== header ===
    $(document).on("focus", "#headerTop .dummy", function(e) {
      $("#topmenu").find(".Func2").focus();
    });

    $(document).on("afterSelectaf212x1", "#headerTop .vseq", function(e) {
      $(".btn-search-before").trigger("click");
    });

    $(document).on("afterSelectaf2052x", "#headerTop .cuiseq", function(e) {
      $(".btn-search-before").trigger("click");
    });


    //=== body ===
    {*ケース入数、在庫数も欲しいので自力でとってくる
      一部一致の一覧表示の為、名称取得までは共通部分*}
    $(document).on("afterSelectAfm02x", "#detail .jan", function(e) {
      get_gdnminfo($(this));
    });
    $(document).on("clearChangeJan", "#detail .jan", function(e) {
      get_gdnminfo($(this));
    });
    $(document).on("afterChangeJan", "#detail .jan", function(e) {
      get_gdnminfo($(this));
    });
    function get_gdnminfo($me) {
      let inpcd = common.getValue($me);
      var grp = $me.closest(".janGrp");
      var detail = $me.closest(".detail");

      common.setValue(grp.find(".gdcnum"),"");
      common.setValue(grp.find(".gdhtun"),"");
      common.setValue(grp.find(".mvpno"),"");
      common.setValue(grp.find(".cst"),"");
      common.setValue(grp.find(".scst"),"");

      common.setValue(grp.find(".taxrt"),"");
      common.setValue(grp.find(".taxdiv"),"");
      common.setValue(grp.find(".taxinfo"),"");

      common.setValue(grp.find(".undkbn"),"");


      if(stringUtil.isEmpty(inpcd)) {
        return false;
      }

      var $frmh = $("form.header");

      var sendData = {};
      sendData["jan"] = inpcd;
      sendData["ijan"]  = common.getValue(detail.find(".ijan"));
      sendData["mcd"]  = common.getValue($frmh.find(".mcd"));
      sendData["dat"]  = common.getValue($frmh.find(".dat"));
      sendData["modelbl"]  = common.getValue($frmh.find(".modelbl"));

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

          if(ret == '0') {
            common.setValue(grp.find(".gdcnum"),common.addFigure(obj.gdcnum));
            common.setValue(grp.find(".gdhtun"),common.addFigure(obj.gdhtun));
            common.setValue(grp.find(".cst"),common.addFigure(obj.cst));

            common.setValue(grp.find(".taxrt"),obj.taxrt);
            common.setValue(grp.find(".taxdiv"),obj.taxdiv);
            common.setValue(grp.find(".taxinfo"),obj.taxinfo);

            common.setValue(grp.find(".undkbn"),obj.undkbn);
          } else {
            common.setValue($me,"");

            common.setValue(grp.find(".gdjnm"),"");
            common.setValue(grp.find(".gdjstnd"),"");
            common.setValue(grp.find(".ijan"),"");
            common.setValue(grp.find(".gdcls9nm"),"");

            common.addError($me, obj.msg, null);
          }
        }
        , function (error) {
          alert(error.msg);

          common.setValue(grp.find(".gdjnm"),"");
          common.setValue(grp.find(".gdjstnd"),"");
          common.setValue(grp.find(".ijan"),"");
          common.setValue(grp.find(".gdcls9nm"),"");

        }
      );
    }


    {*数量入力時と、単価入力時時に呼ぶ*}
    function calcAmt() {
      var $me = $(this);
      var frmh = $("form.header");
      let detail = $("#detail").closest(".contents").find(".detail.selectRow");

      var sendData = {};
      sendData["mcd"]  = common.getValue(frmh.find(".mcd"));
      sendData["scutaxc"]  = common.getValue(frmh.find(".scutaxc"));
      sendData["mvpno"]  = common.getValue(detail.find(".mvpno"));
      sendData["cst"]  = common.getValue(detail.find(".cst"));
      

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

          if(ret == '0') {
            common.setValue(detail.find(".scst"),common.addFigure(obj.scst));
            calcSum("scst");
          } else {
          }
        }
        , function (error) {
          alert(error.msg);
        }
      );
    }
    
    $(document).on("change", ".mvpno, .cst, .sal", function(e) {
      calcAmt()
    });

    $(document).on("click", ".chkLineDel", function(e) {
      calcSum("mvpno");
      calcSum("scst");
    });

    $(document).on("focus", ".mvpno", function(e) { {*数量にフォーカスが来た時商品が入っていたなかったら登録へ*}
      let detail = $(this).closest(".detail");
      if (stringUtil.isEmpty(common.getValue(detail.find(".jan")))) {
        $("#topmenu").find(".Func9").focus();
      }
    })


    $(document).on("focus", "#detailTop .dummy", function(e) {
      $("#topmenu").find(".Func9").focus();
    });


    //====明細行動作======


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

      if(maxvlin == length) {
        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));
    });


    //=== footer ===

    // 初回フォーカス

  });

</script>
