function Validate(theForm) {
   if (Trim(theForm.FirstName.value) == "")
  {
    alert("Please enter your first name.");
    theForm.FirstName.focus();
    return (false);
  }
   if (Trim(theForm.LastName.value) == "")
  {
    alert("Please enter your last name.");
    theForm.LastName.focus();
    return (false);
  }
   if (Trim(theForm.Company.value) == "")
  {
    alert("Please enter your company name.");
    theForm.Company.focus();
    return (false);
  }
   if (Trim(theForm.Email.value) == "")
  {
    alert("Please enter your email address.");
    theForm.Email.focus();
    return (false);
  }
	var checkStr = theForm.Email.value;
	var ch = checkStr.indexOf('@');

	if (ch==0 || ch==-1) {
		alert("Please enter a valid email address.");
		theForm.Email.focus();
		return (false);
	}
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@.-_'";
	var checkStr = theForm.Email.value;
	var allValid = 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 only letter, digit and \"@.-_'\" characters in the \"Email\" field.");
		theForm.Email.focus();
		return (false);
	}
   if (Trim(theForm.Password.value) == "")
  {
    alert("Please enter your password.");
    theForm.Password.focus();
    return (false);
  }
   if (Trim(theForm.CfmPWD.value) == "")
  {
    alert("Please confirm your password.");
    theForm.CfmPWD.focus();
    return (false);
  }
   if (theForm.Password.value != theForm.CfmPWD.value)
  {
	alert("Your passwords do not match. Please re-enter and confirm the password.");
    theForm.Password.value="";
	theForm.CfmPWD.value="";
	theForm.Password.focus();
    return (false);
  }
   if (Trim(theForm.boxCode.value )== "")   
      {
      alert("Please enter the secret code. The form will not be submitted unless the correct letters and digits are entered.  If you are having trouble viewing the code, you can refresh your Internet screen, and a new code will appear.");
      theForm.boxCode.focus();
      return (false);
      }
  		return (true);
}