以前项目中的js写法2

来源:互联网 发布:日本直播软件排名 编辑:程序博客网 时间:2024/05/01 02:47

1.sale.input.js

(function($) {
 
 var AddProduct = {
   
  options : {
   index : 0
  },
   
  search : function() {
  
   var shipmentFacility = $("#shipmentFacility").val();

   var customerCd = $("#customerCd").val();
   
   if(null == shipmentFacility || "" == shipmentFacility){
    alert("出庫元は必ず選択してください。");
    return false;
   }
   
   if(null == customerCd || "" == customerCd){
    alert("卸先は必ず選択してください。");
    return false;
   }
   
   // 同名商品のチェック
   Product.windowOpen("sales", shipmentFacility, customerCd, this.add);
   var cdOjbs = $(".productCd");
   var cdsArray = new Array(cdOjbs.length);
   for(var i=0 ;i<cdOjbs.length; i++){
       cdsArray[i] = $(cdOjbs[i]).text();
   }
   Product.currentSelectProductCds = cdsArray;

  },

  add : function(jsonObj) {   
   // clone template
   var sourceHtml = $("#targetHtml").clone(true);

   sourceHtml.attr("id", "");

   sourceHtml.attr("style", "");

   var countTr = $("#productListTable tr").length;

   //index change
   sourceHtml.children(".id").append(countTr - 1);
   
   $("#searchButtonTrId").empty().append(countTr);
   

   // add product infos
   // 品番
   sourceHtml.children(".productCd").append(jsonObj.productCd);
   // 商品名
   sourceHtml.children(".productDisplayName").append(
     jsonObj.productDisplayName);
   // 課税区分
   sourceHtml.children(".taxDiv").children(".taxDivDisplayName")
     .append(jsonObj.taxDivDisplayName);
   // 課税区分(hidden)
   sourceHtml.children(".taxDiv").children(".taxCd").val(
     jsonObj.taxDiv);
   // 上代
   var priceHtml = "";
   var prices = (jsonObj.price).split("/");

   if (prices.length > 1) {
    priceHtml += "<select class=\"price\" onchange=\"Sales.changePrice(this);return false;\">";
    for ( var i = 0; i < prices.length; i++) {
     priceHtml += "<option value=\"" + parseInt(prices[i]) + "\">" + NumberFormat.addCommas(prices[i]) + "</option>";
    }
    priceHtml += "</select >";
   } else {
    priceHtml = NumberFormat.addCommas(jsonObj.price)+"<input class=\"price\" type=\"hidden\" value=\"" + parseInt(jsonObj.price) + "\"/>";
   }
   
   sourceHtml.children(".priceTd").append(priceHtml);
   var wholeTemp = jsonObj.wholesale;
   if (null == wholeTemp || "" == wholeTemp) {
    wholeTemp = 0;
   } else {
    wholeTemp = parseInt(wholeTemp);
   }
   //掛率
   sourceHtml.children(".wholesale").children(".wholesaleInput").val(wholeTemp);
   
   // 下代
   sourceHtml.children(".supplierPrice").children(".supplierPriceInput").append(NumberFormat.addCommas(parseInt((jsonObj.price).split("/")[0]*jsonObj.wholesale/100)));

   // 有効在庫数量
   sourceHtml.children(".activeStockQty").children(".resultQty")
     .append(jsonObj.activeStockQty);
   // 有効在庫数量(hidden)
   sourceHtml.children(".activeStockQty").children(".totalQty").val(
     jsonObj.activeStockQty);
   // 受注後有効在庫数量
   sourceHtml.children(".afterStockQty").children(".resultQty")
     .append(jsonObj.activeStockQty);

   // bind function
   // bind 掛率
   sourceHtml.children(".wholesale").children(".wholesaleInput").bind(
     "focusout", function() {
      SalesInputJsCheck.wholesaleCheck(this);
      QtyAndMoneyHandle.handle(this);
     });
   // bind 発注数量
   sourceHtml.children(".orderQty").children(".orderQtyInput").bind(
     "focusout", function() {
      SalesInputJsCheck.orderQtyCheck(this);
      QtyAndMoneyHandle.handle(this);
     });

   // bind 受注数量
   sourceHtml.children(".salesQty").children(".salesQtyInput").bind(
     "focusout", function() {
      SalesInputJsCheck.salesQtyCheck(this);
      QtyAndMoneyHandle.handle(this);
     });

   // add hidden params html
   sourceHtml.find(".formParams").append(
     AddProduct.initFormParams(jsonObj, Sales.options.index));

   // set checkbox name
   sourceHtml.children(".checkbox").find(".ck").attr("name",
     "orderDtlList[ " + (Sales.options.index) + " ].ck");

   $("#searchButtonTd").parent().before(sourceHtml);
   
   AddProduct.lineCss();
   
   Sales.options.index++ ;

  },

  /** 全て選択 */
  selectAll : function() {

   // /lohas_erp/src/webapp/erp/js/common/selector.js
   Selector.selectAll();

   $("#productListTable :checkbox").each(function() {
    UnderLineHandle.handle(this);
   });
  },

  /** 全て未選択 */
  selectNoOne : function() {

   // /lohas_erp/src/webapp/erp/js/common/selector.js
   Selector.unselectAll();

   $("#productListTable :checkbox").each(function() {
    UnderLineHandle.unChecked(this);
   });
  },

  /** 選択した項目を削除 */
  deleteLine : function() {

   var $selectedBox = $('table:visible tr:visible').find(
     "input.ck:checked");

   if ($selectedBox.size() == 0)
    return false;

   $selectedBox.each(function() {

    $(this).parents('tr').remove();
   });

   $("table:visible tr:visible td.lineNo").each(function(i) {
    $(this).text(i + 1);
   });

   var lineNo = $("#productListTable tr").length - 1;
   $("#searchButtonTrId").text(lineNo == 0 ? 1 : lineNo);
   
   AddProduct.lineCss();

   UnderLineHandle.unChecked();
  },

  initFormParams : function(jsonObj,index){
   
   var hiddenParams = "";
   
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].salesDtlNo\" value=\""+(index+1)+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].productCd\" value=\""+jsonObj.productCd+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].productDisplayName\" value=\""+jsonObj.productDisplayName+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].taxDiv\" value=\""+jsonObj.taxDiv+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].taxDivDisplayName\" value=\""+jsonObj.taxDivDisplayName+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].price\" value=\""+(jsonObj.price).split("/")[0]+"\" class=\"price\"/>";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].priceMainAndSub\" value=\""+jsonObj.price+"\"/>";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].activeStockQty\" value=\""+jsonObj.activeStockQty+"\" />";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].wholesaleInput\" value=\""+jsonObj.wholesale+"\" class=\"wholesale\"/>";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].orderQtyInput\" value=\"\" class=\"orderQty\"/>";
   hiddenParams += "<input type=\"hidden\" name=\"salesDtlList[ "+index+" ].salesQtyInput\" value=\"\" class=\"salesQty\"/>";
  
      return hiddenParams;
  },
  
  lineCss : function(){
      $("#productListTable tr:odd").removeClass("evenLine");
      $("#productListTable tr:even").addClass("evenLine");
  },
  
  changePrice : function(dom){
   QtyAndMoneyHandle.handle(dom);
  },
  
  changeCustomer:function (destinationUrl,forwordAmtUrl){
   $("#telNo").val("");
   $("#faxNo").val("");
   $("#postalCd").val("");
   $("#addressOne").val("");
   $("#addressTwo").val("");
   CustomerChangeHandle.handle(destinationUrl,forwordAmtUrl);
  },
  
  changeShipmentCd :function(urlId){
   var customerCd = $("#customerCd").find('option:selected').val();
   var shipmentCd = $("#destination").find('option:selected').val();
   var url=$("#"+urlId).val();
   
   if(null == customerCd || "" == customerCd ||
      null == shipmentCd || "" == shipmentCd ||
      null == url || "" == url){
    $("#telNo").val("");
    $("#faxNo").val("");
    $("#postalCd").val("");
    $("#addressOne").val("");
    $("#addressTwo").val("");
   }else {
    $.ajax( {
     type : "post",
     url : url,
     data : "customerCd=" + customerCd + "&shipmentCd=" + shipmentCd,
     dataType : "json",
     success : function(obj) {
      if (null == obj) {
       $("#telNo").val("");
       $("#faxNo").val("");
       $("#postalCd").val("");
       $("#addressOne").val("");
       $("#addressTwo").val("");
      }else{
       $("#telNo").val(obj.telNo);
       $("#faxNo").val(obj.faxNo);
       $("#postalCd").val(obj.postalCd);
       $("#addressOne").val(obj.addressOne);
       $("#addressTwo").val(obj.addressTwo);
      }
     }
    });
   }
   
   
  }
 };
 
 var CustomerChangeHandle = {
   
  handle:function (destinationUrl,forwordAmtUrl){
   Destination.ajaxSearch(destinationUrl);
   
   CustomerChangeHandle.ajaxForwordAmtSearch(forwordAmtUrl);
  },
   
  
  ajaxForwordAmtSearch : function(url) {

   var customerCd = $("#customerCd").find('option:selected').val();

   if (customerCd == null || customerCd == "") {
    $(".forwardFlg").val("0");
    $(".forwardAmt").val("0");
    UnderLineHandle.handle();
   } else {
    $.ajax( {
     type : "post",
     url : url,
     data : "customerCd=" + customerCd,
     dataType : "json",
     success : function(obj) {
      if (null != obj) {
       $(".forwardFlg").val(obj.forwardFlg);
       $(".forwardAmt").val(obj.forwardAmt);
      }
      UnderLineHandle.handle();
     }
    });
   }
  }
 };
  
 var QtyAndMoneyHandle = {

  handle : function(dom) {

   // 有効在庫数量 ,数量
   // 合計金額 lineTotal
   this.lineQtyAndPrice(dom);

   //underLine
   UnderLineHandle.handle();

  },

  lineQtyAndPrice : function(dom) {

   var currentTR=$(dom).parent().parent();

   //上代
   var price = parseInt(currentTR.children(".priceTd").children(".price").val()) || 0;
   
   //掛率
   var wholesaleInput = currentTR.children(".wholesale").children(".wholesaleInput").val();
   var wholesale = !isNaN(wholesaleInput) ? wholesaleInput :  100;
   
   //下代
   currentTR.children(".supplierPrice").children(".supplierPriceInput").empty().append(NumberFormat.addCommas(parseInt(price*wholesale/100)));
   
   //発注数量
   var orderQtyInput = currentTR.children(".orderQty").children(".orderQtyInput").val();
   var orderQty = parseInt(currentTR.children(".orderQty").children(".orderQtyInput").val()) || 0;
   
   //有効在庫数量
   var activeStockQty = parseInt(currentTR.children(".activeStockQty").children(
    ".totalQty").val()) || 0;

   //受注数量
   var salesQtyInput = currentTR.children(".salesQty").children(".salesQtyInput").val();
   var salesQty = parseInt(currentTR.children(".salesQty").children(".salesQtyInput").val()) || 0;
   
   //受注後有効在庫数量
   salesQty = salesQty < 0 ? 0 : salesQty;

   var afterStockQty = (activeStockQty - salesQty) < 0 ? 0 : (activeStockQty - salesQty);
   
   currentTR.children(".afterStockQty").children(
     ".resultQty").empty().append(afterStockQty);
   
   //合計金額
   var sumProductAmt = parseInt(price * wholesale/100) * salesQty;
   
   currentTR.children(".lineTotal").children(".money")
     .empty().append(NumberFormat.addCommas(sumProductAmt));

   //Set the data needed to send
   currentTR.children(".formParams").find(".price").val(price);
   currentTR.children(".formParams").find(".wholesale").val(wholesaleInput);
   currentTR.children(".formParams").find(".orderQty").val(orderQtyInput);
   currentTR.children(".formParams").find(".salesQty").val(salesQtyInput);

  }

 };

 var UnderLineHandle = {

   handle : function() {
   
   // 受注数量の計算
   this.salesTotalQty();
   
   // 受注合計金額の計算
   this.salesTotalMoney();
   
   // 消費税額の計算
   this.taxTotalMoney();
   
   //送料の計算
   this.forwardAmtMoney();
      
   // 受注総額(税込)の計算
   this.salesTotalWithTaxMoney();
 },

 salesTotalQty : function() {
   // 受注数量=全ての明細行の「数量」を加算
   var selectRow = this.getSelectCheckBoxArray();
 
   var rowQty = 0;
 
   var salesQty = 0;
 
   for ( var i = 0; i < selectRow.length; i++) {
 
    rowQty = $(selectRow[i]).parent().nextAll(".salesQty").children(
      ".salesQtyInput").val();
 
    var qty = parseInt(rowQty) || 0;
 
    salesQty += qty < 0 ? 0 : qty;
 
   }
 
   $(".salesSumQtySpan").empty().append(salesQty);
   $(".salesSumQty").val(salesQty);
 },

 salesTotalMoney : function() {
  // 受注合計金額=全ての明細行の「合計金額」を加算
  var selectRow = this.getSelectCheckBoxArray();

  var rowMoney = 0;

  var totalMoney = 0;

  for ( var i = 0; i < selectRow.length; i++) {

   rowMoney = $(selectRow[i]).parent().nextAll(".lineTotal").children(
     ".money").text();
   
   rowMoney=NumberFormat.removeCommas(rowMoney);

   totalMoney += parseInt(rowMoney) || 0;
  }

  $(".salesSumAmtSpan").empty().append(NumberFormat.addCommas(totalMoney));
  $(".salesSumAmt").val(totalMoney);

 },

 taxTotalMoney : function() {
  // 消費税額=課税区分が$外税$の受注合計金額×セッションに設定されている消費税率
  var selectRow = this.getSelectCheckBoxArray();

  // 課税区分
  var taxDiv;

  var rowTaxMoney = 0;

  var totalTaxMoney = 0;

  for ( var i = 0; i < selectRow.length; i++) {

   rowTaxMoney = $(selectRow[i]).parent().nextAll(".lineTotal")
     .children(".money").text();
   
   taxDiv = $(selectRow[i]).parent().nextAll(".taxDiv").children(
     ".taxCd").val();

   // 0:外税; 1:内税
   if (taxDiv == 0) {
    totalTaxMoney += parseInt(NumberFormat.removeCommas(rowTaxMoney)) || 0;
   }

  }
  
  var taxRate = Number($("#taxRate").val()) || 0;
  
  totalTaxMoney = parseInt(totalTaxMoney * taxRate);
  
  var totalWithTaxMoney = Number($(".salesSumAmt").val()) || 0;
  
  totalTaxMoney = Common.Compute.taxMoneyCompute(totalWithTaxMoney);
  
  $(".taxAmtSpan").empty().append(NumberFormat.addCommas(totalTaxMoney));
  $(".taxAmt").val(totalTaxMoney);

  var totalMoney = parseInt(totalWithTaxMoney - totalTaxMoney);   
  $(".salesSumAmtSpan").empty().append(NumberFormat.addCommas(totalMoney));
  $(".salesSumAmt").val(totalMoney);
  
 },
 
 forwardAmtMoney : function() {
  
  //送料区分
  var forwardFlg=parseInt($(".forwardFlg").val()) || 0;
  $(".forwardFlg").val(forwardFlg);
  
  // 送料金額
  var forwardAmtInput = $(".forwardAmt").val();
  $(".forwardAmt").val(forwardAmtInput);
  
  
  // 受注合計金額
  var salesTotalMoney = parseInt($(".salesSumAmt").val()) || 0;
  
  // 送料区分が$送料不要$の場合 || 受注合計金額<30,000の場合
  if ($("#forwardAmtChangeFlg").val() != 1) {
   if (forwardFlg <= 0 || salesTotalMoney < 30000) {
    // 送料=0
    $(".forwardAmtInut").val("0");
   } else {
    // 選択した卸先の卸先コードに一致する送料
    $(".forwardAmtInut").val(forwardAmtInput);
   }
  } 
 },
 salesTotalWithTaxMoney : function() {
  // 受注総額(税込)=受注合計金額+消費税額+送料

  // 受注合計金額
  var salesTotalMoney = parseInt(NumberFormat.removeCommas($(".salesSumAmtSpan").text())) || 0;

  // 消費税額
  var taxTotalMoney = parseInt(NumberFormat.removeCommas($(".taxAmtSpan").text())) || 0;
  
  // 送料
  var forwardAmtMoney = parseInt(NumberFormat.removeCommas($(".forwardAmtInut").val())) || 0;

  var totalMoney = parseInt(salesTotalMoney + forwardAmtMoney + taxTotalMoney);

  $(".sumAmtSpan").empty().append(NumberFormat.addCommas(totalMoney));
  $(".sumAmt").val(totalMoney);
 },

 unChecked : function() {
  UnderLineHandle.handle();
 },

 /** get all checkBox */
 getSelectCheckBoxArray : function() {
  return $("#productListTable :checkbox");
 }
 };
 window.Sales = AddProduct;
 
 window.QtyAndMoneyHandle = QtyAndMoneyHandle;
 
 window.UnderLineHandle = UnderLineHandle;
 
})(jQuery);

