function submitContact() {
	error = "";
	submit = true;

	if (!$("name").value)			error += "\t- First Name.\n";
	if (!$("lastname").value)		error += "\t- Last Name.\n";

	if (!isEmail($("email").value)) error += "\t- E-Mail.\n";
	if (!$("comments").value)		error += "\t- Comments.\n";

	if (!error.length) {
		$("contactForm").submit();
	} else {
		alert("Please, fill the following fields :\n" + error);
	}
}

function isEmail(emailStr) {
	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 + ")*$");

	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) {
		// alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}

	var user = matchArray[1];
	var domain = matchArray[2];

	if (user.match(userPat) == null) {
		// alert("The username doesn't seem to be valid.");
		return false;
	}

	var IPArray = domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				// alert("Destination IP address is invalid!");
				return false;
			}
		}

	    return true;
	}

	var domainArray = domain.match(domainPat)
	if (domainArray == null) {
		// alert("The domain name doesn't seem to be valid.");
		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) {
	   // alert("The address must end in a three-letter domain, or two letter country.");
	   return false;
	}

	if (len < 2) {
	   // alert("This address is missing a hostname!");
	   return false;
	}

	return true;
}