/*******************************************************
 * システム名     電子入札物品コアシステム
 * サブシステム名 入札手続支援サブシステム
 *
 * 入札書提出機能
 * @author  NEC
 * @version 1.0, 2002.07.22, 新規作成<BR>
 *          1.1, 2003.06.16, V3-結合-021対応<BR>
 *          3.1, 2003.08.25, 乱数署名のオプション化対応<BR>
 *          4.0, 2004.01.20, 入札書提出フロー変更対応<BR>
 *          4.0, 2004.08.19, V4-総合-S273対応<BR>
 *          4.1, 2005.02.21, V4.1-総合-S041対応<BR>
 *          4.1, 2008.04.21, 入札書提出画面表示機能改良<BR>
 *******************************************************/

//==========================================================
//
// 入札書提出処理
//   引数  estflag  0:入札／1:見積
//
//==========================================================
function submitTenderDocument(estflag)
{
  if( document.formRegist.declineFlag.value!="1" )
  {
    // 入札金額チェック処理
    if( !checkNumberDecimal( document.formPrice.bidPrice.value ) )
    {
      errmsg+=document.formPrice.bidPriceLabel.value + "が不正です. 再入力してください.\n";
    }

    // 物品数量チェック処理
    if( document.formRegist.pluralBidFlag.value=="1" )
    {
      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";
      }
    }
  }

  // dispatch共通前処理
  if( !prepareDispatch( document.formRegist, 'J506JTE003' ) )
  {
    return;
  }

  //辞退以外の場合、確認ダイアログを表示
  if( document.formRegist.declineFlag.value!="1" )
  {
    var bidName;
    if(estflag) {
      bidName = "見積書";
    } else {
      bidName = "入札書"
    }
    //確認メッセージを表示
    var ret = confirm( bidName + "を提出しますがよろしいですか？");
    if(!ret) {
      resetCommandFormObj();
      return;
    }
  }
    
  // アプレットに項目を渡す為formPriceからcommonDataへ設定する
  document.commonData.xmlData.value        =document.formPrice.xmlData.value;
  document.commonData.xmlDataKey.value     =document.formPrice.xmlKeyData.value;
  document.commonData.publicKey.value      =document.formPrice.publicKey.value;
  document.commonData.detailPublicKey.value=document.formPrice.detailPublicKey.value;

  //---------------------------------------------------------------------------------
  // 入札書提出処理(物品版)
  //---------------------------------------------------------------------------------

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

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

  // 辞退かどうかを判断
  if( document.formRegist.declineFlag.value!="1" )
  {
// ***** ADD 2005.02.21 START *****
    // 内訳書有りの場合
    if( document.formRegist.itemizedStatementFlag.value=="1" )
    {
      // 共通アプレットのプロパティに添付ファイル名をコピー
      execute("copyString(script:'AttachFile2', session:'AttachFile')");
    }
    // 共通アプレットのプロパティに入札金額をコピー
    execute( "copyString(script:'BidPrice2', session:'biddingPrice')" );
// ***** ADD 2005.02.21 END   *****

    // 入札書提出XML作成
    if( document.formRegist.pluralBidFlag.value!="1" )
    {
      // 複数落札以外の場合
      execute(
        "Nyusatsusyo.attach( " +
        "session:'AttachFile', script:'XmlData', script:'XmlDataKey', " +
        "script:'PublicKey', script:'DetailPublicKey', session:'biddingPrice', " +
        "script:'ResultXml')" );
    }
    else
    {
// ***** ADD 2005.02.21 START *****
      // 共通アプレットのプロパティに物品数量をコピー
      execute( "copyString(script:'BidAmount2', session:'bidAmount')" );
// ***** ADD 2005.02.21 END   *****
      // 複数落札の場合、物品数量も設定する
      execute(
        "Nyusatsusyo.attach( " +
        "session:'AttachFile', script:'XmlData', script:'XmlDataKey', " +
        "script:'PublicKey', script:'DetailPublicKey', session:'biddingPrice', session:'bidAmount', " +
        "script:'ResultXml')" );
    }
  }
  else
  {
    // XML署名コマンドを呼び出す
    execute("DocSign.sign(script:'XmlData', script:'ResultXml')");
  }

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

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

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

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

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

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

  // 辞退フラグ判定
  if( document.formRegist.declineFlag.value!="1" )
  {
    // 共通アプレットコマンド蓄積開始
    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.getElementById('spanBidPrice').innerHTML; }

