
  // ***********************************
  //  指定INPUT(button or image)のnameをactionに付加してSubmitします。
  //  @param object   Input(button or image)
  // ***********************************
  var submitFlag = false;
  function doCommand(oInput){
    if (!oInput || oInput.tagName !=('INPUT')) {
        return false;
    }

    // actionの生成
    var original = oInput.form.action; // 元のアクションを退避
      var actions = oInput.form.action.split('/');
      if (oInput.name) {
          actions.push(oInput.name);
      }

    // submit??
    oInput.form.action = actions.join('/');
    if( submitFlag )
    {
      // 多重submitの抑制
      return false;
        }
        else
        {
      oInput.form.submit();
      submitFlag = true;
    }

    suppressMultiEntry();

    return false;
  }

  // ***********************************
  //  formのactionで指定されたURI以外のactionに遷移する。
  //  又は、formのactionで指定されたURI以外の
  //  actionのサブルーチンに遷移する。
  //
  //  @param object
  //  @param action
  // ***********************************
  function doCommandNext(object, action){
    if (object == null) return;
    if (action == '') return;

    //
    var sub = object.name;

    // action
    var newAction = '';
    var actions = action.split('/');
    newAction = actions.join('/');
    if (sub != '') {
      newAction += '/' + sub
    }
    
    suppressMultiEntry();

    // submit
    object.form.action = newAction;
    object.form.submit();
  }

// ***************************************
// 指定ログインIDをマイページのパラメータと
// して設定しマイページトップに遷移します。
// 対象ログインIDを設定するフィールドのidは"target_login_id"
// ボタンのidは"mypage"である必要があります。
// @param sTargetId 対象となるログインID
// ***************************************
function FwdMyPage(sTargetId) {
  // ログインユーザIDを設定するフィールドを取得
  var target = document.getElementById("target_id");
   if (!target || !sTargetId) {
       return;
   }
     target.value = sTargetId;

     // MyPageボタンをクリック
     var button = document.getElementById("mypage");
     if (!button || button.disabled) {
       // ボタンが存在しないか無効の場合
       return;
     }
     button.click();
}

// ***************************************
// 指定ログインIDをパラメータとして設定し
// 指定actionに遷移します。
// 対象ログインIDを設定するフィールドのidは"target_id"
// である必要があります。
// @param sTargetId 対象となるログインID
// @param action formのactionに指定するパス
// ***************************************
function FwdPage(sTargetId, action) {
  // ログインユーザIDを設定するフィールドを取得
   if (!sTargetId || !action) {
       return;
   }
  var target = document.getElementById("target_id");
  target.value = sTargetId;

  var form = target.form;
  form.action = action;
  form.submit();
}

// ***************************************
// 一覧画面でターゲットのユーザIDを保持してページ切り替えをします。
// idがtarget_idにターゲットのユーザIDが指定されている必要があります。
// @param page 表示したいページ番号
// @param action formのactionに指定するパス
// ***************************************
function ChangePage(page, action){
  var goPageActioin = action + page;
  var target_id = document.getElementById('target_id').value;
  FwdPage(target_id, goPageActioin);
}

// ************************************
// フォームからの2重送信を抑制するためのスクリプト。
// submitボタンを押下した後、ボタンをdisableにします。
// @param target 無効化対象となるオブジェクト。
//               nullを指定すると、idがsuppressMultiEntryのタグが無効化される。
//        doSubmit  INPUTタグの場合、submit()を自動で実行するなら1。しないなら0。
// ************************************
function suppressMultiEntry(target, doSubmit) {
	return _suppressMultiEntry(target, doSubmit);
}

