function ValidateLogin(x){
	if(x.email.value==''){
		alert('Please enter your Email address.');
		x.email.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x.email.value))){
		alert('Please enter your valid Email address.');
		x.email.focus();
		return false;
	} else if(x.password.value==''){
		alert('Please enter your Password.');
		x.password.focus();
		return false;
	} else {
		return true;
	}
}

function ValidateContact(x){
	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,3})+$/.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.event_date.value=='' || !x.event_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 your event\'s date in the format \'mm/dd/yyyy\'.');
		x.event_date.focus();
		return false;
	} else if(x.comments.value==''){
		alert('Please enter your comments/question.');
		x.comments.focus();
		return false;
	} else {
		return true;
	}
}

function ValidateComment(x){
	if(x.name.value==''){
		alert('Please enter your name.');
		x.name.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x.email.value))){
		alert('Please enter a valid email address.');
		x.email.focus();
		return false;
	} else if(x.comment.value==''){
		alert('Please enter your comment.');
		x.comment.focus();
		return false;
	} else {
		return true;
	}
}

function ValidateRecipe(x){
	if(x.title.value==''){
		alert('Please enter your drinks\' title.');
		x.title.focus();
		return false;
	} else if(x.author.value==''){
		alert('Please enter your name.');
		x.author.focus();
		return false;
	} else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x.email.value))){
		alert('Please enter a valid email address.');
		x.email.focus();
		return false;
	} else if(x.body.value==''){
		alert('Please enter your recipe.');
		x.body.focus();
		return false;
	} else {
		return true;
	}
}

function ValidateSendToAFriend(x){
	var emailARR = x.friend_emails.value.split("\n");	
	
	if(emailARR.length > 10) {
		alert('You may not send emails to more than 10 Friend\'s');
		x.friends.focus();
		return false;
	} else if (x.name.value == ""){
		alert('Please enter your Name.');
		x.name.focus();
		return false;
	} else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x.email.value))){
		alert('Please enter a valid Email Address.');
		x.email.focus();
		return false;
	} else if (x.friend_emails.value == ""){
		alert('Please enter at least one Friends\' Email Address.');
		x.friend_emails.focus();
		return false;
	} else {
		for(i = 0; i < emailARR.length; i++) {
			emailARR[i] = emailARR[i].replace("\n","");
			emailARR[i] = emailARR[i].replace("\r","");
			if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailARR[i])))
			{
				alert('The email address \''+ emailARR[i] + '\' on line ' + (i+1) + ' does not appear to be a valid email.');
				return false;
				break;
			}
		}	
	}
}

function SubmitNewsletterSignup(x) {
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(x.email.value))){
		alert('You need to enter a valid Email address to sign up.');
		x.email.focus();
		return false;
	} else {
		return true;
	}
}

function ValidateAge(x){
	if(x.Month.value==''){
		alert('Please select your month of birth.');
		x.Month.focus();
		return false;
	} else if(x.Day.value==''){
		alert('Please select your day of birth.');
		x.Day.focus();
		return false;
	} else if(x.Year.value==''){
		alert('Please select your year of birth.');
		x.Year.focus();
		return false;
	} else {
		return true;
	}
}

function GetDays(x) {
	if(x.Year.value != '' && x.Month.value != ''){
		var theOutput = '';
		var intDaysInMonth = 32 - new Date(x.Year.value, x.Month.value, 32).getDate();
		if (x.Month.value == 2 && ((x.Year.value % 4 == 0 && x.Year.value % 100 != 0) || x.Year.value % 400 == 0))
			intDaysInMonth = 29;
		var theOutput = theOutput + "<select name='Day'><option value=''>---</option>";
		for(var i = 1; i <= intDaysInMonth; i++){
			theOutput = theOutput + "<option value='" + i + "'";
			if(x.Days && x.Days.value == i){
				theOutput = theOutput + " selected='selected'";
			}
			theOutput = theOutput + ">" + i + "</option>";
		}
		var theOutput = theOutput + "</select>";
		document.getElementById('Days').innerHTML = theOutput;
	}
}

function doLogin(url){
	location.href = url;
}


/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EP STEP VALIDATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


function isNumeric(x) {
	if (x == null || !x.toString().match(/^[-]?\d*\.?\d*$/)) return false;
		return true;
}

