jQuery(document).ready( function() {
	jQuery("form.geForm").submit( geValidateForm );
});

function geValidateForm() {
	// Initial variables to check
	validFrm = true;
	valTerms = false;
	valEmail = false;
	matchEmail = false;

	// Clear any error messages that will be generated
	jQuery('#message').text('');
	jQuery('#message2').text('');
	jQuery('#errorMsg').html('');
	jQuery('#errorMsg').removeClass('active');

	// Loop through all required form elements
	jQuery('form .required').each(function() {

		// Check if input is valid
		if(
			(jQuery(this).val() == "") || 
			(jQuery(this).attr('type') == "checkbox" &&  jQuery(this).attr('checked') == false) ||
			(jQuery(this).attr('name').indexOf("email") > -1) && 
			((jQuery(this).val().indexOf("@") < 0) || (jQuery(this).val().indexOf(".") < 0))
		) {
			// If the input is terma or email, alter variable for additional messages
			if(jQuery(this).attr('name') == "terms")
				valTerms = true;
			if(jQuery(this).attr('name').indexOf("email") > -1)
				valEmail = true;
				jQuery(this).addClass("error");
				validFrm = false;
		}
		// If "confirm email" input exists, validate agains an "email" box.
		else if(
			(jQuery(this).attr('id') == "confirm-email") &&
			(jQuery(this).val() != jQuery('form #email').val())
		) {
			jQuery(this).addClass("error");
			matchEmail = true;
			validFrm = false;
		} else
			// Clear error boxes that are now valid
			jQuery(this).removeClass("error");
	});

	// If form is invalid, display appreopriate error messages.
	if(validFrm == false) {
		jQuery('#errorMsg').addClass('active');
		jQuery('#errorMsg').html('<p>Please fill in all the required fields</p>');
		
		if(valEmail == true)
			jQuery('#errorMsg').html(jQuery('#errorMsg').html() + '<p>Please enter a valid email address</p>');
		if(matchEmail == true)
			jQuery('#errorMsg').html(jQuery('#errorMsg').html() + '<p>Please confirm your email address</p>');
		if(valTerms == true)
			jQuery('#errorMsg').html(jQuery('#errorMsg').html() + '<p>Please agree to our terms and conditions</p>');
	}
	
	jQuery('.error:first').focus();

	return validFrm;
	//return false;
}