function subscribe_init()
{
	document.form_subscribe.unsubscribe.value = 0;
	subscribe_submit_handler();
}

function unsub_init()
{
	document.form_subscribe.unsubscribe.value = 1;
	subscribe_submit_handler();
}

function contact_init()
{
	contact_submit_handler();
}

function subscribe_submit_handler()
{
	var options = {
		beforeSubmit:  showRequest,  // pre-submit callback
		success:       showResponse  // post-submit callback
	};
	$('#form_subscribe').ajaxSubmit(options);
}

function contact_submit_handler()
{
	var options = {
		beforeSubmit:  contact_val,  // pre-submit callback
		success:       contact_response // post-submit callback
	};
	$('#form_contact').ajaxSubmit(options);
}

function checkform_sub()
{

	var emailFilter="/^.+@.+\..{2,3,4,6}$/";
	var illegalChars= "/[\(\)\<\>\,\;\:\\\/\"\[\]]/";
	var s_email = document.form_subscribe.capture_email.value;

	if (s_email == '') {
		alert('You must enter an email address to subscribe.');
		return false;
	}
	else if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(s_email))){
	alert('Your email address is not properly formatted.');
	return false;
	}
	else if (s_email.match(illegalChars)) {
   		alert('Your email address contains invalid characters.');
		return false;
	}
	var params;
	params = "capture_email=" + s_email;
	//alert(params);
	
	//document.form_subscribe.submit();
	//$('#form_subscribe').ajaxSubmit();
	
	return true;
}

function checkform_contact()
{

	var emailFilter="/^.+@.+\..{2,3,4,6}$/";
	var illegalChars= "/[\(\)\<\>\,\;\:\\\/\"\[\]]/";
	var check_success = true;
	var check_message = '';
	var check_message_format = '';
	var final_error_message = '';
	var c_email = document.form_contact.capture_email.value;
	var c_fname = document.form_contact.capture_fname.value;
	var c_lname = document.form_contact.capture_fname.value;
	var c_address = document.form_contact.capture_address.value;
	var c_city = document.form_contact.capture_city.value;
	var c_state = document.form_contact.capture_state.value;
	var c_zip = document.form_contact.capture_zip.value;
	var c_phone = document.form_contact.capture_phone.value;
	var c_message = document.form_contact.capture_message.value;
 
	if (c_fname == '') {
		check_message += 'First Name\n';
		check_success = false;
	}
	if (c_lname == '') {
		check_message += 'Last Name\n';
		check_success = false;
	}
	if (c_email == '') {
		check_message += 'Email Address\n';
		check_success = false;
	} else {
		if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(c_email))){
			check_message_format += 'Email Address is not properly formatted\n';
			check_success = false;
		}
		if (c_email.match(illegalChars)) {
			check_message_format += 'Email Address contains illegal characters\n';
			check_success = false;
		}
	}
	if (c_address == '') {
		check_message += 'Address1\n';
		check_success = false;
	}
	if (c_city == '') {
		check_message += 'City\n';
		check_success = false;
	}
	if (c_state == '') {
		check_message += 'State\n';
		check_success = false;
	}
	if (c_zip == '') {
		check_message += 'Zip\n';
		check_success = false;
	}
	if (c_phone == '') {
		check_message += 'Phone\n';
		check_success = false;
	}
	if (c_message == '') {
		check_message += 'Message\n';
		check_success = false;
	}

	if (check_success) {
		return true;
	} else {
		if (check_message.length > 0) {
			final_error_message = 'The following fields are required:\n' + check_message + '\n';
		}
		if (check_message_format.length > 0) {
			final_error_message += 'The following formatting problems were found:\n' + check_message_format;
		}
		alert(final_error_message);
	}		
}

// pre-submit callback
function showRequest(formData, jqForm, options) {
	var queryString = $.param(formData);

	if (!checkform_sub()) {
		return false;
	}

	if (document.form_subscribe.unsubscribe.value=="1") {
		$('#response_output').html("We will remove you from the list shortly.");
	} else {
		$('#response_output').html("Thank you for subscribing!");
	}

	$('#form_container').fadeOut('fast');

	// here we could return false to prevent the form from being submitted;
	// returning anything other than false will allow the form submit to continue
	return true;
}

function contact_val(formData, jqForm, options) {
	var queryString = $.param(formData);

	if (!checkform_contact()) {
		return false;
	}

	$('#response_output_contact').html("Thank you for contacting Friends of Lee Ware");

	$('#form_container_contact').fadeOut('fast');

	// here we could return false to prevent the form from being submitted;
	// returning anything other than false will allow the form submit to continue
	return true;
}

// post-submit callback
function showResponse(responseText, statusText)  {
	$('#response_output').fadeIn('slow');
}

// post-submit callback
function contact_response(responseText, statusText)  {
	$('#response_output_contact').fadeIn('slow');
}

