function validateFormFooter()
{
	
	var fname = $('#fname-footer').val();
	var lname = $('#lname-footer').val();
	var email = $('#email-footer').val();
	
	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	
	if (fname == 'first name' || fname == '')
	{

		var content = $('<div>Please enter a first name.</div>').fadeIn(500);
	
		$('#error-footer').removeClass('.hidden').html(content);
		
		$('#fname-footer').focus();
		
		$("#load-footer").hide().fadeOut(500);
		
		return false;
		
	}
	
	if (lname == 'last name' || lname == '')
	{
					
		var content = $('<div>Please enter a last name.</div>').fadeIn(500);
	
		$('#error-footer').removeClass('.hidden').html(content);
		
		$('#lname-footer').focus();
		
		$("#load-footer").hide().fadeOut(500);
	
		return false;
		
	}
	
	if (email == 'email' || email == '')
	{
				
		var content = $('<div>Please enter an email address.</div>').fadeIn(500);
			
		$('#error-footer').removeClass('.hidden').html(content);
		
		$('#email-footer').focus();
		
		$("#load-footer").hide().fadeOut(500);
	
		return false;
		
	}
	else if(!email.match(emailRegex) && !emailCheck(email))
	{
		
		var content = $('<div>Please enter a valid email address.</div>').fadeIn(500);

		$('#error-footer').removeClass('.hidden').html(content);
		
		$('#email-footer').focus();
		
		$("#load-footer").hide().fadeOut(500);
	
		return false;
		
	}
	
}

(function($) {

	$('#submit-footer').live('click',function() {
																		   
		if (validateFormFooter() != false)
		{
	
			var fname = $('#fname-footer').val();
			var lname = $('#lname-footer').val();
			var email = $('#email-footer').val();
			
			//alert('/wp-content/themes/pphh/includes/eventHandler.php?FirstName='+fname+'&LastName='+lname+'&EmailAddress='+email+'&Lists[]=General Interest');
		
			$.ajax({
				type: "POST",
				url: "/wp-content/themes/pphh/includes/eventHandler.php",
				data: 'FirstName='+fname+'&LastName='+lname+'&EmailAddress='+email+'&Lists[]=General Interest',
				success: function(data){
				
					var result = data.split('|',2);
					
					if (result[0] == 'error')
					{
					
						switch (result[1])
						{
						
							case 'subscribed':
								
								var content = $('<div>We already have a record of this email address.</div>').fadeIn(500);;
								
								$('#error-footer').removeClass('.hidden').html(content);
								
								$("#load-footer").hide().fadeOut(500);
								
								break;
						
							case 'unable':
							
								var content = $('<div>There was an error.  The system was unable to perform the task.</div>').fadeIn(500);
								
								$('#error-footer').removeClass('.hidden').html(content);
								
								$("#load-footer").hide().fadeOut(500);
								
								break;
								
						}
						
					}
					else if(result[0] == 'success')
					{
							
						$('#error-footer').addClass('.hidden').fadeOut(500,function() { $(this).empty(); });
						
						$('#subscribe-form-footer').fadeOut(500,function() {
					
							var content = $('<div id="success"><strong>Thank you</strong> for subscribing to the Pikes Peak Habitat for Humanity\'s Newsletter.</div>').fadeIn(500);
						
							$('#sign-up-container-footer').html(content);
							
							$("#load-footer").hide().fadeOut(500);
						
						});
						
						setTimeout(function() {
							
							$('#error-footer').addClass('.hidden').fadeOut(500,function() { $(this).empty(); });
											
							$('#success-footer').fadeOut(500,function() {
								
								var content = $('<form id="subscribe-form-footer" name="subscribe-form-footer" method="post" action="#" onSubmit="return false;"><div class="append-bottom5"><div class="float-left last"><input type="text" id="fname-footer" name="fname-footer" class="clear name" value="first name" /></div><div class="float-right last"><input type="text" id="lname-footer" name="lname-footer" class="clear name"  value="last name" /></div><div class="clear"></div></div><div><input type="text" id="email-footer" name="email-footer" class="clear prepend-top3 address" value="email" /></div><div class="prepend-top float-right last"><input type="image" src="/wp-content/themes/pphh/images/send.png" id="submit-footer" name="submit" value="Submit" class="swapImage {src: \'/wp-content/themes/pphh/images/sendRO.png\'}" /></div><div class="clear"></div></form>').fadeIn(500);
							
								$('#sign-up-container-footer').html(content);
								
								$('input.clear').clearDefault();
								
							});
							
						}, 10000);
					
					}
					else
					{
						
						var content = $('<div>There was an error.  Please try again. Error code - '+result[1]+'</div>').fadeIn(500);
						
						$("#load-footer").hide().fadeOut(500);
						
						$('#error-footer').html(content);	
						
					}
			
				},
				error : function(XMLHttpRequest, textStatus, errorThrown) {
					alert('There was an unknown error. Please try again.<br>If you feel you have received this in error please contact us at <a href="mailto:info@pikespeakhabitat.org">info@pikespeakhabitat.org</a>');
				}
				
			});
		
		}
		
		return false;
		
	});

})(jQuery);


function emailCheck (emailStr) {

	var checkTLD=1;
	
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	
	var emailPat=/^(.+)@(.+)$/;
	
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	
	var validChars="\[^\\s" + specialChars + "\]";
	
	var quotedUser="(\"[^\"]*\")";
	
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	
	var atom=validChars + '+';
	
	var word="(" + atom + "|" + quotedUser + ")";
	
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	
	var matchArray=emailStr.match(emailPat);
	
	if (matchArray==null) {
	return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return false;
		}
	}
	if (user.match(userPat)==null) {
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
		
			return false;
		   }
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
	   }
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		return false;
	}
	if (len<2) {
		return false;
	}
return true;
}
