<?php

/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */







class anmeldeFormulare
{
  public $inifile;    
  public $ary;        
  public $toolcols;   
  public $dbwermaess; 
  public $aryermaess; 
  public $strop;      

  public function __construct()
  { 
    if (isset($_REQUEST['gAnzahl_Kinder_Plus']) && $_REQUEST['gAnzahl_Kinder_Plus']) {
      SessionOperations::setVarValueWk('gAnzahl_Kinder', SessionOperations::getVarValueWk('gAnzahl_Kinder') + 1);
    }
    if ((isset($_REQUEST['gAnzahl_Kinder_Minus']) && $_REQUEST['gAnzahl_Kinder_Minus'])
        && (SessionOperations::getVarValueWk('gAnzahl_Kinder') > 1)) {
      SessionOperations::setVarValueWk('gAnzahl_Kinder', SessionOperations::getVarValueWk('gAnzahl_Kinder') - 1);
    }
    if (isset($_REQUEST['gAnzahl_Mitarbeiter_Plus']) && $_REQUEST['gAnzahl_Mitarbeiter_Plus']) {
      SessionOperations::setVarValueWk('gAnzahl_Mitarbeiter', SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter') + 1);
    }
    if ((isset($_REQUEST['gAnzahl_Mitarbeiter_Minus']) && $_REQUEST['gAnzahl_Mitarbeiter_Minus'])
        && (SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter') > 1)) {
      SessionOperations::setVarValueWk('gAnzahl_Mitarbeiter', SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter') - 1);
    }
    if (isset($_REQUEST['gAnzahl_Mehrfach_Plus']) && $_REQUEST['gAnzahl_Mehrfach_Plus']) {
      SessionOperations::setVarValueWk('gAnzahl_Mehrfach', SessionOperations::getVarValueWk('gAnzahl_Mehrfach') + 1);
    }
    if ((isset($_REQUEST['gAnzahl_Mehrfach_Minus']) && $_REQUEST['gAnzahl_Mehrfach_Minus'])
        && (SessionOperations::getVarValueWk('gAnzahl_Mehrfach') > 1)) {
      SessionOperations::setVarValueWk('gAnzahl_Mehrfach', SessionOperations::getVarValueWk('gAnzahl_Mehrfach') - 1);
    }

    $this->toolcols = new DBWorkSightsSettings();
    $this->dbwermaess = new DBWorkHLErmaessigungen();
    $this->aryermaess = $this->dbwermaess->getAll();
    $this->ary = $this->toolcols->getColumns(51);
    $this->strop = new StringOperations();
    if (preg_match('/index/', $this->strop->getURLwithoutParams(true))) {
      $this->inifile = new IniFile();
      $this->inifile->openFile('./css/strings.ini');
    }
  }

  
  public function fillSessionVariables($pSaveAnmart = true)
  {
    

    if (isset($_REQUEST['gWKAnmForm']) && $pSaveAnmart) {
      SessionOperations::setVarValueAnm(ANMELDEART, $_REQUEST['gWKAnmForm']);
    }
    
    if (SessionOperations::isDefinedIntern('TNToWarenKorb')) {
      $dbteilnehmer = new DBWorkTeilnehmer();
      $dbteilnehmer->dbkommoperations->allkom = true;
      if (SessionOperations::isDefinedIntern('TNToWarenKorb')) {
        $tn_name = $dbteilnehmer->getTeilnehm(SessionOperations::getVarValueIntern('TNToWarenKorb'));
      } else {
        $tn_name = $dbteilnehmer->getTeilnehm($_REQUEST['detTK']);
      }

      $this->fillSessionVariablesFromTnObject($tn_name, 'w_');

      
      for ($j = 0;$j < count($this->ary);$j++) {
        if (isset($_REQUEST['w_' . $this->ary[$j]->fieldname . '_pa'])) {
          SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_pa', $_REQUEST['w_' . $this->ary[$j]->fieldname . '_pa']);
        }
      }
    } else { 
      
      for ($j = 0;$j < count($this->ary);$j++) {
        if (isset($_REQUEST['w_' . $this->ary[$j]->fieldname])) {
          SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname, $_REQUEST['w_' . $this->ary[$j]->fieldname]);
        }
        
        if (isset($_REQUEST['w_' . $this->ary[$j]->fieldname . '_pa'])) {
          SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_pa', $_REQUEST['w_' . $this->ary[$j]->fieldname . '_pa']);
        }
      }
      
      
      if (isset($_REQUEST['w_bankbezeichnung_pa'])) {
        SessionOperations::setVarValueIntern('w_bankbez_pa', $_REQUEST['w_bankbezeichnung_pa']);
      }

      if ($this->checkKtoBlz('_pa')) {
        if (isset($_REQUEST['w_bankleitzahl_pa'])) {
          SessionOperations::setVarValueIntern('w_blz_pa', $_REQUEST['w_bankleitzahl_pa']);
        }
        if (isset($_REQUEST['w_kontonummer_pa'])) {
          SessionOperations::setVarValueIntern('w_konto_pa', $_REQUEST['w_kontonummer_pa']);
        }
      }
      if (isset($_REQUEST['w_ermgrund_pa'])) {
        SessionOperations::setVarValueIntern('w_erm_grund_pa', $_REQUEST['w_ermgrund_pa']);
      }
      if (isset($_REQUEST['w_geburtsjahr_pa'])) {
        SessionOperations::setVarValueIntern('w_gebjahr_pa', $_REQUEST['w_geburtsjahr_pa']);
      }
      
      if (isset($_REQUEST['w_geschlecht_pa'])) {
        SessionOperations::setVarValueIntern('w_geschlecht_pa', $_REQUEST['w_geschlecht_pa']);
      }
    }

    

    for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Kinder', 0); $i++) {
      if (isset($_REQUEST['w_vorname_k' . $i])) {
        SessionOperations::setVarValueIntern('w_vorname_k' . $i, $_REQUEST['w_vorname_k' . $i]);
      }
      if (isset($_REQUEST['w_nachname_k' . $i])) {
        SessionOperations::setVarValueIntern('w_nachname_k' . $i, $_REQUEST['w_nachname_k' . $i]);
      }
      if (isset($_REQUEST['w_nachname_k' . $i])) {
        SessionOperations::setVarValueIntern('w_name_k' . $i, $_REQUEST['w_nachname_k' . $i]);
      }
      if (isset($_REQUEST['w_gebdat_k' . $i])) {
        SessionOperations::setVarValueIntern('w_gebdat_k' . $i, $_REQUEST['w_gebdat_k' . $i]);
      }
      if (isset($_REQUEST['w_info_k' . $i])) {
        SessionOperations::setVarValueIntern('w_info_k' . $i, $_REQUEST['w_info_k' . $i]);
      }
    }
    
    for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter', 0); $i++) {
      if (isset($_REQUEST['w_tnr_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_tnr_ma' . $i, $_REQUEST['w_tnr_ma' . $i]);
      }
      if (isset($_REQUEST['w_nachname_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_nachname_ma' . $i, $_REQUEST['w_nachname_ma' . $i]);
      }
      if (isset($_REQUEST['w_nachname_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_name_ma' . $i, $_REQUEST['w_nachname_ma' . $i]);
      }
      if (isset($_REQUEST['w_vorname_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_vorname_ma' . $i, $_REQUEST['w_vorname_ma' . $i]);
      }
      if (isset($_REQUEST['w_tel_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_tel_ma' . $i, $_REQUEST['w_tel_ma' . $i]);
      }
      if (isset($_REQUEST['w_email_ma' . $i])) {
        SessionOperations::setVarValueIntern('w_email_ma' . $i, $_REQUEST['w_email_ma' . $i]);
      }
      if (!(SessionOperations::getVarValueIntern('w_tnr_ma' . $i) == '') && is_numeric(SessionOperations::getVarValueIntern('w_tnr_ma' . $i))) {
        SessionOperations::setVarValueIntern('w_tnr_ma' . $i, $this->correctTnr('ma', $i));
      }
    }
    
    if (isset($_REQUEST['w_ansprechpartner'])) {
      SessionOperations::setVarValueIntern('w_ansprechpartner', $_REQUEST['w_ansprechpartner']);
    }

    
    for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mehrfach', 0); $i++) {
      if (isset($_REQUEST['w_tnr_me' . $i])) {
        SessionOperations::setVarValueIntern('w_tnr_me' . $i, $_REQUEST['w_tnr_me' . $i]);
      }
      if (isset($_REQUEST['w_nachname_me' . $i])) {
        SessionOperations::setVarValueIntern('w_nachname_me' . $i, $_REQUEST['w_nachname_me' . $i]);
      }
      
      if (isset($_REQUEST['w_nachname_me' . $i])) {
        SessionOperations::setVarValueIntern('w_name_me' . $i, $_REQUEST['w_nachname_me' . $i]);
      }
      if (isset($_REQUEST['w_vorname_me' . $i])) {
        SessionOperations::setVarValueIntern('w_vorname_me' . $i, $_REQUEST['w_vorname_me' . $i]);
      }
      if (isset($_REQUEST['w_tel_me' . $i])) {
        SessionOperations::setVarValueIntern('w_tel_me' . $i, $_REQUEST['w_tel_me' . $i]);
      }
      if (isset($_REQUEST['w_email_me' . $i])) {
        SessionOperations::setVarValueIntern('w_email_me' . $i, $_REQUEST['w_email_me' . $i]);
      }
      if (!(SessionOperations::getVarValueIntern('w_tnr_me' . $i) == '') && is_numeric(SessionOperations::getVarValueIntern('w_tnr_me' . $i))) {
        SessionOperations::setVarValueIntern('w_tnr_me' . $i, $this->correctTnr('me', $i));
      }
    }
  }

  
  public function correctTnr($pTNArt, $pIndex)
  {
    $dbwTeilnehm = new DBWorkTeilnehmer(1, true);
    $teilnehmer = $dbwTeilnehm->getTeilnehm(SessionOperations::getVarValueIntern('w_tnr_' . $pTNArt . $pIndex));

    
    if ($teilnehmer->name == SessionOperations::getVarValueIntern('w_nachname_' . $pTNArt . $pIndex)
      && $teilnehmer->vorname == SessionOperations::getVarValueIntern('w_vorname_' . $pTNArt . $pIndex)
      && $teilnehmer->tel->wert == SessionOperations::getVarValueIntern('w_tel_' . $pTNArt . $pIndex)
      && $teilnehmer->email->wert == SessionOperations::getVarValueIntern('w_email_' . $pTNArt . $pIndex)) {
      return SessionOperations::getVarValueIntern('w_tnr_' . $pTNArt . $pIndex);
    }

    return '';
  }

  
  public function fillSessionVariablesFromTnObject($pTeilnehm, $pPrefix = '', $pSuffix = '')
  {
    
    SessionOperations::setVarValueIntern($pPrefix . 'anrede' . $pSuffix, $pTeilnehm->anrede);
    SessionOperations::setVarValueIntern($pPrefix . 'name' . $pSuffix, $pTeilnehm->name);
    SessionOperations::setVarValueIntern($pPrefix . 'nachname' . $pSuffix, $pTeilnehm->name);
    SessionOperations::setVarValueIntern($pPrefix . 'zusatz' . $pSuffix, $pTeilnehm->zusatz);
    SessionOperations::setVarValueIntern($pPrefix . 'zusatz2' . $pSuffix, $pTeilnehm->zusatz2);
    SessionOperations::setVarValueIntern($pPrefix . 'zusatz3' . $pSuffix, $pTeilnehm->zusatz3);
    SessionOperations::setVarValueIntern($pPrefix . 'geschlecht' . $pSuffix, $pTeilnehm->geschlecht);
    SessionOperations::setVarValueIntern($pPrefix . 'vorname' . $pSuffix, $pTeilnehm->vorname);
    SessionOperations::setVarValueIntern($pPrefix . 'ort' . $pSuffix, $pTeilnehm->ort);
    SessionOperations::setVarValueIntern($pPrefix . 'strasse' . $pSuffix, $pTeilnehm->strasse);
    SessionOperations::setVarValueIntern($pPrefix . 'tel1' . $pSuffix, $pTeilnehm->tel->wert);
    SessionOperations::setVarValueIntern($pPrefix . 'tel2' . $pSuffix, $pTeilnehm->tel2->wert);
    SessionOperations::setVarValueIntern($pPrefix . 'email' . $pSuffix, $pTeilnehm->email->wert);
    SessionOperations::setVarValueIntern($pPrefix . 'fax' . $pSuffix, $pTeilnehm->fax->wert);
    SessionOperations::setVarValueIntern($pPrefix . 'mobil' . $pSuffix, $pTeilnehm->mobil->wert);
    SessionOperations::setVarValueIntern($pPrefix . 'bankbezeichnung' . $pSuffix, $pTeilnehm->bankbez);
    SessionOperations::setVarValueIntern($pPrefix . 'kontonummer' . $pSuffix, $pTeilnehm->konto);
    SessionOperations::setVarValueIntern($pPrefix . 'bankleitzahl' . $pSuffix, $pTeilnehm->blz);
    SessionOperations::setVarValueIntern($pPrefix . 'ausweisnr' . $pSuffix, $pTeilnehm->ausweisnr);

    
    
    $kontoGesternt = StringOperations::strpos($pTeilnehm->konto, '*') !== false;
    $sepaGesternt = StringOperations::strpos($pTeilnehm->iban, '*') !== false;
    $kontoLeer = trim($pTeilnehm->konto) == '';
    $sepaLeer = trim($pTeilnehm->iban) == '';

    if (($kontoGesternt && ($sepaLeer || $sepaGesternt))
          || ($sepaGesternt && ($kontoLeer || $kontoGesternt))) {
      
      SessionOperations::setVarValueIntern($pPrefix . 'keinebankverbindung' . $pSuffix, '1');
    } else {
      SessionOperations::setVarValueIntern($pPrefix . 'bankbez' . $pSuffix, $pTeilnehm->bankbez);
      SessionOperations::setVarValueIntern($pPrefix . 'kontoinhaber' . $pSuffix, $pTeilnehm->kontoinhaber);

      if (!($kontoGesternt || $kontoLeer)) {
        SessionOperations::setVarValueIntern($pPrefix . 'konto' . $pSuffix, $pTeilnehm->konto);
          SessionOperations::setVarValueIntern($pPrefix . 'blz' . $pSuffix, $pTeilnehm->blz);
      }
      if (!($sepaGesternt || $sepaLeer)) {
        SessionOperations::setVarValueIntern($pPrefix . 'bic' . $pSuffix, $pTeilnehm->bic);
        SessionOperations::setVarValueIntern($pPrefix . 'iban' . $pSuffix, $pTeilnehm->iban);
      }
    }

    SessionOperations::setVarValueIntern($pPrefix . 'mandatam' . $pSuffix, $pTeilnehm->mandatam);
    SessionOperations::setVarValueIntern($pPrefix . 'beruf' . $pSuffix, $pTeilnehm->beruf);
    SessionOperations::setVarValueIntern($pPrefix . 'ermgrund' . $pSuffix, $pTeilnehm->erm_grund);
      SessionOperations::setVarValueIntern($pPrefix . 'geburtsdatum' . $pSuffix, $pTeilnehm->gebdat);
      SessionOperations::setVarValueIntern($pPrefix . 'geburtsjahr' . $pSuffix, $pTeilnehm->gebjahr);
      SessionOperations::setVarValueIntern($pPrefix . 'erm_grund' . $pSuffix, $pTeilnehm->erm_grund);
      SessionOperations::setVarValueIntern($pPrefix . 'gebjahr' . $pSuffix, $pTeilnehm->gebjahr);
      SessionOperations::setVarValueIntern($pPrefix . 'gebdat' . $pSuffix, $pTeilnehm->gebdat);
    SessionOperations::setVarValueIntern($pPrefix . 'arbamtnr' . $pSuffix, $pTeilnehm->arbamtnr);
    SessionOperations::setVarValueIntern($pPrefix . 'lms_ok' . $pSuffix, $pTeilnehm->lms_ok);
    SessionOperations::setVarValueIntern($pPrefix . 'firma' . $pSuffix, $pTeilnehm->firma);
  }

  
  public function restoreRequestFormVars($pZusperson, $pAktind, $pInd)
  {
    
    switch ($pZusperson) {
      case 'kinder': 
          $_REQUEST['w_nachname_k' . $pAktind] = $_REQUEST['w_nachname_k' . $pInd];
        $_REQUEST['w_vorname_k' . $pAktind] = $_REQUEST['w_vorname_k' . $pInd];
        $_REQUEST['w_gebdat_k' . $pAktind] = $_REQUEST['w_gebdat_k' . $pInd];
        $_REQUEST['w_info_k' . $pAktind] = $_REQUEST['w_info_k' . $pInd];
        break;
      case 'mitarbeiter':  
          $_REQUEST['w_tnr_ma' . $pAktind] = $_REQUEST['w_tnr_ma' . $pInd];
          $_REQUEST['w_nachname_ma' . $pAktind] = $_REQUEST['w_nachname_ma' . $pInd];
        $_REQUEST['w_vorname_ma' . $pAktind] = $_REQUEST['w_vorname_ma' . $pInd];
        $_REQUEST['w_tel_ma' . $pAktind] = $_REQUEST['w_tel_ma' . $pInd];
        
        $_REQUEST['w_email_ma' . $pAktind] = $_REQUEST['w_email_ma' . $pInd];
        break;
      case 'mehrfach':  
        $_REQUEST['w_tnr_me' . $pAktind] = $_REQUEST['w_tnr_me' . $pInd];
          $_REQUEST['w_nachname_me' . $pAktind] = $_REQUEST['w_nachname_me' . $pInd];
        $_REQUEST['w_vorname_me' . $pAktind] = $_REQUEST['w_vorname_me' . $pInd];
        $_REQUEST['w_tel_me' . $pAktind] = $_REQUEST['w_tel_me' . $pInd];
        $_REQUEST['w_email_me' . $pAktind] = $_REQUEST['w_email_me' . $pInd];
        break;
    }
  }

  
  public function restoreSessionVars($pZusperson, $pAktind, $pInd)
  {
    
    switch ($pZusperson) {
      case 'kinder': 
        SessionOperations::setVarValueIntern('w_nachname_k' . $pAktind, SessionOperations::getVarValueIntern('w_nachname_k' . $pInd));
        SessionOperations::setVarValueIntern('w_vorname_k' . $pAktind, SessionOperations::getVarValueIntern('w_vorname_k' . $pInd));
        SessionOperations::setVarValueIntern('w_gebdat_k' . $pAktind, SessionOperations::getVarValueIntern('w_gebdat_k' . $pInd));
        SessionOperations::setVarValueIntern('w_info_k' . $pAktind, SessionOperations::getVarValueIntern('w_info_k' . $pInd));
        break;

      case 'mitarbeiter':  
        SessionOperations::setVarValueIntern('w_tnr_ma' . $pAktind, SessionOperations::getVarValueIntern('w_tnr_ma' . $pInd));
        SessionOperations::setVarValueIntern('w_nachname_ma' . $pAktind, SessionOperations::getVarValueIntern('w_nachname_ma' . $pInd));
        SessionOperations::setVarValueIntern('w_vorname_ma' . $pAktind, SessionOperations::getVarValueIntern('w_vorname_ma' . $pInd));
        SessionOperations::setVarValueIntern('w_tel_ma' . $pAktind, SessionOperations::getVarValueIntern('w_tel_ma' . $pInd));
        SessionOperations::setVarValueIntern('w_abwadr_ma' . $pAktind, SessionOperations::getVarValueIntern('w_abwadr_ma' . $pInd));
        SessionOperations::setVarValueIntern('w_email_ma' . $pAktind, SessionOperations::getVarValueIntern('w_email_ma' . $pInd));
        break;

      case 'mehrfach':  
        SessionOperations::setVarValueIntern('w_tnr_me' . $pAktind, SessionOperations::getVarValueIntern('w_tnr_me' . $pInd));
        SessionOperations::setVarValueIntern('w_nachname_me' . $pAktind, SessionOperations::getVarValueIntern('w_nachname_me' . $pInd));
        SessionOperations::setVarValueIntern('w_vorname_me' . $pAktind, SessionOperations::getVarValueIntern('w_vorname_me' . $pInd));
        SessionOperations::setVarValueIntern('w_tel_me' . $pAktind, SessionOperations::getVarValueIntern('w_tel_me' . $pInd));
        SessionOperations::setVarValueIntern('w_email_me' . $pAktind, SessionOperations::getVarValueIntern('w_email_me' . $pInd));
        break;
    }
  }

  
  public function deleteSessionVariables($pOnlyTN = false, $pRestrict = false, $pDelpa = true, $pDelma = true, $pDelki = true, $pDelme = true, $pDelAnmArt = true)
  {
    
    
    if ($pRestrict) {
      switch (SessionOperations::getVarValueAnm(ANMELDEART)) {
        case 1: 
          for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Kinder'); $i++) {
            for ($j = 0;$j < count($this->ary);$j++) {
              SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_k' . $i, '');
            }
          }
          break;

        case 2:  
          for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter'); $i++) {
            for ($j = 0;$j < count($this->ary);$j++) {
              SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_ma' . $i, '');
            }
          }
          break;

        case 3:  
          for ($j = 0;$j < count($this->ary);$j++) {
            SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_pa', '');
          }
          SessionOperations::setVarValueIntern('w_nachname_pa', '');
          break;

        case 4:  
          for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mehrfach'); $i++) {
            for ($j = 0;$j < count($this->ary);$j++) {
              SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_me' . $i, '');
            }
          }
          break;
        default: break;
      }
    } else {
      
      if ((!$pOnlyTN) && $pDelAnmArt) {
        SessionOperations::setVarValueAnm(ANMELDEART, '');
      }
      
      for ($j = 0;$j < count($this->ary);$j++) {
        SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname, '');

        if (!$pOnlyTN && $pDelpa) {
          SessionOperations::setVarValueIntern('w_' . $this->ary[$j]->fieldname . '_pa', '');
        }
      }
      
      
      

      SessionOperations::setVarValueIntern('w_bankbez', '');
      SessionOperations::setVarValueIntern('w_konto', '');
      SessionOperations::setVarValueIntern('w_blz', '');
      SessionOperations::setVarValueIntern('w_erm_grund', '');
      SessionOperations::setVarValueIntern('w_gebjahr', '');

      if (!$pOnlyTN) {
        if ($pDelpa) {
          
          SessionOperations::setVarValueIntern('w_bankbez_pa', '');
          SessionOperations::setVarValueIntern('w_konto_pa', '');
          SessionOperations::setVarValueIntern('w_blz_pa', '');
          SessionOperations::setVarValueIntern('w_erm_grund_pa', '');
          SessionOperations::setVarValueIntern('w_gebjahr_pa', '');
        }
        
        if ($pDelki) {
          if (SessionOperations::getVarValueWk('gAnzahl_Kinder', '##') != '##') {
            for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Kinder'); $i++) {
              SessionOperations::setVarValueIntern('w_vorname_k' . $i, '');
              SessionOperations::setVarValueIntern('w_nachname_k' . $i, '');
              SessionOperations::setVarValueIntern('w_gebdat_k' . $i, '');
              SessionOperations::setVarValueIntern('w_info_k' . $i, '');
            }
          }
          
          SessionOperations::setVarValueWk('gAnzahl_Kinder', 1);
        }
        
        if ($pDelma) {
          if (SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter', '##') != '##') {
            for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mitarbeiter'); $i++) {
              SessionOperations::setVarValueIntern('w_tnr_ma' . $i, '');
              SessionOperations::setVarValueIntern('w_nachname_ma' . $i, '');
              SessionOperations::setVarValueIntern('w_vorname_ma' . $i, '');
              SessionOperations::setVarValueIntern('w_tel_ma' . $i, '');
              SessionOperations::setVarValueIntern('w_email_ma' . $i, '');
            }
          }
          
          SessionOperations::setVarValueWk('gAnzahl_Mitarbeiter', 1);
        }
        
        if ($pDelme) {
          if (SessionOperations::getVarValueWk('gAnzahl_Mehrfach', '##') != '##') {
            for ($i = 1; $i <= SessionOperations::getVarValueWk('gAnzahl_Mehrfach'); $i++) {
              SessionOperations::setVarValueIntern('w_tnr_me' . $i, '');
              SessionOperations::setVarValueIntern('w_nachname_me' . $i, '');
              SessionOperations::setVarValueIntern('w_vorname_me' . $i, '');
              SessionOperations::setVarValueIntern('w_tel_me' . $i, '');
              SessionOperations::setVarValueIntern('w_email_me' . $i, '');
            }
          }
          
          SessionOperations::setVarValueWk('gAnzahl_Mehrfach', 1);
        }
      } 
      
