$(document).ready(
	function( ) {
		$('#jsNotice').remove();
		$('.startHidden').hide();
		$('#accept').click(
			function() {
				$('#selectProvider').fadeIn();
			}
		); // end click
		$('#aptform').submit(ValidateForm);
	}
);

function selectProvider() {

	$('.warning').remove();
	
	var selectedProvider = $('#providerMenu :selected').text();
	var specialProviders = /Reed|DePolo|Cowan/i;
	
	if (selectedProvider == $('#providerMenu > option:first-child').text())
	{
		$('#firstVisit').fadeOut();
		$('#infoForSpecial').fadeOut();
		$('#infoForEveryone').fadeOut();
		return;
	}
	
	if (selectedProvider.search(specialProviders) >= 0)
	{
		$('#firstVisitLabel').html('Has your child been seen by ' + selectedProvider + ' before?');
	} else {
		$('#firstVisitLabel').html('Has your child been seen by a KidsLink provider?');
	};
	$('#firstVisit').fadeIn();
	
	if ( selectedProvider.search(specialProviders) >= 0 )
	{
		$('#infoForSpecial').fadeIn();
		if ( selectedProvider.search('Reed') >= 0 )
		{
			$('#reasonForVisit').addClass('required');
		} else {
			$('#reasonForVisit').removeClass('required');
		};
	} else {
		$('#infoForSpecial').fadeOut();
	};
	
	if ( selectedProvider == 'Other Group' )
	{
		$('#providerMenuP').after('<p id="otherGroupReminder">Please be sure to add the name of the group you are interested in to the Additional Information field.</p>');
	} else {
		$('#otherGroupReminder').remove();
	}
	
	$('#infoForEveryone').fadeIn();
};

function ValidateForm()
{
	var isValid = true;
	
	var curField;
	var curValue;
	
	$('.warning').remove();
	
	curField = $('input[name=required-beenseen]:checked');
	if (curField.length == 0)
	{
		$('#firstVisitLabel').append('<br class="warning" /><span class="warning">You must select one of the choices!</span>');
		isValid = false;
	};
	
	if ( $('#providerMenu :selected').text().search('Reed') >= 0 )
	{
		curField = $('[name=reason]');
		curValue = curField.val();
		if (curValue == '')
		{
			$('#reasonForVisitLabel').append('<br class="warning" /><span class="warning">You must enter a reason for your visit!</span>');
			isValid = false;
		};
	}

	curField = $('[name=required-childname]');
	curValue = curField.val();
	if (curValue == '')
	{
		curField.parent().append('<span class="warning">You must provide your child\'s name!</span>');
		isValid = false;
	};

	curField = $('[name=required-dob]');
	curValue = curField.val();
	if (curValue == '')
	{
		curField.parent().append('<span class="warning">You must provide your child\'s date of birth!</span>');
		isValid = false;
	};

	curField = $('[name=required-parentname]');
	curValue = curField.val();
	if (curValue == '')
	{
		curField.parent().append('<span class="warning">You must provide your name!</span>');
		isValid = false;
	};
	
	var phoneRegex = /\(?(\d{3})\)?[ -.](\d{3})[ -.](\d{4})/;
	curField = $('[name=required-phone]');
	curValue = curField.val();
	if ( (curValue == '') || (curValue.search(phoneRegex) < 0) )
	{
		curField.parent().append('<span class="warning">You must provide a complete phone number, with area code!</span>');
		isValid = false;
	};
	
	if ( 
			( $('[name=required-street]').val() == '' ) ||
			( $('[name=required-city]').val() == '' ) ||
			( $('[name=required-state]').val() == '' ) ||
			( $('[name=required-zip]').val() == '' ) 
	) {
		$('#addressLabel').append('<br class="warning" /><span class="warning">You must enter a complete address!</span>');
		isValid = false;
	};

	var emailRegex = /^[\w!#$%&\'*+\/=?^`{|}~.-]+@(?:[a-z\d][a-z\d-]*(?:\.[a-z\d][a-z\d-]*)?)+\.(?:[a-z][a-z\d-]+)$/i;
	curField = $('[name=required-email]');
	curValue = curField.val();
	if ( (curValue == '') || (curValue.search(emailRegex) < 0) )
	{
		curField.parent().append('<span class="warning">You must provide a valid e-mail address!</span>');
		isValid = false;
	};

	return isValid;
}