		function Form_Validator(theForm)
		{
		
		  if (theForm.FirstName.value == "")
		  {
		    alert("Please enter your \"First Name\".");
		    theForm.FirstName.focus();
		    return (false);
		  }
		
		  if (theForm.FirstName.value.length < 2)
		  {
		    alert("Please enter a valid \"First Name\".");
		    theForm.FirstName.focus();
		    return (false);
		  }
		
		  if (theForm.FirstName.value.length > 30)
		  {
		    alert("Please enter a valid \"First Name\".");
		    theForm.FirstName.focus();
		    return (false);
		  }
		
		  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ'.-` \t\r\n\f";
		  var checkStr = theForm.FirstName.value;
		  var allValid = true;
		  var validGroups = true;
		  for (i = 0;  i < checkStr.length;  i++)
		  {
		    ch = checkStr.charAt(i);
		    for (j = 0;  j < checkOK.length;  j++)
		      if (ch == checkOK.charAt(j))
		        break;
		    if (j == checkOK.length)
		    {
		      allValid = false;
		      break;
		    }
		  }
		  if (!allValid)
		  {
		    alert("Please enter a valid \"First Name\".");
		    theForm.FirstName.focus();
		    return (false);
		  }
		
		  if (theForm.LastName.value == "")
		  {
		    alert("Please enter your \"Last Name\".");
		    theForm.LastName.focus();
		    return (false);
		  }
		
		  if (theForm.LastName.value.length < 2)
		  {
		    alert("Please enter a valid \"Last Name\".");
		    theForm.LastName.focus();
		    return (false);
		  }
		
		  if (theForm.LastName.value.length > 30)
		  {
		    alert("Please enter a valid \"Last Name\".");
		    theForm.LastName.focus();
		    return (false);
		  }
		
		  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ'.-` \t\r\n\f";
		  var checkStr = theForm.LastName.value;
		  var allValid = true;
		  var validGroups = true;
		  for (i = 0;  i < checkStr.length;  i++)
		  {
		    ch = checkStr.charAt(i);
		    for (j = 0;  j < checkOK.length;  j++)
		      if (ch == checkOK.charAt(j))
		        break;
		    if (j == checkOK.length)
		    {
		      allValid = false;
		      break;
		    }
		  }
		  if (!allValid)
		  {
		    alert("Please enter a valid \"Last Name\".");
		    theForm.LastName.focus();
		    return (false);
		  }

		  if (theForm.Email.value == "")
		  {
		    alert("Please enter your \"E-mail\".");
		    theForm.Email.focus();
		    return (false);
		  }
		
		  if (theForm.Email.value.length < 7)
		  {
		    alert("Please enter a valid \"E-mail\".");
		    theForm.Email.focus();
		    return (false);
		  }
		
		  if (theForm.Email.value.length > 45)
		  {
		    alert("Please enter a valid \"E-mail\".");
		    theForm.Email.focus();
		    return (false);
		  }
		
		  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-.-_@";
		  var checkStr = theForm.Email.value;
		  var allValid = true;
		  var validGroups = true;
		  for (i = 0;  i < checkStr.length;  i++)
		  {
		    ch = checkStr.charAt(i);
		    for (j = 0;  j < checkOK.length;  j++)
		      if (ch == checkOK.charAt(j))
		        break;
		    if (j == checkOK.length)
		    {
		      allValid = false;
		      break;
		    }
		  }
		  if (!allValid)
		  {
		    alert("Please enter a valid \"E-mail\".");
		    theForm.Email.focus();
		    return (false);
		  }
		
		  if (theForm.Message.value == "")
		  {
		    alert("Please enter your \"Message\".");
		    theForm.Message.focus();
		    return (false);
		  }
		
		  if (theForm.Message.value.length < 2)
		  {
		    alert("Please enter your \"Message\".");
		    theForm.Message.focus();
		    return (false);
		  }
		  return (true);
		}
