",cross: ""};const menuControl = identifier("show-sorting-menu");const sortControl = identifier("sorting-price-up");const svgElmt = identifier("sorting-icon");const addNewClass = function (newClass,oldClass){menuControl.classList.replace(oldClass, newClass);};parameters.filterClass.contains("extended") ? showDesktopFilter.call(identifier("hide-filter-wrapper"),event) : void "no expanded";if (menuControl.disabled){return;} else if (parameters.menuClasses.contains(parameters.current)){parameters.updateTopProp();svgElmt.innerHTML = icones.cross;menuControl.setAttribute("aria-expanded","true");parameters.menuClasses.replace(parameters.current,"visible");sortControl.focus({preventScroll: true});setTimeout(addNewClass,80,"lines-loaded","paths-loaded");} else if (parameters.menuClasses.contains("visible")){menuControl.focus({preventScroll: true});svgElmt.innerHTML = icones.sorting;menuControl.setAttribute("aria-expanded","false");parameters.menuClasses.replace("visible","concealed");setTimeout(addNewClass,80,"paths-loaded","lines-loaded");}} function hideSortingProduct(event){let classes = new Set(identifier("sorting-menu").classList),module_rect = this.getBoundingClientRect();if (!classes.has("visible")){return;} else if (classes.has("visible")){(event.clientY - .1 < module_rect.top || event.clientX - .01 < module_rect.left || event.clientX + .2> module_rect.right) ? showSortingProduct(event) : void "sorting menu available";}} function floatingNumber(objet){Number.parseFloat === undefined ? Number.parseFloat = parseFloat : void "browser supports";const articlePrice = objet.querySelector(".price").textContent;if (Number.isNaN(Number.parseFloat(articlePrice.replace(",",".")))){return Number.parseFloat(articlePrice.split(",").join("."));} else {return Number.parseFloat(articlePrice.replace(",","."));}} function sortByIncreasingPrice(event){event.preventDefault();const uList = document.querySelector(".productcatalog ul");const products = uList.querySelectorAll("li");const customersinfos = uList.querySelectorAll(".infos-clients");const sortedproducts = Array.from(products).sort(function (price,comparative){return floatingNumber(price) - floatingNumber(comparative);});sortedproducts.forEach(function (list){uList.appendChild(list);});for (let x = 0;x < customersinfos.length;x++){uList.removeChild(customersinfos[x]);}} function sortByDescendingPrice(event){event.preventDefault();const uList = document.querySelector(".productcatalog ul");const products = uList.querySelectorAll("li");const customersinfos = uList.querySelectorAll(".infos-clients");const sortedproducts = Array.from(products).sort(function (price,comparative){return floatingNumber(comparative) - floatingNumber(price);});sortedproducts.forEach(function (list){uList.appendChild(list);});for (let x = 0;x < customersinfos.length;x++){uList.removeChild(customersinfos[x]);}} function showDesktopFilter(event){event.stopPropagation();identifier("sorting-menu").classList.contains("visible") ? showSortingProduct(event) : void "no expanded";const funcArgs = {mainfilters: selector(".shopfilter").parentElement,maincatalogue: selector(".productcatalog").parentElement,supports: function(prop,webkitprop){return prop in window.getComputedStyle(this.maincatalogue) || webkitprop in window.getComputedStyle(this.maincatalogue);},get isBlurred(){return this.mainfilters.classList.contains("extended");},updateElements: function(){this.supports("filter","-webkit-filter") ? (this.mainfilters.dataset.moduleState = arguments[0],this.maincatalogue.dataset.visualEffect = arguments[1]) : (this.mainfilters.dataset.moduleState = arguments[0],this.mainfilters.style.backgroundColor = arguments[2]);},label: identifier("hide-filter-label")},menubar = identifier("menu-wrapper"),shopCatalog = funcArgs.mainfilters.parentElement,filtersClasses = funcArgs.mainfilters.classList,shopfilter = selector(".shopfilter");if (funcArgs.isBlurred){this.setAttribute("aria-expanded","false");funcArgs.label.textContent = "Afficher les filtres";filtersClasses.remove("extended");funcArgs.updateElements("hidden","none",null);funcArgs.maincatalogue.classList.remove("radius");window.addEventListener("scroll",situateCatalogHeadline,false);this.focus({preventScroll: true});} else if (!funcArgs.isBlurred){this.setAttribute("aria-expanded","true");funcArgs.label.textContent = "Masquer les filtres";filtersClasses.add("extended");funcArgs.updateElements("visible", "blur","var(--blanc-moyen-transparent)");funcArgs.maincatalogue.classList.add("radius");window.removeEventListener("scroll",situateCatalogHeadline,false);shopfilter.focus({preventScroll: true});shopCatalog.dataset.navigationState !== menubar.dataset.positioningSelf ? shopCatalog.dataset.navigationState = menubar.dataset.positioningSelf : void "already defined";}} function showNarrowFilter(){const args = {openfilter: identifier("show-filter-wrapper"),filterClasses: selector(".shopfilter").parentElement.classList,closefilter: identifier("close-filter")};if (args.filterClasses.contains("expanded")){args.openfilter.setAttribute("aria-expanded","false");args.filterClasses.remove("expanded");} else {args.filterClasses.add("expanded");args.openfilter.setAttribute("aria-expanded","true");args.closefilter.focus({preventScroll: true});}} function removeDataCatalogue(){const productcatalogue = selector(".productcatalog").parentElement;const initDataAttr = function (){if (productcatalogue.hasAttribute("data-columns-number")){productcatalogue.removeAttribute("data-columns-number");}};eventTargetSupports(["change","orientationchange"],[screen.orientation,window],initDataAttr,false);} function changeColumnsNumber(event){let catalogue = selector(".productcatalog").parentElement,valeur = event.currentTarget.dataset.columnsNumber;catalogue.setAttribute("data-columns-number",valeur);} function setCatalogueListener(show,submenu,sortingup, sortingdown,hidefilter,showfilter,closefilters,controls){if (document.isCatalogue){show.addEventListener("touchstart",showSortingProduct,{capture: false,passive: false});show.addEventListener("click",showSortingProduct,false);show.addEventListener("mouseleave",hideSortingProduct,false);submenu.addEventListener("mouseup",showSortingProduct,false);submenu.addEventListener("touchstart",showSortingProduct,false);sortingup.addEventListener("mouseup",sortByIncreasingPrice,false);sortingup.addEventListener("touchstart",sortByIncreasingPrice,false);sortingdown.addEventListener("mouseup",sortByDescendingPrice,false);sortingdown.addEventListener("touchstart",sortByDescendingPrice,false);hidefilter.addEventListener("click",showDesktopFilter,false);showfilter.addEventListener("click",showNarrowFilter,false);closefilters.addEventListener("click",showNarrowFilter,false);removeDataCatalogue();for (let control of controls){control.addEventListener("click",changeColumnsNumber,false);}}} function recordCatalogueListener(){setTimeout(function(){setCatalogueListener(identifier("show-sorting-menu"),identifier("sorting-menu"),identifier("sorting-price-up"),identifier("sorting-price-down"),identifier("hide-filter-wrapper"),identifier("show-filter-wrapper"),identifier("close-filter"),document.querySelectorAll(".catalogue-menubar .arrange-products"));},980);} window.addEventListener("load",recordCatalogueListener,false);