$(document).ready(function() {
  // Handler for .ready() called.
  
  	// write captcha fields
	$('#div_captcha').html('<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="40" align="left" valign="middle"><label for="captcha_response">Put the red code in the box below: <span id="captcha_challenge_display" style="color:#F00"></span></label><input type="hidden" name="captcha_challenge" id="captcha_challenge" value="" /></td></tr><tr><td height="24" align="left" valign="middle"><input name="captcha_response" type="text" class="bodyTxt" id="captcha_response" size="40" /></td></tr></table>');
	// write text area field for message
	$('#txtarea').html('<textarea name="message" cols="3" style="width: 230px;"></textarea>');
	// input field styles
	$('input:text').css('width','230px');
	// onsubmit of form function
	$('#contact_form > form').submit(function() {
	  return validateContactForm(this);
	});



math_captcha();

}); // END OF ON DOC READY 


// MATH CAPTCHA
function math_captcha() {

//Generates the captcha function    
	var a = Math.ceil(Math.random() * 9)+ '';
	var b = Math.ceil(Math.random() * 9)+ '';       
	var c = Math.ceil(Math.random() * 9)+ '';  
	var d = Math.ceil(Math.random() * 9)+ '';  
	var e = Math.ceil(Math.random() * 9)+ '';  
	  
	var code = a + b + c + d + e;
	document.getElementById("captcha_challenge").value = code;
	document.getElementById("captcha_challenge_display").innerHTML = code;	

}
// END MATH CAPTCHA

// FORM VALIDATION
function validateContactForm(form) {
	var error_flag = false;
	var error_message = '';
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	//check for first_name
	if(form.name) {
		if(form.name.value.length < 2) {
			error_message += "\nPlease fill in your name.";
			error_flag = true;
		}
	}
//	//check for phone
//	if(form.phone) {
//		if(form.phone.value.length < 10 || form.phone.defaultValue === form.phone.value) {
//			error_message += "\nPlease enter a valid phone number.";
//			error_flag = true;
//		}
//	}
	//check for email
	if(form.email) {
		if(!filter.test(form.email.value)) {
			error_message += "\nPlease enter a valid email address.";
			error_flag = true;
		}
	}
	//check for message
	if(form.message) {
		if(form.message.value.length < 4) {
			error_message += "\nPlease enter your message.";
			error_flag = true;
		}
	}
	// CAPTCHA (MODIFIED FROM http://typicalwhiner.com/190/simple-javascript-captcha-generator/)
	if(form.captcha_challenge && form.captcha_response) {
		if(form.captcha_response.value.length < 1) {
			error_message += "\nPlease enter the code in red.";
			error_flag = true;
		}
		else if((removeSpaces(form.captcha_challenge.value) != removeSpaces(form.captcha_response.value))) {
			error_message += "\nRed code did not match!";
			error_flag = true;
		}
	} // END CAPTCHA
	// display notice
	if(error_flag) {
		error_message = "The following error(s) occured:\n" + error_message;
		alert(error_message);
		return false;
	}
	// submit form
	return true;
}
// Remove the spaces from the entered and generated code
function removeSpaces(string){
	return string.split(' ').join('');
}
