// フォームチェック通常色・警告色
//////////////////////////////////////////////////////////////////////////////// 
blur_color  = "#FFFFFF";
focus_color = "#DDDDDD";


// フォーム送信
////////////////////////////////////////////////////////////////////////////////
function Submit(form_name){
	var alert_message = '';
	
	// チェック
	// ===========================================================================
	if(!CheckForm("text",form_name,"name")){
		alert_message += '"お名前" を入力してください。\n';
	}
	if(!CheckForm("text",form_name,"penname")){
		alert_message += '"ペンネーム" を入力してください。\n';
	}
	if(!CheckForm("text",form_name,"age")){
		alert_message += '"年齢" を入力してください。\n';
	}
	if(!CheckForm("text",form_name,"address")){
		alert_message += '"住所" を入力してください。\n';
	}
	if(!CheckForm("text",form_name,"zip1")){
		if(!CheckForm("text",form_name,"zip2")){
			alert_message += '"郵便番号" を入力してください。\n';
		}else{
			alert_message += '"郵便番号" を入力してください。\n';
		}
	}
	if(!CheckForm("text",form_name,"mail")){
		alert_message += '"メールアドレス" を入力してください。\n';
	}else if(!CheckForm("mail",form_name,"mail")){
		alert_message += '"メールアドレス" を正しく入力してください。\n';
	}
	if(!CheckForm("check",form_name,"genre[]",4)){
		alert_message += '"おすすめ作品ジャンル" を入力してください。\n';
	}
	if(!CheckForm("text",form_name,"title")){
		alert_message += '"おすすめ作品タイトル" を入力してください。\n';
	}
	if( document.forms[form_name].elements['genre[]'][2].checked != true ){
		if(!CheckForm("text",form_name,"device")){
			alert_message += '"機種名/著書名/アーティスト名" を入力してください。\n';
		}
	}else{
		 document.forms[form_name].elements['device'].style.backgroundColor = blur_color;
	}
	if(!CheckForm("text",form_name,"message")){
		alert_message += '"レコメンド文" を入力してください。\n';
	}
	
	if(!CheckForm("check",form_name,"agree")){
		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 == "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 == "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 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;
			}
		}
	}
}


