function validateYoyaku(theForm) {
	// Check for name
	//if (theForm.name.value == "") { alert("お名前を入力してください"); theForm.name.focus(); return false; }
	if ((theForm.name.value == "") || (!(alphanumCheck(theForm.name.value, 6)))) { alert("お名前を漢字で入力してください"); theForm.name.focus(); return false; }
	if ((theForm.furigana.value == "") || (!(alphanumCheck(theForm.furigana.value, 6)))) { alert("フリガナ(お名前)を全角カタカナで入力してください"); theForm.furigana.focus(); return false; }
	if (!theForm.sex[0].checked && !theForm.sex[1].checked) { alert("性別を選択して下さい"); theForm.sex[0].focus(); return false; }
	//if (theForm.age.value != "" && !(alphanumCheck(theForm.age.value, 1))) { alert("ご年齢を数字で入力してください"); theForm.age.focus(); return false; }
	if ((theForm.tel1.value == "") || (!(alphanumCheck(theForm.tel1.value, 3)))) { alert("連絡先電話番号を数字と「ー」で入力してください"); theForm.tel1.focus(); return false; }
    var email = theForm.email.value;
	if (!(emailCheck(email))) {
		theForm.email.focus();
		return (false);
	}

	if (!theForm.contact_type[0].checked && !theForm.contact_type[1].checked && !theForm.contact_type[2].checked) { alert("連絡方法を選択して下さい"); theForm.contact_type[0].focus(); return false; }
	
	if (theForm.contact_type[0].checked || theForm.contact_type[2].checked) {
	  if (theForm.contact_xm_fr.selectedIndex == 0) { alert("お電話可能な時間帯を選択して下さい。"); theForm.contact_xm_fr.focus(); return false; } 
  	  if (theForm.contact_xm_to.selectedIndex == 0) { alert("お電話可能な時間帯を選択して下さい。"); theForm.contact_xm_to.focus(); return false; }
	  var time_shift_fr;
	  var time_shift_fr;
	  if (theForm.contact_xm_fr.options[theForm.contact_xm_fr.selectedIndex].value == "午後") { time_shift_fr = 12; } else { time_shift_fr = 0; }
	  if (theForm.contact_xm_to.options[theForm.contact_xm_to.selectedIndex].value == "午後") { time_shift_to = 12; } else { time_shift_to = 0; }	  
	  if (theForm.contact_hh_fr.selectedIndex == 0) { alert("お電話可能な時間帯（時）を選択して下さい。"); theForm.contact_hh_fr.focus(); return false; } 
	  if (theForm.contact_mm_fr.selectedIndex == 0) { alert("お電話可能な時間帯（分）を選択して下さい。"); theForm.contact_mm_fr.focus(); return false; } 
	  if (theForm.contact_hh_to.selectedIndex == 0) { alert("お電話可能な時間帯（時）を選択して下さい。"); theForm.contact_hh_to.focus(); return false; } 
	  if (theForm.contact_mm_to.selectedIndex == 0) { alert("お電話可能な時間帯（分）を選択して下さい。"); theForm.contact_mm_to.focus(); return false; } 
      time_fr = ((theForm.contact_hh_fr.options[theForm.contact_hh_fr.selectedIndex].value+time_shift_fr) + '' + theForm.contact_mm_fr.options[theForm.contact_mm_fr.selectedIndex].value)*1;
	  time_to = ((theForm.contact_hh_to.options[theForm.contact_hh_to.selectedIndex].value+time_shift_to) + '' + theForm.contact_mm_to.options[theForm.contact_mm_to.selectedIndex].value)*1;
	  if (time_fr >= time_to) { alert("お電話可能な時間帯が不正です"); theForm.contact_hh_fr.focus(); return false; }
	  	  
	  /*
	  if (theForm.contact_hh_fr.value == "" || !alphanumCheck(theForm.contact_hh_fr.value, 1)) { alert("お電話可能な時間帯を数字で入力してください。"); theForm.contact_hh_fr.focus(); return false; } 
	  if (theForm.contact_mm_fr.value == "" || !alphanumCheck(theForm.contact_mm_fr.value, 1)) { alert("お電話可能な時間帯を数字で入力してください。"); theForm.contact_mm_fr.focus(); return false; } 
	  if (theForm.contact_hh_to.value == "" || !alphanumCheck(theForm.contact_hh_to.value, 1)) { alert("お電話可能な時間帯を数字で入力してください。"); theForm.contact_hh_to.focus(); return false; } 
	  if (theForm.contact_mm_to.value == "" || !alphanumCheck(theForm.contact_mm_to.value, 1)) { alert("お電話可能な時間帯を数字で入力してください。"); theForm.contact_mm_to.focus(); return false; } 
	  time_fr = (theForm.contact_hh_fr.value + '' + theForm.contact_mm_fr.value)*1;
	  time_to = (theForm.contact_hh_to.value + '' + theForm.contact_mm_to.value)*1;
	  if (time_fr >= time_to) { alert("お電話可能な時間帯が不正です"); theForm.contact_hh_fr.focus(); return false; }
	  */
	}
	
	
	if (theForm.year.selectedIndex != 0 || theForm.month.selectedIndex != 0 || theForm.day.selectedIndex != 0 || theForm.time.selectedIndex != 0) {
	  if (theForm.year.selectedIndex == 0 || theForm.month.selectedIndex == 0 || theForm.day.selectedIndex == 0 || theForm.time.selectedIndex == 0) {
	    alert("ご予約日時を選択して下さい");
		theForm.year.focus();
		return false;
	  }
	  else {
	    ryear = theForm.year.options[theForm.year.selectedIndex].value;
	    rmonth = theForm.month.options[theForm.month.selectedIndex].value;
		rday = theForm.day.options[theForm.day.selectedIndex].value;
		rtime = theForm.time.options[theForm.time.selectedIndex].value.split(":")
		rhour = rtime[0];
		rmin = rtime[1];
		rsec = 0;
		rdate = new Date(ryear, (rmonth-1), rday, rhour, rmin, rsec);
		now = new Date();
		if (!isDate(ryear+'/'+rmonth+'/'+rday)) { return false; }
    	if (rdate < now) { alert("ご予約日が正しくありません"); theForm.year.focus(); return false; }
	  }
	}	
	
	if (theForm.menu.options[theForm.menu.selectedIndex].value == "") { alert("ご予約メニューを選択して下さい"); theForm.menu.focus(); return false; }
	
	// Check for subject and description	
	if (theForm.subject.value == "") { alert("件名を入力してください"); theForm.subject.focus(); return false; }
	//if (theForm.description.value == "") { alert("お問い合わせ内容を入力ください"); theForm.description.focus(); return false; }

	return true;
}