/**
 * コントロール制御系 Javascript
 * 
 * @category Javascript
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */

/**
 * チェックボックス制御関数
 * 
 * @access   public
 * @param    void
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 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/08/25 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;
	}
	// 全チェック制御チェックボックス
	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    mixed select [IN]enableになる値
 * @param    string id [IN]制御対象のID
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */
function enableControl (value, select, id) {
	var element = document.getElementById(id);
	
	if (value == select) {
		element.disabled = false;
	} else {
		element.disabled = true;
	}
}

/**
 * コントロールのVisible制御
 * 
 * @access   public
 * @param    mixed value [IN]設定値
 * @param    mixed select [IN]enableになる値
 * @param    string id [IN]制御対象のID
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */
function visibleControl (value, select, id) {
	
	if (value == select) {
	document.getElementById(id).style.visibility = "visible";
	} else {
	document.getElementById(id).style.visibility = "hidden";
	}
	
	return 0;
}

/**
 * コントロールのDisable制御
 * 
 * @access   public
 * @param    mixed value [IN]設定値
 * @param    mixed select [IN]disableになる値
 * @param    string id [IN]制御対象のID
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */
function disableControl (value, select, id) {
	
	if (value == select) {
		document.getElementById(id).disabled = true;
	} else {
		document.getElementById(id).disabled = false;
	}
}

/**
 * クラス変更
 * 
 * @access   public
 * @param    string elem [IN]制御対象のID
 * @param    string value [IN]設定するクラス名
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */
function setElementClassById(id, value) {
	if(document.getElementById) {
		var obj = document.getElementById(id);
		if(obj) {
			obj.className = value;
		}
	}
}

/**
 * IDによるValueの設定
 * 
 * @access   public
 * @param    string strId [IN]
 * @param    string strVal [IN]
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 Takeshi カテゴリ検索/距離順ソート/サンプル写真対応
 */
function setValueById (strId, strVal) {
	document.getElementById(strId).value = strVal;
	
	return 0;
}

/**
 * フォームをsubmitしてページを開く
 * 
 * @access   public
 * @param    integer id [IN]ID
 * @return   void
 * @author   Takeshi
 * @version  2008/08/25 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 0;
}


