


var states = new Array('北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','新潟県','富山県','石川県','福井県','山梨県','長野県','岐阜県','静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県','奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県');
var form_ids = new Array('year','hour','month');


$(document).ready(function(){
	var myRules = jQuery.validationAide.getDefaultValidationRules();
	myRules.add('validator-monday', '月曜日は定休日となっております。', function(fieldValue, fieldObj) {
		if(checkAvailable()){
			return true;
		}
		if (fieldValue == '月'){
			return false;
		}
		return true;
	});
	for(var i=0; i<notAvailableMessage.length; i++){
		myRules.add('validate-nonavailable' + (i+1), notAvailableMessage[i], function(fieldValue, fieldObj){
			var id = this.name.charAt(this.name.length-1)-1;
			return workcheck(id);
		});
	}
	/*
	myRules.add('validate-nonavailable1', notAvailableMessage[0], function(fieldValue, fieldObj){
		return workcheck(0)
	});
	myRules.add('validate-nonavailable2', notAvailableMessage[1], function(fieldValue, fieldObj){
		return workcheck(1);
	});
	*/
	//myRules.add('validate-nonavailable3', notAvailableMessage[2], function);
	myRules.add('validate-select', '選択されていません', function(fieldValue, fieldObj){
		if(fieldObj.selectedIndex==0 || fieldValue=='') return false;
		return true;
	});
	myRules.add('validate-date', 'ご希望日を選択してください', function(fieldValue, fieldObj){
		return datecheck();
	})
	myRules.add('validate-time', 'ご予約可能時間は11時30分〜20時00分となっております', function(fieldValue, fieldObj){
		return timecheck();
	});
	myRules.add('validate-menu1', 'カウンター席『月兎庵』は、17時より営業となっております。ご了承ください', function(fieldValue, fieldObj){
		return menuCheck1();
	})
	$('#f_reservation').validationAideEnable(myRules);
});


function hideFormElement(){

}
function setForm() {
	d = new Date();
	document.reservation.year.selectedIndex = d.getFullYear();
//	document.reservation.month.selectedIndex = d.getMonth();
//	document.reservation.day.selectedIndex = d.getDate() - 1;
//	setWDay();
}

function setWDay() {
	year = Number(document.reservation.year.value);
	month = Number(document.reservation.month.value) - 1;
	day = Number(document.reservation.day.value);
	document.reservation.wday.selectedIndex = new Date(year, month, day).getDay() + 1;
	$('#reservation_day').value= day + month + year;
}

function checkForm() {
	f = document.reservation;

	for (i=1; i<=3; i++) {
		if (f[i].selectedIndex == 0) {
			alert('ご予約希望日時を入力してください。');
			return false;
		}
	}
	if (f[5].selectedIndex == 0) {
		alert('ご予約希望日時を入力してください。');
		return false;
	}

	if(! workcheck(2)) return false;
	if(f.wday.selectedIndex == 2){
		var flg = false;
		for(i=0; i<availableDay.length;i++){
			tempDate = availableDay[i].split("/");
			if(tempDate[0] == f.month.value && tempDate[1] == f.day.value){
				flg = true;
			}
		}
		if(!flg){
			alert('月曜日は休業日となっております。ご了承下さい。');
			return false;
		}
	}

	if(! workcheck(0)) return false;
	if(! workcheck(1)) return false;
	if(! workcheck(3)) return false;
	if(! workcheck(4)) return false;

	var reserveTime = f.hour.value + ":" + f.minute.value;
	if(reserveTime < "11:30" || reserveTime > "20:00"){
		alert('ご予約可能時間は11時30分〜20時00分となっております。');
		return false;
	}

	var formno = new Array(6,7,8,9,10,11,14,15,16,17);
	var formnm = new Array('ご予約人数','ご予約名','代表者様氏名（姓）','代表者様氏名（名）','フリガナ（姓）','フリガナ（名）','住所','住所','電話番号','電子メール');
	for (i=0; i<formno.length; i++) {
		if (f.elements[formno[i]].value == '') {
			alert(formnm[i] + 'をご記入ください。');
			return false;
		}
	}
	confirm('入力内容にお間違いがなければ、このまま送信いたします。')
	return true;
}
function setOption(m,n){
	var arr = [];
	for(i=m; i<=n; i++){
		arr.push('<option value="' + (i.length==1 ? '0' + i : i) + '">' + i + '</option>');
	}
	document.write(arr.join('\n'));
}


function s_hour(){
	var start = 11;
	var end = 20;
	document.write('<select name="hour" id="hour" onChange="setWDay()">');
	for(i = start; i <= end; i++){
		document.write('<option value="' + i + '">' + i + '</option>');
	}
	document.write('</select>&nbsp;時&nbsp;');
}

function address1(){
	document.write('<option value="">');
	for(i=0; i<states.length; i++){
		document.write('<option value="' + states[i] + '">' + states[i] + '</option>');
	}
	document.write('</select>&nbsp;');
}
function checkAvailable(){
	var res_day = new Date($('#year')[0].value, $('#month')[0].value-1, $('#day')[0].value).getTime();
	for(i=0; i<availableDay.length; i++){
		if(availableDay[i]*1000 == res_day){
			return true;
		}
	}
	return false;
}
function workcheck(id){
	/*
	var message = new Array();
	message[0] = "ご指定の日は休業日となっております";
	message[1] = "ご指定の日は振り替え休日となっております";
	message[2] = "臨時休業になります。お電話にてお問合せください。";
	message[3] = "1月2日〜6日のご予約は、お電話でみ承っております";
	message[4] = "昼間のみ臨時営業です。お電話にてお問合せください";
	*/
	var flg = false;
	var res_day = new Date($('#year')[0].value, $('#month')[0].value-1, $('#day')[0].value);
	for(i=0; i<notAvailableDay[id].length; i++){
		tempDate = notAvailableDay[id][i];
		if(res_day.getTime()==tempDate*1000){
			flg = true;
			break;
		}
	}

	if(flg){
		var opt = jQuery.validationAide.extendOptions();
		$('#year').addClass(opt.fieldErrorCssClass);
		$('#month').addClass(opt.fieldErrorCssClass);
		$('#day').addClass(opt.fieldErrorCssClass);
		return false;
	} else {
		return true;
	}
}
function datecheck(){
	var y = $('#year')[0].value;
	var m = $('#month')[0].value;
	var d = $('#day')[0].value;

	if(y=='' || m=='' || d==''){
		var opt = jQuery.validationAide.extendOptions();
		$('#year').addClass(opt.fieldErrorCssClass);
		$('#month').addClass(opt.fieldErrorCssClass);
		$('#day').addClass(opt.fieldErrorCssClass);
		return false;
	}
	return true;
}
function timecheck(){
	var h = $('#hour')[0].value;
	var m = $('#minute')[0].value;
	var time = h + ':' + m;
	if(m == ''){
		var opt = jQuery.validationAide.extendOptions();
		$('#hour').addClass(opt.fieldErrorCssClass);
		$('#minute').addClass(opt.fieldErrorCssClass);
		return false;
	}
	if(time < '11:30' || time > '20:00'){
		var opt = jQuery.validationAide.extendOptions();
		$('#hour').addClass(opt.fieldErrorCssClass);
		$('#minute').addClass(opt.fieldErrorCssClass);
		return false;
	}
	return true;
}
function menuCheck1(){
	var v = $('#course')[0].value
	if(v.indexOf('月兎庵') != -1 && $('#hour')[0].value < 17){
		return false;
	};
	return true;
}