(function($) {
 
 var JsCheck = {

  wholesaleCheck : function(dom) {
   // 掛率
   var wholesaleInput = $(dom).val();
   var wholesale = parseInt(wholesaleInput);
 
   if (null == wholesaleInput || "" == wholesaleInput) {
    alert("掛率は必須入力項目です。");
   } else if (isNaN(wholesaleInput)) {
    alert("掛率は半角数字を入力してください。");
   } else if (wholesale < 1 || wholesale > 100) {
    alert("掛率は1~100を入力してください。");
   }
  },
  
  orderQtyCheck : function(dom) {
   // 発注数量
   var orderQtyInput = $(dom).val();
   var orderQty = parseInt(orderQtyInput);

   if (null == orderQtyInput || "" == orderQtyInput) {
    alert("発注数量は必須入力項目です。");
   } else if (isNaN(orderQtyInput)) {
    alert("発注数量は半角数字を入力してください。");
   } else if(orderQty<1){
    alert("発注数量は1以上を入力してください。");
   } else {
    var currentTR=$(dom).parent().parent();
    
    // 受注数量
    var salesQty = parseInt(currentTR.children(".salesQty").children(
     ".salesQtyInput").val());
    
    if (salesQty > orderQty) {
     alert("受注数量が発注数量を超えています。");
    }
   }
  },
  
  salesQtyCheck : function(dom) {
   // 受注数量
   var salesQtyInput = $(dom).val();
   var salesQty = parseInt(salesQtyInput);

   if (null == salesQtyInput || "" == salesQtyInput) {
    alert("受注数量は必須入力項目です。");
   } else if (isNaN(salesQtyInput)) {
    alert("受注数量は半角数字を入力してください。");
   } else if (salesQty < 1) {
    alert("受注数量は1以上を入力してください。");
   } else {
    var currentTR=$(dom).parent().parent();
    
    // 発注数量
    var orderQty = parseInt(currentTR.children(".orderQty").children(
      ".orderQtyInput").val());
  
    // 有効在庫数量
    var activeStockQty = parseInt(currentTR.children(".activeStockQty")
      .children(".totalQty").val()) || 0;
  
    if (salesQty > orderQty) {
     alert("受注数量が発注数量を超えています。");
    } else if (salesQty > activeStockQty) {
     alert("受注数量が有効在庫数量を超えています。");
    }
   }
  }
 };
   
 window.SalesInputJsCheck = JsCheck;
 
})(jQuery);

