$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; var etk_search_token = ''; var etk_search_total_results = 0; var etk_ajax_loading = false; var etk_specs_loading = false; var etk_specs_loaded_token = ''; var etk_specs_locked = false; var etk_specs_base_token = ''; var etk_specs_retry_count = 0; var etk_initial_filter_specs = null; var etk_merged_filter_specs = null; var etk_filter_seen_products = {}; var etk_filter_seen_fallback_nodes = 0; var f_last_page_url_update = 0; var etk_results_cache_prefix = 'etk_search_results_cache_v17:'; var etk_results_cache_ttl = 30 * 60 * 1000; var etk_results_scroll_restore = null; var etk_results_cache_restored = false; var etk_prefetch_loading = false; var etk_prefetch_data = null; var etk_prefetch_key = ''; var etk_prefetch_req = null; var etk_prefetch_consume_requested = false; var etk_prefetch_last_attempt = 0; var etk_infinite_preload_distance = 3200; var etk_infinite_load_distance = 800; var etk_filter_option_limit = 5; var etk_filter_default_open_category_limit = 5; var etk_filter_option_expanded = {}; var etk_filter_cat_open_state = {}; var etk_filter_cat_user_state = {}; var etk_filter_top_open_state = {}; var etk_filter_top_user_state = {}; function f_parse_etk_search_meta(data) { var m; if (!data) return; m = data.match(//); if (m && m[1]) { etk_search_token = m[1]; window.etk_search_token = etk_search_token; } m = data.match(//); if (m && m[1]) { etk_search_total_results = parseInt(m[1], 10) || 0; window.etk_search_total_results = etk_search_total_results; } } function f_build_ajax_request_url(load_page, page_start_override) { var url = get_url; var page_start = pages_loaded; if (typeof page_start_override != 'undefined') { page_start = page_start_override; } if (url.indexOf('?') == -1) { url += '?'; } else { url += '&'; } url += 'filters=' + encodeURIComponent($('#id_field_filters').val() || '') + '&page_start=' + encodeURIComponent(page_start) + '&page_count=' + encodeURIComponent(load_page); if (etk_search_token != '') { url += '&search_token=' + encodeURIComponent(etk_search_token); } return url; } function f_get_checked_filters_string() { var filters_string = ''; var filters_cats = ''; var filters_subs = ''; var check_name; var matches; $('#id_products_filters_form input:checked').each(function() { check_name = $(this).attr('name') || ''; if (check_name.indexOf('products_top_categories_id') != -1) { matches = check_name.match(/products_top_categories_id\[(\d+)\]/); if (matches && matches[1]) { filters_cats += (filters_cats == '' ? '' : ',') + matches[1]; } } if (check_name.indexOf('products_filters_id') != -1) { matches = check_name.match(/products_filters_id\[(\d+)\]\[(\d+)\]/); if (matches && matches[2]) { filters_subs += (filters_subs == '' ? '' : ',') + matches[2]; } } }); if ($('#id_products_filters_form input[name^=products_top_categories_id]').length == $('#id_products_filters_form input:checked[name^=products_top_categories_id]').length) { if ((filter_type == 0) && (filters_subs.length == 0)) { filters_cats = ''; } if ((filter_type == 1) && (filters_subs == '')) { filters_cats = ''; } } if ((filters_cats != '') || (filters_subs != '')) { filters_string = filters_cats + '-' + filters_subs; } return filters_string; } function f_set_page_url(action) { var setpage = 1; var scroll_top; var base_url; if (is_spider) return; if (!window.history || !window.history.replaceState) return; if (action == 'scroll') { var now = (new Date()).getTime(); if ((now - f_last_page_url_update) < 250) return; f_last_page_url_update = now; } scroll_top = $(window).scrollTop(); $('.ajax-page-header').each(function() { if ($(this).offset().top - scroll_top > 0) return false; setpage = $(this).attr('id').replace('id_page_', ''); }); base_url = browser_url; if ($('#id_field_filters').val() != '') { base_url += (base_url.indexOf('?') == -1 ? '?' : '&') + 'filters=' + encodeURIComponent($('#id_field_filters').val()); } window.history.replaceState({scrollpos: scroll_top, ajax_page: setpage, pages_loaded: pages_loaded}, $(document).find('title').text(), base_url); } function f_collect_shipping_filters() { var obj = {}; $('input[id^="id_shipping_filters_"]').each(function(){ obj = $.extend({}, obj, $(this).serializeObject()); }); return obj; } function f_show_loading_more() { if (!$('#etk_loading_more').length) { $('#id_ajax_filters').after('
'); } $('#etk_loading_more').show(); } function f_hide_loading_more() { $('#etk_loading_more').hide(); } function f_build_results_request_data() { return $.extend({}, $('#id_filters_products_form').serializeObject(), $('#id_products_filters_form').serializeObject(), f_collect_shipping_filters(), possible_products); } function f_results_request_signature() { var sig = ''; try { sig += $('#id_filters_products_form').serialize(); } catch (e1) {} sig += '|'; try { sig += $('#id_products_filters_form').serialize(); } catch (e2) {} sig += '|'; try { sig += $('input[id^="id_shipping_filters_"]').serialize(); } catch (e3) {} sig += '|f=' + ($('#id_field_filters').val() || ''); sig += '|m=' + ($('#id_max_search_weight').val() || '0'); sig += '|t=' + (etk_search_token || window.etk_search_token || ''); return sig; } function f_results_prefetch_key(page_start, load_page) { return String(page_start) + '|' + String(load_page) + '|' + f_results_request_signature(); } function f_clear_results_prefetch(abort_request) { if (abort_request) { try { if (etk_prefetch_req) etk_prefetch_req.abort(); } catch (e) {} } etk_prefetch_loading = false; etk_prefetch_data = null; etk_prefetch_key = ''; etk_prefetch_req = null; etk_prefetch_consume_requested = false; } function f_results_show_more_distance() { var show_more = $('#id_ajax_filters_show_more'); if (!show_more.length || show_more.css('display') == 'none') return 999999; return show_more.offset().top - $(window).scrollTop() - $(window).height(); } function f_handle_loaded_results_data(data, load_page) { f_parse_etk_search_meta(data); if (data.indexOf('/); if (max_search_weight && max_search_weight[1]) $('#id_max_search_weight').val(max_search_weight[1]); } if (((data.indexOf('') > -1) || (data.indexOf('') > -1)) && (pages_loaded > 0)) { pages_loaded += load_page; $('#id_ajax_filters').append(data); } else { pages_loaded += load_page; $('#id_ajax_filters').stop(true, true).html(data).show(); } if ((data.indexOf('') == -1) && (data.indexOf('') == -1) && (data.indexOf('') == -1)) { $('#id_ajax_filters_show_more').css('opacity','').show(); } else { $('#id_ajax_filters_show_more').hide(); } f_load_filter_specs(false); f_set_page_url('load'); window.setTimeout(function(){ try { f_save_results_cache('load'); } catch (e3) {} }, 250); window.setTimeout(function(){ try { f_init_safe_filter_float(); } catch (e) {} try { f_maybe_start_results_prefetch(); } catch (e2) {} }, 120); } function f_use_results_prefetch() { var key = f_results_prefetch_key(pages_loaded, 1); var data; if (!etk_prefetch_data || etk_prefetch_key != key) return false; data = etk_prefetch_data; f_clear_results_prefetch(false); f_hide_loading_more(); f_handle_loaded_results_data(data, 1); return true; } function f_start_results_prefetch() { var key; var data_obj; var now; if (is_spider) return; if (!$('#id_ajax_filters_show_more').length) return; if ($('#id_ajax_filters_show_more').css('display') == 'none') return; if (pages_loaded < 1) return; if (etk_ajax_loading) return; key = f_results_prefetch_key(pages_loaded, 1); if (etk_prefetch_data && etk_prefetch_key == key) return; if (etk_prefetch_loading && etk_prefetch_key == key) return; now = (new Date()).getTime(); if ((now - etk_prefetch_last_attempt) < 500) return; etk_prefetch_last_attempt = now; if (etk_prefetch_loading) { f_clear_results_prefetch(true); } data_obj = f_build_results_request_data(); etk_prefetch_loading = true; etk_prefetch_data = null; etk_prefetch_key = key; etk_prefetch_req = $.ajax({ type: 'POST', url: f_build_ajax_request_url(1, pages_loaded), data: data_obj }).done(function(data) { if (etk_prefetch_key == key) { etk_prefetch_data = data; } }).fail(function() { if (etk_prefetch_key == key) { etk_prefetch_data = null; } }).always(function() { var should_consume = etk_prefetch_consume_requested; etk_prefetch_loading = false; etk_prefetch_req = null; if (should_consume) { etk_prefetch_consume_requested = false; if (!f_use_results_prefetch()) { f_clear_results_prefetch(false); f_filter_form_submit(false); } } }); } function f_maybe_start_results_prefetch() { var distance; if (etk_ajax_loading) return; distance = f_results_show_more_distance(); if (distance < etk_infinite_preload_distance) { f_start_results_prefetch(); } } function f_get_filter_scroll_box() { var box = $('#epi_search_deferred_filters').closest('table.infoBox'); if (box.length) return box; box = $('#c-modal__filter .c-sidebox').first(); return box; } function f_supports_results_cache() { try { if (!window.sessionStorage || !window.JSON) return false; sessionStorage.setItem('etk_cache_test', '1'); sessionStorage.removeItem('etk_cache_test'); return true; } catch (e) { return false; } } function f_results_cache_base_url() { var url = ''; if (window.location && window.location.href) { url = window.location.href; } else if (typeof browser_url != 'undefined') { url = browser_url; } if (url.indexOf('#') > -1) { url = url.split('#')[0]; } return url; } function f_results_cache_key() { return etk_results_cache_prefix + f_results_cache_base_url(); } function f_results_prune_cache() { var keys = []; var i; var k; var raw; var obj; if (!f_supports_results_cache()) return; try { for (i = 0; i < sessionStorage.length; i++) { k = sessionStorage.key(i); if (k && k.indexOf(etk_results_cache_prefix) == 0) { raw = sessionStorage.getItem(k); obj = null; try { obj = JSON.parse(raw); } catch (e1) { obj = null; } if (!obj || !obj.saved_at || (((new Date()).getTime() - parseInt(obj.saved_at, 10)) > etk_results_cache_ttl)) { sessionStorage.removeItem(k); i--; } else { keys.push({key:k, saved_at:parseInt(obj.saved_at, 10)}); } } } keys.sort(function(a,b){ return a.saved_at - b.saved_at; }); while (keys.length > 4) { sessionStorage.removeItem(keys[0].key); keys.shift(); } } catch (e2) {} } function f_save_results_cache(reason) { var list; var html; var cache; var key; var scroller; if (!f_supports_results_cache()) return; if (!$('#id_ajax_filters').length) return; if (typeof pages_loaded == 'undefined') return; if (pages_loaded < 1) return; list = $('#id_ajax_filters'); html = list.html() || ''; if (html == '' || html.indexOf('Please wait') > -1 || html.indexOf('Searching') > -1) return; scroller = f_get_filter_scroll_box(); cache = { saved_at: (new Date()).getTime(), reason: reason || '', html: html, pages_loaded: pages_loaded, search_token: etk_search_token || window.etk_search_token || '', total_results: etk_search_total_results || window.etk_search_total_results || 0, field_filters: $('#id_field_filters').val() || '', max_search_weight: $('#id_max_search_weight').val() || '0', show_more_visible: ($('#id_ajax_filters_show_more').length && $('#id_ajax_filters_show_more').css('display') != 'none') ? 1 : 0, scroll_top: $(window).scrollTop(), filter_scroll_top: scroller.length ? scroller.scrollTop() : 0, title: $(document).find('title').text() }; key = f_results_cache_key(); try { sessionStorage.setItem(key, JSON.stringify(cache)); f_results_prune_cache(); } catch (e) { f_results_prune_cache(); try { sessionStorage.setItem(key, JSON.stringify(cache)); } catch (e2) {} } } function f_restore_results_cache() { var key; var raw; var cache; var now; if (!f_supports_results_cache()) return false; if (!$('#id_ajax_filters').length) return false; key = f_results_cache_key(); raw = null; try { raw = sessionStorage.getItem(key); } catch (e) { raw = null; } if (!raw) return false; try { cache = JSON.parse(raw); } catch (e2) { cache = null; } if (!cache || !cache.html || !cache.saved_at) return false; now = (new Date()).getTime(); if ((now - parseInt(cache.saved_at, 10)) > etk_results_cache_ttl) { try { sessionStorage.removeItem(key); } catch (e3) {} return false; } $('#id_ajax_filters').stop(true, true).html(cache.html).show(); if ($('#id_field_filters').length) $('#id_field_filters').val(cache.field_filters || ''); if ($('#id_max_search_weight').length) $('#id_max_search_weight').val(cache.max_search_weight || '0'); if (cache.search_token) { etk_search_token = cache.search_token; window.etk_search_token = cache.search_token; } if (cache.total_results) { etk_search_total_results = parseInt(cache.total_results, 10) || 0; window.etk_search_total_results = etk_search_total_results; } pages_loaded = parseInt(cache.pages_loaded, 10) || 1; if (cache.show_more_visible) { $('#id_ajax_filters_show_more').css('opacity','').show(); } else { $('#id_ajax_filters_show_more').hide(); } f_parse_etk_search_meta(cache.html); f_load_filter_specs(false); f_style_filter_controls(); f_init_filter_groups(); etk_results_cache_restored = true; etk_results_scroll_restore = { scroll_top: parseInt(cache.scroll_top, 10) || 0, filter_scroll_top: parseInt(cache.filter_scroll_top, 10) || 0 }; setTimeout(function(){ var scroller; try { f_init_safe_filter_float(); } catch (e4) {} if (etk_results_scroll_restore) { $(window).scrollTop(etk_results_scroll_restore.scroll_top); scroller = f_get_filter_scroll_box(); if (scroller.length) scroller.scrollTop(etk_results_scroll_restore.filter_scroll_top); etk_results_scroll_restore = null; f_set_page_url('load'); } }, 120); return true; } function f_etk_html_escape(value) { if (value === null || value === undefined) return ''; return String(value).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); } function f_empty_filter_specs() { return {tops:{}, cats:{}, filters:{}, products:{}}; } function f_filter_specs_has_data(meta) { var top_id; if (!meta || !meta.tops) return false; for (top_id in meta.tops) { if (meta.tops.hasOwnProperty(top_id)) return true; } return false; } function f_find_filter_location(meta, filter_id) { var top_id; var cat_id; if (!meta || !meta.filters) return null; filter_id = String(filter_id); for (top_id in meta.filters) { if (meta.filters.hasOwnProperty(top_id)) { for (cat_id in meta.filters[top_id]) { if (meta.filters[top_id].hasOwnProperty(cat_id) && meta.filters[top_id][cat_id][filter_id]) { return {top_id: String(top_id), cat_id: String(cat_id)}; } } } } return null; } function f_merge_filter_specs_object(meta) { var changed = false; var top_id; var cat_id; var filter_id; var pid; var i; var loc; var filter; var seen_products_in_meta = false; if (!meta || !meta.tops || !meta.cats || !meta.filters) return false; if (!etk_merged_filter_specs) { etk_merged_filter_specs = f_empty_filter_specs(); } for (top_id in meta.tops) { if (meta.tops.hasOwnProperty(top_id)) { top_id = String(top_id); if (!etk_merged_filter_specs.tops[top_id]) { etk_merged_filter_specs.tops[top_id] = { id: meta.tops[top_id].id || top_id, name: meta.tops[top_id].name || 'Product Type', spec_count: 0 }; changed = true; } } } for (top_id in meta.cats) { if (meta.cats.hasOwnProperty(top_id)) { top_id = String(top_id); if (!etk_merged_filter_specs.cats[top_id]) etk_merged_filter_specs.cats[top_id] = {}; for (cat_id in meta.cats[top_id]) { if (meta.cats[top_id].hasOwnProperty(cat_id)) { cat_id = String(cat_id); if (!etk_merged_filter_specs.cats[top_id][cat_id]) { etk_merged_filter_specs.cats[top_id][cat_id] = { id: meta.cats[top_id][cat_id].id || cat_id, name: meta.cats[top_id][cat_id].name || 'Specification' }; changed = true; } } } } } for (top_id in meta.filters) { if (meta.filters.hasOwnProperty(top_id)) { top_id = String(top_id); if (!etk_merged_filter_specs.filters[top_id]) etk_merged_filter_specs.filters[top_id] = {}; if (!etk_merged_filter_specs.tops[top_id] && meta.tops[top_id]) { etk_merged_filter_specs.tops[top_id] = {id: top_id, name: meta.tops[top_id].name || 'Product Type', spec_count: 0}; } for (cat_id in meta.filters[top_id]) { if (meta.filters[top_id].hasOwnProperty(cat_id)) { cat_id = String(cat_id); if (!etk_merged_filter_specs.filters[top_id][cat_id]) etk_merged_filter_specs.filters[top_id][cat_id] = {}; for (filter_id in meta.filters[top_id][cat_id]) { if (meta.filters[top_id][cat_id].hasOwnProperty(filter_id)) { filter_id = String(filter_id); filter = meta.filters[top_id][cat_id][filter_id] || {}; if (!etk_merged_filter_specs.filters[top_id][cat_id][filter_id]) { etk_merged_filter_specs.filters[top_id][cat_id][filter_id] = { id: filter.id || filter_id, name: filter.name || '', count: 0 }; if (etk_merged_filter_specs.tops[top_id]) { etk_merged_filter_specs.tops[top_id].spec_count = (parseInt(etk_merged_filter_specs.tops[top_id].spec_count, 10) || 0) + 1; } changed = true; } } } } } } } if (meta.products) { for (pid in meta.products) { if (meta.products.hasOwnProperty(pid)) { seen_products_in_meta = true; pid = String(pid); if (etk_filter_seen_products[pid]) continue; etk_filter_seen_products[pid] = 1; if (!etk_merged_filter_specs.products) etk_merged_filter_specs.products = {}; etk_merged_filter_specs.products[pid] = meta.products[pid]; for (i = 0; i < meta.products[pid].length; i++) { filter_id = String(meta.products[pid][i]); loc = f_find_filter_location(meta, filter_id); if (loc && etk_merged_filter_specs.filters[loc.top_id] && etk_merged_filter_specs.filters[loc.top_id][loc.cat_id] && etk_merged_filter_specs.filters[loc.top_id][loc.cat_id][filter_id]) { etk_merged_filter_specs.filters[loc.top_id][loc.cat_id][filter_id].count = (parseInt(etk_merged_filter_specs.filters[loc.top_id][loc.cat_id][filter_id].count, 10) || 0) + 1; changed = true; } } } } } if (!seen_products_in_meta) { // Fallback for older metadata blocks that only contain aggregate counts. for (top_id in meta.filters) { if (meta.filters.hasOwnProperty(top_id)) { top_id = String(top_id); for (cat_id in meta.filters[top_id]) { if (meta.filters[top_id].hasOwnProperty(cat_id)) { cat_id = String(cat_id); for (filter_id in meta.filters[top_id][cat_id]) { if (meta.filters[top_id][cat_id].hasOwnProperty(filter_id)) { filter_id = String(filter_id); if (etk_merged_filter_specs.filters[top_id] && etk_merged_filter_specs.filters[top_id][cat_id] && etk_merged_filter_specs.filters[top_id][cat_id][filter_id]) { etk_merged_filter_specs.filters[top_id][cat_id][filter_id].count = (parseInt(etk_merged_filter_specs.filters[top_id][cat_id][filter_id].count, 10) || 0) + (parseInt(meta.filters[top_id][cat_id][filter_id].count, 10) || 0); changed = true; } } } } } } } } return changed; } function f_merge_filter_specs_from_dom() { var changed = false; var nodes = $('.etk_filter_specs_data, #etk_filter_specs_data'); nodes.each(function(){ var node = $(this); var txt; var obj = null; if (node.data('etkProcessed')) return; node.data('etkProcessed', true); txt = $.trim(node.text() || ''); if (txt == '') return; try { if ($.parseJSON) { obj = $.parseJSON(txt); } else if (window.JSON && window.JSON.parse) { obj = window.JSON.parse(txt); } } catch (e) { obj = null; } if (f_merge_filter_specs_object(obj)) { changed = true; } }); if (changed && etk_merged_filter_specs) { etk_initial_filter_specs = etk_merged_filter_specs; window.etk_initial_filter_specs = etk_merged_filter_specs; } return changed; } function f_collect_filter_check_state() { var state = {}; $('#id_products_filters_form input[name^="products_filters_id"],#id_products_filters_form input[name^="products_top_categories_id"],#id_products_filters_form input[name^="products_categories_id"]').each(function(){ var id = $(this).attr('id') || ''; if (id != '') state[id] = ($(this).prop('checked') ? 1 : 0); }); return state; } function f_restore_filter_check_state(state) { var id; if (!state) return; for (id in state) { if (state.hasOwnProperty(id)) { $('#' + id).prop('checked', state[id] ? true : false).attr('checked', state[id] ? 'checked' : false); } } } function f_get_initial_filter_specs_from_dom() { var holder; var txt; var obj; f_merge_filter_specs_from_dom(); if (etk_merged_filter_specs && f_filter_specs_has_data(etk_merged_filter_specs)) { return etk_merged_filter_specs; } if (etk_initial_filter_specs) return etk_initial_filter_specs; if (window.etk_initial_filter_specs) { etk_initial_filter_specs = window.etk_initial_filter_specs; f_merge_filter_specs_object(etk_initial_filter_specs); return etk_merged_filter_specs || etk_initial_filter_specs; } holder = $('#etk_filter_specs_data,.etk_filter_specs_data').first(); if (!holder.length) return null; txt = $.trim(holder.text() || ''); if (txt == '') return null; try { if ($.parseJSON) { obj = $.parseJSON(txt); } else if (window.JSON && window.JSON.parse) { obj = window.JSON.parse(txt); } } catch (e) { obj = null; } if (!obj || !obj.tops || !obj.cats || !obj.filters) return null; f_merge_filter_specs_object(obj); etk_initial_filter_specs = etk_merged_filter_specs || obj; window.etk_initial_filter_specs = etk_initial_filter_specs; return etk_initial_filter_specs; } function f_render_initial_filter_specs(meta) { var html = ''; var top_ids = []; var top_id; var cat_ids; var cat_id; var filter_ids; var filter_id; var top; var cat; var filter; var i; var j; var k; if (!meta || !meta.tops || !meta.cats || !meta.filters) return false; for (top_id in meta.tops) { if (meta.tops.hasOwnProperty(top_id)) top_ids.push(top_id); } if (top_ids.length < 1) return false; top_ids.sort(function(a, b){ var ta = meta.tops[a] || {}; var tb = meta.tops[b] || {}; var ca = parseInt(ta.spec_count, 10) || 0; var cb = parseInt(tb.spec_count, 10) || 0; if (cb != ca) return cb - ca; return (parseInt(a, 10) || 0) - (parseInt(b, 10) || 0); }); html += '
').show();
} else {
f_show_loading_more();
}
try { if (ajax_req) ajax_req.abort(); } catch (e) {}
data_obj = f_build_results_request_data();
ajax_req = $.ajax({
type: 'POST',
url: f_build_ajax_request_url(load_page),
data: data_obj
}).done(function(data) {
f_handle_loaded_results_data(data, load_page);
}).fail(function() {
if (pages_loaded == 0) {
$('#id_ajax_filters').html('').show();
}
}).always(function() {
etk_ajax_loading = false;
f_hide_loading_more();
window.setTimeout(function(){ try { f_maybe_start_results_prefetch(); } catch (e) {} }, 100);
});
}
}
$(function() {
f_style_filter_controls();
f_init_filter_groups();
$('#filters_form').show();
try { f_init_mobile_filter_drawer(); } catch (e) {}
$('#id_ajax_filters_show_more').click(function() {
f_filter_form_submit(false);
return false;
});
$(window).scroll(function() {
var show_more = $('#id_ajax_filters_show_more');
var distance;
if (show_more.length && show_more.css('display') != 'none' && !etk_ajax_loading) {
distance = f_results_show_more_distance();
if (distance < etk_infinite_preload_distance) {
f_start_results_prefetch();
}
if (distance < etk_infinite_load_distance) {
show_more.css('opacity', '0.01');
f_filter_form_submit(false);
}
}
f_set_page_url('scroll');
});
$('#id_products_filters_form').on('change', 'input[name^="products_filters_id"]', function() {
f_filter_form_submit(true);
});
$('#id_products_filters_form').on('change', 'input[name^="products_top_categories_id"]', function() {
var new_id = '#' + $(this).attr('id').replace('id_products', 'id_sub_products');
if ($(this).attr('checked') == 'checked' || $(this).prop('checked')) {
$(new_id).show();
} else {
$(new_id).hide();
$(new_id + ' input[name^="products_filters_id"]').attr('checked', false);
}
f_filter_form_submit(true);
});
$('#id_products_filters_form').on('change', 'input[id^="id_products_filters_categories_id_"]', function() {
var new_id = '#' + $(this).attr('id').replace('id_products', 'id_sub_products');
if ($(this).attr('checked') == 'checked' || $(this).prop('checked')) {
$(this).parent().css('background-position','5px 0px');
$(new_id).show();
} else {
$(this).parent().css('background-position','5px -18px');
$(new_id + ' input[name^="products_filters_id"]').attr('checked', false);
$(new_id).hide();
}
});
$('input[name="shipping_filters"]').change(function() {
if(!$(this).prop('checked')) {
$('#shipping_filters_div').hide();
} else {
$('#shipping_filters_div').show();
}
f_filter_form_submit(true);
});
$('input[name^="shipping_filters_id"]').change(function() {
f_filter_form_submit(true);
});
$(document).on('mousedown click', '#id_ajax_filters a[href]', function() {
var href = $(this).attr('href') || '';
if (href.indexOf('action=buy_now') == -1) {
f_save_results_cache('link');
}
});
if ('onpagehide' in window) {
$(window).on('pagehide', function() {
f_save_results_cache('pagehide');
});
} else {
$(window).on('beforeunload', function() {
f_save_results_cache('beforeunload');
});
}
if (!f_restore_results_cache()) {
f_filter_form_submit(true);
}
function etk_rebind_filter_float_after_sticky_header() {
try {
f_init_safe_filter_float();
} catch (e) {}
}
window.setTimeout(etk_rebind_filter_float_after_sticky_header, 250);
window.setTimeout(etk_rebind_filter_float_after_sticky_header, 1000);
window.setTimeout(etk_rebind_filter_float_after_sticky_header, 1800);
});