// Script überprüft Felder in der Anfrage/Bestellung
// Eingaben in allen Feldern löschen
function loeschen(){
document.formular.reset()
}


// Globale Variable fuer Fehler-Flag
var errfound = false;


// Prueft Felder auf Laenge
function ValidLength(item, len) {
        return (item.length >= len);
}

// Prueft E-Mail-Adresse
// auf Laenge von min. 5 Zeichen, und
// auf Vorkommen von Klammeraffen und Punkt
// und Punkt mindestens 3 Zeichen hinter @
function ValidEmail(item) {
        if (!ValidLength(item, 5)) return false;
        posAt = item.indexOf ('@', 0);
        if (posAt == -1) return false;
        if (item.indexOf ('.', posAt + 3) == -1) return false;
        return true;
}

// Zeigt eine Fehlermeldung an
// Funktion beendet, falls bereits ein Fehler gefunden wurde
// anker wird z.B. bei RadioBoxen verwendet, da dort kein
// focus gesetzt werden kann

function error(elem, anker, text) {
        if (errfound) return;
        window.alert(text);
        if(anker){
            window.location.href = "#" + anker;
        } else {
            elem.focus();
        }
        errfound = true;
}

function checkcar(selection){
    auswahl = 0;
    cars = new Array("Kaefer", "Kuebelwagen", "Transporter", "FahrzeugTyp");
    anzahl_cars = cars.length;

    for(i=0; i<anzahl_cars; i++){
        tmp = eval("document.formular." + cars[i] + ".value");
        if(tmp != "" && cars[i] != selection){
            auswahl = 1;
        }
    }
    if(auswahl){
        okay = confirm('You already selected a car.\n\nDo you want to undo the previously made selection?');

        if(okay){
            for(i=0; i>anzahl_cars; i++){
                if(cars[i] != selection)
                    eval("document.formular." + cars[i] + ".value = ''");
                /*    if(cars[i] == "FahrzeugTyp"){  // Textfeld!
                        eval("document.formular." + cars[i] + ".value = ''");
                    } else {
                        eval("document.formular." + cars[i] + ".selectedIndex = 0");
                    }
                */
            }
        } else {
            eval("document.formular." + selection + ".value = ''");
        }
    }
}


// Hauptpruefroutine
function Validate() {
        errfound = false;

        if (!document.formular.r_Betreff[0].checked && !document.formular.r_Betreff[1].checked)
            error(0, "betreff", "Please check if this is just an inquiry \nor a definite order.");

        if (document.formular.r_Betreff[0].checked){ // es ist eine Bestellung
            checked = false;
            for(i=0; i<3; i++){
                if(document.formular.Versandsart[i].checked)
                    checked = true;
            }
            if(!checked){
                error(0, "Versandsart", "By checking the respective box you made this a definitve order\n So please choose the form of shipment.");
            }
         }
         if (document.formular.r_Betreff[0].checked){
            // Bezahlung
            checked = false;
            for(i=0; i<3; i++){
                if(document.formular.Bezahlung[i].checked)
                    checked = true;
            }
            if(!checked){
                error(0, "Bezahlung", "By checking the respective box you made this a definitve order.\nSo please choose a form of payment.");
            }
         }

         if (!ValidLength(document.formular.r_Name.value, 3))
                error(document.formular.r_Name, 0, "Please enter your name.");
         if (!ValidLength(document.formular.r_Telefon1.value, 5))
                error(document.formular.r_Telefon1, 0, "Please enter your phone number.");
         if (!ValidEmail(document.formular.re_Email.value))
                error(document.formular.re_Email, 0, "Please enter or check your e-mail address.");

         if (!document.formular.r_Kenntniss.checked){
            error(0, "Kenntniss", "Please state that you know the parts catalogs and read the Terms and Conditions.");
         }
        return !errfound; /* true falls keine Fehler*/
}
