function validateAndSubmit() {
	var frm = document.getElementById('mainform');
	if(validate(frm))
		frm.submit();
}

$.fn.focus_first = function() {
	var elem = $('input:visible', this).get(0);
	if (elem)
		elem.focus();
}

$(document).ready(function() {
	$("#search").focus(function() {
		if ( $(this).val() == "Search")
			$(this).val("");
	});

	$("#search").blur(function() {
		if ( $(this).val() == "")
			$(this).val("Search");
	});
	
	$("#ContactPreference").change(function() {
		// Set the 'required' class to true on selected option
		var sel = $("#ContactPreference option:selected").val();
		var v_fields = $("#v_fields");
		var v_errors = $("#v_errors");
		
		// Switch field requirements and error messages
		if (sel == "Email" || sel == "email") {
			$("#Email_wrapper").attr("class", "required");
			$("#Phone_wrapper").removeAttr("class");
			
			v_fields.val( v_fields.val().replace("|e_Email", "|re_Email").replace("|rt_Phone", "|t_Phone") );
			v_errors.val( v_errors.val().replace("|Email", "|Email is required and").replace("|Phone is required and", "|Phone") );
		} else if (sel == "Phone" || sel == "phone") {
			$("#Email_wrapper").removeAttr("class");
			$("#Phone_wrapper").attr("class", "required");
			
			v_fields.val( v_fields.val().replace("|re_Email", "|e_Email").replace("|t_Phone", "|rt_Phone") );
			v_errors.val( v_errors.val().replace("|Email is required and", "|Email").replace("|Phone", "|Phone is required and") );
		}
	});
	
	$('#mainform').focus_first();
});


