//*****************************************************************************
// システム名     電子入札物品コアシステム
// サブシステム名 電子入札・開札システム
//
// 予定価格登録画面 データ取得共通処理
// author:       NEC
// version:      1.0, 2002.09.26, 新規作成<BR>
//               1.1, 2003.06.16, V3-総合-180対応<BR>
//               1.2, 2003.06.17, V3-総合-213対応<BR>
//               1.3, 2003.08.05, 連絡票065対応<BR>
//               3.1, 2003.08.25, 乱数署名のオプション化対応<BR>
//               3.2, 2003.12.11, V3.1-総合-081対応<BR>
//               4.0, 2004.01.30, V4.0複数落札対応<BR>
//*****************************************************************************

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

  onLoad();

  // 複数落札時初期処理
  if( document.formPrice.pluralBid )
  {
    // 予定価格、基準価格のMaxlength変化
    document.formPrice.plannedPrice.maxLength = DEF_BID_PLURAL_LENGTH;
    document.formPrice.standardPrice.maxLength = DEF_BID_PLURAL_LENGTH;
  }

  // 予定価格、基準価格表示
  begin();
  execute("copyString(session:plannedPrice, script:'PlannedPrice')");

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

  execute("callScript(value:'updatePriceText')");
  commit();
}//onStart

//----------------------------------------------------
// 金額情報更新
//----------------------------------------------------
function updatePriceText()
{
  setPriceTextEvent(document.formPrice.plannedPrice,
                    document.formPrice.plannedPriceJp,
                    document.formPrice.plannedPriceComma,
                    document.formPrice.plannedPrice.value
                   );

  if( document.formPrice.standardPrice )
  {
    setPriceTextEvent(
      document.formPrice.standardPrice,
      document.formPrice.standardPriceJp,
      document.formPrice.standardPriceComma,
      document.formPrice.standardPrice.value );
  }
}//updatePriceText

//----------------------------------------------------
// 予定価格登録内容確認画面表示
//----------------------------------------------------
function confirmPlannedPriceResist()
{
  var errmsg="";

  // 予定価格チェック
  if( document.formPrice.plannedPrice.value=="" )
    errmsg+="予定価格が未入力です。予定価格を入力して下さい.\n";

  // ０円以上かチェック
  else if( Number( document.formPrice.plannedPrice.value )<=0 )
    errmsg+="予定価格には0より大きい値を入力して下さい.\n";

  else if( document.formPrice.pluralBid )
  {
    // 複数落札の場合
    if( document.formPrice.plannedPrice.value.length > DEF_BID_PLURAL_LENGTH ){
      errmsg+="予定価格が長すぎます。" + DEF_BID_PLURAL_LENGTH + "桁以下で入力して下さい.\n";
    }
    else if( !checkNumberDecimal( document.formPrice.plannedPrice.value ) ){
      errmsg+="予定価格が不正です。再入力してください.\n";
    }
    else if( !checkIntegerBidLengthDef(document.formPrice.plannedPrice.value) ){
      errmsg+="予定価格には整数部" + DEF_BID_PLURAL_INTEGER_LENGTH + "桁までの値を入力して下さい.\n";
    }
    else if( !checkDecimalBidLengthDef(document.formPrice.plannedPrice.value) ){
      errmsg+="予定価格には小数点第" + DEF_BID_PLURAL_DECIMAL_LENGTH + "位までの値を入力して下さい.\n";
    }
  }
  else
  {
    // 複数落札以外の場合：桁数16
    if( document.formPrice.plannedPrice.value.length > DEF_BID_NONPLURAL_LENGTH ){
      errmsg+="予定価格が長すぎます。" + DEF_BID_NONPLURAL_LENGTH + "桁以下で入力して下さい.\n";
    }
    // 複数落札以外の場合、整数かチェック
    else if( !checkNumber( document.formPrice.plannedPrice.value ) ){
      errmsg+="予定価格が不正です。再入力してください.\n";
    }
  }

  // 基準価格チェック
  if( document.formPrice.standardPrice )
  {
    //基準価格が未入力
    if( document.formPrice.standardPrice.value=="" ) {
      //基準価格が未入力の場合は0円とする
      document.formPrice.standardPrice.value = "0";
    }
    // 0円以上かチェック
    else if( Number( document.formPrice.standardPrice.value ) <0 ){
      errmsg+="基準価格には0以上の値を入力して下さい.\n";
    }
    else if( document.formPrice.pluralBid )
    {
      // 複数落札の場合
      if( document.formPrice.standardPrice.value.length > DEF_BID_PLURAL_LENGTH ){
        errmsg+="基準価格が長すぎます。" + DEF_BID_PLURAL_LENGTH + "桁以下で入力して下さい.\n";
      }
      // 複数落札の場合、浮動小数点数かチェック
      else if( !checkNumberDecimal( document.formPrice.standardPrice.value ) ){
        errmsg+="基準価格が不正です。再入力してください.\n";
      }
      else if( !checkIntegerBidLengthDef(document.formPrice.standardPrice.value) ){
        errmsg+="基準価格には整数部" + DEF_BID_PLURAL_INTEGER_LENGTH + "桁までの値を入力して下さい.\n";
      }
      else if( !checkDecimalBidLengthDef(document.formPrice.standardPrice.value) ){
        errmsg+="基準価格には小数点第" + DEF_BID_PLURAL_DECIMAL_LENGTH + "位までの値を入力して下さい.\n";
      }
    }
    else
    {
      // 複数落札以外の場合
      if( document.formPrice.standardPrice.value.length > DEF_BID_NONPLURAL_LENGTH ){
        errmsg+="基準価格が長すぎます。" + DEF_BID_NONPLURAL_LENGTH + "桁以下で入力して下さい.\n";
      }
      // 複数落札以外の場合、整数かチェック
      else if( !checkNumber( document.formPrice.standardPrice.value ) ){
        errmsg+="基準価格が不正です。再入力してください.\n";
      }
    }
    
    // 相関チェック（予定価格、基準価格）
    if( errmsg.length == 0 )
    {
      if( Number( document.formPrice.standardPrice.value ) >= Number( document.formPrice.plannedPrice.value ) )
      {
        errmsg+="予定価格は基準価格より高くなければなりません\n";
      }
    }
  }

  if( errmsg!="" )
  {
    alert( errmsg );
    return;
  }

  if( prepareDispatch( document.formHTS007, "H539HTS010" ) )
  {

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

    begin();

    // 予定価格、基準価格保存
    execute("copyString(script:'PlannedPrice', session:plannedPrice)");

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

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

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

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

    commit();
  }

}//confirmPlannedPriceResist

//----------------------------------------------------
// 紙入札情報登録画面に戻る
//----------------------------------------------------
function backToPaperTenderRegist()
{
  dispatch( document.formHTS007, "H539HTS009" );
}//backToPaperTenderRegist

//----------------------------------------------------
// 予定金額取得
//----------------------------------------------------
function getPlannedPrice() { return document.formPrice.plannedPrice.value; }

//----------------------------------------------------
// 予定金額設定
//----------------------------------------------------
function setPlannedPrice( price ) { document.formPrice.plannedPrice.value=price; }

//----------------------------------------------------
// 予定金額取得
//----------------------------------------------------
function getStandardPrice() { return document.formPrice.standardPrice.value; }

//----------------------------------------------------
// 予定金額設定
//----------------------------------------------------
function setStandardPrice( price ) { document.formPrice.standardPrice.value=price; }
