// General function that returns false if "fieldname" is empty.
function checkfield(fieldname) {
	var fieldval = (fieldname.value.length == 0) ? false: true;
	return fieldval;
}

// Function that checks for valid E-mail. Returns false if not valid.
function checkemail(fieldname) {
	if (!checkfield(fieldname)) {
		return false;
	}

	invalidchars = " /:,;"
	for (count = 0; count < invalidchars.length; count++) {
		badchar = invalidchars.charAt(count);
		if (fieldname.value.indexOf(badchar,0) > -1) {
			return false;
		}
	}

	atpos = fieldname.value.indexOf("@", 1);
	if (atpos == -1) {
		return false;
	}
	if (fieldname.value.indexOf("@", atpos + 1) > -1) {
		return false;
	}

	periodpos = fieldname.value.indexOf(".", atpos);
	if (periodpos == -1) {
		return false;
	}
	if (periodpos + 3 > fieldname.value.length) {
		return false;
	}
	return true;
}


// This checks the form. It calls the various functions to check for validity.
function checkconsultation(f) {
	var requestval = checkfield(f.request);
	var firstnameval = checkfield(f.first_name);
	var lastnameval = checkfield(f.last_name);
	var emailval = checkemail(f.email);

	var formvalid = true;
	var focusfield = "";
	var errormsg = "Please Try Once More\n\nYou made an error or omitted the following required field(s) when booking your consultation:\n\n";

	if (!requestval) {
		formvalid = false;
		errormsg = errormsg + '  - Who you would like to meet with.\n';
		focusfield = f.request;
	}
	if (!firstnameval) {
		formvalid = false;
		errormsg = errormsg + '  - Your first name.\n';
		focusfield = f.first_name;
	}
	if (!lastnameval) {
		formvalid = false;
		errormsg = errormsg + '  - Your last name.\n';
		focusfield = f.last_name;
	}
	if (!emailval) {
		formvalid = false;
		errormsg = errormsg + '  - Your email.\n';
		focusfield = f.email;
	}
	if ( formvalid ) {
		return true;
	} else {
		alert(errormsg);
		return false;
	}
}


