/***************************************************
* システム名      電子入札コアシステム
* サブシステム名  共通部品
* EbCommand.js
* 共通(HIDDEN項目アクセス処理、他)を格納
* @author  NEC
* @version 1.0  2002.02.21，新規作成
* @version 2.5  2003.01.24, V2.5要件／CCMS連携対応／NN7対応
* @version 3.1  2003.08.25, 乱数署名のオプション化対応
* @version 3.1  2003.08.29, V3.1署名検証手動化対応
* @version 3.1  2003.08.29, V3.1-総合−４０対応
* @version 4.0  2004.08.19, V4-総合-S273対応
* @version 4.1  2005.02.21, V4.1-総合-S041対応
*          4.2  2007.04.10, ステータスバーの表示追加対応
***************************************************/

/* グローバル変数の宣言 */

/* コマンド対象用formオブジェクト */
var commandFormObj;

/** フラグＯＮ */
var FLAG_ON = "1";

/* フラグＯＦＦ */
var FLAG_OFF = "0";

/* 添付資料ファイルを追加できる数('10'固定) */
var attachFilesMAX = 10;

/* 添付資料ファイルがセレクトコンポーネントに設定されている数(初期値'0'）*/
var attachFilesLen = 0;

/* VE提案ファイルを追加できる数('10'固定) */
var veProposalFilesMAX = 10;

/* VE提案ファイルがセレクトコンポーネントに設定されている数(初期値'0'）*/
var veProposalFilesLen = 0;

/* プライステキストフィールドA */
var priceTextA1;


/*
 * プライス単位挿入文字列テキストフィールドA
 *(金額単位(万, 憶, 兆)挿入文字列用）
 */
var priceTextA2;

var priceTextA3;

/* プライステキストフィールドB */
var priceTextB1;

/*
 * プライス単位挿入文字列テキストフィールドB
 *(金額単位(万, 憶, 兆)挿入文字列用）
 */
var priceTextB2;

var priceTextB3;

/* 「署名検証ボタン」フラグ */
var verifyButton = false;

//カレンダー画面による日付入力スクリプト
var abstractNow = new Date()
var now    = new Date()
var preYear  = now.getYear(); //前回表示年
var preMonth = now.getMonth();//前回表示月
var preDay   = now.getDate(); //前回表示日
var inputYear  = now.getYear(); //年
var inputMonth = now.getMonth();//月
var inputDay   = now.getDate(); //日

var Win=navigator.userAgent.indexOf('Win')!=-1
var Mac=navigator.userAgent.indexOf('Mac')!=-1
var X11=navigator.userAgent.indexOf('X11')!=-1

var IE=navigator.appName.indexOf('Mic')!=-1
var NN=navigator.appName.indexOf('Net')!=-1

var windowFlag=1

var m_obj = null;

var screen_x = 0;
var screen_y = 0;

var s;
var w;
var seirekiToWarekiResult;
var warekiToSeirekiResult;
var dateFormat = "";

var inputHour = 12; //now.getHour(); //年
var inputMinute = 0; //now.getMinute();//月

//-----------------------------------------------------------
/**
 * 調達案件検索画面表示処理(受注者）
 *
 */
//-----------------------------------------------------------
function linkAccepterProjectSearch() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(J001JBC010)を送信フォームにセットする */
    setNextID("J001JBC020");

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


//-----------------------------------------------------------
/**
 * 調達案件一覧画面表示処理(受注者）
 *
 */
//-----------------------------------------------------------
function linkAccepterProjectList() {
  var resultFlag;             //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(J002JBC020)を送信フォームにセットする */
    /* setNextID("J002JBC020"); */

/***********修正**********************/
    setNextID("J002JBC030");
/***********************************/

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


//-----------------------------------------------------------
/**
 * 入札状況一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkAccepterTenderList() {
  var resultFlag;                //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(J007HBC020)を送信フォームにセットする */
    setNextID("J007JAC010");

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


//-----------------------------------------------------------
/**
 * 調達案件検索画面表示(発）
 *
 */
//-----------------------------------------------------------
function linkProjectSearch() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセット */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H001HBC020)を送信フォームにセット */
    setNextID("H001HBC020");

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


//-----------------------------------------------------------
/**
 * 調達案件一覧画面表示処理(発注者）
 *
 */
//-----------------------------------------------------------
function linkProjectList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H003HBC030)を送信フォームにセット */
    setNextID("H003HBC030");

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


//-----------------------------------------------------------
/**
 * 申請受付一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkApplicateList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {
    var nyusatsuHoshikiNo;             // 入札方式番号
    var parameterID;                   // パラメータID

    /* 入札方式を該当するHIDDENより読込む */
    nyusatsuHoshikiNo = document.commonData.tenderMethodNumber.value;

    /*
     * 取得した入札方式番号を元に下記
     * 対応表によりパラメータIDを決定する
     */
    switch (nyusatsuHoshikiNo) {
      case "1002011":

        /* 一般競争入札(標準型) */
        parameterID = "H004HB1010";
        break;
      case "1002012":

        /* 一般競争入札(施工計画審査型) */
        parameterID = "H004HB1010";
        break;
      case "2002022":

        /* 公募型指名競争入札(標準型) */
        parameterID = "H004HB2010";
        break;
      case "2002023":

        /* 公募型指名競争入札(施工計画審査型) */
        parameterID = "H004HB2010";
        break;
      case "2002027":

        /* 通常型指名競争入札方式 */
        parameterID = "H004HB4011";
        break;
      case "2002028":

        /* 公募型競争入札方式 */
        parameterID = "H004HB3010";
        break;
      case "2002029":

        /* 簡易公募型競争入札方式 */
        parameterID = "H004HB3010";
        break;
      case "3002055":

        /* 公募型プロポーザル方式 */
        parameterID = "H004HB6010";
        break;
      case "3002056":

        /* 簡易公募型プロポーザル方式 */
        parameterID = "H004HB6010";
        break;
      case "3002057":

        /* 標準プロポーザル方式 */
        parameterID = "H004HB5011";
        break;
      case "2002026":

        /* 工事希望型指名競争入札 */
        parameterID = "H004HB2010";
        break;
      case "3002051":

        /* 随意契約 */
        parameterID = "H004HB8011";
        break;
      default:
        break;
    }

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 取得した入札方式番号を送信フォームにセットする */
    setBidKind(nyusatsuHoshikiNo);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータIDを送信フォームにセットする */
    setNextID(parameterID);

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


//-----------------------------------------------------------
/**
 * 審査一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkNotificationList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {
    var nyusatsuHoshikiNo;    //入札方式番号
    var parameterID;          //パラメータID

    /* 入札方式番号の取得 */
    nyusatsuHoshikiNo = document.commonData.tenderMethodNumber.value;
    switch (nyusatsuHoshikiNo) {

      /* 一般競争入札(標準型) */
      case "1002011":
        parameterID = "H008HB1011";
        break;

      /* 一般競争入札(施工計画審査型) */
      case "1002012":
        parameterID = "H008HB1011";
        break;

      /* 公募型指名競争入札(標準型) */
      case "2002022":
        parameterID = "H008HB2011";
        break;

      /* 公募型指名競争入札(施工計画審査型) */
      case "2002023":
        parameterID = "H008HB2011";
        break;

      /* 通常型指名競争入札方式 */
      case "2002027":
        parameterID = "H050HB4010";
        break;

      /* 公募型競争入札方式 */
      case "2002028":
        parameterID = "H008HB2011";
        break;

      /* 簡易公募型競争入札方式 */
      case "2002029":
        parameterID = "H008HB2011";
        break;

      /* 公募型プロポーザル方式 */
      case "3002055":
        parameterID = "H055HB6011";
        break;

      /* 簡易公募型プロポーザル方式 */
      case "3002056":
        parameterID = "H055HB6011";
        break;

      /* 標準プロポーザル方式 */
      case "3002057":
        parameterID = "H054HB5010";
        break;

      /* 工事希望型指名競争入札 */
      case "2002026":
        parameterID = "H054HB7010";
        break;

      /* 随意契約 */
      case "3002051":
        parameterID = "H050HB8010";
        break;

      default:
        break;
    }

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(nyusatsuHoshikiNo);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータIDを送信フォームにセットする */
    setNextID(parameterID);

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


//-----------------------------------------------------------
/**
 * 入札案件一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkTenderList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H012HAC010)を送信フォームにセットする */
    setNextID("H012HAC010");

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


//-----------------------------------------------------------
/**
 * 入札/見積受付状況一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkTenderReceiptList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(document.commonData.tenderMethodNumber.value);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H013HAC020)を送信フォームにセットする */
    setNextID("H013HAC020");

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


//-----------------------------------------------------------
/**
 * 内訳書一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkItemList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(document.commonData.tenderMethodNumber.value);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H017HAC080)を送信フォームにセットする */
    setNextID("H017HAC080");

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


//-----------------------------------------------------------
/**
 * 入札/見積状況登録画面表示処理
 *
 */
//-----------------------------------------------------------
function linkStatusRegist() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(document.commonData.tenderMethodNumber.value);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H019HAC100)を送信フォームにセットする */
    setNextID("H019HAC100");

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


//-----------------------------------------------------------
/**
 * 入札/見積結果登録画面表示処理
 *
 */
//-----------------------------------------------------------
function linkResultRegist() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(document.commonData.tenderMethodNumber.value);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H022HAC170)を送信フォームにセットする */
    setNextID("H022HAC170");

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


//-----------------------------------------------------------
/**
 * 入札書（見積書）一覧表示処理
 *
 */
//-----------------------------------------------------------
function linkBidPrintList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(document.commonData.projectNumber.value);

    /* 入札方式番号を送信フォームにセットする */
    setBidKind(document.commonData.tenderMethodNumber.value);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H078HAC280)を送信フォームにセットする */
    setNextID("H078HAC280");

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


//-----------------------------------------------------------
/**
 * 案件進捗一覧画面表示処理(発注者）
 *
 */
//-----------------------------------------------------------
function linkProgressList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H030HBC050)を送信フォームにセットする */
    setNextID("H030HBC050");

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


//-----------------------------------------------------------
/**
 * 担当確認画面表示処理
 *
 */
//-----------------------------------------------------------
function linkChargeConfirmation() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H029HBC060)を送信フォームにセットする */
    setNextID("H029HBC060");

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


//-----------------------------------------------------------
/**
 * CCMS連携メインメニュー画面表示処理
 *
 */
//-----------------------------------------------------------
function linkCcmsProjectSearch() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(C001HBC021)を送信フォームにセットする */
    setNextID("C001HBC021");

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


//-----------------------------------------------------------
/**
 * CCMS連携調達案件一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function linkCcmsProjectList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(C002HBC031)を送信フォームにセットする */
    setNextID("C002HBC031");

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


//-----------------------------------------------------------
/**
 * 業者一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function openCompanyList() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H031HBC070)を送信フォームにセットする */
    setNextID("H031HBC070");

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


//-----------------------------------------------------------
/**
 * 紙入札業者一覧画面表示処理
 *
 */
//-----------------------------------------------------------
function openPaperCompanyList() {
  var resultFlag;            //セット結果
  var projectNumber;

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    if (document.formRegist.projectNumber != null) {
      if(document.formRegist.projectNumber.length != 0) {
        /* 調達案件番号を空にする */
        projectNumber="";
        setProjectNo(projectNumber);
      }
    }

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H032HBC080)を送信フォームにセットする */
    setNextID("H032HBC080");

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


//-----------------------------------------------------------
/**
 * 案件概要画面表示処理 
 *
 */
//-----------------------------------------------------------
function openProjectDetail(projectNumber) {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);

  if (resultFlag == true) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(projectNumber);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H074JBC040)を送信フォームにセットする */
    setNextID("H074HBC043");

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


//-----------------------------------------------------------
/**
 * 案件概要画面表示処理  for J002, J007 ,H03
 *
 */
//-----------------------------------------------------------
function openProjectDetailInList(projectNumber) {
    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(projectNumber);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H074JBC040)を送信フォームにセットする */
//    if(document.commonData.screenID.value == "HBC050"){
    var screanID = document.commonData.screenID.value;

    if(screanID.charAt(0) == "H"){
      setNextID("H074HBC043");
    }else{     /* 受注者クライアント */
      setNextID("J029JBC040");
    }

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


//-----------------------------------------------------------
/**
 * 企業詳細情報画面表示処理
 *
 */
//-----------------------------------------------------------
function openCompanyDetail(projectNumber, companyNumber) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(projectNumber);

    /* 業者番号を送信フォームにセットする */
    setCompanyNo(companyNumber);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H075JBC040)を送信フォームにセットする */
    setNextID("H075HBC200");

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


//-----------------------------------------------------------
/**
 * 企業プロパティ変更画面表示処理 
 *
 */
