(function(){
var groupValues={all:[''],iphone:['43','150','187','210','217','215','237','245','247','212','249'],mac:['38','39','136','135','83','131','132','227','127','87','106'],ipad:['52','53','65','141','142','76','138','139','140'],watch:['111','112','117','250','276'],audio:['23','24','205','64'],accessories:['26','206','50','274','27','28','273','207','169']};
var activeGroup='all';
function isFiltered(){
var select=categorySelect();
var categoryActive=!!(select&&String(select.value||''));
var checked=Array.prototype.some.call(document.querySelectorAll('#mecx-filter-panel input[type="checkbox"]'),function(input){return input.checked});
var priceChanged=Array.prototype.some.call(document.querySelectorAll('#mecx-filter-panel #wpfMinPrice,#mecx-filter-panel #wpfMaxPrice'),function(input){return input.dataset.mecxDefault!==undefined&&String(input.value)!==input.dataset.mecxDefault});
return categoryActive||checked||priceChanged;
}
function syncMode(force){document.body.classList.toggle('mecx-filter-mode',typeof force==='boolean'?force:isFiltered())}
function setFilter(open){
document.body.classList.toggle('mecx-filter-visible',open);
var trigger=document.querySelector('.mecx-filter-open');
if(trigger)trigger.setAttribute('aria-expanded',open?'true':'false');
}
function categorySelect(){return document.querySelector('#mecx-filter-panel .wpfFilterWrapper:nth-child(3) select')}
function groupFor(value){
var found='all';
Object.keys(groupValues).some(function(group){if(groupValues[group].indexOf(String(value||''))>-1){found=group;return true}return false});
return found;
}
function paintFamilyUi(value,group){
activeGroup=group||groupFor(value);
document.querySelectorAll('.mecx-family-choice').forEach(function(button){
var active=button.getAttribute('data-mecx-group')===activeGroup;
button.classList.toggle('is-active',active);button.setAttribute('aria-pressed',active?'true':'false');
});
document.querySelectorAll('.mecx-subtype-group').forEach(function(panel){panel.hidden=panel.getAttribute('data-mecx-subtypes')!==activeGroup});
var empty=document.querySelector('.mecx-subtype-empty');if(empty)empty.hidden=activeGroup!=='all';
document.querySelectorAll('.mecx-subtype-choice').forEach(function(button){
var active=button.getAttribute('data-mecx-category')===String(value||'');
button.classList.toggle('is-active',active);button.setAttribute('aria-pressed',active?'true':'false');
});
}
function chooseCategory(value,group){
var select=categorySelect();if(!select)return;
select.value=String(value||'');paintFamilyUi(value,group);syncMode(String(value||'')!==''||isFiltered());
select.dispatchEvent(new Event('input',{bubbles:true}));
select.dispatchEvent(new Event('change',{bubbles:true}));
window.setTimeout(syncMode,500);
}
function resetFilters(){
var url=new URL(window.location.href);
Array.from(url.searchParams.keys()).forEach(function(key){if(/^(wpf_|pr_|min_price|max_price|orderby|product-page|paged)/.test(key))url.searchParams.delete(key)});
window.location.assign(url.toString());
}
document.addEventListener('click',function(event){
if(event.target.closest('.mecx-filter-open'))setFilter(true);
if(event.target.closest('.mecx-filter-close'))setFilter(false);
if(event.target.closest('.mecx-filter-done'))setFilter(false);
if(event.target.closest('.mecx-filter-reset')){event.preventDefault();resetFilters();return}
var choice=event.target.closest('[data-mecx-category]');
if(choice){chooseCategory(choice.getAttribute('data-mecx-category'),choice.getAttribute('data-mecx-group'));}
if(document.body.classList.contains('mecx-filter-visible')&&!event.target.closest('#mecx-filter-panel')&&!event.target.closest('.mecx-filter-open'))setFilter(false);
});
document.addEventListener('input',function(event){if(event.target.closest('#mecx-filter-panel'))syncMode()});
document.addEventListener('change',function(event){if(event.target.closest('#mecx-filter-panel'))window.setTimeout(syncMode,50)});
document.addEventListener('keydown',function(event){if(event.key==='Escape')setFilter(false)});
function initialiseFamilyUi(){
document.querySelectorAll('#mecx-filter-panel #wpfMinPrice,#mecx-filter-panel #wpfMaxPrice').forEach(function(input){input.dataset.mecxDefault=String(input.value)});
var select=categorySelect();paintFamilyUi(select?select.value:'',select?groupFor(select.value):'all');syncMode();
}
if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',initialiseFamilyUi)}else{initialiseFamilyUi()}
})();