FormValidator.addAllThese(
		[
			['emailMatch', { errorMsg: 'Your email addresses do not match.', test: function() { return $('newsEmail1').value == $('newsEmail2').value } }],
			['phoneNumber', { errorMsg: 'That is not a valid phone number. Example 555-555-5555', test: function(element) { if(element.value != '') { return element.value.match(/^[01]?\s*[\(\.-]?(\d{3})[\)\.-]?\s*(\d{3})[\.-](\d{4})$/) } else return true; } }]
		]
	);
		var newsValidator = new FormValidator($('newsletterForm'),
		{
			evaluateFieldsOnBlur:false,
			onFormValidate:function(valid)
			{
				if(valid)
				{
					$('newsSubmit').value = 'Processing...';
					$('newsSubmit').disabled = true;
					var form = $('newsletterForm');
					var formPost = new Request(
					{
						url : form.action,
						onComplete : function(request)
						{
							switch(parseInt(request))
							{
								case 101:
									alert('The text you\'ve entered for the security code does not match.\nPlease try again.');
									Recaptcha.reload();
									//$('recaptcha_challenge_field').focus();
									$('newsSubmit').disabled = false;
									break;
								case 1:
									/*$('newsFormContainer').setText('Welcome to the family! Your membership information has been sent to our store, and will be on file when you come in to complete the membership sign-up process.');
									window.location.hash = 'complete';*/
									window.location = '/membership_thank_newsletter.html';
									break;
								case 2:
									/*$('newsFormContainer').setText('Welcome to the family, and please feel free to spread the love.');
									window.location.hash = 'complete';*/
									window.location = '/membership_thank_mailinglist.html';
									break;
								case 3:
									/*$('newsFormContainer').setText('Welcome to the family! Your membership information has been sent to our store, and will be on file when you come in to complete the membership sign-up process.');
									window.location.hash = 'complete';*/
									window.location = '/membership_thank_both.html';
									break;
								default:
									//$('newsSubmit').disabled = false;
									$('newsSubmit').value = 'Error Submitting.';
									break;
							}
						}
					}).send(form);//request();
				}
				else
				{
					alert('There are errors in the form. Please go back and correct them.');
				}
			}
		});
		
		var addAdults = function()
		{
			$('additionalAdultsContainer').setStyle('display','');
			var container = $('additionalAdults');
			var numAdults = container.getChildren().length;
			
			for(var i = 0; i < (2 - numAdults); i++)
			{
				var row = new Element('li').injectInside(container);
				row.set('html','<label class="peopleLabel">first name:</label><input class="peopleField" type="text" name="adult['+i+'][firstname]" /><br/><label class="peopleLabel">last name:</label><input class="peopleField" type="text" name="adult['+i+'][lastname]" />');
			}
		}
		
		var addChilren = function()
		{
			$('childrenContainer').setStyle('display','');
			var container = $('children');
			var numChildren = container.getChildren().length;
			
			for(var i = 0; i < (3 - numChildren); i++)
			{
				var row = new Element('li').injectInside(container);
				row.set('html','<label class="peopleLabel">name:</label><input class="peopleField" type="text" name="child['+i+'][name]" /> &nbsp; &nbsp; <input class="radioButton01" type="radio" name="child['+i+'][gender]" value="Male" checked="checked" /> male &nbsp; &nbsp; <input class="radioButton01" type="radio" name="child['+i+'][gender]" value="Female" /> female<br/><label class="peopleLabel">date of birth:</label><input class="peopleField" type="text" name="child['+i+'][dob]" id="cdob'+i+'" class="validate-date"/>');
				
			}
		}
		
		var clearAdults = function()
		{
			$('additionalAdultsContainer').setStyle('display','none');
			$('additionalAdults').empty();
		}
		
		var clearChildren = function()
		{
			$('childrenContainer').setStyle('display','none');
			$('children').empty();
		}
		
		var setFormValidation = function()
		{
			newsValidator.reset();
			
			var form = $('newsletterForm');
			var mode = $$('input[type="radio"][name="sendMode"]').filter(
				function(item, index)
				{
					return item.checked == true;
				}
			)[0].value;
			
			
			switch(parseInt(mode))
			{
				case 3:
				case 1:
					form.phone.addClass('required');
					form.address.addClass('required');
					form.city.addClass('required');
					form.region.addClass('required');
					form.postal.addClass('required');
					form.country.addClass('required');
					addAdults();
					addChilren();
					break;
				case 2:
					form.phone.removeClass('required');
					form.address.removeClass('required');
					form.city.removeClass('required');
					form.region.removeClass('required');
					form.postal.removeClass('required');
					form.country.removeClass('required');
					clearAdults();
					clearChildren();
					break;
			}
			
		}

		
		var RecaptchaOptions = {
			theme : 'custom'
		};
		
