/* spezielles Handling für die Kursuebersicht in allen Tools */

 /**
  *  Behandlung der Drucklisten-Buttons
  */
$(document).ready(function() {
  var searchkurs = '';
  if(document.URL.search(/searchkurs=1/)) {
	  searchkurs = '&searchkurs=1';
  }
  $('.alleMarkieren').click(function(event){
    event.preventDefault();
    $('#dialog_markieren').dialog('open');
  });
  $(".listenDruckButton").click(function(event){
    event.preventDefault();
    KuferTools.HandleListenKlick('listen', "Listen für Ihre "+KuferTools.Spracheinstellungen.Kurs.Plural.Akkusativ,"tool_id=1&toolsection_id=1"+searchkurs+"&zielListe=", 'auto' );
  });
  $(".honorarDruckButton").click(function(event){
    event.preventDefault();
    KuferTools.HandleListenKlick('honorar', "Listen mit Honorarinformationen","tool_id=1&toolsection_id=1"+searchkurs+"&zielListe=", 'auto');
  });
  $(".grafikenDruckButton").click(function(event){
    event.preventDefault();
    KuferTools.HandleListenKlick('grafiken', "Grafiken für Ihre "+KuferTools.Spracheinstellungen.Kurstermine.Plural.Nominativ,"tool_id=1&toolsection_id=1"+searchkurs+"&zielListe=", 'auto');
  });
  $(".vertraegeDruckButton").click(function(event){
    event.preventDefault();
    KuferTools.HandleListenKlick('sonstige', "Verträge","tool_id=1&toolsection_id=1"+searchkurs+"&zielListe=", 'auto');
  });
  $(".tnListenDruckButton").click(function(event){
    event.preventDefault();
    //Leider ist das nicht allgemein gemacht, sodass hier keine Sonderfälle nötig sind. Bei gelegenheit verallgemeinern.
    
    switch (KuferTools.ToolId) {
      case 32:
        KuferTools.HandleListenKlick('tnListen', "Druck der "+KuferTools.Spracheinstellungen.Teilnehmer.Plural.Nominativ + 
                                     "listen","tool_id=5&toolsection_id=240"+searchkurs+"&multiKurs=1&zielListe=", 'auto');
        break;
      case 1:
        KuferTools.HandleListenKlick('tnListen', "Druck der "+KuferTools.Spracheinstellungen.Teilnehmer.Plural.Nominativ+
                                     "listen","tool_id="  + KuferTools.ToolId + "&toolsection_id=1" + searchkurs + 
                                     "&zielListe=", 'auto');
        break;
      case 8:
        KuferTools.HandleListenKlick('tnListen', "Druck der "+KuferTools.Spracheinstellungen.Teilnehmer.Plural.Nominativ+
                                     "listen","tool_id=" + KuferTools.ToolId + "&toolsection_id=26" + searchkurs + 
                                     "&zielListe=", 'auto');
    } //end switch
  });
  
  //Erweitert die Url um die zuletzt ausgewählten Ids; wird nur benötigt, falls auf der angezeigten
  //Seite Ids (von Kursen, Belegungen etc.) ausgewählt wurden, um sich diese beim Blättern für weitere Selektionen 
  // auf den nächsten Seiten vorzumerken
  $('.main_buttons.doz a.blaettern, .main_buttons.tn a.blaettern, .main_buttons.hm a.blaettern').click(function () {
    var $this = $(this);
    var href = $this.prop('href');
	  $this.prop('href', href + KuferTools.GetUrlPartForIdSelection());
	});
        
  //Klichkandler für das Sortieren der Kurse nach bestimmten Kriterien wie z.B. beginnauf, beginnab, kursauf, kursab etc.
  $('.sortButton').click(function () {
    KuferTools.showDialog4KursSort();
    });
	
  
}); //end Dokument ready

/**
 * Gibt den Dialog zum Sortieren der Kurse aus
 * Gibt im Dialog die Radiobuttons für die Sortierung nach Kursnummer (Werte kursauf, kursab),  nach Beginn  
 * (Werte beginnauf/ab) und nach Beginn Uhrzeit (Werte beginnzeitauf/ab) aus. Hängt bei Klick auf OK die passenden 
 * Werte als Parameter sortValue an den URL (z.B. &sortValue = beginnab)
 **/
