function preventDefaultAction(e)	{
  if (e)	{
    if (typeof e.preventDefault != 'undefined')	{ 
		e.preventDefault(); 
		}               
    else	{ 
		e.returnValue = false; 
		}                   
  	}
  // safey for handling DOM Level 0
  return false;
}

function cf_show_error(id, message) {
	if($(id)) {
		var span = $(id).previous('span');
		span.innerHTML = '&nbsp;' + message;
		}
	}

function cf_validate(e) {
	if($('cf_meat').value.length > 0 && $('cf_email').value.length > 0 && check_email()) {
		$('cf_form').submit;
		}
	else {
		if($('cf_meat').value.length < 1) {
			cf_show_error('cf_meat', ' Please enter the text of your email here before sending.');
			cf_show_error('cf_submit', ' You need to correct the problems shown above before sending your email.');
			}
		if($('cf_email').value.length < 1) {
			cf_show_error('cf_email', ' Please provide a valid email address so we can respond.');
			cf_show_error('cf_submit', ' You need to correct the problems shown above before sending your email.');
			}
		return preventDefaultAction(e);
		}
	}

function toggle_correct_errors_message() {
	if($('cf_submit').disabled) {
		cf_show_error('cf_submit', ' You need to correct the problems shown above before sending your email.');
		}
	else {
		cf_show_error('cf_submit', '');
		}
	}
	
function enable_submit() {
	$('cf_submit').disabled = false;
	toggle_correct_errors_message()
	}
	
function disable_submit() {
	$('cf_submit').disabled = true;
	toggle_correct_errors_message()
	}
	
function check_email() {
	var email = $('cf_email').value;
	var simple_email_reg = new RegExp("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$");
	if(!simple_email_reg.test(email)) {
		cf_show_error('cf_email', ' Please provide a valid email address so we can respond.');
		disable_submit();
		return false;
		}
	else {
		cf_show_error('cf_email', '');
		enable_submit();
		return true;
		}
	}

Event.observe(window, 'load', function() {
	Event.observe($('cf_email'), 'blur', check_email);
	Event.observe($('cf_form'), 'submit', cf_validate);
	});