

// init
//////////////////////////////////////////////////////////////////////////////// 
blur_color  = "#ffffff";
focus_color = "#ccfcff";


// フォーム送信
////////////////////////////////////////////////////////////////////////////////
function SubmitForm(form_name){
	var alert_message = '';
	var product_flag = '';
	var use_flag = '';
	// チェック
	// ===========================================================================
	if(form_name == "form1"){
		if(!CheckForm("text",form_name,"name")){
			alert_message += '"名前" を入力してください。\n';
		}
		if(!CheckForm("text",form_name,"email")){
			alert_message += '"Email" を入力してください。\n';
		}else if(!CheckForm("mail",form_name,"email")){
			alert_message += '"Email" を正しく入力してください。\n';
		}
		if(!CheckForm("text",form_name,"subject")){
			alert_message += '"Subject" を入力してください。\n';
		}
		if(!CheckForm("text",form_name,"body")){
			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,str_length){
	/* check_mode     -> チェック方法
	 *                   text   -> 入力状態
	 *                   select -> 選択状態
	 *                   check  -> チェック状態
	 *                   mail   -> メールアドレス文字列
	 *                   tel    -> 電話
	 *                   halfan -> 半角英数
	 *                   halfan2-> 半角英大文字のみ
	 *                   half   -> 半角文字列
	 *                   full   -> 全角文字列
	 *                   number -> 数字
	 *                   full_nenmber -> 全角文字列＆数字
	 *                   full_nenmber -> 全角文字列＆数字
	 *                   check_length -> 長さチェック
	 *
	 * 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 == "mselect"){
		var v = 0;
		for (i = 0; i < form_element.options.length; i++) {
			if (form_element.options[i].selected) {
				v = v + 1;
			}
		}
		if( v ){
			result = true;
		}
	}else if(check_mode == "check"){
		if(arguments.length == 4){
			if(form_element[element_number].checked){
				result = true;
			}
		}else{
			if(form_element.checked){
				result = true;
			}
		}
	}else if(check_mode == "mail"){
		if(form_element.value.match(/^[\w\_\-\.]+\@[\w\-\.]+\.[a-z]+$/)){
			result = true;
		}
	}else if(check_mode == "tel"){
		if(form_element.value.match(/^[0-9\-]+$/)){
			result = true;
		}
	}else if(check_mode == "halfan"){
		if(form_element.value.match(/^[a-zA-Z0-9 ]+$/)){
			result = true;
		}
	}else if(check_mode == "halfan2"){
		if(form_element.value.match(/^[A-Z0-9 ]+$/)){
			result = true;
		}
	}else if(check_mode == "half"){
		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 == "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 == "check_length"){
		if(form_element.value.length <= str_length){
			result = true;
		}
	}else if(check_mode == "full_nenmber"){
		if(form_element.value.match(/^[^\x21-\x7E]+$/) || form_element.value == ""){
			result = true;
		}
	}
	if(result){
		if(check_mode != "check"){
			form_element.style.backgroundColor = blur_color;
		}
		return true;
	}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 ResetForm(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++){
				if( document.forms[form_name].elements[i].type != "button" )
				document.forms[form_name].elements[i].style.backgroundColor = blur_color;
			}
		}
	}
}




