const obj = { "/pl/menu/fotografia-205": { id: "3827", val: "3828", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/filmowanie-212": { id: "3829", val: "3830", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/statywy-201": { id: "3831", val: "3832", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/torby-i-plecaki-202": { id: "3833", val: "3834", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/studio-204": { id: "3835", val: "3836", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/audio-203": { id: "3837", val: "3838", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/outdoor-252": { id: "3839", val: "3840", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/mobile-334": { id: "3841", val: "3842", isFetched: false, tmp_fetch: false, isMouseOver: false, }, "/pl/menu/inne-1019": { id: "3843", val: "3844", isFetched: false, tmp_fetch: false, isMouseOver: false, }, }; const initSlider = (slickContainer, navEl, objLinkHref) => { $(slickContainer).slick({ slidesToShow: 3, prevArrow: '', nextArrow: '', }); $(slickContainer).on("afterInit", function (event, slick, direction) { console.log("dasdasdXDD"); }); setTimeout(() => { objLinkHref.isFetched = true; objLinkHref.isMouseOver ? "" : (navEl.style.display = "none"); }, 100); }; const fetchProducts = ( container, traitId, traitVal, subNavHandler, objLinkHref ) => { let tmp_text = ``; $.ajax({ type: "GET", url: `https://multifoto.pl/pl/search.php?traits_alt[${traitId}]=${traitVal}&getProductXML=true&limit=10`, dataType: "xml", timeout: 12000, success: function (xml) { $(xml) .find("page > products > product") .each(function (index) { const prod = $(this); const name = prod.find("name").eq(1).text().length > 3 ? prod.find("name").eq(1).text() : prod.find("name").eq(0).text(); const id = prod.attr("id"); const photo = prod.find("icon_src").eq(0).text(); const url = prod.attr("link"); const rate = prod.find("comments").attr("avg"); const size = prod.find("sizes > size").attr("name"); const availability = prod.find("sizes > availability").attr("status"); // Zmienne związane z ceną const pricesEl = prod.find("prices"); const priceEl = prod.find("price"); const price = priceEl.attr("price_formatted"); const maxPrice = priceEl.attr("maxprice_formatted"); const omnibusPrice = priceEl.attr("omnibus_price_formatted"); // markup produktu tmp_text += `
${name}

${name}

${ maxPrice && omnibusPrice ? `
${maxPrice} brutto${price} brutto
` : ` ${price} brutto ` }
${ availability === "enable" ? 'Dostępny' : 'Niedostępny' }
${ maxPrice && omnibusPrice ? ` Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki: ${omnibusPrice}` : `` }
`; }); container.innerHTML = tmp_text; initSlider(container, subNavHandler, objLinkHref); }, }); }; if (window.innerWidth > 979) { document.querySelectorAll("ul.navbar-nav > .nav-item").forEach((navItem) => { const link = navItem.querySelector(".nav-link"); const subNav = navItem.querySelector("ul.navbar-subnav"); const sliderContainer = navItem.querySelector( ".navbar-whiteBackground__recommendationContainer" ); const loaderContainer = sliderContainer.querySelector( "#loaded_contant_bm_hotspots" ); const ul_container = navItem.querySelector("ul"); const linkHref = link.getAttribute("href"); navItem.addEventListener("mouseleave", (e) => { if (obj[linkHref] && obj[linkHref].isFetched) { ul_container.style.display = "none"; obj[linkHref].isMouseOver = false; } else { obj[linkHref].isMouseOver = false; } }); navItem.addEventListener("mouseover", (e) => { obj[linkHref].isMouseOver = true; ul_container.style.display = "grid"; if (!obj[linkHref]) { loaderContainer.style.display = "none"; sliderContainer.remove(); } if (obj[linkHref] && !obj[linkHref].tmp_fetch) { const { id, val } = obj[linkHref]; obj[linkHref].tmp_fetch = true; fetchProducts(sliderContainer, id, val, subNav, obj[linkHref]); } navItem.querySelectorAll(".nav-merge > li:not(.empty)").forEach((el) => { el.addEventListener("mouseover", () => { navItem.querySelector( ".navbar-whiteBackground__baner" ).style.display = "none"; }); el.addEventListener("mouseleave", () => { navItem.querySelector( ".navbar-whiteBackground__baner" ).style.display = "block"; }); }); }); }); }