// クリック済み判定フラグ
var alreadyClicked = false;
// キャンセル判定フラグ
var isCanceled = false;

/**
 * リクエスト送信制御
 * @param formElementName    サブミットするフォーム名
 * @param path               遷移先パス名
 * @param key                パラメータ名の配列
 * @param value              パラメータ値の配列
 * @param continuous         連続押下許可フラグ
 */
function Win3Request(formElementName, path, key, value, continuous) {

    // フォーム名チェック
    if (formElementName == null || formElementName == "") {
        // フォーム名がnullあるいは空文字列の場合、何もせずに応終了
        return false;
    }

    // 指定したフォームの存在チェック
    if (document.forms[formElementName] == null 
        || typeof document.forms[formElementName] == "undefined") {
        // 指定したフォームが画面内に存在しない場合、何もせずに応終了
        return false;
    }

    // 遷移先パスチェック
    if (path == null || path == "") {
        // 遷移先パスがnullあるいは空文字列の場合、何もせずに応終了
        return false;
    }

    // キャンセル判定
    if (isCanceled == true) {
        isCanceled = false;
        return false;
    }
    
    // クリック済み判定
    if (alreadyClicked == true) {
        // クリック済みの場合、何もせずに応終了
        return false;
    }
    
    // 連続押下許可フラグ判定
    if (continuous == false) {
        // 連続押下不許可の場合、クリック済みフラグを済みに更新
        alreadyClicked = true;
    }

    // パラメータ判定
    if (key != null && key.constructor == Array 
        && value != null && value.constructor == Array
        && key.length == value.length) {
        // パラメータ名及びパラメータ値が配列かつ配列長が一致する場合、フォーム要素に値を設定
        for (i=0; i < key.length; i++) {
            // フォーム要素の存在チェック
            if (document.forms[formElementName].elements[key[i]] != null 
                && typeof document.forms[formElementName].elements[key[i]] != "undefined") {
                // 存在する場合、該当するオブジェクトに値を設定する。
                document.forms[formElementName].elements[key[i]].value = value[i];
            }
        }
    }
    
    // 遷移先パスを設定
    document.forms[formElementName].action = path;
    // フォーム送信
    document.forms[formElementName].submit();
    
    return false;
}
/**
 * 中止
 */
function Win3Abort() {
    isCanceled = true;
}

/** 
 * ウィンドウ閉じる
 */
function Win3WindowClose(){
    window.opener=true;
    window.close();
}
//二度押し制御対応ダイアログ表示
function Win3Confirm( message ){
    if ( alreadyClicked == true ){
        return false;
    }
    return confirm( message );
}

function Win3Alert( message ){
    if ( alreadyClicked == true ){
        return false;
    }
    return alert( message );
}
// サブミット
function GoSubmit(msg){
    if (false == Win3Confirm(msg +" しますか?")) {
        Win3Abort();
    }
}
// ログアウト
function GoLogout(){
    if (false == Win3Confirm("ログアウトしますか？")) {
        Win3Abort();
    }
}
function MM_goToURL() {
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
win = null;
function OpenWin(url,width,height,target){
  newin = 'width=' + width + ',height=' + height  +',resizable=yes,scrollbars=yes';
  if(win==null || win.closed) win=window.open(url, target ,newin);
  win.focus();
}
function CloseWin(){
	window.close();
}
function opbg(objRef, sts) {
  objRef.style.backgroundColor = (1 == sts) ? '#EEEEEE' : '#FFFFFF';
  return;
}
function DispOnOf(a,b,c){
  document.getElementById(a).style.display='block';
  document.getElementById(b).style.display='none';
  if(!!document.getElementById(c)){
    document.getElementById(c).style.display='none';
  }
}

