function validate_form() {
  validity = true;
  // Angaben zur Person	
  if (!check_name(document.mitnahme.Name.value))
        { validity = false; alert('Das Feld NAME bei den Angaben zur Person ist nicht korrekt ausgefüllt!'); }
  if (!check_vorname(document.mitnahme.Vorname.value))
        { validity = false; alert('Das Feld VORNAME bei den Angaben zur Person ist nicht korrekt ausgefüllt!'); }
  if (!check_telefon(document.mitnahme.Telefon.value))
        { validity = false; alert('Das Feld TELEFONNUMMER bei den Angaben zur Person ist nicht korrekt ausgefüllt!'); }
  if (!check_email(document.mitnahme.Mail.value))
        { validity = false; alert('Das Feld E-MAILADRESSE bei den Angaben zur Person nicht korrekt ausgefüllt!'); }
// Angaben zur Startadresse		
  if (!check_startstrasse(document.mitnahme.StartStrasse.value))
        { validity = false; alert('Das Feld STRAßE der Startaddresse ist nicht korrekt ausgefüllt!'); }
  if (!check_startstrassenr(document.mitnahme.StartStrassenNR.value))
        { validity = false; alert('Das Feld NR. der Startadresse ist nicht korrekt ausgefüllt!'); }
  if (!check_startplz(document.mitnahme.StartPlz.value))
        { validity = false; alert('Das Feld PLZ der Startadresse ist nicht korrekt ausgefüllt!'); }
	if (!check_startort(document.mitnahme.StartOrt.value))
        { validity = false; alert('Das Feld ORT der Startadresse ist nicht korrekt ausgefüllt!'); }
	if (!check_datum(document.mitnahme.Datum.value))
        { validity = false; alert('Das Feld DATUM der Startadresse ist nicht korrekt ausgefüllt!'); }
	if (!check_startzeit(document.mitnahme.StartZeit.value))
        { validity = false; alert('Das Feld UHRZEIT der Startadresse ist nicht korrekt ausgefüllt!'); }
// Angaben zur Zieladresse		
  if (!check_zielstrasse(document.mitnahme.ZielStrasse.value))
        { validity = false; alert('Das Feld STRAßE der Zieladresse ist nicht korrekt ausgefüllt!'); }
  if (!check_zielstrassenr(document.mitnahme.ZielStrassenNR.value))
        { validity = false; alert('Das Feld NR. der Zieladresse ist nicht korrekt ausgefüllt!'); }
  if (!check_zielplz(document.mitnahme.ZielPlz.value))
        { validity = false; alert('Das Feld PLZ der Zieladresse ist nicht korrekt ausgefüllt!'); }
	if (!check_zielort(document.mitnahme.ZielOrt.value))
        { validity = false; alert('Das Feld ORT der Zieladresse ist nicht korrekt ausgefüllt!'); }
	if (!check_zielzeit(document.mitnahme.ZielZeit.value))
        { validity = false; alert('Das Feld UHRZEIT der Zieladresse ist nicht korrekt ausgefüllt!'); }
// Angaben zur Rückfahrt		
  if (!check_rueckfahrtstrasse(document.mitnahme.RueckfahrtStrasse.value))
        { validity = false; alert('Das Feld STRAßE für die Rückfahrt ist nicht korrekt ausgefüllt!'); }
  if (!check_rueckfahrtstrassenr(document.mitnahme.RueckfahrtStrassenNR.value))
        { validity = false; alert('Das Feld NR. für die Rückfahrt ist nicht korrekt ausgefüllt!'); }
  if (!check_rueckfahrtplz(document.mitnahme.RueckfahrtPlz.value))
        { validity = false; alert('Das Feld PLZ für die Rückfahrt ist nicht korrekt ausgefüllt!'); }
	if (!check_rueckfahrtort(document.mitnahme.RueckfahrtOrt.value))
        { validity = false; alert('Das Feld ORT für die Rückfahrt ist nicht korrekt ausgefüllt!'); }
	if (!check_rueckfahrtzeit(document.mitnahme.RueckfahrtZeit.value))
        { validity = false; alert('Das Feld UHRZEIT für die Rückfahrt ist nicht korrekt ausgefüllt!'); }
// Bemerkungen	
	if (!check_bemerkungen(document.mitnahme.Bemerkungen.value))
        { validity = false; alert('Der Eintrag für das Feld BEMERKUNGEN ist zu kurz oder enthält unerlaubte Zeichen. Bitte überprüfen Sie Ihre Eingabe!'); }
  return validity;
}
// Angabenüberprüfung zur Person	
function check_name(Name) {
  var regEx = /^([A-Za-züöäÜÖÄß  \/\.\-]){2,100}$/;
  return Name.match(regEx);
}

