
/*
 * 共通JavaScriptファイル
 * 画面上からトランザクションを発生させる場合、
 * 必ずこのファイルにあるfunctionを呼び出す以外の記述をしてはならない。
 * 【改版履歴】
 *   1.0 : 2004/09/17 : SCS H.Yatake  : 新規作成
 *   1.1 : 2005/02/14 : SCS H.Yatake  : PT-0309対応 予約語'undefined'は使用できない為typeof関数で文字列変換
 *   1.2 : 2005/02/17 : SCS H.Yatake  : PT-0320対応 予約語'undefined'の修正漏れを修正
 *   1.3 : 2008/01/16 : NDS S.Eda     : SSLチェックボックスのチェック有無により、https・httpを切替えたURLを返す関数を追加。
 */

/*
 * 定数
 */
var doubleClick = true;  //通常画面ダブルクリック判定用

/*
 * フォームを指定したアクションにSubmitする。(ダブルクリックチェック無し)
 * 【引数】
 *  uri:         SubmitするURI。一般には「XXXXXn.jsp（非表示JSP）」
 *  indexOfForm: HTMLの中の何番目のformオブジェクトをSubmitするかのインデクス。
 *               あるいはフォームオブジェクト名。
 *               未指定の場合はイベントを駆動したエレメントの属するフォームになる。
 *  target:      Submitするtarget。未指定の場合はフォームオブジェクトのデフォルトのターゲットになる。
 */
function doSubmitNonCheck(uri, indexOfForm, target) {
		// 対象となるformオブジェクトを特定
		var form;
		if(isUndefined(indexOfForm) == true){
			form = document.forms[0];
		}else{
			form = document.forms[indexOfForm];
		}

		var keepTarget;
		if(isUndefined(target) == true){
			form.target='_self'
		} else {
			keepTarget = form.target;
			form.target = target;
		}
		
		form.action = uri;
		form.submit();

		if(isUndefined(target) != true){
			form.target = keepTarget;
		}

}


/*
 * フォームを指定したアクションにSubmitする。
 * 【引数】
 *  uri:         SubmitするURI。一般には「XXXXXn.jsp（非表示JSP）」
 *  indexOfForm: HTMLの中の何番目のformオブジェクトをSubmitするかのインデクス。
 *               あるいはフォームオブジェクト名。
 *               未指定の場合はイベントを駆動したエレメントの属するフォームになる。
 *  target:      Submitするtarget。未指定の場合はフォームオブジェクトのデフォルトのターゲットになる。
 */
function doSubmit(uri, indexOfForm, target) {
	if(doubleClick == true){
		doubleClick = false;

		// 対象となるformオブジェクトを特定
		var form;
		if(isUndefined(indexOfForm) == true){
			form = document.forms[0];
		}else{
			form = document.forms[indexOfForm];
		}

		var keepTarget;
		if(isUndefined(target) == true){
			form.target='_self';
		} else {
			keepTarget = form.target;
			form.target = target;
		}
		
		form.action = uri;
		form.submit();

		if(isUndefined(target) != true){
			form.target = keepTarget;
		}
	}
}


/*
 * 変数が定義済みであるか判定
 * 【引数】
 *  arg:         判定する引数
 * 【戻り値】
 *  boolean:     定義済みの場合true、未定義の場合false
 */
function isUndefined(arg) {
	var flg =  (typeof(arg)=='undefined'); 
	return flg;
}


/*
 * コマンド設定
 * 【引数】
 *  cmd:         Submitするコマンド
 *  indexOfForm: HTMLの中の何番目のformオブジェクトをSubmitするかのインデックス。
 *               あるいはフォームオブジェクト名。
 *               未指定の場合はイベントを駆動したエレメントの属するフォームになる。
 */
function setCommand(cmd, indexOfForm) {

		// 対象となるformオブジェクトを特定
		var form;
		if(isUndefined(indexOfForm) == true){
			form = document.forms[0];
		}else{
			form = document.forms[indexOfForm];
		}
		// コマンドの設定
		form.cmd.value=cmd;
}
/*
 * ページNo設定
 * 【引数】
 *  pageNo:      ページ番号
 *  indexOfForm: HTMLの中の何番目のformオブジェクトをSubmitするかのインデックス。
 *               あるいはフォームオブジェクト名。
 *               未指定の場合はイベントを駆動したエレメントの属するフォームになる。
 */
function setPageNo(pageNo, indexOfForm) {

		// 対象となるformオブジェクトを特定
		var form;
		if(isUndefined(indexOfForm) == true){
			form = document.forms[0];
		}else{
			form = document.forms[indexOfForm];
		}
		// コマンドの設定
		form.pageNo.value=pageNo;
}

/*
 *  SSLチェックボックスにチェックが付いていた場合、
 *  httpsで始まるURLを返却します。
 *  それ以外の場合、httpで始まるURLを返却します。
 *  ※ 引数preUrlにて渡される値がhttp, httpsどちらであっても
 *     当関数により書き換えられます。
 * 【引数】
 *  jspName     : jsp名                       / 例）'HS1A010n.jsp'
 *  param       : パラメータ                  / 例）'cmd=INIT&proc_Kbn=1'
 *  sslChkBoxId : SSLチェックボックスのid     / 例）'sslc'
 *  preUrl      : jsp名が存在しない状態のURL  / 例）'https://127.0.0.1:8080/rhaken/r/?_u=123456789'
 * 【戻り値】
 *  url         : URL                         / 例）https://127.0.0.1:8080/rhaken/r/HS1A010n.jsp?cmd=INIT&proc_Kbn=1&_u=123456789
 */
function getUrlSSL(jspName, param, sslChkBoxId, preUrl) {
    var DELIMIT_PROTOCOL = "://";
    var DELIMIT_PARAM = "?";
    var noneProtocolUrl = preUrl.split(DELIMIT_PROTOCOL)[1];
    var splitUrl = noneProtocolUrl.split(DELIMIT_PARAM);
    var url = "";
    if (document.getElementById(sslChkBoxId).checked) {
        url = "https" + DELIMIT_PROTOCOL + splitUrl[0] + jspName + DELIMIT_PARAM + param + "&" + splitUrl[1];
    } else {
        url = "http" + DELIMIT_PROTOCOL + splitUrl[0] + jspName + DELIMIT_PARAM + param + "&" + splitUrl[1];
    }
    return url;
}

