/**
 * Stellt Javaskript Funktionen für die Ausgabe der Raumgrafiken in den Tools 
 * Raumbelegung Mitarbeiter (tool 34) und Raumbelegung Hausmeister (Tool 5) zur Verfügung
 * Funktione: Erzeugen des Links 'Liste generieren' für die Ausgabe im Quer bzw. Hochformat
 * für die Gebäude- bzw. Raumgrafik; Erzeugen der links für die Auswahl des gewünschten Tags
 * in der Gebäude- bzw. Raumgrafik
 */
registerNamespace("KuferTools.Grafik");
if (typeof KuferTools.Grafik === 'undefined' ) KuferTools.Grafik = {};


$(document).ready(function() {
  
  var $starttime = $('#starttime');
  $starttime.timepicker({ });
  var $endtime = $('#endtime');
  $endtime.timepicker({ });
 
  //Klickhandler zum Ausgeben einer Gebäude oder Raumgrafik (im Hoch oder Querformat)
  $('#generateList').click(function(e) {
    
   // var gebaeude = "Gymnasium";
    var gebaeude = KuferTools.Grafik.GebaeudeUrlParam;
    //Formatwert für den angeklickte Radiobutton: 1 für hoch, 2 für quer
    var $format = $('.radiobuttons').find('[name=hochquer]:checked');
    var formatwert = $format.val();
    //ist besser als 
      //  $formatRB = $('.radiobuttons').find('[name=hochquer]');
      // if ($formatRB[0].checked === true)   formatwert = 1;
    var link = 'usertools.php?' +  gebaeude + 'tool_id=' + KuferTools.ToolId + '&toolsection_id=' +
              KuferTools.ToolSectionId +'&showGraphic=true&form=' + formatwert;
            
    //öffnet sofort ein Windows-Fenster  
    // showGraphicForGebaeude(link,'self');
    KuferTools.Grafik.showGraphicForGebaeude(link,'self');
   //false: Verhindert die Weiterverarbeitung des Formulars; somit kann die durch obigen Link erzeugte Grafik
   // (im Hoch bzw. Querformat) auch ausgegeben werden
   return false;
    
  }); //end Klickhandler für Gebäudegrafik
  
  
  //Klickhandler zum Auswählen des richtigen Tages in der Gebäudegrafik
  $('#wovor, #worueck, #tagvor, #tagrueck').click(function(e) {
    var dateForm = '';
    $this = $(this);
    switch ($this.prop('id')) {
      case 'wovor':
        dateForm = KuferTools.Grafik.Datum.WoVor;
        break;
      case 'worueck':
        dateForm = KuferTools.Grafik.Datum.WoZur;
        break;
      case 'tagvor':
        dateForm = KuferTools.Grafik.Datum.TagVor;
        break;
      case 'tagrueck':
        dateForm = KuferTools.Grafik.Datum.TagZur;
        break;
    }

    var gebaeude = KuferTools.Grafik.GebaeudeUrlParam;
    //Formatwert für den angeklickte Radiobutton: 1 für hoch, 2 für quer
    
    //hier muss der Formatwert aus dem Get Parameter verwendet werden; die Grafik erscheint nämlich beim Blättern nur wenn form=1 
    //bzw. form=2 im Link angegeben ist; ansonsten wird ohne Grafikanzeige auf den ausgewählten Tag weitergeblättert
    var formatStr = '';
    if (!isempty(KuferTools.Grafik.Format))
      formatStr = '&form='+ KuferTools.Grafik.Format;
   
    var link = 'usertools.php?' +  gebaeude + 'tool_id=' + KuferTools.ToolId + '&toolsection_id=' +
              KuferTools.ToolSectionId + '&dateForm=' + dateForm + formatStr;
    
    KuferTools.Grafik.showGraphicForGebaeude(link,'self');
   //false: Verhindert die Weiterverarbeitung des Formulars; somit kann die durch obigen Link erzeugte Grafik
   // (im Hoch bzw. Querformat) auch ausgegeben werden
   return false;
   
  }); //end Klickhandler zum Auswählen des Tages
  
  
  $('#grafikhoch, #grafikquer').click(function(e) {
    $this = $(this);
    var formatwert = '';
    // $this.prop('id') ist  grafikhoch oder grafikquer
    switch ($this.prop('id')) {
      case 'grafikhoch':
        formatwert =1;
        break;
      case 'grafikquer':
        formatwert =2;
        break;
    }

    var link = 'usertools.php?nr=' +  KuferTools.Grafik.RaumNr + '&tool_id=' + KuferTools.ToolId + '&toolsection_id=' +
              KuferTools.ToolSectionId + '&showGraphic=true&form=' + formatwert;
    
    KuferTools.Grafik.decideListOrGraphic(link,'self',$starttime,$endtime);
    return false
  });
  
  
  //Klickhandler zum Auswählen des richtigen Datumszeitraums in der Raumgrafik
  $('#heute, #morgen, #diewoche, #diemonat, #naewoche, #naemonat').click(function(e) {
    var dateForm = '';
    $this = $(this);
    switch ($this.prop('id')) {
      case 'heute':
        dateForm = KuferTools.Grafik.Zeitraum.Heute;
        break;
      case 'morgen':
        dateForm = KuferTools.Grafik.Zeitraum.Morgen;
        break;
      case 'diewoche':
        dateForm = KuferTools.Grafik.Zeitraum.DieWoche;
        break;
      case 'naewoche':
        dateForm = KuferTools.Grafik.Zeitraum.NaeWoche;
        break;
      case 'diemonat':
        dateForm = KuferTools.Grafik.Zeitraum.DieMonat;
        break;
      case 'naemonat':
        dateForm = KuferTools.Grafik.Zeitraum.NaeMonat;
        break;
    }
    
    //Formatwert für den angeklickte Radiobutton: 1 für hoch, 2 für quer
    //hier muss der Formatwert aus dem Get Parameter verwendet werden; die Grafik erscheint nämlich beim Blättern nur wenn form=1 
    //bzw. form=2 im Link angegeben ist; ansonsten wird ohne Grafikanzeige auf den ausgewählten Zeitbereich weitergeblättert
    var formatStr = '';
    if (!isempty(KuferTools.Grafik.Format))
      formatStr = '&form='+ KuferTools.Grafik.Format;
   
   var link = 'usertools.php?nr=' +  KuferTools.Grafik.RaumNr + '&tool_id=' + KuferTools.ToolId + '&toolsection_id=' +
              KuferTools.ToolSectionId + '&showGraphic=true' + '&dateForm=' + dateForm + formatStr;
    
    
    KuferTools.Grafik.showPeriodGraphic(link,'self');
   //false: Verhindert die Weiterverarbeitung des Formulars; somit kann die durch obigen Link erzeugte Grafik
   // (im Hoch bzw. Querformat) auch ausgegeben werden
   return false;
  }); //end Klickhandler zum Auswählen des Datumszeitraums
  
 
}); //end $(document).ready(function(..)


