function validate() {
    var error = ""; 

    if ( document.getElementById("first_name").value == "" ) {
	    error += "Enter your first name.\n";
	    document.getElementById("first_name").style.border = "2px solid #E4403F";
    } else {
	    document.getElementById("first_name").style.border = "";
    }

    if ( document.getElementById("last_name").value == "" ) {
    	error += "Enter your last name.\n";
    	document.getElementById("last_name").style.border = "2px solid #E4403F";
    } else {
    	document.getElementById("last_name").style.border = "";
	}

    if ( document.getElementById("email").value == "" ) {
        error += "You didn't enter an email address.\n";
        document.getElementById("email").style.border = "2px solid #E4403F";
    } else {
	    var emailFilter=/^.+@.+\..{2,3}$/;
	    if (!(emailFilter.test(document.getElementById("email").value))) { 
	        error += "Please enter a valid email address.\n";
	        document.getElementById("email").style.border = "2px solid #E4403F";
	    } else {
		    //test email for illegal characters
    		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
    		if (document.getElementById("email").value.match(illegalChars)) {
    			error += "The email address contains illegal characters.\n";
    			document.getElementById("email").style.border = "2px solid #E4403F";
    		} else {
                document.getElementById("email").style.border = "";
            }
	    }
    }

    if ( document.getElementById("phone").value == "") {
       error += "You didn't enter a phone number.\n";
       document.getElementById("phone").style.border = "2px solid #E4403F";
    } else {
    	var stripped = document.getElementById("phone").value.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
    	if (isNaN(parseInt(stripped))) {
    		error += "The phone number contains illegal characters.\n";
    		document.getElementById("phone").style.border = "2px solid #E4403F";  
	    } else if (!(stripped.length == 10)) {
    		error += "The phone number is the wrong length. Make sure you included an area code.\n";
    		document.getElementById("phone").style.border = "2px solid #E4403F";
    	} else {
		    document.getElementById("phone").style.border = "";
	    }
    }		

    if ( document.getElementById("country").value == "" ) {
    	error += "Select your country.\n";
    	document.getElementById("country").style.border = "2px solid #E4403F";
    } else {
    	document.getElementById("country").style.border = "";
	}

    if ( document.getElementById("state").value == "" ) {
    	error += "Select your state.\n";
    	document.getElementById("state").style.border = "2px solid #E4403F";
    } else {
	    document.getElementById("state").style.border = "";
    }

    if ( document.getElementById("company").value == "" ) {
    	error += "Enter your company's name.\n";
    	document.getElementById("company").style.border = "2px solid #E4403F";
    } else {
	    document.getElementById("company").style.border = "";
    }

    if ( error != "" ) {
    	alert(error);
    	return false;
    } else {
		if($('input#recaptcha_response_field').val() == '') {
			alert('Please enter security code');
			return false;
		}
		
    	challengeField = $("input#recaptcha_challenge_field").val();
    	responseField = $("input#recaptcha_response_field").val();
    	//console.log(challengeField);
    	//console.log(responseField);
    	//return false;
    	var html = $.ajax({
    		type: "POST",
    		url: "ajax.recaptcha.php",
    		data: "recaptcha_challenge_field=" + challengeField + "&recaptcha_response_field=" + responseField,
    		async: false
    		}).responseText;

    	//console.log( html );
    	if(html == "success") {
    		//Add the Action to the Form
    		$("form").attr("action", "https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8");
    		//Indicate a Successful Captcha
    		$("#captchaStatus").html("Success!");
    		// Uncomment the following line in your application
    		return true;
    	} else {
    		$("#captchaStatus").html("The security code you entered did not match. Please try again.");
    		Recaptcha.reload();
    		return false;
    	}
    }
}