function check_vorname(Vorname) {
  var regEx = /^([A-Za-züöäÜÖÄß  \/\.\-]){2,100}$/;
  return Vorname.match(regEx);
}

function check_email(address) {
var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
  var regex = new RegExp(strReg);
  return(regex.test(address));
}

function check_telefon(Telefon) {
  var regEx = /^((\+[0-9]{2,4}( [0-9]+? | ?\([0-9]+?\) ?))|(\(0[0-9 ]+?\) ?)|(0[0-9]+? ?( |-|\/)? ?))[0-9]+?[0-9 \/-]*[0-9]$/;
  return Telefon.match(regEx);
}

// Angabenüberprüfung der Startadresse
function check_startstrasse(StartStrasse) {
  var regEx = /^[A-Za-züöäÜÖÄß \/\.\-]{3,100}$/;
  return StartStrasse.match(regEx);
}

function check_startstrassenr(StartStrassenNR) {
  var regEx = /^[0-9a-zA-Z \-]{1,5}$/;
  return StartStrassenNR.match(regEx);
}

function check_startplz(StartPlz) {
  var regEx = /^\d{5}$/;
  return StartPlz.match(regEx);
}

function check_startort(StartOrt) {
  var regEx = /^([A-Za-züöäÜÖÄß  \/\.\-\(\)]){3,100}$/;
  return StartOrt.match(regEx);
}

function check_datum(Datum) {
  var regEx = /^(((0?[1-9]|[1-2][0-9]|3[0-1])\.((0?[1-9]|1[0-2])\.| ?[A-Za-z][a-zä][a-z]+\.? ?)(20)?[0-9]{2})|(20[0-9]{2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]))|([a-zA-Z][a-z]{2,} ([1-9]|1[0-2]), ?(20)?[0-9]{2}))$/;
  return Datum.match(regEx);
}

function check_startzeit(StartZeit) {
  var regEx = /([01][0-9]|2[0-3]):[0-5][0-9]/;
  return StartZeit.match(regEx);
}

// Angabenüberprüfung der Zieladresse
function check_zielstrasse(ZielStrasse) {
  var regEx = /^[A-Za-züöäÜÖÄß \/\.\-]{3,100}$/;
  return ZielStrasse.match(regEx);
}

function check_zielstrassenr(ZielStrassenNR) {
  var regEx = /^[0-9a-zA-Z \-]{1,5}$/;
  return ZielStrassenNR.match(regEx);
}

function check_zielplz(ZielPlz) {
  var regEx = /^\d{5}$/;
  return ZielPlz.match(regEx);
}

function check_zielort(ZielOrt) {
  var regEx = /^([A-Za-züöäÜÖÄß  \/\.\-\(\)]){3,100}$/;
  return ZielOrt.match(regEx);
}

function check_zielzeit(ZielZeit) {
  var regEx = /([01][0-9]|2[0-3]):[0-5][0-9]/;
  return ZielZeit.match(regEx);
}

// Angabenüberprüfung für die Rückfahrt
function check_rueckfahrtstrasse(RueckfahrtStrasse) {
  var regEx = /^[A-Za-züöäÜÖÄß \/\.\-]{0,100}$/;
  return RueckfahrtStrasse.match(regEx);
}

function check_rueckfahrtstrassenr(RueckfahrtStrassenNR) {
  var regEx = /^[0-9a-zA-Z \-]{0,5}$/;
  return RueckfahrtStrassenNR.match(regEx);
}

function check_rueckfahrtplz(RueckfahrtPlz) {
  var regEx = /^[0-9]{0,5}$/;
  return RueckfahrtPlz.match(regEx);
}

function check_rueckfahrtort(RueckfahrtOrt) {
  var regEx = /^([A-Za-züöäÜÖÄß  \/\.\-\(\)]){0,100}$/;
  return RueckfahrtOrt.match(regEx);
}

function check_rueckfahrtzeit(RueckfahrtZeit) {
  var regEx =  /^[0-9\:]{0,5}$/;
  return RueckfahrtZeit.match(regEx);
}

// Angabenüberprüfung Bemerkungsfeld
function check_bemerkungen(Bemerkungen) {
  var regEx = /^[0-9A-Za-züöäÜÖÄß  \/\.\,\-\n]{0,1000}$/;
  return Bemerkungen.match(regEx);
}