function ValidateStep_1( input_names, url ){
	var x = document.step_1_form;
	var theFields = $( input_names ).value.split(',');
	var submitForm = true;
		
	if(x.budget.value==''){
		//alert('submit blank')
		x.submit();
	} else {
		if( x.custom_budget.value == '' || !isNumeric( x.custom_budget.value ) ) {
			alert('Please enter a numeric only value for your custom budget. (1234567890.)')
			x.custom_budget.focus();
			submitForm = false;
		}
		
		if( submitForm ) {
			for( var i = 0; i < theFields.length; i++ ) {
				if( !isNumeric( $(theFields[i]).value ) ){
					alert('Please check that all your input is numeric.');
					$(theFields[i]).focus();
					submitForm = false;
				} else if( $(theFields[i]).value == '' ) {
					$(theFields[i]).value = 0;
				}
			}
			
			if( submitForm ) {
				//alert('submit form');
				x.submit();	
			}
		}
	}
}

function ValidateStep_2( input_names, url ){
	var x			= document.step_2_form;
	var AllItems		= $$('.menu_item');
	var CheckedItems	= 0;
	
	for ( var i = 0; i < AllItems.length; i++ ) {
		if ( AllItems[i].checked )
			CheckedItems++;
	}

	if( CheckedItems > 3 ) {
		alert('Please select only three Entrees.');
		
		var NavTabs	= $$('.event_menu_tab');
		var MenuPages	= $$('.menu_choices');
				
		for( var z = 0; z < MenuPages.length; z++ ) {
			NavTabs[z].removeClass( 'active' );
			MenuPages[z].setStyle( 'display', 'none' );
		}

		NavTabs[1].addClass( 'active' );
		MenuPages[1].setStyle( 'display', 'block' );
		
		$('entree_anchor').focus();
	} else {
		x.submit();
	}
}

function ValidateStep_3( input_names, url ){
	$('floor_plans').submit();
}

function ValidateStep_4( x ){
	if ( x.BrideGroomNames.value=='' ) {
		alert('Please enter the Bride and Groom\'s Names.');
		x.BrideGroomNames.focus();
		return false;
	} else if ( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(x.Email.value) ) ) {
		alert('Please enter your valid Email Address.');
		x.Email.focus();
		return false;
	} else if ( x.Address.value == '' ) {
		alert('Please enter your Address.');
		x.Address.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 choose your State.');
		x.State.focus();
		return false;
	} else if ( x.Zip.value == '' ) {
		alert('Please enter your Zip.');
		x.Zip.focus();
		return false;
	} else if ( x.Phone.value == '' ) {
		alert('Please enter your Phone number.');
		x.Phone.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 your Event Date in the format mm/dd/yyyy.');
		x.Date.focus();
		return false;
	} else if ( x.StartTime.value == '' ) {
		alert('Please enter your Events desired Start Time.');
		x.StartTime.focus();
		return false;
	} else if ( x.Guests.value == '' ) {
		alert('Please enter your estimated number of Guests.');
		x.Guests.focus();
		return false;
	} else {
		return true;	
	}
}


/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EP PRINT FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */


function PrintStep1( input_names, url ){
	var x = document.step_1_form;
	var theFields = $( input_names ).value.split(',');
	var submitForm = true;
		
	if(x.budget.value==''){
		x.action = url;
		x.submit();
	} else {
		if( x.custom_budget.value == '' || !isNumeric( x.custom_budget.value ) ) {
			alert('Please enter a numeric only value for your custom budget. (1234567890.)')
			x.custom_budget.focus();
			submitForm = false;
		}
		
		if( submitForm ) {
			for( var i = 0; i < theFields.length; i++ ) {
				if( !isNumeric( $(theFields[i]).value ) ){
					alert('Please check that all your input is numeric.');
					$(theFields[i]).focus();
					submitForm = false;
				} else if( $(theFields[i]).value == '' ) {
					$(theFields[i]).value = 0;
				}
			}
			
			if( submitForm ) {
				x.action = url;
				x.submit();	
			}
		}
	}
}

function PrintStep2( input_names, url ){
	var x			= document.step_2_form;
	var AllItems		= $$('.menu_item');
	var CheckedItems	= 0;
	
	for ( var i = 0; i < AllItems.length; i++ ) {
		if ( AllItems[i].checked )
			CheckedItems++;
	}

	if( CheckedItems > 3 ) {
		alert('Please select only three Entrees.');
		
		var NavTabs	= $$('.event_menu_tab');
		var MenuPages	= $$('.menu_choices');
				
		for( var z = 0; z < MenuPages.length; z++ ) {
			NavTabs[z].removeClass( 'active' );
			MenuPages[z].setStyle( 'display', 'none' );
		}

		NavTabs[1].addClass( 'active' );
		MenuPages[1].setStyle( 'display', 'block' );
		
		$('entree_anchor').focus();
	} else {
		x.action = url;
		x.submit();
	}
}