//-----------------------------------------------------------
function linkCompanyProperty(projectNumber) {

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(projectNumber);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(J019JAC120)を送信フォームにセットする */
    setNextID("J019JAC120");

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

}


//-----------------------------------------------------------
/**
 * 画面終了処理
 *
 */
//-----------------------------------------------------------
function onClose() {

  //Windowを閉じる
  window.close();
}


//-----------------------------------------------------------
/**
 * 帳票画面印刷処理
 *
 */
//-----------------------------------------------------------
function printScreen() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

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


//-----------------------------------------------------------
/**
 * 帳票画面印刷処理
 *
 */
//-----------------------------------------------------------
function printScreenStringReplace() {
  var resultFlag;            //セット結果


  if(document.commonData.screenID.value == "JAC021" ||  //入札書提出内容確認
     document.commonData.screenID.value == "JAC041" ||  //見積書提出内容確認
     document.commonData.screenID.value == "JAC031")  //再入札書提出内容確認
  {
    //入札金額設定
    document.common.values.value = document.formPrice.bidPriceComma.value;
  }

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {
    /* showPrintableWindow()を呼び出す */
    showPrintableWindowStringReplace();
  } else {
    return;
  }
}


//-----------------------------------------------------------
/**
 * 保存処理
 *
 */
//-----------------------------------------------------------
function saveSignedXML() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formDownload);

  if (resultFlag == true) {

    /* 'DownloadAction'に"loopback"をセットする */
    commandFormObj.DownloadAction.value = "loopback";

    /* setNextID()を用い、パラメータID(FWDOWN002)を送信フォームにセットする */
    setNextID("FWDOWN002");

    /* requestWithoutDialog()を呼び出す */
    //通信中ダイアログを表示しない
    requestWithoutDialog();

  } else {
    return;
  }
}


//-----------------------------------------------------------
/**
 * 署名検証処理
 *
 */
//-----------------------------------------------------------
function verifySignedXML() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {
    verifyButton = true;
    
    /* requestVerifySign()を呼び出す */
    requestVerifySign();
  } else {
    return;
  }
}


//-----------------------------------------------------------
/**
 * 署名検証処理（複数署名時）
 *
 */
//-----------------------------------------------------------
function verifyMultiSignedXML() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {
    verifyButton = true;
    
    /* requestVerifyMultiSign()を呼び出す */
    requestVerifyMultiSign();
  } else {
    return;
  }
}


//-----------------------------------------------------------
/**
 * コマンド対象用formオブジェクトセット処理
 *
 */
//-----------------------------------------------------------
function setCommandFormObj(formObject) {
  var resultFlag;            //セット結果
  if (commandFormObj == null) {

    /* グローバル変数に引数をセット */
    commandFormObj = formObject;
    resultFlag = true;
  } else {
    resultFlag = false;
  }
  return resultFlag;
}


//-----------------------------------------------------------
/**
 * コマンド対象用Formオブジェクトリセット処理
 *
 */
//-----------------------------------------------------------
function resetCommandFormObj() {
  if (commandFormObj != null) {

    /* グローバル変数として定義した、にnullをセットする */
    commandFormObj = null;
  }
}


//-----------------------------------------------------------
/**
 * 調達案件番号セット処理
 *
 */
//-----------------------------------------------------------
function setProjectNo(projectNumber) {
  commandFormObj.projectNumber.value = projectNumber;
}


//-----------------------------------------------------------
/**
 * 設計書番号セット処理
 *
 */
//-----------------------------------------------------------
function setSpecNo(specNumber) {
  commandFormObj.specNumber.value = specNumber;
}


//-----------------------------------------------------------
/**
 * 前回の調達案件番号セット処理
 * （アプレットにて呼び出される）
 */
//-----------------------------------------------------------
function setPreProjectNo(projectNumber) {
  document.commonData.pre_projectNumber.value = projectNumber;
}


//-----------------------------------------------------------
/**
 * 入札方式番号セット処理
 *
 */
//-----------------------------------------------------------
function setBidKind(tenderMethodNumber) {
  commandFormObj.tenderMethodNumber.value = tenderMethodNumber;
}


//-----------------------------------------------------------
/**
 * 入札執行回数セット処理
 *
 */
//-----------------------------------------------------------
function setTenderCount(tenderExecuteCount) {
  commandFormObj.tenderExecuteCount.value = tenderExecuteCount;

}


//-----------------------------------------------------------
/**
 * 見積執行回数セット処理
 *
 */
//-----------------------------------------------------------
function setEstimateCount(estimateExecuteCount) {
  commandFormObj.estimateExecuteCount.value = estimateExecuteCount;
}


//-----------------------------------------------------------
/**
 * 現画面IDセット処理
 *
 */
//-----------------------------------------------------------
function setThisID(screenID) {
  commandFormObj.screenID.value = screenID;
}


//-----------------------------------------------------------
/**
 * 内訳書有無フラグセット処理(2002/06/08)
 *
 */
//-----------------------------------------------------------
function setItemizedStatementFlag(itemizedStatementFlag) {
  commandFormObj.itemizedStatementFlag.value = itemizedStatementFlag;
}


//-----------------------------------------------------------
/**
 * 次パラメータIDセット処理
 *
 */
//-----------------------------------------------------------
function setNextID(omeParameterID) {
  commandFormObj.omeParameterID.value = omeParameterID;
}


//-----------------------------------------------------------
/**
 * 表示開始インデックスセット処理
 *
 */
//-----------------------------------------------------------
function setNextStartIndex(nextListStartIndex) {
  commandFormObj.nextListStartIndex.value = nextListStartIndex;
}


//-----------------------------------------------------------
/**
 * 業者番号セット処理
 *
 */
//-----------------------------------------------------------
function setCompanyNo(companyNumber) {
  commandFormObj.companyNumber.value = companyNumber;
}


//-----------------------------------------------------------
/**
 * 様式番号セット処理
 *
 */
//-----------------------------------------------------------
function setStyleNo(styleNo) {
  commandFormObj.styleNumber.value = styleNo;
}


//-----------------------------------------------------------
/**
 * 様式番号セット処理（入札準備）
 *
 */
//-----------------------------------------------------------
function setPreStyleNo(pre_styleNo) {
  commandFormObj.pre_styleNumber.value = pre_styleNo;
}


//-----------------------------------------------------------
/**
 * 様式番号セット処理（入札以降）
 *
 */
//-----------------------------------------------------------
function setBidStyleNo(bid_styleNo) {
  commandFormObj.bid_styleNumber.value = bid_styleNo;
}


//-----------------------------------------------------------
/**
 * 資格情報セット処理
 *
 */
//-----------------------------------------------------------
function setQualificationFlag(qualificationFlag) {
  commandFormObj.qualificationFlag.value = qualificationFlag;
}


//-----------------------------------------------------------
/**
 * 一括作成資格情報セット処理
 *
 */
//-----------------------------------------------------------
function setLumpQualificationFlag(lump_qualificationFlag) {
  commandFormObj.lump_qualificationFlag.value = lump_qualificationFlag;
}


//-----------------------------------------------------------
/**
 * VE提案可否情報セット処理
 *
 */
//-----------------------------------------------------------
function setVeFlag(veFlag) {
  commandFormObj.veFlag.value = veFlag;
}


//-----------------------------------------------------------
/**
 * 一括作成VE提案可否情報セット処理
 *
 */
//-----------------------------------------------------------
function setLumpVeFlag(lump_veFlag) {
  commandFormObj.lump_veFlag.value = lump_veFlag;
}

//-----------------------------------------------------------
/**
 * VE提案書提出情報セット処理
 *
 */
//-----------------------------------------------------------
function setVePresentFlag(vePresentFlag) {
  commandFormObj.vePresentFlag.value = vePresentFlag;
}

//-----------------------------------------------------------
/**
 * 一括作成VE提案書提出情報セット処理
 *
 */
//-----------------------------------------------------------
function setLumpVePresentFlag(lump_vePresentFlag) {
  commandFormObj.lump_vePresentFlag.value = lump_vePresentFlag;
}


//-----------------------------------------------------------
/**
 * checkboxの全ての項目選択処理
 *
 */
//-----------------------------------------------------------
function allCheck(formObjectCheck) {
  var i;
  var boolAllCheck = true;

  /* 全て選択状態チェック*/
  for (i = 0; i < formObjectCheck.length; i++) {
    if (formObjectCheck[i].checked == true ) {
    } else {
      boolAllCheck = false;
      break;
    }
  }

  /* boolAllCheckチェック*/
  if ( boolAllCheck == true ) {

    /* checkboxの全選択解除処理 */
    for (i = 0; i < formObjectCheck.length; i++) {
      formObjectCheck[i].checked = false;
    }
  } else {

    /* checkboxの全項目選択処理 */
    for (i = 0; i < formObjectCheck.length; i++) {
      formObjectCheck[i].checked = true;
    }
  }
}

//-----------------------------------------------------------
/**
 * 辞退フラグセット処理
 *
 */
//-----------------------------------------------------------
function setDeclineFlag(decline) {

  /* formオブジェクトcommandFormObj'のhidden項目に辞退フラグをセットする */
  commandFormObj.declineFlag.value = decline;
}

//-----------------------------------------------------------
/**
 * 入札辞退フラグセット処理
 *
 */
//-----------------------------------------------------------
function setNyusatsumukouFlag(nyusatsumukou) {

  /* formオブジェクトcommandFormObj'のhidden項目に辞退フラグをセットする */
  commandFormObj.nyusatsumukouFlag.value = nyusatsumukou;
}

//-----------------------------------------------------------
/**
 * SELECTコンポーネントの全ての項目選択処理
 *
 */
//-----------------------------------------------------------
function allSelect(formObjectSelect) {
  var i;
  var boolAllSelect = true;

  /* 全て選択状態チェック*/
  for (i = 0; i < formObjectSelect.length; i++) {
    if (formObjectSelect[i].selected == true ) {
    } else {
      boolAllSelect = false;
      break;
    }
  }

  /* boolAllSelectチェック*/
  if ( boolAllSelect == true ) {

    /* SELECTコンポーネントの全選択解除処理 */
    for (i = 0; i < formObjectSelect.length; i++) {
      formObjectSelect[i].selected = false;
    }
  } else {

    /* SELECTコンポーネントの全項目選択処理 */
    for (i = 0; i < formObjectSelect.length; i++) {
      formObjectSelect[i].selected = true;
    }
  }
}

//-----------------------------------------------------------
//  m_obj設定
//  ※m_obj設定時は必ず呼び出す
//-----------------------------------------------------------
function setObject(obj) {
  //if(m_obj != null) {
  //  return false;
  //}
  m_obj = obj;

  return true;
}
//-----------------------------------------------------------
//  m_objリセット
//  ※m_obj設定後は必ず呼び出す
//-----------------------------------------------------------
function resetObject() {
  m_obj = null;
}

//-----------------------------------------------------------
/**
 * コマンド対象フォームの送信処理
 *
 */
