 /*******************************************************
 * システム名 物品コア
 * サブシステム名 入札手続支援サブシステム
 *
 * 入札書・見積書提出機能
 * @author  NEC
 * @version 1.0, 2002.07.22, 新規作成<BR>
 *          1.1, 2003.06.12, 入札書不正対応<BR>
 *          1.2, 2003.06.14, V3-総合-178対応<BR>
 *          1.3, 2003.06.17, V3-総合-213対応<BR>
 *          1.4, 2003.06.18, V3-結合-032対応<BR>
 *          3.1, 2003.08.25, 乱数署名のオプション化対応<BR>
 *          3.1, 2003.10.21, V3.1-統合-36対応<BR> 
 *          4.0, 2004.01.30, V4.0複数落札対応<BR>
 *******************************************************/

//==========================================================
//
// 提出内容確認画面表示
//
//==========================================================
function presentConfirmTender()
{
  // dispatch共通前処理
  if( !prepareDispatch( document.formRegist, 'J505JTE002' ) )
  {
    return;
  }

  // 辞退フラグOFF
  commandFormObj.declineFlag.value="0";

  // 入札金額チェック処理
  var errmsg="";
  var wPrice = getBidPrice();

  if( getBidPrice()=="" )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "が未入力です。" + document.formPrice.bidPriceLabel.value + "を入力して下さい.\n";
  }
  else if( ( document.formRegist.pluralBidFlag.value=="1" && !checkNumberDecimal( getBidPrice() ) ) ||
           ( document.formRegist.pluralBidFlag.value!="1" && !checkNumber( getBidPrice() ) ) )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "が不正です。再入力してください.\n";
  }
  else if( Number(getBidPrice())<=0 )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "には0より大きい値を入力して下さい.\n";
  }
  else if( document.formRegist.pluralBidFlag.value=="1" && wPrice.length > DEF_BID_PLURAL_LENGTH )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "が長すぎます。" + DEF_BID_PLURAL_LENGTH + "桁以下で入力して下さい.\n";
  }
  else if( document.formRegist.pluralBidFlag.value!="1" && wPrice.length > DEF_BID_NONPLURAL_LENGTH )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "が長すぎます。" + DEF_BID_NONPLURAL_LENGTH + "桁以下で入力して下さい.\n";
  }
  else if( document.formRegist.pluralBidFlag.value=="1" &&
           !checkIntegerBidLengthDef( getBidPrice() ) )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "には整数部" + DEF_BID_PLURAL_INTEGER_LENGTH + "桁までの値を入力して下さい.\n";
  }
  else if( document.formRegist.pluralBidFlag.value=="1" &&
           !checkDecimalBidLengthDef( getBidPrice() ) )
  {
    errmsg+=document.formPrice.bidPriceLabel.value + "には小数点第" + DEF_BID_PLURAL_DECIMAL_LENGTH + "位までの値を入力して下さい.\n";
  }

  // 物品数量チェック処理
  if( document.formRegist.pluralBidFlag.value=="1" )
  {
    if( getBidAmount() == "" )
    {
      errmsg+=document.formPrice.bidAmountLabel.value + "が未入力です。" + document.formPrice.bidAmountLabel.value + "を入力して下さい.\n";
    }
    else if( !checkNumber( getBidAmount() ) )
    {
      errmsg+=document.formPrice.bidAmountLabel.value + "が不正です. 再入力してください.\n";
    }
    else if( Number( getBidAmount() ) > Number( document.formPrice.goodsAmountRest.value ) )
    {
      errmsg+=document.formPrice.bidAmountLabel.value + "には"+document.formPrice.goodsAmountRest.value+"以下の値を入力して下さい.\n";
    }
    else if( Number( getBidAmount() )<=0 )
    {
      errmsg+=document.formPrice.bidAmountLabel.value + "には0より大きい値を入力して下さい.\n";
    }
  }

  if( errmsg.length>0 )
  {
    alert( errmsg );
    resetCommandFormObj();
    return;
  }

  // 連絡先の登録
  document.formRegist.contactPersonName.value = document.formPrice.contactPersonName.value;
  document.formRegist.contactTelephone.value = document.formPrice.contactTelephone.value;
  document.formRegist.contactFacsimile.value = document.formPrice.contactFacsimile.value;
  document.formRegist.contactMailAddress.value = document.formPrice.contactMailAddress.value;

  /* ICカード変更確認結果を返す。 */
  begin();
  execute("Utils.isIcCardChanged(script:'IcCardCheckResult')");
  commit();

  // 共通アプレットコマンド蓄積開始
  begin();

  var callScript;

  if( commandFormObj.itemizedStatementFlag.value=="1" )
  {
    // 内訳書有り
    //------------------------------------------------------------------

    // 共通アプレットのプロパティに添付ファイル名をコピー
    execute("copyString(script:'AttachFile', session:'AttachFile')");

    // 送信用フォームにファイル名を設定
//    document.formRegist.fileName.value=getAttachFile();

    // ファイルサイズチェックコマンドを呼び出す
    execute( "Nyusatsusyo.checkSize(session:'AttachFile', script:'CheckFileResult')" );

    // submit関数にsubmitCallFileResultを指定
    callScript="submitCallFileResult";
  }
  else
  {
    // 内訳書無し
    //------------------------------------------------------------------

    // submit関数にsubmitCallを指定
    callScript="submitCall";
  }

  // 入札金額保存
  execute( "copyString(script:'BidPrice', session:biddingPrice)" );

  // 物品数量保存
  if( document.formRegist.pluralBidFlag.value=="1" )
  {
    execute( "copyString(script:'BidAmount', session:'bidAmount')" );
  }

  /* 共通アプレットのプロパティにomeBeforeRequestNameを登録する */
  execute("copyString(value:'" + getBeforeRequestName() + "', omeBeforeRequestName)");

  // 乱数署名コマンドを呼び出す
  execute( "RandomSign.sign(script:'SignedRandomKey')" );

  // submitCallFileResultを呼び出す
  execute( "callScript(value:'" + callScript + "')" );

  // 共通アプレット処理開始
  commit();
}//presentConfirmTender

