/*** Diese Funktion wird aufgerufen, wenn die Menge in einem Eingabefeld geändert wird.
     Wurde eine gültige Menge eingegeben, wird der Posten automatisch geschaffen bzw.
     aktualisiert.
     Wurde der Inhalt im Textfeld gelöscht, wird der Posten entfernt.
     Anhand des Parameters "name" kann erkannt werden, ob bei Änderung ein externer
     Einkaufszettel fokussiert werden muß (Name="" => nicht fokussieren               ***/
function quantity(element, name, price, article, pfand)
{
        /*** Überprüfen, ob Wert für dieses Textfeld in "lotList" gespeichert ist
             und ggfs. die Listennummer (id) festhalten ***/
        var i, id=-1;

        for (i=0; i<lotList.length; i++)
                if (lotList[i].article == article)
                        id = i;

        /*** Die Eingabe in das Textfeld auf Fehler überprüfen, dabei auch die Info
             übergeben, ob Wert für dieses Textfeld existiert ***/
        qtyCheck(element, id);

        /*** Wenn Wert für dieses Textfeld noch nicht existiert, und ein gültiger Wert
             übergeben wurde, diesen Posten als Lot-Objekt anlegen. ***/
        if (id == -1 && element.value != "")
                newLot(element.value, name, price, article, pfand);


        /*** Wenn Wert für dieses Textfeld noch nicht existiert, aber auch kein gültiger
             Wert übergeben wurde, passiert nichts weiter. ***/

        /*** Wenn Wert für dieses Textfeld existiert, aber "" eingegeben wurde,
             dann wird der Posten aus der "lotList" entfernt und der Warenkorb
             aktualisiert  ***/
        if (id >= 0 && element.value == "")
                removeLot(id);

        /*** Wenn Wert für dieses Textfeld existiert und eine gültige Menge eingegeben
             wurde, werden Lot-Objekt und der Warenkorb altualisiert. ***/
        if (id >= 0 && element.value != "")
        {
                lotList[id].qty = element.value;
                updateBasket();
                updateDetailList();
        }
}



/*** Diese Funktion überprüft, ob die Eingabe einer Menge in ein Textfeld,
     das diese Funktion aufruft, korrekt (eine gültige Zahl) ist. ***/
function qtyCheck(element, id)
{
        var i;
        var error = 0;
        var message;


        {
                // Checken, daß die Zahl nicht größer als 99 ist
                if (element.value.length > 2)
                        error = 2;

                // Checken, daß ein Wert <> 0 eingegeben wurde
                if (element.value == "0")
                {
                        if (id >= 0)
                                // Bei "0" für ex. Wert, auf "" setzen
                                element.value = "";
                        else
                                error = 3;
                }


                // Checken, daß nur Ziffern enthalten sind
                for(i=0;i<element.value.length;i++)
                        if(element.value.charAt(i) < "0" || element.value.charAt(i) > "9")
                                error = 1;

                switch (error)
                {
                        case 1 : message = "Bitte verwenden Sie für die Angabe der Bestellmenge nur die Ziffern von 0 bis 9...";
                                 break;

                        case 2 : message = "Die Liefermenge dieses Artikels ist auf maximal 99 Einheiten beschränkt...";
                                  break;

                        case 3 : message = "Geben Sie bitte die gewünschte Artikelmenge in dieses Feld ein...";
                                 break;
                }

                   if (error > 0)
                {
                        alert(message);
                        if (id >= 0)
                                element.value = top.lotList[id].qty;
                        else
                                element.value = "";
                        focus();
                             return false;
                    }
        }
} /* Ende: qtyCheck */


/*** Diese Funktion updated die Mengen in einer Tabelle, wenn diese wiedergeladen wird.
     Übergeben wird die Referenz auf das Formular ***/
function updateQuantities(order)
{
        var i, j;

        // Für alle Textfelder...
        for (i=0; i<order.elements.length-1; i+=2)
           if (order.elements[i].name.charAt(0) == "T")
           {
                // Textfeld mit "" initialisieren
                order.elements[i].value = "";

                // für alle Posten...
                for (j=0; j<lotList.length; j++)
                {
                        if (order.elements[i].name == lotList[j].inputName())
                                order.elements[i].value = lotList[j].qty;
                }

           }
}