$(document).ready(function(){
	init_contact_form();
});

function init_contact_form(){
	if($('#contact-mail-page1 .captcha').length > 0) $('#contact-mail-page1 .captcha').before('<div id="hidden_fields"><div></div></div>');
	else $('#edit-field-post-code-wrapper').before('<div id="hidden_fields"><div></div></div>');
	
	$('#hidden_fields > div').append($('#edit-field-property-name-wrapper'));
	$('#hidden_fields > div').append($('#edit-field-address-1-wrapper'));
	$('#hidden_fields > div').append($('#edit-field-address-2-wrapper'));
	$('#hidden_fields > div').append($('#edit-field-city-wrapper'));
	$('#hidden_fields > div').append($('#edit-field-country-wrapper'));
	$('#hidden_fields > div').append($('#edit-field-post-code-wrapper'));
	$('#hidden_fields > div').append('<div style="clear:both;"></div>');
	
//	$('#edit-field-guides-by-post-memorial-brochure').click(check_contact_checkboxes);
//	$('#edit-field-guides-by-post-bereavement-guide').click(check_contact_checkboxes);
//	check_contact_checkboxes();
	
	$('#contact-mail-page1').submit(submit_contact_form);
}

function check_contact_checkboxes(){
	if($('#edit-field-guides-by-post-memorial-brochure').is(':checked') || $('#edit-field-guides-by-post-bereavement-guide').is(':checked')){
		$('#hidden_fields').animate({'height': $('#hidden_fields > div').outerHeight(), 'opacity': 1}, 400);
	}else{
		$('#hidden_fields').animate({'height': 0, 'opacity': 0}, 400);
	}
}

function submit_contact_form(){
	
	$('#block-contact_form_blocks-1 *').removeClass('error'); // Remove error class from all elements in the form

	// Validate input
	var error = [];
	if($('#edit-name').val() == ''){ $('#edit-name').addClass('error'); error.push('Please include a name'); }
	if($('#edit-mail').val() == ''){ $('#edit-mail').addClass('error'); error.push('Please include an email address'); }
	else{
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(reg.test($('#edit-mail').val()) == false){ $('#edit-mail').addClass('error'); error.push('Please include a valid email address'); }
	}
	if($('#edit-subject').val() == ''){ $('#edit-subject').addClass('error'); error.push('Please include a subject'); }
	if($('#edit-message').val() == ''){ $('#edit-message').addClass('error'); error.push('Please include a message'); }
	if($('#edit-captcha-response').length > 0 && $('#edit-captcha-response').val().length != 5){ $('#edit-captcha-response').addClass('error'); error.push('Please enter the 5 character captcha code'); }
	
	// If either checkbox is selected, validate address fields
	if($('#edit-field-guides-by-post-memorial-brochure').is(':checked') || $('#edit-field-guides-by-post-bereavement-guide').is(':checked')){
		if($('#edit-field-property-name').val() == ''){ $('#edit-field-property-name').addClass('error'); error.push('Please include a property name or number'); }
		if($('#edit-field-address-1').val() == ''){ $('#edit-field-address-1').addClass('error'); error.push('Please include address line 1'); }
		if($('#edit-field-address-2').val() == ''){ $('#edit-field-address-2').addClass('error'); error.push('Please include address line 2'); }
		if($('#edit-field-city').val() == ''){ $('#edit-field-city').addClass('error'); error.push('Please include a city'); }
		if($('#edit-field-post-code').val() == ''){ $('#edit-field-post-code').addClass('error'); error.push('Please include a post code'); }
	}
	
	if(error.length > 0){ // If there are errors
		$('div.error').css({'display': 'none'}); // Hide drupal error if present
		
		// Generate error html
		var html = '';
		for(var i=0; i<error.length; i++) html += '<p>' + error[i] + '</p>';
		
		// Add error to body (if not present) and update html
		if($('#block-contact_form_blocks-1 .contact_form_error').length == 0) $('#block-contact_form_blocks-1 h2').after('<div class="contact_form_error"></div>');
		$('#block-contact_form_blocks-1 .contact_form_error').html(html);
		
		return false; // Prevent form from submitting
	}
}