// notwendig für Tools 5 u. 34 (Tools zur RaumUebersicht für Hausmeister bzw. MA), um die Grafik für die Belegungen 
// für ein Gebäude anzuzeigen
KuferTools.Grafik.showGraphicForGebaeude = function(pUrl,pTarget) {
  var $datumWahlDiv = $('#datumwahl4geb');
  //statt: datVon = $datumWahlDiv.find('[name=DatVon]')[0] ist folgendes besser
  var $datVon = $datumWahlDiv.find('[name=DatVon]').first();
  var datVonVal = $datVon.val();
  
//  a = isDateValid(document.getElementsByName("DatVon")[0].value);
  if (isDateValid(datVonVal)) {
    var ts = ""; //Startzeit, nur in Tool 5 und 34 - Raumübersicht vorhanden
    var te = "";
    var startTime = $('#starttime').val();
    var endTime = $('#endtime').val();
    
    //Wenn eine leerer Zeitbereich angegeben wird, sind die Parameter hierfür nicht mitzuschicken; dann wird beim Verarbeiten
    //der Requests sowieso der standardzeitbereich gesetzt (07:30 - 22:30)
    //if ( document.getElementsByName("starttime")[0] )
    //  ts = "&starttime=" + document.getElementsByName("starttime")[0].value;
    if (!isempty(startTime))
      ts = "&starttime=" + startTime;
    if (!isempty(endTime))
      te = "&endtime=" + endTime;
   
    if (pTarget == "self") window.location.href = pUrl + "&DatVon=" + datVonVal + ts + te;
    else if (pTarget == "new") window.open (pUrl + "&DatVon=" + datVonVal + ts + te,"");
  }
  else showMessage('Ungültiges Datumsformat. Bitte geben Sie das Datum in der Form TT.MM.JJJJ ein!', 'Eingabefehler');
} //end  KuferTools.Grafik.showGraphicForGebaeude


