//##################################################################################################
//   コントロール用各種変数
//##################################################################################################

var formObj = window.document.inquiry_form;
var input_list = new Array("fMailAddress","fCompany","fLastName","fFirstName");
var win = null;
var mini_flag = false;

var CHK_OK = 'OK！';
//--------------------------------------------------------------------------------------------------
//   input type="text" の 初期状態フラグ
//--------------------------------------------------------------------------------------------------
var DEFAULT_INPUT_FLAG = new Array();
DEFAULT_INPUT_FLAG['fMailAddress'] = true;
DEFAULT_INPUT_FLAG['fCompany'] = true;
DEFAULT_INPUT_FLAG['fLastName'] = true;
DEFAULT_INPUT_FLAG['fFirstName'] = true;
DEFAULT_INPUT_FLAG['fMailAddress_mini'] = true;
DEFAULT_INPUT_FLAG['fCompany_mini'] = true;
DEFAULT_INPUT_FLAG['fLastName_mini'] = true;
DEFAULT_INPUT_FLAG['fFirstName_mini'] = true;
//--------------------------------------------------------------------------------------------------
//   各項目の TH or TD の名前 （エラー時背景色変更に使用）
//--------------------------------------------------------------------------------------------------
var THTD_NAME = new Array();
THTD_NAME['fMailAddress'] = 'fMailAddress';
THTD_NAME['fCompany'] = 'fCompany';
THTD_NAME['fLastName'] = 'fLastName';
THTD_NAME['fFirstName'] = 'fFirstName';

//##################################################################################################
//   テキストフォーカス処理
// ※初期状態の場合、文字色変更、初期値のクリアを行う。
//##################################################################################################
function focusByName(obj,mini) {
	//trueの場合はサイドバーのフォーム
	mini_flag = mini;

	var name = obj.name;
	if( mini_flag ) {
		name += "_mini";
	}

	if (DEFAULT_INPUT_FLAG[ name ]) {
		DEFAULT_INPUT_FLAG[ name ] = false;

		//2008/10/07	K.Asahina
		obj.className = obj.className.replace( "inputGray", "inputBlack" );

//		className = obj.className;
//		className = className.replace('inputEx', '');
//		obj.className = className;
		obj.value = '';
	}

}

//--------------------------------------------------------------------------------------------------
//   指定エリアのOK化 or エラー化
//--------------------------------------------------------------------------------------------------
function changeAreaByMsg(objectName, msg) {
	if (msg == CHK_OK) {
		changeAreaToOk(objectName, msg);
	} else {
		changeAreaToError(objectName, msg);
	}

	is_error();
}

//--------------------------------------------------------------------------------------------------
//   指定エリアのOK化
//--------------------------------------------------------------------------------------------------
function changeAreaToOk(objectName, okMsg) {
	writeDivAreaByIdName( "msg_" + objectName, "");
}

//--------------------------------------------------------------------------------------------------
//   指定エリアのエラー化
//--------------------------------------------------------------------------------------------------
function changeAreaToError(objectName, errMsg) {
	writeDivAreaByIdName( "msg_" + objectName, "・" + errMsg);
}