(function($){
 
 var Init = {
  
   initEvent : function() {

   $("#productListTable .wholesale .wholesaleInput").bind("focusout",
     function() {
      SalesInputJsCheck.wholesaleCheck(this);
      QtyAndMoneyHandle.handle(this);
     });
   $("#productListTable .orderQty .orderQtyInput").bind("focusout",
     function() {
      SalesInputJsCheck.orderQtyCheck(this);
      QtyAndMoneyHandle.handle(this);
     });
   $("#productListTable .salesQty .salesQtyInput").bind("focusout",
     function() {
      SalesInputJsCheck.salesQtyCheck(this);
      QtyAndMoneyHandle.handle(this);
     });
   $(".forwardAmtInut").bind("change", function() {
    Init.forwardAmtChange(this);
   });
  },
  
   initButtonLineNo : function(){
    
    var countTr = $("#productListTable tr").length;
   
   $("#searchButtonTrId").text(countTr-1);
   
   Sales.lineCss();
   },
  
   forwardAmtChange:function(dom){
    $("#forwardAmtChangeFlg").val("1");
    UnderLineHandle.handle();
   }
 };

 window.Init = Init;
})(jQuery);

$(function(){
 Sales.options.index = $("#productListTable tr").length - 2;
});

############################################

2.sale.js

var Sales = {

 params : {
  groupId : ""

 },

 // 上部検索条件項目の入力値を検索条件として検索する
 search : function(formId, url) {
  $('#' + formId).attr("action", url);
  $('#' + formId).submit();
 },

 // 受注承認画面へ遷移する
 operator : function(formId, code, url) {
  $("#salesNoHidden").val(code);
  $('#' + formId).attr("action", url);
  $('#' + formId).submit();
 },

 complete : function(formId) {
  $('#' + formId).submit();
 },

 modify : function(formId) {
  $('#' + formId).submit();
 },

 // 商品選択サブウィンドウを開く
 productSelect : function(groupId) {

  this.setGroupId(groupId);

  var shipmentFacility = $("#shipmentFacility").val();

  var customerCd = $("#customerCd").val();
  
  Product.windowOpen('sales', shipmentFacility, customerCd,
    this.productBack);
 },

 // 商品選択サブウィンドウを開くBack
 productBack : function(jsonObj) {
  var group = Sales.getGroupId();
  $("#" + group + "ProductCd").val(jsonObj.productCd);
  $("#" + group + "ProductDisplayName").val(jsonObj.productDisplayName);
 },

 setGroupId : function(groupId) {
  this.params.groupId = groupId;
 },

 getGroupId : function() {
  return this.params.groupId;
 }
};

######################################

3.shipment.resut.js

/**
 * 出庫実績管理JS
 */
