/* 二重送信制御フラグ */
var submitFlag = true;

/*-----------------------------------------------------------------------------
 * 二重送信抑止
 *
 *【処理内容】
 * ・二重送信チェックを行い、二重送信を抑止する
 *
 *----------------------------------------------------------------------------*/
function avoidDoubleSubmit() {
	if (submitFlag == true) {
		submitFlag = false;
		return true;
	} else {
		submitFlag = false;
		return false;
	}
}

/*-----------------------------------------------------------------------------
 * 各ボタン押下時の各種制御          ---------------------> 廃止
 *
 *【処理内容】
 * ・ボタン名をリクエストとして送信する
 * ・二重送信チェックを行う
 *
 * 引数: buttonName ボタン名
 *
 *----------------------------------------------------------------------------*/
function submitCheck(buttonName) {
	if (submitFlag == true) {
		document.forms[0].button_name.value = buttonName;
		submitFlag = false;
		return true;
		
	} else {
		submitFlag = false;
		return false;
	}
}

/*-----------------------------------------------------------------------------
 * formタグのaction変更
 *
 *【処理内容】
 * ・指定されたフォームのアクション (呼出し先トランザクション) を変更する
 *
 * 引数1: formName   フォーム名
 * 引数2: actionName アクション名 (<アプリケーションID>.<トランザクションID>)
 *
 *----------------------------------------------------------------------------*/
function changeAction(formName, actionName) {

	/* 二重送信抑止 */
	if (avoidDoubleSubmit() == false) {
		return false;
	}

	formObj = document.forms[formName];
	formObj.action = actionName;

	/* 送信 */
	formObj.submit();

	return true;
}

/*-----------------------------------------------------------------------------
 * ボタン制御共通関数
 *
 *【処理内容】
 * ・ボタン制御(戻り or 終了)を行う
 *
 * 引数: pageName ページ名 (トランザクションID)
 *----------------------------------------------------------------------------*/
function sendRedirect(pageName) {
	return changeAction('redirect', pageName);
}

/* 2009.09.07 Y.Hasegawa add start 
 * ボタン活性／非活性の制御関数を追加 */
/*-----------------------------------------------------------------------------
 * フォーム内ボタン一括活性関数
 *
 *【処理内容】
 * ・引数に指定したフォーム配下の対象ボタンを一括で活性化する。
 * 【対象ボタン】
 * ・<input>タグのtype属性が button, submit, reset, file のもの。
 * ・<button>タグ
 *
 * 引数: formName フォーム名
 *----------------------------------------------------------------------------*/
function unLockButton(formName){

	/* フォーム配下のオブジェクト群を取得 */
	var formObj = document.forms[formName];
	var len = formObj.elements.length;
	var types;
	
	/* オブジェクトが対象ボタンの場合、活性化 */
	for (i = 0; i < len; i++) {
		types = formObj.elements[i].type;
		if ( types == "button") {
			formObj.elements[i].disabled=false;
		} else if ( types == "submit" ) {
			formObj.elements[i].disabled=false;
		} else if ( types == "reset" ) {
			formObj.elements[i].disabled=false;
		} else if ( types == "file" ) {
			formObj.elements[i].disabled=false;
		}
	}
}
 
/*-----------------------------------------------------------------------------
 * ボタンの活性／非活性切替関数
 *
 *【処理内容】
 * ・引数に指定したフォーム配下のボタンの活性／非活性の切替を行う。
 *
 * 引数1: formName フォーム名
 * 引数2: buttonName ボタン名
 *----------------------------------------------------------------------------*/
function unLockButtonByName(formName,buttonName){

	/* 引数より対象オブジェクトを取得 */
	var targetObj = document.forms[formName].elements[buttonName];
	
	/* 対象オブジェクトの活性状態を取得 */
	var disabledFlag = targetObj.disabled;
	
	/*活性／非活性の切替 */
	if (disabledFlag == false) {
		targetObj.disabled = true;
	} else {
		targetObj.disabled = false;
	}
}

/* 2009.09.07 Y.Hasegawa add end */