//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Funktionen zur Formularüberprüfung mit Hilfe des Formular-Moduls
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Globale Variablen
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var pflichtfelder = {};
var entwederOder = {};

/*
  Bodenboerse
*/

pflichtfelder['bodenboerse'] = [];
pflichtfelder['bodenboerse'][0] = {};
pflichtfelder['bodenboerse'][0]['id'] = 'form-1-2';
pflichtfelder['bodenboerse'][0]['name'] = 'Name';
pflichtfelder['bodenboerse'][1] = {};
pflichtfelder['bodenboerse'][1]['id'] = 'form-1-4';
pflichtfelder['bodenboerse'][1]['name'] = 'PLZ/Ort';
pflichtfelder['bodenboerse'][2] = {};
pflichtfelder['bodenboerse'][2]['id'] = 'form-1-7';
pflichtfelder['bodenboerse'][2]['name'] = 'Art des Eintrags';
pflichtfelder['bodenboerse'][3] = {};
pflichtfelder['bodenboerse'][3]['id'] = 'form-1-8';
pflichtfelder['bodenboerse'][3]['name'] = 'Anlieferungs- bzw. Abholort';
pflichtfelder['bodenboerse'][4] = {};
pflichtfelder['bodenboerse'][4]['id'] = 'form-1-10';
pflichtfelder['bodenboerse'][4]['name'] = 'Menge/Einheit';
pflichtfelder['bodenboerse'][5] = {};
pflichtfelder['bodenboerse'][5]['id'] = 'form-1-11';
pflichtfelder['bodenboerse'][5]['name'] = 'Bodenart (Titel des Eintrags)';
pflichtfelder['bodenboerse'][6] = {};
pflichtfelder['bodenboerse'][6]['id'] = 'form-1-13';
pflichtfelder['bodenboerse'][6]['name'] = 'Dauer';

entwederOder['bodenboerse'] = [];
entwederOder['bodenboerse'][0] = [];
entwederOder['bodenboerse'][0][0] = {};
entwederOder['bodenboerse'][0][0]['id'] = 'form-1-5';
entwederOder['bodenboerse'][0][0]['name'] = 'Telefon';
entwederOder['bodenboerse'][0][1] = {};
entwederOder['bodenboerse'][0][1]['id'] = 'form-1-6';
entwederOder['bodenboerse'][0][1]['name'] = 'E-Mail';

/*
  Tauschboerse
*/

pflichtfelder['tauschboerse'] = [];
pflichtfelder['tauschboerse'][0] = {};
pflichtfelder['tauschboerse'][0]['id'] = 'form-1-7';
pflichtfelder['tauschboerse'][0]['name'] = 'Art des Eintrags';
pflichtfelder['tauschboerse'][1] = {};
pflichtfelder['tauschboerse'][1]['id'] = 'form-1-8';
pflichtfelder['tauschboerse'][1]['name'] = 'Rubrik 1';
pflichtfelder['tauschboerse'][2] = {};
pflichtfelder['tauschboerse'][2]['id'] = 'form-1-10';
pflichtfelder['tauschboerse'][2]['name'] = 'Titel';
pflichtfelder['tauschboerse'][3] = {};
pflichtfelder['tauschboerse'][3]['id'] = 'form-1-12';
pflichtfelder['tauschboerse'][3]['name'] = 'Beschreibungstext';
pflichtfelder['tauschboerse'][4] = {};
pflichtfelder['tauschboerse'][4]['id'] = 'form-1-13';
pflichtfelder['tauschboerse'][4]['name'] = 'Dauer';

entwederOder['tauschboerse'] = [];
entwederOder['tauschboerse'][0] = [];
entwederOder['tauschboerse'][0][0] = {};
entwederOder['tauschboerse'][0][0]['id'] = 'form-1-5';
entwederOder['tauschboerse'][0][0]['name'] = 'Telefon';
entwederOder['tauschboerse'][0][1] = {};
entwederOder['tauschboerse'][0][1]['id'] = 'form-1-6';
entwederOder['tauschboerse'][0][1]['name'] = 'E-Mail';

/*
  Reklamationen
*/

pflichtfelder['reklamationen'] = [];
pflichtfelder['reklamationen'][0] = {};
pflichtfelder['reklamationen'][0]['id'] = 'form-1-2';
pflichtfelder['reklamationen'][0]['name'] = 'Name';
pflichtfelder['reklamationen'][1] = {};
pflichtfelder['reklamationen'][1]['id'] = 'form-1-3';
pflichtfelder['reklamationen'][1]['name'] = 'Straße';
pflichtfelder['reklamationen'][2] = {};
pflichtfelder['reklamationen'][2]['id'] = 'form-1-4';
pflichtfelder['reklamationen'][2]['name'] = 'PLZ/Ort';
pflichtfelder['reklamationen'][3] = {};
pflichtfelder['reklamationen'][3]['id'] = 'form-1-5';
pflichtfelder['reklamationen'][3]['name'] = 'Telefon';
pflichtfelder['reklamationen'][4] = {};
pflichtfelder['reklamationen'][4]['id'] = 'form-1-6';
pflichtfelder['reklamationen'][4]['name'] = 'E-Mail';

/*
  Abfall anmelden
*/

