/*
 *	RMK共通関数
 *
*/

/*
 * 要素を取得する(ブラウザ対応)
 *
 * 指定されたIDの要素を取得する
 * 
 * @param	string		v_id		要素のID
 * @return						要素
 * @access	public
 */
function fRMKCommonGetElementById( v_id )
{
	var v_object = null;
	
	// getElementById使用
	if ( document.getElementById ) {
		v_object = document.getElementById( v_id );
		
	// getElementById未使用
	} else {
		v_object = document.all( v_id );
	}
	
	return v_object;
}

/*
 * 文字数をカウントして表示する
 * (v_max_valueがセットされているときはv_max_valueに対する残り文字数を表示する)
 * 
 * 
 * @param	string		v_input_id		文字入力要素ID
 * @param	string		v_length_id		文字数を表示する要素のID
 * @param	string		v_max_value		[OPTION]最大文字数(デフォルト=null)
 * @access	public
 */
function fRMKCommonDispCharLength( v_input_id, v_length_id, v_max_value )
{
	var v_element = fRMKCommonGetElementById( v_input_id );
	var v_form_value = 0;
	if ( v_max_value ) {
		v_form_value = v_max_value - v_element.value.length;
	} else {
		v_form_value = v_element.value.length;
	}
	
	fRMKCommonGetElementById( v_length_id ).innerHTML = "" + v_form_value;
}

/*
 * 文字数カウンタをセットする
 * (v_max_valueがセットされているときはv_max_valueに対する残り文字数を表示する)
 * 
 * 
 * @param	string		v_input_id		文字入力要素ID
 * @param	string		v_length_id		文字数を表示する要素のID
 * @param	string		v_max_value		[OPTION]最大文字数(デフォルト=null)
 * @access	public
 */
function fRMKSetCharLengthCounter( v_input_id, v_length_id, v_max_value )
{
	
	//初期値用に一度実行
	fRMKCommonDispCharLength( v_input_id, v_length_id, v_max_value );
	
	// イベントハンドラを設定
	var v_element = fRMKCommonGetElementById( v_input_id );
	v_element.onkeyup = ( function ( v_input_id_sub, v_length_id_sub, v_max_value_sub )
	{
		// 引数つきで渡したいためラップ関数を利用(通常はイベントハンドらには引数は渡せない)
		return function ()
		{
			// 実際の呼び出し
			fRMKCommonDispCharLength( v_input_id_sub, v_length_id_sub, v_max_value_sub );
		};
	} )( v_input_id, v_length_id, v_max_value );
}

/*
 * カテゴリ選択用submit関数
 * 
 * 
 * @param	string		v_element			文字入力要素ID
 * @param	string		v_submit_name			サブミット用の名前(hiddenをId="hidden_submit_id"で埋め込んでおく必要あり)
 * @access	public
 */
function fRMKCommonCategorySubmit(v_element,v_submit_name) {
	// 親階層のformを取得する
	var v_form = v_element;
	while ( v_form ) {
		v_form = v_form.parentNode;
		if ( v_form.nodeName == "FORM" ) {
			break;
		} else if ( v_form.nodeName == "BODY" ) {
			return false;
		}
	}
	
	// サブミット用の名前をhiddenの値として作成
	var v_element = document.createElement("input");
	v_element.type = "hidden";
	v_element.name = v_submit_name;
	v_element.value = "1";
	v_form.appendChild( v_element );
	
	// submit
	v_form.submit();
}

/*
 * 納期サブウィンドウ表示
 * 
 * 
 * @param	string		rc_code			商品コード
 * @access	public
 */
function fRMKCommonPopDeliveryDateWindow( url ){
	delivery_date = window.open( url, "viewDeliveryDate","width=620px, height=500px,scrollbars=yes, titlebar=yes, derectories=no, location=no, menubar=no,left=0,top=100");
	delivery_date.focus();
}

/*
 * 配送番号（佐川）サブウィンドウ表示
 * 
 * 
 * @param	string		rc_code			商品コード
 * @access	public
 */
function fRMKCommonPopSagawaWindow( url ){
	delivery_date = window.open( url, "viewDeliveryDate","width=800px, height=650px,scrollbars=yes, titlebar=yes, derectories=no, location=no, menubar=no,left=0,top=100");
	delivery_date.focus();
}

