// JavaScript Document
function ValidEmail (email)
{
	if (email == "") {return false;}
	
	//check that we have at least 1 '@' and '1'.
	if (email.indexOf("@")==-1) {return false;}
	if (email.indexOf(".")==-1) {return false;}

	return true; //we did not find any error
}

//validate phone number
function ValidPhoneNumber(number) {
	var GoodChars = "0123456789"
	var i = 0
	if (number=="" || number.length != 10) {
		// Return false if number is empty
		return false;
	}
	for (i =0; i <= number.length -1; i++) {
		if (GoodChars.indexOf(number.charAt(i)) == -1) {
			return false;
		} // End if statement
	} // End for loop
	return true;
}

//validate zipcode
function ValidZipcode(zipcode) {
	var GoodChars = "0123456789"
	var i = 0
	if (zipcode.length !=5) {
		// Return false if not 5 digits
		return false;
	}
	for (i =0; i < zipcode.length ; i++) {
		if (GoodChars.indexOf(zipcode.charAt(i)) == -1) {
			return false;
		} // End if statement
	} // End for loop
	return true;
}

//validate the password policy of size between 6 and 8 characters
function ValidPasswordPolicy (password) {
	if (password.length <6 || password.length >8) {
		return false;
	}
	return true;
}

function ValidRequestForm () {
	var error = new Boolean (false);
	
	if (error == false && (document.form.other_txt.value == "" && document.form.other.checked)) {
		alert ('Please specify your type of event');
		error = true;
		event.returnValue=false;
	}


	if (error == false && (document.form.firstname.value == "")) {
		alert ('You must provide your first name');
		error = true;
		event.returnValue=false;
	}

	if (error == false && (document.form.lastname.value == "")) {
		alert ('You must provide your last name');
		error = true;
		event.returnValue=false;
	}

	if (error == false && !ValidEmail(document.form.email.value)) {
		alert ('Enter a valid email address ');
		document.form.email.value = "";
		error = true;
		event.returnValue=false;
	}

	if (error == false && (!ValidPhoneNumber (document.form.phone.value))) {
		alert ('Re-enter a valid phone number (Only 10 digits')
		document.form.phone.value = "";
		error = true;
		event.returnValue=false;
	}

/*
	if (error == false && (document.form.address1.value == "")) {
		alert ('You must provide your address');
		error = true;
		event.returnValue=false;
	}
*/	
	if (error == false && (document.form.city.value == "")) {
		alert ('You must provide your city');
		error = true;
		event.returnValue=false;
	}

	if (error == false && (document.form.state.value == "00")) {
		alert ('You must select your state');
		error = true;
		event.returnValue=false;
	}

	if (error == false && (!ValidZipcode (document.form.zipcode.value))) {
		alert ('Re-enter a valid 5-digit zip code')
		document.form.zipcode.value = "";
		error = true;
		event.returnValue = false;
	}
	
	//check type of event
	/*
	if (error == false && 
		(  !document.form.private.checked
		&& !document.form.seated.checked
		&& !document.form.other.checked)) {
		alert ('Please select a type of event');
		error = true;
		event.returnValue=false;
	}*/

}

function CheckAvailability ()
{
	var d=new Date()
	
	if (d.getDay ()== 6) //we are saturday
	{
		//check it is not past noon
		//the server is 2 hours behind so we need to see that it stops at 10am
		if (d.getHours() >= 10)
		{
			return false;
		}
	}
	if (d.getDay ()== 7) //we are sunday
	{
		//check it is not past noon
		//the server is 2 hours behind so we need to see that it starts at 6am
		if (d.getHours() < 6)
		{
			return false;
		}
	}
}
