/* Author: Company 119
*/


/*
Attach animation to map functionality on the chardon page
*/
$('document').ready(
		function (){
		
			//Create the map animations.
			$('.places h2 a').click(function(e){
				
				var t = $(this);
				var map = $('li.' + t.attr('data-map'));
				
				$('.active-map').fadeOut().removeClass('active-map');
				map.fadeIn().addClass('active-map');
				
				
				
				return false;				
			});
			
			
			//Setup the contact form.
			var options = {
				target: '#cf-response',
				beforeSubmit: preProcessForm,
				data: {cf_submission: true},
				success: postProcessForm
			};			
			$('#contact-form').ajaxForm(options);	
		}
);

/**
* Validate and setup loader
*/
function preProcessForm(formData, jqForm, options){
	
	//Setup variables and patterns
	var message = '';
	var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
	var phoneNumberPattern = /^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;
	
	//Setup the loader
	$('#cf-response').html('<div class="loader">Loading</div>').slideDown();
	
	//Cycle through form fields
	for(var i=0; i<formData.length; i++){
	
		//Validate name -- required
		if(formData[i].name == 'name'){
			if(!formData[i].value)
				message += 'Name is a required field.</br>';	

		//Validate email -- required
		}else if(formData[i].name == 'email'){
			if(!formData[i].value)
				message += 'Email is a required field.</br>';	
				 
			if(!emailPattern.test(formData[i].value)){
				message = message + "Email is not a valid email address.<br/>";
			}
			
		//Validate phone -- just the pattern.  Check for the correct  characters
		}else if(formData[i].name == 'phone'){
			if(formData[i].value){
				if(!phoneNumberPattern.test(formData[i].value)) { 
					message = message + "Phone is not a valid phone number.<br/>";
				} 
			}
		//Validate message -- no validation right now
		}
		//else if(formData[i].name == 'message'){}
	}
	
	if(message == '')
		return true;
	else{
		$('#cf-response').html('<div class="failed">' + message + '</div>').slideDown();
		return false;
	}

}

function postProcessForm(responseText, statusText, xhr, $form){
	if(!$('#cf-response').find('.cf-submit-error').length){
		$form.clearForm();
	}
}







