function checkForm() {
  return checkAdresse();
}

function checkAdresse() {
  if( window.document.kontakt.realname.value.length == 0 ) {
    alert( "Bitte geben Sie Ihren Namen ein." );
    window.document.kontakt.realname.focus();
    return false;
  }
//  if( window.document.kontakt.address.value.length == 0 && window.document.kontakt.email.value.length == 0 &&
//      window.document.kontakt.telefon.value.length == 0 && window.document.kontakt.fax.value.length == 0 ) {
//    alert( "Bitte geben Sie Ihre Adresse, E-Mail, Telfon- oder Fax-Nummer ein, damit wir mit Ihnen Kontakt aufnehmen können." );
//    window.document.kontakt.address.focus();
//    return false;
//  }
  if( window.document.kontakt.email.value.length == 0 ) {
    alert( "Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir mit Ihnen Kontakt aufnehmen können." );
    window.document.kontakt.address.focus();
    return false;
  }
  if( window.document.kontakt.email.value.length > 0 &&! checkEmail( window.document.kontakt.email.value ) ) {
    window.document.kontakt.email.focus();
    return false;
  }
  if( window.document.kontakt.telefon.value.length > 0 &&! checkNumber( window.document.kontakt.telefon.value ) ) {
    alert( "Die eingegebene Telefon-Nummer enthält ungültige Zeichen!" );
    window.document.kontakt.telefon.focus();
    return false;
  }
  if( window.document.kontakt.fax.value.length > 0 &&! checkNumber( window.document.kontakt.fax.value ) ) {
    alert( "Die eingegebene Fax-Nummer enthält ungültige Zeichen!" );
    window.document.kontakt.fax.focus();
    return false;
  }
  if( window.document.kontakt.comments.value.length == 0 ) {
    alert( "Bitte geben Sie eine Bemerkung ein." );
    window.document.kontakt.comments.focus();
    return false;
  }
  return true;
}

function checkEmail( emailPatternString ) {
  var emailPattern=/^(.+)@(.+)$/;
  var allowedChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
  var allowed2Chars="\[^\\s" + allowedChars + "\]";
  var UserChars="(\"[^\"]*\")";
  var IpdomainPatternStringtern=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
  var atomString=allowed2Chars + '+';
  var StringWord="(" + atomString + "|" + UserChars + ")";
  var UserPatternString=new RegExp("^" + StringWord + "(\\." + StringWord + ")*$");
  var domainPatternString=new RegExp("^" + atomString + "(\\." + atomString +")*$");
  var matchArray=emailPatternString.match(emailPattern);
  if( matchArray==null ) {
    alert( "Die EMail Adresse ist nicht Korrekt (@ und Punkte gesetzt?)" );
    return false;
  }
  var user=matchArray[1];
  var domain=matchArray[2];
  if( user.match(UserPatternString)==null ) {
    alert( "Der Username ist ungültig." );
    return false;
  }
  var IPArray=domain.match(IpdomainPatternStringtern);
  if( IPArray!=null ) {
    for( var i=1; i<=4; i++ ) {
      if( IPArray[i]>255 ) {
        alert( "Die IP Adresse ist ungültig!" );
        return false;
      }
    }
    return true;
  }
  var domainArrayString=domain.match(domainPatternString);
  if( domainArrayString==null ) {
    alert( "Der Domain Name ist ungültig." );
    return false;
  }
  var atomStringPat=new RegExp(atomString,"g");
  var DomainArray=domain.match(atomStringPat);
  var len=DomainArray.length;
  if( DomainArray[DomainArray.length-1].length<2 || DomainArray[DomainArray.length-1].length>3 ) {
    alert( "Der Domain Name muß mit 2 oder 3 Buchstaben enden" );
    return false;
  }
  if( len<2 ) {
    var errString="Bitte auch den Hostnamen angeben!";
    alert(errString);
    return false
  }
  return true;
}

function checkNumber( zahl ) {
  var zeichen = "0123456789/- ";
  var i, z;
  var laenge = zahl.length;
  for( i=0; i < laenge; i++ ) {
    z = zahl.charAt( i );
    if( zeichen.indexOf( z ) == -1 ) {
      return false;
    }
  }
  return true;
}
