function validate_form()
{
	var valid = true;
	
	<!-- Visitor Name -->
	if(document.contact_form.visitor.value == "")
	{
		CSS("add", document.contact_form.visitor, "validationError");
		document.getElementById("visitorError").innerHTML = "You must enter a name";
		valid = false;
	}
	else if(document.contact_form.visitor.value.match(/[^a-zA-Z0-9\.\-\Ä\ä\Ö\ö\Ü\ü\ ]+/))
	{		
		CSS("add", document.contact_form.visitor, "validationError");
		document.getElementById("visitorError").innerHTML = "Invalid entry";
		valid = false;
	}
	else
	{
      	CSS("remove", document.contact_form.visitor, "validationError");
		document.getElementById("visitorError").innerHTML = "";
	}
	
	<!-- Company Name -->
	if(document.contact_form.company.value == "")
	{
		CSS("add", document.contact_form.company, "validationError");
		document.getElementById("companyError").innerHTML = "You must enter a company";
		valid = false;
	}
	else if(document.contact_form.company.value.match(/[^a-zA-Z0-9\.\-\Ä\ä\Ö\ö\Ü\ü\ ]+/))
	{		
		CSS("add", document.contact_form.company, "validationError");
		document.getElementById("companyError").innerHTML = "Invalid entry";
		valid = false;
	}
	else
	{
      	CSS("remove", document.contact_form.company, "validationError");
		document.getElementById("companyError").innerHTML = "";
	}
	
	<!-- EMail -->
	if(document.contact_form.visitormail.value == "")
	{
		CSS("add", document.contact_form.visitormail, "validationError");
		document.getElementById("mailError").innerHTML = "You must enter an e-mail address";
		valid = false;
	}
	else if(!document.contact_form.visitormail.value.match(/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/))
	{		
		CSS("add", document.contact_form.visitormail, "validationError");
		document.getElementById("mailError").innerHTML = "Invalid entry";
		valid = false;
	}
	else
	{
      	CSS("remove", document.contact_form.visitormail, "validationError");
		document.getElementById("mailError").innerHTML = "";
	}
	
	<!-- Phone Number -->
	if(document.contact_form.visitorphone.value == "")
	{
		CSS("add", document.contact_form.visitorphone, "validationError");
		document.getElementById("phoneError").innerHTML = "You must enter a phone number";
		valid = false;
	}
	else if(!document.contact_form.visitorphone.value.match(/((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}/))
	{		
		CSS("add", document.contact_form.visitorphone, "validationError");
		document.getElementById("phoneError").innerHTML = "Invalid entry";
		valid = false;
	}
	else
	{
      	CSS("remove", document.contact_form.visitorphone, "validationError");
		document.getElementById("phoneError").innerHTML = "";
	}
	
	<!-- Notes -->
	if(document.contact_form.notes.value == "")
	{
		CSS("add", document.contact_form.notes, "validationError");
		document.getElementById("noteError").innerHTML = "You must enter a message.";
		valid = false;
	}
	else if(document.contact_form.notes.value.length < 5)
	{		
		CSS("add", document.contact_form.notes, "validationError");
		document.getElementById("noteError").innerHTML = "Message is too short.";
		valid = false;
	}
	else
	{
      	CSS("remove", document.contact_form.notes, "validationError");
		document.getElementById("noteError").innerHTML = "";
	}
	
	return valid;
}

function CSS($action, $object, $class)
{
	switch($action.toLowerCase())
	{
		case "add":
			if(!CSS("check", $object, $class))
				$object.className += $object.className ? " " + $class : $class;
			break;
		case "remove":
			var rep = $object.className.match(" " + $class) ? " " + $class : $class;
			$object.className = $object.className.replace(rep, "");
			break;
		case "check":
			return new RegExp("\\b" + $class + "\\b").test($object.className);
			break;
	}
}