// ***** ADD 2005.02.21 START *****
/***************************************************
 * 入札金額の取得
 ***************************************************/
function getBidPrice2() { return document.formPrice.bidPrice.value; }
// ***** ADD 2005.02.21 END   *****

/***************************************************
 * 入札金額の設定
 ***************************************************/
function setBidPrice( value )
{
  // 入札金額
  document.formPrice.bidPrice.value=value;

  // 単位付き表示
  document.getElementById('spanBidPriceJp').innerHTML=addUnit(value,'Jp');

  // カンマ表示
  document.getElementById('spanBidPrice').innerHTML=addUnit(value,'Comma');
}//setBidPrice

/***************************************************
 * 物品数量の取得
 ***************************************************/
function getBidAmount() { return document.getElementById('spanBidAmount').innerHTML; }

// ***** ADD 2005.02.21 START *****
/***************************************************
 * 物品数量の取得
 ***************************************************/
function getBidAmount2() { return document.formPrice.bidAmount.value; }
// ***** ADD 2005.02.21 END   *****

/***************************************************
 * 物品数量の設定
 ***************************************************/
// ***** DEL 2005.02.21 START *****
//function setBidAmount( value ) { document.getElementById('spanBidAmount').innerHTML=value; }
// ***** DEL 2005.02.21 END   *****
// ***** ADD 2005.02.21 START *****
function setBidAmount( value ) {
  
  document.formPrice.bidAmount.value=value;
  
  document.getElementById('spanBidAmount').innerHTML=value;
}
// ***** ADD 2005.02.21 END   *****

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

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

/***************************************************
 * 添付ファイル名の表示
 ***************************************************/
// ***** DEL 2005.02.21 START *****
//function setAttachFile( value ) { document.getElementById('spanAttachFile').innerHTML=value; }
// ***** DEL 2005.02.21 END   *****
// ***** ADD 2005.02.21 START *****
function setAttachFile( value ) { 

  document.formPrice.attachFile.value = value;
  
  document.getElementById('spanAttachFile').innerHTML=value;
}
// ***** ADD 2005.02.21 END   *****

/***************************************************
 * 戻るボタン押下時処理
 ***************************************************/
function onReturn()
{
  dispatch( document.formReturn, 'J504JTE001' );
// ***** ADD 2005.02.21 START *****
  // 辞退届提出内容確認画面以外の場合セッション情報に
  // 各種情報をコピー
  if ( document.formReturn.declineFlag.value=="0" ) {
    begin();
    // 共通アプレットのプロパティに入札金額をコピー
    execute( "copyString(script:'BidPrice2', session:'biddingPrice')" );

    // 内訳書有りの場合
    if( document.formReturn.itemizedStatementFlag.value=="1" )
    {
      // 共通アプレットのプロパティに添付ファイル名をコピー
      execute("copyString(script:'AttachFile2', session:'AttachFile')");
    }

    // 入札書提出XML作成
    if( document.formReturn.pluralBidFlag.value=="1" )
    {
      // 共通アプレットのプロパティに物品数量をコピー
      execute( "copyString(script:'BidAmount2', session:'bidAmount')" );
    }
    commit();
  }
// ***** ADD 2005.02.21 END   *****
  // ***** ADD 2008.04.21 START *****
  else
  {
    document.formReturn.declineFlag.value = "0";
  }
  // ***** ADD 2008.04.21 END   *****
}//onReturn
