//*************************************************************
// システム名     電子入札物品コアシステム
// サブシステム名 電子入札・開札システム
// 
// 紙入札･予定価格登録内容確認画面処理
// @author NEC
// @version 1.0, 2002.09.26, 新規作成
// @version 3.1, 2003.08.25, 乱数署名のオプション化対応
//*************************************************************

//-------------------------------------------------------------
// HTML読込み時の初期処理
//-------------------------------------------------------------
function onStart()
{
  onLoad();

    // 予定価格が未登録の時、予定価格と基準価格を表示
    if( document.formPublicKey )
    {
      if( getPlannedPrice()=="" )
      {
        begin();
        execute("copyString(session:plannedPrice, script:'PlannedPrice')");

        if( document.formPrice.standardPrice )
        {
          execute("copyString(session:standardPrice, script:'StandardPrice')");
        }

        commit();
      }
      else
      {
        setPlannedPrice( getPlannedPrice() );

        if( document.formPrice.standardPrice )
        {
          setStandardPrice( getStandardPrice() );
        }
      }
    }
}//onStart

//-------------------------------------------------------------
// 登録ボタン押下時処理
//-------------------------------------------------------------
function moveScreenInsert()
{
  if( prepareDispatch( document.formHTS010, "H542HTS029" ) )
  {

    // 要求処理名"multiObserver"を送信フォームにセットする。
    document.formHTS010.omeBeforeRequestName.value="multiObserver";

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

    begin();

    // PIN番号入力ダイアログ表示
    execute('MultiSign.inputPinNo()');

    // 予定価格が未登録の時
    if( typeof(document.formPublicKey)!=typeof(undefined) )
    {
      // 暗号化予定価格、暗号化基準価格設定処理
      execute("PlannedPrice.encrypt("+
        "script:'PlannedPricePublicKey', " +
        "script:'PlannedPrice', script:'StandardPrice', value:'0', " +
        "script:'EncryptedPlannedPrice')");
    }

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

    // 乱数署名
    execute("RandomSign.sign(script:'SignedRandomKey')");

    // 署名済みデータを送信
    execute("callScript(value:'submitCall')");

    commit();
  }
}//moveScreenInsert

//-------------------------------------------------------------
// 紙入札登録に戻るボタン押下時処理
//-------------------------------------------------------------
function moveScreenKami()
{
  dispatch( document.formHTS010, "H539HTS009" );
}//moveScreenKami

//-------------------------------------------------------------
// 予定価格登録に戻るボタン押下時処理
//-------------------------------------------------------------
function moveScreenYoteika()
{
  dispatch( document.formHTS010, "H541HTS007" );
}//moveScreenYoteika

//-------------------------------------------------------------
// 予定価格取得処理
//-------------------------------------------------------------
function getPlannedPrice()
{
  return document.formPrice.plannedPrice.value;
}//getPlannedPrice

//-------------------------------------------------------------
// 予定価格設定処理
//-------------------------------------------------------------
function setPlannedPrice( price )
{
  document.formPrice.plannedPrice.value=price;
  document.getElementById('spanPlannedPriceJp').innerHTML=addUnit( price, "Jp" );
}//setPlannedPrice

//-------------------------------------------------------------
// 基準価格取得処理
//-------------------------------------------------------------
function getStandardPrice()
{
  if( document.formPrice.standardPrice )
  {
    return document.formPrice.standardPrice.value;
  }
  else
  {
    return "0";
  }
}//getStandardPrice

//-------------------------------------------------------------
// 基準価格設定処理
//-------------------------------------------------------------
function setStandardPrice( price )
{
  document.formPrice.standardPrice.value=price;
  document.getElementById('spanStandardPriceJp').innerHTML=addUnit( price, "Jp" );
}//setStandardPrice

//-------------------------------------------------------------
// 予定価格用公開鍵取得処理
//-------------------------------------------------------------
function getPlannedPricePublicKey() { return document.formPublicKey.plannedPricePublicKey.value; }

//-------------------------------------------------------------
// 暗号化予定価格設定処理
//-------------------------------------------------------------
function setEncryptedPlannedPrice( xmlDocument ) { document.formHTS010.encryptedPlannedPrice.value=xmlDocument; }

//-------------------------------------------------------------
// 立会担当署名処理
//-------------------------------------------------------------
function moveAttesterConfirm()
{

  if( !prepareDispatch( document.formHTS010, 'H542HTS010' ) )
  {
    return;
  }

  // 要求処理名"multiObserver"を送信フォームにセットする。
  document.formHTS010.omeBeforeRequestName.value="multiObserver";

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

  begin();

  // PIN番号入力ダイアログ表示
  execute('MultiSign.inputPinNo()');

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

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

  // submitSignedXML
  execute("callScript(value:'submitCall')");

  commit();

}//moveAttesterConfirm
