function emailCheck(emailAddress) {	if (!emailAddress) {		return false;	}	var emailPat=/^(.+)@(.+)$/	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"	var validChars="\[^\\s" + specialChars + "\]"	var quotedUser="(\"[^\"]*\")"	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/	var atom=validChars + '+'	var word="(" + atom + "|" + quotedUser + ")"	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")		/* Begin with the coarse pattern to simply break up user@domain into	   different pieces that are easy to analyze. */	var matchArray = emailAddress.match(emailPat);	if (matchArray == null) {		return false;	}	var user = matchArray[1];	var domain = matchArray[2];		if (user.match(userPat) == null) {		return false;	}	var IPArray = domain.match(ipDomainPat);	var domain_errors = 0;	if (IPArray != null) {		for (var i=1;i<=4;i++) {			if (IPArray[i]>255) {				return false;			}		}	}		var domainArray = domain.match(domainPat);	if (domainArray == null) {		return false;	}	var atomPat = new RegExp(atom,"g");	var domArr = domain.match(atomPat);	var len = domArr.length;	if (domArr[domArr.length-1].length < 2 || domArr[domArr.length-1].length > 3) {		return false;	}	if (len < 2) {		return false;	}	return true;}function formCheck() {	var errors = 0;	var alert_text = '';		// check for first name, then last name	if (!document.webform.first_name.value && document.webform.f_name_req.value == 1) {		errors++;		alert_text += 'You must enter a first name.\n';	}	if (!document.webform.last_name.value && document.webform.l_name_req.value == 1) {		errors++;		alert_text += 'You must enter a last name.\n';	}	// check for company name	if (!document.webform.company_name.value && document.webform.company_name_req.value == 1) {		errors++;		alert_text += 'You must enter your company\'s name.\n';	}	// check for phone	if (!document.webform.phone.value && document.webform.phone_req.value == 1) {		errors++;		alert_text += 'Please tell us your phone number.\n';	}	// check for email address	if (!emailCheck(document.webform.email.value) && document.webform.email_req.value == 1) {		errors++;		alert_text += 'Your email is missing or invalid.\n';	}	// check for product	if (!document.webform.product.value && document.webform.product_req.value == 1) {		errors++;		alert_text += 'Please choose a product to evaluate.\n';	}	// check for server	if (!document.webform.server.value && document.webform.server_req.value == 1) {		errors++;		alert_text += 'Please tell us your server make and model.\n';	}	// check for capacity	if (!document.webform.capacity.value && document.webform.capacity_req.value == 1) {		errors++;		alert_text += 'Please tell us your server\'s capacity.\n';	}	// check for os	if (!document.webform.os.value && document.webform.os_req.value == 1) {		errors++;		alert_text += 'Please tell us your server\'s OS.\n';	}	// check for fs	if (!document.webform.fs.value && document.webform.fs_req.value == 1) {		errors++;		alert_text += 'Please let us know which file system you are using.\n';	}			// check for aboutcamino	if (!document.webform.aboutcamino.value && document.webform.aboutcamino_req.value == 1) {		errors++;		alert_text += 'Please tell us how you heard about us.\n';	}  // check for comment	if (!document.webform.comments.value && document.webform.comments_req.value == 1) {		errors++;		alert_text += 'You must enter a comment/question.\n';	}	if (errors > 0) {		alert(alert_text);		return false;	} else {		return true;	}}