KuferTools.showDialog4KursSort = function() {
  
  var weite = 560;
  var buttons =   { 
                    "Abbrechen": function() {$(this).dialog("close"); },
                    "Standardsortierung": function() {
                      //hier nur den sortValue=... Param. aus dem URL entfernen (via Reg. Expr.; dann hat man wieder den 
                      //Ausgangslink und somit die Standardsortierung aus den Zentralen Einstellungen
                      var newLink = KuferTools.SelfLink.replace(/&wb__already__decoded=done/g, '').replace(/#.*/, '');
                      newLink = newLink.removeParamFromUrl("sortValue").removeParamFromUrl("sortValue2");
                      window.location.href = newLink;

                      $(this).dialog("close");
                     }, //end Standardsortierung
                    "OK": function() {
                      //Ist ein Radiobutton
                      var $inputElem = $('input[name=sortkurse]','#dialog4KursSort');
                      var sortValue = '';
                      var $inputElem2 = $('input[name=sortkurse2]','#dialog4KursSort');
                      var sortValue2 = '';
                      
                      if ($inputElem.is("[type=radio]")) {
                        sortValue = $inputElem.filter(':checked').val();   //beginnauf, beginnab,kursauf, kursab, beginnzeitauf etc.    
                      } 
                      if ($inputElem2.is("[type=radio]")) {
                        sortValue2 = $inputElem2.filter(':checked').val(); 
                      } 
                      var newLink = KuferTools.SelfLink.replace(/&wb__already__decoded=done/g, '').replace(/#.*/, '');
                      
                      // Problem sortValue wird noch mehrfach hingehängt an die URL;daher URL Part mit sortValue=.. via regulärem
                      // Ausdruck entfernen; newLink = newLink.replace(new RegExp("(&sortValue=[^&]+)","g"), ""); BESSER:
                      newLink = newLink.removeParamFromUrl("sortValue").removeParamFromUrl("sortValue2");
                      // und den neuen Sortierwert hinhängen
                      newLink += '&sortValue=' + sortValue + '&sortValue2=' + sortValue2;
                      window.location.href = newLink;

                      $(this).dialog("close");
                     } //end OK
		   }; // end Buttons
   
  var dialogTitle = 'Sortierung der ' + KuferTools.Spracheinstellungen.Kurs.Plural.Nominativ;
  var sortMessage = '<div id="dialog4KursSort">' + "\n";
  //Vorbesetzen der passenden Checkbox bzgl. der Sortierreihenfolge (wird aus den  Z.E. der Kursübersicht im MA Tool geholt)
  var arycheck = new Array();
  
  var sortKurseComb = [];
  sortKurseComb[0] = KuferTools.SortKurse;
  sortKurseComb[1] = KuferTools.SortKurse2;
  
  var x = '';
  for ( var i = 0, l = sortKurseComb.length; i < l; i++ ) {
    if (sortKurseComb[i].KursAsc)
      arycheck[x+'0'] = 'checked="checked"';
    else if (sortKurseComb[i].KursDesc)
      arycheck[x+'1'] = 'checked="checked"'; 
    else if (sortKurseComb[i].BeginndatAsc)
      arycheck[x+'2'] = 'checked="checked"';
    else if (sortKurseComb[i].BeginndatDesc)
      arycheck[x+'3'] = 'checked="checked"';
    else if (sortKurseComb[i].BeginnzeitAsc)
      arycheck[x+'4'] = 'checked="checked"';
    else if (sortKurseComb[i].BeginnzeitDesc)
      arycheck[x+'5'] = 'checked="checked"';
    else if (sortKurseComb[i].OrtAsc)
      arycheck[x+'6'] = 'checked="checked"';
    else if (sortKurseComb[i].OrtDesc)
      arycheck[x+'7'] = 'checked="checked"';
    else if (sortKurseComb[i].AussenstelleAsc)
      arycheck[x+'8'] = 'checked="checked"';
    else if (sortKurseComb[i].AussenstelleDesc)
      arycheck[x+'9'] = 'checked="checked"';
    x = 1;
  }         
  /*
  if ($inputElem.is("[type=radio]")) {
        pData[objvar] = $inputElem.filter(':checked').val();       } */
  sortMessage +=      '<table class ="ma_sort1" width="100%">'  + "\n" +
                        '<colgroup>' + "\n" + 
                        '<col width="36%">' + "\n" +
                        '<col width="32%">' + "\n" +
                        '<col width="32%">' + "\n" +
                        '</colgroup>' + "\n"; 
  sortMessage +=        '<thead>' + "\n" + 
                          '<tr><th><b>Kriterium 1:</b></th></tr>' + "\n" +
                        '</thead>' + "\n"; 
  sortMessage +=        '<tbody>' + "\n" + 
                          '<tr>' + 
                            '<td>nach Kursnummer:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="kursauf" ' + arycheck[0] + ' name="sortkurse">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="kursab" ' + arycheck[1] + ' name="sortkurse">absteigend</td>' +
                          '</tr>' + "\n" +
                          '<tr>' +
                            '<td>nach Beginn:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="beginnauf" ' + arycheck[2] + ' name="sortkurse">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="beginnab" ' + arycheck[3] + ' name="sortkurse">absteigend</td>' +
                          '</tr>' + "\n" +
                          '<tr>' +
                            '<td>nach Beginn Uhrzeit:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="beginnzeitauf" ' + arycheck[4] + ' name="sortkurse">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="beginnzeitab" ' + arycheck[5] + ' name="sortkurse">absteigend</td>' +
                          '</tr>' + "\n" +
                           '<tr>' +
                            '<td>nach Ort:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="ortauf" ' + arycheck[6] + ' name="sortkurse">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="ortab" ' + arycheck[7] + ' name="sortkurse">absteigend</td>' +
                          '</tr>' + "\n" +  
                           '<tr>' +
                            '<td>nach Aussenstelle:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="aussenstelleauf" ' + arycheck[8] + ' name="sortkurse">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="aussenstelleab" ' + arycheck[9] + ' name="sortkurse">absteigend</td>' +
                          '</tr>' + "\n" +  
                        '</tbody>' + "\n" +  
                      '</table>' + "\n";
              
  // Zweite Sort Kriterium         
  sortMessage +=      '<table class="ma_sort2" width="100%">'  + "\n" +
                        '<colgroup>' + "\n" + 
                        '<col width="36%">' + "\n" +
                        '<col width="32%">' + "\n" +
                        '<col width="32%">' + "\n" +
                        '</colgroup>' + "\n"; 
  sortMessage +=        '<thead>' + "\n" + 
                          '<tr><th><b>Kriterium 2:</b></th></tr>' + "\n" +
                        '</thead>' + "\n"; 
  sortMessage +=        '<tbody>' + "\n" + 
                          '<tr>' + 
                            '<td>nach Kursnummer:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="kursauf" ' + arycheck[10] + ' name="sortkurse2">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="kursab" ' + arycheck[11] + ' name="sortkurse2">absteigend</td>' +
                          '</tr>' + "\n" +
                          '<tr>' +
                            '<td>nach Beginn:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="beginnauf" ' + arycheck[12] + ' name="sortkurse2">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="beginnab" ' + arycheck[13] + ' name="sortkurse2">absteigend</td>' +
                          '</tr>' + "\n" +
                          '<tr>' +
                            '<td>nach Beginn Uhrzeit:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="beginnzeitauf" ' + arycheck[14] + ' name="sortkurse2">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="beginnzeitab" ' + arycheck[15] + ' name="sortkurse2">absteigend</td>' +
                          '</tr>' + "\n" +
                           '<tr>' +
                            '<td>nach Ort:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="ortauf" ' + arycheck[16] + ' name="sortkurse2">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="ortab" ' + arycheck[17] + ' name="sortkurse2">absteigend</td>' +
                          '</tr>' + "\n" +  
                           '<tr>' +
                            '<td>nach Aussenstelle:</td>' + 
                            '<td class="sortAuf"><input type="radio" value="aussenstelleauf" ' + arycheck[18] + ' name="sortkurse2">aufsteigend</td>' +
                            '<td class="sortAb"><input type="radio" value="aussenstelleab" ' + arycheck[19] + ' name="sortkurse2">absteigend</td>' +
                          '</tr>' + "\n" +  
                        '</tbody>' + "\n" +  
                      '</table>' + "\n" +
                    '</div>' + "\n";
            
            
    $('input[name=sortkurse]:checked').val();
  
  //Dialogausgabe
  
    showMessage(sortMessage, dialogTitle, buttons, weite);
}; //end KuferTools.showDialog4KursSort
   

   
   
   
   
   
   
