// JavaScript Document bestelung.js (im ordner 'shop')
var re = new RegExp();
var n;
//das array 'feld' wird in registrierng.php übergeben, ist ebenfalls global
function validator2(theform)
{
//z.B. $feld[2]= "*:Mail:Mail:^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$:Überprüfen Sie bitte Ihre <b>'eMail'</b>.";
//alert("validator2");
//Segment 0: * = Pflichtfeld, leer = kein Pflichtfeld
//Segment 1: Label des Input-Feldes (HTML) z.B. Firma
//Segment 2: Variablen-Name des js und php-Feldes (z.B. $Firma ohne das $-Zeichen)
//Segment 3: Anzahl erforderlicher Zeichen bei Eingabe oder Regulärer Ausdruck, gegen den geprüft wird
//Segment 4: Rückmeldetext: erforderlich, wenn regExp, sonst darf es nicht existieren (undefined)!!
//genaugenommen müsste auch noch das label für das input-Feld definiert werden

    for (n in feld ){
      var teile=feld[n].split(":");//evtl. muss der ':' durch einen anderen delimiter ersetzt werden, wenn ein ':' 
      //innerhalb eines Feldes vorkommen sollte!!
          if(teile[0]=="*"){
            if(typeof(teile[4])!="undefined"){        
               // Fall mit regulärem Ausdruck:
//               alert("RegExp:"+theform[teile[2]].value+"|")
                re=new RegExp(teile[3],"i");//standardmässig wird hier als flag 'i' (ignore cases) eingesetzt)
                // alert("regexpr "+re+"\nteile2: "+teile[2]+"\nteile0: "+teile[0]+"\ntheform: "+theform[teile[2]].value);
                if (!re.test(theform[teile[2]].value)){
                  alert(teile[4]);
                  theform[teile[2]].focus();
                  return (false);
                }  
            }
            // Normalfall
            if ((theform[teile[2]].value=="") || (theform[teile[2]].value.length < teile[3] )){
                alert("Tragen Sie bitte mindestens " + teile[3] + " Zeichen in das Feld '" + teile[1] + "' ein.");
                theform[teile[2]].focus();
                return (false);
            }
          }
    }
 
    if(theform.name=="BestellForm"){
         var bestellt=0;   
         for (n in ware ){ 
             teile=ware[n].split(":"); 
             if (theform[teile[0]].value!=""){
                 if (theform[teile[0]].value.match(/\D+/)){
                   alert("Geben Sie die Artikelmenge bitte als Ziffer ein.");
                   theform[teile[0]].focus();
                   return (false); 
                 } 
                 bestellt++;
             }      
         }
              if(bestellt==0){
               alert("Wählen Sie bitte mindestens einen Artikel aus."); 
               return (false); 
               }
      if(theform["AGB"].checked==false) 
          {alert("Die Bestellung kann nur abgeschlossen werden, \nwenn Sie vorher die Allgemeinen Geschäftsbedingungen (AGBs) \ngelesen und ihnen zugestimmt haben.") ;
          return (false);
      }              
//alert("AGB: "+theform["AGB"].checked);               
    }
        if(theform.name=="AngebotForm"){
   
         for (n in offer ){
             teile=offer[n].split(":"); 
              if(typeof(teile[4])!="undefined"){        
               // Fall mit regulärem Ausdruck:
                re=new RegExp(teile[3],"i");
                if (!re.test(theform[teile[2]].value)){
                   alert(teile[4]);
                   theform[teile[2]].focus();
                   return (false); 
                 } 
               }      
         } 
       } 
    
return(true);
}