pflichtfelder['abfall-anmelden'] = [];
pflichtfelder['abfall-anmelden'][0] = {};
pflichtfelder['abfall-anmelden'][0]['id'] = 'form-1-8';
pflichtfelder['abfall-anmelden'][0]['name'] = 'Vorname';
pflichtfelder['abfall-anmelden'][1] = {};
pflichtfelder['abfall-anmelden'][1]['id'] = 'form-1-2';
pflichtfelder['abfall-anmelden'][1]['name'] = 'Name';
pflichtfelder['abfall-anmelden'][2] = {};
pflichtfelder['abfall-anmelden'][2]['id'] = 'form-1-3';
pflichtfelder['abfall-anmelden'][2]['name'] = 'Straße';
pflichtfelder['abfall-anmelden'][3] = {};
pflichtfelder['abfall-anmelden'][3]['id'] = 'form-1-4';
pflichtfelder['abfall-anmelden'][3]['name'] = 'PLZ';
pflichtfelder['abfall-anmelden'][4] = {};
pflichtfelder['abfall-anmelden'][4]['id'] = 'form-1-5';
pflichtfelder['abfall-anmelden'][4]['name'] = 'Telefon';
pflichtfelder['abfall-anmelden'][5] = {};
pflichtfelder['abfall-anmelden'][5]['id'] = 'form-1-6';
pflichtfelder['abfall-anmelden'][5]['name'] = 'E-Mail';
pflichtfelder['abfall-anmelden'][6] = {};
pflichtfelder['abfall-anmelden'][6]['id'] = 'form-1-9';
pflichtfelder['abfall-anmelden'][6]['name'] = 'Ort';

/*
  Gewinnspiel
*/

pflichtfelder['gewinnspiel'] = [];
pflichtfelder['gewinnspiel'][0] = {};
pflichtfelder['gewinnspiel'][0]['id'] = 'form-1-2';
pflichtfelder['gewinnspiel'][0]['name'] = 'Name';
pflichtfelder['gewinnspiel'][1] = {};
pflichtfelder['gewinnspiel'][1]['id'] = 'form-1-3';
pflichtfelder['gewinnspiel'][1]['name'] = 'Straße';
pflichtfelder['gewinnspiel'][2] = {};
pflichtfelder['gewinnspiel'][2]['id'] = 'form-1-4';
pflichtfelder['gewinnspiel'][2]['name'] = 'PLZ/Ort';
pflichtfelder['gewinnspiel'][3] = {};
pflichtfelder['gewinnspiel'][3]['id'] = '_CAPTCHA_STRING_';
pflichtfelder['gewinnspiel'][3]['name'] = 'Code';


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Funktionen
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/*
  checkFormular
*/

function checkFormular(formArt) {

  if (pflichtfelder[formArt]) {

    for (var i=0; i<pflichtfelder[formArt].length; i++) {

      var element = document.getElementById(pflichtfelder[formArt][i]['id']);
      var errorString = 'Das Feld "' + pflichtfelder[formArt][i]['name'] + '" ist ein Pflichtfeld.';

      if (!element) {
        break;
      }

      if (element.type == 'text' || element.nodeName == 'TEXTAREA') {

        if (element.value == '' || element.value == 'Bitte geben Sie hier Alter, Aussehen, Beschaffenheit und Zustand des Gegenstands an.') {
          alert(errorString);
          element.focus();
          element.select();
          return false;
        }

      } else {

        if (element.options) {

          if (element.options[element.options.selectedIndex].value == '') {
            alert(errorString);
            element.focus();
            return false;
          }

        }

      }

      if (pflichtfelder[formArt][i]['name'] == 'E-Mail') {

        var eMailAdress = element.value;
        var regularExpressionEmail = /^\s*[a-zA-Z0-9_][-.a-zA-Z0-9_]*\@[\-a-zA-Z0-9]+(?:\.[\-a-zA-z0-9]+)*\.([a-z]{2,4})\s*$/;
        var isEMailAdress = regularExpressionEmail.test(eMailAdress);

        if (isEMailAdress != true) {
          errorString = 'Das Feld "' + pflichtfelder[formArt][i]['name'] + '" enthält keine korrekte E-Mail-Adresse.';
          alert(errorString);
          element.focus();
          element.select();
          return false;
        }

      }

    }

  }

  if (entwederOder[formArt]) {

    for (var i=0; i<entwederOder[formArt].length; i++) {

      var isEmpty = true;

      for (var j=0; j<entwederOder[formArt][i].length; j++) {

        var element = document.getElementById(entwederOder[formArt][i][j]['id']);

        if (element.value != '') {
          isEmpty = false;
          break;
        }

      }

      if (isEmpty == true) {

        errorString = 'Bitte füllen Sie mindestens eines der folgenden Felder aus:\n';

        for (var j=0; j<entwederOder[formArt][i].length; j++) {
          errorString += '"' + entwederOder[formArt][i][j]['name'] + '"\n';
        }

        alert(errorString);
        document.getElementById(entwederOder[formArt][i][0]['id']).focus();
        return false;

      }

    }

  }

  return true;

}


/*
  setDate
*/

function setDate(id,length) {

  var element = document.getElementById(id);
  var newDate;

  if (!element) {
    return false;
  }

  if (length) {

    var heute = new Date();
    var zeit = heute.getTime();
    var diff = parseFloat(length * 24 * 60 * 60 * 1000);
    var enddate_sek = parseFloat(zeit + diff);
    heute.setTime(enddate_sek);
    var tag = heute.getDate();

    if (tag < 10) {
      tag = String('0' + tag);
    }

    var monat = heute.getMonth();
    monat++;

    if (monat < 10) {
      monat = String('0' + monat);
    }

    var jahr = heute.getFullYear();

  }

  newDate = String(jahr +''+ monat +''+ tag);

  element.value = newDate;

}
