
function check_produkt (formular) {
   if ( formular.elements['textfield'].value != "" ) return true; else { alert("Bitte geben Sie Ihre Anfrage in das Textfeld ein."); return false; }
}

/* script für das überprüfen der vorauswahl bei 'katalog bestellen' */

function check_kat(formular) {
   sel = 0;
   for (var i=0; i<formular.length; i++) {
      if ( formular.elements[i].type == "checkbox" ) {
         if (formular.elements[i].checked) {
            // sobald irgendeine kategorie angeklickt wurde ist das formular ok
            return true;
         }
      }
   }

   // falls ich hier her komme war keine der checkboxes ausgewählt
   alert("Bitte wählen Sie mindestens eine Kategorie aus!");
   return false;
}

function check_hersteller(formular) {
   sel = 0;
   for (var i=0; i<formular.length; i++) {
      if ( formular.elements[i].type == "checkbox" ) {
         if (formular.elements[i].checked) {
            // sobald irgendeine kategorie angeklickt wurde ist das formular ok
            return true;
         }
      }
   }

   // falls ich hier her komme war keine der checkboxes ausgewählt
   alert("Bitte wählen Sie zuerst einen der Hersteller aus!");
   return false;
}




/* konfiguration für newsletter formular */

function config_newsletter(formular) {

   formular.elements['element[Vorname:]'].required    = true;
   formular.elements['element[Vorname:]'].mylabel     = "Vorname";
   formular.elements['element[Vorname:]'].verify      = "not_empty";

   formular.elements['element[Nachname:]'].required    = true;
   formular.elements['element[Nachname:]'].mylabel     = "Nachname";
   formular.elements['element[Nachname:]'].verify      = "not_empty";

   if (formular.elements['element[newsletter]'][1].checked) {
      formular.elements['element[E-mail:]'].required    = true;
      formular.elements['element[E-mail:]'].mylabel     = "Email";
      formular.elements['element[E-mail:]'].verify      = "email";
   } else {
      formular.elements['element[E-mail:]'].required    = false;
      formular.elements['element[E-mail:]'].mylabel     = "Email";
      formular.elements['element[E-mail:]'].verify      = "";
   }

   formular.elements['element[Telefon:]'].required    = true;
   formular.elements['element[Telefon:]'].mylabel     = "Telefon-Nr";
   formular.elements['element[Telefon:]'].verify      = "not_empty";

   formular.elements['element[Fax:]'].required    = false;
   formular.elements['element[Fax:]'].mylabel     = "Fax-Nr";
   formular.elements['element[Fax:]'].verify      = "";

   formular.elements['element[PLZ:]'].required    = true;
   formular.elements['element[PLZ:]'].mylabel     = "PLZ";
   formular.elements['element[PLZ:]'].verify      = "plz";

   formular.elements['element[Adresse:]'].required    = true;
   formular.elements['element[Adresse:]'].mylabel     = "Adresse";
   formular.elements['element[Adresse:]'].verify      = "not_empty";

   formular.elements['element[Ort:]'].required    = true;
   formular.elements['element[Ort:]'].mylabel     = "Ort";
   formular.elements['element[Ort:]'].verify      = "not_empty";

   formular.elements['element[Institut:]'].required    = true;
   formular.elements['element[Institut:]'].mylabel     = "Institut";
   formular.elements['element[Institut:]'].verify      = "not_empty";

   zustellung_selected=0;
   produkt_selected=0;

   // zustellungs-radio box überprüfen
   if ( formular.elements['element[newsletter]'][0].checked || formular.elements['element[newsletter]'][1].checked ) {
      zustellung_selected=1;
   } else {
      alert("Bitte wählen Sie die Art der Zustellung aus! (Post oder Email)");
   }

/*
   // bepe: interessensgebiet ist optional

   // zuerst abfragen ob auch ein hersteller ausgewählt wurde
   if ( check_kat(formular) ) {
      // alert message wird schoni in der funktion ausgegeben
      produkt_selected=1;
   }
*/
   // bepe: interessensgebiet ist optional
   if (zustellung_selected) {
      return formular;
   } else {
      return false;
   }
}


/* konfiguration für kontakt formular */

function config_kontakt(formular) {

   formular.elements['element[25]'].required    = true;
   formular.elements['element[25]'].mylabel     = "Vorname";
   formular.elements['element[25]'].verify      = "not_empty";

   formular.elements['element[26]'].required    = true;
   formular.elements['element[26]'].mylabel     = "Nachname";
   formular.elements['element[26]'].verify      = "not_empty";

   formular.elements['element[27]'].required    = true;
   formular.elements['element[27]'].mylabel     = "Email";
   formular.elements['element[27]'].verify      = "email";

   formular.elements['element[28]'].required    = true;
   formular.elements['element[28]'].mylabel     = "Telefon";
   formular.elements['element[28]'].verify      = "not_empty";

   formular.elements['element[31]'].required    = true;
   formular.elements['element[31]'].mylabel     = "PLZ";
   formular.elements['element[31]'].verify      = "plz";

   formular.elements['element[32]'].required    = true;
   formular.elements['element[32]'].mylabel     = "Adresse";
   formular.elements['element[32]'].verify      = "not_empty";

   formular.elements['element[30]'].required    = false;
   formular.elements['element[30]'].mylabel     = "Fax-Nr";
   formular.elements['element[30]'].verify      = "";

   formular.elements['element[29]'].required    = true;
   formular.elements['element[29]'].mylabel     = "Institut";
   formular.elements['element[29]'].verify      = "not_empty";

   formular.elements['element[34]'].required    = true;
   formular.elements['element[34]'].mylabel     = "Bemerkung";
   formular.elements['element[34]'].verify      = "not_empty";

   return formular;
}

