(function () { 'use strict'; var LIST_SEL = '[fs-list-element="list"].articles_grid'; var FILTER_SEL = '.filters_flex.w-dyn-items'; var snapshotCounts = null; function qList() { return document.querySelector(LIST_SEL); } function qFilter() { return document.querySelector(FILTER_SEL); } function articleCategory(article) { var tag = article.querySelector('.tags_higlight [fs-list-field="category"]') || article.querySelector('[fs-list-field="category"]'); return tag ? tag.textContent.replace(/\s+/g, ' ').trim() : ''; } function buildCounts() { var list = qList(); var counts = {}; if (!list) return counts; var items = list.querySelectorAll('.article_item.w-dyn-item'); for (var i = 0; i < items.length; i++) { var cat = articleCategory(items[i]); if (!cat) continue; counts[cat] = (counts[cat] || 0) + 1; } return counts; } function totalArticles(counts) { var t = 0; for (var k in counts) { if (Object.prototype.hasOwnProperty.call(counts, k)) t += counts[k]; } return t; } function captureSnapshotIfPossible() { var c = buildCounts(); if (totalArticles(c) === 0) return false; snapshotCounts = c; return true; } function applyFromSnapshot() { var filterRoot = qFilter(); if (!filterRoot) return; if (!snapshotCounts) { if (!captureSnapshotIfPossible()) return; } var counts = snapshotCounts; var inputs = filterRoot.querySelectorAll( 'input[fs-list-field="category"][fs-list-value]' ); for (var j = 0; j < inputs.length; j++) { var input = inputs[j]; var val = (input.getAttribute('fs-list-value') || '').trim(); var label = input.closest('label'); var sup = label && label.querySelector('.count_items sup'); var row = input.closest('.filter_item.w-dyn-item') || input.closest('.w-dyn-item'); var n = Object.prototype.hasOwnProperty.call(counts, val) ? counts[val] : 0; if (sup) sup.textContent = String(n); if (!row) continue; if (n === 0) { row.setAttribute('hidden', ''); input.disabled = true; input.checked = false; } else { row.removeAttribute('hidden'); input.disabled = false; } } } function bind() { var list = qList(); var filterRoot = qFilter(); if (!list || !filterRoot) return false; document.addEventListener('fs-cmsload-complete', function () { snapshotCounts = null; captureSnapshotIfPossible(); applyFromSnapshot(); }); window.addEventListener('pageshow', function () { applyFromSnapshot(); }); (function waitSnapshot() { if (captureSnapshotIfPossible()) { applyFromSnapshot(); return; } setTimeout(waitSnapshot, 120); })(); return true; } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function tryBind() { if (!bind()) setTimeout(tryBind, 200); }); } else { (function tryBind() { if (!bind()) setTimeout(tryBind, 200); })(); } })();