פתח תפריט ניווט

קטגוריות ראשיות

חזרה ל - טפח פתח קטן מגנטי 74225S-GY שירות לקוחות - מעוניין לקבל פרטים לגבי טפח פתח קטן מגנטי 74225S-GY

שעות פעילות:

ימי א,ב,ד,ה     19:00 - 7:30 רצוף
ימי ג              17:00 - 7:30 רצוף
ימי ו              14:00 - 7:30 רצוף
  
כתובתינו : 
שלושת בני עין חרוד, באר שבע
  
טלפון שירות לקוחות: 
08-6273246
08-6650860
מענה טלפוני בימים א'-ה' בין השעות 8:30-16:30

info@pirzulcenter.co.il

 

הצטרפו לניוזלטר שלנו!

הצטרפו לניוזלטר שלנו וקבלו מתנה ישירות לתיבת הדואר שלכם! 

no-lazy

var selection = { group: group, selected: null, options: options }; requiredGroups.push(selection); group.options.forEach(function (option) { var label = option.title; if (option.hasPrice && option.price > 0) label += " (+" + money(option.price) + ")"; var button = el("button", "pcr-reference-choice" + (option.selected ? " is-selected" : ""), label); button.type = "button"; button.disabled = !option.available; button.setAttribute("aria-pressed", String(Boolean(option.selected))); if (option.selected) selection.selected = option; button.addEventListener("click", function () { if (group.type === "select") { group.node.value = option.value; emit(group.node, "input"); emit(group.node, "change"); } else { nativeClick(option.node); } all(".pcr-reference-choice", options).forEach(function (item) { item.classList.remove("is-selected"); item.setAttribute("aria-pressed", "false"); }); button.classList.add("is-selected"); button.setAttribute("aria-pressed", "true"); selection.selected = option; options.classList.remove("has-error"); if (model.updateDisplayedSku && option.code) model.updateDisplayedSku({ code: option.code }); window.setTimeout(function () { var nativePrice = firstNode(document, ["#item_show_price .price_value", ".main_price_and_btn .price_value"]); unitPrice = nativePrice ? number(nativePrice.textContent || nativePrice.getAttribute("content")) : model.price + (option.price || 0); syncSummary(); }, 80); }); options.appendChild(button); }); section.appendChild(options); panel.appendChild(section); }); var helper = el("div", "pcr-reference-helper pcr-reference-simple-helper"); helper.setAttribute("role", "status"); helper.setAttribute("aria-live", "polite"); var helperMain = el("span", "pcr-reference-helper-main"); var helperShipping = el("span", "pcr-reference-helper-shipping"); var progress = el("div", "pcr-reference-progress"); var progressFill = el("span", ""); progress.appendChild(progressFill); helper.appendChild(helperMain); helper.appendChild(el("span", "pcr-reference-helper-delivery", model.delivery || "משלוח ואיסוף בהתאם לפרטי המוצר")); helper.appendChild(helperShipping); helper.appendChild(progress); panel.appendChild(helper); var cta = el("button", "pcr-reference-cta"); cta.type = "button"; cta.disabled = !model.inStock || (!model.simpleQuantity && !model.buyNow); function formatQuantity(value) { return Number(value).toLocaleString("he-IL", { maximumFractionDigits: 2 }); } function syncSummary() { var total = model.hasPrice ? unitPrice * quantityValue : 0; quantityOutput.value = String(quantityValue); quantityOutput.textContent = formatQuantity(quantityValue); minus.disabled = !model.inStock || quantityValue <= minimumQuantity; plus.disabled = !model.inStock || quantityValue >= 999; displayedPrice.textContent = model.hasPrice ? money(unitPrice) : "המחיר יוצג בחנות"; helperMain.textContent = formatQuantity(quantityValue) + (quantityValue === 1 ? " יחידה" : " יחידות") + (model.hasPrice ? " · סה״כ " + money(total) : ""); helperShipping.textContent = total >= 350 ? "המשלוח שלכם חינם" : "משלוח חינם בהזמנה מעל ₪350"; progressFill.style.width = model.hasPrice ? Math.min(100, (total / 350) * 100) + "%" : "0%"; if (!model.inStock) cta.textContent = "אזל מהמלאי"; else if (!model.simpleQuantity && !model.buyNow) cta.textContent = "הרכישה אינה זמינה כרגע"; else cta.textContent = quantityValue === 1 ? "הוספת יחידה אחת לסל" : "הוספת " + formatQuantity(quantityValue) + " יחידות לסל"; } minus.addEventListener("click", function () { quantityValue = Math.max(minimumQuantity, quantityValue - minimumQuantity); syncSummary(); }); plus.addEventListener("click", function () { quantityValue = Math.min(999, quantityValue + minimumQuantity); syncSummary(); }); cta.addEventListener("click", function () { var missing = requiredGroups.find(function (entry) { return !entry.selected; }); if (missing) { var firstOption = one(".pcr-reference-choice:not(:disabled)", missing.options); if (firstOption) firstOption.focus(); missing.options.classList.add("has-error"); return; } var addedToCart = sendSimpleQuantityToCart(model.simpleQuantity, quantityValue); if (!addedToCart && model.buyNow) { nativeClick(model.buyNow); return; } cta.disabled = true; cta.textContent = "נוסף לסל"; panel.classList.add("has-success"); window.setTimeout(function () { panel.classList.remove("has-success"); cta.disabled = !model.inStock; syncSummary(); }, 1400); }); panel.appendChild(cta); appendReferenceSupport(panel, model); syncSummary(); return panel; } function renderReferencePurchase(model) { if (!model.variants.length) return renderReferenceSimplePurchase(model); var panel = el("section", "pcr-reference-purchase"); panel.appendChild(el("h2", "pcr-reference-variants-title", "כמויות לפי מידה")); var labels = el("div", "pcr-reference-variant-grid pcr-reference-variant-labels"); ["מידה", "מק״ט", "מחיר ליח׳", "כמות"].forEach(function (label) { labels.appendChild(el("span", "", label)); }); panel.appendChild(labels); var rows = []; var list = el("div", "pcr-reference-variant-list"); model.variants.forEach(function (variant) { var row = el("div", "pcr-reference-variant-grid pcr-reference-variant-row"); row.appendChild(el("strong", "pcr-reference-size", variant.label || variant.title)); var code = variant.code ? renderSkuShareControl(model, variant.code) : el("span", "", "—"); code.classList.add("pcr-reference-code"); row.appendChild(code); var unitPrice = el("strong", "pcr-reference-unit-price", variant.hasPrice ? "₪" + number(variant.price) : "—"); unitPrice.setAttribute("dir", "ltr"); row.appendChild(unitPrice); var quantity = el("div", "pcr-reference-quantity"); quantity.setAttribute("dir", "ltr"); var minus = el("button", "pcr-reference-qty-button", "−"); var output = el("output", "pcr-reference-qty-value", String(readQuantity(variant))); var plus = el("button", "pcr-reference-qty-button", "+"); minus.type = plus.type = "button"; minus.setAttribute("aria-label", "הפחתת כמות עבור " + variant.label); plus.setAttribute("aria-label", "הגדלת כמות עבור " + variant.label); quantity.appendChild(minus); quantity.appendChild(output); quantity.appendChild(plus); row.appendChild(quantity); list.appendChild(row); rows.push({ variant: variant, row: row, minus: minus, plus: plus, output: output }); minus.addEventListener("click", function () { changeVariantQuantity(variant, -1, sync); }); plus.addEventListener("click", function () { changeVariantQuantity(variant, 1, sync); }); }); panel.appendChild(list); var helper = el("div", "pcr-reference-helper"); var helperMain = el("span", "pcr-reference-helper-main", "בחרו כמות כדי לראות את הסכום הכולל"); var helperShipping = el("span", "pcr-reference-helper-shipping", "משלוח חינם בהזמנה מעל ₪350"); var progress = el("div", "pcr-reference-progress"); var progressFill = el("span", ""); progress.appendChild(progressFill); helper.appendChild(helperMain); helper.appendChild(helperShipping); helper.appendChild(progress); panel.appendChild(helper); var cta = el("button", "pcr-reference-cta", "בחרו כמות להמשך"); cta.type = "button"; panel.appendChild(cta); appendReferenceSupport(panel, model); function sync() { var count = 0; var sum = 0; rows.forEach(function (entry) { var value = readQuantity(entry.variant); entry.output.value = String(value); entry.output.textContent = String(value); entry.minus.disabled = value <= 0 || !entry.variant.available; entry.plus.disabled = !entry.variant.available; entry.row.classList.toggle("is-selected", value > 0); count += value; if (entry.variant.hasPrice) sum += value * entry.variant.price; }); if (count > 0) { helperMain.textContent = (count === 1 ? "פריט אחד" : count + " פריטים") + " · סה״כ " + money(sum); cta.textContent = count === 1 ? "הוספת פריט אחד לסל" : "הוספת " + count + " פריטים לסל"; } else { helperMain.textContent = "בחרו כמות כדי לראות את הסכום הכולל"; cta.textContent = "בחרו כמות להמשך"; } helperShipping.textContent = sum >= 350 ? "המשלוח שלכם חינם" : "משלוח חינם בהזמנה מעל ₪350"; progressFill.style.width = Math.min(100, (sum / 350) * 100) + "%"; } cta.addEventListener("click", function () { var selected = model.variants.filter(function (variant) { return readQuantity(variant) > 0; }); if (!selected.length) { var firstPlus = panel.querySelector(".pcr-reference-qty-button:last-child"); if (firstPlus) firstPlus.focus(); return; } selected.forEach(function (variant) { if (variant.commit) nativeClick(variant.commit); }); }); model.variants.forEach(function (variant) { [variant.fakeCounter, variant.counter, variant.select].forEach(function (control) { if (control) control.addEventListener("change", function () { window.setTimeout(sync, 40); }); }); }); sync(); return panel; } function hasRichAdditional(model) { if (!model.additional) return false; if (model.additional.classList.contains("mh-product-card")) return true; return Array.prototype.filter.call(model.additional.children || [], function (child) { return child.tagName === "SECTION"; }).length >= 2; } function renderPreservedAdditional(root, model, asPrimaryDescription) { if (!model.additional) return false; var section = el("section", "pcr-custom-content pcr-section"); section.id = asPrimaryDescription ? "pcr-description" : "pcr-additional-content"; if (asPrimaryDescription) { section.classList.add("pcr-rich-description"); section.setAttribute("aria-label", "תיאור המוצר"); section.setAttribute("data-pcr-rich-description", "true"); } var placeholder = document.createComment("pcr-additional-content-origin"); var parent = model.additional.parentNode; if (parent) parent.insertBefore(placeholder, model.additional); movedContent.push({ node: model.additional, placeholder: placeholder }); model.additional.classList.add("pcr-preserved-content"); model.additional.removeAttribute("aria-hidden"); model.additional.style.removeProperty("display"); section.appendChild(model.additional); root.appendChild(section); return true; } function renderTabs(root, model) { var nav = el("nav", "pcr-tabs"); nav.setAttribute("aria-label", "\u05e0\u05d9\u05d5\u05d5\u05d8 \u05d1\u05d3\u05e3 \u05d4\u05de\u05d5\u05e6\u05e8"); var items = []; if (model.description || hasRichAdditional(model)) items.push(["pcr-description", "\u05ea\u05d9\u05d0\u05d5\u05e8"]); if (model.technicalSpecs.length) items.push(["pcr-technical", "\u05de\u05e4\u05e8\u05d8 \u05d8\u05db\u05e0\u05d9"]); items.push(["pcr-shipping", "\u05de\u05e9\u05dc\u05d5\u05d7 \u05d5\u05d4\u05d7\u05d6\u05e8\u05d5\u05ea"]); items.push(["pcr-faq", "\u05e9\u05d0\u05dc\u05d5\u05ea \u05e0\u05e4\u05d5\u05e6\u05d5\u05ea"]); items.forEach(function (item, index) { var button = el("button", index === 0 ? "is-active" : "", item[1]); button.type = "button"; button.setAttribute("data-target-id", item[0]); button.setAttribute("aria-controls", item[0]); if (index === 0) button.setAttribute("aria-current", "location"); button.addEventListener("click", function (event) { event.preventDefault(); all("button", nav).forEach(function (tab) { tab.classList.remove("is-active"); tab.removeAttribute("aria-current"); }); button.classList.add("is-active"); button.setAttribute("aria-current", "location"); var target = document.getElementById(item[0]); if (target) target.scrollIntoView({ behavior: "smooth", block: "start" }); }); nav.appendChild(button); }); root.appendChild(nav); } function hideSources(model) { var relatedCard = one(".rv-card"); var relatedSource = relatedCard && relatedCard.closest("#dynamic-carousel-client, .rv-carousel, .recently_viewed, [class*='recently']"); [ one("#item_main"), one("#item_son_items"), one("#color_items") || one(".demo-finishes") || headingContainer(/\u05e6\u05d1\u05e2\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd|\u05d2\u05d9\u05de\u05d5\u05e8\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd|\u05e6\u05d1\u05e2\u05d9\u05dd \u05dc\u05d1\u05d7\u05d9\u05e8\u05ea\u05da/), one(".pcr-source-breadcrumbs"), one("#breadcrumbs"), one(".breadcrumbs"), one(".demo-additional"), relatedSource ] .forEach(function (node) { if (!node) return; node.classList.add("pcr-native-hidden"); node.setAttribute("aria-hidden", "true"); }); document.documentElement.classList.add("pcr-active"); document.documentElement.setAttribute("data-pcr-version", VERSION); } function enhanceFooter() { all("#layout_footer h3").forEach(function (heading) { var block = heading.parentElement; if (!block || block.querySelector(".pcr-footer-toggle")) return; var button = el("button", "pcr-footer-toggle"); button.type = "button"; button.setAttribute("aria-expanded", "false"); button.appendChild(el("span", "", clean(heading.textContent))); button.appendChild(icon("angle-down")); heading.style.display = "none"; block.insertBefore(button, heading.nextSibling); button.addEventListener("click", function () { var open = block.classList.toggle("is-open"); button.setAttribute("aria-expanded", String(open)); }); }); } function enhanceClubSignup() { var root = one("#footer_group1 .element_general_contact_new"); if (!root || root.classList.contains("pcr-club-signup")) return; var nameWrap = one(".wrap_ticket_customer_name", root); var phoneWrap = one(".wrap_ticket_customer_phone", root); var emailWrap = one(".wrap_ticket_customer_email", root); var checkboxWrap = one(".wrap_checkbox", root); var buttonWrap = one(".wrap_contact_btn", root); var nameInput = one("#ticket_customer_name", root); var phoneInput = one("#ticket_customer_phone", root); var emailInput = one("#ticket_customer_email", root); var newsletterInput = one("#ticket_newsletter", root); var submitButton = one(".contact_btn", root); var newsletterLabel = one(".newsletter_field", root); if (!nameWrap || !phoneWrap || !emailWrap || !checkboxWrap || !buttonWrap || !nameInput || !phoneInput || !emailInput || !submitButton) return; var originalChildren = Array.prototype.slice.call(root.childNodes); var originals = { namePlaceholder: nameInput.getAttribute("placeholder"), phonePlaceholder: phoneInput.getAttribute("placeholder"), emailPlaceholder: emailInput.getAttribute("placeholder"), submitText: submitButton.textContent, newsletterText: newsletterLabel ? newsletterLabel.textContent : "", newsletterChecked: newsletterInput ? newsletterInput.checked : false }; root.classList.add("pcr-club-signup"); root.setAttribute("dir", "rtl"); var benefits = el("section", "pcr-club-benefits"); benefits.setAttribute("aria-labelledby", "pcr-club-title"); var accent = el("span", "pcr-club-accent"); accent.setAttribute("aria-hidden", "true"); benefits.appendChild(accent); var title = el("h2", "pcr-club-title", "הצטרפו למועדון הלקוחות"); title.id = "pcr-club-title"; benefits.appendChild(title); benefits.appendChild(el("p", "pcr-club-subtitle", "הטבות, מבצעים ועדכונים שבאמת שווה לקבל")); var benefitsList = el("div", "pcr-club-benefits-list"); [ { icon: "tag", title: "מבצעים בלעדיים לחברי מועדון", text: "הנחות ומבצעים מיוחדים רק לחברי מועדון" }, { icon: "bell-o", title: "עדכונים ראשונים על מוצרים חדשים", text: "גלו ראשונים את הקולקציות והחידושים שלנו" }, { icon: "home", title: "תוכן והשראה לעיצוב הבית", text: "טיפים, רעיונות והמלצות שיעשו לכם את הבית" } ].forEach(function (benefit) { var row = el("div", "pcr-club-benefit"); var iconWrap = el("span", "pcr-club-benefit-icon"); var iconNode = document.createElement("i"); iconNode.className = "fa fa-" + benefit.icon; iconNode.setAttribute("aria-hidden", "true"); iconWrap.appendChild(iconNode); var copy = el("span", "pcr-club-benefit-copy"); copy.appendChild(el("strong", "", benefit.title)); copy.appendChild(el("span", "", benefit.text)); row.appendChild(iconWrap); row.appendChild(copy); benefitsList.appendChild(row); }); benefits.appendChild(benefitsList); var formPanel = el("section", "pcr-club-form-panel"); formPanel.setAttribute("aria-label", "טופס הצטרפות למועדון הלקוחות"); originalChildren.forEach(function (node) { formPanel.appendChild(node); }); var titleOne = one(".wrap_contact_title1", formPanel); var titleTwo = one(".wrap_contact_title2", formPanel); if (titleOne) titleOne.classList.add("pcr-club-native-title"); if (titleTwo) titleTwo.classList.add("pcr-club-native-title"); nameWrap.classList.add("pcr-club-field", "pcr-club-field-name"); phoneWrap.classList.add("pcr-club-field", "pcr-club-field-phone"); emailWrap.classList.add("pcr-club-field", "pcr-club-field-email"); checkboxWrap.classList.add("pcr-club-consent"); buttonWrap.classList.add("pcr-club-submit-wrap"); var nameLabel = one(".name_field", nameWrap); var phoneLabel = one(".phone_field", phoneWrap); var emailLabel = one(".email_field", emailWrap); if (nameLabel) nameLabel.textContent = "שם מלא"; if (phoneLabel) phoneLabel.textContent = "טלפון"; if (emailLabel) emailLabel.textContent = "אימייל"; nameInput.placeholder = "הקלידו שם מלא"; phoneInput.placeholder = "הקלידו מספר טלפון"; emailInput.placeholder = "הקלידו כתובת אימייל"; submitButton.textContent = "הצטרפות למועדון"; if (newsletterLabel) newsletterLabel.textContent = "אני רוצה לקבל הטבות ומבצעים במייל"; if (newsletterInput) newsletterInput.checked = false; var privacy = el("p", "pcr-club-privacy"); var privacyIcon = document.createElement("i"); privacyIcon.className = "fa fa-lock"; privacyIcon.setAttribute("aria-hidden", "true"); privacy.appendChild(privacyIcon); privacy.appendChild(document.createTextNode("בלי ספאם. אפשר להסיר את ההרשמה בכל רגע.")); formPanel.appendChild(privacy); root.appendChild(benefits); root.appendChild(formPanel); clubSignupCleanup = function () { if (!root || !root.classList.contains("pcr-club-signup")) return; originalChildren.forEach(function (node) { root.appendChild(node); }); if (benefits.parentNode) benefits.parentNode.removeChild(benefits); if (formPanel.parentNode) formPanel.parentNode.removeChild(formPanel); [nameWrap, phoneWrap, emailWrap].forEach(function (wrap) { wrap.classList.remove("pcr-club-field", "pcr-club-field-name", "pcr-club-field-phone", "pcr-club-field-email"); }); checkboxWrap.classList.remove("pcr-club-consent"); buttonWrap.classList.remove("pcr-club-submit-wrap"); nameInput.setAttribute("placeholder", originals.namePlaceholder || ""); phoneInput.setAttribute("placeholder", originals.phonePlaceholder || ""); emailInput.setAttribute("placeholder", originals.emailPlaceholder || ""); submitButton.textContent = originals.submitText; if (newsletterLabel) newsletterLabel.textContent = originals.newsletterText; if (newsletterInput) newsletterInput.checked = originals.newsletterChecked; root.classList.remove("pcr-club-signup"); root.removeAttribute("dir"); }; } function enhanceDesktopMegaMenu() { var candidates = Array.prototype.slice.call(document.querySelectorAll(".element_general_prime_categories.fullDrop, #header_show_prime_categories")); var root = null; var bestScore = -1; candidates.forEach(function (candidate) { if (!candidate || !candidate.isConnected) return; var list = candidate.querySelector(":scope > ul.store_categories"); var items = list ? Array.prototype.slice.call(list.children).filter(function (node) { return node && node.tagName === "LI" && !!node.querySelector(":scope > a"); }) : []; var rect = candidate.getBoundingClientRect(); if (!list || items.length < 5 || rect.width <= 0 || rect.height <= 0) return; var score = rect.width * rect.height + items.length * 1000; if (score > bestScore) { bestScore = score; root = candidate; } }); if (!root || root.__pcrMegaMenuEnhanced) return; var menu = root.querySelector(":scope > ul.store_categories"); if (!menu) return; var menuItems = Array.prototype.slice.call(menu.children).filter(function (item) { return item && item.tagName === "LI" && !!item.querySelector(":scope > a"); }); if (!menuItems.length) return; var generatedNodes = []; var listeners = []; var activeItem = null; var activePanel = null; var activeTrigger = null; var closeTimer = 0; var allPanel = null; var allToggle = null; function listen(target, type, handler, options) { target.addEventListener(type, handler, options || false); listeners.push({ target: target, type: type, handler: handler, options: options || false }); } function sourceListFor(item) { return item.querySelector(":scope > .drop-wrapper > ul.store_categories") || item.querySelector(":scope > ul.store_categories") || item.querySelector(".drop-wrapper ul.store_categories"); } function cloneMenuLink(link, className) { var clone = link.cloneNode(true); clone.removeAttribute("id"); clone.classList.add(className || "pcr-menu-panel-link"); return clone; } function extractGroups(item) { var parentLink = item.querySelector(":scope > a"); var parentLabel = parentLink ? clean(parentLink.textContent) : ""; var sourceList = sourceListFor(item); var groups = []; var current = null; function startGroup(title) { if (current && current.links.length) groups.push(current); current = { title: clean(title || ""), links: [] }; } function addLink(link) { if (!current) current = { title: parentLabel, links: [] }; current.links.push(link); } function consume(node) { if (!node) return; if (node.classList && node.classList.contains("children_group")) { Array.prototype.slice.call(node.children).forEach(consume); return; } if (node.tagName !== "LI") return; if (node.classList.contains("store_category_group_title")) { startGroup(node.textContent); return; } var directLink = node.querySelector(":scope > a"); if (directLink) addLink(directLink); } if (sourceList) Array.prototype.slice.call(sourceList.children).forEach(consume); if (current && current.links.length) groups.push(current); return groups; } function createViewAll(parentLink, compact) { var viewAll = el("a", "pcr-view-all-link"); viewAll.href = parentLink.getAttribute("href") || "#"; var arrow = document.createElement("i"); arrow.className = "fa fa-long-arrow-left"; arrow.setAttribute("aria-hidden", "true"); viewAll.appendChild(arrow); viewAll.appendChild(document.createTextNode(compact ? "לכל הקטגוריה" : "לצפייה בכל הקטגוריה")); return viewAll; } function createPromoColumn(parentLink, label) { var sourceImage = one("#" + ROOT_ID + " .pcr-main-image") || one("#" + ROOT_ID + " .pcr-reference-main-image"); var imageSrc = window.__PCR_LOCAL_PREVIEW__ ? "/assets/menu/home-decor-category-promo.png" : (sourceImage ? (sourceImage.currentSrc || sourceImage.getAttribute("src")) : ""); var promo = el("aside", "pcr-menu-promo"); if (imageSrc) { var image = document.createElement("img"); image.src = imageSrc; image.alt = "עיצוב לבית — " + label; promo.appendChild(image); } promo.appendChild(createViewAll(parentLink, false)); var allButton = el("button", "pcr-menu-promo-all"); allButton.type = "button"; allButton.setAttribute("aria-label", "עבור לרשימת כל הקטגוריות"); allButton.innerHTML = 'כל הקטגוריות'; listen(allButton, "click", function () { var firstRailButton = allPanel && allPanel.querySelector(".pcr-category-rail-button"); if (firstRailButton) firstRailButton.focus(); }); promo.appendChild(allButton); return promo; } function buildCategoryPanel(item, index) { var parentLink = item.querySelector(":scope > a"); var label = clean(parentLink.textContent); var groups = extractGroups(item); var displayGroups = []; var promo = createPromoColumn(parentLink, label); var columnCount = promo ? 3 : 4; var buckets = []; var panel = el("div", "pcr-category-panel"); var grid = el("div", "pcr-category-panel-grid" + (promo ? " pcr-has-promo" : " pcr-no-promo")); panel.id = "pcr-cat-panel-" + (index + 1); panel.setAttribute("role", "region"); panel.setAttribute("aria-label", label); panel.setAttribute("aria-hidden", "true"); for (var columnIndex = 0; columnIndex < columnCount; columnIndex += 1) { buckets.push({ weight: 0, groups: [] }); } groups.forEach(function (group) { var chunkSize = promo ? 8 : 10; if (group.links.length <= chunkSize) { displayGroups.push(group); return; } for (var offset = 0; offset < group.links.length; offset += chunkSize) { displayGroups.push({ title: offset === 0 ? group.title : "אפשרויות נוספות", links: group.links.slice(offset, offset + chunkSize) }); } }); displayGroups.forEach(function (group) { var bucket = buckets.reduce(function (best, candidate) { return candidate.weight < best.weight ? candidate : best; }, buckets[0]); bucket.groups.push(group); bucket.weight += group.links.length + (group.title ? 2 : 0); }); buckets.forEach(function (bucket) { var column = el("div", "pcr-category-panel-column"); bucket.groups.forEach(function (group) { var section = el("section", "pcr-menu-link-group"); if (group.title) section.appendChild(el("h4", "", group.title)); group.links.forEach(function (link) { section.appendChild(cloneMenuLink(link)); }); column.appendChild(section); }); grid.appendChild(column); }); var lastTextColumn = grid.querySelector(".pcr-category-panel-column:last-of-type"); if (lastTextColumn) lastTextColumn.appendChild(createViewAll(parentLink, false)); if (promo) grid.appendChild(promo); panel.appendChild(grid); return panel; } function categoryIconClass(label) { if (label.indexOf("רחצה") !== -1) return "fa-bath"; if (label.indexOf("טכני") !== -1) return "fa-cog"; if (label.indexOf("דקורציה") !== -1) return "fa-picture-o"; if (label.indexOf("עבודה") !== -1) return "fa-wrench"; if (label.indexOf("צבע") !== -1 || label.indexOf("דבק") !== -1) return "fa-paint-brush"; if (label.indexOf("רגל") !== -1) return "fa-columns"; if (label.indexOf("פח") !== -1) return "fa-trash-o"; if (label.indexOf("ידיות") !== -1) return "fa-link"; if (label.indexOf("מטבח") !== -1) return "fa-cutlery"; if (label.indexOf("אחסון") !== -1 || label.indexOf("ארונות") !== -1) return "fa-archive"; return "fa-square-o"; } function preferredExplorerIndex() { var preferred = menuItems.findIndex(function (item) { var link = item.querySelector(":scope > a"); return clean(link ? link.textContent : "").indexOf("דקורציה") !== -1; }); if (preferred !== -1) return preferred; preferred = menuItems.findIndex(function (item) { return extractGroups(item).length > 0; }); return preferred === -1 ? 0 : preferred; } function renderExplorerCategory(panel, item, index) { if (!panel || !item) return; var parentLink = item.querySelector(":scope > a"); if (!parentLink) return; var label = clean(parentLink.textContent); var content = panel.querySelector(".pcr-category-explorer-content"); var promoSlot = panel.querySelector(".pcr-category-explorer-promo"); var groups = extractGroups(item); var chunks = []; groups.forEach(function (group) { if (chunks.length >= 4) return; var links = group.links.slice(0, 10); for (var offset = 0; offset < links.length && chunks.length < 4; offset += 5) { chunks.push({ title: offset === 0 ? group.title : "אפשרויות נוספות", links: links.slice(offset, offset + 5) }); } }); if (!chunks.length) chunks.push({ title: label, links: [] }); while (chunks.length < 4) chunks.push({ title: "", links: [] }); content.innerHTML = ""; chunks.slice(0, 4).forEach(function (group) { var column = el("section", "pcr-category-explorer-column"); if (group.title) column.appendChild(el("h4", "", group.title)); group.links.forEach(function (link) { column.appendChild(cloneMenuLink(link)); }); content.appendChild(column); }); var footer = el("div", "pcr-category-explorer-footer"); footer.appendChild(createViewAll(parentLink, false)); content.appendChild(footer); promoSlot.innerHTML = ""; promoSlot.appendChild(createPromoColumn(parentLink, label)); panel.querySelectorAll(".pcr-category-rail-button").forEach(function (button, buttonIndex) { var selected = buttonIndex === index; button.classList.toggle("is-active", selected); button.setAttribute("aria-pressed", selected ? "true" : "false"); if (selected) button.setAttribute("aria-current", "true"); else button.removeAttribute("aria-current"); }); panel.setAttribute("aria-label", label); panel.setAttribute("data-active-category", String(index)); } function createAllCategoriesPanel() { var panel = el("div", "pcr-all-categories-panel"); var layout = el("div", "pcr-category-explorer"); var rail = el("div", "pcr-category-rail"); var content = el("div", "pcr-category-explorer-content"); var promo = el("div", "pcr-category-explorer-promo"); panel.id = "pcr-all-categories-panel"; panel.setAttribute("role", "region"); panel.setAttribute("aria-label", "כל הקטגוריות"); panel.setAttribute("aria-hidden", "true"); rail.setAttribute("role", "navigation"); rail.setAttribute("aria-label", "קטגוריות מוצרים"); menuItems.forEach(function (item, index) { var parentLink = item.querySelector(":scope > a"); if (!parentLink) return; var label = clean(parentLink.textContent); var button = el("button", "pcr-category-rail-button"); var icon = document.createElement("i"); button.type = "button"; button.setAttribute("aria-pressed", "false"); icon.className = "fa " + categoryIconClass(label); icon.setAttribute("aria-hidden", "true"); button.appendChild(icon); button.appendChild(el("span", "", label)); listen(button, "click", function () { var toggle = item.querySelector(":scope > .pcr-category-toggle"); menuItems.forEach(function (menuItem) { menuItem.classList.remove("pcr-is-open"); var menuToggle = menuItem.querySelector(":scope > .pcr-category-toggle"); if (menuToggle) menuToggle.setAttribute("aria-expanded", "false"); }); item.classList.add("pcr-is-open"); if (toggle) toggle.setAttribute("aria-expanded", "true"); activeItem = item; activeTrigger = toggle || allToggle; renderExplorerCategory(panel, item, index); }); rail.appendChild(button); }); layout.appendChild(rail); layout.appendChild(content); layout.appendChild(promo); panel.appendChild(layout); renderExplorerCategory(panel, menuItems[preferredExplorerIndex()], preferredExplorerIndex()); return panel; } function clearCloseTimer() { if (!closeTimer) return; window.clearTimeout(closeTimer); closeTimer = 0; } function closeMenuState() { clearCloseTimer(); menuItems.forEach(function (item) { item.classList.remove("pcr-is-open"); var toggle = item.querySelector(":scope > .pcr-category-toggle"); if (toggle) toggle.setAttribute("aria-expanded", "false"); }); root.querySelectorAll(".pcr-category-panel, .pcr-all-categories-panel").forEach(function (panel) { panel.classList.remove("is-open"); panel.setAttribute("aria-hidden", "true"); }); if (allToggle) allToggle.setAttribute("aria-expanded", "false"); activeItem = null; activePanel = null; activeTrigger = null; root.classList.remove("pcr-menu-open", "pcr-all-categories-open"); root.removeAttribute("data-pcr-open-panel"); } function openCategory(item, panel, toggle) { clearCloseTimer(); var itemIndex = menuItems.indexOf(item); if (activePanel === panel && panel.classList.contains("is-open") && activeItem === item) return; closeMenuState(); item.classList.add("pcr-is-open"); toggle.setAttribute("aria-expanded", "true"); renderExplorerCategory(panel, item, itemIndex); panel.classList.add("is-open"); panel.setAttribute("aria-hidden", "false"); activeItem = item; activePanel = panel; activeTrigger = toggle; root.setAttribute("data-pcr-open-panel", panel.id); root.classList.add("pcr-menu-open"); } function scheduleClose() { clearCloseTimer(); closeTimer = window.setTimeout(function () { closeMenuState(); }, 180); } allPanel = createAllCategoriesPanel(); root.appendChild(allPanel); generatedNodes.push(allPanel); menuItems.forEach(function (item, index) { var link = item.querySelector(":scope > a"); if (!link) return; var label = clean(link.textContent); var cleanLabel = el("span", "pcr-clean-label", label); link.appendChild(cleanLabel); link.classList.add("pcr-menu-link"); generatedNodes.push(cleanLabel); var childList = sourceListFor(item); if (!childList || !childList.querySelector("a")) return; item.classList.add("pcr-has-mega"); var panel = allPanel; var toggle = el("button", "pcr-category-toggle"); toggle.type = "button"; toggle.setAttribute("aria-label", "פתח תפריט עבור " + label); toggle.setAttribute("aria-expanded", "false"); toggle.setAttribute("aria-controls", panel.id); toggle.innerHTML = ''; link.parentNode.insertBefore(toggle, link.nextSibling); generatedNodes.push(toggle); listen(toggle, "click", function (event) { event.preventDefault(); event.stopPropagation(); if (panel.classList.contains("is-open") && panel.__pcrOpenedByHover) { panel.__pcrOpenedByHover = false; return; } if (panel.classList.contains("is-open")) { closeMenuState(); } else { panel.__pcrOpenedByHover = false; openCategory(item, panel, toggle); } }); listen(item, "mouseenter", function () { panel.__pcrOpenedByHover = true; openCategory(item, panel, toggle); }); listen(item, "mouseleave", scheduleClose); listen(panel, "mouseenter", clearCloseTimer); listen(panel, "mouseleave", scheduleClose); listen(toggle, "keydown", function (event) { if (event.key !== "Escape") return; event.preventDefault(); event.stopPropagation(); closeMenuState(); }); listen(panel, "keydown", function (event) { if (event.key !== "Escape") return; event.preventDefault(); event.stopPropagation(); closeMenuState(); toggle.focus(); }); }); allToggle = el("button", "pcr-all-categories-toggle"); allToggle.type = "button"; allToggle.setAttribute("aria-expanded", "false"); allToggle.setAttribute("aria-controls", allPanel.id); allToggle.innerHTML = 'כל הקטגוריות'; root.appendChild(allToggle); generatedNodes.push(allToggle); listen(allToggle, "click", function (event) { event.preventDefault(); event.stopPropagation(); var wasOpen = allPanel.classList.contains("is-open"); closeMenuState(); if (wasOpen) return; var initialIndex = preferredExplorerIndex(); var initialItem = menuItems[initialIndex]; renderExplorerCategory(allPanel, initialItem, initialIndex); if (initialItem) initialItem.classList.add("pcr-is-open"); allPanel.classList.add("is-open"); allPanel.setAttribute("aria-hidden", "false"); allToggle.setAttribute("aria-expanded", "true"); activeItem = initialItem || null; activePanel = allPanel; activeTrigger = allToggle; root.setAttribute("data-pcr-open-panel", allPanel.id); root.classList.add("pcr-all-categories-open"); }); listen(allPanel, "mouseenter", clearCloseTimer); listen(allPanel, "mouseleave", scheduleClose); listen(document, "click", function (event) { if (!event.target || !root.contains(event.target)) closeMenuState(); }); listen(document, "focusin", function (event) { if (!event.target || !root.contains(event.target)) closeMenuState(); }); listen(document, "keydown", function (event) { if (event.key !== "Escape" || !activePanel) return; var trigger = activeTrigger; closeMenuState(); if (trigger) trigger.focus(); }); root.classList.add("pcr-desktop-menu-root"); menu.classList.add("pcr-desktop-menu"); root.__pcrMegaMenuEnhanced = true; root.__pcrMegaMenuCleanup = function () { clearCloseTimer(); listeners.forEach(function (entry) { entry.target.removeEventListener(entry.type, entry.handler, entry.options); }); generatedNodes.slice().reverse().forEach(function (node) { if (node && node.parentNode) node.parentNode.removeChild(node); }); menuItems.forEach(function (item) { item.classList.remove("pcr-is-open", "pcr-has-mega"); var link = item.querySelector(":scope > a"); if (link) link.classList.remove("pcr-menu-link"); }); menu.classList.remove("pcr-desktop-menu"); root.classList.remove("pcr-desktop-menu-root", "pcr-menu-open", "pcr-all-categories-open"); root.removeAttribute("data-pcr-open-panel"); delete root.__pcrMegaMenuEnhanced; delete root.__pcrMegaMenuCleanup; }; desktopMegaMenuCleanup = root.__pcrMegaMenuCleanup; } function render() { if (destroyed || !isProductPage()) return false; var existingRoot = one("#" + ROOT_ID); if (existingRoot) { installEncodingGuard(existingRoot); scheduleEncodingPasses(); return true; } var model = collectModel(); if (!model.title || !model.gallery.length) return false; if (window.PirzulVariantEngine && typeof window.PirzulVariantEngine.destroy === "function") { window.PirzulVariantEngine.destroy(); } var root = el("main", "pcr-product-page pcr-reference-page notranslate"); root.id = ROOT_ID; root.setAttribute("dir", "rtl"); root.setAttribute("lang", "he"); root.setAttribute("translate", "no"); root.setAttribute("data-item-id", model.itemId); var hero = el("section", "pcr-reference-hero"); var media = el("div", "pcr-reference-media"); media.appendChild(renderReferenceGallery(model)); var similar = renderReferenceSimilar(model); if (similar) media.appendChild(similar); var commerce = el("div", "pcr-reference-commerce"); commerce.appendChild(renderReferenceHeading(model)); commerce.appendChild(renderReferenceReviews(model)); commerce.appendChild(renderReferencePurchase(model)); hero.appendChild(media); hero.appendChild(commerce); root.appendChild(hero); var richDescription = hasRichAdditional(model); renderTabs(root, model); if (richDescription) renderPreservedAdditional(root, model, true); else renderStory(root, model); var detailsGrid = el("div", "pcr-details-grid"); renderFinishes(detailsGrid, model); renderTechnical(detailsGrid, model); if (detailsGrid.children.length) root.appendChild(detailsGrid); renderShipping(root, model); renderFaq(root, model); if (!richDescription) renderPreservedAdditional(root, model, false); renderRelated(root, model); var itemMain = one("#item_main"); itemMain.parentNode.insertBefore(root, itemMain); installEncodingGuard(root); scheduleEncodingPasses(); hideSources(model); watchLateRelatedProducts(media, model); enhanceFooter(); enhanceClubSignup(); enhanceDesktopMegaMenu(); return true; } function restoreSources() { movedContent.forEach(function (entry) { if (!entry.node || !entry.placeholder || !entry.placeholder.parentNode) return; entry.node.classList.remove("pcr-preserved-content"); entry.placeholder.parentNode.insertBefore(entry.node, entry.placeholder); entry.placeholder.parentNode.removeChild(entry.placeholder); }); movedContent = []; all(".pcr-native-hidden").forEach(function (node) { node.classList.remove("pcr-native-hidden"); node.removeAttribute("aria-hidden"); }); document.documentElement.classList.remove("pcr-active"); } function clearObservers() { observers.forEach(function (observer) { observer.disconnect(); }); observers = []; encodingSupervisor = null; } function refresh() { clearObservers(); closeSkuShare(false); var root = one("#" + ROOT_ID); if (root) root.remove(); restoreSources(); window.setTimeout(render, 80); } function destroy() { destroyed = true; clearObservers(); closeSkuShare(false); if (desktopMegaMenuCleanup) { desktopMegaMenuCleanup(); desktopMegaMenuCleanup = null; } if (clubSignupCleanup) { clubSignupCleanup(); clubSignupCleanup = null; } var root = one("#" + ROOT_ID); if (root) root.remove(); restoreSources(); } function start() { if (!itemId()) return; installEncodingSupervisor(); var attempts = 0; var timer = window.setInterval(function () { attempts += 1; if (render() || attempts >= MAX_TRIES) window.clearInterval(timer); }, TRY_DELAY); render(); } if (window.PirzulProductRedesign && typeof window.PirzulProductRedesign.destroy === "function") { window.PirzulProductRedesign.destroy(); } if (window.PirzulLoungePilot && typeof window.PirzulLoungePilot.destroy === "function") { window.PirzulLoungePilot.destroy(); } window.PirzulLoungePilot = { version: VERSION, scope: "all-product-pages", refresh: refresh, destroy: destroy }; if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", start, { once: true }); } else { start(); } window.addEventListener("pageshow", function () { if (!one("#" + ROOT_ID)) render(); }); })();