function ShipmentResultJS() {

 /**
  * 出庫実績管理に専用するメッソドリスト
  */
 this.method = {

  inputText : undefined,

  // 金額の桁数
  MoneyFixedNumber : 0,

  /**
   * 入力された出庫数量をチェックする
   */
  validate : function(customerCd, salesNo, salesDtlNo) {

   var idMark = customerCd + "_" + salesNo + "_" + salesDtlNo;

   // 出庫数量
   var shipmentOrderQty = Number($("#shipmentOrderQty_" + idMark)
     .val());

   // ★数値項目に数値以外が入力される場合、下記のメッセージを表示する。
   // →「$項目名$は半角数字で入力してください。」
   if(window.isNaN(shipmentOrderQty)){
    // 出庫数量と出庫不可数量を復旧する
//    this.inputText.val(this.inputText.returnVal);
    
    alert("出庫数量は半角数字で入力してください。");

    
    return false;
   }

   // ★出庫数量>承認済数量-出庫済数量 の場合、下記アラートメッセージを表示する
   // →「出庫数量が承認済数量を超えています。」

   // 出庫済数量
   var shipmentQty = Number($("#shipmentQty_" + idMark).val());
   // 承認済数量
   var approvalQty = Number($("#approvalQty_" + idMark).val());

   if (shipmentOrderQty <= (approvalQty-shipmentQty)) {
    // 許可する
   } else {
    // 出庫数量と出庫不可数量を復旧する
//    this.inputText.val(this.inputText.returnVal);
    // メッセージを出させる
    alert("出庫数量が承認済数量を超えています。");
    return false;
   }
  },

  eventBinding : function() {
   var this_ = this;

   $("#_listTable").find("input:text").blur(function() {
    var id = $(this).attr("id");
    var customerCd = id.split("_")[1];
    var salesNo = id.split("_")[2];
    var salesDtlNo = id.split("_")[3];

    this_.validate(customerCd, salesNo, salesDtlNo);
    this_.doFocusOutSum(customerCd, salesNo, salesDtlNo);
   }).focus(function() {
    this_.inputText = $(this);
    this_.inputText.returnVal = $(this).val();
   }).number();
  },

  doFocusOutSum : function(customerCd, salesNo, salesDtlNo) {
   // 出庫指示数量と出庫合計金額を算出する(商品別)
   this.doSumPerLine(customerCd, salesNo, salesDtlNo);

   // 総合情報を更新する
   this.excuteSum();
  },

  /**
   * いろんな合計数を算出する
   */
  excuteSum : function() {
   // 出庫総数量を算出する(卸先別)
   var sumQty = 0;
   $("input[id^='shipmentOrderQty_']").each(function() {
    sumQty += Number($(this).val());
   });
   $("#allSumShipmentOrderQty").html(sumQty);
   $("#_sumQty").val(sumQty);

   // 出庫指示合計金を算出する
   var sumPrice = 0;
   $("td[id^='sumLinePrice_']").each(function() {
    sumPrice += Number($(this).html().replace(/¥|,/g, ""));
   });
   $("#allSumShipmentPrice").html("¥" + NumberFormat.addCommas(sumPrice));
   $("#_sumAmt").val(sumPrice);

   // 消費税額
   var sumTax = Common.Compute.taxMoneyCompute(sumPrice);
//   var sumTax = (sumPrice * $("#currentTaxRate").val()).toFixed(this.MoneyFixedNumber);
   $("#allSumTax").html("¥" + NumberFormat.addCommas(sumTax));
   $("#_taxAmt").val(sumTax);

   // 出庫総計金額(税抜)
   $("#allSumSupplierPrice").html(
     "¥" + NumberFormat.addCommas((Number(sumPrice) - Number(sumTax))));
  },

  /**
   * 出庫や受注情報を加算する(商品行別)
   *
   * @param customerCd
   *            卸先コード
   * @param salesNo
   *            受注番号
   * @param salesDtlNo
   *            受注行番号
   */
  doSumPerLine : function(customerCd, salesNo, salesDtlNo) {
   var idMark = customerCd + "_" + salesNo + "_" + salesDtlNo;

   // 受注数量
   var salesQty = Number($("#salesQty_" + idMark).val());
   // 出庫指示数量
   var shipmentOrderQty = Number($("#shipmentOrderQty_" + idMark)
     .val());
   // 出庫指示不可数量
   var impossibleQty = Number($("#impossibleQty_" + idMark).val());
   // 出庫指示承認済数量
//   var approvalQty = Number($("#approvalQty_" + idMark).val());
   // 下代単価
   var supplierPrice = Number($("#supplierPrice_" + idMark).val());

   $("#sumLinePrice_" + idMark).html(
     "¥" + NumberFormat.addCommas((shipmentOrderQty * supplierPrice).toFixed(this.MoneyFixedNumber)));

   // 受注残数量を更新する
   $("#remainSalesQty_" + idMark).html(
     salesQty - shipmentOrderQty - impossibleQty);

  }
 };
}

var shipmentResultJs = new ShipmentResultJS();

############################################

4.shipment.indicate.input.js

/**
 * 出庫指示入力画面
 */
var ShipmentIndicateInput = {
 inputText : undefined,

 validate : function(customerCd, salesNo, salesDtlNo) {
  var idMark = customerCd + "_" + salesNo + "_" + salesDtlNo;

  // 出庫指示数量
  var shipmentOrderQty = Number($("#shipmentOrderQty_" + idMark).val());
  // 出庫指示不可数量
  var impossibleQty = Number($("#impossibleQty_" + idMark).val());
  
  // ★数値項目に数値以外が入力される場合、下記のメッセージを表示する。
  // →「$項目名$は半角数字で入力してください。」
  if(window.isNaN(shipmentOrderQty)){
   // 出庫数量と出庫不可数量を復旧する
//   this.inputText.val(this.inputText.returnVal);
   
   alert("出庫指示数量は半角数字で入力してください。");

   return false;
  }
  
  if(window.isNaN(impossibleQty)){
   alert("出庫不可数量は半角数字で入力してください。");
   return false;
  }

  // ★受注数量<(出庫数量+出庫不可数量+承認済数量)の場合、下記のメッセージを表示する。
  // →「出庫数量、出庫不可数量が受注数量を超えています。」
  // 受注数量
  var salesQty = Number($("#salesQty_" + idMark).val());
  // 出庫指示済数量
  var approvalQty = Number($("#approvalQty_" + idMark).val());

  if (salesQty >= (shipmentOrderQty + impossibleQty + approvalQty)) {
   // 許可する
  } else {
   // メッセージを出させる
   alert("出庫数量、出庫不可数量が受注数量を超えています。");
   // 出庫数量と出庫不可数量を復旧する
//   this.inputText.val(this.inputText.returnVal);

   return false;
  }

  /*
   * // just for test alert("salesQty;" + salesQty + "/shipmentOrderQty:" +
   * shipmentOrderQty + "/impossibleQty:" + impossibleQty +
   * "/approvalQty:" + approvalQty);
   */
 },

 eventBinding : function() {
  $("#_listTable").find("input:text").blur(
    function() {
     var id = $(this).attr("id");
     var customerCd = id.split("_")[1];
     var salesNo = id.split("_")[2];
     var salesDtlNo = id.split("_")[3];
     ShipmentIndicateInput.validate(customerCd, salesNo,
       salesDtlNo);
     ShipmentIndicateInput.doFocusOutSum(customerCd, salesNo,
       salesDtlNo);
    }).focus(function() {
   ShipmentIndicateInput.inputText = $(this);
   ShipmentIndicateInput.inputText.returnVal = $(this).val();

  }).number();
 },

 doFocusOutSum : function(customerCd, salesNo, salesDtlNo) {
  // 出庫指示数量と出庫合計金額を算出する(商品別)
  this.doSumPerLine(customerCd, salesNo, salesDtlNo);

  // 出庫指示数量と出庫合計金額を算出する(卸先別)
  this.doSumPerCustomer(customerCd);

  // 総合情報を更新する
  this.excuteSum();
 },

 excuteSum : function() {
  var sumQty = 0;
  // 出庫指示総数量を算出する
  $("td[id^='sumShipmentOrderQty_']").each(function() {
   sumQty += Number($(this).html());
  });
  $("#allSumShipmentOrderQty").html(sumQty);

  var sumPrice = 0;
  // 出庫指示合計金を算出する
  $("td[id^='sumSupplierPrice_']").each(function() {
   sumPrice += Number($(this).html().replace(/¥|,/g, ""));
  });
  $("#allSumSupplierPrice").html("¥" + NumberFormat.addCommas(sumPrice));

  // 消費税額
  var sumTax = 0;
  $("td[id^='sumTax_']").each(function() {
   sumTax += Number($(this).html().replace(/¥|,/g, ""));
  });
  $("#allSumTax").html("¥" + NumberFormat.addCommas(sumTax));

  // 出庫総計金額(税込み)
  var allSumShipmentPrice = 0;
  $("td[id^='sumShipmentPrice_']").each(function() {
   allSumShipmentPrice += Number($(this).html().replace(/¥|,/g, ""));
  });
  $("#allSumShipmentPrice").html("¥" + NumberFormat.addCommas(allSumShipmentPrice));
 },

 /**
  * 出庫や受注情報を加算する(商品行別)
  *
  * @param customerCd
  *            卸先コード
  * @param salesNo
  *            受注番号
  * @param salesDtlNo
  *            受注行番号
  */
 doSumPerLine : function(customerCd, salesNo, salesDtlNo) {
  var idMark = customerCd + "_" + salesNo + "_" + salesDtlNo;

  // 受注数量
  var salesQty = Number($("#salesQty_" + idMark).val());
  // 出庫指示数量
  var shipmentOrderQty = Number($("#shipmentOrderQty_" + idMark).val());
  // 出庫指示不可数量
  var impossibleQty = Number($("#impossibleQty_" + idMark).val());
  // 出庫指示済数量
  var approvalQty = Number($("#approvalQty_" + idMark).val());
  // 下代単価
  var supplierPrice = Number($("#supplierPrice_" + idMark).val());

  $("#sumLinePrice_" + idMark).html(
    "¥" + NumberFormat.addCommas(shipmentOrderQty * supplierPrice));

  // 受注残数量を更新する
  $("#remainSalesQty_" + idMark).html(
    salesQty - shipmentOrderQty - impossibleQty - approvalQty);

 },

 /**
  * 出庫や受注情報を加算する(卸先別)
  *
  * @param customerCd
  *            卸先コード
  */
 doSumPerCustomer : function(customerCd) {

  // 出庫指示総数量を算出する(卸先別)
  var sumQty = 0;
  $("input[id^='shipmentOrderQty_" + customerCd + "']").each(function() {
   sumQty += Number($(this).val());
  });
  $("#sumShipmentOrderQty_" + customerCd).html(sumQty);

  // 出庫総計金額(卸先別)(税込み)
  var sumPrice = 0;
  $("td[id^='sumLinePrice_" + customerCd + "']").each(function() {
   sumPrice += Number($(this).html().replace(/¥|,/g, ""));
  });
  $("#sumShipmentPrice_" + customerCd).html("¥" + NumberFormat.addCommas(sumPrice));
  
  // 消費税額(卸先別)
  var sumTax = Common.Compute.taxMoneyCompute(sumPrice);
//  var sumTax = (sumPrice * $("#currentTaxRate").val()).toFixed(0);
  $("#sumTax_" + customerCd).html("¥" + NumberFormat.addCommas(sumTax));

  // 出庫総計金額(税抜)
  $("#sumSupplierPrice_" + customerCd).html(
    "¥" + NumberFormat.addCommas((Number(sumPrice) - Number(sumTax))));
 }

};

