//AJAX NEWS FUNCTIONS
jQuery(document).ready(function(){
	
	//Clear input fields	
	jQuery('form#contactForm input, form#contactForm textarea').clearInput();

	//SET CONTACTOPTIONS
	var contactOptions = { 
		dataType:		'json',
		beforeSubmit:  	showContactRequest, 
		success:       	showContactResponse
	}; 

	//SUBMIT CONTACTFORM
	jQuery('form#contactForm').ajaxForm(contactOptions);

});

//SUMBITCONTACTFORM
function showContactRequest(formData, jqForm, contactOptions) { 

	var form = jqForm[0];
	var emailAddress = form.email.value;
	
	//CHECK FULLNAME
    if (form.fname.value == fnameLabel) {
    	
    	//Set message class to error and focus
    	jQuery('input#fname').addClass('error');
    	jQuery('input#fname').focus();
    	
    	//Change status class, text and fade in
    	jQuery('label#contactFormStatus').addClass('error');
		jQuery('label#contactFormStatus').html(fnameMsg);
		jQuery('label#contactFormStatus').fadeIn('slow'); 
        
        return false;
        
    } 
	
	//CHECK EMAILADDRESS
    else if (form.email.value == emailLabel) {
    	
    	//Remove previous error
    	jQuery('input#fname').removeClass('error');
    	
    	//Set message class to error and focus
    	jQuery('input#email').addClass('error');
    	jQuery('input#email').focus();
    	
    	//Change status class, text and fade in
    	jQuery('label#contactFormStatus').addClass('error');
		jQuery('label#contactFormStatus').html(emailMsg);
		jQuery('label#contactFormStatus').fadeIn('slow'); 
        
        return false;
        
    }

	//CHECK EMAILADDRESS IS VALID
    else if (emailAddress.search(/^[a-z0-9][a-z0-9_\.-]{0,}[a-z0-9]@[a-z0-9][a-z0-9_\.-]{0,}[a-z0-9][\.][a-z0-9]{2,4}$/) == -1) {
		
		//Remove previous error		    	
    	jQuery('input#fname').removeClass('error');
    	
    	//Set message class to error and focus
    	jQuery('input#email').addClass('error');
    	jQuery('input#email').focus();
    	
    	//Change status class, text and fade in
    	jQuery('label#contactFormStatus').addClass('error');
		jQuery('label#contactFormStatus').html(emailMsg);
		jQuery('label#contactFormStatus').fadeIn('slow'); 
        
        return false;
        
    }
    
    //CHECK MESSAGE
    else if (form.message.value == messageLabel) {
    	
    	//Remove previous errors
    	jQuery('input#fname').removeClass('error');
    	jQuery('input#email').removeClass('error');
    	
    	//Set message class to error and focus
    	jQuery('textarea#message').addClass('error');
    	jQuery('textarea#message').focus();
    	
    	//Change status class, text and fade in
    	jQuery('label#contactFormStatus').addClass('error');
		jQuery('label#contactFormStatus').html(messageMsg);
		jQuery('label#contactFormStatus').fadeIn('slow'); 
        
        return false;
        
    }
	
	
	//SUBMITFORM
	else {
		
		//Remove error classes
		jQuery('label#contactFormStatus').removeClass('error');
		jQuery('input#fname').removeClass('error');
		jQuery('input#email').removeClass('error');
		jQuery('textarea#message').removeClass('error');
		
		//Change status text and fade in			
		jQuery('label#contactFormStatus').html(sendingMsg);
		jQuery('label#contactFormStatus').fadeIn('slow');	
	
	}

}


//CONTACTFORMRESPONSE
function showContactResponse(data) {
	
	jQuery('label#contactFormStatus').animate({opacity: 1.0}, 1000, function(){
		
		//Show success message	
		jQuery(this).animate({opacity: 1.0}, 1000, function(){
			
			//Remove error classes
			jQuery('input#fname').removeClass('error');
			jQuery('input#email').removeClass('error');
			jQuery('textarea#message').removeClass('error');
			jQuery('label#contactFormStatus').removeClass('error');
			
			//Fade out label
			jQuery('label#contactFormStatus').fadeOut('fast', function(){
				
				//Add success class
				jQuery('label#contactFormStatus').addClass('success');
				
				//Reset form to default values
				jQuery('input#fname').val(fnameLabel);
				jQuery('input#email').val(emailLabel);
				jQuery('textarea#message').val(messageLabel);				
				
				//Change text
				jQuery('label#contactFormStatus').html(thanksMsg + data.fname + '.');
				
			});
			
			//Fade in label & wait before fading label out
			jQuery('label#contactFormStatus').fadeIn('fast').animate({opacity: 1.0}, 5000, function(){
			
				jQuery(this).fadeOut('slow');				
				
				jQuery('label#contactFormStatus').removeClass('success');
				
			});
			
		});

	});

}