/*
-------------------------
MASTER JAVASCRIPT ACTIONS
-------------------------
*/

// replace e-mail address
$('span.email').html('<a href="mailto:info@pacegroup.net">info@pacegroup.net</a>');

// add loading indicator in case of slow form submission
$('#subscribe h3').after('<div class="loading">Sending information&hellip;</div>').next().hide();

// form validation
$('#subscribe').bind('submit', function(e) {
	// create e-mail validation regex
	var emailPattern = /^[a-z0-9._-]+@[a-z0-9.-]+\.[a-z]{2,5}$/i;
	
	// create error array
	var errors = new Array;
	
	// validate for name and e-mail address
	if($('#txtName').val() == '') {
		errors.push('Your name is required');
	}
	if(!emailPattern.test($('#txtEmail').val())) {
		errors.push('A valid e-mail address is required');
	}
	
	// if there are errors, display them
	if(errors.length) {
		// prevent submission
		e.preventDefault();
		
		// if errors aren't already displayed, create the list
		if($('#subscribe ul.errors').length < 1) {
			var $errorList = $('<ul class="errors"></ul>');
			$errorList.insertBefore('#subscribe ul.formFields');
		}
		// otherwise, empty the list
		else {
			var $errorList = $('#subscribe ul.errors');
			$errorList.find('li').remove();
		}
		
		// show errors
		$.each(errors, function(i) {
			$errorList.append('<li>' + this + '</li>');
		});
	}
	// if no errors, remove list
	else {
		// show loading indicator
		$('#subscribe .loading').show();
		
		// remove errors
		$('#subscribe ul.errors').remove();
	}
});