//--------------------------------------------------------------------------------------------------
//   エラーメッセージの表示
//--------------------------------------------------------------------------------------------------
function writeDivAreaByIdName(objectName, errMsg) {
	var msg = getAttentionMsg( objectName );

	if( msg ) {
		msg.innerHTML = errMsg;
	}
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//　チェック処理コントロール
// イベント発生地点と、発生地点上位のチェックを行う。
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function chkCtl(point) {
	var msg;
	var name;
	var val;

	//----------------------------------------------------------------------------------------------
	//メアドBlur
	name = "fMailAddress";
	val = document.inquiry_form.fMailAddress.value;
	if( mini_flag ) {
		name += "_mini";
		val = document.mini_form.fMailAddress.value;
	}

	if (point == 0) {
		changeAreaByMsg('fMailAddress', chkMailAddress(val, DEFAULT_INPUT_FLAG[ name ]));
	} else if (point > 0) {
		msg = getAttentionMsg( "msg_fMailAddress" );
		if( msg && ( msg.innerHTML == "" || !msg.innerHTML ) ) {
			changeAreaByMsg('fMailAddress', chkMailAddress(val, DEFAULT_INPUT_FLAG[ name ]));
		}
	}

	//----------------------------------------------------------------------------------------------
	//会社名
	name = "fCompany";
	val = document.inquiry_form.fCompany.value;
	if( mini_flag ) {
		name += "_mini";
		val = document.mini_form.fCompany.value;
	}

	if (point == 1) {
		changeAreaByMsg('fCompany', chkTextArea(val, true, '会社名', DEFAULT_INPUT_FLAG[ name ]));
	} else if (point > 1) {
		msg = getAttentionMsg( "msg_fCompany" );
		if( msg && ( msg.innerHTML == "" || !msg.innerHTML ) ) {
			changeAreaByMsg('fCompany', chkTextArea(val, true, '会社名', DEFAULT_INPUT_FLAG[ name ]));
		}
	}

	//----------------------------------------------------------------------------------------------
	//お名前（姓）
	name = "fLastName";
	val = document.inquiry_form.fLastName.value;
	if( mini_flag ) {
		name += "_mini";
		val = document.mini_form.fLastName.value;
	}

	if (point == 2) {
		changeAreaByMsg('fLastName', chkTextArea(val, true, '姓', DEFAULT_INPUT_FLAG[ name ]));
	} else if(point > 2 ) {
		msg = getAttentionMsg( "msg_fLastName" );
		if( msg && ( msg.innerHTML == "" || !msg.innerHTML ) ) {
			changeAreaByMsg('fLastName', chkTextArea(val, true, '姓', DEFAULT_INPUT_FLAG[ name ]));
		}
	}

	//----------------------------------------------------------------------------------------------
	//お名前（名）
	name = "fFirstName";
	val = document.inquiry_form.fFirstName.value;
	if( mini_flag ) {
		name += "_mini";
		val = document.mini_form.fFirstName.value;
	}

	if (point == 3) {
		changeAreaByMsg('fFirstName', chkTextArea(val, true, '名', DEFAULT_INPUT_FLAG[ name ]));
	} else if (point > 3) {
		msg = getAttentionMsg( "msg_fFirstName" );
		if( msg && ( msg.innerHTML == "" || !msg.innerHTML ) ) {
			changeAreaByMsg('fFirstName', chkTextArea(val, true, '名', DEFAULT_INPUT_FLAG[ name ]));
		}
	}


	mini_flag = false;
}

//--------------------------------------------------------------------------------------------------
//確認ボタン押下
//--------------------------------------------------------------------------------------------------
function confirmButtonClick( mini, mm ) {
	//trueの場合はサイドバーのフォーム
	mini_flag = mini;

	//全ての項目チェック
	chkCtl(99);

	mini_flag = mini;

	if( is_error() ) {
	}
	else {
		//入力確認スライド
		if( mm ) {
			win = openConfirmSlideMM(window.document.inquiry_form);
		}
		else if( mini ) {
			win = openConfirmSlide(window.document.mini_form);
		}
		else {
			win = openConfirmSlide(window.document.inquiry_form);
		}
	}
}

//--------------------------------------------------------------------------------------------------
//エラー確認
//--------------------------------------------------------------------------------------------------
function is_error() {
	var error = false;
	var idx;
	var msg;
	for( idx=0; idx<input_list.length; idx++ ) {
		msg = getAttentionMsg( "msg_" + input_list[ idx ] );

		if( msg && msg.innerHTML != "" ) {
			error = true;
			break;
		}
	}

	var name = "formAttention";
	if( mini_flag ) {
		name += "_mini";
	}

	var attention = document.getElementById( name );

	if( error ) {
		attention.style.display = "";
	}
	else {
		attention.style.display = "none";
	}

	return( error );
}

//--------------------------------------------------------------------------------------------------
//メッセージエリア取得
//--------------------------------------------------------------------------------------------------
function getAttentionMsg( id ) {
	var attention = "formAttention";
	if( mini_flag ) {
		attention += "_mini";
	}

	var err = document.getElementById( attention );
	var list = err.getElementsByTagName( "span" );
	for( var idx=0; idx<list.length; idx++ ) {
		if( list[ idx ].id == id ) {
			return( list[ idx ] );
		}
	}

	return( null );
}
