/***************************************************
* システム名      電子入札コアシステム
* サブシステム名  共通部品
* EbCommon.js
* 共通JavaScript(appletCall.jsへのアクセス処理)を格納
* @author  NEC
* @version 2002.02.18，新規作成
*          2002.12.06，ICカード変更チェック処理変更
* @version 3.1  2003.08.25, 乱数署名のオプション化対応
* @version 4.0  2004.03.03, PopUp時用エラー画面対応
*               2004.03.04, V4-統合-052対応
*               2004.04.14, V4-PopUpセッションタイムアウト対応
*               2006.04.06, 執行／立会担当署名のPIN入力重複要求に対応
***************************************************/

/* グローバル変数の宣言 */
var pluralXMLCount;     //複数のXMLに対して署名付加する際に使用するカウント
var qualificationFlag;  //資格フラグ

//-----------------------------------------------------------
/**
 * 送信リクエスト
 *
 */
//-----------------------------------------------------------
function request() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestWithoutDialog() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallWithoutDialog'をセットする
   */
  execute("callScript(value:'submitCallWithoutDialog')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * ポップアップ送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestPopUp() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallPopUp'をセットする
   */
  execute("callScript(value:'submitCallPopUp')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 共通帳票送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestCommonXML() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

  /* XML署名コマンドを呼び出す */
  execute("DocSign.sign(targetData, script:'SignedData')");

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

  
  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallCommonXML'をセットする
   */
  execute("callScript(value:'submitCallCommonXML')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 複数帳票送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestPluralXML() {

  /* グローバル変数'pluralXMLCount'に、署名対象用XMLの数をセットする */
//  pluralXMLCount = document.commonData.xmlData.length;
  pluralXMLCount = 0;
  if (document.commonData.xmlData) {
    if (document.commonData.xmlData.length) {
      pluralXMLCount = document.commonData.xmlData.length;
    } else {
      pluralXMLCount = 1;
    }
  }

  /* signPluralXML()を呼び出す */
  signPluralXML();
}


//-----------------------------------------------------------
/**
 * 複数帳票送信リクエスト(見積依頼通知書含む)
 *
 */
//-----------------------------------------------------------
function requestPluralEstimateXML() {

  /* グローバル変数'pluralXMLCount'に、署名対象用XMLの数をセットする */
  pluralXMLCount = 0;
  
  if (document.commonData.xmlData) {
    if (document.commonData.xmlData.length) {
      pluralXMLCount = document.commonData.xmlData.length;
    } else {
      pluralXMLCount = 1;
    }
  }
  /* signPluralEstimateXML()を呼び出す */
  signPluralEstimateXML();
}


//-----------------------------------------------------------
/**
 * 特定通知書帳票送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestSpecifyXML() {

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'"+ getTargetData() +"', targetData)");

  /* XML署名コマンドを呼び出す */
  execute("DocSign.sign(targetData, script:'SignedData')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'signProposalReqXML'をセットする
   */
  execute("callScript(value:'signProposalReqXML')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 執行担当官署名リクエスト
 *
 */
//-----------------------------------------------------------
function requestExecuteSignXML() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

//▼▽ V2担当署名確認画面追加対応 ▼▽

  /* XML執行担当者署名コマンドを呼び出す */
  execute("MultiSign.sign(targetData, script:'SignedData',false)");

//▲△ V2担当署名確認画面追加対応 ▲△


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


  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallChargeSignXML'をセットする
   */
  execute("callScript(value:'submitCallChargeSignXML')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}



//-----------------------------------------------------------
/**
 * 立会担当官署名リクエスト
 *
 */
//-----------------------------------------------------------
function requestAttesterSignXML() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

//▼▽ V2担当署名確認画面追加対応 ▼▽

  /* XML立会担当者署名コマンドを呼び出す */
  execute("MultiSign.sign(targetData, script:'SignedData',false)");

//▲△ V2担当署名確認画面追加対応 ▲△

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

  
  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallChargeSignXML'をセットする
   */
  execute("callScript(value:'submitCallChargeSignXML')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 状況登録送信リクエスト
 *
 */
//-----------------------------------------------------------
function requestResitStatus() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 総合評価落札方式の場合 */
  if( document.formRegist.assesment.value == 1 ) {
    /* encryptPlanAndStandardPriceAndFiducialValue()を呼び出す */
    encryptPlanAndStandardPriceAndFiducialValue();
    
    //共通アプレットセッションsavePlannedPriceに基準評価値を設定する
    execute(
      "copyString(value:'" + getFiducialValueText() + "', session:saveFiducialValue)"
    );
  } else {
    /* encryptPlanAndStandardPrice()を呼び出す */
    encryptPlanAndStandardPrice();
  }

  //共通アプレットセッションsavePlannedPrice/saveStandardPriceに予定価格／調査基準価格を設定する
  execute(
    "copyString(value:'" + getPlannedPriceText() + "', session:savePlannedPrice)"
    );
  execute(
    "copyString(value:'" + getStandardPriceText() + "', session:saveStandardPrice)"
    );

  //共通アプレットセッションsaveProjectNumberに調達案件番号を設定する
  execute("copyString(value:'" + document.commonData.projectNumber.value + "', session:saveProjectNumber)");

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

  
  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 決定系通知書画面リクエスト
 *
 */
//-----------------------------------------------------------
function requestMakeDecisionXML() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  if(document.formRegist.assesment.value == 1) {

    encryptPlanAndStandardPriceAndFiducialValue();
    
    //共通アプレットセッションsavePlannedPriceに基準評価値を設定する
    execute(
      "copyString(value:'" + getFiducialValueText() + "', session:saveFiducialValue)"
    );
  }else{
    /* encryptPlanAndStandardPrice()を呼び出す */
    encryptPlanAndStandardPrice();
  }

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();

}


//-----------------------------------------------------------
/**
 * 決定系通知書画面リクエスト(担当署名確認画面)
 *
 */
//-----------------------------------------------------------
function requestChargeSignature() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

//▼▽ V2担当署名確認画面追加対応 ▼▽

  /*  PIN番号入力ダイアログ表示メソッドを呼びだす */
  execute("MultiSign.inputPinNo()");

  // ログイン名署名コマンドの signメソッドを呼びだす。
  execute("NameSign.sign(script:'NameSignedData')");

//▲△ V2担当署名確認画面追加対応 ▲△

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallChargeSignature'をセットする
   */
  execute("callScript(value:'submitCallChargeSignature')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 提出内容確認画面リクエスト
 *
 */
//-----------------------------------------------------------
function requestApplicationConfirm() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに添付ファイル名をコピーする */
  execute("copyString(value:'" + getFileNames() + "', session:fileNames)");

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCallFileResult')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}



//-----------------------------------------------------------
/**
 * 提出内容確認画面リクエスト(VE提案)
 *
 */
//-----------------------------------------------------------
function requestVeApplicationConfirm() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();


    /* 共通アプレットのプロパティに添付ファイル名をコピーする */
    execute("copyString(value:'" + getFileNames() + "', session:fileNames)");

  if(getFileNames() != null && getFileNames() != "") {
    /* ファイルサイズチェックコマンドを呼び出す */
    execute("Shinseisyo.checkSize(session:fileNames, "
      + "script:'CheckFileResult')");
  }

  /* 共通アプレットのプロパティに添付ファイル名をコピーする */
  execute("copyString(value:'" + getVeFileNames() + "', session:veFileNames)");

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCallFileResult')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 申請書提出リクエスト
 *
 */
//-----------------------------------------------------------
function requestApplicationSubmit() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 申請書提出XML作成コマンドを呼び出す */
  execute("Shinseisyo.attach(session:fileNames, value:'"
    + getXmlData() + "', value:'" + getPublicKey()
    + "', script:'ResultXml')");

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 申請書提出リクエスト(VE提案)
 *
 */
//-----------------------------------------------------------
function requestVeApplicationSubmit() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  
  /* 申請書提出XML作成コマンドを呼び出す */
//  if(getFileNames() != null && getFileNames() != "") {
     execute("Shinseisyo.attach(session:fileNames, session:veFileNames, value:'"
       + getXmlData() + "', value:'" + getPublicKey()
       + "', script:'ResultXml')");
//  }else{
//     execute("Shinseisyo.attach(session:veFileNames, value:'"
//       + getXmlData() + "', value:'" + getPublicKey()
//       + "', script:'ResultXml')");
//  }

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 入札書提出内容確認画面リクエスト
 *
 */
//-----------------------------------------------------------
function requestBidDocConfirm() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに入札金額をコピーする */
  execute("copyString(value:'" + getBidPriceText()
    + "', session:biddingPrice)");

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 入札書提出内容確認画面リクエスト
 *
 */
//-----------------------------------------------------------
function requestBidDocConfirmWithCheck() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに入札金額をコピーする */
  execute("copyString(value:'" + getBidPriceText()
    + "', session:biddingPrice)");

  /* 共通アプレットのプロパティに添付ファイル名をコピーする */
  execute("copyString(value:'" + getFileNames() + "', session:fileNames)");

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

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCallFileResult'をセットする
   */
  execute("callScript(value:'submitCallFileResult')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 入札書提出リクエスト
 *
 */
//-----------------------------------------------------------
function requestBidDocSubmit() {

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

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 入札書提出XML作成コマンドを呼び出す */
  execute("Nyusatsusyo.attach(session:fileNames, value:'"
    + getXmlData() + "', value:'" + getXmlDataKey() + "', value:'"
    + getPublicKey() + "', value:'" + getDetailPublicKey()
    + "', session:biddingPrice, script:'ResultXml')");

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

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'submitCall'をセットする
   */
  execute("callScript(value:'submitCall')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 複数帳票署名リクエスト
 *
 */
//-----------------------------------------------------------
function signPluralXML() {

  /*
   * 該当のHIDDEN項目から署名対象
   * 用XMLを取得し、取得した署名対象用XMLを引数に
   * setTargetData関数(common.jsのfunction)を呼び出す
   */
  pluralXMLCount--;
  if (document.commonData.xmlData.length) {
    setTargetData(document.commonData.xmlData[pluralXMLCount].value);
  } else {
    setTargetData(document.commonData.xmlData.value);
  }

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

  /* XML署名コマンドを呼び出す */
  execute("DocSign.sign(targetData, script:'SignedData')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'judgePersistXML'をセットする
   */
  execute("callScript(value:'judgePersistXML')");

  /* 共通アプット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 複数帳票署名リクエスト（見積依頼通知書含む）
 *
 */
//-----------------------------------------------------------
function signPluralEstimateXML() {

  /*
   * 該当のHIDDEN項目から署名対象用XMLを取得し、
   * 取得した署名対象用XMLを引数に
   * setTargetData関数(common.jsのfunction)を呼び出す
   */
  pluralXMLCount--;
  qualificationFlag = "0";

  if (document.commonData.xmlData.length) {
    setTargetData(document.commonData.xmlData[pluralXMLCount].value);
  } else {
    setTargetData(document.commonData.xmlData.value);
  }

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

  /* XML署名コマンドを呼び出す */
  execute("DocSign.sign(targetData, script:'SignedData')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'signPersistProposalReqXML'をセットする
   */
  execute("callScript(value:'signPersistProposalReqXML')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();

}


//-----------------------------------------------------------
/**
 * 見積依頼通知書署名リクエスト
 *
 */
//-----------------------------------------------------------
function signProposalReqXML() {

  /*
   * 署名済みXMLデータ取得関数'getSignedData'(common.js内のfunction)を
   * 呼び出し、取得した署名済みXMLデータを送信対象フォームの該当HIDDEN項目に
   * 設定する
   */
  commandFormObj.pre_xmlData.value = getSignedData();

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + document.commonData.bid_xmlData.value
    + "', targetData)");

  /* XML署名コマンドを呼び出す */
  execute("DocSign.sign(targetData,script:'ProposalReqXml')");

  /*
   * 共通アプレットの処理が
   * 終わった後に、呼びだしてもらうfunction'request'をセットする
   */
  execute("callScript(value:'request')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 見積依頼通知書一括署名リクエスト
 *
 */
//-----------------------------------------------------------
function signPersistProposalReqXML() {

  //資格フラグを取得する
  if (document.commonData.xmlData.length) {
    if(document.commonData.qualificationFlag[pluralXMLCount].value == "1"){
      qualificationFlag = "1";
    }else{
      qualificationFlag = "0";
    }
  }else{
    if(document.commonData.qualificationFlag.value == "1"){
      qualificationFlag = "1";
    }else{
      qualificationFlag = "0";
    }
  }

  /* 送信対象フォーム の該当するHIDDENに、XML署名コマンド結果をセットする */
  if (document.commonData.xmlData.length) {
    document.commonData.signedXmlData[pluralXMLCount].value = getSignedData();
  } else {
    document.commonData.signedXmlData.value = getSignedData();
  }

  if (document.commonData.xmlData.length) {
    setTargetData(document.commonData.bid_xmlData[pluralXMLCount].value);
  } else {
    setTargetData(document.commonData.bid_xmlData.value);
  }

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに署名対象のXMLをコピーする */
  execute("copyString(value:'" + getTargetData() + "', targetData)");

  //資格"有り"の場合、入札以降通知書情報について署名を行う
  if(qualificationFlag == "1"){
    /*
     * 署名済みXMLデータ取得関数'getSignedData'(common.js内のfunction)を
     * 呼び出し、取得した署名済みXMLデータを送信対象フォームの該当HIDDEN項目に
     * 設定する
     */

    /* XML署名コマンドを呼び出す */
    execute("DocSign.sign(targetData,script:'ProposalReqXml')");
    //資格有りの場合の処理　ここまで
  }

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'judgePersistEstimateXML'をセットする
   */
  execute("callScript(value:'judgePersistEstimateXML')");

  /* 共通アプット処理コマンド蓄積終了functionを呼び出す */
  commit();

}


//-----------------------------------------------------------
/**
 * 未署名XML有無判定
 *
 */
//-----------------------------------------------------------
function judgePersistXML() {

  /* 送信対象フォーム の該当するHIDDENに、XML署名コマンド結果をセットする */
  if (document.commonData.signedXmlData.length) {
    document.commonData.signedXmlData[pluralXMLCount].value = getSignedData();
  } else {
    document.commonData.signedXmlData.value = getSignedData();
  }

  /*
   * 署名付加を行っていない、署名対象XMLが存在するかを判定し、
   * 署名対象XMLが残っている場合、signPluralXML()を呼び出し、
   * 残っていない場合、setXmlDataToRegistForm()、request()を呼び出す
   */
  if (pluralXMLCount < 1) {
    setXmlDataToRegistForm();
    request();
  } else {
    signPluralXML();
  }
}


//-----------------------------------------------------------
/**
 * 未署名XML有無判定（見積依頼通知書含む）
 *
 */
//-----------------------------------------------------------
function judgePersistEstimateXML() {

  /* 送信対象フォーム の該当するHIDDENに、XML署名コマンド結果をセットする */
  if (document.commonData.xmlData.length) {
    document.commonData.bid_signedXmlData[pluralXMLCount].value = getBidSignedData();
  } else {
    document.commonData.bid_signedXmlData.value = getBidSignedData();
  }

  /*
   * 署名付加を行っていない、署名対象XMLが存在するかを判定し、
   * 署名対象XMLが残っている場合、signPluralXML()を呼び出し、
   * 残っていない場合、setXmlDataToRegistForm()、request()を呼び出す
   */

  if (pluralXMLCount < 1) {
    setXmlDataToRegistForm();
    request();
  } else {
    signPluralEstimateXML();
  }
}


//-----------------------------------------------------------
/**
 * 印刷用リクエスト
 *
 */
//-----------------------------------------------------------
function showPrintableWindow() {

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに印刷用のHTML文字列をコピーする */
  execute("copyString(value:'" + getPrintableData() + "', printData)");

  /* 印刷コマンドを呼び出す */
  execute("HTMLViewer.showHTML(printData, script:'OpenView')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 印刷用リクエスト(文字列置換)
 *
 */
//-----------------------------------------------------------
function showPrintableWindowStringReplace() {

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* 共通アプレットのプロパティに印刷用のHTML文字列をコピーする */
  execute("copyString(value:'" + getPrintableData() + "', printData)");

  /* 項目区切り文字を常駐アプレットのプロパティにコピーする */
  execute("copyString(value:'" + getDelimiter() + "', separator)");

  /* 置換対象文字を常駐アプレットのプロパティにコピーする */
  execute("copyString(value:'" + getKeys() + "', keys)");

  /* 置換文字を常駐アプレットのプロパティにコピーする */
  execute("copyString(value:'" + getValues() + "', values)");

  /* 印刷コマンドを呼び出す */
  execute("HTMLViewer.showHTML(printData, separator, keys, values, script:'OpenView')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 署名検証用リクエスト
 *
 */
//-----------------------------------------------------------
function requestVerifySign() {

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* verifySignを呼び出す */
  verifySign();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 署名検証用リクエスト
 *
 */
//-----------------------------------------------------------
function requestVerifyMultiSign() {

  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* verifyMultiSignを呼び出す */
  verifyMultiSign();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 送信リクエスト
 * (予定価格＆調査基準価格をアプレットに保持させる処理呼出し)
 */
//-----------------------------------------------------------
function requestWithSetPlanPrice() {

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

  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();

  //共通アプレットセッションsavePlannedPrice/saveStandardPriceに
  //予定価格／調査基準価格／基準評価値を設定する
  execute(
    "copyString(value:'" + getPlannedPriceText() + "', session:savePlannedPrice)"
    );
  execute(
    "copyString(value:'" + getStandardPriceText() + "', session:saveStandardPrice)"
    );
  if( document.formRegist.assesment.value == "1" ) {
  execute(
    "copyString(value:'" + getFiducialValueText() + "', session:saveFiducialValue)"
    );
  }

  //共通アプレットセッションsaveProjectNumberに調達案件番号を設定する
  execute("copyString(value:'" + document.commonData.projectNumber.value + "', session:saveProjectNumber)");
  
  //乱数署名コマンドを呼び出す
  execute("RandomSign.sign(script:'SignedRandomKey')");

  //共通アプレットの処理が終わった後に、
  //呼びだしてもらうfunction'submitCall'をセットする
  execute("callScript(value:'submitCall')");

  //共通アプレット処理コマンド蓄積終了functionを呼び出す
  commit();
}


//-----------------------------------------------------------
/**
 * 署名検証
 *
 */
//-----------------------------------------------------------
function verifySign() {
  /* 共通アプレットのプロパティに署名検証対象の帳票XMLをコピーする */
  execute("copyString(value:'" + getSignedData() + "', signedData)");

  /* XML署名検証コマンドを呼び出す */
  execute("DocSign.verify(signedData, script:'VerifyResult')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");
}


//-----------------------------------------------------------
/**
 * 署名検証(証明書検証なし)
 *
 */
//-----------------------------------------------------------
function easyVerifySign() {
  /* 共通アプレットのプロパティに署名検証対象の帳票XMLをコピーする */
  execute("copyString(value:'" + getSignedData() + "', signedData)");

  /* XML署名検証コマンドを呼び出す */
  execute("DocSign.easyVerify(signedData, script:'VerifyResult')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");
}


//-----------------------------------------------------------
/**
 * 署名検証
 *
 */
//-----------------------------------------------------------
function verifyMultiSign() {

  /* 共通アプレットのプロパティに署名検証対象の帳票XMLをコピーする */
  execute("copyString(value:'" + getSignedData() + "', signedData)");

  /* XML署名検証コマンドを呼び出す */
  //DocSign.verifyMulti → DocSign.verify
  //execute("DocSign.verifyMulti(signedData, script:'VerifyResult')");
  execute("DocSign.verify(signedData, script:'VerifyResult')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");
}


//-----------------------------------------------------------
/**
 * ファイル名セット
 *
 */
//-----------------------------------------------------------
function setFileNamesFromApplet(setComponentType) {

  /* ファイル名セット先コンポーネントタイプが'0'の場合 */
  if (setComponentType == 0) {

    if (document.commonData.fileName != null && document.commonData.fileName.value != null) {

      /* 'setFileList()'をセット */
      execute("copyString(value:'" + document.commonData.fileName.value + "', script:'FileList')");
    }
  /* ファイル名セット先コンポーネントタイプが'1'の場合 */
  } else if (setComponentType == 1) {

    if (document.formRegist.fileName.value != null) {

      /* 'setFileName()'をセット */
      //execute("copyString(session:fileNames, script:'FileName')");
      execute("copyString(value:'" + document.formRegist.fileName.value + "', script:'FileName')");
    }
  }
}


//-----------------------------------------------------------
/**
 * VE提案書名セット
 *
 */
//-----------------------------------------------------------
function setVeFileNamesFromApplet() {

 if (document.commonData.veFileName.value != null) {
   execute("copyString(value:'" + document.commonData.veFileName.value + "', script:'VeFileList')");
 }
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格取得
 *
 */
//-----------------------------------------------------------
function getPlanAndStandardPrice() {

  /* 予定価格テキストを取得してから、HIDDEN項目に設定する */
  document.commonData.plannedPrice.value = getPlannedPriceText();

  /* 調査基準価格テキストを取得してから、HIDDEN項目に設定する */
  document.commonData.standardPrice.value = getStandardPriceText();
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格/基準評価値取得
 * (総合評価落札方式の場合)
 *
 */
//-----------------------------------------------------------
function getPlanAndStandardPriceAndFiducialValue() {

  /* 予定価格/調査基準価格取得 */
  getPlanAndStandardPrice();

  /* 基準評価値テキストを取得してから、HIDDEN項目に設定する */
//  document.commonData.fiducialValue.value = getStandardPriceText();
  getFiducialValue();
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格設定
 *
 */
//-----------------------------------------------------------
function setPlanAndStandardPrice(price) {

  var plannedPrice;        //予定価格
  var standardPrice;       //調査基準価格
  var index;               //分割標識','の位置
  var tempPrice;           //一時領域

  /* 分割標識','の位置(最初)を取得 */
  index = price.indexOf(",");

  /* 予定価格文字列を取得 */
  plannedPrice = price.substring(0, index);

  /* 調査基準価格/基準価格区分/基準評価値文字列を取得 */
  tempPrice = price.substring(index + 1, price.length);

  /* 分割標識','の位置(2番目)を取得 */
  index = tempPrice.indexOf(",");

  /* 調査基準価格文字列を取得 */
  standardPrice = tempPrice.substring(0, index);

  /* 予定価格テキスト'plannedPrice'に設定する */
  setPlannedPriceText(plannedPrice);

  /* 調査基準価格テキスト'standardPrice'に設定する */
  setStandardPriceText(standardPrice);
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格/基準評価値設定
 * (総合評価落札方式の場合)
 *
 */
//-----------------------------------------------------------
function setPlanAndStandardPriceAndFiducialValue(price) {

  var plannedPrice;              //予定価格
  var standardPrice;             //調査基準価格
  var standardEvaluatingValue;   //基準評価値
  var index;                     //分割標識','の位置
  var tempPrice;                 //一時領域
  var tempPrice2;                //一時領域

  /* 分割標識','の位置(最初)を取得 */
  index = price.indexOf(",");

  /* 予定価格文字列を取得 */
  plannedPrice = price.substring(0, index);

  /* 調査基準価格/基準価格区分/基準評価値文字列を取得 */
  tempPrice = price.substring(index + 1, price.length);

  /* 分割標識','の位置(2番目)を取得 */
  index = tempPrice.indexOf(",");

  /* 調査基準価格文字列を取得 */
  standardPrice = tempPrice.substring(0, index);

  /* 基準価格区分/基準評価値文字列を取得 */
  tempPrice2 = tempPrice.substring(index + 1, tempPrice.length);

  /* 分割標識','の位置(3番目)を取得 */
  index = tempPrice2.indexOf(",");

  /* 基準評価値文字列を取得 */
  standardEvaluatingValue = tempPrice2.substring(index + 1, tempPrice2.length);

  /* 予定価格テキスト'plannedPrice'に設定する */
  setPlannedPriceText(plannedPrice);

  /* 調査基準価格テキスト'standardPrice'に設定する */
  setStandardPriceText(standardPrice);

  /* 基準評価値テキストに設定する*/
  setFiducialValueText(standardEvaluatingValue);
}


///////////////////////////////////////////////////////////////↓/////////////////////////////////////////////////////////////

//-----------------------------------------------------------
/**
 * 基準評価値取得
 *
 */
//-----------------------------------------------------------
function getFiducialValue() {

  /* 基準評価値テキストを取得してから、HIDDEN項目に設定する */
  document.commonData.fiducialValue.value = getFiducialValueText();
}


//-----------------------------------------------------------
/**
 * 評価点/評価値取得
 *
 */
//-----------------------------------------------------------
function getPropoAndAssessValue(count) {

  /* 評価点テキストを取得してから、HIDDEN項目に設定する */
  document.commonData.proposalValue[count].value = getProposalValueText(count);

  /* 評価値テキストを取得してから、HIDDEN項目に設定する */
  document.commonData.assessmentValue[count].value = getAssessmentValueText(count);
}


/////////////////////////////////////////////////////////////////↑///////////////////////////////////////////////////////////


//-----------------------------------------------------------
/**
 * 入札金額テキストからの金額取得
 *
 */
//-----------------------------------------------------------
function getBidPriceText() {

  /* 該当フォームの入札金額テキストに入力されている金額を返す */
  return document.formPrice.bidPrice.value;
}


//-----------------------------------------------------------
/**
 * 入札金額テキストへの金額設定
 *
 */
//-----------------------------------------------------------
function setBidPriceText(price) {

  /* 該当フォームの入札金額テキストへ引数で渡された金額をセットする */
  //change 02/06/04
  //document.formPrice.bidPrice.value = price;
  setPriceTexts( document.formPrice.bidPrice, 
                 document.formPrice.bidPriceJp, 
                 price );

  setPriceTexts( document.formPrice.bidPrice, 
                 document.formPrice.bidPriceComma, 
                 price );

}


//-----------------------------------------------------------
/**
 * 予定価格金額テキストからの金額取得
 *
 */
//-----------------------------------------------------------
function getPlannedPriceText() {

  /* 該当フォームの入札金額テキストに入力されている金額を返す */
  return document.formPrice.plannedPrice.value;
}


//-----------------------------------------------------------
/**
 * 予定価格金額テキストへの金額設定
 *
 */
//-----------------------------------------------------------
function setPlannedPriceText(price) {

  /* 該当フォームの入札金額テキストへ引数で渡された金額をセットする */
  //change 02/06/04
  //document.formPrice.plannedPrice.value = price;
  setPriceTexts( document.formPrice.plannedPrice, 
                 document.formPrice.plannedPriceJp, 
                 price );

  setPriceTexts( document.formPrice.plannedPrice, 
                 document.formPrice.plannedPriceComma, 
                 price );

}


//-----------------------------------------------------------
/**
 * 調査基準価格金額テキストからの金額取得
 *
 */
//-----------------------------------------------------------
function getStandardPriceText() {

  /* 該当フォームの入札金額テキストに入力されている金額を返す */
  return document.formPrice.standardPrice.value;
}


//-----------------------------------------------------------
/**
 * 調査基準価格金額テキストへの金額設定
 *
 */
//-----------------------------------------------------------
function setStandardPriceText(price) {

  /* 該当フォームの入札金額テキストへ引数で渡された金額をセットする */
  //change 02/06/04
  //document.formPrice.standardPrice.value = price;
  setPriceTexts( document.formPrice.standardPrice, 
                 document.formPrice.standardPriceComma, 
                 price );

  setPriceTexts( document.formPrice.standardPrice, 
                 document.formPrice.standardPriceJp, 
                 price );

}


//-----------------------------------------------------------
/**
 * 基準評価値テキストからの基準評価値取得
 *
 */
//-----------------------------------------------------------
function getFiducialValueText() {

  /* 該当フォームの基準評価値テキストに入力されている基準評価値を返す */
  return document.formPrice.fiducialValue.value;
}


//-----------------------------------------------------------
/**
 * 基準評価値テキストへの基準評価値設定
 *
 */
//-----------------------------------------------------------
function setFiducialValueText(value) {

  /* 該当フォームの基準評価値テキストへ引数で渡された基準評価値をセットする */
  document.formPrice.fiducialValue.value = value;
}


///////////////////////////////////////////////////////////↓/////////////////////////////////////////////////////////////////


//-----------------------------------------------------------
/**
 * 評価点テキストからの評価点取得
 *
 */
//-----------------------------------------------------------
function getProposalValueText(count) {

  /* 該当フォームの評価点テキストに入力されている評価点を返す */
  return document.formRegist.proposalValue[count].value;
}


//-----------------------------------------------------------
/**
 * 評価値テキストからの評価値取得
 *
 */
//-----------------------------------------------------------
function getAssessmentValueText(count) {

  /* 該当フォームの評価値テキストに入力されている評価値を返す */
  return document.formRegist.assessmentValue[count].value;
}


/////////////////////////////////////////////////////////////↑///////////////////////////////////////////////////////////////


//-----------------------------------------------------------
/**
 * 価格複合後金額アプレットにセット
 *
 */
//-----------------------------------------------------------
function setDecryptPrice() {

  //総合評価落札方式の場合
  if( document.formRegist.assesment.value == 1 ) {

    /* decryptPlanAndStandardPriceAndFiducialValue()を呼び出す */
    decryptPlanAndStandardPriceAndFiducialValue();
  } else {

    /* decryptPlanAndStandardPrice()を呼び出す */
    decryptPlanAndStandardPrice();
  }

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'callCheckPrice'をセットする
   */
  execute("callScript(value:'callCheckPrice')");
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格復号
 *
 */
//-----------------------------------------------------------
function decryptPlanAndStandardPrice() {

  /*
   * 共通アプレットのプロパティに予定価格/調査基準価格復号化用の共通鍵
   * をコピーする
   */
  execute("copyString(value:'" + getSecretKey() + "', secretKey)");

  /*
   * 共通アプレットのプロパティに暗号化された予定価格/調査基準価格
   * をコピーする
   */
  execute(
    "copyString(value:'" + getEncryptedPlannedPrice()
    + "', encryptedPlannedPrice)"
    );

  /* 予定価格/調査基準価格 復号コマンドを呼び出す */
  execute(
    "PlannedPrice.decryptPrice(secretKey, " +
    "encryptedPlannedPrice, script:'PlanAndStandardPrice')"
    );
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格暗号
 *
 */
//-----------------------------------------------------------
function encryptPlanAndStandardPrice() {

  /*
   * 共通アプレットのプロパティに予定価格/調査基準価格復号化用の公開鍵
   * をコピーする
   */
  execute("copyString(value:'" + getPublicKey() + "', publicKey)");

  /* 共通アプレットのプロパティに入力された予定価格をコピーする */
  execute(
    "copyString(value:'" + getPlannedPriceText() + "', inputPlannedPrice)"
    );

  /* 共通アプレットのプロパティに入力された調査基準価格をコピーする */
  execute(
    "copyString(value:'" + getStandardPriceText() + "', inputStandardPrice)"
    );
  
  //第4引数(調査基準価格区分)は'0'固定を設定
  execute(
    "copyString(value:'0', stdPriceType)"
    );

  /* 予定価格/調査基準価格 暗号コマンドを呼び出す */
  //第4引数(調査基準価格区分)は'0'固定を設定
  execute(
    "PlannedPrice.encrypt(publicKey, inputPlannedPrice, inputStandardPrice, stdPriceType, "
    + "script:'ResultPlanAndStandard')"
    );
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格/基準評価値復号
 * (総合評価落札方式の場合)
 *
 */
//-----------------------------------------------------------
function decryptPlanAndStandardPriceAndFiducialValue() {

  /*
   * 共通アプレットのプロパティに予定価格/調査基準価格復号化用
   * の共通鍵をコピーする
   */
  execute("copyString(value:'" + getSecretKey() + "', secretKey)");

  /*
   * 共通アプレットのプロパティに暗号化された予定価格/調査基準価格/
   * 基準評価値をコピーする
   */
  execute(
    "copyString(value:'" + getEncryptedPlannedPrice()
    + "', encryptedPlannedPrice)"
    );

  /* 予定価格/調査基準価格 復号コマンドを呼び出す */
  execute(
    "PlannedPrice.decryptPrice(secretKey, " +
    "encryptedPlannedPrice, script:'PlanAndStandardPriceAndFiducialValue')"
    );
}


//-----------------------------------------------------------
/**
 * 予定価格/調査基準価格/評価基準値暗号
 * (総合評価落札方式の場合)
 *
 */
//-----------------------------------------------------------
function encryptPlanAndStandardPriceAndFiducialValue() {

  /*
   * 共通アプレットのプロパティに予定価格/調査基準価格/基準評価値復号化用
   * の公開鍵をコピーする
   */
  execute("copyString(value:'" + getPublicKey() + "', publicKey)");

  /* 共通アプレットのプロパティに入力された予定価格をコピーする */
  execute(
    "copyString(value:'" + getPlannedPriceText() + "', inputPlannedPrice)"
    );

　/* 共通アプレットのプロパティに入力された調査基準価格をコピーする */
  execute(
    "copyString(value:'" + getStandardPriceText() + "', inputStandardPrice)"
    );

  //第4引数(調査基準価格区分)は'0'固定を設定
  execute(
    "copyString(value:'0', stdPriceType)"
    );

  /* 共通アプレットのプロパティに入力された基準評価値をコピーする */
  execute(
    "copyString(value:'" + getFiducialValueText() + "', inputFiducialValue)"
    );

  /* 予定価格/調査基準価格/基準評価値 暗号コマンドを呼び出す */
  //第4引数(調査基準価格区分)は'0'固定を設定
  execute(
    "PlannedPrice.encrypt(publicKey, inputPlannedPrice, inputStandardPrice, stdPriceType, inputFiducialValue, "
    + "script:'ResultPlanAndStandard')"
    );
}


//-----------------------------------------------------------
/**
 * 読込時処理
 *
 */
//-----------------------------------------------------------
function onloadProcess() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時署名検証
 *
 */
//-----------------------------------------------------------
function onloadProcessWithVerifyDoc() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* verifySign()を呼び出す */
  verifySign();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時署名検証(証明書検証なし)
 *
 */
//-----------------------------------------------------------
function onloadProcessWithEasyVerifyDoc() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* verifySign()を呼び出す */
  easyVerifySign();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時署名検証
 *
 */
//-----------------------------------------------------------
function onloadProcessWithVerifyMultiSign() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* verifyMultiSign()を呼び出す */
  verifyMultiSign();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時復号化
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetDecrypt() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* setDecryptPrice()を呼び出す */
  setDecryptPrice();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時ファイル名設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetFileName() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 引数'0'「ファイル名セット先コンポーネントタイプ-SELECT」にて、
   * setFileNamesFromApplet関数を呼び出す
   */
  setFileNamesFromApplet(0);

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時ファイル名設定(VE提案時)
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetFileNameAndVeProposal() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 引数'0'「ファイル名セット先コンポーネントタイプ-SELECT」にて、
   * setFileNamesFromApplet関数を呼び出す
   */
  setFileNamesFromApplet(0);


  /*
   * setVeFileNamesFromApplet関数を呼び出す
   */
  setVeFileNamesFromApplet();


  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時署名検証・ファイル名設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithVerifyAndSetFile() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* verifySign()を呼び出す */
  verifySign();

  /* setFileList()を呼び出す */
  setFileList();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時署名検証・ファイル名設定(VE提案時）
 *
 */
//-----------------------------------------------------------
function onloadProcessWithVerifyAndSetVeFile() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /* verifySign()を呼び出す */
  verifySign();

  /* setFileList()を呼び出す */
  setFileList();

  /* setVeFileList()を呼び出す */
  setVeFileList();

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時金額及びファイル名設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetBidPriceAndItem() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 共通アプレットにて保持している金額を金額コンポ-トに
   * セットする為のfunction'setBidPriceText'をセットする
   */
  execute("copyString(session:biddingPrice, script:'BidPriceText')");

  /*
   * 引数'1'「ファイル名セット先コンポーネントタイプ-TEXT」にて、
   * setFileNamesFromApplet関数を呼び出す
   */
  setFileNamesFromApplet(1);

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時金額及びファイル名設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetBidPriceAndFileName() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 共通アプレットにて保持している金額を金額コンポ-トに
   * セットする為のfunction'setBidPriceText'をセットする
   */
  execute("copyString(session:biddingPrice, script:'BidPriceText')");

  /*
   * 引数'0'「ファイル名セット先コンポーネントタイプ-TEXT」にて、
   * setFileNamesFromApplet関数を呼び出す
   */
  setFileNamesFromApplet(0);

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時入札金額設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetBidPrice() {

  //左リンクメニュー変更
  judgeMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 共通アプレットにて保持している金額を金額コンポ-トに
   * セットする為のfunction'setBidPriceText'をセットする
   */
  execute("copyString(session:biddingPrice, script:'BidPriceText')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");


  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時処理
 *
 */
//-----------------------------------------------------------
function onloadProcessPopUp() {

  /* 親Windowの'common'フォームのHIDDEN項目に最新の乱数値を設定する */
  opener.document.common.randomSessionKey.value =
                                           document.common.randomSessionKey.value;

  /* 親WindowのonloadProcess()を呼び出す */
  opener.onloadProcess();
}


//-----------------------------------------------------------
/**
 * 読込時予定価格／調査基準価格設定
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetPlanAndStandardPrice() {

  //左リンクメニュー変更
  judgeMenu();
  
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();

  //preProcess()を呼び出す
  preProcess();

  //共通アプレットにて保持している調達案件番号をHIDDEN'pre_projectNumber'に設定する
  //セットする為のfunction'setPreProjectNo'をセットする
  execute("copyString(session:saveProjectNumber, script:'PreProjectNo')");
  
  //共通アプレットの処理が終わった後に、
  //呼びだしてもらうfunction'setPlanAndStandardPriceFromApplet'をセットする
  execute("callScript(value:'setPlanAndStandardPriceFromApplet')");

  //共通アプレット処理コマンド蓄積終了functionを呼び出す
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時予定価格／調査基準価格／基準評価値設定
 * (総合評価落札方式の場合)
 *
 */
//-----------------------------------------------------------
function onloadProcessWithSetPlanAndStandardPriceAndFiducialValue() {

  //左リンクメニュー変更
  judgeMenu();
  
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();

  //preProcess()を呼び出す
  preProcess();

  //共通アプレットにて保持している調達案件番号をHIDDEN'pre_projectNumber'に設定する
  //セットする為のfunction'setPreProjectNo'をセットする
  execute("copyString(session:saveProjectNumber, script:'PreProjectNo')");

  //共通アプレットの処理が終わった後に、
  //呼びだしてもらうfunction'setPlanAndStandardPriceAndFiducialValueFromApplet'をセットする
  execute("callScript(value:'setPlanAndStandardPriceAndFiducialValueFromApplet')");
  
  //共通アプレット処理コマンド蓄積終了functionを呼び出す
  commit();
}


//-----------------------------------------------------------
/**
 * 読込時処理（エラー画面時）
 *
 */
//-----------------------------------------------------------
function onloadProcessError() {

  //左リンクメニュー変更
  judgeErrorMenu();
  
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を呼び出す */
  preProcess();

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}

//-----------------------------------------------------------
/**
 * 読込時処理（PopUpエラー画面、左リンク切替なし）
 *
 */
//-----------------------------------------------------------
function onloadProcessErrorPopup() {

  /* 親Windowの'common'フォームのHIDDEN項目に最新の乱数値を設定する */
  opener.document.common.randomSessionKey.value =
                                           document.common.randomSessionKey.value;
  /* 親WindowのonloadProcess()を呼び出す */
  opener.onloadProcessPopUpCalled();
}

//-----------------------------------------------------------
/**
 * 読込時処理（PopUpエラー画面、左リンク切替あり）
 *
 */
//-----------------------------------------------------------
function onloadProcessErrorPopupChgMenu() {

  /* 左リンクメニュー変更 */
  judgeErrorMenu();

  /* 親Windowの'common'フォームのHIDDEN項目に最新の乱数値を設定する */
  opener.document.common.randomSessionKey.value =
                                           document.common.randomSessionKey.value;

  /* 親WindowのonloadProcess()を呼び出す */
  opener.onloadProcessPopUpCalled();
}

//-----------------------------------------------------------
/**
 * 読込時処理
 *
 */
//-----------------------------------------------------------
function onloadProcessPopUpCalled() {
  /* 共通アプレット処理コマンド蓄積開始functionを呼び出す */
  begin();

  /* preProcess()を直接呼び出さずTimerの更新以外のfunctionを呼び出す */
  closeSubWindow();
  execute("RandomSign.setValue(value:'"+getRandomKey()+"')");

  /*
   * 共通アプレットの処理が終わった後に、
   * 呼びだしてもらうfunction'resetCommandFormObj'をセットする
   */
  execute("callScript(value:'resetCommandFormObj')");

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}


//-----------------------------------------------------------
/**
 * 予定価格／調査基準価格設定
 *   アプレットから取得した、調達案件番号が、今回の調達案件番号と
 *   同じ場合、アプレットに保持している予定価格／調査基準価格を
 *   該当テキストフィールドに設定する
 */
//-----------------------------------------------------------
function setPlanAndStandardPriceFromApplet() {
  
  var pre_projectNumber = document.commonData.pre_projectNumber.value;
  var projectNumber = document.commonData.projectNumber.value;
  
  //アプレットが保持している前回の調達案件番号と、今回の調達案件番号が
  //異なる場合は、resetCommandFormObjを呼出し、return
  if (pre_projectNumber != projectNumber) {
   resetCommandFormObj();
   return;
  } 
  
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();
  
  //共通アプレットにて保持している予定価格を金額コンポ-トに
  //セットする為のfunction'setPlannedPriceText'をセットする
  execute("copyString(session:savePlannedPrice, script:'PlannedPriceText')");
  
  //共通アプレットにて保持している調査基準価格を金額コンポ-トに
  //セットする為のfunction'setStandardPriceText'をセットする
  execute("copyString(session:saveStandardPrice, script:'StandardPriceText')");
  
  //共通アプレットセッションに保持している予定価格／調査基準価格を空文字でリセットする
  execute(
    "copyString(value:'', session:savePlannedPrice)"
    );
  execute(
    "copyString(value:'', session:saveStandardPrice)"
    );
    
  //共通アプレットセッションに保持している調達案件番号を空文字でリセットする
  execute("copyString(value:'', session:saveProjectNumber)");
  
  //共通アプレットの処理が終わった後に、
  //呼びだしてもらうfunction'callCheckPrice'をセットする
  execute("callScript(value:'callCheckPrice')");
  
  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();

}


//-----------------------------------------------------------
/**
 * 予定価格／調査基準価格／基準評価値設定
 *   アプレットから取得した、調達案件番号が、今回の調達案件番号と
 *   同じ場合、アプレットに保持している予定価格／調査基準価格
 *   ／基準評価値を該当テキストフィールドに設定する
 */
//-----------------------------------------------------------
function setPlanAndStandardPriceAndFiducialValueFromApplet() {
  
  var pre_projectNumber = document.commonData.pre_projectNumber.value;
  var projectNumber = document.commonData.projectNumber.value;
  
  //アプレットが保持している前回の調達案件番号と、今回の調達案件番号が
  //異なる場合は、resetCommandFormObjを呼出し、return
  if (pre_projectNumber != projectNumber) {
   resetCommandFormObj();
   return;
  } 
  
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();
  
  //共通アプレットにて保持している予定価格を金額コンポ-トに
  //セットする為のfunction'setPlannedPriceText'をセットする
  execute("copyString(session:savePlannedPrice, script:'PlannedPriceText')");
  
  //共通アプレットにて保持している調査基準価格を金額コンポ-トに
  //セットする為のfunction'setStandardPriceText'をセットする
  execute("copyString(session:saveStandardPrice, script:'StandardPriceText')");
  
  //共通アプレットにて保持している基準評価値を金額コンポ-トに
  //セットする為のfunction'setStandardPriceText'をセットする
  execute("copyString(session:saveFiducialValue, script:'FiducialValueText')");
  
  //共通アプレットセッションに保持している予定価格／調査基準価格／基準評価値を空文字でリセットする
  execute(
    "copyString(value:'', session:savePlannedPrice)"
    );
  execute(
    "copyString(value:'', session:saveStandardPrice)"
    );
  execute(
    "copyString(value:'', session:saveFiducialValue)"
    );
    
  //共通アプレットセッションに保持している調達案件番号を空文字でリセットする
  execute("copyString(value:'', session:saveProjectNumber)");
  
  //共通アプレットの処理が終わった後に、
  //呼びだしてもらうfunction'callCheckPrice'をセットする
  execute("callScript(value:'callCheckPrice')");
  
  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();

}

//-----------------------------------------------------------
/**
 * 和暦から西暦への変換処理
 */
//-----------------------------------------------------------
function warekiToSeireki()
{
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();

  //和暦データを常駐アプレットのプロパティにコピー
  execute("copyString(value:'"+getWareki()+"',system:wareki)");

  var format = getDateFormat();
  if(format == "" || format == null) {
    //結果をResultに返す。
    execute("Utils.wareki2seireki(system:wareki, script:'WarekiToSeirekiResult')");
  }
  else {
    //変換フォーマットを常駐アプレットのプロパティにコピー
    execute("copyString(value:'" + format + "', pattern)");

    //結果をResultに返す。
    execute("Utils.wareki2seireki(system:wareki, pattern, script:'WarekiToSeirekiResult')");
  }

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}

//-----------------------------------------------------------
/**
 * 西暦から和暦への変換処理
 */
//-----------------------------------------------------------
function seirekiToWareki()
{
  //共通アプレット処理コマンド蓄積開始functionを呼び出す
  begin();

  //西暦データを常駐アプレットのプロパティにコピー
  execute("copyString(value:'" + getSeireki() + "', system:seireki)");

  var format = getDateFormat();
  if(format == "" || format == null) {
    //結果をResultに返す。
    execute("Utils.seireki2wareki(system:seireki, script:'SeirekiToWarekiResult')");
  }
  else {
    //変換フォーマットを常駐アプレットのプロパティにコピー
    execute("copyString(value:'" + format + "', pattern)");

    //結果をResultに返す。
    execute("Utils.seireki2wareki(system:seireki, pattern, script:'SeirekiToWarekiResult')");
  }

  /* 共通アプレット処理コマンド蓄積終了functionを呼び出す */
  commit();
}