/* konfiguration für produktanfrage formular */

function config_produktanfrage(formular) {

   formular.elements['element[Vorname]'].required    = true;
   formular.elements['element[Vorname]'].mylabel     = "Vorname";
   formular.elements['element[Vorname]'].verify      = "not_empty";

   formular.elements['element[Nachname]'].required    = true;
   formular.elements['element[Nachname]'].mylabel     = "Nachname";
   formular.elements['element[Nachname]'].verify      = "not_empty";

   formular.elements['element[E-mail]'].required    = true;
   formular.elements['element[E-mail]'].mylabel     = "Email";
   formular.elements['element[E-mail]'].verify      = "email";

   formular.elements['element[Institut]'].required    = true;
   formular.elements['element[Institut]'].mylabel     = "Institut";
   formular.elements['element[Institut]'].verify      = "not_empty";

   formular.elements['element[Telefon]'].required    = true;
   formular.elements['element[Telefon]'].mylabel     = "Telefon";
   formular.elements['element[Telefon]'].verify      = "not_empty";

   formular.elements['element[Fax]'].required    = false;
   formular.elements['element[Fax]'].mylabel     = "Fax";
   formular.elements['element[Fax]'].verify      = "";

   formular.elements['element[PLZ]'].required    = true;
   formular.elements['element[PLZ]'].mylabel     = "PLZ";
   formular.elements['element[PLZ]'].verify      = "plz";

   formular.elements['element[Adresse]'].required    = true;
   formular.elements['element[Adresse]'].mylabel     = "Adresse";
   formular.elements['element[Adresse]'].verify      = "not_empty";

   return formular;
}

/* konfiguration für kontakt formular */

function config_katalog(formular) {

   formular.elements['element[0]'].required    = true;
   formular.elements['element[0]'].mylabel     = "Vorname";
   formular.elements['element[0]'].verify      = "not_empty";

   formular.elements['element[1]'].required    = true;
   formular.elements['element[1]'].mylabel     = "Nachname";
   formular.elements['element[1]'].verify      = "not_empty";

   formular.elements['element[2]'].required    = true;
   formular.elements['element[2]'].mylabel     = "Email";
   formular.elements['element[2]'].verify      = "email";

   formular.elements['element[3]'].required    = true;
   formular.elements['element[3]'].mylabel     = "Institut";
   formular.elements['element[3]'].verify      = "not_empty";

   formular.elements['element[4]'].required    = true;
   formular.elements['element[4]'].mylabel     = "Telefon";
   formular.elements['element[4]'].verify      = "not_empty";

   formular.elements['element[5]'].required    = false;
   formular.elements['element[5]'].mylabel     = "Fax-Nr";
   formular.elements['element[5]'].verify      = "";

   formular.elements['element[6]'].required    = true;
   formular.elements['element[6]'].mylabel     = "PLZ";
   formular.elements['element[6]'].verify      = "plz";

   formular.elements['element[7]'].required    = true;
   formular.elements['element[7]'].mylabel     = "Ort";
   formular.elements['element[7]'].verify      = "not_empty";

   formular.elements['element[8]'].required    = true;
   formular.elements['element[8]'].mylabel     = "Adresse";
   formular.elements['element[8]'].verify      = "not_empty";

   formular.elements['element[9]'].required    = false;
   formular.elements['element[9]'].mylabel     = "Bemerkung";
   formular.elements['element[9]'].verify      = "";

   // zuerst abfragen ob auch ein hersteller ausgewählt wurde
   if ( !check_hersteller(formular) ) { return false; }

   return formular;
}


function isempty(arg)
{
   for(var x=0; x<arg.length; x++)
   {
          var c = arg.charAt(x);
          if ((c!=' ') && (c!='\n') && (c!='\t'))
             return false;
   }
   return true;
}

function check(formular){

   // if something went wrong (no form-object passed to the function)
   if (!formular) { return false; }

   var msg = "\n";
   var empty_fields = "";
   var errors = "";
   var radio=Array();

   for(i=0; i<formular.length; i++) {
      var field = formular.elements[i];
      // alert(field.name+" "+field.type);
      // check if field is empty
      if (field.required) {
             if (field.value==null || field.value=="" || isempty(field.value)) {
                empty_fields += "\n     " +field.mylabel;
                continue;
             }
      }


      // field "PLZ" is required and must be a number >0 and <9999
      if ( (field.verify=='plz' && field.required==true) ) {
             if (isempty(field.value) || field.value<=0 || field.value>=99999)
                errors += "- Die Postleitzahl ist ungültig !\n";
             if (isNaN(field.value)) {
                errors += "- Die Postleitzahl ist ungültig !\n";
                errors += "     Die Eingabe ist keine Zahl\n\n";
             }
      }

      // if field "email" (optional) has a value, check if correct
      if (field.verify=='email' && field.value && field.required) {
             v   = new String(field.value);
             at  = v.indexOf('@');
             tld = parseInt(v.length) - parseInt(v.lastIndexOf('.')) -1;

             if (at==null || at==0 || at==v.length || tld<2 || tld>3)
                 errors += "- Ungültige e-mail Adresse !\n";
      }

   }

   if (!empty_fields && !errors) return true;

   msg += "___________________________________________________________\n\n";
   msg += "Das Formular kann nicht ordnungsgemäß übermittelt werden!\n";
   msg += "Es ist/sind folgende(r) Fehler aufgetreten:\n";
   msg += "___________________________________________________________\n\n";

   if (empty_fields)
   {
      msg += "- Bitte füllen Sie folgende Felder noch aus:\n" +empty_fields+"\n";
          if (errors) msg += "\n";
   }
   msg += errors;
   alert(msg);
   return false;
}