########################################

5.shipment.indicate.form.operation.js

var ShipmentFormOperation = {
  
 /**
  * excel出力を実行する
  * @param formId
  */ 
 excelOutput:function(formId){
  if(confirm("納品書を出力します")){
   ShipmentFormOperation.doCommonFormSubmit(formId);
  }
 },

 /**
  * 本社への出庫指示承認を取り消す
  *
  * @param salesNo
  *            受注番号
  * @param salesDtlNo
  *            受注行番号
  * @param modDtMillis
  *            最大の更新日時
  */
 goShipmentApprovedCancelForCompany : function(salesNo, salesDtlNo,modDtMillis) {
  $("#_salesNoToCancel").val(salesNo);
  $("#_salesDtlNoToCancel").val(salesDtlNo);
  $("#_modDtMillis").val(modDtMillis);
  
  $("#cancelFrm").submit();
 },

 /**
  * 倉庫への出庫指示承認を取り消す
  *
  * @param salesOrderNo
  *            受注出庫指示番号
  * @param modDtMillis
  *            受注指示承認済.更新日時
  * @param salesHdrModDtMillis
  *            受注HDR.更新日時
  */
 goShipmentApprovedCancel : function(salesOrderNo, modDtMillis,
   salesHdrModDtMillis) {
  $("#_salesOrderNo").val(salesOrderNo);
  $("#_modDtMillis").val(modDtMillis);
  $("#_salesHdrModDtMillis").val(salesHdrModDtMillis);

  $("#searchFrm").attr("action", $("#cancelFrm").attr("action"));
  this.doCommonFormSubmit("searchFrm");
 },

 /**
  * 出庫実績一覧画面から出庫実績明細画面へ遷移する
  *
  * @param shipmentNo
  *            出庫番号
  */
 goShipmentResultDetail : function(shipmentNo) {
  $("#_shipmentNo").val(shipmentNo);
  url = $("#detailFrm").attr("action");
  $("#pagingAndSortForm").attr("action", url);

  this.doCommonFormSubmit("pagingAndSortForm");
 },

 doShipmentResultInputSearchSubmit : function() {

  // 卸先名を設定する
  $("#customerName").val($("#customerCd").children(":selected").text());

  // 出庫先名を設定する
  $("#shipmentName").val($("#destination").children(":selected").text());

  this.doCommonFormSubmit("searchFrm");
 },

 doShipmentIndicateConfirmSubmit : function() {
  $("#searchFrm").attr("action", $("#confirmFrm").attr("action"));
  this.doCommonFormSubmit("searchFrm");
 },

 doShipmentIndicateInputSearchSubmit : function() {
  // 出庫元名を設定する
  $("#shipmentFacilityName").val(
    $("#shipmentFacility").children(":selected").text());

  // 卸先名を設定する
  $("#customerName").val($("#customerCd").children(":selected").text());

  // 出庫先名を設定する
  $("#shipmentName").val($("#destination").children(":selected").text());

  this.doCommonFormSubmit("searchFrm");
 },

 doShipmentInputCompleteSubmit : function() {
  $("#inputFrm").attr("action", $("#completeFrm").attr("action"));

  this.doCommonFormSubmit("inputFrm");
 },

 /**
  * 出庫実績入力確認ボタンをクリクする
  *
  * @param formId
  */
 doShipmentResultInputConfirmSubmit : function(formId) {

  // ★「出庫総数」が「0」の場合、下記アラートメッセージを表示する
  // →「出庫総数が「0」です。登録できません。」
  if (Number($("#allSumShipmentOrderQty").html()) < 1) {
   alert("出庫総数が「0」です。登録できません。");
   return false;
  }
  this.doCommonFormSubmit(formId);

 },

 doCommonFormSubmit : function(actionUrl) {
  $("#" + actionUrl).submit();
 }
};

#######################################

6.register.cash.js

