Uname: Linux premium294.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 104.21.96.1
Your Ip: 216.73.216.223
User: mjbynoyq (1574) | Group: mjbynoyq (1570)
Safe Mode: OFF
Disable Function:
NONE

name : filter.js
(function($) {
	$.fn.binFilterProduct = function(opts) {
		/* default configuration */	
		var config = $.extend({}, {
			widget_id : null,
			id_category:null,
			base_url: null,
			attribute:null,
			showcount:null,
			show_price:null,
			relation:null,
			show_only_sale:null,
			show_in_stock:null,
			layout_shop:null,
			show_brand:null,
			show_rating:null,
			array_value_url : null,
			canbeloaded : true,
			shop_paging:null,
		}, opts);
		$(document).ready(function(){
			_event_dropdown_filter();
			_event_filter_product();
			_event_click_pagination();
			if( $( "nav.woocommerce-pagination").hasClass("shop-loadmore") ){
				_event_click_load_more();
			}			
			if( $( "nav.woocommerce-pagination").hasClass("shop-infinity") ){
				_event_load_infinity();
			}
			_eventFilter(1,false);
			_event_clear_all();
			$("li",".woocommerce-sort-count").click(function() {
				$("li",".woocommerce-sort-count").removeClass("active");
				$(this).addClass("active");
				_eventFilter();
				return false;
			});
			$("li",".woocommerce-ordering").click(function() {
				_eventFilter();
				return false;
			});
			var view_products = $(".display",".bwp-top-bar");
			$("a",view_products).click(function(e) {
				e.preventDefault();
				if(!$(this).hasClass("active")){
					$("a",view_products).removeClass('active');
					var this_class	= $("ul.products").data("col");
					$(this).addClass('active');								
					_eventFilter();
				}
				return false;
			});
		});
		function _event_dropdown_filter(){
			var $form_filter = $("#bwp_form_filter_product",".filter_dropdown");
			var $form_filter2 = $("#bwp_form_filter_product",".filter_popup");
			$("h3",$form_filter).click(function() {
				if($(this).parent().hasClass("active")){
					$(this).parent().removeClass("active");
				}else{
					$(this).parent().addClass("active");
				}
			});
			$("h3",$form_filter2).click(function() {
				if($(this).parent().hasClass("active")){
					$(this).parent().removeClass("active");
				}else{
					$(this).parent().addClass("active");
				}
			});	
		}
		function _event_clear_all(){
			$(".filter_clear_all",".bwp-filter-attribute").click(function(e) {
					$("input",config.widget_id).attr('checked', false);
					$("#price-filter-min-text",config.widget_id).val($("#bwp_slider_price",config.widget_id).data('min'));
					$("#price-filter-max-text",config.widget_id).val($("#bwp_slider_price",config.widget_id).data('max'));
					_eventFilter();
			});
		}
		function _event_click_pagination(){
			$( "nav.woocommerce-pagination a.page-numbers").click(function(e) {
				e.preventDefault();
				$('ul.products','.main-archive-product').scrollTop(300);
				var status_id = $(this).attr('href').split('=');
				var paged = (status_id[1]) ? status_id[1] : 1;
				_eventFilter(paged);
				return false;
			});		
		}
		function _event_click_load_more(){
			$( "nav.woocommerce-pagination .woocommerce-load-more").click(function(e) {
				$(this).addClass("active");
				e.preventDefault();
				var paged = $(this).data('paged') + 1;
				_eventFilter(paged,false,false,true);
				return false;
			});		
		}
		function _event_load_infinity(){
			$(window).scroll(function(){
				if ( $(document).scrollTop() > ( $(document).height() - 2000 ) && config.canbeloaded == true && $(".woocommerce-load-more").length > 0 ){
					$( "nav.woocommerce-pagination").addClass("active");
					var paged = $(".woocommerce-load-more").data('paged') + 1;
					_eventFilter(paged,false,false,true);
					return false;
				}
			});
		}
		function _event_filter_product(){
			min_price = $("#price-filter-min-text",config.widget_id).val();
			max_price =  $("#price-filter-max-text",config.widget_id).val();
			$("#bwp_slider_price").slider({
			range:true,
			min: $("#bwp_slider_price",config.widget_id).data('min'),
			max: $("#bwp_slider_price",config.widget_id).data('max'),		
			values: [min_price,max_price],
			slide : function( event, ui ) {
					$("#text-price-filter-min-text",config.widget_id).html(ui.values[0]);
					$("#text-price-filter-max-text",config.widget_id).html(ui.values[1]);			
					$("#price-filter-min-text",config.widget_id).val(ui.values[0]);
					$("#price-filter-max-text",config.widget_id).val(ui.values[1]);		
				},
			change: function( event, ui ) {
					_eventFilter();	
					return false;	
				}		   			
			});	

			$( "#button-price-slider",config.widget_id ).click(function(e) {
				e.preventDefault();
				_eventFilter();
				return false;
			});	
			
			$("input:checkbox",config.widget_id ).on('click', function(){
				_eventFilter();	
				return false;
			});			
			
			$("li",config.widget_id ).on('click', function(){
				if($("input",$(this)).is(':checked'))
					$("input",$(this)).attr("checked", false);
				else
					$("input",$(this)).attr("checked", true);	
				_eventFilter();	
				return false;
			});
			
			$("span",".filter-attribute" ).on('click', function(){
				if( $(this).hasClass("text-price") ){
					$("#price-filter-min-text",config.widget_id).val($("#bwp_slider_price",config.widget_id).data('min'));
					$("#price-filter-max-text",config.widget_id).val($("#bwp_slider_price",config.widget_id).data('max'));
				}else{
					var $name = $(this).data("name");
					var $value = $(this).data("value");
					$("input[value="+$value+"]","#"+$name+"").attr("checked", false);
				}
				_eventFilter();
				return false;
			});
		}
		function _eventFilter(paged=1,load=true,back=false,loadmore=false){
				if(load){
					$('html, body').animate({
						scrollTop: $('div.content-shop').offset().top - 20
					}, 'slow');
					$('.content-products-list','.main-archive-product').addClass('active');
					$('.content-products-list','.main-archive-product').append( '<div class="loading loading-filter"></div>' );	
				}
				var $filter = new Object();
				var $ajax_url = filter_ajax.ajaxurl;
				var $id_category		= config.id_category;
				if($('li.active','.woocommerce-product-subcategories').length > 0){
					var $id_category	= $('.woocommerce-product-subcategories').find('li.active').data("id_category");
				}
				if($('.item-category.active','.filter_category_product').length > 0){
					var $id_category	= $('.filter_category_product').find('.item-category.active').data("id_category");
				}
				if(back){
					$id_category = config.id_category = 0;
				}
				$filter.orderby 		=	$('.woocommerce-ordering').find('li.active').data("value");
				$filter.product_count 	=	$('.woocommerce-sort-count').find('li.active').data("value");
				$filter.views			= 	$("a.active",".display").data("view");
				$filter.data 			= 	$("#bwp_form_filter_product",config.widget_id).serializeArray();
				$filter.default_min_price 	= $("#bwp_slider_price",config.widget_id).data("min");
				$filter.default_max_price 	= $("#bwp_slider_price",config.widget_id).data("max");
				$filter.min_price 			= $("#price-filter-min-text",config.widget_id).val();
				$filter.max_price 			= $("#price-filter-max-text",config.widget_id).val();
				$filter.paged				= paged;
				$filter.loadmore			= loadmore ? 1 : 0;
				jQuery.ajax({
					type: "POST", 
					url: $ajax_url,
					dataType: 'json',
					data: {
						filter 			: $filter,
						action 			: "bwp_filter_products_callback",
						id_category 	: $id_category,
						base_url 		: config.base_url,
						attribute 		: config.attribute,
						relation 		: config.relation,
						show_price 		: config.show_price,
						showcount 		: config.showcount,
						show_only_sale 	: config.show_only_sale,
						show_in_stock 	: config.show_in_stock,
						show_brand 		: config.show_brand,
						show_rating 	: config.show_rating,
						layout_shop 	: config.layout_shop,
						shop_paging 	: config.shop_paging,
						show_category 	: config.show_category,
						array_value_url : config.array_value_url
					},
					beforeSend: function( xhr ){
						config.canbeloaded = false;
					},					
					success: function (result) {
						config.canbeloaded = true;
						if (result.products){
							if(loadmore){
								$('.content-products-list .products-list','.main-archive-product').append(result.products);
							}else{
								$('.content-products-list','.main-archive-product').html(result.products);
							}
							_event_click_quickview_button($ajax_url);
							_wpbingo_countdown_product( $('ul.products','.main-archive-product') );
							_wpbingo_click_atribute_image();
							_wpbingo_click_add_to_cart();
						}else{
							$('.content-products-list','.main-archive-product').html('');
						}
						
						if($id_category > 0){
							$(".back-to-shop").addClass("active");
						}else{
							$(".back-to-shop").removeClass("active");
						}
						
						_event_after_sucsess_ajax(result,config);
						if(load){
							setTimeout(function() {
								$('.content-products-list','.main-archive-product').removeClass('active');
								$( '.loading','.main-archive-product' ).remove();
							}, 400);
						}
					},
					error:function(jqXHR, textStatus, errorThrown) {
						console.log("error " + textStatus);
						console.log("incoming Text " + jqXHR.responseText);
					}
				});
			return false;	
		}
		function _event_click_quickview_button($ajax_url){
			$('.quickview-button').on( "click", function(e) {
				e.preventDefault();
				var product_id  = $(this).data('product_id');
				$(".quickview-"+product_id).addClass("loading");
				$.ajax({
					url: $ajax_url,
					data: {
						"action" : "vapier_quickviewproduct",
						'product_id' : product_id
					},
					success: function(results) {
						$('.bwp-quick-view').empty().html(results).addClass("active");
						$(".quickview-"+product_id).removeClass("loading");				
						$("#quickview-slick-carousel .slick-carousel").each(function(){
							_event_load_slick_carousel($(this));
							_event_check_nav_slick($(this));
						});
						if( typeof jQuery.fn.tawcvs_variation_swatches_form != 'undefined' ) {
							$( '.variations_form' ).wc_variation_form();
							$( '.variations_form' ).tawcvs_variation_swatches_form();
						}else{
							var form_variation = $(".bwp-quick-view").find('.variations_form');
							var form_variation_select = $(".bwp-quick-view").find('.variations_form .variations select');
							form_variation.wc_variation_form();
							form_variation_select.change();
						}
						if( $(".product-countdown",".bwp-quick-view").length > 0 ){
							_event_countdown_quickview( $(".product-countdown",".bwp-quick-view") );
						}
						_event_close_quickview();
					},
					error: function(errorThrown) { console.log(errorThrown); },
				});
			});
		}
		function _event_check_nav_slick($element){
			if($(".slick-arrow",$element).length > 0){
				var $prev = $(".fa-angle-left",$element).clone();
				$(".fa-angle-left",$element).remove();
				if($element.parent().find(".fa-angle-left").length == 0){
					$prev.prependTo($element.parent());
				}
				$prev.on( "click", function() {
					$element.slick('slickPrev');
				});
				var $next =  $(".fa-angle-right",$element).clone();
				$(".fa-angle-right",$element).remove();
				if($element.parent().find(".fa-angle-right").length == 0){
					$next.appendTo($element.parent());
				}
				$next.on( "click", function() {
					$element.slick('slickNext');
				});
			}	
		}
		function _event_countdown_quickview($element){
			$this = $element;
			$id = $(this).data("id");			
			$current_time 	= new Date().getTime();
			$sttime 	= $(this).data('sttime');
			$countdown_time = $this.data('cdtime');
			$day = $this.data('day') ? $this.data('day') : "D";
			$hour = $this.data('hour') ? $this.data('hour') : "H";
			$min = $this.data('min') ? $this.data('min') : "M";
			$sec = $this.data('sec') ? $this.data('sec') : "S";			
			var $austDay 	= new Date();
			$austDay 		= new Date( $countdown_time * 1000 );	
			if( $sttime > $current_time  ){
				$this.remove();
				return ;
			}
			if( $countdown_time.length > 0 && $current_time > $countdown_time ){
				$this.remove();
				return ;
			}
			if( $countdown_time.length <= 0 ){
				$this.remove();
				return ;
			}
			$this.countdown($austDay, function(event) {
				$(this).html(
					event.strftime('<span class="countdown-content"><span class="days"><span class="countdown-amount">%D</span><span class="countdown-text">'+$day+'</span></span><span class="countdown-section hours"><span class="countdown-amount">%H</span><span class="countdown-text">'+$hour+'</span></span><span class="countdown-section mins"><span class="countdown-amount">%M</span><span class="countdown-text">'+$min+'</span></span><span class="countdown-section secs"><span class="countdown-amount">%S</span><span class="countdown-text">'+$sec+'</span></span></span>')
				);
			}).on('finish.countdown', function(event){
				$this.remove();
				$id = $this.data( 'id' );
				$target = this;
				$this.hide('slow', function(){ $(this).remove(); });	
				$price = $this.data( 'price' );
				$('#' + $id + ' .item-price > span').hide('slow', function(){ $('#' + $id + ' .item-price > span').remove(); });					
				$('#' + $id + ' .item-price' ).append( '<span><span class="amount">' + $price + '</span></span>' );
			});	
		}		
		function _event_close_quickview(){
			$('.quickview-close').on( "click", function(e) {
				e.preventDefault();
				$('.bwp-quick-view').empty().removeClass("active");
			});		
		}
		function _wpbingo_click_atribute_image(){
			$(".image-attribute",".product-attribute").on( "click", function() {
				if(!$(this).hasClass("active")){
					$(".image-attribute",".product-attribute").removeClass("active");
					$(this).addClass("active");
					var $parent = $(this).closest(".products-entry");
					var $thumb = $(".product-thumb-hover", $parent);
					var $image = $(this).data("image");
					$("img",$thumb).last().attr("src", $image);	
				}
			});
		}
		function _wpbingo_click_add_to_cart(){
			$(".cart-remove").on( "click", function() {
				if( $(".vapier-topcart.popup").hasClass("active") ){
					$(".vapier-topcart.popup").removeClass("active");
				}
				if( $("body").hasClass("not-scroll") ){
					$("body").removeClass("not-scroll");
				}
			});
			$(".cart-icon").on( "click", function() {
				if( !$("body").hasClass("not-scroll") && $(".vapier-topcart").hasClass("popup") ){
					$("body").addClass("not-scroll");
				}
			});
			$(".remove-cart-shadow").on( "click", function() {
				if( $(".vapier-topcart.popup").hasClass("active") ){
					$(".vapier-topcart.popup").removeClass("active");
				}
				if( $("body").hasClass("not-scroll") ){
					$("body").removeClass("not-scroll");
				}
			});
		}		
		function _event_load_slick_carousel($element){
			$element.slick({
				arrows: $element.data("nav") ? true : false ,
				dots: $element.data("dots") ? true : false ,
				prevArrow: '<i class="slick-arrow  fa-angle-left"></i>',
				nextArrow: '<i class="slick-arrow  fa-angle-right"></i>',
				draggable : $element.data("draggable") ? false : true ,
				slidesToShow: $element.data("columns"),
				asNavFor: $element.data("asnavfor") ? $element.data("asnavfor") : false ,
				vertical: $element.data("vertical") ? true : false ,
				verticalSwiping: $element.data("verticalswiping") ? $element.data("verticalswiping") : false ,
				rtl: ($("body").hasClass("rtl") && !$element.data("vertical")) ? true : false ,
				centerMode: $element.data("centermode") ? $element.data("centermode") : false ,
				focusOnSelect: $element.data("focusonselect") ? $element.data("focusonselect") : false ,
				responsive: [	
					{
					  breakpoint: 1200,
					  settings: {
						slidesToShow: $element.data("columns1"),
					  }
					},				
					{
					  breakpoint: 1024,
					  settings: {
						slidesToShow: $element.data("columns2"),
					  }
					},
					{
					  breakpoint: 768,
					  settings: {
						slidesToShow: $element.data("columns3"),
						vertical: false,
						verticalSwiping : false,
					  }
					},
					{
					  breakpoint: 480,
					  vertical: false,
					  verticalSwiping : false,				  
					  settings: {
						slidesToShow: $element.data("columns4"),
						vertical: false,
						verticalSwiping : false,					
					  }
					}
				]								
			});	
		}		
		
		function _event_after_sucsess_ajax(result,config){
			if (result.pagination){
				if( $('nav.woocommerce-pagination').length > 0 ){
					$('nav.woocommerce-pagination').replaceWith(result.pagination);
				}else{
					$('.bwp-top-bar.bottom').append(result.pagination);
				}
			}else{
				$('nav.woocommerce-pagination').html('');
			}
			if (result.result_count) 
				$('.woocommerce-result-count').replaceWith(result.result_count);
			else
				$('.woocommerce-result-count').html('');
			if (result.total_html) 
				$('.woocommerce-found-posts').replaceWith(result.total_html);
			else
				$('.woocommerce-found-posts').html('');

			if($(".bwp-filter-attribute").length > 0){
				$('.bwp-filter-attribute').replaceWith(result.result_attribute);
			}else{
				$('.bwp-woocommerce-filter-product').prepend(result.result_attribute);
			}
			$('.bwp-filter-ajax',config.widget_id).replaceWith(result.left_nav);
			if(($("#price-filter-min-text",config.widget_id).val() != $("#bwp_slider_price",config.widget_id).data("min")) || ($("#price-filter-max-text",config.widget_id).val() != $("#bwp_slider_price",config.widget_id).data("max")))
				check_price = true;
			else
				check_price = false;
			_wpbingo_load_tooltip();
			_event_dropdown_filter();
			_event_filter_product();
			_addClassProductList();
			_event_clear_all();
			_event_click_pagination();
			if( $( "nav.woocommerce-pagination").hasClass("shop-loadmore") ){
				_event_click_load_more();
			}
			if( $( "nav.woocommerce-pagination").hasClass("shop-infinity") ){
				_event_load_infinity();
			}
			_event_ajax_add_to_cart();
			if (result.base_url != '') 
				history.pushState({}, "", result.base_url.replace(/&amp;/g, '&').replace(/%2C/g, ','));
		}
		function _event_ajax_add_to_cart(){
			$( "a.ajax_add_to_cart" ).on( "click", function() {
				setTimeout(function() {	
					if(!$(".top-cart",".wpbingoCartTop").hasClass("open"))
						$(".top-cart",".wpbingoCartTop").addClass("open");
				}, 2000);
			});
		}
		function _addClassProductList(){
			var class_product_default = $("ul.products-list").data("col") ? $("ul.products-list").data("col") : "";
			var class_product_item = $('.view-grid.active').data('col') ? $('.view-grid.active').data('col') : class_product_default;
			if(class_product_item){
				var list_class 	= "col-xl-6 col-lg-12 col-md-12 col-xs-12";	
				if($('.view-grid').hasClass('active')){
					$("ul.products-list").removeClass('list').addClass('grid');
					$("ul.products-list li").removeClass(list_class).addClass(class_product_item);
				}	
				if($('.view-list').hasClass('active')){
					$("ul.products-list").removeClass('grid').addClass('list');
					$("ul.products-list li").removeClass(class_product_item).addClass(list_class);
				}	
			}
		}
		return false;
	};
	function _wpbingo_countdown_product($element){
		$('.product-countdown',$element).each(function(event){
			var $this = $(this);
			var $id = $(this).data("id");		
			var $current_time 	= new Date().getTime();
			var $sttime 	= $(this).data('sttime');
			var $countdown_time = $this.data('cdtime');
			var $day = $this.data('day') ? $this.data('day') : "D";
			var $hour = $this.data('hour') ? $this.data('hour') : "H";
			var $min = $this.data('min') ? $this.data('min') : "M";
			var $sec = $this.data('sec') ? $this.data('sec') : "S";			
			var $austDay 	= new Date();
			$austDay 		= new Date( $countdown_time * 1000 );	
			if( $sttime > $current_time  ){
				$this.remove();
				return ;
			}
			if( $countdown_time.length > 0 && $current_time > $countdown_time ){
				$this.remove();
				return ;
			}
			if( $countdown_time.length <= 0 ){
				$this.remove();
				return ;
			}
			$this.countdown($austDay, function(event) {
				$(this).html(
					event.strftime('<span class="countdown-content"><span class="days"><span class="countdown-amount">%D</span><span class="countdown-text">'+$day+'</span></span><span class="countdown-section hours"><span class="countdown-amount">%H</span><span class="countdown-text">'+$hour+'</span></span><span class="countdown-section mins"><span class="countdown-amount">%M</span><span class="countdown-text">'+$min+'</span></span><span class="countdown-section secs"><span class="countdown-amount">%S</span><span class="countdown-text">'+$sec+'</span></span></span>')
				);
			}).on('finish.countdown', function(event){
				$this.remove();
				$id = $this.data( 'id' );
				$target = this;
				$this.hide('slow', function(){ $(this).remove(); });	
				$price = $this.data( 'price' );
				$('#' + $id + ' .item-price > span').hide('slow', function(){ $('#' + $id + ' .item-price > span').remove(); });			
				$('#' + $id + ' .item-price' ).append( '<span><span class="amount">' + $price + '</span></span>' );
			});			
		});	
	}
	function _wpbingo_load_tooltip(){
		$('[data-title]','.product-button').tooltip();
	}
})(jQuery);
© 2025 XylotrechusZ