// Regulärer Ausdruck zum Prüfen der Syntax einer E-Mail-Adresse
var email_filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

function check_form() {
        b_return = true;

        // Style-Angaben des zu überprüfenden Formularfeldes zurücksetzen
        $('code').setStyle({
          backgroundColor: '#FFFFFF',
          color: '#000000'
        });

// Feld "Name" prüfen - darf nicht leer sein
        if ($F('Name') == '') {
          b_return = false;
          $('Name').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Name" aus.');
          $('Name').focus();
        }

// Feld "Strasse" prüfen - darf nicht leer sein
        if ($F('Strasse') == '') {
          b_return = false;
          $('Strasse').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Strasse" aus.');
          $('Strasse').focus();
        }      

// Feld "PLZ" prüfen - darf nicht leer sein
        if ($F('PLZ') == '') {
          b_return = false;
          $('PLZ').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "PLZ" aus.');
          $('PLZ').focus();
        }

// Feld "Ort" prüfen - darf nicht leer sein
        if ($F('Ort') == '') {
          b_return = false;
          $('Ort').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Ort" aus.');
          $('Ort').focus();
        }

// Feld "E-Mail" prüfen - darf nicht leer sein
        if ($F('E-Mail') == '') {
          b_return = false;
          $('E-Mail').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "E-Mail" aus.');
          $('E-Mail').focus();
        }

// Feld "E-Mail" prüfen  
        // - darf nicht leer sein und muss syntaktisch richtige E-Mail-Adresse enthalten  
        else if ($F('E-Mail') != '' && !email_filter.test($F('E-Mail'))) {  
          b_return = false;  
          $('E-Mail').setStyle({  
            backgroundColor: '#FF0000',  
            color: '#FFFFFF'  
          });  
          alert('Bitte geben Sie eine korrekte E-Mail-Adresse ein.');  
          $('E-Mail').focus();  
        }

// Feld "Vorwahl" prüfen - darf nicht leer sein
        if ($F('Vorwahl') == '') {
          b_return = false;
          $('Vorwahl').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Vorwahl" aus.');
          $('Vorwahl').focus();
        }

// Feld "Telefon" prüfen - darf nicht leer sein
        if ($F('Telefon') == '') {
          b_return = false;
          $('Telefon').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Telefon" aus.');
          $('Telefon').focus();
        }

// Feld "Zahlencode" prüfen - darf nicht leer sein
        if ($F('code') == '') {
          b_return = false;
          $('code').setStyle({
            backgroundColor: '#FF0000',
            color: '#FFFFFF'
          });
          alert('Bitte füllen Sie das Feld "Zahlencode" aus.');
          $('code').focus();
        }

// Feld "Zahlencode" prüfen - Der eingegebene Zahlencode muss richtig sein
        else if ($F('code') != '') {
          // URL und Optionen für den Ajax-Request definieren
          var url = '/if_captcha.php';
          var data = 'code='+encodeURIComponent($F('code'));
          // Ajax-Request durchführen
          var myAjax = new Ajax.Request(url, {
            method: 'post',
            asynchronous: false,
            parameters: data,
            onSuccess: function(response) {
              // Rückgabewert des Ajax-Requests verarbeiten
              result = response.responseText.strip();
              result = result.evalJSON();
              // Wenn der Wert für den Erfolg des Rückgabewerts ungleich 1 ist...
              if (result['success'] != 1) {
                b_return = false;
                $('code').setStyle({
                  backgroundColor: '#FF0000',
                  color: '#FFFFFF'
                });
                alert('Der von Ihnen angegebene Wert im Feld "Zahlencode" ist falsch.');
                $('code').focus();
              }
            }
          });
        }
        return b_return;
      }
