
PK 
$(document).ready(function () {
// Initialize filtering_data attributes
$('#filtering_data').attr({
'data-brand': '',
'data-color': '',
'data-cat': '',
'data-subcat': '',
'data-minprice': $('#minprice').val() || 0,
'data-maxprice': $('#maxprice').val() || 1000
});
// Define searchData function at the top level
function searchData(array, searchValues) {
if (!array || !searchValues) return 0;
return searchValues.some(function(value) {
return array.includes(value);
}) ? 1 : 0;
}
function checkPrice(min, max, sellingprice) {
if (sellingprice >= min && sellingprice <= max) {
return 1;
}
return 0;
}
function countProductCount() {
return $("#showevent li.visible").length;
}
$(".filter_by_brand").on('click', function () {
var allVals = [];
$('.filter_by_brand:checked').each(function () {
allVals.push($(this).val());
});
$("#filtering_data").attr('data-brand', allVals.toString());
filterData();
});
$(".filter_by_color").on('click', function () {
var allVals = [];
$('.filter_by_color:checked').each(function () {
allVals.push($(this).val());
});
$("#filtering_data").attr('data-color', allVals.toString());
filterData();
});
function filterData() {
var filter_brand = getFilterValues('data-brand');
var filter_color = getFilterValues('data-color');
var filter_cat = getFilterValues('data-cat');
var filter_subcat = getFilterValues('data-subcat');
var filter_min_sp = parseInt($("#filtering_data").attr('data-minprice')) || 0;
var filter_max_sp = parseInt($("#filtering_data").attr('data-maxprice')) || 1000;
$("#showevent li").each(function () {
var data_brand = getProductDataValues($(this), 'data-brand');
var data_color = getProductDataValues($(this), 'data-color');
var data_cat = $(this).attr('data-cat') || '';
var data_subcat = getProductDataValues($(this), 'data-subcat');
var data_sp = parseInt($(this).attr('data-sp')) || 0;
var isCat = filter_cat.length ? searchData([data_cat], filter_cat) : 1;
var isSubcat = filter_subcat.length ? searchData(data_subcat, filter_subcat) : 1;
var isBrand = filter_brand.length ? searchData(data_brand, filter_brand) : 1;
var isColor = filter_color.length ? searchData(data_color, filter_color) : 1;
var isPrice = checkPrice(filter_min_sp, filter_max_sp, data_sp);
if (isBrand && isColor && isPrice && isCat && isSubcat) {
$(this).show().removeClass('hidden').addClass('visible');
} else {
$(this).hide().removeClass('visible').addClass('hidden');
}
});
updateProductCount();
}
// Helper functions
function getFilterValues(attribute) {
var value = $("#filtering_data").attr(attribute);
return value && value !== "" ? value.split(',') : [];
}
function getProductDataValues(element, attribute) {
var value = element.attr(attribute);
return value ? value.split(',') : [];
}
function updateProductCount() {
var count = countProductCount();
$("#total_item").html(count > 1 ?
'Showing ' + count + ' results' :
'Showing ' + count + ' result');
}
// Initialize price slider
function initPriceSlider() {
var minval = parseInt($("#minprice").val()) || 0;
var maxval = parseInt($("#maxprice").val()) || 1000;
$("#slider").slider({
range: true,
min: minval,
max: maxval,
values: [minval, maxval],
slide: function (event, ui) {
var min = ui.values[0];
var max = ui.values[1];
$('#range').text(min + ' - ' + max);
$('#minprice').val(min);
$('#maxprice').val(max);
$("#filtering_data").attr('data-minprice', min);
$("#filtering_data").attr('data-maxprice', max);
filterData();
}
});
}
// Initialize everything
initPriceSlider();
filterData(); // Initial filter
});
function getNewitemsss() {
var opt = parseInt($('#orderby').val());
switch (opt) {
case 0:
$('#showevent li').sort(function (a, b) {
return parseInt(b.dataset.pid) - parseInt(a.dataset.pid);
}).appendTo('#showevent');
break;
case 1:
$('#showevent li').sort(function (a, b) {
return parseInt(a.dataset.sp) - parseInt(b.dataset.sp);
}).appendTo('#showevent');
break;
case 2:
$('#showevent li').sort(function (a, b) {
return parseInt(b.dataset.sp) - parseInt(a.dataset.sp);
}).appendTo('#showevent');
break;
default:
$('#showevent li').sort(function (a, b) {
return parseInt(a.dataset.pid) - parseInt(b.dataset.pid);
}).appendTo('#showevent');
break;
}
}


PK 99