function formCheck() {
	var str;
	var errorStr;
	errorStr = "";
	
	//名前
	str = trim(document.form1.sei.value);
	if(str == '') {
		errorStr += "お名前（姓）が正しく入力されていません。\n";
	} else if(str.length > 300) {
		errorStr += "お名前（姓）の文字数エラーです。\n";
	}
	
	str = trim(document.form1.mei.value);
	if(str == '') {
		errorStr += "お名前（名）が正しく入力されていません。\n";
	} else if(str.length > 300) {
		errorStr += "お名前（名）の文字数エラーです。\n";
	}
	
	
	
	//名前カタカナ
	str = trim(document.form1.sei_kana.value);
	
	if(str == '') {
		errorStr += "フリガナ(姓)が正しく入力されていません。\n";
	} else if(chkKata(str) == false) {
		errorStr += "フリガナ(姓)に全角カタカナ以外の文字が含まれています。\n";
	} else if(str.length > 300) {
		errorStr += "フリガナ(姓)の文字数エラーです。\n";
	}
	
	str = trim(document.form1.mei_kana.value);
	if(str == '') {
		errorStr += "フリガナ(名)が正しく入力されていません。\n";
	} else if(chkKata(str) == false) {
		errorStr += "フリガナ(名)に全角カタカナ以外の文字が含まれています。\n";
	} else if(str.length > 300) {
		errorStr += "フリガナ(名)の文字数エラーです。\n";
	}
	
	
	
	
	//電話番号
	document.form1.tel1.value = NumRep( document.form1.tel1.value );
	document.form1.tel1.value = hyphenDelete( document.form1.tel1.value );
	
	document.form1.tel2.value = NumRep( document.form1.tel2.value );
	document.form1.tel2.value = hyphenDelete( document.form1.tel2.value );
	
	document.form1.tel3.value = NumRep( document.form1.tel3.value );
	document.form1.tel3.value = hyphenDelete( document.form1.tel3.value );
	
	str = document.form1.tel1.value + document.form1.tel2.value + document.form1.tel3.value;
	
	if(NumChk(str) == false || str.length < 9 || str.length > 19) {
		errorStr += "お電話番号が正しく入力されていません。\n";
	}
	
	//E-mailアドレス
	str = trim(document.form1.email.value);
	if(str.match("mailto:")) {
		document.form1.email.value = str.replace("mailto:","");
		str = document.form1.email.value;
	}
	
	str = trim(document.form1.email_confirm.value);
	if(str.match("mailto:")) {
		document.form1.email_confirm.value = str.replace("mailto:","");
		str = document.form1.email_confirm.value;
	}
	
	if(document.form1.email.value != document.form1.email_confirm.value) {
		errorStr += "E-mailアドレスが確認用のE-mailアドレスと違います。\n";
	} else {
		str = document.form1.email.value;
		if(! str.match(/[!#-9A-~]+@[a-z0-9\-]+\.+[a-z0-9]+/i)){
			errorStr += "E-mailアドレスが正しく入力されていません。\n";
		}
	}
	
	//zipcode
	/*
	document.form1.zip1.value = NumRep(document.form1.zip1.value);
	document.form1.zip2.value = NumRep(document.form1.zip2.value);
	
	str1 = trim(document.form1.zip1.value);
	str2 = trim(document.form1.zip2.value);
	if( (str1 == "" && str2 != "") ||  (str1 != "" && str2 == "") ) {
			errorStr = "郵便番号の値が正しく入力されていません。";
	} else if(str1 != "" && str2 != "") {
		if(NumChk(str1) == false || str1.length > 4 || NumChk(str2) == false || str2.length > 4 ) {
			errorStr = "郵便番号の値が正しく入力されていません。";
		}
	}
	*/
	
	if(
		(document.form1.renraku1.checked == false) &&
		(document.form1.renraku2.checked == false) &&
		(document.form1.renraku3.checked == false) &&
		(document.form1.renraku4.checked == false) 
	) {
		errorStr += "連絡日時がチェックされていません。\n";
	}
	
	
	//内容
	str = trim(document.form1.details.value);
	if(str == '') {
		errorStr += "お問い合わせ内容が入力されていません。\n";
	}
	
	if(errorStr != "") {
		alert(errorStr);
		return false;
	} else {
		return true;
	}
}

function trim(str) {
	if(str == '' || str == null) return '';
	str = str.replace(/ /g, "");
	str = str.replace(/　/g, "");
	return str;
}

function hyphenDelete(str) {
	str = str.replace(/-/g, "");
	return str;
}


//ひらがなチェック
function chkKana(str) {
	data = str.match(/[^あ-ん,"ー","ぁ","ぃ","ぅ","ぇ","ぉ","ゃ","ゅ","ょ","ゎ","ゐ","ゑ"]/g);
	if (data != "") {
		return false;
	}
	return true;
 }


//カタカナチェック
function chkKata(str) {
	data = str.match(/[^ア-ン,"ー","ヴ","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ヮ","ヰ","ヱ"]/g);
	if (data != null) {
		return false;
	}
	return true;
 }



//数値チェック
function NumChk(in_str){ 
	var result = in_str.match(/[0-9 ]*/); 
	if (in_str == result) {
		return true;
	} else {
		return false;
	}
}

//入力された全角数字を半角数字に置き換える
function NumRep(inStr){
	inStr = inStr.replace(/０/g,"0");
	inStr = inStr.replace(/１/g,"1");
	inStr = inStr.replace(/２/g,"2");
	inStr = inStr.replace(/３/g,"3");
	inStr = inStr.replace(/４/g,"4");
	inStr = inStr.replace(/５/g,"5");
	inStr = inStr.replace(/６/g,"6");
	inStr = inStr.replace(/７/g,"7");
	inStr = inStr.replace(/８/g,"8");
	inStr = inStr.replace(/９/g,"9");
	return inStr;
}




