// フォームチェック通常色・警告色
//////////////////////////////////////////////////////////////////////////////// 
blur_color  = "#ffffff";
focus_color = "#cccccc";


// フォーム送信
////////////////////////////////////////////////////////////////////////////////
function Submit(form_name){
	var alert_message = '';
	
	// チェック
	// ===========================================================================
	if( !CheckForm( "text", form_name, "furi" ) ){
		alert_message += '"フリガナ" を入力してください。\n';
	}
	if( !CheckForm( "text", form_name, "name" ) ){
		alert_message += '"氏名" を入力してください。\n';
	}
	//E-mail
	if( !CheckForm( "text", form_name, "mail" ) ){
		alert_message += '"メールアドレス" を入力してください。\n';
	}else if( !CheckForm( "mail", form_name, "mail" ) ){
		alert_message += '"メールアドレス" を正しく入力して下さい。\n';
	}
	//E-mail
	if( !CheckForm( "text", form_name, "comment" ) ){
		alert_message += '"お問い合わせ内容" を入力してください。\n';
	}
	if(alert_message == ''){
		document.forms[form_name].submit();
	}else{
		alert(alert_message);
	}
}



// フォームチェック
////////////////////////////////////////////////////////////////////////////////
function CheckForm(check_mode,form_name,element_name,element_number){
	/* check_mode     -> チェック方法
	 *                   text   -> 入力状態
	 *                   select -> 選択状態
	 *                   check  -> チェック状態
	 *                   mail   -> メールアドレス文字列
	 *                   harf   -> 半角文字列
	 *                   full   -> 全角文字列
	 *                   number -> 数字
	 *                   full_nenmber -> 全角文字列＆数字
	 *
	 * form_name      -> フォーム名
	 * element_name   -> フォームオブジェクト名
	 * element_number -> フォームオブジェクト番号（オプション）
	 */
	
	var form_element = document.forms[form_name].elements[element_name];
	var result       = false;
	
	if(document.layers){
		return true;
	}
	
	if(check_mode == "text"){
		if(form_element.value != ""){
			result = true;
		}
	}else if(check_mode == "select"){
		if(form_element.options[form_element.selectedIndex].value != ""){
			result = true;
		}
	}else if(check_mode == "check"){
		if(element_number != null){
			for(i=0; i<element_number; i++){
				if(form_element[i].checked == true){
					result = true;
				}
			}
		}else{
			if(form_element.checked == true){
				result = true;
			}
		}
	}else if(check_mode == "mail"){
		if(form_element.value.match(/^[\w\_\-\.]+\@[\w\-\.]+\.[a-z]+$/)){
			result = true;
		}
	}else if(check_mode == "harf"){
		if(form_element.value.match(/^[\x21-\x7E]+$/)){
			result = true;
		}
	}else if(check_mode == "full"){
		if(form_element.value.match(/^[^\x21-\x7E]+$/)){
			result = true;
		}
	}else if(check_mode == "hankana"){
		txt = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯｰ､｡｢｣ﾞﾟ";
		for (i=0; i<form_element.value.length; i++) {
			if (txt.indexOf(form_element.value.charAt(i),0) >= 0) {
			}else{
				result = true;
			}
		}
	}else if(check_mode == "zenhira"){
		if(form_element.value.match(/^[あ-ん]+$/)){
			result = true;
		}
	}else if(check_mode == "hannum"){
		if(form_element.value.match(/^[0-9]+$/)){
			result = true;
		}
	}else if(check_mode == "hannumhi"){
		if(form_element.value.match(/^[-0-9]+$/)){
			result = true;
		}
	}else if(check_mode == "number"){
		if(form_element.value.match(/^[0-9]+$/)){
			result = true;
		}
	}else if(check_mode == "4-8length"){
		if(form_element.value.length >= 4 && form_element.value.length <= 8){
			result = true;
		}
	}else if(check_mode == "length_force"){
		if(form_element.value.length == element_number){
			result = true;
		}
	}else if(check_mode == "full_nenmber"){
		if(form_element.value.match(/^[^\x21-\x7E]+$/) || form_element.value == ""){
			result = true;
		}
	}else if(check_mode == "same"){
		var form_element_same1 = document.forms[form_name].elements[element_name];
		var form_element_same2 = document.forms[form_name].elements[element_number];
		if( form_element_same1.value == form_element_same2.value ){
			result = true;
		}
	}
	//エラーの背景色を戻す
	if(result){
	/*
		if(check_mode == "same"){
			form_element_same1.style.backgroundColor = blur_color;
			form_element_same2.style.backgroundColor = blur_color;		
		}else if(check_mode != "check"){
			form_element.style.backgroundColor = blur_color;
		}
		*/
		return true;
	//背景色をフォーカスする
	}else{
	/*
		if(check_mode == "same"){
			form_element_same1.style.backgroundColor = focus_color;
			form_element_same2.style.backgroundColor = focus_color;
		}else if(check_mode != "check"){
			form_element.style.backgroundColor = focus_color;
		}
		*/
		return false;
	}
}
// フォームチェック通常色・警告色リセット
////////////////////////////////////////////////////////////////////////////////
function ResetColor(this_object){
	if(!document.layers){
		this_object.style.backgroundColor = blur_color;
	}
}





// フォームリセット
////////////////////////////////////////////////////////////////////////////////
function Reset(form_name){
	if(confirm("フォームの入力内容をリセットしますが\nよろしいですか？")){
		document.forms[form_name].reset();
		
		if(!document.layers){
			for(var i = 0 ; i < document.forms[form_name].elements.length ; i++){
				document.forms[form_name].elements[i].style.backgroundColor = blur_color;
			}
		}
	}
}

