/*** Variable für den Textübertrag bei der Direktbestellung auf der Homepage ***/
var text="";
var sent=-1;

/*** Diese Funktion wird aufgerufen, wenn beim Bestellformular der Startknopf gedrückt
     wird. Sie überprüft, ob je nach Kundenstatus vollständige und richtige Angaben gemacht
     wurden.

        Wenn ja: Artikelliste hinzufügen und abschicken

        Wenn nein: Auf die Fehler hinweisen und nicht abschicken
***/
function orderSubmit(orderForm)
{
        var tag;        // Wochentag
        var zeit;        // Tageszeit
        var newCust;         // boolean für Kundenstatus
        var val;             // enthält den jeweiligen Wert des Formularfeldes
        var error=0;        // zeigt an, ob Fehler aufgetreten ist
        var msg;        // Wird ggfs. stufenweise zur Fehlermeldung aufgebaut
        var dummy, i;

        /*** Fehlermeldung vorbereiten ***/
        msg = "-------------------------------------------------------------------------------------------------------------------------\n\n";
        msg+= "Wegen folgender Fehler konnte die Bestellung noch nicht übermittelt werden.\n";
        msg+= "Bitte korrigieren Sie diese Fehler und senden Sie die Bestellung erneut ab!\n\n";
        msg+= "-------------------------------------------------------------------------------------------------------------------------\n\n";

        /*** Wochentag überprüfen ***/
        tag = -1;
        for (i=0; i<6; i++)
                if (orderForm.Tag[i].checked)
                        tag = i;
        if (tag == -1)
        {
                error = 1;
                msg+="* Bitte wählen Sie einen Wochentag aus, an dem wir Ihnen Ihren Einkauf liefern dürfen !\n\n\n";
        };

        /*** Lieferzeit überprüfen ***/
        zeit = -1;
        for (i=0; i<10; i++)
                if (orderForm.Zeit[i].checked)
                        zeit = i;
        if (zeit == -1)
        {
                error = 1;
                msg+="* Bitte wählen Sie eine Tageszeit aus, zu der wir Ihnen Ihren Einkauf liefern dürfen !\n\n\n";
        };
        if ( (tag>-1 && tag<5) && (zeit>-1 && zeit<2) )
        {
                error = 1;
                msg+="* Sie haben eine Tageszeit vor 12:00 ausgewählt. Dies ist jedoch nur am Samstag möglich !\n\n\n";
        };
        if ( (tag>-1 && tag==5) && (zeit>4 && zeit<9) )
        {
                error = 1;
                msg+="* Sie haben eine Tageszeit nach 16:00 ausgewählt. Dies ist am Samstag leider nicht möglich !\n\n\n";
        };
        if ( zeit==9 && orderForm.ZeitZusatz.value=="" )
        {
                error = 1;
                msg+="* Sie haben eine \"Andere Tageszeit\" ausgewählt.\n";
                msg+="  In diesem Fall sind zusätzliche Angaben im entsprechenden Textfeld nötig !\n\n\n";
        }

        /*** Kundenstatus prüfen ***/
        newCust = orderForm.status[0].checked;

        /*** Namen überprüfen ***/
        val = orderForm.Name.value;
        if (newCust && val.split(",").length <= 1 && val.split(" ").length <= 1)
        {
                error = 1;
                msg+="* Sie haben am Anfang des Bestellformulars die Option 'Neukunde' ausgewählt...\n\n";
                msg+="  In diesem Fall müssen Sie bitte Ihren vollständigen Namen (Vor- und Zuname) angeben !\n";
                msg+="  Trennen Sie die beiden Teile durch ein Freizeichen oder ein Komma !\n\n\n";
        }

        /*** Die mit (*) gekennzeichneten Elemente nur überprüfen, wenn newCust==true ***/

        /*** Adresse ***/
        val = orderForm.Adresse1.value + orderForm.Adresse2.value;
        // Länge checken
        if (newCust && val.length < 5)
        {
                error = 1;
                msg+= "* Sie haben am Anfang des Bestellformulars die Option 'Neukunde' ausgewählt...\n\n";
                msg+= "  In diesem Fall müssen Sie bitte Ihre vollständige Adresse angeben,\n";
                msg+= "  damit wir wissen, wohin wir Ihre Einkäufe liefern dürfen!\n\n\n";
        }

        /*** Hausnummer ***/
        dummy = 1;
        for (i=0;i<val.length;i++)
                if (val.charAt(i) >= "0" && val.charAt(i) <= "9")
                        dummy = 0;
        if (newCust && val.length >= 5 && dummy)
        {
                error = 1;
                msg+= "* Sie haben zwar Ihre Adresse angegeben, dabei aber offensichtlich Ihre\n";
                msg+= "  Hausnummer vergessen. Bitte tragen Sie diese nach!\n";
                msg+= "  Sollte diese aus gegebenem Grund nicht notwendig sein, so tragen Sie bitte\n";
                msg+= "  einfach zusätzlich eine 0 in das Adreßfeld ein!\n\n\n";
        }

        /*** Postleitzahl und Ort ***/
        if (newCust && (orderForm.PLZ.value.length != 5 || orderForm.Ort.value.length < 2) )
        {
                error = 1;
                msg+= "* Sie haben am Anfang des Bestellformulars die Option 'Neukunde' ausgewählt...\n\n";
                msg+= "  In diesem Fall müssen Sie bitte die Postleitzahl und den Ort angeben!\n\n\n";
        }

        /*** Email-Adresse ***/
        if (orderForm.Email.value.split("@").length != 2)
        {
                error = 1;
                msg+= "* Wir benötigen in jedem Fall Ihre Email-Adresse.\n";
                msg+= "  Sie haben diese jedoch gar nicht oder fehlerhaft angegeben\n";
        }

        /*** Telefonnummer ***/
        if (newCust && orderForm.Telefon.value.length < 9)
        {
                error = 1;
                msg+= "* Sie haben am Anfang des Bestellformulars die Option 'Neukunde' ausgewählt...\n\n";
                msg+= "  In diesem Fall müssen Sie bitte Ihre vollständige Rufnummer (mit Vorwahl)\n";
                msg+= "  angeben, damit wir Sie bei Rückfragen gegebenenfalls erreichen können!\n\n\n";
        }

        /*** Gegebenenfalls die Fehlermeldungen ausgeben ***/
        if (error)
        {
                alert(msg);
                return false;
        }
        else
        {
                // Die Bestelliste aufbauen und im versteckten Feld ablegen
                orderForm.Bestellung.value = "";
                for (i=0;i<lotList.length;i++)
                {
                        // Altes Format
                        orderForm.BestellungAlt.value += lotList[i].article.substr(1) + "," + lotList[i].qty;

                        // Neues Format
                        var x     = lotList[i].price.toString();
                        var dummy = x.split(".");
                        if (dummy[0] == "")
                           dummy[0] = "0";

                        orderForm.Bestellung.value += lotList[i].article + ";" + lotList[i].qty + ";" + dummy[0] + "," + dummy[1];

                        if (i<lotList.length-1){
                                orderForm.Bestellung.value += ";";
                                orderForm.BestellungAlt.value += ",";
                        }
                }
                // Kennzeichnen, dass bestellt worden ist
                sent = 1;

                return true;
        }
}


/*** Diese Funktion wird vom Textfeld auf der Startseite aufgerufen. Sie öffnet das Bestellformular
     und trägt die Extrawünsche ein. ***/
function quickOrder()
{
        var msg;

        text = Inhalt.document.forms[0].elements[0].value;

        msg = "Sie werden nun zum normalen Bestellformular weitergeleitet.\n\n";
        msg+= "Ihre angegebenen Wünsche werden dort automatisch in das Feld für Extrawünsche übertragen.\n\n";
        msg+= "Sie müssen lediglich noch die Angaben zum gewünschten Lieferzeitpunkt und\n";
        msg+= "zur Lieferadresse machen!";
        alert(msg);
}