      SessionOperations::setVarValueIntern('w_ansprechpartner', '');
    }
  }

  
  public function deleteSessionVarSingleRow($pRowindex, $pAnmform)
  {
    
    switch ($pAnmform) {
        case 'kinder': 
          SessionOperations::setVarValueIntern('w_vorname_k' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_nachname_k' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_gebdat_k' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_info_k' . $pRowindex, '');
          break;

        case 'mitarbeiter':  
          
          SessionOperations::setVarValueIntern('w_tnr_ma' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_name_ma' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_nachname_ma' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_vorname_ma' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_tel_ma' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_email_ma' . $pRowindex, '');
          break;

        case 'mehrfach':  
          SessionOperations::setVarValueIntern('w_tnr_me' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_name_me' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_nachname_me' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_vorname_me' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_tel_me' . $pRowindex, '');
          SessionOperations::setVarValueIntern('w_email_me' . $pRowindex, '');
          break;
        default: break;
      }
  }

  
  public function checkPflichtFelderStdAnmeldung()
  {
    foreach ($this->ary as $col) {
      if ($col->bold == 1) {
        if (isset($_REQUEST['w_' . $col->fieldname])
          && $_REQUEST['w_' . $col->fieldname] == '') {
          return false;
        }
      }
    }

    return true;
  }

  
  public function checkKtoBlz($suffix = '')
  {
    if (isset($_REQUEST['w_bankleitzahl' . $suffix]) && $_REQUEST['w_bankleitzahl' . $suffix] != '') {

      
      $_REQUEST['w_bankleitzahl' . $suffix] = str_replace(' ', '', $_REQUEST['w_bankleitzahl' . $suffix]);

      $blz = $_REQUEST['w_bankleitzahl' . $suffix];
      
      if (preg_match('/[^0-9]/', $blz)) {
        return false;
      }
      
      if (StringOperations::strlen($blz) != 8 && StringOperations::strlen($blz) != 5) {
        return false;
      }
    }
    if (isset($_REQUEST['w_kontonummer' . $suffix]) && $_REQUEST['w_kontonummer' . $suffix] != '') {
      
      $_REQUEST['w_kontonummer' . $suffix] = str_replace(' ', '', $_REQUEST['w_kontonummer' . $suffix]);

      $kto = $_REQUEST['w_kontonummer' . $suffix];
      
      if (preg_match('/[^0-9]/', $kto)) {
        return false;
      }
      
      
      if (StringOperations::strlen($kto) < 6 || StringOperations::strlen($kto) > 23) {
        return false;
      }
    }

    return true;
  }
}