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


class DruckGrafikKW extends DruckGrafik
{
  
  public $kwary;
  
  public $timeary;

  
  public function _prepare($pKnr = '')
  {
    parent::_prepare($pKnr); 
    
    $kwnr = $this->settings->kalenderwoche->kwnr;
    $kwjahr = $this->settings->kalenderwoche->kwjahr;
    $this->kwary = KalenderwochenAPI::getKalenderWochebyNr($kwjahr, $kwnr);
    
    $this->_getTimeary();


    if ($this->settings->kalenderwoche->kwnr != '') {
      $kwnr = $this->settings->kalenderwoche->kwnr;
      $kwjahr = $this->settings->kalenderwoche->kwjahr;
      $kwary = KalenderwochenAPI::getKalenderWochebyNr($kwjahr, $kwnr);

      $this->kurstage->von = $kwary['Mo'];
      $this->kurstage->bis = $kwary['So'];
    }
  }

  

  
  public function _getTimeary()
  {
  }

  
  public function getKurstageEnabled()
  {
    return false;
  }

  
  public function _getKalenderWochenplan($changeHL = '')
  {
    
    if ($changeHL) {
      return '';
    }
    $kwjahr = $this->settings->kalenderwoche->kwjahr;
    $kwnr = $this->settings->kalenderwoche->kwnr;
    $seljahropt = $this->_getSelOptionKWJahr($kwjahr);
    $selnropt = $this->_getSelOptionKWnr($kwnr);
    
    $indiv = " onchange = 'getDateValuesFromKalWoInput(\"kwnr\",\"kwjahr\",\"kt_von\",\"kt_bis\",\"datbereich_von\",\"datbereich_bis\",0)'";
    $result = '<fieldset id="wochenplan"><legend>Wochenplan</legend>';
    $result .= $this->getKWblockanf();
    $result .= "<div class = 'kwnr'>"
     . '<label id="l_kwnr" for="kwnr">Kalenderwoche:</label>'
     . $this->htmlop->CreateSelectTag($selnropt, 'kwnr', '', 'kwnr', 1, $indiv, false, $changeHL) . '</div>';
    $result .= "<div class = 'kwjahr'>"
     . '<label id="l_kwjahr" for="kwjahr">Kalenderjahr:</label>'
     . $this->htmlop->CreateSelectTag($seljahropt, 'kwjahr', '', 'kwjahr', 1, $indiv, false, $changeHL) . '</div>';

    $datary = KalenderwochenAPI::getKalenderWochebyNr($kwjahr, $kwnr);
    $datvon = $datary['Mo'];
    $datbis = $datary['So'];

    
    
    $result .= $this->htmlop->CreateInputTag('kt_von', 'hidden', 'kt_von', '', $datvon, '', false, false, 10);
    $result .= $this->htmlop->CreateInputTag('kt_bis', 'hidden', 'kt_bis', '', $datbis, '', false, false, 10);

    
    $vonfield = $this->htmlop->CreateInputTag('datbereich_von', 'text', 'datbereich_von', 'date', $datvon, '', false, true, 10);
    $bisfield = $this->htmlop->CreateInputTag('datbereich_bis', 'text', 'datbereich_bis', 'date', $datbis, '', false, true, 10);
    $result .= "<div class ='datumsbereich'>" . "<div class='dattext'>Datum</div>"
                 . "<div class = 'datbereich_vonbis'>"
                    . "<div class = 'datbereich_von'>von:$vonfield</div>"
                    . "<div class = 'datbereich_bis'>bis:$bisfield</div>"
                  . '</div>'
                . '</div>';
    $result .= $this->getKWblockend();
    $result .= $this->_getZeitpunkteab();

    $result .= '</fieldset>';

    return $result;
  }

  

  
  public function getKWblockanf()
  {
    return '';
  }

  
  public function getKWblockend()
  {
    return '';
  }

  
  public function _getZeitpunkteab()
  {
    return '';
  }

  
  public function _getSelOptionZeitpkt($pZeitpkt)
  {
    $optary = array();
    $dtop = new DateTimeOperations();
    for ($i = 0;$i < 96;$i++) {
      $zeitstr = $dtop->getFloatasTimeStringQuarter((float)$i / 4);
      if (StringOperations::strlen($zeitstr) < 5) {
        $zeitstr = '0' . $zeitstr;
      }
      $selected = ($pZeitpkt == $zeitstr ? 'selected' : '');
      $optary[$i + 1] = "<option $selected value=$zeitstr>$zeitstr</option>";
    }

    return $optary;
  }

  
  public function _getSelOptionKWJahr($pKwjahr)
  {
    $optary = array();
    for ($i = 2000;$i < 2100;$i++) {
      $selected = ($pKwjahr == $i ? 'selected' : '');
      $optary[] = '<option value=' . $i . ' ' . $selected . '>' . $i . '</option>';
    }

    return $optary;
  }

  
  public function _getSelOptionKWnr($pKwnr)
  {
    $optary = array();
    for ($i = 1;$i <= 53;$i++) {
      $selected = ($pKwnr == $i ? 'selected' : '');
      $optary[] = "<option $selected value=$i>$i</option>";
    }

    return $optary;
  }

  
  public function _getSelOptionKWMonat($pKwmonat)
  {
    $optary = array();
    for ($i = 1;$i <= 12;$i++) {
      $monat = $this->dtop->getNameofMonth($i);
      $selected = ($pKwmonat == $monat ? 'selected' : '');
      $optary[] = '<option value=' . $i . ' ' . $selected . '>' . CleanOperations::cleanStringForHtml($monat) . '</option>';
    }

    return $optary;
  }

  
  public function _getZeitbereich($changeHL = '')
  {
    return '';
  }

  
  public function _getWochentage()
  {
    return '';
  }

  
  public function _getEndbemerkung()
  {
    return '';
  }

  
  public function _getKurstage($changeHL)
  {
    return '';
  }

  
  public function loadSettings()
  {
    parent::loadSettings();
    
    $datum = $this->dtop->getDateNow();
    $kwjahr = $this->dtop->getYearFromValidDate($datum);
    $monat = (int)StringOperations::substr($datum, 3, 2);
    $tag = (int)StringOperations::substr($datum, 0, 2);
    $kwobj = KalenderwochenAPI::getKalenderWochenNrfromDate($tag, $monat, $kwjahr);
    $kwjahr = $kwobj->kwjahr;
    $kwnr = $kwobj->kwnr;
    $kwmonat = $this->dtop->getNameofMonth($monat);
    $auswahl = 'kw';
    $this->settings->_getKalenderwochenSettings($kwjahr, $kwnr, $kwmonat, $auswahl);
  }

  
  
  public function isWochenplanUsed()
  {
    return true;
  }
}