//-----------------------------------------------------------
function submitCall() {

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

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

  /* commandFormObj'のsubmit()を呼び出す */
  commandFormObj.submit();

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


//----------------------------------------
/**
 * 通信中ダイアログを表示させない場合の
 * submitCall関数
 */
//----------------------------------------
function submitCallWithoutDialog() {

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

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

  /* commandFormObj'のsubmit()を呼び出す */
  commandFormObj.submit();

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

//----------------------------------------
/**
 * ファイルのサイズチェックが有の場合の
 * submitCall関数
 */
//----------------------------------------
var fileCheckFlg = -1;
var veFileCheckFlg = -1;
function submitCallFileResult() {

  if ( fileCheckFlg != -1 ||
       ((document.formRegist.veProjectFlag != null && document.formRegist.veProjectFlag.value == 1) &&
        (commandFormObj.fileName == null || commandFormObj.fileName.value == ""))) {
    /* ファイルチェックフラグにエラー値(-1)が設定されていない場合送信処理を行う  */

    var executeFlag = true;

    if(document.formRegist.veProjectFlag != null && document.formRegist.veProjectFlag.value == 1) {
      /* VE案件で、VEファイルが添付されており、VEファイルチェックフラグにエラー値(-1)が設定されている場合処理終了  */
      if(commandFormObj.veFileName != null && commandFormObj.veFileName.value != "") {
        if(veFileCheckFlg == -1) {
          executeFlag = false;
        }
      }
    }
    if(executeFlag == true) {
      /*
       * 署名済み乱数取得関数'getSignedRandomKey'(common.js内のfunction)
       * を呼び出し、取得した署名済み乱数を送信対象フォームのｌ該当HIDDEN項目に、
       * 設定する。
       */
      commandFormObj.RandomRequestKey.value = getSignedRandomKey();

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

      /* commandFormObj'のsubmit()を呼び出す */
      commandFormObj.submit();
    }
  }

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


//-----------------------------------------------------------
/**
 * XML作成チェック有の送信処理
 *
 */
//-----------------------------------------------------------
function submitCallXmlResult() {

  /* XMLチェックフラグに異常値(-1)が設定されている場合送信処理を行わない  */
  if ( xmlCheckFlg == -1 ) {
    resetCommandFormObj();
    return;
  }

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

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

  /* commandFormObj'のsubmit()を呼び出す */
  commandFormObj.submit();

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


//-----------------------------------------------------------
/**
 * 新規Window送信フォームの送信処理
 *
 */
//-----------------------------------------------------------
function submitCallPopUp() {
  /* 新規Windowの変数 */
  var newWindow = makeNewWindow();

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

  /* 新規に作成したWindowの送信functionを呼び出す */
  newWindow.submitCall();

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


//-----------------------------------------------------------
/**
 * 署名検証結果設定処理
 *
 */
//-----------------------------------------------------------
function setVerifyResult(result) {
  if ( verifyButton==true && result=="true" ) {
    alert("署名検証に成功しました");
  }
  verifyButton = false;
}


//-----------------------------------------------------------
/**
 * 新規Window作成処理
 *
 */
//-----------------------------------------------------------
function makeNewWindow() {

  var VIEWWIDTH = 10;
  var VIEWHEIGHT = 100;
  var viewx = (screen.width  - VIEWWIDTH) ;
  var viewy = (screen.height - VIEWHEIGHT) ;

  var szLocation = contextPath + "/ebidmlit/html/blank.html";
// ***** DEL 2007.04.10 START *****
//  var newWindow = window.open(szLocation,"","status=no,menubar=no,toolbar=no,scrollbars=yes,width=" + viewx + ",height=" + viewy + "screenX=0,screenY=0,top=0,left=0");  //新規Windowの変数
// ***** DEL 2007.04.10 END *****
// ***** ADD 2007.04.10 START *****
  var newWindow = window.open(szLocation,"","status=yes,menubar=no,toolbar=no,scrollbars=yes,width=" + viewx + ",height=" + viewy + ",screenX=0,screenY=0,top=0,left=0");  //新規Windowの変数
// ***** ADD 2007.04.10 END *****
  var htmlContent = "";

  newWindow.document.open();

  htmlContent = "<HTML>\n"
    + "<HEAD>\n"
    + "<SCRIPT LANGUAGE=\'JavaScript\'>\n"
    + "  function submitCall() {\n"
    + "    document.formRegist.submit();\n"
    + "  }\n"
    + "</SCRIPT>\n"
    + "</HEAD>\n"
    + "<BODY>\n"
    + "<FORM action=\"" + defaultAction + "\" method=\"post\" name=\"formRegist\">\n"
    + "  <INPUT type=\"HIDDEN\" name=\"RandomRequestKey\" \n"
    + "       value=\"" + getSignedRandomKey() + "\">\n"
    + "  <INPUT type=\"HIDDEN\" name=\"omeBeforeRequestName\" \n"
    + "       value=\"" + document.formRegist.omeBeforeRequestName.value + "\">\n"
    + "  <INPUT type=\"HIDDEN\" name=\"omeParameterID\" \n"
    + "       value=\"" + document.formRegist.omeParameterID.value + "\">\n"
    + "  <INPUT type=\"HIDDEN\" name=\"clientKind\" \n"
    + "       value=\"" + document.formRegist.clientKind.value + "\">\n"
    + "  <INPUT type=\"HIDDEN\" name=\"screenID\" \n"
    + "       value=\"" + document.formRegist.screenID.value + "\">\n"

  if (document.formRegist.projectNumber != null) {
    htmlContent += "  <INPUT type=\"HIDDEN\" name=\"projectNumber\" \n"
                +  "       value=\"" + document.formRegist.projectNumber.value
                +  "\">\n";
  }

  if (document.formRegist.companyNumber != null) {
    htmlContent += "  <INPUT type=\"HIDDEN\" name=\"companyNumber\" \n"
                +  "       value=\"" + document.formRegist.companyNumber.value
                +  "\">\n";
  }
  htmlContent += "</FORM>\n"
              +  "</BODY>\n"
              +  "</HTML>\n";

  newWindow.document.write(htmlContent);
  newWindow.document.close();

  return newWindow;
}


//-----------------------------------------------------------
/**
 * 日付文字、時間文字の、２つの文字列の加工処理
 *
 */
//-----------------------------------------------------------
function convertTimeAndDate(date, time) {
  if ((date == null) || (date.length == 0)) {
     if((time != null) && (time.length != 0)){
       return time;
     }else{
      return "";
     }
  } else if ((time == null) || (time.length == 0)) {
      //2002/06/10 (time==null)||(time.length==0)の場合は、日付のみを返す様に修正
      //time = "00:00";
      return date;
  }

  return (date + " " + time);
}

//--------------------------------------------------------------------
/**
 *      サブウインドウを開く
 *      makeSubWindow(URL,winName,x,y,w,h)
 *      makeSubWindow(winIndex,'test.htm','win0',100,200,150,300)
 */
//--------------------------------------------------------------------
var calWindow;
var timeWindow;
function makeSubWindow(URL,winName,x,y,w,h) {

  var parameter =""
           +" left="        +x
           +",screenX="    +x
           +",top="        +y
           +",screenY="    +y
           +",toolbar="    +0
           +",location="     +0
           +",directories=" +0
// ***** DEL 2007.04.10 START *****
//           +",status="      +0
// ***** DEL 2007.04.10 END *****
// ***** ADD 2007.04.10 START *****
           +",status="      +"yes"
// ***** ADD 2007.04.10 END *****
           +",menubar="    +0
           +",scrollbars="  +0
           +",resizable="  +1
           +",innerWidth="  +w
           +",innerHeight=" +h
           +",width="      +w
           +",height="      +h
  var newWindow=window.open(URL,winName,parameter);
  newWindow.focus()
  
  //カレンダーWindow／タイムWindowの場合切り分け
  if (winName == "calendar") {
    calWindow = newWindow;
  }
  else if (winName == "time") {
    timeWindow = newWindow;
  }
}


//-----------------------------------------------------------
/**
 * 調達案件登録画面表示処理
 *
 */
//-----------------------------------------------------------
function linkProjectRegist() {
  var resultFlag;            //セット結果

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formRegist);
  if (resultFlag == true) {

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(H002HBC040)を送信フォームにセットする */
    setNextID("H002HBC040");

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


//-----------------------------------------------------------
/**
 * SELECTコンポーネントにて、選択されているファイルのダウンロード処理
 *
 */
//-----------------------------------------------------------
function downloadAttach(selectObj) {
  var resultFlag;            //セット結果
  var fileArray;             //フアイル名

  /* 選択されているファイル名文字列配列を取得する */
  fileArray = getSelectedIdxs(selectObj);

  if (fileArray != null) {

    /* コマンド対象用formオブジェクトに、送信対象formをセットする */
    resultFlag = setCommandFormObj(document.formDownload);
    if (resultFlag == true) {

      /* 'DownloadAction'に"attached"をセットする */
      commandFormObj.DownloadAction.value = "attached";
      
      /*
       * setNextID()を用い、パラメータID(FWDOWN001)
       * を送信フォームにセットする
       */
      setNextID("FWDOWN001");

      if (document.commonData.xmlFileName.length != null) {
      
        /* 配列要素数分ループする */
        for (var i = 0; i < fileArray.length; i++) {
          if (i > 0) {
            setCommandFormObj(document.formDownload);
          }

          /* 'AttachedFileName'に、取得したファイル名配列の一要素をセットする */
          commandFormObj.AttachedFileName.value
                         = document.commonData.xmlFileName[fileArray[i]].value;
          
          /* requestWithoutDialog()を呼び出す */
          //通信中ダイアログを表示しない
          requestWithoutDialog();
        }
        
      }
      else {
        commandFormObj.AttachedFileName.value
                         = document.commonData.xmlFileName.value;

        /* requestWithoutDialog()を呼び出す */
        //通信中ダイアログを表示しない
        //request();
        requestWithoutDialog();
      }
      
    } else {
      return;
    }
  } else {
    alert("資料を選択してください。");
  }
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントにて、選択されているファイルのダウンロード処理
 *
 */
//-----------------------------------------------------------
function veDownloadAttach(selectObj) {
  var resultFlag;            //セット結果
  var fileArray;             //フアイル名

  /* 選択されているファイル名文字列配列を取得する */
  fileArray = getSelectedIdxs(selectObj);

  if (fileArray != null) {

    /* コマンド対象用formオブジェクトに、送信対象formをセットする */
    resultFlag = setCommandFormObj(document.formDownload);
    if (resultFlag == true) {

      /* 'DownloadAction'に"attached"をセットする */
      commandFormObj.DownloadAction.value = "attached";
      
      /*
       * setNextID()を用い、パラメータID(FWDOWN001)
       * を送信フォームにセットする
       */
      setNextID("FWDOWN001");

      if (document.commonData.xmlVeFileName.length != null) {
      
        /* 配列要素数分ループする */
        for (var i = 0; i < fileArray.length; i++) {
          if (i > 0) {
            setCommandFormObj(document.formDownload);
          }

          /* 'AttachedFileName'に、取得したファイル名配列の一要素をセットする */
          commandFormObj.AttachedFileName.value
                         = document.commonData.xmlVeFileName[fileArray[i]].value;
          
          /* requestWithoutDialog()を呼び出す */
          //通信中ダイアログを表示しない
          requestWithoutDialog();
        }
        
      }
      else {
        commandFormObj.AttachedFileName.value
                         = document.commonData.xmlVeFileName.value;

        /* requestWithoutDialog()を呼び出す */
        //通信中ダイアログを表示しない
        //request();
        requestWithoutDialog();
      }
      
    } else {
      return;
    }
  } else {
    alert("資料を選択してください。");
  }
}




//-----------------------------------------------------------
/**
 * SELECTコンポーネントにて、選択されているファイルの表示処理
 *
 */
//-----------------------------------------------------------
function displayLocalAttachFile(selectObj) {
  var resultFlag;            //セット結果
  var fileArray;             //フアイル名

  /* コマンド対象用formオブジェクトに、送信対象formをセットする */
  resultFlag = setCommandFormObj(document.formDownload);

  if (resultFlag == true) {

    /* 選択されているファイル名文字列配列を取得する */
    fileArray = getSelectedFileList(selectObj);

    /* 配列要素数分ループする */
    for (var i = 0; i <= fileArray.length - 1; i++) {

      /*
       * 取得したファイル名配列の一要素であるファイル名をJavaScript標準関数で
       * あるwindow.openを用いて表示するWindowのサイズは(800, 600）とする
       */
      window.open("file:///" + fileArray[i].value,
// ***** DEL 2007.04.10 START *****
//                  "attachWindow" + i, "width=800, height=600");
// ***** DEL 2007.04.10 END *****
// ***** ADD 2007.04.10 START *****
                  "attachWindow" + i, "status=yes, width=800, height=600");
// ***** ADD 2007.04.10 END *****
    }

    /* コマンド対象用formオブジェクトセット処理 */
    resetCommandFormObj();
  } else {
    return;
  }
}


//-----------------------------------------------------------
/**
 * '/'で区切られたファイル名を分割後、SELECTコンポーネントへの設定処理
 *
 */
//-----------------------------------------------------------
function setFileList(fileNames) {
  var index = 0;       //ストリングには"/"の位置
  var index2 = 0;      //臨時データ
  /*
   * 引数としてファイル名が渡されなかった場合、HIDDENから、
   * '/'で区切られたファイル名を取得する。
   */
  if (fileNames == null) {
    fileNames = document.commonData.fileName.value;
  }

  /*
   * コマンド対象オブジェクトの"attachList"(SELECTコンポーネント）
   * にセットされているファイルリストを一旦クリアする
   */
  commandFormObj.attachList.length = 0;

  /* '/'で区切られたファイル名(fileNames)が'null'もしくは空なら、リターン */
  if (fileNames != null && fileNames.length != 0) {
    index = fileNames.indexOf("/", index);

    /* '/'で区切られたファイル名をファイル名文字列配列に分割する */
    while(index != -1) {
      attachFilesLen = commandFormObj.attachList.length;

      /*
       * 分割したファイル名文字列配列をコマンド対象オブジェクトの"attachList"
       *(SELECTコンポーネント）に設定する
       */
      commandFormObj.attachList.length = commandFormObj.attachList.length + 1;
      commandFormObj.attachList.options[attachFilesLen].text
                     = fileNames.substring(index2, index);
      commandFormObj.attachList.options[attachFilesLen].value
                     = fileNames.substring(index2, index);
      index2 = index + 1;
      index = fileNames.indexOf("/", index2);
    }

    /*
     * 分割したファイル名文字列配列をコマンド対象オブジェクトの"attachList"
     *(SELECTコンポーネント）に設定する
     */
    attachFilesLen = commandFormObj.attachList.length;
    commandFormObj.attachList.length = commandFormObj.attachList.length + 1;
    commandFormObj.attachList.options[attachFilesLen].text
                   = fileNames.substring(index2);
    commandFormObj.attachList.options[attachFilesLen].value
                   = fileNames.substring(index2);
  }
  
  /*
   * 設定したファイル名文字列の数をグローバル変数
   * 'attachFilesLen'に設定する
   */
  attachFilesLen = commandFormObj.attachList.length;
}


//-----------------------------------------------------------
/**
 * '/'で区切られたファイル名を分割後、SELECTコンポーネントへの設定処理
 * VE提案添付ファイル用
 */
//-----------------------------------------------------------
function setVeFileList(fileNames) {
  var index = 0;       //ストリングには"/"の位置
  var index2 = 0;      //臨時データ
  /*
   * 引数としてファイル名が渡されなかった場合、HIDDENから、
   * '/'で区切られたファイル名を取得する。
   */
  if (fileNames == null) {
    fileNames = document.commonData.veFileName.value;
  }

  /*
   * コマンド対象オブジェクトの"proposalList"(SELECTコンポーネント）
   * にセットされているファイルリストを一旦クリアする
   */
  commandFormObj.proposalList.length = 0;

  /* '/'で区切られたファイル名(fileNames)が'null'もしくは空なら、リターン */
  if (fileNames != null && fileNames.length != 0) {
    index = fileNames.indexOf("/", index);

    /* '/'で区切られたファイル名をファイル名文字列配列に分割する */
    while(index != -1) {
      veProposalFilesLen = commandFormObj.proposalList.length;

      /*
       * 分割したファイル名文字列配列をコマンド対象オブジェクトの"proposalList"
       *(SELECTコンポーネント）に設定する
       */
      commandFormObj.proposalList.length = commandFormObj.proposalList.length + 1;
      commandFormObj.proposalList.options[veProposalFilesLen].text
                     = fileNames.substring(index2, index);
      commandFormObj.proposalList.options[veProposalFilesLen].value
                     = fileNames.substring(index2, index);
      index2 = index + 1;
      index = fileNames.indexOf("/", index2);
    }

    /*
     * 分割したファイル名文字列配列をコマンド対象オブジェクトの"proposalList"
     *(SELECTコンポーネント）に設定する
     */
    veProposalFilesLen = commandFormObj.proposalList.length;
    commandFormObj.proposalList.length = commandFormObj.proposalList.length + 1;
    commandFormObj.proposalList.options[veProposalFilesLen].text
                   = fileNames.substring(index2);
    commandFormObj.proposalList.options[veProposalFilesLen].value
                   = fileNames.substring(index2);
  }
  
  /*
   * 設定したファイル名文字列の数をグローバル変数
   * 'veProposalFilesLen'に設定する
   */
  veProposalFilesLen = commandFormObj.proposalList.length;
}


//-----------------------------------------------------------
/**
 * 添付ファイル名セット処理
 *
 */
//-----------------------------------------------------------
function setFileNamesHidden(fileNames) {

  /* 添付資料ファイルネームをセットする */
  commandFormObj.fileName.value = fileNames;
}


//-----------------------------------------------------------
/**
 * 添付ファイル名取得処理
 *
 */
//-----------------------------------------------------------
function getFileNames() {

  /* 対象のhidden項目から添付資料ファイルネームを取得する */
  var fileNames = document.formRegist.fileName.value;

  /* フアイル名をリターンする */
  return fileNames;
}




//-----------------------------------------------------------
/**
 * VE提案添付ファイル名セット処理
 *
 */
//-----------------------------------------------------------
function setVeFileNamesHidden(fileNames) {

  /* 添付資料ファイルネームをセットする */
  commandFormObj.veFileName.value = fileNames;
}


//-----------------------------------------------------------
/**
 * VE提案添付ファイル名取得処理
 *
 */
//-----------------------------------------------------------
function getVeFileNames() {

  /* 対象のhidden項目から添付資料ファイルネームを取得する */
  var fileNames = document.formRegist.veFileName.value;

  /* フアイル名をリターンする */
  return fileNames;
}


//-----------------------------------------------------------
/**
 * 共通アプレットによる添付資料チェック結果セット処理
 *
 */
//-----------------------------------------------------------
function setCheckFileResult(size) {

  /* 共通アプレットによる添付資料チェック結果をセットする */
  if ( size == -1 || size == "-1" ) {

    /* エラー値が返却された場合 */
    fileCheckFlg = -1
  }
  else {

    fileCheckFlg = 0

    commandFormObj.fileSize.value = size;
//    commandFormObj.fileSize.value = 5000;
  }

//alert("document.formRegist.fileSize.value=" + document.formRegist.fileSize.value);
}

//-----------------------------------------------------------
/**
 * 共通アプレットによるVE提案書チェック結果セット処理
 *
 */
//-----------------------------------------------------------
function setCheckVeFileResult(size) {

  /* 共通アプレットによる添付資料チェック結果をセットする */
  if ( size == -1 || size == "-1" ) {
    /* エラー値が返却された場合 */
    veFileCheckFlg = -1
  }
  else {
    veFileCheckFlg = 0
    commandFormObj.veFileSize.value = size;
  }
}


//-----------------------------------------------------------
/**
 * 申請書/入札書等のXML取得処理
 *
 */
//-----------------------------------------------------------
function getXmlData() {

  /* 対象のhidden項目から申請書/入札書等のXMLを取得する */
  var xml = document.commonData.xmlData.value;

  /* XMLをリターンする */
  return xml;
}


//-----------------------------------------------------------
/**
 * 申請書/入札書等のキー項目のみのXML取得処理
 *
 */
//-----------------------------------------------------------
function getXmlDataKey() {

  /* 対象のhidden項目から申請書/入札書等のキー項目のみのXMLを取得する */
  var xmlKey = document.commonData.xmlDataKey.value;

  /* XMLをリターンする */
  return xmlKey;
}


//-----------------------------------------------------------
/**
 * 入札金額用/申請書用/予定価/基準価用公開鍵の取得処理
 *
 */
//-----------------------------------------------------------
function getPublicKey() {

  /* 対象のhidden項目から公開鍵を取得する */
  var publicKey = document.commonData.publicKey.value;

  /* 公開鍵をリターンする */
  return publicKey;
}


//-----------------------------------------------------------
/**
 * 内訳書用公開鍵の取得処理
 *
 */
//-----------------------------------------------------------
function getDetailPublicKey() {

  /* 対象のhidden項目から内訳書用公開鍵を取得する */
  var detailPublicKey = document.commonData.detailPublicKey.value;

  /* 公開鍵をリターンする */
  return detailPublicKey;
}


//-----------------------------------------------------------
/**
 * 共通鍵の取得処理
 *
 */
//-----------------------------------------------------------
function getSecretKey() {

  /* 対象のhidden項目から共通鍵を取得する */
  var secretKey = document.commonData.secretKey.value;

  /* 共通鍵をリターンする */
  return secretKey;
}


//-----------------------------------------------------------
/**
 * 署名済みXMLデータの取得(入札以降通知書)
 *
 */
//-----------------------------------------------------------
function getBidSignedData() {
  //alert('署名済み文書を取得します');
  return document.formRegist.bid_xmlData.value;
}


//-----------------------------------------------------------
/**
 * 共通アプレットによる申請書、入札書等XML暗号／署名結果セット処理
 *
 */
//-----------------------------------------------------------
//XMLチェックフラグ 正常時:0 異常時:-1を設定する
var xmlCheckFlg = -1;
function setResultXml(resultXml) {

  /* 共通アプレットによるチェック結果からチェックフラグをセットする */
  if ( resultXml == -1 || resultXml == "-1" ) {
    xmlCheckFlg = -1;
  }
  else {
    xmlCheckFlg = 0;
  }

// ***** DEL 2005.02.21 START *****
//  /* XML暗号／署名結果をセットする */
//  if (commandFormObj.xmlData) {
//    commandFormObj.xmlData.value = resultXml;
//  } else {
//    commandFormObj.pre_xmlData.value = resultXml;
//  }
// ***** DEL 2005.02.21 END   *****
// ***** ADD 2005.02.21 START *****
  /* XML暗号／署名結果をセットする */
  if (commandFormObj != null) {
    if (commandFormObj.xmlData != null) {
      commandFormObj.xmlData.value = resultXml;
    } else if (commandFormObj.pre_xmlData != null) {
      commandFormObj.pre_xmlData.value = resultXml;
    }
  }
// ***** ADD 2005.02.21 END   *****

}


//-----------------------------------------------------------
/**
 * 共通アプレットによる予定価格／調査基準価格の暗号／署名結果設定処理
 *
 */
//-----------------------------------------------------------
function setResultPlanAndStandard(resultXml) {

  /* 予定価格／調査基準価格の暗号／署名結果をセットする */
  commandFormObj.encryptedPlannedPrice.value = resultXml;
}


//-----------------------------------------------------------
/**
 * 暗号済み予定価格/調査基準価格取得処理
 *
 */
//-----------------------------------------------------------
function getEncryptedPlannedPrice() {

  /* 対象のhidden項目から予定価格/調査基準価格のXMLを取得する */
  var xml = document.commonData.encryptedPlannedPrice.value;

  /* XMLをリターンする */
  return xml;
}


//-----------------------------------------------------------
/**
 * 署名者氏名セット処理
 *
 */
//-----------------------------------------------------------
function setSignerName(name) {

  /* 共通アプレットによる署名者氏名取得結果をセットする */
  commandFormObj.dutyOfficerName.value = name;
}



//-----------------------------------------------------------
/**
 * 共通アプレットによる署名付担当者氏名データセット処理
 *
 */
//-----------------------------------------------------------
function setNameSignedData(signedData) {

  /* XMLデータをセットする */
  commandFormObj.nameSignedData.value = signedData;
}


//-----------------------------------------------------------
/**
 * 入札金額セット処理
 *
 */
//-----------------------------------------------------------
function setBidPrice(name) {

  /* コマンド対象formオブジェクトに入札／見積金額をセットする */
  commandFormObj.bidPrice.value = name;
}


//-----------------------------------------------------------
/**
 * 様式番号セット処理
 *
 */
//-----------------------------------------------------------
function setStyleNo(styleNo) {

  /* formオブジェクトcommandFormObj'のhidden項目に様式番号をセットする */
  commandFormObj.styleNumber.value = styleNo;
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントへ、ファイル名追加処理
 *
 */
//-----------------------------------------------------------
function addAttachFile(selectObj, fileObj) {
  var addFile = fileObj.value;       //ファイル選択オブジェクト値
  if (addFile == null || addFile.length == 0) {
    return;
  }
  
  /* 引数で渡されたファイル選択オブジェクトのvalueを追加する。 */
  //selectObj.length = attachFilesLen + 1;
  //selectObj.options.add( new Option(addFile, addFile) );
  var opt=selectObj.length;
  selectObj.options[opt] = new Option(addFile, addFile);
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントから、ファイル名削除処理
 *
 */
//-----------------------------------------------------------
function removeAttachFile(attachSelectObj) {
  var attFileArray = new Array(attachSelectObj.options.length);
  
  //削除ボタン押下時に選択されていない、valueのみ取得
  var selectCount = 0;
  for (i=0; i<attachSelectObj.options.length; i++) {
    if ( attachSelectObj.options[i].selected==false 
        && attachSelectObj.options[i].value.length>0 ) {
      attFileArray[i] = attachSelectObj.options[i].value;
    }
    else {
      attFileArray[i] = null;
    }
  }
  
  attachSelectObj.options.length = 0;
  var opt = 0;
  for (i=0; i<attFileArray.length; i++) {
    if ( attFileArray[i]!=null) {
      attachSelectObj.options[opt] = new Option(attFileArray[i], attFileArray[i]);
      opt++;
    }
  }
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントから、選択ファイル名配列取得処理
 *
 */
//-----------------------------------------------------------
function getSelectedFileList(selectObj) {

  /* 文字列型配列 */
  var fileArray = new Array();
  var j = 0;

  /*
   * 引数で渡されたSELECTコンポーネントにセットされている全ファイル名を取得し、
   * 文字列配列に格納し
   */
  for (var i = 0; i < selectObj.length; i++) {

    /*
     * nullのデータや、レングス0の文字のデータについては、
     * 文字列型配列には、格納しない
     */
    if (selectObj.options[i] == null ||
        selectObj.options[i].value.length == 0 ||
        selectObj.options[i].selected == false) {

    } else {
      fileArray[j] = selectObj.options[i];
      j = j + 1;
    }
  }

  return fileArray;
}


//-----------------------------------------------------------
/**
 * textコンポーネントへファイル名設定処理
 *
 */
//-----------------------------------------------------------
function setFileName(fileName) {

  /*
   * 引数にて渡されたファイル名文字列をコマンド対象オブジェクトの
   * "attachFile"に設定する
   */
  commandFormObj.attachFile.value = fileName;
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントの全ファイル名(','区切り）取得処理
 *
 */
//-----------------------------------------------------------
function getAttachFileNames(attachSelectObj) {

  var attachFileNames = "";
  var attach_len = parseInt(attachSelectObj.length);
  for (i=0; i<attach_len; i++) {
    if (i == 0) {
      attachFileNames += attachSelectObj.options[i].value;
    }
    else {
      attachFileNames += "/" + attachSelectObj.options[i].value;
    }
  }
  return getConvertYenMark(attachFileNames);
}


//-----------------------------------------------------------
/**
 * '\' → '\'+'\'への取得処理
 *
 */
//-----------------------------------------------------------
function getConvertYenMark(argStr) {

  var convStr = "";
  for (i=0; i<argStr.length; i++) {
    if (argStr.charAt(i) == '\\') {
      convStr += '\\' + '\\';
    }
    else {
      convStr += argStr.charAt(i);
    }
  }
  return convStr;
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネントの選択インデックス取得処理
 *
 */
//-----------------------------------------------------------
function getSelectedIdx(selectObj) {
  var selectedIdx = -1;

  /* 複数選択状態の場合、選択されている最初のインデックスを返却する */
  for (var i = 0; i < selectObj.length; i++) {
    if (selectObj.options[i].selected == true) {
      selectedIdx = i;
      return selectedIdx;
    }
  }

  /* 選択されているインデックスを返却する。 */
  return selectedIdx;
}


//-----------------------------------------------------------
/**
 * SELECTコンポーネント(複数選択可能SELECTコンポーネント）
 * の選択インデックス取得処理
 */
//-----------------------------------------------------------
function getSelectedIdxs(selectObj) {
  var arraySelectedIdxs = new Array();  //無選択状態時には、nullをリターンする
  var j = 0;

  /* 選択されているインデックスの配列を作成する。 */
  for (var i = 0; i < selectObj.length; i++) {
    if (selectObj.options[i].selected == true) {
      arraySelectedIdxs[j] = i;
      j++;
    }
  }
  if (j==0) return null;

  /* 選択インデックスの配列をリターンする */
  return arraySelectedIdxs;
}


//-----------------------------------------------------------
/**
 * 新規作成Windowにて、指定URL表示処理
 *
 */
//-----------------------------------------------------------
function makePopUpUrl(strURL) {

  /* 引数にて渡されたリンク先URLをJavaScript標準関数である
   * window.openを用いて表示する
   */
  window.open(strURL, "newWindow", 
              "toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600");
}


//-----------------------------------------------------------
/**
 * イベントコンポーネントの初期化処理
 *
 */
//-----------------------------------------------------------
function onEventInit(textA1,textA2,textA3,textB1,textB2,textB3) {

  /* textA1をpriceTextA1に、textA2をpriceTextA2に、textA3をpriceTextA3にそれぞれセットする */
  priceTextA1 = textA1;
  priceTextA2 = textA2;
  priceTextA3 = textA3;

  /*
   * priceTextA1のonkeypress時にkPressA関数を。
   * onkeyup時kUpA関数を。onChange時にkUpA関数を呼出す様にセットする
   */
  priceTextA1.onkeypress = kPressA;
  priceTextA1.onkeyup = kUpA;
  priceTextA1.onChange = kUpA;

  /* textB1をpriceTextB1に、textB2をpriceTextB2に、textB3をpriceTextB3にそれぞれセットする */
  if (textB1!=null && textB2!=null && textB3!=null) {
    priceTextB1 = textB1;
    priceTextB2 = textB2;
    priceTextB3 = textB3;

    /*
     * priceTextB1のonkeypress時にkPressB関数を,
     * onkeyup時kUpB関数を,onChange時にkUpB関数を呼出す様にセットする。
     */
    priceTextB1.onkeypress = kPressB;
    priceTextB1.onkeyup = kUpB;
    priceTextB1.onChange = kUpB;
  }
}


//-----------------------------------------------------------
/**
 * キーコード取得処理
 *
 */
//-----------------------------------------------------------
function getKEYCODE(e) {

  /* 押されたキ−コ−ドを返す */
  /* NNの場合 */
  if (NN) {
    return e.which;
  }

  /* IEの場合 */
  if (IE) {
    return event.keyCode;
  }
}


//-----------------------------------------------------------
/**
 * グローバル変数priceTextA1上でのキー押下時処理
 *
 */
//-----------------------------------------------------------
function kPressA(e) {

  var dx;             //キーコード

  /*
   * イベント(e)を引数にgetKEYCODE関数を呼出し、
   * どのキーが押下されたかを取得する。
   */
  dx = getKEYCODE(e);

  /* 入力された文字が数字 */
  if ((dx >= 48) && (dx <= 57)) {

    /*
     * priceTextA2, priceTextA1.valueの2つの引数を用いて
     * setUnitTextを呼出しtrueをリターンする
     */
    setUnitText(priceTextA2, priceTextA1.value);
    /*
     * priceTextA3, priceTextA1.valueの2つの引数を用いて
     * setUnitTextを呼出しtrueをリターンする
     */
    setUnitText(priceTextA3, priceTextA1.value);
    return true;
  }

  /* 入力された文字が"backSpace" (NNの場合のみのコード) */
  else if (dx == 8) {
    return true;
  }

  /* それ以外は何もせずfalseをリターンする */
  return false;
}


//-----------------------------------------------------------
/**
 * グローバル変数priceTextA1上でのキー離時処理
 *
 */
//-----------------------------------------------------------
function kUpA(e) {

  /*
   * priceTextA2, priceTextA1.valueの2つの引数を用いて
   * setUnitTextを呼出しtrueをリターンする
   */
  setUnitText(priceTextA2, priceTextA1.value);
  /*
   * priceTextA3, priceTextA1.valueの2つの引数を用いて
   * setUnitTextを呼出しtrueをリターンする
   */
  setUnitText(priceTextA3, priceTextA1.value);
  return true;
}


//-----------------------------------------------------------
/**
 * グローバル変数priceTextB1上でのキー押下時処理
 *
 */
//-----------------------------------------------------------
function kPressB(e) {

  var dx;             //キーコード

  /*
   * イベント(e)を引数にgetKEYCODE関数を呼出し、
   * どのキーが押下されたかを取得する。
   */
  dx = getKEYCODE(e);

  /* 入力された文字が数字 */
  if ((dx >= 48) && (dx <= 57)) {

    /*
     * priceTextA2,priceTextA1.valueの2つの引数を用いて
     * setUnitTextを呼出しtrueをリターンする
     */
    setUnitText(priceTextB2, priceTextB1.value);
    /*
     * priceTextA3,priceTextA1.valueの2つの引数を用いて
     * setUnitTextを呼出しtrueをリターンする
     */
    setUnitText(priceTextB3, priceTextB1.value);

    return true;
  }

  /* 入力された文字が"backSpace" (NNの場合のみのコード) */
  else if (dx == 8) {
    return true;
  }

  /* それ以外は何もせずfalseをリターンする */
  return false;
}


//-----------------------------------------------------------
/**
 * グローバル変数priceTextB1上でのキー離時処理
 *
 */
//-----------------------------------------------------------
function kUpB(e) {


  /*
   * priceTextB2,priceTextB1.valueの2つの引数を用いて
   * setUnitTextを呼出しtrueをリターンする
   */
  setUnitText(priceTextB2, priceTextB1.value);
  /*
   * priceTextB3,priceTextB1.valueの2つの引数を用いて
   * setUnitTextを呼出しtrueをリターンする
   */
  setUnitText(priceTextB3, priceTextB1.value);

  return true;
}


//-----------------------------------------------------------
/**
 * 文字列セット処理
 *
 */
//-----------------------------------------------------------
function setPlaneText(text, str) {


  /*
   * 引数で渡された金額文字列(str)を引数で渡された金額テキスト
   * (text)のvalueにセットします
   */
  text.value = str;
}


//-----------------------------------------------------------
/**
 * 単位挿入文字列セット処理
 *
 */
//-----------------------------------------------------------
function setUnitText(text, str) {

  var f='';
  text.name.indexOf('Comma')>0?f='Comma':f='Jp';

  /* 引数で渡された金額文字列(str)に単位(万,憶,兆)を挿入 */
  var kanjiStr = addUnit(str,f);

  /* 引数で渡された金額テキスト(text)のvalueにセットします */
  text.value = kanjiStr;
}


//-----------------------------------------------------------
/**
 * 文字列及び単位挿入文字列セット処理
 *
 */
//-----------------------------------------------------------
function setPriceTexts(text1, text2, str) {

  /* 金額テキスト(text1),金額文字列(str)を引数としてsetPlaneText関数を呼出す */
  setPlaneText(text1, str);

  /*
   * 金額単位挿入テキスト(text2),金額文字列(str)を引数として
   * setUnitText関数を呼出す
   */
  setUnitText(text2, str);
}


//-----------------------------------------------------------
/**
 * 単位挿入文字列作成処理
 *
 */
//-----------------------------------------------------------
function addUnit(str,flag) {

  /*
   * 金額単位挿入対象文字列(str)がnullもしくは、
   * 空文字(レングス0）の場合は何もせず空文字をリターンする。
   */
  if (str == null || str.length == 0) {
    return "";
  }

  //単位を挿入する処理
  tanni = new Array('万', '億', '兆');
  var strLen = str.length;
  var returnStr = "";

  if(strLen<4) {
    return str;
  }
  else {
    str_arr = str.split('');
    str_arr = str_arr.reverse();
    bigin = 0;
    for(i=0; i<strLen; i=i+4) {
      tmp_s=str_arr[i]+str_arr[i+1]+str_arr[i+2]+str_arr[i+3];
      if(tmp_s=='0000'){
        bigin=bigin+4;
      }else{
        break;
      }
    }
    if(flag=='Jp'){
      tmp_f = 0;
      for(i=bigin; i<strLen; i++) {
        tmp_c = 0;
        if(i==4) {
          while(returnStr.indexOf('0')==0){
            returnStr = returnStr.substr(1,returnStr.length);
          }
          j=i;
          while(str.lastIndexOf('0',strLen-1-j)==strLen-1-j){
            tmp_c++;
            j++;
          }
          if(tmp_c<4){
            returnStr = str.charAt(strLen-1-i) + tanni[0] + returnStr;
            tmp_f = 0;
          }else{
            tmp_f = 1;
          }
        } else if(i==8) {
          while(returnStr.indexOf('0')==0){
            returnStr = returnStr.substr(1,returnStr.length);
          }
          j=i;
          while(str.lastIndexOf('0',strLen-1-j)==strLen-1-j){
            tmp_c++;
            j++;
          }
          if(tmp_c<4){
            returnStr = str.charAt(strLen-1-i) + tanni[1] + returnStr;
            tmp_f = 0;
          }else{
            tmp_f = 1;
          }
        } else if(i==12) {
          while(returnStr.indexOf('0')==0){
            returnStr = returnStr.substr(1,returnStr.length);
          }
          j=i;
          while(str.lastIndexOf('0',strLen-1-j)==strLen-1-j){
            tmp_c++;
            j++;
          }
          if(tmp_c<4){
            returnStr = str.charAt(strLen-1-i) + tanni[2] + returnStr;
            tmp_f = 0;
          }else{
            tmp_f = 1;
          }
        } else {
          if(tmp_f==0){
            returnStr = str.charAt(strLen-1-i) + returnStr;
          }
        }
      }
    }else if(flag=='Comma'){
      for(i=0; i<strLen; i++) {
        if(i==3) {
          returnStr = str.charAt(strLen-1-i) + ',' + returnStr;
        } else if(i==6) {
          returnStr = str.charAt(strLen-1-i) + ',' + returnStr;
        } else if(i==9) {
          returnStr = str.charAt(strLen-1-i) + ',' + returnStr;
        } else if(i==12) {
          returnStr = str.charAt(strLen-1-i) + ',' + returnStr;
        } else if(i==15) {
          returnStr = str.charAt(strLen-1-i) + ',' + returnStr;
        } else {
          returnStr = str.charAt(strLen-1-i) + returnStr;
        }
      }
    }
  } 

//  // 「万」以下が0の場合表示しない
//  if(returnStr.substr(returnStr.lastIndexOf('0000'),returnStr.length) == '0000'){
//    returnStr = returnStr.substr(0,returnStr.lastIndexOf('0000'));
//  }

  //編集済み文字列をreturn
  return returnStr;
}


//-----------------------------------------------------------
/**
 * 前処理要求名セット
 *
 */
//-----------------------------------------------------------
function setBeforeRequestName(requestName) {

  /*
   * コマンド対象formオブジェクト'commandFormObj'
   * のhidden項目に前処理要求名をセットする
   */
  commandFormObj.omeBeforeRequestName.value = requestName;
}


//-----------------------------------------------------------
/**
 * 共通アプレットによる見積依頼通知書XML署名結果セット処理
 *
 */
//-----------------------------------------------------------
function setProposalReqXml(resultXml) {

  /*
   * コマンド対象formオブジェクト'commandFormObj'のhidden項目に
   * 見積依頼通知書XML署名結果をセットする
   */
  commandFormObj.bid_xmlData.value = resultXml;
}


//-----------------------------------------------------------
/**
 * コマンド対象フォームの送信処理(共通XML送信時）
 *
 */
//-----------------------------------------------------------
function submitCallCommonXML() {

  /*
   * 署名済みXMLデータ取得関数'getSignedData'(common.js内のfunction)
   * を呼び出し、取得した署名済みXMLデータを引数に、setResultXml関数
   * を呼びだす
   */
  setResultXml(getSignedData());

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


//-----------------------------------------------------------
/**
 * コマンド対象フォームの送信処理(執行担当署名／立会担当署名コマンド時）
 *
 */
//-----------------------------------------------------------
function submitCallChargeSignXML() {

  //署名者の氏名が設定されているかチェックし、設定されていなければ
  //エラーダイアログを表示し、終了
/*
  var tmpSigner = commandFormObj.dutyOfficerName.value;
  if (tmpSigner == null || tmpSigner == "") {
    alert("署名者の氏名を入力してください");
    resetCommandFormObj();
    return;
  }
*/

  //共通送信処理呼出し
  submitCallCommonXML();
}

//-----------------------------------------------------------
/**
 * コマンド対象フォームの送信処理(執行担当署名／立会担当署名コマンド時）
 *
 */
//-----------------------------------------------------------
function submitCallChargeSignature() {

  //署名者の氏名が設定されているかチェックし、設定されていなければ
  //エラーダイアログを表示し、終了

  var tmpSignerXml = commandFormObj.nameSignedData.value;
  if (tmpSignerXml == null || tmpSignerXml == "") {
    alert("署名者の氏名を入力してください");
    resetCommandFormObj();
    return;
  }


  //共通送信処理呼出し
  submitCall();
}


//-----------------------------------------------------------
/**
 * checkPrice関数呼出し処理
 * （アプレットから呼び出される場合有）
 */
//-----------------------------------------------------------
function callCheckPrice() {
  
  //総合評価落札方式の場合
  if( document.formRegist.assesment.value == "1" ) { 
    getPlanAndStandardPriceAndFiducialValue();
    checkValue();
  } else {
    getPlanAndStandardPrice();
  }
  //HAC100.js/HAC170.jsに実装しているcheckPrice関数の呼出し
  checkPrice();
  resetCommandFormObj();
}

/* onMouse時にリンクボタンの画像を入れ替える処理に対応する為の、Imageの配列 */
var swImg = new Array();


//-----------------------------------------------------------
/**
 * Imageオブジェクトの初期化処理
 *
 */
//-----------------------------------------------------------
function imgPreload(imgName, img1, img2) {

  /*
   * ImageオブジェクトIDのimageオブジェクトとして、
   * 変化させたいボタンのイメージで初期化する。
   */
  if (document.images) {

    /*
     * グローバル変数として宣言している'swImg'を渡されたImageオブジェクトID
     * (第1引数)を添え字とし、配列の1要素を新たな配列として初期化する。
     */
    var imgName = imgPreload.arguments[0];
    var cnt;
    swImg[imgName] = new Array();

    /* イメージを宣言していく */
    for (cnt = 1; cnt < imgPreload.arguments.length; cnt++) {
      swImg[imgName][cnt] = new Image();
      swImg[imgName][cnt].src = imgPreload.arguments[cnt];
    }
  }
}


//-----------------------------------------------------------
/**
 * Imageオブジェクトの探索処理
 *
 */
//-----------------------------------------------------------
function imgFind(doc, imgName) {

  /*
   * 引数で渡されたdocumentオブジェクトのimagesの中から、
   * 引数で渡されたImageオブジェクトIDのimageオブジェクトをリターンする。
   */
  for (var i = 0; i < doc.layers.length; i++) {
    var img = doc.layers[i].document.images[imgName];
    if (!img) {
      img = imgFind(doc.layers[i], imgName);
    }

    if (img) {
      return img;
    }
  }

  /*
   * 引数として渡されたImageオブジェクトIDのimageオブジェクトが見つからなかった
   * 場合はnullをリターンする。
   */
  return null;
}


//-----------------------------------------------------------
/**
 * 画像入れ換え処理
 *
 */
//-----------------------------------------------------------
function imgSwap(imgName, imgSrc) {

  /*
   * 引数で渡されたImageオブジェクトIDのimageオブジェクトに。
   * 引数として渡された新たに貼り付けたい画像を貼り付けます。
   */
  if (document.images) {
    var img = document.images[imgName];

    /*
     * 引数で渡されたImageオブジェクトIDのimgageオブジェクトを検索する為に、
     * imgFindを呼出す。
     */
    if (!img) {
      img = imgFind(document, imgName);
    }

    /*
     * 取得したImageオブジェクトの画像を引数で渡された新たに貼り付けたい画像
     * に貼りかえる
     */
    if (img) {
      img.src = imgSrc;
    }
  }
}


//-----------------------------------------------------------
/**
 * 金額の正当性チェック
 * 
 * @param  price    金額
 *         isZeroOK '0'がOK：true  '0'がNG：false
 * 
 * @return true ：金額OK
 *         false：金額不正
 */
//-----------------------------------------------------------
function checkPriceValidity(price, isZeroOK) {
  
  if (price == null || price.length == 0) {
    return false;
  } else {
    for (var i = 0; i < price.length; i++) {
      if (isNaN(parseInt(price.charAt(i)))) {
        return false;
      }
    }
  }
  if (isZeroOK) {
    //'0'以外で、先頭文字が'0'の場合
    if (price.charAt(0) == "0" && price.length > 1) {
      return false;
    }
  } else {
    //先頭文字が'0'の場合
    if (price.charAt(0) == "0") {
      return false;
    }
  }
  return true;
}


//-----------------------------------------------------------
/**
 * 基準評価値の正当性チェック
 * 
 * @param  price    基準評価値
 *         isZeroOK '0'がOK：true  '0'がNG：false
 * 
 * @return true ：基準評価値OK
 *         false：基準評価値不正
 */
//-----------------------------------------------------------
function checkFiducialValueValidity(value, isZeroOK) {

  //基準評価値は必須項目でないのでnullの場合はtrueで返却
  if( value == null || value.length == 0 ) {
    return true;
  } else {
    //数値チェック
    if( isNaN(parseInt(value)) ) {
      return false;
    }
  }

  var index;
  var intValue;
  //整数部を取得
  index = value.indexOf(".");
  if( index < 0 ) {
    index = value.length;
  }
  intValue = value.substring(0, index);

  if (isZeroOK) {
    //'0'以外で、先頭文字が'0'の場合
    if (intValue.charAt(0) == "0" && intValue.length > 1) {
      return false;
    }
  } else {
    //先頭文字が'0'の場合
    if (intValue.charAt(0) == "0") {
      return false;
    }
  }

  return true;
}


//-----------------------------------------------------------
/**
 * 基準評価値の桁数チェック
 * 
 * @param  price    基準評価値
 * 
 * @return true ：基準評価値OK
 *         false：基準評価値不正
 */
//-----------------------------------------------------------
function checkFiducialValueDigitNumber(value) {

  var intValue;
  var floatValue;
  var index;

  //基準評価値は必須項目でないのでnullの場合はtrueで返却
  if( value == null || value.length == 0 ) {
    return true;
  } else {
    //整数部を取得
    index = value.indexOf(".");
    if( index < 0 ) {
      index = value.length;
    }
    intValue = value.substring(0, index);

    //小数部を取得
    floatValue = value.substring(index+1, value.length);

    if( intValue.length > 5 || floatValue.length > 3 ) {
      return false;
    }
  }

  return true;
}


//-----------------------------------------------------------
/**
 * 作成画面表示用OmeParameterID設定・取得処理
 * 
 * @param  functionID    機能ID( "H0791" or "H0792" )
 *         tenderNum     入札方式
 *         qFlag         1社目の資格フラグ
 *         isSpecify     特定・非特定フラグ（公募プロの場合のみ設定）
 *                       特定・非特定の場合：true
 *                       選定・非選定の場合：false
 * 
 * @return OmeParameterID
 */
//-----------------------------------------------------------
function getOmeParameterIDToMakeBatch( functionID, tenderNum, qFlag, isSpecify ) {

  var ID = functionID;

  switch(tenderNum){
  case "1002011": // 一般競争入札（標準型）
  case "1002012": // 一般競争入札（施工計画審査型）
    {
      if ( qFlag == FLAG_ON ) {
        ID+="HB1012";
      } else {
        ID+="HB1013";
      }
      break;
    }
  case "2002022": // 公募型指名競争入札（標準型）
  case "2002023": // 公募型指名競争入札（施工計画審査型）
  case "2002024": // 公募型指名競争入札（施工方法等提案型）
  case "2002026": // 工事希望型指名競争入札
  case "2002028": // 公募型競争入札方式
  case "2002029": // 簡易公募型競争入札方式
    {
      if ( qFlag == FLAG_ON ) {
        ID+="HB2012";
      } else {
        ID+="HB2013";
      }
      break;
    }
  case "3002055": // 公募型プロポーザル方式
  case "3002056": // 簡易公募型プロポーザル方式
    {
      //特定／非特定の場合
      if (isSpecify) {
        if ( qFlag == FLAG_ON ) {
          ID+="HB6014";
        } else {
          ID+="HB6015";
        }
      } 
      //選定／非選定の場合
      else {
        if ( qFlag == FLAG_ON ) {
          ID+="HB6012";
        } else {
          ID+="HB6013";
        }
      }
      break;
    }
  case "3002057": // 標準プロポーザル方式
    {
      if ( qFlag == FLAG_ON ) {
        ID+="HB6014";
      } else {
        ID+="HB6015";
      }
      break;
    }
  case "2002021": // 技術情報募集型指名競争入札
  case "2002025": // 意向確認型指名競争入札 
  case "2002027": // 通常型指名競争入札
  case "3002051": // 随意契約
    {ID="";
    break;}
  }

  return(ID);
}


//-----------------------------------------------------------
/**
 * IC Card変更チェック結果設定
 * 
 * @param  result    ICカード変更チェック結果(true:変更有, false:変更無）
 * 
 */
//-----------------------------------------------------------
function setIcCardCheckResult( result ) {
  if (result == "true") {
    setBeforeRequestName("login");
  }
}


//-----------------------------------------------------------
/**
 * onFocusイベントを取得した時readonlyかどうか判定する
 * 
 */
//-----------------------------------------------------------

function readOnlyCheck() {
  if(document.formRegist.companyNumber.value.length != 0) {
    document.formRegist.department.focus();
  }
}

//-----------------------------------------------------------
/**
 * カレンダー表示
 * 
 */
//-----------------------------------------------------------
function showCalender(obj) {
  //グローバル変数m_objに引数objをセット
  if(!setObject(obj)) {
    return;
  }

  adjustScreenCoordinate( 270, 291 );

  if(obj.value == null || obj.value == "") {
    getCalender(obj);
  }
  else {
    changeWarekiToSeireki(obj.value, "yyyy/MM/dd");
  }
}

//-----------------------------------------------------------
/**
 * カレンダー
 *
 */
//-----------------------------------------------------------
function getCalender(obj, arg1, arg2, arg3) {
  //グローバル変数m_objに引数objをセット
  if(!setObject(obj)) {
    return;
  }

  obj.blur();

  if(!arguments[1]) {
    arg1=0;
  }
  if(arguments[1]||arguments[1]==0) {
    windowFlag=0;
  }
  if(arguments.length == 1) {
    windowFlag=1;
  }

  //カレンダーgif押下による、初期表示時は前回入力された月を引き継
  if ( arg1 == 0 && isNaN(arguments[2]) && isNaN(arguments[3])) {
    //テキストに入力されている場合
    if(obj.value != null && obj.value != "") {
      nowYear  = inputYear;
      nowMonth = inputMonth;
      nowDate  = inputDay;
    } else {
      nowYear  = preYear;
      nowMonth = preMonth;
      nowDate  = preDay;
    }
  }
  //カレンダーコントロールの今月ボタンが押下された場合、現在年月日を取得
  else if ( arg1 == 0 && !isNaN(arguments[2]) && isNaN(arguments[3]) ) {
    now = new Date();
    nowYear  = now.getYear(); 
    nowMonth = now.getMonth();
    nowDate  = now.getDate(); 
  }

  if(nowMonth==11 && arg1 > 0){
    nowMonth = -1 + arg1 ; nowYear++
  } else if(nowMonth==0 && arg1 < 0){
    nowMonth = 12 + arg1 ; nowYear--
  } else {
    nowMonth += arg1
  }

  if(nowYear<1900)nowYear=1900+nowYear

    if(!isNaN(arguments[3])){
      nowYear += arg3;
    }

  //今回表示させる年月日を保持
  preYear  = nowYear;
  preMonth = nowMonth;

  if( (arg1==1 || arg1==-1) && (nowMonth==3 || nowMonth==5 || nowMonth==8 || nowMonth==10) && nowDate==31 ) {
    nowDate = 30;
  } else if( (arg1==1 || arg1==-1 || arg3==1 || arg3==-1) && nowMonth==1 && (nowDate==30 || nowDate==31)
                                              && (nowYear%4 == 0 && nowYear%100 != 0 && nowYear%400 == 0) ) {
    nowDate = 29;
  } else if( (arg1==1 || arg1==-1 || arg3==1 || arg3==-1) && nowMonth==1 && (nowDate==29 || nowDate==30 || nowDate==31) ) {
    nowDate = 28;
  }
  preDay   = nowDate;
  
  now  = new Date(nowYear,nowMonth,nowDate);

  nowyyyymm=nowYear*100+nowMonth;
  nowtitleyyyymm=nowYear+'/'+(nowMonth + 1);
  week = new Array('日','月','火','水','木','金','土');

  if(windowFlag) {

    var w=258
    var h=260
    
//    if(Win){ w+=0 ; h+=0  }
    if(Win){
      if(IE){ w+=0  ; h+=0 }
      if(NN){ w+=4  ; h+=4 }
    }
    if(Mac){ w+=8 ; h+=22 }
    if(X11){ w+=5 ; h+=46 }

    var x=100;
    var y=20;

    x = document.screenCoordinate.screen_x.value;
    y = document.screenCoordinate.screen_y.value;

    //if(document.all){
    //  x = window.event.screenX+30
    //  y = window.event.screenY-180
    //  //x = screen_x+30
    //  //y = screen_y-180
    //}
    //if (document.layers){
    //  x+=window.screenX
    //  y+=window.screenY
    //}
    var szLocation = contextPath + "/ebidmlit/html/blank.html";
    makeSubWindow(szLocation,"calendar",x,y,w,h);
  }

  //構築用 必要日の取得
  today   = now.getTime()
  fastDay  = today - ( now.getDate() * 1000*60*60*24 ) //1日
  fastDay  = new Date(fastDay)
  startDay = fastDay - ( fastDay.getDay() * 1000*60*60*24 ) //Start日曜日
  startDay = new Date(startDay)

  //構築用HTML
  var drawData = ''
  drawData += '<HTML>\n'
  drawData += '<HEAD>'
  drawData += '<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-sjis">\n'
  drawData += '<TITLE>Calendar</TITLE>\n'
  drawData += '<STYLE>\n'
  drawData += '<!--\n'
  drawData += ' A { text-decoration:none;color:black;font:16px;font-family:Arial;line-height:13px }\n'
  drawData += ' A:link { text-decoration:none }\n'
  drawData += '-->\n'
  drawData += '</STYLE>\n'

  drawData += '<SCRIPT language="JavaScript">\n'
  drawData += '<!--\n'
  drawData += 'function v(selectedDate) {\n'
  drawData += '  var format = "gggee年MM月dd日（E）";\n'
  drawData += '  self.opener.changeSeirekiToWareki(selectedDate, format);\n'
  drawData += '  self.close();\n'
  drawData += '}\n'
  drawData += '//-->\n'
  drawData += '</SCRIPT>\n'

  drawData += '</HEAD>\n'
  drawData += '<BODY BGCOLOR=#dddddd>\n'

  drawData += '<FORM>\n'
  drawData += '<TABLE BORDER=0 BGCOLOR=#dddddd  BORDERCOLOR=#dddddd WIDTH=240 HEIGHT=240>\n'

  //月
  drawData += '   <TR id="trmonth" BGCOLOR=orange BORDERCOLOR=orange WIDTH=240 HEIGHT=24>\n'
    //drawData += '   <TH COLSPAN=5 WIDTH=171 HEIGHT=24 ALIGN="left" border="0"><NOBR>\n'
    drawData += '   <TH COLSPAN=2 WIDTH=69 HEIGHT=24 ALIGN="left" border="0"><NOBR>\n'

    drawData +=       nowtitleyyyymm
    drawData += '   </NOBR></TH>\n'

    //drawData += '   <TH COLSPAN=2 WIDTH=69 HEIGHT=24 ALIGN="right" border="0"><NOBR>\n'
    drawData += '   <TH COLSPAN=5 WIDTH=171 HEIGHT=24 ALIGN="right" border="0"><NOBR>\n'

    //前ボタン
    drawData += ' <A HREF="JavaScript:self.opener.getCalender(self.opener.document.'+obj.form.name+'.'+obj.name+',0,0,-1)">\n'
    drawData += ' <IMG src="'+contextPath+'/ebidmlit/image/buttonLastYear.gif" border="0" alt="前年"></A>\n'

    //前ボタン
    drawData += ' <A HREF="JavaScript:self.opener.getCalender(self.opener.document.'+obj.form.name+'.'+obj.name+',-1,0)">\n'
    drawData += ' <IMG src="'+contextPath+'/ebidmlit/image/buttonLastData.gif" border="0" alt="前月"></A>\n'
    
    //今月ボタン
    drawData += ' <A HREF="JavaScript:self.opener.getCalender(self.opener.document.'+obj.form.name+'.'+obj.name+',0,0)">\n'
    drawData += ' <IMG src="'+contextPath+'/ebidmlit/image/buttonThisMonth.gif" border="0" alt="今月"></A>\n'
    
    //次ボタン
    drawData += ' <A HREF="JavaScript:self.opener.getCalender(self.opener.document.'+obj.form.name+'.'+obj.name+',1,0)">\n'
    drawData += ' <IMG src="'+contextPath+'/ebidmlit/image/buttonNextData.gif" border="0" alt="次月"></A>\n'

    //次ボタン
    drawData += ' <A HREF="JavaScript:self.opener.getCalender(self.opener.document.'+obj.form.name+'.'+obj.name+',0,0,1)">\n'
    drawData += ' <IMG src="'+contextPath+'/ebidmlit/image/buttonNextYear.gif" border="0" alt="次年"></A>\n'

    
    drawData += '   </NOBR></TH>\n'
    drawData += '   </TR>\n'

  //週
  drawData += '   <TR WIDTH=240 HEIGHT=24>\n'
  for (i=0;i<7;i++){
  
    //日曜日
    if ( i==0 ) {
      drawData += '   <TH BGCOLOR=red WIDTH=24 HEIGHT=24 ALIGN="center">\n'
    }
    //土曜日
    else if ( i==6 ) {
      drawData += '   <TH BGCOLOR="#4ea8fa" WIDTH=24 HEIGHT=24 ALIGN="center">\n'
    }
    else {
      drawData += '   <TH BGCOLOR=pink WIDTH=24 HEIGHT=24 ALIGN="center">\n'
    }
    drawData +=       week[i]
    drawData += '   </TH>\n'
  }
  drawData += '   </TR>\n'

  //日
  for(j=0;j<6;j++){
    drawData += '  <TR BGCOLOR=#ffffff>\n'
    for(i=0;i<7;i++){
      nextday = startDay.getTime() + (i * 1000*60*60*24)
      writeday  = new Date(nextday)

      writedate = writeday.getDate()
      writemonth= writeday.getMonth()
      writeyear = writeday.getYear()
      if(writeyear < 1900)writeyear=1900 + writeyear
      writeyyyymm = writeyear * 100 + writemonth
//      writeyyyymmdd= ''+writeyear +'/'+ (writemonth+1) +'/'+writedate
      var strWriteDate = "";
      var strWriteMonth = "";
      if (writedate < 10) {
        strWriteDate = "0" + writedate;
      } else {
        strWriteDate = + writedate;
      }
      if (writemonth < (10-1)) {
        strWriteMonth = "0" + (writemonth+1);
      } else {
        strWriteMonth = + (writemonth+1);
      }
      writeyyyymmdd= ''+writeyear +'/'+ (strWriteMonth) +'/'+ strWriteDate
      
    //V2国交省対応
      //取得した和暦をテキストフィールドに設定する
      writedateA  = '<A HREF="javascript:v(\'' + writeyyyymmdd + '\')">\n'
      writedateA += '<FONT COLOR=#000000>\n'
      
      //日付をクリックしやすくする為、一桁の場合 全角空白を挿入
      if (writedate < 10) {
        writedateA += "　" + writedate;
      }
      else {
        writedateA += writedate;
      }
      
      writedateA += '</FONT>\n'
      writedateA += '</A>\n'

      if(writeyyyymm != nowyyyymm){
        drawData += ' <TD BGCOLOR=#cccccc WIDTH=24 HEIGHT=24 ALIGN="right">\n'
        drawData += writedateA

       } else if(writedate == abstractNow.getDate() && writemonth == abstractNow.getMonth() && writeday.getYear() == abstractNow.getYear()){
        drawData += ' <TD BGCOLOR="#c8ffff" WIDTH=24 HEIGHT=24 ALIGN="right">\n'
        drawData += '<FONT COLOR="#ffffff">'+writedateA+'</FONT>\n'

      }
      else {
        drawData += ' <TD WIDTH=24 HEIGHT=24 ALIGN="right">\n'
        drawData += writedateA
      }
      drawData += '   </TD>\n'
    }
    drawData += '   </TR>\n'

    startDay = new Date(nextday)
    startDay = startDay.getTime() + (1000*60*60*24)
    startDay = new Date(startDay)
  }

  if(Mac){
    drawData += '   <TR>\n'
      drawData += '   <TD COLSPAN=7 ALIGN=center>\n'
       drawData += '   <INPUT TYPE=button VALUE="CLOSE" onClick="self.close();return false">\n'
      drawData += '   </TD>\n'
    drawData += '   </TR>\n'
  }

  drawData += '</TABLE>\n'
  drawData += '</FORM>\n'
  drawData += '</BODY>\n'
  drawData += '</HTML>\n'
  
  calWindow.focus()
  calWindow.document.write(drawData)
  calWindow.document.close()
  windowFlag=1

}

//-----------------------------------------------------------
/**
 * タイムコントロール表示
 * 
 */
//-----------------------------------------------------------
function showTime(obj) {

  adjustScreenCoordinate( 192, 161 );

  if(obj.value != null && obj.value != "") {
    var place_h;
    var place_m;

    //"時"の場所を取得
    place_h = obj.value.search("時");
    if(place_h < 0) { //"時"なし
      //":"の場所を取得
      place_h = obj.value.search(":");
      if(place_h >= 0) {
        inputHour = obj.value.slice(0, place_h);  //先頭から":"までを設定
        inputMinute = obj.value.slice(place_h+1); //":"より後ろを設定
      }
    }
    else {
      inputHour = obj.value.slice(0, place_h);  //先頭から"時"までを設定

      //"分"の場所を取得
      place_m = obj.value.search("分");
      inputMinute = obj.value.slice(place_h+1, place_m);  //"時"から"分"までを設定
    }
  }

  //時計呼出し
  getTime(obj);
}

//-----------------------------------------------------------
/**
 * Time画面による時間入力スクリプト
 *
 */
//-----------------------------------------------------------
function getTime(timeText, arg1) {

  if(!arguments[1])arg1=0
  
  //-1時間
  if (arg1==-1) {
    //alert("-1");
    var selectedIdx = timeWindow.document.time.hour.selectedIndex;
    if (selectedIdx == 0) {
      timeWindow.document.time.hour.options[23].selected=true;
    }
    else {
      timeWindow.document.time.hour.options[selectedIdx-1].selected=true;
    }
    return;
  }
  
  //+1時間
  else if (arg1==1) {
    //alert("1");
    var selectedIdx = timeWindow.document.time.hour.selectedIndex;
    if (selectedIdx == 23) {
      timeWindow.document.time.hour.options[0].selected=true;
    }
    else {
      timeWindow.document.time.hour.options[selectedIdx+1].selected=true;
    }
    return;
  }
  
  //-5分
  else if (arg1==-2) {
    //alert("-2");
    var selectedIdx = timeWindow.document.time.minute.selectedIndex;
    var count = selectedIdx;
    if (selectedIdx < 5) {
      timeWindow.document.time.minute.options[59].selected=true;
    }
    else {
      var amari = selectedIdx % 5;
      if (amari == 0) {
        count = selectedIdx - 5;
      } else {
        count = selectedIdx - amari;
      }
      timeWindow.document.time.minute.options[count].selected=true;
    }
    return;
  }
  
  //+5分
  else if (arg1==2) {
    //alert("2");
    var selectedIdx = timeWindow.document.time.minute.selectedIndex;
    var count = selectedIdx;
    if (selectedIdx > 54) {
      timeWindow.document.time.minute.options[0].selected=true;
    }
    else {
      count = selectedIdx - (selectedIdx % 5);
      timeWindow.document.time.minute.options[count+5].selected=true;
    }
    return;
  }
  
  //新規作成の場合
  else {
  
    timeText.blur()
    var w=180
    var h=130
    
    if(Win){ w+=0 ; h+=0  }
    if(Mac){ w+=8 ; h+=22 }
    if(X11){ w+=5 ; h+=46 }

    var x=100
    var y=20

    x = document.screenCoordinate.screen_x.value;
    y = document.screenCoordinate.screen_y.value;

    //if(document.all){
    //  x=window.event.screenX+30
    //  y=window.event.screenY-180
    //}
    //if (document.layers){
    //  x+=window.screenX
    //  y+=window.screenY
    //}
    var szLocation = contextPath + "/ebidmlit/html/blank.html";
    makeSubWindow(szLocation,"time",x,y,w,h);


    //構築用HTML
    var drawData = ''
    drawData += '<HTML>\n'
    drawData += '<HEAD>'
    drawData += '<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-sjis">\n'
    drawData += '<TITLE>TimeControl</TITLE>\n'

//↓Netscapeで使用できない為、削除
//    drawData += '<SCRIPT language="JavaScript">\n'
//    drawData += '<!--\n'
//    drawData += 'function backHour() {\n'・・・
//    drawData += '//-->\n'
//    drawData += '</SCRIPT>\n'
//↑Netscapeで使用できない為、削除

    drawData += '<SCRIPT language="JavaScript">\n'
    drawData += '<!--\n'
    drawData += 'function v(){ \n'
    drawData += '  self.opener.document.' + timeText.form.name + '.' + timeText.name + '.value = \n'
    drawData += '    document.time.hour.options[document.time.hour.selectedIndex].value +'
    drawData += '    (\'' + "時" + '\') + '
    drawData += '    document.time.minute.options[document.time.minute.selectedIndex].value +'
    drawData += '    (\'' + "分" + '\');\n'
    drawData += '  self.close();\n'
    drawData += '}\n';
    drawData += '//-->\n'
    drawData += '</SCRIPT>\n'

    drawData += '</HEAD>\n'
    drawData += '<BODY BGCOLOR=#dddddd>\n'

    drawData += '<FORM name="time">\n'
    drawData += '<TABLE BORDER=1 BGCOLOR="silver">\n'

    drawData += '  <TBODY>\n'
    drawData += '    <TR>\n'
    drawData += '      <TD width="65" height="38" align="center">\n'
    drawData += '      <SELECT name="hour" size="1">\n'

    for(var hh=0; hh<=23; hh++) {
      if(hh == inputHour) {
        drawData += '        <OPTION value="' + hh + '" selected>' + hh + '</OPTION>\n'
      }
      else {
        drawData += '        <OPTION value="' + hh + '">' + hh + '</OPTION>\n'
      }
    }

    drawData += '      </SELECT>\n'
    drawData += '      </TD>\n'
    drawData += '      <TD style="font-size : x-large;text-align : center;" height="38" width="7">：</TD>\n'
    drawData += '      <TD height="38" width="65" align="center">\n'
    drawData += '      <SELECT name="minute" size="1">\n'

    for(var mi=0; mi<=59; mi++) {
      if(mi == inputMinute) {
        if(mi < 10) {
          drawData += '        <OPTION value="0' + mi + '" selected>0' + mi + '</OPTION>\n'
        } else {
          drawData += '        <OPTION value="' + mi + '" selected>' + mi + '</OPTION>\n'
        }
      }
      else {
        if(mi < 10) {
          drawData += '        <OPTION value="0' + mi + '">0' + mi + '</OPTION>\n'
        } else {
          drawData += '        <OPTION value="' + mi + '">' + mi + '</OPTION>\n'
        }
      }
    }

    drawData += '      </SELECT>\n'
    drawData += '      </TD>\n'
    drawData += '    </TR>\n'
    drawData += '    <TR>\n'
    drawData += '      <TD width="65" height="28" align="center">\n'
  //  drawData += '      <A HREF="JavaScript:backHour()">\n'
    drawData += '      <A HREF="JavaScript:self.opener.getTime(self.opener.document.'+timeText.form.name+'.'+timeText.name+',-1)">\n'
    drawData += '      <IMG src="'+contextPath+'/ebidmlit/image/buttonLastData.gif" name="bkHour" width="22" height="22" border="0"></A>\n'
  //  drawData += '      <A HREF="JavaScript:nextHour()">\n'
    drawData += '      <A HREF="JavaScript:self.opener.getTime(self.opener.document.'+timeText.form.name+'.'+timeText.name+',1)">\n'
    drawData += '      <IMG src="'+contextPath+'/ebidmlit/image/buttonNextData.gif" name="nxHour" width="22" height="22" border="0"></A>\n'
    drawData += '      </TD>\n'
    drawData += '      <TD width="7" height="28">\n'
    drawData += '      </TD>\n'
    drawData += '      <TD width="65" height="28" align="center">\n'
  //  drawData += '      <A HREF="JavaScript:backMinute()">\n'
    drawData += '      <A HREF="JavaScript:self.opener.getTime(self.opener.document.'+timeText.form.name+'.'+timeText.name+',-2)">\n'
    drawData += '      <IMG src="'+contextPath+'/ebidmlit/image/buttonLastData.gif" name="bkMin" width="22" height="22" border="0"></A>\n'
  //  drawData += '      <A HREF="JavaScript:nextMinute()">\n'
    drawData += '      <A HREF="JavaScript:self.opener.getTime(self.opener.document.'+timeText.form.name+'.'+timeText.name+',2)">\n'
    drawData += '      <IMG src="'+contextPath+'/ebidmlit/image/buttonNextData.gif" name="nxMin" width="22" height="22" border="0"></A>\n'
    drawData += '      </TD>\n'
    drawData += '    </TR>\n'
    drawData += '    <TR>\n'
    drawData += '      <TD colspan="3" align="right">\n'
  //  drawData += '      <INPUT type="button" value="　OK　" onClick="setTime()";>　\n'
  //  drawData += '      <INPUT type="button" value="　OK　" onClick="javascript:function v(){self.opener.document.'+timeText.form.name+'.'+timeText.name+'.value=\n'
  //  drawData += '      document.time.hour.value + ':' + document.time.minute.value ;self.close()};v()">\n'
    drawData += '      <INPUT type="button" value="　OK　" onClick="javascript:v()";>\n'
    drawData += '      <INPUT type="button" value="CANCEL" onClick="self.close()">\n'
    drawData += '      </TD>\n'
    drawData += '    </TR>\n'
    drawData += '  </TBODY>\n'
    drawData += '</TABLE>\n'
    drawData += '</FORM>\n'
    drawData += '</BODY>\n'
    drawData += '</HTML>\n'
    drawData += '\n'
    
    timeWindow.document.write(drawData)
    timeWindow.document.close()
    
  }
}


//-----------------------------------------------------------
/**
 * 西暦→和暦変換処理
 * 
 */
//-----------------------------------------------------------
function changeSeirekiToWareki(seireki, format) {
  setSeireki(seireki);
  setDateFormat(format)
  seirekiToWareki();
//  return seirekiToWarekiResult;
}

//-----------------------------------------------------------
/**
 * 和暦→西暦変換処理
 * 
 */
//-----------------------------------------------------------
function changeWarekiToSeireki(wareki, format) {
  setWareki(wareki);
  setDateFormat(format)
  warekiToSeireki();
}

//-----------------------------------------------------------
/**
 * 西暦を変数にセット
 * 
 */
//-----------------------------------------------------------
function setSeireki(seireki) {
  s = seireki;
}

//-----------------------------------------------------------
/**
 * 西暦を取得
 * 
 */
//-----------------------------------------------------------
function getSeireki() {
  return s;
}

//-----------------------------------------------------------
/**
 * 和暦を変数にセット
 * 
 */
//-----------------------------------------------------------
function setWareki(wareki) {
  w = wareki;
}

//-----------------------------------------------------------
/**
 * 和暦を取得
 * 
 */
//-----------------------------------------------------------
function getWareki() {
  return w;
}

//-----------------------------------------------------------
/**
 * 和暦変換アプレットのコールバックルーチン（西暦→和暦）
 * 
 */
//-----------------------------------------------------------
function setSeirekiToWarekiResult(value) {

  m_obj.value = value;

  //m_objリセット
  //resetObject();
}

//-----------------------------------------------------------
/**
 * 和暦変換アプレットのコールバックルーチン（和暦→西暦）
 * 
 */
//-----------------------------------------------------------
function setWarekiToSeirekiResult(value) {

  warekiToSeirekiResult=value;

  if( value==null || value=="" )
  {
    inputYear = preYear;
    inputMonth = preMonth;
    inputDay = preDay;
  }
  else
  {
    var inputDate = new Date(warekiToSeirekiResult);
    inputYear = inputDate.getYear();
    inputMonth = inputDate.getMonth();
    inputDay = inputDate.getDate();
  }

  getCalender(m_obj);
}

//-----------------------------------------------------------
/**
 * 変換日付フォーマットを変数に設定
 * 
 */
//-----------------------------------------------------------
function setDateFormat(format) {
  dateFormat = format;
}

//-----------------------------------------------------------
/**
 * 変換日付フォーマット取得
 * 
 */
//-----------------------------------------------------------
function getDateFormat() {
  return dateFormat;
}

//-----------------------------------------------------------
/**
 * 入札状況画面表示処理
 *
 */
//-----------------------------------------------------------
function moveWorkStatusInList(projectNumber) {

    /* 案件番号のセット */
    projectNoForPopUp = projectNumber;

    /* 調達案件番号を送信フォームにセットする */
    setProjectNo(projectNumber);

    /* 本画面の画面IDを送信フォームにセットする */
    setThisID(document.commonData.screenID.value);

    /* パラメータID(J999JAC999)を送信フォームにセットする */
    setNextID("J999JAC999");

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


//-----------------------------------------------------------
/**
 * 作業状況セット処理
 *
 */
//-----------------------------------------------------------
function setWorkStatus(workStatus) {
  commandFormObj.workStatus.value = workStatus;
}

//-----------------------------------------------------------
/**
 * captureEvents設定（ネットスケープのみ設定）
 *
 */
//-----------------------------------------------------------
function setCaptureEvents(e){
  if(NN) {
    document.captureEvents(Event.CLICK);
    document.onmousemove=getNNScreenXY;
  }
}

//-----------------------------------------------------------
/**
 * ネットスケープ　イベント座標取得
 *
 */
//-----------------------------------------------------------
function getNNScreenXY(e){
  document.screenCoordinate.screen_x.value = e.screenX+30;
  document.screenCoordinate.screen_y.value = e.screenY-180;
}

//-----------------------------------------------------------
/**
 * イベント座標調整
 */
//-----------------------------------------------------------
function adjustScreenCoordinate( w, h )
{
  if(IE)
  {
    document.screenCoordinate.screen_x.value = window.event.screenX + 30;
    document.screenCoordinate.screen_y.value = window.event.screenY - 180;
  }

  if( document.screenCoordinate.screen_x.value>=window.screen.availWidth-w )
    document.screenCoordinate.screen_x.value=window.screen.availWidth-w;

  if( document.screenCoordinate.screen_x.value<0 )
    document.screenCoordinate.screen_x.value=0;

  if( document.screenCoordinate.screen_y.value>=window.screen.availHeight-h )
    document.screenCoordinate.screen_y.value=window.screen.availHeight-h;

  if( document.screenCoordinate.screen_y.value<0 )
    document.screenCoordinate.screen_y.value=0;
}//adjustScreenCoordinate

//------------------------------------------------------------
/**
 * 手動署名検証結果設定処理
 * 
 */
//-----------------------------------------------------------
function setVerify2ResultGoods(result) {
  //未使用
  document.formVerify.verifyResult.value=result;
}

//------------------------------------------------------------
/**
 * 前処理要求名取得処理
 *
 */
//-----------------------------------------------------------
function getBeforeRequestName() {

  var returnStr = "";

  /*
   * コマンド対象formオブジェクト'commandFormObj'
   * のhidden項目から前処理要求名を取得する
   */
  if(commandFormObj.omeBeforeRequestName != null) {
    returnStr = commandFormObj.omeBeforeRequestName.value;
  }
  
  return returnStr;
}


