// JavaScript Document

var onlySpace = /^\s[\s]*\s$/; //Any space that is not surrounded by non-whitespace characters 
var email = /^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.\w{2,3}$/; //match e-mail address

$(document).ready(mailLoader);



function mailLoader()
{
	$('form#mailForm input:text').blur(txtValidate);
	$('form#mailForm').submit(ajSubmit);
}

function txtValidate()
{
	var isValid = true; 
	var thisParent = $(this).parent();
	var errorSpan = $('span.error', thisParent);
	
	if(isBlank($(this)))
	{
		errorSpan.text('This is a required field');
		isValid = false; 
	}
	
	if(this.name == 'email' && !email.test(this.value))
	{
		errorSpan.text('Please be sure and use a valid e-mail address');
		isValid = false;
	}
	
	if(isValid) errorSpan.empty();
	
	
	$(this).data('isValid', isValid);
	
}


function isBlank($textField)
{
	if($textField.val().length == 0 || onlySpace.test($textField.val()))
	{
		return true;
	}
	else return false; 
}

function testFields()
{
	var validFields = true; 
	var formFields = $('form#mailForm input:text'); 
	formFields.blur();
	
	$('form#mailForm input:text').each(function() 
									    {
										    var thisData = $(this).data('isValid');
										    if(thisData == false) validFields = false; 
									    });
	return validFields;
}

function ajSubmit(e)
{
	if(testFields())
	{
		var data = $(this).serialize();
		var formDiv = $('div#form form');
		formDiv.slideUp('normal', 
			function()
			{
				formDiv.text('Processing...'); 
				formDiv.slideDown('normal', function() 
													 {
														 $.post("pmail.php", data, ajReturn); 
													  }
													  );		
			}
		);
	}
	return false;
	
}

function ajReturn(data)
{
	$('div#form form').text(data);
}
