( () => { const header = document.querySelector("#header"); const basketInfo = document.querySelector("#basketinfo"); const basketContent = document.querySelector(".vc-basketinfoextended-content"); const itemCountBasket = parseInt(document.querySelector(".vc-basketinfoextended-numberofitems")?.textContent) || 0; if (basketInfo && basketContent && basketContent.children.length === 0 && itemCountBasket > 0) { const headerLink = basketInfo.querySelector('.vc-basketinfoextended-header'); if (headerLink) { headerLink.dispatchEvent(new MouseEvent('mouseover', { bubbles: true })); headerLink.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true })); } } const logoEl = header.querySelector(".vc-headerlogo img"); const logo = { src: logoEl ? logoEl.getAttribute("src") : '', alt: logoEl ? logoEl.getAttribute("alt") : '', }; const customContentBlock = header.querySelector(".custom-content-block.custom-content-header-1 > .content"); const customContentHeader = customContentBlock ? customContentBlock.innerHTML : ''; function extractMenuTree(ulElement) { if (!ulElement) return []; const listItems = Array.from(ulElement.children).filter(el => el.tagName === 'LI'); return listItems.map(li => { const link = li.querySelector(":scope > a"); const itemData = { text: link ? link.textContent.trim() : '', href: link ? link.getAttribute("href") : '' }; const subMenu = li.querySelector(":scope > ul[role='menu']"); if (subMenu) { itemData.sublinks = extractMenuTree(subMenu); } return itemData; }); } const rootMenu = header.querySelector("#menu #menucategories nav ul[role='menu']"); const menuData = extractMenuTree(rootMenu); const menuTop = header.querySelector("#menutop ul[role='menu']"); const menuTopData = menuTop ? Array.from(menuTop.querySelectorAll("li > a")).map(link => ({ text: link.textContent.trim(), href: link.getAttribute("href") })) : []; const searchForm = header.querySelector("#frm-searchbox"); const searchAction = searchForm ? searchForm.getAttribute("action") : "/hledani"; const userMenuNodes = header.querySelectorAll("#menuuser .content ul li a"); const userMenu = Array.from(userMenuNodes).map(a => ({ text: a.textContent.trim(), href: a.getAttribute("href") })); const basketPrice = header.querySelector("#basketinfo .vc-basketinfoextended-price")?.textContent.trim() || ''; const basketLink = header.querySelector("#basketinfo .vc-basketinfoextended-header")?.getAttribute("href") || '/kosik'; // Extract the newly populated items const basketItemsNodes = header.querySelectorAll(".vc-basketinfoextended-item"); const basketItems = Array.from(basketItemsNodes).map(item => { const img = item.querySelector("img"); const link = item.querySelector(".vc-basketinfoextended-item-namewrapper p a"); const qty = item.querySelector(".quantity"); const price = item.querySelector(".vc-basketinfoextended-item-price"); const remove = item.querySelector(".removeBasketItemLink"); return { imgSrc: img ? (img.getAttribute("data-src") || img.getAttribute("src")) : "", imgAlt: img ? img.getAttribute("alt") : "", name: link ? link.textContent.trim() : "", href: link ? link.getAttribute("href") : "", qty: qty ? qty.textContent.trim() : "", price: price ? price.textContent.trim() : "", removeLink: remove ? remove.getAttribute("href") : "" }; }); const freeDeliveryNode = header.querySelector(".ndBasketFreeDelivery_basketpopup p"); const freeDeliveryText = freeDeliveryNode ? freeDeliveryNode.textContent.trim() : ""; const finalData = { logo, customContentHeader, searchAction, userMenu, menu: { top: menuTopData, main: menuData }, basket: { itemCount: itemCountBasket, price: basketPrice, link: basketLink, items: basketItems, freeDelivery: freeDeliveryText } }; return finalData; })();