function validateEmailSignup(page) {
	var x = document.newsletter_signup;
	
	if(x.name.value == "" || x.name.value == "Enter Your Name"){
		alert('To sign up for our newsletter, please enter your name.');
		x.name.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(x.email.value))){
		alert('Please enter a valid Email address.');
		x.email.focus();
		return false;
	} else {
		// Change the form action to the real submission page
		x.action = page;
		x.submit();
	}
}

function validateContactForm(x, page) {
	if(x.first_name.value == ""){
		alert('Please enter your first name.');
		x.first_name.focus();
		return false;
	} else if(x.last_name.value == ""){
		alert('Please enter your last name.');
		x.last_name.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(x.email.value))){
		alert('Please enter a valid email address.');
		x.email.focus();
		return false;
	} else if(x.phone.value == ""){
		alert('Please enter your phone number.');
		x.phone.focus();
		return false;
	} else if(x.address_1.value == ""){
		alert('Please enter your address.');
		x.address_1.focus();
		return false;
	} else if(x.city.value == ""){
		alert('Please enter your city.');
		x.city.focus();
		return false;
	} else if(x.state.value == ""){
		alert('Please select your state.');
		x.state.focus();
		return false;
	} else if(x.zip.value == ""){
		alert('Please enter your zip code.');
		x.zip.focus();
		return false;
	} else if(x.comments.value == ""){
		alert('Please enter a comment or question.');
		x.comments.focus();
		return false;
	} else {
		x.action = page;
		return true;
	}
}

function validatePartyForm(x, page) {
	if(x.first_name.value == ""){
		alert('Please enter your first name.');
		x.first_name.focus();
		return false;
	} else if(x.last_name.value == ""){
		alert('Please enter your last name.');
		x.last_name.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(x.email.value))){
		alert('Please enter a valid email address.');
		x.email.focus();
		return false;
	} else if(x.phone.value == ""){
		alert('Please enter your phone number.');
		x.phone.focus();
		return false;
	} else if(x.address_1.value == ""){
		alert('Please enter your address.');
		x.address_1.focus();
		return false;
	} else if(x.city.value == ""){
		alert('Please enter your city.');
		x.city.focus();
		return false;
	} else if(x.state.value == ""){
		alert('Please select your state.');
		x.state.focus();
		return false;
	} else if(x.zip.value == ""){
		alert('Please enter your zip code.');
		x.zip.focus();
		return false;
	} else if(x.location.value == ""){
		alert('Please choose your party location.');
		x.location.focus();
		return false;
	} else if(x.size.value == ""){
		alert('Please enter your party size.');
		x.size.focus();
		return false;
	} else if(x.date.value == ""){
		alert('Please enter the date for your party.');
		x.date.focus();
		return false;
	} else if(!x.date.value.match(/^(0?[1-9]|1[0-2])[- \/](0?[1-9]|[12][0-9]|3[01])[- \/]((19|20)[0-9]{2})$/)) {
		alert('Please enter a valid date for your party in the format MM/DD/YYYY.');
		x.date.focus();
		return false;
	} else if(!(/^\d{2}:\d{2}$/.test(x.time.value))) {
		alert('Please enter the party starting time in the format: 12:00.');
		x.time.focus();
		return false;
	} else if(x.comments.value == ""){
		alert('Please enter a comment or question.');
		x.comments.focus();
		return false;
	} else {
		x.action = page;
		return true;
	}
}

<!-- Takes three parameters: this, 'focus' or 'blur', 'default field value' -->
function SwapFocus(obj, state, msg){
	if(state == 'focus'){
		if(obj.value == msg){
			obj.value = '';
		}
	} else if(state == 'blur') {
		if(obj.value == ''){
			obj.value = msg;
		}
	}
}