var registerCash = {
  
 /**
  * OPENのレジ現金の「枚数」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 openRegisterBlur : function(dom){
     this.removeZero(dom);
 
  //OPENのレジ現金の「合計金額」に表示する    
  if(!window.isNaN($('#openRegTenThousand').val())){
         var _openRegTenThousand = $('#openRegTenThousand').val()*10000;
         $('#openRegTenThousandTotal').empty().text(NumberFormat.addCommas(_openRegTenThousand));
  }
  
  if(!window.isNaN($('#openRegFiveThousand').val())){
         var _openRegFiveThousand = $('#openRegFiveThousand').val()*5000;
         $('#openRegFiveThousandTotal').empty().text(NumberFormat.addCommas(_openRegFiveThousand));
  }
       
  if(!window.isNaN($('#openRegTwoThousand').val())){
         var _openRegTwoThousand = $('#openRegTwoThousand').val()*2000;
         $('#openRegTwoThousandTotal').empty().text(NumberFormat.addCommas(_openRegTwoThousand));
  }
       
  if(!window.isNaN($('#openRegOneThousand').val())){
         var _openRegOneThousand = $('#openRegOneThousand').val()*1000;
         $('#openRegOneThousandTotal').empty().text(NumberFormat.addCommas(_openRegOneThousand));
  }
       
  if(!window.isNaN($('#openRegFiveHundred').val())){
         var _openRegFiveHundred = $('#openRegFiveHundred').val()*500;
         $('#openRegFiveHundredTotal').empty().text(NumberFormat.addCommas(_openRegFiveHundred));
  }
       
  if(!window.isNaN($('#openRegOneHundred').val())){
         var _openRegOneHundred = $('#openRegOneHundred').val()*100;
         $('#openRegOneHundredTotal').empty().text(NumberFormat.addCommas(_openRegOneHundred));
  }
       
  if(!window.isNaN($('#openRegFifty').val())){
         var _openRegFifty = $('#openRegFifty').val()*50;
         $('#openRegFiftyTotal').empty().text(NumberFormat.addCommas(_openRegFifty));
  }
       
  if(!window.isNaN($('#openRegTen').val())){
         var _openRegTen = $('#openRegTen').val()*10;
         $('#openRegTenTotal').empty().text(NumberFormat.addCommas(_openRegTen));
  }
       
  if(!window.isNaN($('#openRegFive').val())){
         var _openRegFive = $('#openRegFive').val()*5;
         $('#openRegFiveTotal').empty().text(NumberFormat.addCommas(_openRegFive));
  }
       
  if(!window.isNaN($('#openRegOne').val())){
         var _openRegOne = $('#openRegOne').val()*1;
         $('#openRegOneTotal').empty().text(NumberFormat.addCommas(_openRegOne));
  }
       
        //OPENのレジ現金の「合計」に表示する
  //レジ現金売上を算出する
  if (!window.isNaN(_openRegTenThousand)
   && !window.isNaN(_openRegFiveThousand)
   && !window.isNaN(_openRegTwoThousand)
   && !window.isNaN(_openRegOneThousand)
   && !window.isNaN(_openRegFiveHundred)
   && !window.isNaN(_openRegOneHundred)
   && !window.isNaN(_openRegFifty)
   && !window.isNaN(_openRegTen)
   && !window.isNaN(_openRegFive)
   && !window.isNaN(_openRegOne)
   && !window.isNaN($('#registerOpenEstimatedAmount').val())) {   
         var _registerOpenEstimatedAmount = $('#registerOpenEstimatedAmount').val();
         var _openRegTotal = _openRegTenThousand+_openRegFiveThousand+_openRegTwoThousand+_openRegOneThousand+_openRegFiveHundred+
   _openRegOneHundred+_openRegFifty+_openRegTen+_openRegFive+_openRegOne;
         $('#openRegTotal').empty().text(NumberFormat.addCommas(_openRegTotal));
         $('#registerOpenTotalMoney').val(_openRegTotal);        
         $('#registerLackMoney').empty().text(NumberFormat.addCommas(_registerOpenEstimatedAmount-_openRegTotal));
         $('#todayPlanAmtHid').val(_registerOpenEstimatedAmount-_openRegTotal);
  }
  
        //
        this.regCashSalesProcess();
 },
 
 /**
  * OPENの小口現金の「枚数」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 openPettyBlur : function(dom){
  this.removeZero(dom);
  
  //OPENの小口現金の「合計金額」に表示する
        if(!window.isNaN($('#openPettyTenThousand').val())){
            var _openPettyTenThousand = $('#openPettyTenThousand').val()*10000;
            $('#openPettyTenThousandTotal').empty().text(NumberFormat.addCommas(_openPettyTenThousand));
        }
       
        if(!window.isNaN($('#openPettyFiveThousand').val())){
            var _openPettyFiveThousand = $('#openPettyFiveThousand').val()*5000;
            $('#openPettyFiveThousandTotal').empty().text(NumberFormat.addCommas(_openPettyFiveThousand));
        }
       
        if(!window.isNaN($('#openPettyTwoThousand').val())){
            var _openPettyTwoThousand = $('#openPettyTwoThousand').val()*2000;
            $('#openPettyTwoThousandTotal').empty().text(NumberFormat.addCommas(_openPettyTwoThousand));
        }
       
        if(!window.isNaN($('#openPettyOneThousand').val())){
            var _openPettyOneThousand = $('#openPettyOneThousand').val()*1000;
            $('#openPettyOneThousandTotal').empty().text(NumberFormat.addCommas(_openPettyOneThousand));
        }
       
        if(!window.isNaN($('#openPettyFiveHundred').val())){
            var _openPettyFiveHundred = $('#openPettyFiveHundred').val()*500;
            $('#openPettyFiveHundredTotal').empty().text(NumberFormat.addCommas(_openPettyFiveHundred));
        }
       
        if(!window.isNaN($('#openPettyOneHundred').val())){
            var _openPettyOneHundred = $('#openPettyOneHundred').val()*100;
            $('#openPettyOneHundredTotal').empty().text(NumberFormat.addCommas(_openPettyOneHundred));
        }
       
        if(!window.isNaN($('#openPettyFifty').val())){
            var _openPettyFifty = $('#openPettyFifty').val()*50;
            $('#openPettyFiftyTotal').empty().text(NumberFormat.addCommas(_openPettyFifty));
        }
       
        if(!window.isNaN($('#openPettyTen').val())){
            var _openPettyTen = $('#openPettyTen').val()*10;
            $('#openPettyTenTotal').empty().text(NumberFormat.addCommas(_openPettyTen));
        }
       
        if(!window.isNaN($('#openPettyFive').val())){
            var _openPettyFive = $('#openPettyFive').val()*5;
            $('#openPettyFiveTotal').empty().text(NumberFormat.addCommas(_openPettyFive));
        }
       
        if(!window.isNaN($('#openPettyOne').val())){
            var _openPettyOne = $('#openPettyOne').val()*1;
            $('#openPettyOneTotal').empty().text(NumberFormat.addCommas(_openPettyOne));
        }
       
        //OPENの小口現金の「合計」に表示する
        //OPENの小口現金の「過不足金額」に表示する
  if (!window.isNaN(_openPettyTenThousand)
   && !window.isNaN(_openPettyFiveThousand)
   && !window.isNaN(_openPettyTwoThousand)
   && !window.isNaN(_openPettyOneThousand)
   && !window.isNaN(_openPettyFiveHundred)
   && !window.isNaN(_openPettyOneHundred)
   && !window.isNaN(_openPettyFifty)
   && !window.isNaN(_openPettyTen)
   && !window.isNaN(_openPettyFive)
   && !window.isNaN(_openPettyOne)
   && !window.isNaN($('#pettyOpenEstimatedAmount').val())) {  
         var _pettyOpenEstimatedAmount = $('#pettyOpenEstimatedAmount').val();
         var _openPettyTotal = _openPettyTenThousand+_openPettyFiveThousand+_openPettyTwoThousand+_openPettyOneThousand+_openPettyFiveHundred+
   _openPettyOneHundred+_openPettyFifty+_openPettyTen+_openPettyFive+_openPettyOne;
   $('#openPettyTotal').empty().text(NumberFormat.addCommas(_openPettyTotal));
   $('#pettyOpenTotalMoney').val(_openPettyTotal);   
         $('#pettyLackMoney').empty().text(NumberFormat.addCommas(_pettyOpenEstimatedAmount-_openPettyTotal));
         $('#pettyLackMoneyHid').val(_pettyOpenEstimatedAmount-_openPettyTotal);
  }
  
        //レジ現金売上を算出する
        this.regCashSalesProcess();
 },
 
 /**
  * CLOSEのレジ現金の「枚数」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 closeRegisterBlur : function(dom){
  this.removeZero(dom);
  
  //CLOSEのレジ現金の「合計金額」に表示する
  if(!window.isNaN($('#closeRegTenThousand').val())){
         var _closeRegTenThousand = $('#closeRegTenThousand').val()*10000;
         $('#closeRegTenThousandTotal').empty().text(NumberFormat.addCommas(_closeRegTenThousand));
  }
       
  if(!window.isNaN($('#closeRegFiveThousand').val())){
         var _closeRegFiveThousand = $('#closeRegFiveThousand').val()*5000;
         $('#closeRegFiveThousandTotal').empty().text(NumberFormat.addCommas(_closeRegFiveThousand));
  }
       
  if(!window.isNaN($('#closeRegTwoThousand').val())){
         var _closeRegTwoThousand = $('#closeRegTwoThousand').val()*2000;
         $('#closeRegTwoThousandTotal').empty().text(NumberFormat.addCommas(_closeRegTwoThousand));
  }
       
  if(!window.isNaN($('#closeRegOneThousand').val())){
         var _closeRegOneThousand = $('#closeRegOneThousand').val()*1000;
         $('#closeRegOneThousandTotal').empty().text(NumberFormat.addCommas(_closeRegOneThousand));
  }
       
  if(!window.isNaN($('#closeRegFiveHundred').val())){
         var _closeRegFiveHundred = $('#closeRegFiveHundred').val()*500;
         $('#closeRegFiveHundredTotal').empty().text(NumberFormat.addCommas(_closeRegFiveHundred));
  }
       
  if(!window.isNaN($('#closeRegOneHundred').val())){
         var _closeRegOneHundred = $('#closeRegOneHundred').val()*100;
         $('#closeRegOneHundredTotal').empty().text(NumberFormat.addCommas(_closeRegOneHundred));
  }
       
  if(!window.isNaN($('#closeRegFifty').val())){
         var _closeRegFifty = $('#closeRegFifty').val()*50;
         $('#closeRegFiftyTotal').empty().text(NumberFormat.addCommas(_closeRegFifty));
  }
       
  if(!window.isNaN($('#closeRegTen').val())){
         var _closeRegTen = $('#closeRegTen').val()*10;
         $('#closeRegTenTotal').empty().text(NumberFormat.addCommas(_closeRegTen));
  }
       
  if(!window.isNaN($('#closeRegFive').val())){
         var _closeRegFive = $('#closeRegFive').val()*5;
         $('#closeRegFiveTotal').empty().text(NumberFormat.addCommas(_closeRegFive));
  }
       
  if(!window.isNaN($('#closeRegOne').val())){
         var _closeRegOne = $('#closeRegOne').val()*1;
         $('#closeRegOneTotal').empty().text(NumberFormat.addCommas(_closeRegOne));
  }
       
        //CLOSEのレジ現金の「合計」に表示する
  if (!window.isNaN(_closeRegTenThousand)
   && !window.isNaN(_closeRegFiveThousand)
   && !window.isNaN(_closeRegTwoThousand)
   && !window.isNaN(_closeRegOneThousand)
   && !window.isNaN(_closeRegFiveHundred)
   && !window.isNaN(_closeRegOneHundred)
   && !window.isNaN(_closeRegFifty)
   && !window.isNaN(_closeRegTen)
   && !window.isNaN(_closeRegFive)
   && !window.isNaN(_closeRegOne)){   
         var _closeRegTotal = _closeRegTenThousand+_closeRegFiveThousand+_closeRegTwoThousand+_closeRegOneThousand+_closeRegFiveHundred+
   _closeRegOneHundred+_closeRegFifty+_closeRegTen+_closeRegFive+_closeRegOne;
   $('#closeRegTotal').empty().text(NumberFormat.addCommas(_closeRegTotal));
   $('#registerCloseTotalMoney').val(_closeRegTotal);
  }
  
        //レジ現金売上を算出する
        this.regCashSalesProcess();
 },
 
 /**
  * CLOSEの小口現金「枚数」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 closePettyBlur : function(dom){
  this.removeZero(dom);
  
  //CLOSEの小口現金の「合計金額」に表示する
  if(!window.isNaN($('#closePettyTenThousand').val())){
         var _closePettyTenThousand = $('#closePettyTenThousand').val()*10000;
         $('#closePettyTenThousandTotal').empty().text(NumberFormat.addCommas(_closePettyTenThousand));
  }

       
        if(!window.isNaN($('#closePettyFiveThousand').val())){
            var _closePettyFiveThousand = $('#closePettyFiveThousand').val()*5000;
            $('#closePettyFiveThousandTotal').empty().text(NumberFormat.addCommas(_closePettyFiveThousand));
        }

       
  if(!window.isNaN($('#closePettyTwoThousand').val())){
         var _closePettyTwoThousand = $('#closePettyTwoThousand').val()*2000;
         $('#closePettyTwoThousandTotal').empty().text(NumberFormat.addCommas(_closePettyTwoThousand));
  }

       
  if(!window.isNaN($('#closePettyOneThousand').val())){
         var _closePettyOneThousand = $('#closePettyOneThousand').val()*1000;
         $('#closePettyOneThousandTotal').empty().text(NumberFormat.addCommas(_closePettyOneThousand));
  }

       
  if(!window.isNaN($('#closePettyFiveHundred').val())){
         var _closePettyFiveHundred = $('#closePettyFiveHundred').val()*500;
         $('#closePettyFiveHundredTotal').empty().text(NumberFormat.addCommas(_closePettyFiveHundred));
  }

       
  if(!window.isNaN($('#closePettyOneHundred').val())){
         var _closePettyOneHundred = $('#closePettyOneHundred').val()*100;
         $('#closePettyOneHundredTotal').empty().text(NumberFormat.addCommas(_closePettyOneHundred));
  }

       
  if(!window.isNaN($('#closePettyFifty').val())){
         var _closePettyFifty = $('#closePettyFifty').val()*50;
         $('#closePettyFiftyTotal').empty().text(NumberFormat.addCommas(_closePettyFifty));
  }

       
  if(!window.isNaN($('#closePettyTen').val())){
         var _closePettyTen = $('#closePettyTen').val()*10;
         $('#closePettyTenTotal').empty().text(NumberFormat.addCommas(_closePettyTen));
  }

       
  if(!window.isNaN($('#closePettyFive').val())){
         var _closePettyFive = $('#closePettyFive').val()*5;
         $('#closePettyFiveTotal').empty().text(NumberFormat.addCommas(_closePettyFive));
  }

       
  if(!window.isNaN($('#closePettyOne').val())){
         var _closePettyOne = $('#closePettyOne').val()*1;
         $('#closePettyOneTotal').empty().text(NumberFormat.addCommas(_closePettyOne));
  }
       
        //CLOSEの小口現金の「合計」に表示する
  if (!window.isNaN(_closePettyTenThousand)
   && !window.isNaN(_closePettyFiveThousand)
   && !window.isNaN(_closePettyTwoThousand)
   && !window.isNaN(_closePettyOneThousand)
   && !window.isNaN(_closePettyFiveHundred)
   && !window.isNaN(_closePettyOneHundred)
   && !window.isNaN(_closePettyFifty)
   && !window.isNaN(_closePettyTen)
   && !window.isNaN(_closePettyFive)
   && !window.isNaN(_closePettyOne)){   
         var _closePettyTotal = _closePettyTenThousand+_closePettyFiveThousand+_closePettyTwoThousand+_closePettyOneThousand+_closePettyFiveHundred+
   _closePettyOneHundred+_closePettyFifty+_closePettyTen+_closePettyFive+_closePettyOne;
         $('#closePettyTotal').empty().text(NumberFormat.addCommas(_closePettyTotal));
         $('#pettyCloseTotalMoney').val(_closePettyTotal);   
  }
       
        //レジ現金売上を算出する
        this.regCashSalesProcess();
  
 },
 
 /**
  * 「内振込売上」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 transferBlur : function(dom){
  this.removeZero(dom);
  
   //レジ現金売上を算出する
        this.regCashSalesProcess();
 },
 
 /**
  * 「内ジャックス売上」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 jaccsBlur : function(dom){
  this.removeZero(dom);
  
   //レジ現金売上を算出する
        this.regCashSalesProcess();
 },
 
 /**
  * 「銀行預入額」項目カーソルアウト時に下記計算、表示処理を行う。
  */
 depositBlur : function(dom){
  this.removeZero(dom);
  
   //レジ現金売上を算出する
        this.regCashSalesProcess();
 },
 
 /**
  * 共通処理:レジ現金売上算出処理
  */
 regCashSalesProcess : function(){
  
  //レジ現金の「クラス純売上」に表示する
  if (!window.isNaN($('#cashSoldAmtHid').val())
   && !window.isNaN($('#creditSoldAmtHid').val())
   && !window.isNaN($('#transferSoldAmt').val())
   && !window.isNaN($('#jaccsSoldAmt').val())) { 
   var _cashSoldAmtHid = $('#cashSoldAmtHid').val()*1;
   var _creditSoldAmtHid = $('#creditSoldAmtHid').val()*1;
   var _transferSoldAmt = $('#transferSoldAmt').val()*1;
   var _jaccsSoldAmt = $('#jaccsSoldAmt').val()*1;
   var _studioNetSoldAmt = _cashSoldAmtHid+_creditSoldAmtHid+_transferSoldAmt+_jaccsSoldAmt;
   $('#studioNetSoldAmt').empty().text(NumberFormat.addCommas(_studioNetSoldAmt));
   
   //レジ現金の「現金売上合計」に表示する
   $('#cashSoldAmtTotal').empty().text(NumberFormat.addCommas(_cashSoldAmtHid+_productCashSoldAmtHid));
   
   //レジ現金の「クレジット売上合計」に表示する
   $('#creditSoldAmtTotal').empty().text(NumberFormat.addCommas(_creditSoldAmtHid+_productCreditSoldAmtHid));
  }
  
  //レジ現金の「物販売上」に表示する
  var _productCashSoldAmtHid = $('#productCashSoldAmtHid').val()*1;
  var _productCreditSoldAmtHid = $('#productCreditSoldAmtHid').val()*1;
  $('#productSoldAmt').empty().text(NumberFormat.addCommas(_productCashSoldAmtHid+_productCreditSoldAmtHid));
    
  //レジ現金の「CLOSE時予定額」に表示する
  //「銀行預入額」>「本日預入予定額」の場合   ||  「銀行預入額」>「本日預入予定額」ではないの場合
     var _depositAmt = $('#depositAmt').val()*1;
     var _todayPlanAmt = $('#todayPlanAmt').val()*1;
     if(_depositAmt > _todayPlanAmt){
      //CLOSE時予定額=OPENのレジ現金の「合計」+「内現金売上」+「物販総売上(税込/現金)」-「払戻額」+「本日預入予定額」-「銀行預入額」
      var _regiClosePlanAmt = $('#registerOpenTotalMoney').val()*1+$('#cashSoldAmtHid').val()*1+$('#productCashSoldAmtHid').val()*1-
         $('#payoffAmtHid').val()*1+$('#todayPlanAmt').val()*1-$('#depositAmt').val()*1;
      $('#regiClosePlanAmt').empty().text(NumberFormat.addCommas(_regiClosePlanAmt));
      $('#regiClosePlanAmtHid').val(_regiClosePlanAmt);
     }else{
         //CLOSE時予定額=OPENのレジ現金の「合計」+「内現金売上」+「物販総売上(税込/現金)」-「払戻額」
      var _regiClosePlanAmt = $('#registerOpenTotalMoney').val()*1+$('#cashSoldAmtHid').val()*1+
            $('#productCashSoldAmtHid').val()*1-$('#payoffAmtHid').val()*1;
      $('#regiClosePlanAmt').empty().text(NumberFormat.addCommas(_regiClosePlanAmt));
      $('#regiClosePlanAmtHid').val(_regiClosePlanAmt);
     }
     
  //レジ現金の「過不足金額」に表示する
  if (!window.isNaN($('#regiClosePlanAmtHid').val())
   && !window.isNaN($('#registerCloseTotalMoney').val())){
   $('#nonJustAmt').empty().text(NumberFormat.addCommas($('#regiClosePlanAmtHid').val()*1-$('#registerCloseTotalMoney').val()*1));
   $('#nonJustAmtHid').val($('#regiClosePlanAmtHid').val()*1-$('#registerCloseTotalMoney').val()*1);
  }
  
  //レジ現金の「翌日預入予定額」に表示する
  if(_depositAmt < _todayPlanAmt){
   //CLOSEのレジ現金の「合計」+「本日預入予定額」-「銀行預入額」
   var _planTotal = $('#registerCloseTotalMoney').val()*1 + _todayPlanAmt - _depositAmt;
   if(_planTotal > $('#counterChangeAmt').val()*1){
    $('#depositPlanAmt').empty().text(NumberFormat.addCommas(_planTotal-$('#counterChangeAmt').val()*1));
    $('#depositPlanAmtHid').val(_planTotal-$('#counterChangeAmt').val()*1);
   }else{
    $('#depositPlanAmt').empty().text(0);
    $('#depositPlanAmtHid').val(0);
   }
  }else{
   if($('#registerCloseTotalMoney').val()*1>$('#counterChangeAmt').val()*1){
    $('#depositPlanAmt').empty().text(NumberFormat.addCommas($('#registerCloseTotalMoney').val()*1-$('#counterChangeAmt').val()*1));
    $('#depositPlanAmtHid').val(_planTotal-$('#counterChangeAmt').val()*1);
   }else{
    $('#depositPlanAmt').empty().text(0);
    $('#depositPlanAmtHid').val(0);
   }
  }
    
     //レジ現金の「店舗現金総額」に表示する
  if($('#depositPlanAmtHid').val()*1 > 0){
   $('#facilitySumAmt').empty().text(NumberFormat.addCommas($('#counterChangeAmt').val()*1+$('#depositPlanAmtHid').val()*1));
   $('#facilitySumAmtHid').val($('#counterChangeAmt').val()*1+$('#depositPlanAmtHid').val()*1);
  }else{
   if(_todayPlanAmt > _depositAmt){
    $('#facilitySumAmt').empty().text(NumberFormat.addCommas($('#registerCloseTotalMoney').val()*1 + _todayPlanAmt - _depositAmt));
    $('#facilitySumAmtHid').val($('#registerCloseTotalMoney').val()*1 + _todayPlanAmt - _depositAmt);
   }else{
    $('#facilitySumAmt').empty().text($('#registerCloseTotalMoney').val()*1);
    $('#facilitySumAmtHid').val($('#registerCloseTotalMoney').val()*1);
   }
  }
  
  //小口現金の「CLOSE時予定額」に表示する
  var _pettyClosePlanAmt = $('#pettyOpenTotalMoney').val()*1+$('#inCashHid').val()*1-$('#outCashHid').val()*1;
  $('#pettyClosePlanAmt').empty().text(NumberFormat.addCommas(_pettyClosePlanAmt));
  $('#pettyClosePlanAmtHid').val(_pettyClosePlanAmt);
 
  //小口現金の「過不足金額」に表示する
  if (!window.isNaN($('#pettyClosePlanAmtHid').val())
   && !window.isNaN($('#pettyCloseTotalMoney').val())){
   var _pettyCloseLackMoney = $('#pettyClosePlanAmtHid').val()*1-$('#pettyCloseTotalMoney').val()*1;
   $('#pettyCloseLackMoney').empty().text(NumberFormat.addCommas(_pettyCloseLackMoney));
   $('#pettyCloseLackMoneyHid').val(_pettyCloseLackMoney);
  }

 },
 
 /**
  * 数字入力のフォームの先頭に0を入れると引き継がれる
  */
 removeZero :function(dom){
  var _dom = $(dom).val();
  if(_dom != null && _dom != ""){
    if(_dom*1 != 0){
            $(dom).val(NumberFormat.removeZero(_dom));
       }else{
            $(dom).val(0);
       }
  }
 }
};