function Form1_Validator(theForm)
{
  if (theForm.Nachname.value == "")
  {
    alert("Bitte geben Sie Ihren Nachnahmen ein.");
    theForm.Nachname.focus();
	return (false);
  }

  if (theForm.Nachname.value.length < 2)
  {
    alert("Geben Sie mindestens 2 Zeichen in das Feld \"Nachname\" ein.");
    theForm.Nachname.focus();
    return (false);
  }

  var checkOK = "-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ ";
  var checkStr = theForm.Nachname.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("F\u00FCr das Feld \"Nachname\" sind nur Buchstaben erlaubt.");
    theForm.Nachname.focus();
    return (false);
  }

  var checkStr = theForm.Vorname.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("F\u00FCr das Feld \"Vorname\" sind nur Buchstaben erlaubt.");
    theForm.Vorname.focus();
    return (false);
  }

  if (theForm.Firma.value == "")
  {
    alert("Bitte geben Sie den Firmennahmen ein");
    theForm.Firma.focus();
    return (false);
  }

  if (theForm.Firma.value.length < 2)
  {
    alert("Geben Sie mindestens 2 Zeichen in das Feld \"Firma\" ein.");
    theForm.Firma.focus();
    return (false);
  }

  if (theForm.Strasse.value == "")
  {
    alert("Bitte geben Sie den Strassennahmen ein.");
    theForm.Strasse.focus();
    return (false);
  }

  if (theForm.Strasse.value.length < 2)
  {
    alert("Geben Sie mindestens 2 Zeichen in das Feld \"Strasse\" ein.");
    theForm.Strasse.focus();
    return (false);
  }

  if (theForm.Postleitzahl.value == "")
  {
    alert(" Bitte geben Sie die Postleitzahl ein.");
    theForm.Postleitzahl.focus();
    return (false);
  }

  if (theForm.Postleitzahl.value.length < 3)
  {
    alert("Geben Sie mindestens 3 Zeichen in das Feld \"Postleitzahl\" ein.");
    theForm.Postleitzahl.focus();
    return (false);
  }

  if (theForm.Ort.value == "")
  {
    alert("Bitte geben Sie den Ort ein.");
    theForm.Ort.focus();
    return (false);
  }

  if (theForm.Ort.value.length < 2)
  {
    alert("Geben Sie mindestens 2 Zeichen in das Feld \"Ort\" ein.");
    theForm.Ort.focus();
    return (false);
  }

  if (theForm.Land.value == "")
  {
    alert("Bitte geben Sie das Land ein.");
    theForm.Land.focus();
    return (false);
  }

  if (theForm.Land.value.length < 1)
  {
    alert("Geben Sie mindestens 1 Zeichen in das Feld \"Land\" ein.");
    theForm.Land.focus();
    return (false);
  }

  if (theForm.Telefon.value == "")
  {
    alert("Bitte geben Sie Ihre Telefonnummer ein.");
    theForm.Telefon.focus();
    return (false);
  }

  if (theForm.Telefon.value.length < 5)
  {
    alert("Geben Sie mindestens 5 Zeichen in das Feld \"Telefonnummer\" ein.");
    theForm.Telefon.focus();
    return (false);
  }

  var checkOK = "0123456789-+()-/ \t\r\n\f";
  var checkStr = theForm.Telefon.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("F\u00FCr das Feld \"Telefonnummer\" sind nur Ziffern, Leerr\u00E4ume und die Zeichen \"+()-/\" erlaubt.");
    theForm.Telefon.focus();
    return (false);
  }

  if (theForm.EMail.value == "")
  {
    alert("Bitte geben Sie Ihre E-Mail-Adresse ein.");
    theForm.EMail.focus();
    return (false);
  }

  if (theForm.EMail.value.length < 5)
  {
    alert("Geben Sie mindestens 5 Zeichen in das Feld \"E-Mail\" ein.");
    theForm.EMail.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#402;&#352;&#338;&#381;&#353;&#339;&#382;&#376;ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ0123456789-@.-_";
  var checkStr = theForm.EMail.value;
  var allValid = true;
  var validGroups = true;
  var attGefunden = false;
  var PunktGefunden = false;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
	 if (ch == "@")
	 	attGefunden = true;
	 if (attGefunden)
		 if (ch == ".")
		 	PunktGefunden = true;

    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;

    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  
  if (!attGefunden || !PunktGefunden)
  {
    alert("Im Feld \"E-Mail\" muss eine g\u00FCltige E-Mailadresse eingegeben werden");
    theForm.EMail.focus();
    return (false);
  }

  if (!allValid)
  {
    alert("F\u00FCr das Feld \"E-Mail\" sind nur Buchstaben, Ziffern und die Zeichen \"@.-_\" erlaubt.");
    theForm.EMail.focus();
    return (false);
  }
  theForm.Abschicken.disabled=true;
  return (true);
}
