/***************************************************
* システム名      電子入札コアシステム
* サブシステム名  共通部品
* common.js
* 共通関数を格納
* @author  NEC
* @version 2002.02.16，新規作成
*          2002.02.21，getSigendRandomKeyファンクションの追加
*          2002.02.28，setTargetDataファンクションの追加
*                      setPrintableDataファンクションの追加
*                      ファンクションの並び入れ替え
*                      コメントの一部修正
*          2002.03.28，focusSubWindowファンクションの追加
*                      window.focusへのハンドラ設定
*                      未使用部分の削除
*          2002.05.14, getServerTimeファンクションの追加
*                      preProcessファンクションでの時間更新処理を追加
*          2002.06.14, doSubmitWithoutDialogファンクションの追加
*          2002.07.22, 印刷表示ファンクションの画面表示サイズの変更
*          2002.09.20, getDelimiter,getKeys,getValuesファンクションの追加
*          2002.11.15, cancelPinDialogファンクションの追加
*          2003.01.06, commandErrorファンクションの追加
*          2003.02.25, setOpenViewファンクションに変数szLocationの追加
*          2003.04.24, setOpenViewファンクションに'\','~'の文字化け対応の追加
*          2007.04.11, ステータスバー追加対応
*
***************************************************/

/* 乱数値の取得 */
function getRandomKey() {
  //alert('乱数を取得します');
  return document.common.randomSessionKey.value;
}

/* 署名済み乱数の登録 */
function setSignedRandomKey(value) {
  //alert('署名済み乱数をセットします');
  document.common.signedRandomKey.value = value;
}

/* 署名済み乱数の取得 */
function getSignedRandomKey() {
  //alert('署名済み乱数を取得します');
  return document.common.signedRandomKey.value;
}

/* XMLデータの登録 */
function setTargetData(value) {
  //alert('署名対象を取得します');
  document.common.targetData.value = value;
}

/* XMLデータの取得 */
function getTargetData() {
  //alert('署名対象を取得します');
  return document.common.targetData.value;
}

/* 署名済みXMLデータの登録 */
function setSignedData(value) {
  //alert('署名済み文書をセットします');
  document.common.signedData.value = value;
}

/* 署名済みXMLデータの取得 */
function getSignedData() {
  //alert('署名済み文書を取得します');
  return document.common.signedData.value;
}

/* 印刷用HTMLデータの登録 */
function setPrintableData(value) {
  //alert('印刷用HTMLデータを登録します');
  document.common.printableData.value = value;
}

/* 印刷用HTMLデータの取得 */
function getPrintableData() {
  //alert('印刷用HTMLデータを取得します');
  return document.common.printableData.value;
}

/* 印刷用置換文字列区切り文字の取得 */
function getDelimiter() {
  return document.common.delimiter.value;
}

/* 印刷用置換対象文字列の取得 */
function getKeys() {
  return document.common.keys.value;
}

/* 印刷用置換文字列の取得 */
function getValues() {
  return document.common.values.value;
}


/* onload時の呼出用 */
function preProcess() {
  closeSubWindow();
  //execute("copyString(value:'"+getRandomKey()+"',system:randomKey)");
  execute("Timer.update(value:'"+getServerTime()+"')");
  execute("RandomSign.setValue(value:'"+getRandomKey()+"')");

}

/* 送信前の処理 */
function doSubmit() {
  //alert('doSubmit 送信を開始します');
  begin();
  execute("closeConsole()");
  commit();
  openSubWindow();
}

/* 送信前の処理（通信中ダイアログを表示しない） */
function doSubmitWithoutDialog() {
  //alert('doSubmit 送信を開始します');
  begin();
  execute("closeConsole()");
  commit();
}

/* 通信中ダイアログのオープン */
function openSubWindow() {
  //alert('通信中ダイアログのオープン');
  top.openSubWin();
}

/* 通信中ダイアログのクローズ */
function closeSubWindow() {
  //alert('通信中ダイアログのクローズ');
  top.closeSubWin();
}


/* 印刷用ダイアログの表示 */
function setOpenView(value) {
  var VIEWWIDTH = 10;
  var VIEWHEIGHT = 130;
  var viewx = (screen.width  - VIEWWIDTH) ;
  var viewy = (screen.height - VIEWHEIGHT) ;
  var szLocation = contextPath + "/ebidmlit/html/blank.html";

  printView = window.open(szLocation, "printView","status=yes,location=no,menubar=no,titlebar=no,toolbar=yes,scrollbars=yes,width=" + viewx + ",height=" + viewy + "screenX=0,screenY=0,top=0,left=0");

  for(var i = 0; i < value.length; i++) {
    if(value.charCodeAt(i) == 92) {
      value = value.substring(0, i) + "&yen;" + value.substring(i+1,
value.length);
    }
    else if(value.charCodeAt(i) == 126) {
      value = value.substring(0, i) + "&tilde;" + value.substring(i+1,
value.length);
    }
  }

  printView.document.write(value);
  printView.document.close();
}


/* 通信中ダイアログのフォーカス制御 */
function focusSubWindow() {
  if(top.uploadWin != null && !top.uploadWin.closed) {
    top.uploadWin.focus();
 }
}

/* onFocusイベント時のハンドラ設定 */
window.onfocus = focusSubWindow;


/* サーバ時間の取得 */
function getServerTime() {
  //alert('サーバ時間' + document.common.serverTime.value);
  return document.common.serverTime.value;
}

/* PIN番号入力ダイアログでのキャンセル処理 */
function cancelPinDialog() {
  //alert("PINDialog is canceled!!!");
  resetCommandFormObj();
}

/* コマンドエラー時の処理 */
function commandError() {
  //alert("Command has suspended!!!");
  resetCommandFormObj();
}

