$=jQuery;
document.addEventListener("DOMContentLoaded", function (){
const target=document.querySelector("#slider-search-target");
if(!target){
return;
}
target.innerHTML=`
<div id="search" data-aos="fade-up" data-aos-duration="1500" data-aos-delay="200">
<input type="text" autocomplete="off" name="search" placeholder="Que recherchez-vous ?" />
<div class="results"></div>
</div>
<div id="BoxSearch">
<div class="inside">
<div class="input">
<input type="text" autocomplete="off" name="search" placeholder="Que recherchez-vous ?" />
</div>
<span class="close">Annuler</span>
<div class="results"></div>
</div>
</div>
`;
const desktopSearch=target.querySelector("#search");
const desktopResults=desktopSearch.querySelector(".results");
desktopResults.classList.add("results-portal");
document.body.appendChild(desktopResults);
const boxSearch=target.querySelector("#BoxSearch");
if(boxSearch){
document.body.appendChild(boxSearch);
}
function headerBottom(){
const header=document.querySelector("header.page_header");
if(!header){
return 0;
}
return Math.max(0, header.getBoundingClientRect().bottom);
}
function positionResults($input){
const el=$input.get(0);
if(!el){
return;
}
const rect=el.getBoundingClientRect();
desktopResults.style.top=Math.max(rect.bottom, headerBottom()) + "px";
desktopResults.style.left=rect.left + "px";
desktopResults.style.width=rect.width + "px";
}
let requestSearch=null;
let timeoutSearch=null;
$(document).on("keyup", '#search input[type="text"]', function (){
const input=$(this);
const searchBox=input.closest("#search");
searchBox.addClass("openIt loading");
positionResults(input);
if(requestSearch){
requestSearch.abort();
}
clearTimeout(timeoutSearch);
timeoutSearch=setTimeout(function (){
requestSearch=$.get("/wp-content/themes/politpress-child/ajax/search.php",
{
search: input.val(),
},
function (data){
searchBox.removeClass("loading");
positionResults(input);
desktopResults.innerHTML=data;
desktopResults.classList.add("openIt");
},
);
}, 350);
});
function openSearchBox(){
$("#BoxSearch")
.addClass("openIt")
.css("padding-top", headerBottom() + "px");
setTimeout(function (){
$('#BoxSearch input[type="text"]').focus();
window.scrollTo(0, 0);
}, 300);
}
$(document).on("click touch",
'#search input[type="text"]',
function (event){
event.stopPropagation();
if($(window).width() < 768){
openSearchBox();
}else{
$(this).closest("#search").addClass("openIt");
positionResults($(this));
}},
);
$(document).on("click touch", function (event){
if(!$(event.target).closest("#search, .results-portal").length){
desktopResults.classList.remove("openIt");
$("#search").removeClass("openIt");
}});
$(window).on("scroll resize", function (){
if(desktopResults.classList.contains("openIt")){
positionResults($('#search input[type="text"]').first());
}});
$(document).on("click touch", "#BoxSearch .close", function (){
$("#BoxSearch").removeClass("openIt");
});
$(document).on("keyup", '#BoxSearch input[type="text"]', function (){
const input=$(this);
const searchBox=$("#BoxSearch");
searchBox.addClass("loading");
if(requestSearch){
requestSearch.abort();
}
clearTimeout(timeoutSearch);
timeoutSearch=setTimeout(function (){
requestSearch=$.get("/wp-content/themes/politpress-child/ajax/search.php",
{
search: input.val(),
},
function (data){
searchBox.removeClass("loading");
$(".results", searchBox).html(data);
},
);
}, 450);
});
});
(function (){
var body=document.body;
var surmenu=document.querySelector(".surmenu");
if(!surmenu){
return;
}
var REVEAL_THRESHOLD=40;
var DELTA=5;
var lastY=window.pageYOffset||document.documentElement.scrollTop||0;
var ticking=false;
function update(){
var y=window.pageYOffset||document.documentElement.scrollTop||0;
if(y <=REVEAL_THRESHOLD){
body.classList.remove("surmenu-collapsed");
}else if(y > lastY + DELTA){
body.classList.add("surmenu-collapsed");
}else if(y < lastY - DELTA){
body.classList.remove("surmenu-collapsed");
}
lastY=y;
ticking=false;
}
window.addEventListener("scroll",
function (){
if(!ticking){
window.requestAnimationFrame(update);
ticking=true;
}},
{ passive: true },
);
})();
jQuery(function ($){
function initLiveSearch(form){
var $form=$(form);
var $input=$form.find('input[type="search"]');
var $results=$form.find(".live-results");
var req=null;
var timer=null;
$input.on("keyup", function (event){
if(event.key==="Enter"){
return;
}
var term=$.trim($input.val());
if(term.length < 2){
$results.removeClass("openIt").empty();
$form.removeClass("loading");
return;
}
$form.addClass("loading");
if(req){
req.abort();
}
clearTimeout(timer);
timer=setTimeout(function (){
req=$.get("/wp-content/themes/politpress-child/ajax/search.php",
{ search: term },
function (data){
$form.removeClass("loading");
$results.html(data).addClass("openIt");
},
);
}, 350);
});
$input.on("focus", function (){
if($.trim($results.text()).length){
$results.addClass("openIt");
}});
}
$(".live-search").each(function (){
initLiveSearch(this);
});
$(document).on("click touch", function (event){
if(!$(event.target).closest(".live-search").length){
$(".live-results").removeClass("openIt");
}});
});
jQuery(function ($){
var $nav=$("#navresponsive");
if(!$nav.length){
return;
}
var currentUl=$("#navresponsive .previous");
$(document).on("click touch", "#headerResponsive .search", function (){
var $box=$("#BoxSearch");
if(!$box.length){
return;
}
$box.addClass("openIt");
setTimeout(function (){
$('#BoxSearch input[type="text"]').focus();
window.scrollTo(0, 0);
}, 300);
});
setTimeout(function (){
if(!$("#BoxSearch").length){
$("#headerResponsive .search").hide();
}}, 0);
$("#navresponsive ul a").on("click", function (event){
if($("> .containerSub", $(this).parent()).length > 0){
$("> .containerSub", $(this).parent()).addClass("active");
currentUl=$("> .containerSub", $(this).parent());
$("#navresponsive .current").text($(this).text());
$("#headerResponsive, #navresponsive").addClass("inSub");
event.stopImmediatePropagation();
return false;
}
return true;
});
$("#navresponsive .previous").on("click", function (event){
event.stopImmediatePropagation();
previousNav();
return false;
});
$("#headerResponsive .burger").on("click", function (){
switchNav();
});
function previousNav(){
if(!$("> ul", currentUl).hasClass("principal")){
$(currentUl).removeClass("active");
currentUl=$(currentUl).parent().parent().parent();
$("#navresponsive .current").text($("> a", currentUl.parent()).text());
$("#headerResponsive, #navresponsive").addClass("inSub");
}
if($("> ul", currentUl).hasClass("principal")){
$("#headerResponsive, #navresponsive").removeClass("inSub");
}}
function switchNav(){
$("#navresponsive").toggleClass("active");
$("#headerResponsive").toggleClass("menuOpen");
$("#headerResponsive, #navresponsive").removeClass("inSub");
$("#navresponsive .containerSub").css("transition", "none");
$("#navresponsive .containerSub").removeClass("active");
setTimeout(function (){
$("#navresponsive .containerSub").removeAttr("style");
}, 400);
currentUl=$("#navresponsive .previous");
}});
jQuery(function ($){
if(!$.fn.slick){
return;
}
function initSocialCarousel(blockSelector, slidesToShow){
$(blockSelector).each(function (){
var $block=$(this);
var $carousel=$block.find(blockSelector + "_carousel");
if(!$carousel.length||$carousel.hasClass("slick-initialized")){
return;
}
$carousel.slick({
prevArrow: $block.find(blockSelector + "_button-prev"),
nextArrow: $block.find(blockSelector + "_button-next"),
slidesToShow: slidesToShow,
slidesToScroll: 1,
infinite: true,
dots: true,
autoplay: true,
autoplaySpeed: 5000,
pauseOnHover: true,
responsive: [
{ breakpoint: 1200, settings: { slidesToShow: Math.min(slidesToShow, 3) }},
{ breakpoint: 992, settings: { slidesToShow: Math.min(slidesToShow, 2) }},
{ breakpoint: 576, settings: { slidesToShow: 1 }},
],
});
});
}});