function validate() {
	
	function trim(str) {
        return str.replace(/^\s+|\s+$/g,"");
    }
	
	var error = "";
	var emailFilter = /^.+@.+\..{2,3,4,6}$/;
	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
	
	var firstName = document.getElementById('first-name');
	var lastName = document.getElementById('last-name');
	var emailAddress = document.getElementById('email-address');
	var phone = document.getElementById('phone');
	var jobTitle = document.getElementById('job-title');
	var company = document.getElementById('company');
	var state = document.getElementById('state');	
	var country = document.getElementById('country');
	// var companySize = document.getElementById('company-size');
	var revenue = document.getElementById('revenue');
	var industry = document.getElementById('industry');
	
	// Check <select> elements
	if (state.selectedIndex == 0 || country.selectedIndex == 0 || revenue.selectedIndex == 0 || industry.selectedIndex == 0 ) {
			error = "Please fill out all required fields.\n";
	}
	
	// Check text inputs
	if (trim(firstName.value) == "" || trim(lastName.value) == "" || trim(phone.value) == "" || trim(jobTitle.value) == "" || trim(company.value) == "") {
			error = "Please fill out all required fields.\n";
	}
	
	// Check email address
	var atPos = emailAddress.value.indexOf("@");
	var dotPos = emailAddress.value.lastIndexOf(".");
	var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;

	if (atPos < 1 || dotPos - atPos < 2 || emailAddress.value.match(illegalChars)) {
		error += "Please enter a valid email address";
	}
	
	// See if an error occured
	if (error != "") {
		alert(error);
		return false;
	}
	
	return true;
}