//==========================================================
//
// 提出内容確認画面表示(辞退)
//
//==========================================================
function presentConfirmDecline()
{
  // 辞退フラグON
  document.formRegist.declineFlag.value="1";

  // 連絡先の登録
  document.formRegist.contactPersonName.value = document.formPrice.contactPersonName.value;
  document.formRegist.contactTelephone.value = document.formPrice.contactTelephone.value;
  document.formRegist.contactFacsimile.value = document.formPrice.contactFacsimile.value;
  document.formRegist.contactMailAddress.value = document.formPrice.contactMailAddress.value;

  // 確認画面表示
  dispatch( document.formRegist, 'J505JTE002' );
}//presentConfirmDecline

//==========================================================
//
// 戻るボタン押下時処理
//
//==========================================================
function onReturn()
{
  begin();

  // 共通アプレットのプロパティの添付ファイル名をクリア
  execute("copyString(value:'', session:AttachFile)");

  commit();

  returnProjectList('J502JPD001')
}//onReturn

//==========================================================
//
// HTML読込時処理
//
//==========================================================
function onStart()
{
  // HTML読み込み時共通処理
  onLoad();

  // 金額入力フィールドにイベントを設定
  setPriceTextEvent(
    window.document.formPrice.bidPrice,
    window.document.formPrice.bidPriceJp,
    window.document.formPrice.bidPriceComma,
    window.document.formPrice.bidPrice.value
  );

  // 複数落札時初期処理
  if( document.formRegist.pluralBidFlag.value=="1" )
  {
    // 金額のMaxlength変化
    document.formPrice.bidPrice.maxLength = DEF_BID_PLURAL_LENGTH;
  }

  // 案件一覧から遷移した場合セッション情報から入札金額、入札数量、内訳書情報をクリア
  if( document.commonData.preScreenID.value=="JPD001" )
  {
    begin();
    execute( "copyString(value:'', session:'biddingPrice')" );
    execute( "copyString(value:'', session:'bidAmount')" );
    execute( "copyString(value:'', session:'AttachFile')" );
    commit();
  }

  //-------------------------------------------------------------
  // クライアント側情報の設定処理
  //-------------------------------------------------------------

  // 共通アプレットコマンド蓄積開始
  begin();

  // 入札金額を表示する
  execute( "copyString(session:'biddingPrice', script:'BidPrice')" );

  // 物品数量を表示する
  if( document.formRegist.pluralBidFlag.value==1 )
  {
    execute( "copyString(session:'bidAmount', script:'BidAmount')" );
  }

  if( document.formRegist.itemizedStatementFlag.value==1 )
  {
    // 内訳書ファイル名を表示する
    execute( "copyString(session:'AttachFile', script:'AttachFile')" );
  }

  // resetCommandFormObjを呼び出す
  execute( "callScript(value:'resetCommandFormObj')" );

  // 共通アプレット処理開始
  commit();

}//onStart

/***************************************************
 * 入札金額の取得
 ***************************************************/
function getBidPrice() { return document.formPrice.bidPrice.value; }

/***************************************************
 * 入札金額の設定
 ***************************************************/
function setBidPrice( value ) {

  // 入札金額
  document.formPrice.bidPrice.value=value;

  // 単位付き表示
  document.formPrice.bidPriceJp.value = addUnit(value,'Jp');

  // カンマ表示
  document.formPrice.bidPriceComma.value = addUnit(value,'Comma');
}//setBidPrice

/***************************************************
 * 物品数量の取得
 ***************************************************/
function getBidAmount() { return document.formPrice.bidAmount.value; }

/***************************************************
 * 物品数量の設定
 ***************************************************/
function setBidAmount( value ) { document.formPrice.bidAmount.value=value; }

/***************************************************
 * 添付ファイル名の取得
 ***************************************************/
function getAttachFile( value ) { return document.formPrice.attachFile.value; }

/***************************************************
 * 添付ファイル名の設定
 ***************************************************/
function setAttachFile( value ) { document.formPrice.attachFile.value=value; }