// notwendig für einige Tools, um am Anfang zwischen Liste und Grafik zu entscheiden
KuferTools.Grafik.decideListOrGraphic = function(pUrl, pTarget, $pStarttime, $pEndtime) {
  var $datumZeitDiv = $('#datumzeit');
  //statt: datVon = $datumZeitDiv.find('[name=DatVon]')[0] ist folgendes besser
  var $datVon = $datumZeitDiv.find('[name=DatVon]').first();
  var datVonVal = $datVon.val();
  var $datBis = $datumZeitDiv.find('[name=DatBis]').first();
  var datBisVal = $datBis.val();

  //statt : a = isDateValid(document.getElementsByName("DatVon")[0].value);
  //        if (a && b) {
  if (isDateValid(datVonVal) && isDateValid(datBisVal)) {
 
    var ts = "";//Startzeit, Startzeit, nur in Tool 5 und 34 - Terminübersicht vorhanden
    var te = "";

   /*
    var $starttime = $('#starttime').first()
    $starttime.timepicker({ }); */
    var startTime = $pStarttime.val();
    var endTime = $pEndtime.val();
    
    //Wenn eine leerer Zeitbereich angegeben wird, sind die Parameter hierfür nicht mitzuschicken; dann wird beim Verarbeiten
    //der Requests sowieso der standardzeitbereich gesetzt (07:30 - 22:30)
    if (!isempty(startTime))
      ts = "&starttime=" + startTime;
    if (!isempty(endTime))
      te = "&endtime=" + endTime;
    
   
    if (pTarget == "self") window.location.href = pUrl + "&DatVon=" + datVonVal + "&DatBis=" + datBisVal + ts + te;
    else if (pTarget == "new") window.open (pUrl + "&DatVon=" + datVonVal + "&DatBis=" + datBisVal + ts + te,"");
  }
  else showMessage('Ungültiges Datumsformat. Bitte geben Sie das Datum in der Form TT.MM.JJJJ ein!', 'Eingabefehler');
} //end KuferTools.Grafik.decideListOrGraphic

// notwendig für Tool 5 u. 34, damit morgen etc. analog Gebäudeübersicht funktioniert
KuferTools.Grafik.showPeriodGraphic = function(pUrl,pTarget) {
  var ts = "";//Startzeit, nur in Tool 5  und 34 - Terminübersicht vorhanden
  var te = "";
  
  var startTime = $('#starttime').val();
  var endTime = $('#endtime').val();

  //Wenn eine leerer Zeitbereich angegeben wird, sind die Parameter hierfür nicht mitzuschicken; dann wird beim Verarbeiten
  //der Requests sowieso der standardzeitbereich gesetzt (07:30 - 22:30)
  if (!isempty(startTime))
    ts = "&starttime=" + startTime;
  if (!isempty(endTime))
    te = "&endtime=" + endTime;
  
  if (pTarget == "self") 
    window.location.href = pUrl + ts + te;
  else if (pTarget == "new") 
    window.open (pUrl + ts + te,"");
} //end showPeriodGraphic(..)