document.addEventListener('DOMContentLoaded', function () {
    countresults(".suchergebnis",false);
    initkalender();
    var l = $("#maincontent").data("land")
    console.log("<<"+l)
    var post = getParameter("showresults")
    if (l!=1) $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#anz").html(data.anz);
              $("#filterentfernen").html(data.filter);
              if (!$("#suchergebnisse").hasClass("init")) {
                $("#suchergebnisse").html(data.html);
              }
              //$("#suchergebnisse").removeClass("init")
              var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
              var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
              return new bootstrap.Tooltip(tooltipTriggerEl)   })   
     },"json"); 
     var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
     var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
     return new bootstrap.Tooltip(tooltipTriggerEl)   }) 
});
$(document).on("change","#reederei, #reiseziel, #schiff, #sterne, #dauervon, #dauerbis, #dauer, #anreise, #starthafen, #bishafen, #reisehafen, #passengers, #built, #bordsprache, #reiseland, #abland, #bisland, #preis, #thema ",function(){ 
    $("#suchergebnisse").removeClass("init")
    countresults(".suchergebnis",false);
});
$(document).on("change","#dauervon",function(){ 
    if ($("#dauerbis").val() < $("#dauervon").val() && $("#dauerbis").val()!="") $("#dauerbis").val($("#dauervon").val()+15)
});
$(document).on("click",".resetsuche",function(){ 
     countresults(".suchergebnis",true)
     $(".resetsuche").addClass("d-none"); 
});
$(document).on("click",".xfilter",function(){ 
    var param = $(this).data("filter")
    $("#"+param).val("");
    $("#suchergebnisse").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    var post = getParameter("showresults")
    $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#anz").html(data.anz);
              $("#filterentfernen").html(data.filter);
              $("#suchergebnisse").html(data.html);
              $("#suchergebnisse").removeClass("wait")
              $("#ergebniszeigen").removeClass("disabled")
     },"json"); 
     
});
$(document).on("change","#sortorder",function(){ 
    var post = getParameter("showresults")
    $("#suchergebnisse").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#anz").html(data.anz);
              $("#filterentfernen").html(data.filter);
              $("#suchergebnisse").html(data.html);
              $("#suchergebnisse").removeClass("wait")
              $("#ergebniszeigen").removeClass("disabled")
     var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
     var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
     return new bootstrap.Tooltip(tooltipTriggerEl)   })              
     },"json"); 
});
$(document).on("click","#zeigmehr",function(){ 
    var page = $("#zeigmehr").data("page")  
    var post = getParameter("showresults",page)
    $("#suchergebnisse").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    post[page] = page
    $("#pagination").remove();
    $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#suchergebnisse").append(data.html);
              $("#suchergebnisse").removeClass("wait")
              $("#ergebniszeigen").removeClass("disabled")
     var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
     var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
     return new bootstrap.Tooltip(tooltipTriggerEl)
     })              
     },"json"); 
});
/*
$(document).on("click","#zeigmehr",function(){ 
    $("#suchergebnisse").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    var post = getParameter("showresults",$("#zeigmehr".data("page")));
    $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#anz").html(data.anz);
              $("#filterentfernen").html(data.filter);
              $("#suchergebnisse").html(data.html);
              $("#suchergebnisse").removeClass("wait")
              $("#ergebniszeigen").addClass("disabled")
              var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
              var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
              return new bootstrap.Tooltip(tooltipTriggerEl)   }) 
     },"json"); 
});
*/
$(document).on("click","#ergebniszeigen",function(){ 
    $("#suchergebnisse").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    var post = getParameter("showresults")
    $.post("/assets/ajax_v2.php", post, function(data) { 
              $("#anz").html(data.anz);
              $("#filterentfernen").html(data.filter);
              $("#suchergebnisse").html(data.html);
              $("#suchergebnisse").removeClass("wait")
              $("#ergebniszeigen").removeClass("disabled")
              var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
              var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
              return new bootstrap.Tooltip(tooltipTriggerEl)   }) 
              $(window).scrollTop(0);
     },"json"); 
});
$(window).on('resize scroll', function() {
    if ($('#resulthead').isInViewport()) {
        $("#resultscrolled").addClass("d-none")
    } else {
        $("#resultscrolled").removeClass("d-none")    
    }
});  
$.fn.isInViewport = function() {
    var elementTop = $(this).offset().top;
    var elementBottom = elementTop + $(this).outerHeight();
    var viewportTop = $(window).scrollTop();
    var viewportBottom = viewportTop + $(window).height();
    return elementBottom > viewportTop && elementTop < viewportBottom;
};








