/**
* JQuery to handle the quick contact form.
*
* @author	DWR
* @since	20110316
*/
$(function(){
	//Display the fields for the form if the request_type dropdown is clicked.
	$('#request_type').change(function() {
		if($('#request_type').attr('value')=='null')
		{

			$('#email').attr('value','Email');
			$('#phone').attr('value','Phone number');
			$('#full_name').attr('value','Name');
			$('#comments').attr('value','Comments');

			/* hide all form elements except the dropdown */
			$('.ctrlHolder').css('display','none');
			$('.buttonHolder').css('display','none');
			$('#request_type_field').css('display','block');

			$('#quick_contact_validation_image_email_cross').css('display','none');
			$('#quick_contact_validation_image_email_tick').css('display','none');
			$('#quick_contact_validation_image_phone_cross').css('display','none');
			$('#quick_contact_validation_image_phone_tick').css('display','none');
			$('#quick_contact_validation_image_full_name_cross').css('display','none');
			$('#quick_contact_validation_image_full_name_tick').css('display','none');
			$('#quick_contact_validation_image_comments_cross').css('display','none');
			$('#quick_contact_validation_image_comments_tick').css('display','none');




		}
		else if($('#request_type').attr('value')=='info')
		{
			$('#email_field').css('display','block');
			$('#phone_field').css('display','none').attr('value','Phone number');
			$('#full_name_field').css('display','block');
			$('#comments_field').css('display','block');
			$('.buttonHolder').css('display','block');
/*
			$('#email').css('display','block');
			$('#phone').css('display','none');
			$('#full_name').css('display','block');
			$('#comments').css('display','block');
*/

			$('#quick_contact_validation_image_email_cross').css('display','none');
			$('#quick_contact_validation_image_email_tick').css('display','none');
			$('#quick_contact_validation_image_phone_cross').css('display','none');
			$('#quick_contact_validation_image_phone_tick').css('display','none');
			$('#quick_contact_validation_image_full_name_cross').css('display','none');
			$('#quick_contact_validation_image_full_name_tick').css('display','none');
			$('#quick_contact_validation_image_comments_cross').css('display','none');
			$('#quick_contact_validation_image_comments_tick').css('display','none');
/*
			$('#phone').attr('value','Phone number');
			$('#full_name').attr('value','Name');
			$('#comments').attr('value','Comments');
*/
		}
		else if($('#request_type').attr('value')=='callback'||$('#request_type').attr('value')=='viewing')
		{
			$('#email_field').css('display','none').attr('value','Email');
			$('#phone_field').css('display','block');
			$('#full_name_field').css('display','block');
			$('#comments_field').css('display','block');
			$('.buttonHolder').css('display','block');
/*
			$('#email').css('display','none');
			$('#phone').css('display','block');
			$('#full_name').css('display','block');
			$('#comments').css('display','block');
			$('#send').css('display','block');
*/
			$('#quick_contact_validation_image_email_cross').css('display','none');
			$('#quick_contact_validation_image_email_tick').css('display','none');
			$('#quick_contact_validation_image_phone_cross').css('display','none');
			$('#quick_contact_validation_image_phone_tick').css('display','none');
			$('#quick_contact_validation_image_full_name_cross').css('display','none');
			$('#quick_contact_validation_image_full_name_tick').css('display','none');
			$('#quick_contact_validation_image_comments_cross').css('display','none');
			$('#quick_contact_validation_image_comments_tick').css('display','none');
/*
			$('#email').attr('value','Email');
			$('#full_name').attr('value','Name');
			$('#comments').attr('value','Comments');
*/
		}
	});

	//Clear the field if the user clicks within the field.
	$('#email').focus(function(){
		if($('#email').attr('value')=='Email')
		{
			$('#email').attr('value','');
		}
	});

	$('#phone').focus(function(){
		if($('#phone').attr('value')=='Phone number')
		{
			$('#phone').attr('value','');
		}
	});

	$('#full_name').focus(function(){
		if($('#full_name').attr('value')=='Name')
		{
			$('#full_name').attr('value','');
		}
	});

	$('#comments').focus(function(){
		if($('#comments').attr('value')=='Comments')
		{
			$('#comments').attr('value','');
		}
	});

	//Validate the field content when the user clicks out of a field (valid=user has submitted any value). If the field is valid, display a tick image; if the field is not valid, display a cross image.
	$('#email').blur(function(){
		if($('#email').attr('value')==''||$('#email').attr('value')=='Email')
		{
			$('#quick_contact_validation_image_email_tick').css('display','none');
			$('#quick_contact_validation_image_email_cross').css('display','inline');
		}
		else
		{
			$('#quick_contact_validation_image_email_tick').css('display','inline');
			$('#quick_contact_validation_image_email_cross').css('display','none');
		}
	});

	$('#phone').blur(function(){
		if($('#phone').attr('value')==''||$('#phone').attr('value')=='Phone number')
		{
			$('#quick_contact_validation_image_phone_tick').css('display','none');
			$('#quick_contact_validation_image_phone_cross').css('display','inline');
		}
		else
		{
			$('#quick_contact_validation_image_phone_tick').css('display','inline');
			$('#quick_contact_validation_image_phone_cross').css('display','none');
		}
	});

	$('#full_name').blur(function(){
		if($('#full_name').attr('value')==''||$('#full_name').attr('value')=='Name')
		{
			$('#quick_contact_validation_image_full_name_tick').css('display','none');
			$('#quick_contact_validation_image_full_name_cross').css('display','inline');
			return false;
		}
		else
		{
			$('#quick_contact_validation_image_full_name_tick').css('display','inline');
			$('#quick_contact_validation_image_full_name_cross').css('display','none');
		}
	});

	$('#comments').blur(function(){
		if($('#comments').attr('value')==''||$('#comments').attr('value')=='Comments')
		{
			$('#quick_contact_validation_image_comments_tick').css('display','none');
			$('#quick_contact_validation_image_comments_cross').css('display','inline');
			return false;
		}
		else
		{
			$('#quick_contact_validation_image_comments_tick').css('display','inline');
			$('#quick_contact_validation_image_comments_cross').css('display','none');
		}
	});

	//If the send button is clicked, only peform the submission if all fields are valid. The return false at the end of the validation of each field prevents the logic dropping through to the AJAX bit.
	$('#quick_form_submit').click(function(){
		if($('#request_type').attr('value')=='info'&&($('#email').attr('value')==''||$('#email').attr('value')=='Email'))
		{
			alert('Please enter a valid email address');
			return false;
		}
		else if($('#request_type').attr('value')!='info'&&($('#phone').attr('value')==''||$('#phone').attr('value')=='Phone number'))
		{
			alert('Please enter a valid phone number');
			return false;
		}
		if($('#full_name').attr('value')==''||$('#full_name').attr('value')=='Name')
		{
			alert('Please enter a valid name');
			return false;
		}
		if($('#comments').attr('value')==''||$('#comments').attr('value')=='Comments')
		{
			alert('Please enter a valid comment');
			return false;
		}
		//All is well with the fields, so now we submit using AJAX. We use AJAX because we do not want the page to refresh.
		var request_type=$('#request_type').val();
		var email=$('#email').val();
		var phone=$('#phone').val();
		var full_name=$('#full_name').val();
		var comments=$('#comments').val();
		var details=$('#details').val();//No validation on this hidden field - we use it to trap spam bots.
		$.ajax({
			url:'/page/quick_contact',
			type:'POST',
			data:'request_type='+request_type+'&email='+email+'&phone='+phone+'&full_name='+full_name+'&comments='+comments+'&details='+details,
			success:function(result){
				$('#quick_contact_message').append('<p id="response">'+result+'</p>');
			}
		});
		return false;
	});
});