function _suppressMultiEntry(target, doSubmit) {
    var originalURI = "";
	
    // for IE(id=suppressMultiEntryが複数存在する場合)
    if( document.all && document.all.item('suppressMultiEntry') )
    {
        if( document.all.item('suppressMultiEntry').length )
        {
            // タグを無効化する
            for( i = 0; i < document.all.item('suppressMultiEntry').length; i++ )
            {
               document.all.item('suppressMultiEntry', i).disabled = true;

               if( "A" == document.all.item('suppressMultiEntry', i).tagName )
               {
                    // 指定されたAタグならば
                    if( target )
                    {
                        if( target == document.all.item('suppressMultiEntry', i) )
                        {
                            // リンク先を覚えておく
                            originalURI = target.href;
                        }
                    }
                    // Aタグからhref属性を取り除く
                    document.all.item('suppressMultiEntry', i).hrefBK = document.all.item('suppressMultiEntry', i).href;
                    document.all.item('suppressMultiEntry', i).removeAttribute('href');
               }
            }
        }
        else
        {
            document.all.item('suppressMultiEntry').disabled = true;

            if( "A" == document.all.item('suppressMultiEntry').tagName )
            {
                // 指定されたAタグならば
                if( target )
                {
                    if( target == document.all.item('suppressMultiEntry') )
                    {
                        // リンク先を覚えておく
                        originalURI = target.href;
                    }
                }
                // Aタグからhref属性を取り除く。
                document.all.item('suppressMultiEntry').hrefBK = document.all.item('suppressMultiEntry').href;
                document.all.item('suppressMultiEntry').removeAttribute("href");
            }
        }
    }
    // for FireFox
    else if( document.getElementById('suppressMultiEntry') )
    {
        var objRegex = new RegExp('suppressMultiEntry');

        // INPUTタグ無効化
        var objInput = document.getElementsByTagName('INPUT');
        for( i = 0; i < objInput.length; i++ )
        {
            if( objInput[i].id.match(objRegex) )
            {
                objInput[i].disabled = true;
            }
        }

        // Aタグ無効化
        var objA = document.getElementsByTagName('A');
        for( i = 0; i < objA.length; i++ )
        {
            if( objA[i].id.match(objRegex) )
            {
                // 指定されたAタグならば
                if( target )
                {
                    if( target == objA[i] )
                    {
                        // リンク先を覚えておく
                        originalURI = target.href;
                    }
                }
                // Aタグからhref属性を取り除く。
                objA[i].hrefBK = objA[i].href;
                objA[i].removeAttribute('href');

                objA[i].disabled = true;
            }
        }
    }
    else if( target )
    {
        // 指定されたオブジェクトを無効化する。
        if( "A" == target.tagName )
        {
            originalURI = target.href;
            target.hrefBK = target.href;
            target.removeAttribute('href');
        }

        target.disabled = true;
    }

    if( "" != originalURI )
    {
        location.href = originalURI;
    }
    else if( doSubmit )
    {
        target.form.submit();
    }
}

// ************************************
// submitボタンを押下した後、id="suppressMultiEntry"の
// ボタンをenableにします。
// ************************************
function undoMultiEntry() {
    var originalURI = "";
	
    // for IE(id=suppressMultiEntryが複数存在する場合)
    if( document.all && document.all.item('suppressMultiEntry') )
    {
        if( document.all.item('suppressMultiEntry').length )
        {
            // タグを有効化する
            for( i = 0; i < document.all.item('suppressMultiEntry').length; i++ )
            {
            	document.all.item('suppressMultiEntry', i).setAttribute("href", document.all.item('suppressMultiEntry', i).hrefBK);
                document.all.item('suppressMultiEntry', i).disabled = false;
            }
        }
        else
        {
        	document.all.item('suppressMultiEntry').setAttribute("href", document.all.item('suppressMultiEntry').hrefBK);
            document.all.item('suppressMultiEntry').disabled = false;
        }
    }
    // for FireFox
    else if( document.getElementById('suppressMultiEntry') )
    {
        var objRegex = new RegExp('suppressMultiEntry');

        // INPUTタグ有効化
        var objInput = document.getElementsByTagName('INPUT');
        for( i = 0; i < objInput.length; i++ )
        {
            if( objInput[i].id.match(objRegex) )
            {
                objInput[i].disabled = false;
            }
        }

        // Aタグ有効化
        var objA = document.getElementsByTagName('A');
        for( i = 0; i < objA.length; i++ )
        {
            if( objA[i].id.match(objRegex) )
            {
                objA[i].setAttribute('href', objA[i].hrefBK);
                objA[i].disabled = false;
            }
        }
    }
}

// 指定のURLでサブミット
function SendForm(id, url){
	try{
		var form = document.getElementById(id);
		
		form.action = url;
		form.submit();
	
	}catch( e ){
		alert('存在しないファイルが指定されました。');
		undoMultiEntry();
	}
}

