/**
 * コントロール制御系 Javascript
 * 
 * @category Javascript
 * @author   Takeshi
 * @version  2008/05/20 Takeshi 新規作成
 * @version  2008/12/16 Takeshi アプリカント無効化ボタン処理の追加対応
 */


/**
 * CSSクラス変更
 * 
 * @access   public
 * @param    string id [IN]ID 
 * @param    string name [IN]クラス名
 * @param    integer num [IN]行数
 * @return   void
 * @author   Takeshi
 * @version  2008/05/20 Takeshi 新規作成
 */

function changeClass (id, name, num) {
	var obj;
	
	if (num) {
		for (i = 1; i <= num; i++) {
			obj = document.getElementById(id + '_' + i);
			if (obj) {
				obj.className = name;
			}
		}
	} else {
		obj = document.getElementById(id);
		if (obj) {
			obj.className = name;
		}
	}
	
	return 0;
}

/**
 * 行(tr)の背景色変更
 * 
 * @access   public
 * @param    string name [IN]チェックボックスのID名称
 * @param    integer num [IN]行番号
 * @return   void
 * @author   Takeshi
 * @version  2008/09/05 Takeshi 新規作成
 */
function setRowColor (name, num) {
	
	var chk = document.getElementById(name + num);
	
	if (chk.checked == true) {
		changeClass('row' + num, 'ColorOn2');
	} else {
		changeClass('row' + num, 'ColorOff1');
	}
}

/**
 * チェックボックス制御関数
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/05/29 Takeshi 新規作成
 */
function setCheckbox (id) {
	var element;
	
	element = document.getElementById(id);
	if (element.checked == true) {
		element.checked = false;
	} else {
		element.checked = true;
	}
	
	return 0;
}

/**
 * 全チェックボックス制御関数
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/05/29 Takeshi 新規作成
 */
function setAllCheckbox (id, total, num, checked) {
	var element;
	var i;
	
	// 対象チェックボックス
	for (i = 0; i < total; i ++) {
		element = document.getElementById(id + i);
		element.checked = checked;
		setRowColor(id, i);
	}
	// 全チェック制御チェックボックス
	for (i = 0; i < num; i ++) {
		element = document.getElementById(id + '_all' + i);
		if (element) {
			element.checked = checked;
		}
	}
	
	return 0;
}

/**
 * コントロールのEnable制御
 * 
 * @access   public
 * @param    mixed value [IN]設定値
 * @param    integer id [IN]enableになる値
 * @param    string id [IN]制御対象のID
 * @return   void
 * @author   Takeshi
 * @version  2008/06/19 Takeshi 新規作成
 */
function enableControl (value, num, id) {
	
	if (value == num) {
		document.getElementById(id).disabled = false;
//		document.getElementById(id).style.backgroundColor = "#ffffff";
	} else {
		document.getElementById(id).disabled = true;
//		document.getElementById(id).style.backgroundColor = "#cccccc";
	}
}

/**
 * コントロールのDisable制御
 * 
 * @access   public
 * @param    mixed value [IN]設定値
 * @param    integer id [IN]enableになる値
 * @param    string id [IN]制御対象のID
 * @return   void
 * @author   Takeshi
 * @version  2008/06/19 Takeshi 新規作成
 */
function disableControl (value, num, id) {
	
	if (value == num) {
		document.getElementById(id).disabled = true;
//		document.getElementById(id).style.backgroundColor = "#ffffff";
	} else {
		document.getElementById(id).disabled = false;
//		document.getElementById(id).style.backgroundColor = "#cccccc";
	}
}

/**
 * アプリカント詳細ページを開く
 * 
 * @access   public
 * @param    string id [IN]タグID
 * @param    integer aid [IN]アプリカントID
 * @return   void
 * @author   Takeshi
 * @version  2008/06/23 Takeshi 新規作成
 */
function openDetail (aid) {
	
	document.getElementById('detail_aid').value = aid;
	document.frmDetail.submit();
	
	return 0;
}

/**
 * グローバルナビ切り替え
 */

function setElementClassById(elem, value) {
	if(document.getElementById) {
		var obj = document.getElementById(elem);
		if(obj) {
			obj.className = value;
		}
	}
}

function selectMenu (intIdx, intTotal) {
	
	displaySubMenu(intIdx);
	
	for (i = 0; i < intTotal; i ++) {
		if (i != intIdx) {
			setElementClassById('mmn' + i, '');
		} else {
			setElementClassById('mmn' + i, 'btn_on');
		}
	}
	
	return 0;
}

function displaySubMenu (num) {
	
	var total = document.getElementById('mmenu_num').value;
	
	setElementClassById('s_navi' + num,'sn_on');

	for (i = 0; i < total; i ++) {
		if (i != num) {
			setElementClassById('s_navi' + i, 'sn_none');
		}
	}
	
	return 0;
	
}

/**
 * フォームをsubmitしてページを開く
 * 
 * @access   public
 * @param    integer id [IN]ID
 * @return   void
 * @author   Takeshi
 * @version  2008/06/23 Takeshi 新規作成
 */
function submitForm (strForm, strId1, strVal1, strId2, strVal2, strId3, strVal3) {
	
	if (strId1) {
		document.getElementById(strId1).value = strVal1;
	}
	if (strId2) {
		document.getElementById(strId2).value = strVal2;
	}
	if (strId3) {
		document.getElementById(strId3).value = strVal3;
	}
	
	document.getElementById(strForm).submit();
	
	return false;
}

/**
 * 削除確認ダイアログの表示
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/07/09 Takeshi 新規作成
 */
function confirmDelete (strId, strVal) {
	
	if (window.confirm('Are you sure you want to delete it?')) {
		submitForm('frmDelete', strId, strVal);
	}
	
	return 0;
}

/**
 * 無効化確認ダイアログの表示
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/07/09 Takeshi 新規作成
 * @version  2008/12/16 Takeshi アプリカント無効化ボタン処理の追加対応
 */
function confirmDisable (strId, strVal) {
	
	if (window.confirm('Are you sure you want to disable it?')) {
//### Update Start 2008/12/16 Takeshi :アプリカント無効化ボタン処理の追加対応
//		submitForm('frmDisable', strId, strVal);
		if (strId) {
			submitForm('frmDisable', strId, strVal);
		} else {
			submitForm('frmDisable');
		}
//### Update End   2008/12/16 Takeshi :アプリカント無効化ボタン処理の追加対応
	}
	
	return 0;
}

/**
 * 有効化確認ダイアログの表示
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/07/09 Takeshi 新規作成
 */
function confirmEnable (strId, strVal) {
	
	if (window.confirm('Are you sure you want to enable it?')) {
		submitForm('frmEnable', strId, strVal);
	}
	
	return 0;
}

function setValue (strID, strValue) {
	
	document.getElementById(strID).value = strValue;
	
}

function addApp () {
	
	var strId = document.getElementById('lid').value;
	var strNm = document.getElementById('list').value;
	document.getElementById('ml_id').value = strId;
	document.getElementById('ml_nm').value = strNm;
	
	if (((strId != 0) && (strId != 99999)) || (strNm != '')) {
		window.open('about:blank', '__addlist__', 'width=450px,height=350px,menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes');
		document.frmList.submit();
	}
	
	return 0;
}
