//  
//  Aufruf: onClick="CheckForm(this.form);"
//-------------------------------------------------------------
//  Syntax:
//  1. Zeichen: Kennzeichner = "_", nur dann wird überprüft
//  2. Zeichen: Pflichtfeld, wenn "p", keines, wenn "q"
//  3. Zeichen: Inhalt: Text    :  a = alphanum
//                                 n = numerisch
//                                 e = EMail
//
//                    : option  :  d = dummy
//
//                    : checkbox:  d = dummy
//
//                    : textarea:  d = dummy
//
//                    : select  :  d = dummy
//
//-------------------------------------------------------------

function CheckForm(form) {
  fehler = false;
  for(var i=0;i<form.length && fehler==false;++i) {
    if (form.elements[i].type=="radio"){ // radio-buttons
      if (form.elements[i].name.slice(0,1)=="_") {  // Prüfen, ob Kennzeichner vorhanden
        feldname = form.elements[i].name.slice(3,form.elements[i].name.length)
        name =   form.elements[i].name

        if (form.elements[i].name.slice(1,2)=="p") {  // Prüfen, ob Pflichtfeld

          selected=false;
          for (var j=0;j<form.elements.length;j++){
            if(form.elements[j].name==name){
              if(form.elements[j].checked==true){
                selected=true;
              }
            }
          }
          if (selected==false){
            fehler=true;
            fehlermeld = "Bitte " + feldname + " auswählen!";
          }

        }
      }
    }//ende radio

    if (form.elements[i].type=="text"){ // textfelder

      if (form.elements[i].name.slice(0,1)=="_") {  // Prüfen, ob Kennzeichner vorhanden
        feldname = form.elements[i].name.slice(3,form.elements[i].name.length)

        if (form.elements[i].value.length > 0) { // prüfen, ob gefüllt
          if (form.elements[i].name.slice(2,3)=="n" && (Number(form.elements[i].value)!=Number(form.elements[i].value))) { // numerisch
            fehler=true;
            fehlermeld = "Bitte nur Zahlen verwenden bei " + feldname + "!";
          }
          if (form.elements[i].name.slice(2,3)=="e" && ((form.elements[i].value.indexOf(".")==-1) || (form.elements[i].value.indexOf("@")==-1))) {  // email
            fehler=true;
            fehlermeld = "Bitte gültige E-Mail-Adresse bei " + feldname + " angeben!";
          }
          //
          // Hier Position für weitere Gültigkeits-Checks
          //...
        } else { // nicht gefüllt
          if (form.elements[i].name.slice(1,2)=="p") {  // Prüfen, ob Pflichtfeld
            fehler=true;
            fehlermeld = "Bitte " + feldname + " angeben!";
          }
        }
      }

    }//ende textfelder

    if (form.elements[i].type=="textarea"){ // textarea

      if (form.elements[i].name.slice(0,1)=="_") {  // Prüfen, ob Kennzeichner vorhanden
        feldname = form.elements[i].name.slice(3,form.elements[i].name.length)
        if (form.elements[i].value.length==0) { // prüfen, ob nicht gefüllt
          if (form.elements[i].name.slice(1,2)=="p") {  // Prüfen, ob Pflichtfeld
            fehler=true;
            fehlermeld = "Bitte " + feldname + " angeben!";
          }
        }
      }

    }//ende textarea

    if (form.elements[i].type=="select-one" || form.elements[i].type=="select-multiple"){ // select

      if (form.elements[i].name.slice(0,1)=="_") {  // Prüfen, ob Kennzeichner vorhanden
        feldname = form.elements[i].name.slice(3,form.elements[i].name.length)
        if (form.elements[i].selectedIndex==-1) { // prüfen, ob nicht gefüllt
          if (form.elements[i].name.slice(1,2)=="p") {  // Prüfen, ob Pflichtfeld
            fehler=true;
            fehlermeld = "Bitte " + feldname.substring(0,feldname.indexOf("[")) + " angeben!";
          }
        }
      }

    }//ende select

    if (form.elements[i].type=="checkbox"){ // checkbox

      if (form.elements[i].name.slice(0,1)=="_") {  // Prüfen, ob Kennzeichner vorhanden
        feldname = form.elements[i].name.slice(3,form.elements[i].name.length)
        if (form.elements[i].checked==false) { // prüfen, ob nicht ausgewählt
          if (form.elements[i].name.slice(1,2)=="p") {  // Prüfen, ob Pflichtfeld
            fehler=true;
            fehlermeld = "Bitte " + feldname + " auswählen!";
          }
        }
      }

    }//ende checkbox


  }
  // Prüfung abgeschlossen, Meldung ausgeben/Aktion ausführen

  if (fehler==true) {
    alert(fehlermeld);
    form.elements[i-1].focus();
    return false;
  } else {
    //alert("AllesOK");
    //form.submit();
    // wirtie: Na fast
    if (document.getElementById('AGBakzeptiert').checked==true){
    	return true;
    }
    else {
    	/*
	    if (document.getElementById('flipfield').style.visibility != 'visible'){
	    	document.getElementById('flipfield').style.visibility = 'visible';
	    	*/
	    	alert('Bitte akzeptieren Sie die AGB.');
	    	/*
	    	document.location.href = '#radio';
	    	return false;
	    }
	    else {
	    	return true;
	    }
	    */
    	return false;
    }
  }
}                       // -[ende checkform]-