<?php
/**
 * @copyright (c) Kufer Software GmbH, Oderstraße 7, D-84453 Mühldorf
 */

class ContentNavWssTools extends ContentSubNavigation
{
  public function getNavItems()
  {
    $items = array();
    $subitems = $this->getItemsDozenten();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Dozenten', $subitems);
    }
    $subitems = $this->getItemsTeilnehmer();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Teilnehmer', $subitems);
    }
    $subitems = $this->getItemsFirmen();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Firmen', $subitems);
    }
    $subitems = $this->getItemsHausmeister();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Hausmeister', $subitems);
    }
    $subitems = $this->getItemsMitarbeiter();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Mitarbeiter', $subitems);
    }
    $subitems = $this->getItemsVeranstalter();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Veranstalter', $subitems);
    }
    $subitems = $this->getItemsAlleNutzer();
    if (count($subitems) > 0) {
      $items[] = $this->getNavGroup('Für alle Nutzer', $subitems);
    }

    return $items;
  }

  
  private function getNavItem($name, $sightId, ?string $hardlink = null)
  {
    $item = new NavItem();
    $item->name = $name;
    $item->objectName = 'ContentWssTools';
    $item->objectParam = array('name' => $name, 'sightId' => $sightId);
    $item->hardlink = $hardlink ?? ('wss' . $sightId);

    return $item;
  }

  private function getNavGroup($name, $subitems)
  {
    $item = new NavItem();
    $item->name = $name;
    $item->objectName = 'ContentSettingsNavTools';
    $item->subItems = $subitems;

    return $item;
  }

  private function getItemsDozenten()
  {
    $items = array();
    if ($this->isToolAllowed(1)) {
      $items[] = $this->getNavGroup('Kursübersicht', $this->getItemsDozentenKursuebersicht());
    }
    if ($this->isToolAllowed(3)) {
      $items[] = $this->getNavGroup('Kursplanung', $this->getItemsDozentenKursplanung());
    }
    if ($this->isToolAllowed(7)) {
      $items[] = $this->getNavGroup('Lehrplanübersicht', $this->getItemsDozentenLehrplan());
    }
    if ($this->isToolAllowed(18)) {
      $items[] = $this->getNavGroup('Online-Klassenbuch', $this->getItemsDozentenAnwesenheitsplanung());
    }
    if ($this->isToolAllowed(10)) {
      $items[] = $this->getNavGroup('Kursbewerbung', $this->getItemsDozentenKursbewerbung());
    }
    if ($this->isToolAllowed(37)) {
      $items[] = $this->getNavGroup('Dozentenportrait', $this->getItemsDozentenPortrait());
    }
    if ($this->isToolAllowed(\ToolsAPI::TOOL_DOZ_WUNSCHTERMINE)) {
      $items[] = $this->getNavGroup(\ToolsAPI::getMenuTitle(\ToolsAPI::TOOL_DOZ_WUNSCHTERMINE), $this->getItemsDozentenWunschtermine());
    }
    if ($this->isToolAllowed(\ToolsAPI::TOOL_DOZ_URLAUBE)) {
      $items[] = $this->getNavGroup(\ToolsAPI::getMenuTitle(\ToolsAPI::TOOL_DOZ_URLAUBE), $this->getItemsDozentenUrlaube());
    }
    if ($this->isToolAllowed(\ToolsAPI::TOOL_DOZ_SAMMELVERTRAEGE)) {
      $items[] = $this->getNavGroup(\ToolsAPI::getMenuTitle(\ToolsAPI::TOOL_DOZ_SAMMELVERTRAEGE), $this->getItemsDozentenSammelVertraege());
    }

    return $items;
  }

  private function getItemsDozentenKursuebersicht()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '1');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsDozentenKursuebersichtKursdetails());
    if (\Kufer\Web\KuferTools\Dozent\KursUebersicht\Detailsreiter\Termine\BerichtAbgeben\KurstagBerichtAbgebenUtils::hasAccessToBerichtAbgebenAllgemein()) {
      $items[] = $this->getNavItem('Bericht - Dozentenauswahl', '812');
    }

    $items[] = $this->getNavItem('Termine bearbeiten', '810');
    $items[] = $this->getNavItem('Belegung bearbeiten', '679');
    $items[] = $this->getNavGroup('Belegungen bearbeiten', $this->getItemsDozentenKursuebersichtBelegungenBearbeiten());

    return $items;
  }

  private function getItemsDozentenKursuebersichtBelegungenBearbeiten(): array
  {
    return array(
      $this->getNavItem('Belegungen bearbeiten - Info', '773'),
      $this->getNavItem('Belegungen bearbeiten - Formular', '774')
    );
  }

  private function getItemsDozentenKursuebersichtKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '2');
    $items[] = $this->getNavItem('Reiter Teilnehmer', '3');
    $items[] = $this->getNavItem('Reiter Termine', '4');
    $items[] = $this->getNavItem('Reiter Honorar', '321');
    $items[] = $this->getNavItem('Reiter Downloads', '318');
    $items[] = $this->getNavItem('Reiter Material', '552');
    $items[] = $this->getNavItem('Reiter E-Mails', '802');

    return $items;
  }

  private function getItemsDozentenKursplanung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '9');
    $items[] = $this->getNavItem('Kurs bearbeiten', '11');
    $items[] = $this->getNavItem('Kursvorschlag', '282');
    $items[] = $this->getNavItem('Kurskopie', '280');
    $items[] = $this->getNavItem('Kurstageübersicht', '10');
    $items[] = $this->getNavItem('Kurstag bearbeiten', '281');

    return $items;
  }

  private function getItemsDozentenLehrplan()
  {
    $items = array();
    $items[] = $this->getNavItem('Kurstageübersicht', '23');

    return $items;
  }

  private function getItemsDozentenKursbewerbung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '98');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsDozentenKursbewerbungKursdetails());
    $items[] = $this->getNavItem('Bewerbungsformular', '582');

    return $items;
  }

  private function getItemsDozentenKursbewerbungKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '578');
    $items[] = $this->getNavItem('Reiter Termine', '580');

    return $items;
  }

  private function getItemsDozentenAnwesenheitsplanung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kurstageübersicht', '291');

    return $items;
  }

  private function getItemsDozentenPortrait()
  {
    $items = array();
    $items[] = $this->getNavItem('Dozentenportrait', '457');
    $items[] = $this->getNavItem('Dozentenportrait bearbeiten', '651');

    return $items;
  }

  private function getItemsDozentenWunschtermine(): array
  {
    return array(
      $this->getNavItem('Übersicht', 796),
      $this->getNavItem('Wunschtermin Bearbeiten', 798),
      $this->getNavItem('Wunschtermin Erstellen', 799)
    );
  }

  private function getItemsDozentenUrlaube(): array
  {
    return array(
      $this->getNavItem('Übersicht', 797),
      $this->getNavItem('Urlaub bearbeiten', 800),
    );
  }

  private function getItemsDozentenSammelVertraege(): array
  {
    return array(
      $this->getNavItem('Übersicht', 803),
      $this->getNavItem('Übersicht alte Verträge', 804),
    );
  }

  private function getItemsTeilnehmer()
  {
    $items = array();
    if ($this->isToolAllowed(14)) {
      $items[] = $this->getNavGroup('Neue Anmeldung', $this->getItemsTeilnehmerNeueAnmeldung());
    }
    if ($this->isToolAllowed(20)) {
      $items[] = $this->getNavGroup('Belegte Kurse', $this->getItemsTeilnehmerBelegteKurse());
    }
    if ($this->isToolAllowed(40)) {
      $items[] = $this->getNavGroup('Visitenkarten', $this->getItemsTeilnehmerVisitenkarten());
    }
    if ($this->isToolAllowed(45)) {
      $items[] = $this->getNavGroup('Bayerischer Apothekertag', $this->getItemsBayerischerApothekertag());
    }
    if ($this->isToolAllowed(47)) {
      $items[] = $this->getNavGroup('Bayerischer Apothekertag für Ehrengäste', $this->getItemsBayerischerApothekertagFuerEhrengaeste());
    }
    if ($this->isToolAllowed(48)) {
      $items[] = $this->getNavGroup('Bayerischer Apothekertag für Studenten', $this->getItemsBayerischerApothekertagFuerStudenten());
    }
    if ($this->isToolAllowed(42)) {
      $items[] = $this->getNavGroup('Teilnehmerübersicht für Bildungsverantwortliche', $this->getItemsTeilnehmerBildungsverantwortliche());
    }

    return $items;
  }

  private function getItemsBayerischerApothekertag()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '550');

    return $items;
  }

  private function getItemsBayerischerApothekertagFuerEhrengaeste()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '558');
    $items[] = $this->getNavItem('Anmeldeformular', '559');

    return $items;
  }

  private function getItemsBayerischerApothekertagFuerStudenten()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '563');
    $items[] = $this->getNavItem('Anmeldeformular', '565');

    return $items;
  }

  private function getItemsTeilnehmerBildungsverantwortliche()
  {
    $items = array();
    $items[] = $this->getNavItem('Info', '528');

    return $items;
  }

  private function getItemsTeilnehmerVisitenkarten()
  {
    $items = array();
    $items[] = $this->getNavItem('Visitenkartenübersicht', '495');
    $items[] = $this->getNavItem('Visitenkartendetails', '496');

    return $items;
  }

  private function getItemsTeilnehmerNeueAnmeldung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '94');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsTeilnehmerNeueAnmeldungKursDetails());

    return $items;
  }

  private function getItemsTeilnehmerNeueAnmeldungKursDetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '95');
    $items[] = $this->getNavItem('Reiter Termine', '96');
    $items[] = $this->getNavItem('Reiter Downloads', '329');

    return $items;
  }

  private function getItemsTeilnehmerBelegteKurse()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '293');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsTeilnehmerTeilnehmerUebersichtKursdetails());
    $items[] = $this->getNavItem('Termineübersicht', '300');

    return $items;
  }

  private function getItemsTeilnehmerTeilnehmerUebersichtKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Belegungsdetails', '294');
    $items[] = $this->getNavItem('Reiter Kursdetails', '295');
    $items[] = $this->getNavItem('Reiter Termine', '297');
    $items[] = $this->getNavitem('Reiter Anwesenheiten', '299');
    $items[] = $this->getNavItem('Reiter Downloads', '303');
    $items[] = $this->getNavItem('Reiter Journal', '298');
    $items[] = $this->getNavItem('Belegungsdetails bearbeiten', '439');

    return $items;
  }

  private function getItemsFirmen()
  {
    $items = array();
    if ($this->isToolAllowed(21)) {
      $items[] = $this->getNavGroup('Kursübersicht', $this->getItemsFirmenKursuebersicht());
    }
    if ($this->isToolAllowed(22)) {
      $items[] = $this->getNavGroup('Mitarbeiterübersicht', $this->getItemsMitarbeiteruebersicht());
    }
    if ($this->isToolAllowed(24)) {
      $items[] = $this->getNavGroup('Anmeldung buchen', $this->getItemsFirmenAnmeldungBuchen());
    }
    if ($this->isToolAllowed(46)) {
      $items[] = $this->getNavGroup('Bayerischer Apothekertag', $this->getItemsBayerischerApothekertagFirma());
    }

    return $items;
  }

  private function getItemsBayerischerApothekertagFirma()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '555');

    return $items;
  }

  private function getItemsFirmenKursuebersicht()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '305');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsFirmenKursuebersichtKursdetails());
    $items[] = $this->getNavItem('Termineübersicht', '313');

    return $items;
  }

  private function getItemsMitarbeiteruebersicht()
  {
    $items = array();
    $items[] = $this->getNavItem('Neuer Teilnehmer', '743');
    $items[] = $this->getNavItem('Ausbilderauswahl', '746');

    return $items;
  }

  private function getItemsFirmenKursuebersichtKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter 1. Seite', '306');
    $items[] = $this->getNavItem('Reiter Kursdetails', '307');
    $items[] = $this->getNavItem('Reiter Termine', '309');
    $items[] = $this->getNavItem('Reiter Mitarbeiter', '771');
    $items[] = $this->getNavItem('Reiter Downloads', '310');
    $items[] = $this->getNavItem('Reiter Journal', '311');

    return $items;
  }

  private function getItemsFirmenAnmeldungBuchen()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '322');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsFirmenAnmeldungBuchenKursdetails());

    return $items;
  }

  private function getItemsFirmenAnmeldungBuchenKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '323');
    $items[] = $this->getNavItem('Reiter Termine', '324');
    $items[] = $this->getNavItem('Reiter Downloads', '325');

    return $items;
  }

  private function getItemsHausmeister()
  {
    $items = array();
    if ($this->isToolAllowed(32)) {
      $items[] = $this->getNavGroup('Kursübersicht', $this->getItemsHausmeisterKursuebersicht());
    }
    if ($this->isToolAllowed(5)) {
      $items[] = $this->getNavGroup('Raumbelegung', $this->getItemsHausmeisterRaumbelegung());
    }

    return $items;
  }

  private function getItemsHausmeisterKursuebersicht()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '371');
    
    $items[] = $this->getNavGroup('Reiter', $this->getItemsHausmeisterRaumbelegungKursdetails());

    return $items;
  }

  private function getItemsHausmeisterRaumbelegung()
  {
    $items = array();
    $items[] = $this->getNavItem('Raumbelegung', '15');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsHausmeisterRaumbelegungRaumdetails());
    $items[] = $this->getNavItem('Medienübersicht', '561');

    return $items;
  }

  private function getItemsHausmeisterRaumbelegungKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '34');
    $items[] = $this->getNavItem('Reiter Termine', '140');
    $items[] = $this->getNavItem('Reiter Teilnehmer', '134');
    $items[] = $this->getNavItem('Reiter Dozenten', '135');
    $items[] = $this->getNavItem('Reiter Material', '554');

    return $items;
  }

  private function getItemsHausmeisterRaumbelegungRaumdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Belegung', '16');
    $items[] = $this->getNavItem('Reiter Kurse', '258');
    $items[] = $this->getNavItem('Reiter Raumdetails', '17');

    return $items;
  }

  private function getItemsMitarbeiter()
  {
    $items = array();
    if ($this->isToolAllowed(8)) {
      $items[] = $this->getNavGroup('Kursplanung', $this->getItemsMitarbeiterKursplanung());
    }
    if ($this->isToolAllowed(41)) {
      $items[] = $this->getNavGroup('Kursvorschlag', $this->getItemsMitarbeiterKursvorschlag());
    }
    if ($this->isToolAllowed(6)) {
      $items[] = $this->getNavGroup('Anmeldung', $this->getItemsMitarbeiterAnmeldung());
    }
    if ($this->isToolAllowed(11)) {
      $items[] = $this->getNavGroup('Teilnehmerübersicht', $this->getItemsMitarbeiterTeilnehmerinfo());
    }
    if ($this->isToolAllowed(12)) {
      $items[] = $this->getNavGroup('Dozentenübersicht', $this->getItemsMitarbeiterDozenteninfo());
    }
    if ($this->isToolAllowed(33)) {
      $items[] = $this->getNavGroup('Adressübersicht', $this->getItemsMitarbeiterAdressinfo());
    }
    if ($this->isToolAllowed(34)) {
      $items[] = $this->getNavGroup('Raumbelegung', $this->getItemsMitarbeiterRaumbelegung());
    }

    return $items;
  }

  private function getItemsVeranstalter()
  {
    $items = array();
    if ($this->isToolAllowed(51)) {
      $items[] = $this->getNavGroup('Kursübersicht', $this->getItemsVeranstalterKursuebersicht());
    }
    if ($this->isToolAllowed(52)) {
      $items[] = $this->getNavGroup('Kursvorschlag', $this->getItemsVeranstalterKursvorschlag());
    }
    if ($this->isToolAllowed(53)) {
      $items[] = $this->getNavGroup('Anmeldung', $this->getItemsVeranstalterAnmeldung());
    }
    if ($this->isToolAllowed(54)) {
      $items[] = $this->getNavGroup('Kurse anderer Veranstalter', $this->getItemsKursuebersichtAndererVeranstalter());
    }
    if ($this->isToolAllowed(55)) {
      $items[] = $this->getNavGroup('Dozentenübersicht', $this->getItemsVeranstalterDozenteninfo());
    }
    if ($this->isToolAllowed(58)) {
      $items[] = $this->getNavGroup('Teilnehmerübersicht', $this->getItemsVeranstalterTeilnehmerinfo());
    }
    if ($this->isToolAllowed(60)) {
      $items[] = $this->getNavGroup('Leiter und Mitarbeiter anderer Veranstalter', $this->getItemsLeiterMitarbeiterAndererVeranstalter());
    }
    if ($this->isToolAllowed(61)) {
      $items[] = $this->getNavGroup('Kursübersicht der Mitarbeiter', $this->getItemsVeranstalterKursuebersichtDerMitarbeiter());
    }

    return $items;
  }

  private function getItemsVeranstalterKursuebersichtDerMitarbeiter()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '721');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsVeranstalterKursuebersichtDerMitarbeiterKursdetails());

    return $items;
  }

  private function getItemsVeranstalterKursuebersichtDerMitarbeiterKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '724');
    $items[] = $this->getNavItem('Reiter Termine', '726');
    $items[] = $this->getNavItem('Reiter Downloads', '728');

    return $items;
  }

  private function getItemsLeiterMitarbeiterAndererVeranstalter()
  {
    $items = array();
    $items[] = $this->getNavItem('Dozentenübersicht', '696');
    $items[] = $this->getNavItem('Reiter Dozentendetails', '697');

    return $items;
  }

  private function getItemsVeranstalterDozenteninfo()
  {
    $items = array();
    $items[] = $this->getNavItem('Dozentenübersicht', '652');
    $items[] = $this->getNavItem('Dozentendetails bearbeiten', '653');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsVeranstalterDozenteninfoReiter());

    return $items;
  }

  private function getItemsVeranstalterDozenteninfoReiter()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Dozentendetails', '655');
    $items[] = $this->getNavItem('Reiter Kurse', '656');

    return $items;
  }

  private function getItemsVeranstalterKursuebersicht()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '622');
    $items[] = $this->getNavItem('Kurs bearbeiten', '621');
    $items[] = $this->getNavItem('Kursplanung', '685');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsVeranstalterKursuebersichtKursdetails());
    $items[] = $this->getNavItem('Termine bearbeiten', '633');
    $items[] = $this->getNavItem('Belegung bearbeiten', '618');
    $items[] = $this->getNavGroup('Belegungen bearbeiten', $this->getItemsVeranstalterKursuebersichtBelegungenBearbeiten());
    $items[] = $this->getNavItem('Neuen Dozenten anlegen', '619');

    return $items;
  }

  private function getItemsVeranstalterKursuebersichtBelegungenBearbeiten(): array
  {
    return array(
      $this->getNavItem('Belegungen bearbeiten - Info', '775'),
      $this->getNavItem('Belegungen bearbeiten - Formular', '776')
    );
  }

  private function getItemsKursuebersichtAndererVeranstalter()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '639');
    $items[] = $this->getNavItem('Reiter Kursdetails', '641');
    $items[] = $this->getNavItem('Reiter Termine', '643');

    return $items;
  }

  private function getItemsVeranstalterKursuebersichtKursdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '628');
    $items[] = $this->getNavItem('Reiter Termine', '631');
    $items[] = $this->getNavItem('Reiter Teilnehmer', '630');
    $items[] = $this->getNavItem('Reiter Honorar', '626');
    $items[] = $this->getNavItem('Reiter Dozenten', '624');
    $items[] = $this->getNavItem('Reiter Downloads', '623');
    $items[] = $this->getNavItem('Reiter Material', '629');

    return $items;
  }

  private function getItemsVeranstalterKursvorschlag()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursvorschlag', '616');
    $items[] = $this->getNavItem('Kursvorschlag nachreichen', '702');
    $items[] = $this->getNavItem('Kurskopie', '615');
    $items[] = $this->getNavItem('Dozentenauswahl', '701');
    $items[] = $this->getNavItem('Kooperationspartnerauswahl', '742');
    $items[] = $this->getNavItem('Kursortauswahl', '738');

    return $items;
  }

  private function getItemsVeranstalterAnmeldung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '635');
    $items[] = $this->getNavItem('Teilnehmerübersicht', '636');
    $items[] = $this->getNavItem('Neuer Teilnehmer', '637');

    return $items;
  }

  private function getItemsMitarbeiterKursplanung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '26');
    $items[] = $this->getNavItem('Kurs bearbeiten', '432');
    $items[] = $this->getNavItem('Kursplanung', '668');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsMitarbeiterKursplanungMitarbeiterdetails());
    $items[] = $this->getNavItem('Termine bearbeiten', '378');
    $items[] = $this->getNavItem('Belegung bearbeiten', '458');
    $items[] = $this->getNavGroup('Belegungen bearbeiten', $this->getItemsMitarbeiterKursplanungBelegungenBearbeiten());
    $items[] = $this->getNavItem('Neuen Dozenten anlegen', '379');

    return $items;
  }

  private function getItemsMitarbeiterKursplanungBelegungenBearbeiten(): array
  {
    return array(
      $this->getNavItem('Belegungen bearbeiten - Info', '777'),
      $this->getNavItem('Belegungen bearbeiten - Formular', '778')
    );
  }

  private function getItemsMitarbeiterKursplanungMitarbeiterdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Kursdetails', '27');
    $items[] = $this->getNavItem('Reiter Termine', '28');
    $items[] = $this->getNavItem('Reiter Teilnehmer', '242');
    $items[] = $this->getNavItem('Reiter Honorar', '29');
    $items[] = $this->getNavItem('Reiter Dozenten', '245');
    $items[] = $this->getNavItem('Reiter Downloads', '375');
    $items[] = $this->getNavItem('Reiter Material', '553');
    $items[] = $this->getNavItem('Reiter E-Mails', '759');

    return $items;
  }

  private function getItemsMitarbeiterKursvorschlag()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursvorschlag Übersicht', '811');
    $items[] = $this->getNavItem('Kursvorschlag', '515');
    $items[] = $this->getNavItem('Kurskopie', '516');

    return $items;
  }

  private function getItemsMitarbeiterAnmeldung()
  {
    $items = array();
    $items[] = $this->getNavItem('Kursübersicht', '19');
    $items[] = $this->getNavItem('Teilnehmerübersicht', '21');

    return $items;
  }

  private function getItemsMitarbeiterTeilnehmerinfo()
  {
    $items = array();
    $items[] = $this->getNavItem('Teilnehmerübersicht', '41');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsMitarbeiterTeilnehmerinfoReiter());

    return $items;
  }

  private function getItemsMitarbeiterTeilnehmerinfoReiter()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Teilnehmerdetails', '42');
    $items[] = $this->getNavItem('Reiter belegte Kurse', '43');
    $items[] = $this->getNavGroup('Reiter Qualifikationen', $this->getItemsMitarbeiterTeilnehmerinfoReiterQualifikationen());
    $items[] = $this->getNavItem('Reiter Bankverbindungen', '435');

    return $items;
  }

  private function getItemsMitarbeiterTeilnehmerinfoReiterQualifikationen()
  {
    $items = array();
    $items[] = $this->getNavItem('Teilnehmerausbildung', '259');
    $items[] = $this->getNavItem('Teilnehmerwerdegang', '260');

    return $items;
  }

  private function getItemsVeranstalterTeilnehmerinfo()
  {
    $items = array();
    $items[] = $this->getNavItem('Teilnehmerübersicht', '686');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsVeranstalterTeilnehmerinfoReiter());

    return $items;
  }

  private function getItemsVeranstalterTeilnehmerinfoReiter()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Teilnehmerdetails', '690');
    $items[] = $this->getNavItem('Reiter belegte Kurse', '691');
    $items[] = $this->getNavGroup('Reiter Qualifikationen', $this->getItemsVeranstalterTeilnehmerinfoReiterQualifikationen());
    $items[] = $this->getNavItem('Reiter Bankverbindungen', '692');

    return $items;
  }

  private function getItemsVeranstalterTeilnehmerinfoReiterQualifikationen()
  {
    $items = array();
    $items[] = $this->getNavItem('Ausbildung', '688');
    $items[] = $this->getNavItem('Werdegang', '689');

    return $items;
  }

  private function getItemsMitarbeiterDozenteninfo()
  {
    $items = array();
    $items[] = $this->getNavItem('Dozentenübersicht', '54');
    $items[] = $this->getNavItem('Dozentendetails bearbeiten', '402');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsMitarbeiterDozenteninfoReiter());

    return $items;
  }

  private function getItemsMitarbeiterDozenteninfoReiter()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Dozentendetails', '57');
    $items[] = $this->getNavItem('Reiter Kurse', '399');

    return $items;
  }

  private function getItemsMitarbeiterAdressinfo()
  {
    $items = array();
    $items[] = $this->getNavItem('Adressübersicht', '55');
    $items[] = $this->getNavItem('Reiter Adressdetails', '58');

    return $items;
  }

  private function getItemsMitarbeiterRaumbelegung()
  {
    $items = array();
    $items[] = $this->getNavItem('Raumübersicht', '415');
    $items[] = $this->getNavGroup('Reiter', $this->getItemsMitarbeiterRaumbelegungRaumdetails());

    return $items;
  }

  private function getItemsMitarbeiterRaumbelegungRaumdetails()
  {
    $items = array();
    $items[] = $this->getNavItem('Reiter Raumbelegung', '418');
    $items[] = $this->getNavItem('Reiter Kurse', '420');
    $items[] = $this->getNavItem('Reiter Raumdetails', '419');

    return $items;
  }

  private function getItemsAlleNutzer()
  {
    $items = array();
    if ($this->isToolAllowed(13)) {
      $items[] = $this->getNavGroup('Persönliche Daten', $this->getItemsAlleNutzerPersDaten());
    }
    if ($this->isToolAllowed(19)) {
      $items[] = $this->getNavGroup('Was ist heute wo', $this->getItemsAlleNutzerWasIstWo());
    }

    return $items;
  }

  private function getItemsAlleNutzerPersDaten()
  {
    $items = array();
    $items[] = $this->getNavItem('Dozenten', '90');
    $items[] = $this->getNavItem('Hausmeister', '91');
    $items[] = $this->getNavItem('Teilnehmer', '89');
    $items[] = $this->getNavItem('Mitarbeiter', '92');

    return $items;
  }

  private function getItemsAlleNutzerWasIstWo()
  {
    $items = array();
    $items[] = $this->getNavItem('Terminübersicht', '292');

    return $items;
  }
}