function initkalender(){
    var cals = 3;
    if (screen.width>400 && screen.width<1024) cals=1;
    if (screen.width>767 && screen.width<1024) cals=2;
    
    var startdate=$("#datepicker").data("start");
    var enddate=$("#datepicker").data("end");
    const start = new Date(startdate);
    const end = new Date(enddate);

    const min = new Date();
    min.setDate(min.getDate() + 4);

    const picker = new easepick.create({
    element: "#datepicker",
    css: [
        "/assets/css/kalender.css"
    ],
    autoApply: false,
    locale: {
        cancel: "schliessen",
        apply: "übernehmen"
    },
      setup(picker) {
      picker.on("select", (e) => {
      const { view, date, target } = e.detail
      var s = new Date(e.detail.start);
      var e = new Date(e.detail.end);
      
      var start = new Date(s)
      start.setDate(start.getDate() + 1);
      var end = new Date(e)
      end.setDate(end.getDate() + 1);

      start = start.toISOString().split("T")[0]
      end = end.toISOString().split("T")[0]
      $("#datepicker").data("start",start);
      $("#datepicker").data("end",end);
      //$("#dauervon, #dauerbis, #reederei, #schiff, #passengers, #built, #sterne, #bordsprache, #reiseziel, #starthafen, #bishafen, #reisehafen, #abland, #bisland, #reiseland,#anreise,#thema, #preis").val("");
      
      countresults(".suchergebnis",false);
      
    });
  },
    zIndex: 99,
    calendars:cals,
    grid:cals,
    header: "Reisezeitraum<br><small style=\'font-weight:normal !important; font-size:0.8em\'></small>",
    lang: "de-DE",
    format: "DD.MM.YYYY",
    RangePlugin: {
        delimiter: " bis ",
        startDate:start,
        endDate:end, 
        locale: {
            one: "Tag",
            other: "Tage"
        }
    },
    LockPlugin: {

        minDate:min,
        minDays: 4,
        selectForward: true
    },
    AmpPlugin: {
          dropdown: {
            months: true,
            years: false,
            minYear: min,
            //maxYear: 2026,
          },
            darkMode: false
         }, 
    plugins: [
        "RangePlugin",
        "LockPlugin",
        "AmpPlugin",
    ]
})
}
function getParameter(action,page=''){
    var vondatum = $("#datepicker").data("start");
    var bisdatum = $("#datepicker").data("end");
    
    var promocode = $("#promocode").val();    
    
    var dauer = $("#dauer").val();
    var dauervon = $("#dauervon").val();
    var dauerbis = $("#dauerbis").val();
       
    var reederei = $("#reederei").val();
    var schiff = $("#schiff").val();
    var passengers  = $("#passengers").val();
    var built  = $("#built").val();
    var sterne  = $("#sterne").val();    
    var bordsprache  = $("#bordsprache").val();    
        
    var reiseziel = $("#reiseziel").val();
    var starthafen  = $("#starthafen").val();
    var bishafen  = $("#bishafen").val();
    var reisehafen  = $("#reisehafen").val();
    
    var abland  = $("#abland").val();
    var bisland  = $("#bisland").val();
    var reiseland  = $("#reiseland").val();

    
    var anreise  = $("#anreise").val();
    var thema  = $("#thema").val();    
    var suchliste = $("#zeigmehr").data("suchliste")
    var preis  = $("#preis").val();
    var sortorder = $("#sortorder").val();
    var suchliste = $("#maincontent").data('suchliste');
    
    if ($("#suchergebnisse").hasClass("init")) reisehafen = $("#suchergebnisse").data("reisehafen")
    
    var post = {action:action,vondatum:vondatum, bisdatum:bisdatum , dauer:dauer, dauervon:dauervon, dauerbis:dauerbis, reederei:reederei, schiff:schiff, passengers:passengers,built:built, sterne:sterne,bordsprache:bordsprache, reiseziel:reiseziel,starthafen:starthafen,bishafen:bishafen,reisehafen:reisehafen,abland:abland,bisland:bisland,reiseland:reiseland,anreise:anreise,thema:thema, preis:preis,sortorder:sortorder, page:page,suchliste:suchliste,promocode:promocode}    

    return post;
}
function countresults(id,reset) {
    $("#searchform").addClass("wait")
    $("#ergebniszeigen").addClass("disabled")
    if (reset == false) {
        var post = getParameter("countresults");
        $(".resetsuche").removeClass("d-none"); 
    }
    else { 
        var post = {action:'countresults',reset:true}
        var reset = false;
    }
    $("#searchform select").each(function(){ $(this).removeClass('bg-success fw-bold ')})
    $.post("/assets/ajax_v2.php", post, function(data) {
    //console.log(data) 
      $(id).html(data.count+" Angebote zeigen <i class=\"ps-2 fa-xl fa-solid fa-square-caret-right\"></i>");
      if (data.count == 0) $(id).attr("disabled",true)
      else $(id).attr("disabled",false)
      
      $(id).data("count",data.count);
      if (reset == false) {
          $("#datepicker").data("start",data.vondatum)
          $("#datepicker").data("end",data.bisdatum)
          initkalender();
      } 

      $("#reiseziel").html(data.reiseziel);
      if ($("#reiseziel").val()>0) $("#reiseziel").addClass("bg-success fw-bold ");
      $("#reederei").html(data.reederei);
      if ($("#reederei").val()>0) $("#reederei").addClass("bg-success fw-bold ");
      $("#schiff").html(data.schiff);
      if ($("#schiff").val()>0) $("#schiff").addClass("bg-success fw-bold ");
      $("#dauer").html(data.dauer);
      $("#dauervon").html(data.dauervon);
      if ($("#dauervon").val()>0) $("#dauervon").addClass("bg-success fw-bold ");
      $("#dauerbis").html(data.dauerbis);
      if ($("#dauerbis").val()>0) $("#dauerbis").addClass("bg-success fw-bold");

      $("#starthafen").html(data.starthafen);
      if ($("#starthafen").val()>0) $("#starthafen").addClass("bg-success fw-bold ");
      $("#bishafen").html(data.bishafen);
      if ($("#bishafen").val()>0) $("#bishafen").addClass("bg-success fw-bold ");
      $("#reisehafen").html(data.reisehafen);      
      if ($("#reisehafen").val()>0) $("#reisehafen").addClass("bg-success fw-bold ");
      
      $("#abland").html(data.abland);
      if ($("#abland").val()>0) $("#abland").addClass("bg-success fw-bold ");
      $("#bisland").html(data.bisland);  
      if ($("#bisland").val()>0) $("#bisland").addClass("bg-success fw-bold ");
      $("#reiseland").html(data.reiseland);        
      if ($("#reiseland").val()>0) $("#reiseland").addClass("bg-success fw-bold ");

      $("#passengers").html(data.passengers);
      if ($("#passengers").val()>0) $("#passengers").addClass("bg-success fw-bold ");
      $("#built").html(data.built);
     if ($("#built").val()>0) $("#built").addClass("bg-success fw-bold "); 
      $("#sterne").html(data.sterne);
      if ($("#sterne").val()>0) $("#sterne").addClass("bg-success fw-bold ");
      $("#bordsprache").html(data.bordsprache);      
      if ($("#bordsprache").val()>0) $("#bordsprache").addClass("bg-success fw-bold ");

      $("#anreise").html(data.anreise);      
      if ($("#anreise").val()>0) $("#anreise").addClass("bg-success fw-bold ");
      $("#thema").html(data.thema);            
      if ($("#thema").val()>0) $("#thema").addClass("bg-success fw-bold ");
      $("#preis").html(data.preis);
      if ($("#preis").val()>0) $("#preis").addClass("bg-success fw-bold ");
      
      
      $("#searchform").removeClass("wait")
      $("#ergebniszeigen").removeClass("disabled")
     },"json");   
    
}