1/* packer link http://dean.edwards.name/packer/ */ 2var updateProducts, berocket_set_slider, berocket_product_recount, global_ajax_data, br_reset_all_filters, berocket_filters_first_load, berocket_in_array; 3var berocket_aapf_widget_product_filters = [], 4 berocket_aapf_widget_product_limits = [], 5 berocket_aapf_widget_product_price_limit = [], 6 berocket_aapf_attribute_data = {name: [], data: [], jquery: false, loaded: false}, 7 berocket_aapf_child_parent_loaded = true, 8 woocommerce_pagination_page = 1, 9 berocket_aapf_widget_wait_for_button = false, 10 berocket_aapf_widget_selected_filters = [], 11 berocket_aapf_reset_info = [], 12 berocket_aapf_404_jump = false, 13 berocket_aapf_404_jump_fail = false, 14 berocket_aapf_widget_first_page_jump = true, 15 $berocket_aapf_last_changed, 16 berocket_last_ajax_request = null, 17 berocket_last_ajax_request_id = 1, 18 berocket_child_no_products = '', 19 berocket_replace_only_html = false; 20(function ($){ 21 $('body').append('<div class="berocket_aapf_widget_loading_preload" style="position:relative; width: 1px; height: 1px;overflow: hidden;">'+the_ajax_script.load_image+'</div>'); 22 $(document).ready(function (){ 23 $('.berocket_aapf_widget_loading_preload').remove(); 24 25 $(document).on('change', '.br_date_filter', function() { 26 var $berocket_aapf_widget = $(this).parents('.berocket_aapf_widget'); 27 var $date_info = $berocket_aapf_widget.find('.berocket_date_picker'); 28 var value = berocket_convert_date_to_date_picker($(this).datepicker( "getDate" )); 29 var value_send = berocket_convert_date_to_date_picker_send($(this).datepicker( "getDate" )); 30 value = value.replace(/\//g, ''); 31 if( $(this).is('.br_start_date')) { 32 $date_info.data('value_1', $(this).val()); 33 $date_info.data('value1', value_send); 34 } else { 35 $date_info.data('value_2', $(this).val()); 36 $date_info.data('value2', value_send); 37 } 38 }); 39 function berocket_convert_date_to_date_picker(date) { 40 var mm = date.getMonth(); 41 mm++; 42 if( mm < 10 ) { 43 mm = '0'+mm; 44 } 45 var dd = date.getDate(); 46 if( dd < 10 ) { 47 dd = '0'+dd; 48 } 49 var yy = date.getFullYear(); 50 return mm+'/'+dd+'/'+yy; 51 } 52 function berocket_convert_date_to_date_picker_send(date) { 53 var mm = date.getMonth(); 54 mm++; 55 if( mm < 10 ) { 56 mm = '0'+mm; 57 } 58 var dd = date.getDate(); 59 if( dd < 10 ) { 60 dd = '0'+dd; 61 } 62 var yy = date.getFullYear(); 63 return yy+''+mm+''+dd; 64 } 65 if( $(the_ajax_script.products_holder_id).is('.wf-container') ) { 66 berocket_replace_only_html = true; 67 } 68 69 var berocket_unselect_all = false; 70 71 function berocket_fire( func ){ 72 if ( typeof the_ajax_script.user_func != 'undefined' 73 && the_ajax_script.user_func != null 74 && typeof func != 'undefined' 75 && func.length > 0 76 ) { 77 try{ 78 eval( func ); 79 } catch(err){ 80 alert('You have some incorrect JavaScript code (AJAX Products Filter)'); 81 } 82 } 83 } 84 85 function update_selected_area() { 86 var selected_area_exist = true; 87 if ( ! $('.berocket_aapf_widget_selected_area').hasClass('berocket_aapf_widget_selected_area') ) { 88 selected_area_exist = false; 89 if( ! $('.berocket_aapf_reset_button').hasClass('berocket_aapf_reset_button') ) { 90 return false; 91 } 92 } 93 tmp_html = ''; 94 prev_label = false; 95 el_type = ''; 96 selected = []; 97 berocket_aapf_reset_info = []; 98 var select_taxonomies = []; 99 if ( typeof berocket_aapf_widget_selected_filters != 'undefined' && berocket_aapf_widget_selected_filters.length > 0 ) { 100 $(berocket_aapf_widget_selected_filters).each(function (i, $el) { 101 var elements_data = [];
102 if ($el.is('select')) { 103 taxonomy = $el.data('taxonomy'); 104 if( select_taxonomies.indexOf(taxonomy) == -1 ) { 105 select_taxonomies.push(taxonomy); 106 label = $el.parents('ul.berocket_aapf_widget').prev().find('.widget-title').first().text(); 107 el_type = 'select'; 108 $el.find("option:selected").each(function(i, o) { 109 if( $(o).val() ) { 110 option = $(o).data('term_name'); 111 el_id = $(o).val(); 112 elements_data.push({el_id:el_id, el_type:el_type, option:option, label:label, taxonomy:taxonomy, el:$el}); 113 } 114 }); 115 } 116 } else if ($el.is('input')) { 117 taxonomy = $el.data('taxonomy'); 118 label = $el.parents('ul.berocket_aapf_widget').prev().find('.widget-title').first().text(); 119 option = $el.data('term_name'); 120 el_type = $el.attr('type'); 121 el_id = $el.parents('li').first().find('label').data('for'); 122 if ( $el.data('taxonomy-type') == 'color' ) { 123 el_type = $el.data('taxonomy-type'); 124 option = $el.parents('li').first().find('label').html(); 125 } 126 elements_data.push({el_id:el_id, el_type:el_type, option:option, label:label, taxonomy:taxonomy, el:$el});
127 } else if ($el.hasClass('berocket_filter_slider') || $el.hasClass('berocket_date_picker')) { 128 taxonomy = $el.data('taxonomy'); 129 val1 = $( '#'+$el.data('fields_1') ).val(); 130 val2 = $( '#'+$el.data('fields_2') ).val(); 131 el_type = 'slider'; 132 label = $el.parents('ul.berocket_aapf_widget').prev().find('h3').first().text(); 133 //if (val1 != $el.data('min') || val2 != $el.data('max')) { 134 if ( $el.hasClass('berocket_date_picker') ) { 135 val1 = $el.data('value_1'); 136 val2 = $el.data('value_2'); 137 if( typeof(label) == 'undefined' || ! label ) { 138 label = 'Date'; 139 } 140 el_type = '_date'; 141 } else if ($el.hasClass('berocket_filter_price_slider')) { 142 if( typeof(label) == 'undefined' || ! label ) { 143 label = 'Price'; 144 } 145 } 146 //} 147 el_id = $el.data('fields_2'); 148 option = val1 + ' - ' + val2; 149 elements_data.push({el_id:el_id, el_type:el_type, option:option, label:label, taxonomy:taxonomy, el:$el});
150 } 151 elements_data.forEach(function(element_data) { 152 var el_id = element_data.el_id; 153 var el_type = element_data.el_type; 154 var option = element_data.option; 155 var label = element_data.label; 156 var taxonomy = element_data.taxonomy; 157 var $el = element_data.el; 158 berocket_aapf_reset_info.push({type:el_type, id:el_id, taxonomy:taxonomy}); 159 160 if( selected_area_exist ) { 161 option = '<li><a href="#Unselect_' + label + '" data-el_type="' + el_type + '" data-el_id="' + el_id + '" data-el_taxonomy="' + taxonomy + '"><i class="fa fa-times"></i> ' + option + '</a></li>'; 162 163 if ( ! $el.hasClass('berocket_filter_slider') || selected.indexOf( taxonomy ) == -1 ) 164 if (prev_label === false) { 165 tmp_html += '<div class="berocket_aapf_widget_selected_filter"><span>' + label + '</span><ul>' + option; 166 } else if (prev_label == taxonomy) { 167 tmp_html += option; 168 } else { 169 tmp_html += '</ul></div><div class="berocket_aapf_widget_selected_filter"><span>' + label + '</span><ul>' + option; 170 } 171 172 prev_label = taxonomy; 173 selected.push( taxonomy ); 174 } 175 }); 176 }); 177 } 178 179 if ( tmp_html == '' ) { 180 $('.berocket_aapf_widget_selected_area').html(tmp_html); 181 $('.berocket_aapf_widget_selected_area_hide').parent().hide(); 182 $('.berocket_aapf_widget_selected_area_text').html(the_ajax_script.translate.nothing_selected); 183 } else { 184 tmp_html += '</ul></div>'; 185 tmp_html += '<ul><li><a href="#Unselect_all" class="br_unselect_all"><i class="fa fa-times"></i> '+the_ajax_script.translate.unselect_all+'</a></li></ul>'; 186 $('.berocket_aapf_widget_selected_area').html(tmp_html); 187 $('.berocket_aapf_widget_selected_area_hide').parent().show(); 188 } 189 } 190 191 $(document).on( 'click', '.berocket_aapf_product_count_desc', function( event ) { 192 event.preventDefault(); 193 event.stopPropagation(); 194 }); 195 196 $(document).on( 'click', '.berocket_aapf_product_count_desc .berocket_aapf_close_pc', function( event ) { 197 event.preventDefault(); 198 $(this).parents('.berocket_aapf_product_count_desc').remove(); 199 }); 200 201 function update_data_containers(search_box, search_block) { 202 if ( typeof(search_box) == 'undefined' ) { 203 search_box = false; 204 } 205 if ( typeof(search_block) == 'undefined' ) { 206 search_block = $(document); 207 } 208 berocket_aapf_widget_product_filters = []; 209 berocket_aapf_widget_selected_filters = []; 210 211 search_block.find('.berocket_aapf_widget li:not(.slider) input, .berocket_aapf_widget li:not(slider) select').each(function (i,o) { 212 $el = $(o); 213 214 if ( $el.is("select") ) { 215 el_data = []; 216 $el.find("option:selected").each(function(i, o) { 217 if( $(o).val() ) { 218 el_data.push($(o).data()); 219 } 220 }); 221 el_data_child_parent_depth = $el.parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 222 223 el_data.forEach(function(element) { 224 var el_show = true; 225 $(berocket_aapf_widget_product_filters).each(function (i, o) { 226 if (o[0] == element.taxonomy) { 227 if ( o[5] < el_data_child_parent_depth ) { 228 if ( element.term_id != undefined && element.term_slug != undefined ) { 229 berocket_aapf_widget_product_filters[i] = [element.taxonomy, element.term_id, element.operator, element.term_slug, element.filter_type, el_data_child_parent_depth]; 230 berocket_aapf_widget_selected_filters[i] = $el; 231 } 232 el_show = false; 233 } 234 } 235 }); 236 if( el_show && $el.val() ){ 237 berocket_aapf_widget_product_filters[berocket_aapf_widget_product_filters.length] = [element.taxonomy, element.term_id, element.operator, element.term_slug, element.filter_type, el_data_child_parent_depth]; 238 berocket_aapf_widget_selected_filters[berocket_aapf_widget_selected_filters.length] = $el; 239 } 240 }); 241 } else if ( $el.is(':checked') || $el.is(':selected') ){ 242 el_data = $el.data(); 243 el_data_child_parent_depth = $el.parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 244 245 var el_show = true; 246 remove = 0; 247 $(berocket_aapf_widget_product_filters).each(function (i, o) { 248 if ( o[0] == el_data.taxonomy ) { 249 if ( o[5] < el_data_child_parent_depth ) { 250 berocket_aapf_widget_product_filters.splice( i - remove, 1 ); 251 berocket_aapf_widget_selected_filters.splice( i - remove, 1 ); 252 remove++; 253 } else if ( o[1] == el_data.term_id ) { 254 el_show = false; 255 } 256 } 257 }); 258 if (el_data.term_id != undefined && el_show) { 259 berocket_aapf_widget_product_filters[berocket_aapf_widget_product_filters.length] = [el_data.taxonomy, el_data.term_id, el_data.operator, el_data.term_slug, el_data.filter_type, el_data_child_parent_depth]; 260 berocket_aapf_widget_selected_filters[berocket_aapf_widget_selected_filters.length] = $el; 261 } 262 } 263 }); 264 265 berocket_aapf_widget_product_limits = []; 266 berocket_aapf_widget_product_price_limit = []; 267 $t = search_block.find('.berocket_filter_slider, .berocket_date_picker'); 268 if( $t.hasClass('berocket_filter_slider') || $t.hasClass('berocket_date_picker') ){ 269 $t.each(function (i,o){ 270 if ( $(o).parents( '.berocket_child_parent_sample' ).length == 0 ) { 271 var all_terms_name = $(o).data('all_terms_name'); 272 var string_slider_edited = true; 273 if( $(o).hasClass('berocket_date_picker') ) { 274 val1 = $(o).data('value1'); 275 val2 = $(o).data('value2'); 276 } else { 277 val1 = $(o).data('value_1'); 278 val2 = $(o).data('value_2'); 279 } 280 data_child_parent_depth = $(o).parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 281 var min = $(o).data( 'min' ); 282 var max = $(o).data( 'max' ); 283 if( $(o).hasClass('berocket_date_picker') ) { 284 min = min.replace(/\//g, ''); 285 max = max.replace(/\//g, ''); 286 } 287 if( all_terms_name != null ){ 288 if( ! ( val1 != all_terms_name[ min ] || val2 != all_terms_name[ max ] ) ) {
289 string_slider_edited = false; 290 } 291 min = all_terms_name[ min ]; 292 max = all_terms_name[ max ]; 293 } 294 var is_changed = false; 295 if( $(o).hasClass('berocket_date_picker') ) { 296 is_changed = ( val1 != min || val2 !=max ); 297 } else { 298 is_changed = ( ( val1 != ( min / $(o).data( 'step' ) ) || val2 != ( max / $(o).data( 'step' ) ) ) && ( string_slider_edited || data_child_parent_depth > 0 ) ); 299 } 300 if( is_changed ) { 301 berocket_aapf_widget_selected_filters[berocket_aapf_widget_selected_filters.length] = $(o); 302 if( $(o).hasClass('berocket_filter_price_slider') ){ 303 berocket_aapf_widget_product_price_limit = [val1, val2]; 304 } else { 305 var add_limit = true; 306 for( i = 0 ; i < berocket_aapf_widget_product_limits.length ; i++ ) { 307 if( berocket_aapf_widget_product_limits[ i ][ 0 ] == $(o).data( 'taxonomy' ) ) { 308 if ( berocket_aapf_widget_product_limits[ i ][ 3 ] < data_child_parent_depth ) { 309 berocket_aapf_widget_product_limits[i] = [$(o).data('taxonomy'), val1, val2, data_child_parent_depth]; 310 } 311 add_limit = false; 312 } 313 } 314 if( add_limit ) { 315 berocket_aapf_widget_product_limits[berocket_aapf_widget_product_limits.length] = [$(o).data('taxonomy'), val1, val2, data_child_parent_depth]; 316 } 317 } 318 } 319 } 320 }); 321 } 322 } 323 324 get_widget_selected_filters = function() { 325 search_box = false; 326 search_block = $(document); 327 check_berocket_aapf_widget_product_filters = []; 328 check_berocket_aapf_widget_selected_filters = []; 329 330 search_block.find('.berocket_aapf_widget li:not(.slider) input, .berocket_aapf_widget li:not(slider) select').each(function (i,o) { 331 $el = $(o); 332 333 if ( $el.is("select") ) { 334 if( $el.find("option:selected").length ) { 335 el_data = $el.find("option:selected").data(); 336 el_data_child_parent_depth = $el.parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 337 338 var el_show = true; 339 if( el_show && $el.val() ){ 340 check_berocket_aapf_widget_product_filters[check_berocket_aapf_widget_product_filters.length] = [el_data.taxonomy, el_data.term_id, el_data.operator, el_data.term_slug, el_data.filter_type, el_data_child_parent_depth]; 341 check_berocket_aapf_widget_selected_filters[check_berocket_aapf_widget_selected_filters.length] = $el; 342 } 343 } 344 } else if ( $el.is(':checked') || $el.is(':selected') ){ 345 el_data = $el.data(); 346 el_data_child_parent_depth = $el.parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 347 348 var el_show = true; 349 remove = 0; 350 if (el_data.term_id != undefined && el_show) { 351 check_berocket_aapf_widget_product_filters[check_berocket_aapf_widget_product_filters.length] = [el_data.taxonomy, el_data.term_id, el_data.operator, el_data.term_slug, el_data.filter_type, el_data_child_parent_depth]; 352 check_berocket_aapf_widget_selected_filters[check_berocket_aapf_widget_selected_filters.length] = $el; 353 } 354 } 355 }); 356 $t = search_block.find('.berocket_filter_slider, .berocket_date_picker'); 357 if( $t.hasClass('berocket_filter_slider') || $t.hasClass('berocket_date_picker') ){ 358 $t.each(function (i,o){ 359 if ( $(o).parents( '.berocket_child_parent_sample' ).length == 0 ) { 360 var all_terms_name = $(o).data('all_terms_name'); 361 var string_slider_edited = true; 362 if( $(o).hasClass('berocket_date_picker') ) { 363 val1 = $(o).data('value1'); 364 val2 = $(o).data('value2'); 365 } else { 366 val1 = $(o).data('value_1'); 367 val2 = $(o).data('value_2'); 368 } 369 data_child_parent_depth = $(o).parents('.berocket_aapf_widget').data('child_parent_depth') || 0; 370 var min = $(o).data( 'min' ); 371 var max = $(o).data( 'max' ); 372 if( $(o).hasClass('berocket_date_picker') ) { 373 min = min.replace(/\//g, ''); 374 max = max.replace(/\//g, ''); 375 } 376 if( all_terms_name != null ){ 377 if( ! ( val1 != all_terms_name[ min ] || val2 != all_terms_name[ max ] ) ) {
378 string_slider_edited = false; 379 } 380 min = all_terms_name[ min ]; 381 max = all_terms_name[ max ]; 382 } 383 var is_changed = false; 384 if( $(o).hasClass('berocket_date_picker') ) { 385 is_changed = ( val1 != min || val2 !=max ); 386 } else { 387 is_changed = ( ( val1 != ( min / $(o).data( 'step' ) ) || val2 != ( max / $(o).data( 'step' ) ) ) && ( string_slider_edited || data_child_parent_depth > 0 ) ); 388 } 389 if( is_changed ) { 390 check_berocket_aapf_widget_selected_filters[check_berocket_aapf_widget_selected_filters.length] = $(o); 391 } 392 } 393 }); 394 } 395 var reset_info = []; 396 if ( typeof check_berocket_aapf_widget_selected_filters != 'undefined' && check_berocket_aapf_widget_selected_filters.length > 0 ) { 397 $(check_berocket_aapf_widget_selected_filters).each(function (i, $el) { 398 if ($el.is('select')) { 399 el_type = 'select'; 400 $el.find("option:selected").each(function(i, o) { 401 if( $(o).val() ) { 402 el_id = $(o).val(); 403 taxonomy = $(o).data('taxonomy'); 404 reset_info.push({type:el_type, id:el_id, taxonomy:taxonomy}); 405 } 406 }); 407 } else if ($el.is('input')) { 408 el_type = $el.attr('type'); 409 el_id = $el.parents('li').first().find('label').data('for'); 410 if ( $el.data('taxonomy-type') == 'color' ) { 411 el_type = $el.data('taxonomy-type'); 412 } 413 reset_info.push({type:el_type, id:el_id}); 414 } else if ($el.hasClass('berocket_filter_slider') || $el.hasClass('berocket_date_picker')) { 415 el_type = 'slider'; 416 if ( $el.hasClass('berocket_date_picker') ) { 417 el_type = '_date'; 418 } 419 el_id = $el.data('fields_2'); 420 reset_info.push({type:el_type, id:el_id}); 421 } 422 }); 423 } 424 return reset_info; 425 } 426 427 updateProducts = function ( $force , search_box ){ 428 $('.berocket_aapf_product_count_desc').remove(); 429 if ( berocket_unselect_all ) return false; 430 431 // call user func before_update 432 if ( the_ajax_script.user_func != null ) 433 berocket_fire( the_ajax_script.user_func.before_update ); 434 435 if ( berocket_aapf_404_jump ) { 436 first_page_404 = the_ajax_script.first_page; 437 the_ajax_script.first_page = true; 438 berocket_aapf_widget_first_page_jump_404 = berocket_aapf_widget_first_page_jump; 439 berocket_aapf_widget_first_page_jump = true; 440 } 441 if ( typeof search_box == 'undefined' ) search_box = false; 442 if( ! search_box ) { 443 update_data_containers(); 444 } 445 446 if ( typeof $force == 'undefined' ) $force = false; 447 // if we have update_button on the page we must wait for it to be clicked 448 if ( ! $force && berocket_aapf_widget_wait_for_button && ! the_ajax_script.ub_product_count ) return false; 449 450 args = { 451 current_language: the_ajax_script.current_language, 452 terms: berocket_aapf_widget_product_filters, 453 price: berocket_aapf_widget_product_price_limit, 454 limits: berocket_aapf_widget_product_limits, 455 product_cat: the_ajax_script.product_cat, 456 product_taxonomy: the_ajax_script.product_taxonomy, 457 s: the_ajax_script.s, 458 action: 'berocket_aapf_listener', 459 orderby: $('.woocommerce-ordering select.orderby').val(), 460 attributes: [], 461 cat_limit: [], 462 }; 463 var attribute_selected_count_start = get_widget_selected_filters().length; 464 465 if ( ! $force && berocket_aapf_widget_wait_for_button && the_aja
465x_script.ub_product_count ) { 466 t_args = args; 467 t_args.action = 'berocket_aapf_listener_pc'; 468 t_args.location = the_ajax_script.current_page_url; 469 $.post(the_ajax_script.ajaxurl, t_args, function (data) { 470 $('.berocket_aapf_product_count_desc').remove(); 471 $widget = $berocket_aapf_last_changed.parents('.berocket_aapf_widget'); 472 if( $berocket_aapf_last_changed.is('[type=checkbox], [type=radio]') ) { 473 var toppos = parseInt($berocket_aapf_last_changed.parents('li').first().position().top); 474 } else { 475 var toppos = parseInt($berocket_aapf_last_changed.position().top); 476 } 477 toppos = toppos+parseInt($berocket_aapf_last_changed.parents('.berocket_aapf_widget').first().position().top)-2; 478 if( $berocket_aapf_last_changed.parents('.mCSB_container').length && $berocket_aapf_last_changed.parents('.mCSB_container').first().parents('.berocket_aapf_widget').length ) { 479 toppos = toppos+parseInt($berocket_aapf_last_changed.parents('.mCSB_container').first().position().top); 480 } 481 if ( ( $widget.offset().left + $widget.width() ) < ( $(window).width() / 2 ) ) { 482 var leftpos = $berocket_aapf_last_changed.parents('.berocket_aapf_widget').outerWidth() - $berocket_aapf_last_changed.parents('.berocket_aapf_widget-wrapper').outerWidth(); 483 $berocket_aapf_last_changed 484 .parents('.berocket_aapf_widget') 485 .after($('<div class="berocket_aapf_product_count_desc br_aapf_pcd_left"><span></span>'+data.product_count+' '+the_ajax_script.ub_product_text+(the_ajax_script.ub_product_button_text?' <a href="#update" class="berocket_aapf_widget_update_button" >'+the_ajax_script.ub_product_button_text+'</a>':'')+'<a class="berocket_aapf_close_pc" href="#close"><i class="fa fa-times"></i></a></div>').css('top', toppos).css('margin-left', leftpos)); 486 } else { 487 var leftpos = -$berocket_aapf_last_changed.parents('.berocket_aapf_widget').position().left; 488 $berocket_aapf_last_changed 489 .parents('.berocket_aapf_widget') 490 .after($('<div class="berocket_aapf_product_count_desc br_aapf_pcd_right"><span></span>'+data.product_count+' '+the_ajax_script.translate.products+(the_ajax_script.ub_product_button_text?' <a href="#update" class="berocket_aapf_widget_update_button" >'+the_ajax_script.ub_product_button_text+'</a>':'')+'<a class="berocket_aapf_close_pc" href="#close"><i class="fa fa-times"></i></a></div>').css('top', toppos).css('margin-right', leftpos)); 491 } 492 }, 'json'); 493 return false; 494 } 495 var berocket_this_ajax_request_id = berocket_last_ajax_request_id = berocket_last_ajax_request_id + 1; 496 if ( berocket_last_ajax_request == null ) { 497 $(the_ajax_script.products_holder_id).addClass('hide_products').append(the_ajax_script.load_image); 498 } else { 499 berocket_last_ajax_request.abort(); 500 berocket_last_ajax_request = null; 501 } 502 $(document).trigger('berocket_ajax_filtering_start'); 503 if( the_ajax_script.pos_relative ) { 504 $('.berocket_aapf_widget_loading').parent().css('position', 'relative'); 505 } 506 berocket_aapf_widget_loading(); 507 508 if( the_ajax_script.seo_friendly_urls && 'history' in window && 'pushState' in history ) { 509 updateLocation(args, true); 510 args.location = location.href; 511 }else{ 512 args.location = the_ajax_script.current_page_url; 513 514 cur_page = $(the_ajax_script.pagination_class+' .current').first().text(); 515 var paginate_regex = new RegExp(".+\/"+the_ajax_script.pagination_base+"\/([0-9]+).+", "i"); 516 if( prev_page = location.href.replace(paginate_regex, "$1") ){ 517 if( ! parseInt( cur_page ) ){ 518 cur_page = prev_page; 519 } 520 if(berocket_aapf_widget_first_page_jump && the_aja
520x_script.first_page) { 521 cur_page = 1; 522 } 523 if( $(the_ajax_script.pagination_class+' a').last().length && $(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') != -1 ) { 524 args.location = args.location.replace(/\/?/,"") + "/?product-page=" + cur_page + ""; 525 } else { 526 args.location = args.location.replace(/\/?/,"") + "/"+the_ajax_script.pagination_base+"/" + cur_page + "/"; 527 } 528 }else if( prev_page = location.href.replace(/.+paged?=([0-9]+).+/, "$1") ){ 529 if( ! parseInt( cur_page ) ){ 530 cur_page = prev_page; 531 } 532 if(berocket_aapf_widget_first_page_jump && the_ajax_script.first_page) { 533 cur_page = 1; 534 } 535 if( $(the_ajax_script.pagination_class+' a').last().length && $(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') != -1 ) { 536 args.location = args.location.replace(/\/?/,"") + "/?product-page=" + cur_page + ""; 537 } else { 538 args.location = args.location.replace(/\/?/,"") + "/?paged=" + cur_page + ""; 539 } 540 } 541 if( the_ajax_script.seo_friendly_urls ) { 542 uri_request = updateLocation(args, false); 543 location.hash = ''; 544 if( parseInt( cur_page ) ) 545 location.hash = "paged="+parseInt( cur_page )+"&"; 546 if( uri_request != "") 547 uri_request = 'filters=' + uri_request; 548 location.hash += 'filters=('+uri_request+')'; 549 } 550 } 551 if( jQuery('.berocket_product_table_compat').length ) { 552 berocket_ajax_load_product_table_compat(); 553 } 554 555 update_selected_area(); 556 557 the_ajax_script.scroll_shop_top = parseInt(the_ajax_script.scroll_shop_top); 558 if( the_ajax_script.scroll_shop_top == 1 || ( $(window).width() <= 767 && the_ajax_script.scroll_shop_top == 2 ) || ( $(window).width() > 767 && the_ajax_script.scroll_shop_top == 3 ) ) { 559 var top_scroll_offset = 0; 560 if( $( the_ajax_script.products_holder_id ).length ) { 561 top_scroll_offset = $( the_ajax_script.products_holder_id ).offset().top + parseInt(the_ajax_script.scroll_shop_top_px); 562 if(top_scroll_offset < 0) top_scroll_offset = 0; 563 } 564 $("html, body").animate({ scrollTop: top_scroll_offset }, "slow"); 565 } 566 args.location = updateLocation(args, true, true); 567 if( ! $(the_ajax_script.products_holder_id).length ) { 568 location.href = args.location; 569 return; 570 } 571 if( the_ajax_script.recount_products ) { 572 $('.berocket_aapf_widget').each(function (i,o){ 573 args.attributes[i] = $(o).data('attribute'); 574 args.cat_limit[i] = $(o).data('cat_limit'); 575 }); 576 } 577 if(the_ajax_script.ajax_request_load) { 578 if( the_ajax_script.ajax_request_load_style == 'jquery' ) { 579 url = args.location; 580 return_type = 'html'; 581 t_args = args; 582 args = {}; 583 } else { 584 if( the_ajax_script.ajax_request_load_style == 'js' ) { 585 return_type = 'html'; 586 } else { 587 return_type = 'json'; 588 } 589 if( args.location.indexOf('?') > 0 ) { 590 url = args.location+'&explode=explode'; 591 } else { 592 url = args.location+'/?explode=explode'; 593 } 594 t_args = args; 595 args = { 596 location: t_args.location, 597 attributes: t_args.attributes, 598 cat_limit: t_args.cat_limit, 599 }; 600 } 601 } else { 602 return_type = 'json'; 603 url = the_ajax_script.ajaxurl; 604 } 605 berocket_aapf_attribute_data.loaded = false; 606 var send_type = the_ajax_script.use_request_method; 607 var berocket_this_ajax_request = berocket_last_ajax_request = $[send_type](url, args, function (data) {
608 global_ajax_data = data; 609 berocket_last_ajax_request = null; 610 berocket_last_ajax_request_id = 1; 611 $('.berocket_aapf_product_count_desc').remove(); 612 var is_product_table = false; 613 if( jQuery('.berocket_product_table_compat').length ) { 614 var tableid = jQuery('.berocket_product_table_compat .wc-product-table').attr('id'); 615 if( typeof(window['config_'+tableid]) != 'undefined' && window['config_'+tableid].serverSide ) { 616 is_product_table = true; 617 } 618 } 619 $('.hide_products').removeClass('hide_products'); 620 if( is_product_table ) { 621 $data = $('<div>'+data+'</div>'); 622 berocket_aapf_attribute_data.jquery = $data; 623 } else { 624 if( the_ajax_script.ajax_request_load && the_ajax_script.ajax_request_load_style == 'jquery' ) { 625 $data = $('<div>'+data+'</div>'); 626 args_ajax = { 627 pagination:$data.find(the_ajax_script.pagination_class).prop('outerHTML'), 628 catalog_ordering:$data.find(the_ajax_script.ordering_class).prop('outerHTML'), 629 result_count:$data.find(the_ajax_script.result_count_class).prop('outerHTML'), 630 } 631 if( $data.find('.woocommerce-info').hasClass('woocommerce-info') && $data.find(the_ajax_script.products_holder_id).length == 0 ) { 632 if( $data.find('.content .woocommerce-info').length > 0 ) { 633 args_ajax.no_products = $data.find('.content .woocommerce-info').prop('outerHTML'); 634 } else { 635 args_ajax.no_products = the_ajax_script.no_products; 636 } 637 } else { 638 var $block_products_holder_id; 639 if( $data.find(the_ajax_script.products_holder_id).length > 1 ) { 640 $data.find(the_ajax_script.products_holder_id).each(function () { 641 if( $(this).is('.berocket_aapf_true') || $(this).parents('.berocket_aapf_true').length || $(this).find('.berocket_aapf_true').length ) { 642 $block_products_holder_id = $(this); 643 return false; 644 } 645 if( typeof($block_products_holder_id) == 'undefined' && ! $(this).is('.berocket_aapf_false') && $(this).parents('.berocket_aapf_false').length && $(this).find('.berocket_aapf_false').length ) { 646 $block_products_holder_id = $(this); 647 } 648 }); 649 } 650 if( typeof($block_products_holder_id) == 'undefined' ) { 651 $block_products_holder_id = $data.find(the_ajax_script.products_holder_id); 652 } 653 args_ajax.products = $block_products_holder_id.prop('outerHTML'); 654 } 655 result = afterAjaxLoad(args_ajax); 656 berocket_aapf_attribute_data.jquery = $data; 657 } else { 658 if( the_ajax_script.ajax_request_load && the_ajax_script.ajax_request_load_style == 'js' ) { 659 if( data.indexOf('||EXPLODE||') > 0 ) { 660 products = data.split('||EXPLODE||'); 661 products = products[1]; 662 } else { 663 products = false; 664 } 665 json_data = JSON.parse( data.split('||JSON||')[1] ); 666 data = json_data; 667 if( ! products ) { 668 data.no_products = the_ajax_script.no_products; 669 } else { 670 data.products = products; 671 } 672 } 673 674 if( ! the_ajax_script.ajax_request_load ) { 675 if( data.products ) { 676 if( jQuery('<div>'+data.products+'</div>').find(the_ajax_script.products_holder_id).length > 0 ) { 677 data.products = jQuery('<div>'+data.products+'</div>').find(the_ajax_script.products_holder_id).prop('outerHTML'); 678 } 679 } 680 } 681 result = afterAjaxLoad(data); 682 berocket_aapf_attribute_data.name = data.attributesname; 683 berocket_aapf_attribute_data.data = data.attributes; 684 } 685 } 686 berocket_aapf_attribute_data.loaded = true; 687 berocket_product_recount(); 688 berocket_reset_button_hide_not(); 689 $('.berocket_aapf_widget_loading').remove(); 690 berocket_aapf_widget_first_page_jump = true; 691 berocket_aapf_404_jump_fail = false; 692 berocket_aapf_404_jump = false; 693 if( attribute_selected_count_start != get_widget_selected_filters().length ) { 694 updateProducts(); 695 } else { 696 // call user func after_update
697 $(document).trigger('berocket_ajax_products_loaded'); 698 $(document).trigger('berocket_ajax_filtering_end'); 699 if( the_ajax_script.user_func != null ) 700 berocket_fire( the_ajax_script.user_func.after_update ); 701 } 702 }, return_type).fail(function() { 703 if ( berocket_last_ajax_request_id == berocket_this_ajax_request_id ) { 704 if( ! berocket_aapf_404_jump_fail ) { 705 berocket_aapf_404_jump = true; 706 berocket_aapf_404_jump_fail = true; 707 updateProducts($force); 708 } else { 709 berocket_aapf_404_jump_fail = false; 710 berocket_aapf_404_jump = false; 711 $(document).trigger('berocket_ajax_filtering_end'); 712 } 713 } else { 714 $(document).trigger('berocket_ajax_filtering_end'); 715 } 716 }); 717 if ( berocket_aapf_404_jump ) { 718 the_ajax_script.first_page = first_page_404; 719 berocket_aapf_widget_first_page_jump = berocket_aapf_widget_first_page_jump_404; 720 first_page_404 = false; 721 } 722 } 723 724 function afterAjaxLoad( args ) { 725 result = { 726 reset_pagination_event:false, 727 } 728 if( ! the_ajax_script.woocommerce_removes.result_count ) { 729 $(the_ajax_script.result_count_class).html( $(args.result_count).html() || '' ); 730 } 731 if( ! the_ajax_script.woocommerce_removes.ordering ) { 732 $(the_ajax_script.ordering_class).html( $(args.catalog_ordering).html() || '' ); 733 } 734 if( ! the_ajax_script.woocommerce_removes.pagination ) { 735 $(the_ajax_script.pagination_class).html( $(args.pagination).html() || '' ); 736 } 737 738 if ( typeof args.products != 'undefined' ) { 739 if( $(the_ajax_script.pagination_class).length == 0 && ! the_ajax_script.woocommerce_removes.pagination ) { 740 args.products = args.products+( args.pagination || '' ); 741 result.reset_pagination_event = true; 742 } 743 if( $(the_ajax_script.ordering_class).length == 0 && ! the_ajax_script.woocommerce_removes.ordering ) { 744 args.products = ( args.catalog_ordering || '' )+args.products; 745 } 746 if( $(the_ajax_script.result_count_class).length == 0 && ! the_ajax_script.woocommerce_removes.result_count ) { 747 args.products = ( args.result_count || '' )+args.products; 748 } 749 } 750 // call user func on_update 751 752 $(document).trigger('berocket_ajax_filtering_on_update'); 753 if( the_ajax_script.user_func != null ) 754 berocket_fire( the_ajax_script.user_func.on_update ); 755 756 if ( $('.woocommerce-info').hasClass('woocommerce-info') && ! $(the_ajax_script.products_holder_id).is(':visible') ) { 757 if ( typeof args.products != 'undefined' ) { 758 if( berocket_replace_only_html ) { 759 location.reload(); 760 } else { 761 $('.woocommerce-info').replaceWith(args.products); 762 } 763 } 764 } else { 765 var $block_products_holder_id; 766 if( $(the_ajax_script.products_holder_id).length > 1 ) { 767 $(the_ajax_script.products_holder_id).each(function () { 768 if( $(this).is('.berocket_aapf_true') || $(this).parents('.berocket_aapf_true').length || $(this).find('.berocket_aapf_true').length ) { 769 $block_products_holder_id = $(this); 770 return false; 771 } 772 if( typeof($block_products_holder_id) == 'undefined' && ! $(this).is('.berocket_aapf_false') && $(this).parents('.berocket_aapf_false').length && $(this).find('.berocket_aapf_false').length ) { 773 $block_products_holder_id = $(this); 774 } 775 }); 776 } 777 if( typeof($block_products_holder_id) == 'undefined' ) { 778 $block_products_holder_id = $(the_ajax_script.products_holder_id); 779 } 780 if ( typeof args.no_products != 'undefined' ) {
781 if( berocket_child_no_products ) { 782 args.no_products = berocket_child_no_products; 783 } 784 if ( $block_products_holder_id.length > 0 ) { 785 $block_products_holder_id.html(args.no_products); 786 } else if ( $('div.woocommerce').length > 0 ) { 787 $('div.woocommerce').html(args.no_products); 788 } 789 } else { 790 var $products = $(args.products); 791 if ( $products.length > 0 ) { 792 if ( $block_products_holder_id.length > 0 ) { 793 if( berocket_replace_only_html ) { 794 $block_products_holder_id.html($products.html()); 795 if( typeof($block_products_holder_id.isotope) == 'function' ) { 796 $block_products_holder_id.isotope( 'reloadItems' ); 797 $block_products_holder_id.isotope(); 798 } 799 jQuery(document).trigger('berocket_aapf_time_to_fix_products_style'); 800 jQuery(the_ajax_script.products_holder_id).find("*").filter(function() {return jQuery(this).css("opacity") == "0";}).css("opacity", 1); 801 } else { 802 $block_products_holder_id.replaceWith($products); 803 } 804 } else { 805 if ( $('div.woocommerce').length > 0 ) { 806 $('div.woocommerce').html($products.prop('outerHTML')); 807 } 808 } 809 } else { 810 if ( $products.find(the_ajax_script.products_holder_id).length > 0 ) { 811 if ( $block_products_holder_id.length > 0 ) { 812 $block_products_holder_id.html($products.find(the_ajax_script.products_holder_id).html()); 813 } else if ( $('div.woocommerce').length > 0 ) { 814 $('div.woocommerce').html($products.find(the_ajax_script.products_holder_id).prop('outerHTML')); 815 } 816 } else { 817 if ( $block_products_holder_id.length > 0 ) { 818 $block_products_holder_id.html(the_ajax_script.no_products); 819 } else if ( $('div.woocommerce').length > 0 ) { 820 $('div.woocommerce').html(''); 821 } 822 } 823 } 824 } 825 } 826 return result; 827 } 828 829 berocket_new_product_recount = function ($data) { 830 $is_berocket_wc_shortcode_fix = $data.is('.berocket_wc_shortcode_fix'); 831 $new_widgets_list = []; 832 $data.find('.berocket_single_filter_widget').each(function (i,o) { 833 var showbutton = $('.berocket_single_filter_widget.berocket_single_filter_widget_'+$(o).data('id')).data('showbutton'); 834 var $thistitle = $(o).find('.berocket_aapf_widget-title_div'); 835 var widget_block = $thistitle.next('.berocket_aapf_widget'); 836 if(showbutton == 'hide') { 837 widget_block.slideDown(0, function(){widget_block.find('.mCSB_container').css('width', '');}); 838 $thistitle.find('span').removeClass('show_button').addClass('hide_button'); 839 } else if( showbutton == 'show' ) { 840 widget_block.slideUp(0); 841 $thistitle.find('span').removeClass('hide_button').addClass('show_button'); 842 } 843 var show_child_button = $('.berocket_single_filter_widget.berocket_single_filter_widget_'+$(o).data('id')).find('.br_child_toggle .fa-minus'); 844 if( show_child_button.length ) { 845 show_child_button.each(function() { 846 hide_child_attributes($(o).find('.br_child_toggle[data-term_id='+$(this).parents('.br_child_toggle').data('term_id')+']')); 847 }); 848 } 849 $html = $(o).html(); 850 if( $is_berocket_wc_shortcode_fix ) { 851 $(o).html(''); 852 $('.berocket_single_filter_widget.berocket_single_filter_widget_'+$(o).data('id')).not('.berocket_wc_shortcode_fix .berocket_single_filter_widget').html($html); 853 } else { 854 $('.berocket_single_filter_widget.berocket_single_filter_widget_'+$(o).data('id')).html($html); 855 } 856 }); 857 $('.berocket_single_filter_widget').each(function(i, o) { 858 var showbutton = $(o).data('showbutton'); 859 var $thistitle = $(o).find('.berocket_aapf_widget-title_div'); 860 var widget_block = $thistitle.next('.berocket_aapf_widget'); 861 if(showbutton == 'hide') 862 { 863 widget_block.parents('.berocket_single_filter_widget').first().removeClass('berocket_single_filter_hidden').addClass('berocket_single_filter_visible'); 864 widget_block.slideDown(100, function(){widget_block.find('.mCSB_container').css('width', '');}); 865 $thistitle.find('span').removeClass('show_button').addClass('hide_button'); 866 $thistitle.parents('.berocket_single_filter_widget').data('showbutton', 'hide'); 867 } 868 else if( showbutton == 'show' ) 869 { 870 widget_block.parents('.berocket_single_filter_widget').first().removeClass('berocket_single_filter_visible').addClass('berocket_single_filter_hidden');
871 widget_block.slideUp(100); 872 $thistitle.find('span').removeClass('hide_button').addClass('show_button'); 873 $thistitle.parents('.berocket_single_filter_widget').data('showbutton', 'show'); 874 } 875 berocket_widget_show_values_text($(this)); 876 }); 877 if( ! $('.berocket_single_filter_widget').length ) { 878 $data.find('.berocket_aapf_widget').each(function (i,o) { 879 $widget_id = $(o).data('widget_id'); 880 $new_widgets_list[ $new_widgets_list.length ] = $widget_id; 881 882 if ( $(o).parents('.berocket_search_box_block').hasClass('berocket_search_box_block') ) { 883 var $html = $(o).parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').html(); 884 $(o).parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').html(''); 885 $('#'+$widget_id).html($html).show(0); 886 } else { 887 if( $(o).has('.mCSB_container').length) { 888 var $html = $(o).find('.mCSB_container').html(); 889 $(o).find('.mCSB_container').html(''); 890 } else { 891 var $html = $(o).html(); 892 $(o).html(''); 893 } 894 if( $('[data-widget_id="'+$widget_id+'"]').has('.mCSB_container').length ) { 895 $('[data-widget_id="'+$widget_id+'"]').find('.mCSB_container').html($html).parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').show(0); 896 } else { 897 $('[data-widget_id="'+$widget_id+'"]').html($html).parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').show(0); 898 } 899 } 900 }); 901 } 902 $( ".berocket_filter_slider" ).each(function (i,o){ 903 berocket_set_slider ( i, o ); 904 }); 905 906 $(".berocket_aapf_widget_height_control").each(function (i,o){ 907 if( ! $(o).hasClass('br_height_controled') ) { 908 $(o).css('height', $(o).height()).mCustomScrollbar({ 909 axis: "y", 910 theme: $(o).data('scroll_theme'), 911 scrollInertia: 300 912 }).addClass('br_height_controled'); 913 berocket_custom_scroll_bar_init(); 914 } 915 }); 916 917 $('body').find('.berocket_aapf_widget').each(function (i,o) { 918 if( $(o).parents('.berocket_single_filter_widget').length == 0 ) { 919 $remove_it = true; 920 $($new_widgets_list).each(function (ii,oo){ 921 if ( $(o).data('widget_id') == oo ) { 922 $remove_it = false; 923 } 924 }); 925 926 if ( $remove_it ) { 927 $('#'+$(o).data('widget_id')).hide(0); 928 } 929 } 930 }); 931 if( the_ajax_script.use_select2 && $(".berocket_aapf_widget select").length && typeof $(".berocket_aapf_widget select").select2 == 'function' ) { 932 $(".select2-container--open").remove(); 933 $(".berocket_aapf_widget select").select2({width:'100%'}); 934 } 935 } 936 937 berocket_product_recount = function () { 938 if( berocket_aapf_attribute_data.loaded && berocket_aapf_child_parent_loaded ) { 939 jQuery('.berocket_aapf_widget:not(.berocket_aapf_widget_selected_area)').each(function(i, o) { 940 jQuery(o).parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').show(); 941 }); 942 if ( the_ajax_script.ajax_request_load_style == 'jquery' && the_ajax_script.ajax_request_load ) { 943 var $data = berocket_aapf_attribute_data.jquery; 944 berocket_new_product_recount($data); 945 berocket_aapf_attribute_data.jquery = false; 946 berocket_aapf_attribute_data.loaded = false; 947 } else { 948 var data = {attributesname: berocket_aapf_attribute_data.name, attributes: berocket_aapf_attribute_data.data}; 949 if( the_ajax_script.recount_products ) { 950 $('.berocket_aapf_widget').each(function (i,o){ 951 if( $(o).data('type') == 'color' || $(o).data('type') == 'checkbox' || $(o).data('type') == 'radio' || $(o).data('type') == 'select' || $(o).data('type') == 'image' || $(o).data('type') == 'ranges' ) { 952 attribute_pos = data.attributesname.indexOf($(o).data('attribute')); 953 if( attribute_pos >= 0 && typeof(data.attributes[attribute_pos]) != 'undefinded' && data.attributes[attribute_pos] != null ) { 954 if( $(o).data('type') == 'color' || $(o).data('type') == 'checkbox' || $(o).data('type') == 'image' ) { 955 data.attributes[attribute_pos].forEac
955h( function(element, index, array) { 956 $(o).find('.checkbox_'+element.term_id+element.taxonomy).each(function( i2, o2 ) { 957 $(o2).data('term_count', element.count).parents('li').first().find('.berocket_aapf_count').text(element.count); 958 hide_show_o_value($(o2), element.count); 959 }); 960 }); 961 } else if( $(o).data('type') == 'ranges' ) { 962 data.attributes[attribute_pos].forEach( function(element, index, array) { 963 $(o).find('.checkbox_'+element.term_ranges).each(function( i2, o2 ) { 964 $(o2).parents('li').first().find('.berocket_aapf_count').text(element.count); 965 hide_show_o_value($(o2), element.count); 966 }); 967 }); 968 } else if( $(o).data('type') == 'radio' ) { 969 data.attributes[attribute_pos].forEach( function(element, index, array) { 970 $(o).find('.radio_'+element.term_id+'_'+element.taxonomy).each(function( i2, o2 ) { 971 $(o2).parents('li').first().find('.berocket_aapf_count').text(element.count); 972 hide_show_o_value($(o2), element.count); 973 }); 974 }); 975 } else if( $(o).data('type') == 'select' ) { 976 data.attributes[attribute_pos].forEach( function(element, index, array) { 977 $(o).find('.select_'+element.term_id).text($(o).find('.select_'+element.term_id).data('term_name')+' ('+element.count+')'); 978 hide_show_o_value_select( $('.select_'+$(o).data('term_id')), element.count ); 979 }); 980 } 981 } 982 } 983 }); 984 } 985 berocket_aapf_attribute_data.loaded = false; 986 berocket_aapf_attribute_data.name = []; 987 berocket_aapf_attribute_data.data = []; 988 } 989 } 990 if( the_ajax_script.hide_empty_value ) { 991 jQuery('.berocket_aapf_widget:not(.berocket_aapf_widget_selected_area)').each(function(i, o) { 992 if( jQuery(o).parents('.berocket_search_box_block').parents('.berocket_search_box_block').length == 0 && jQuery(o).parents('.br_child_parent_wrapper').length == 0 ) { 993 if( jQuery(o).find('li').not('.berocket_widget_show_values').length == jQuery(o).find('li.berocket_hide_o_value').length ) { 994 jQuery(o).parents('.berocket_aapf_widget-wrapper').addClass('berocket_hiden_without_visible_values').hide().parents('.widget.widget_berocket_aapf, .widget.widget_berocket_aapf_single').hide(); 995 } 996 } 997 }); 998 } 999 berocket_reset_button_hide_not(); 1000 update_data_containers(); 1001 update_selected_area(); 1002 } 1003 1004 function hide_show_o_value($block, count) { 1005 if( the_ajax_script.hide_o_value ) { 1006 if( count == 0 ) { 1007 $block.each(function(i, o) { 1008 $(o).parents('li').first().addClass('berocket_hide_o_value'); 1009 }); 1010 } else { 1011 $block.each(function(i, o) { 1012 $(o).parents('li').first().removeClass('berocket_hide_o_value'); 1013 }); 1014 } 1015 var $parent = $block.parents('ul.berocket_aapf_widget'); 1016 $parent.each( function ( i, o ) { 1017 if( the_ajax_script.hide_o_value && $(o).find('.berocket_hide_o_value').length > 0 ||
1018 the_ajax_script.hide_sel_value && $(o).find('.berocket_hide_sel_value').length > 0 ) { 1019 $(o).find('.berocket_widget_show_values').show(); 1020 } else { 1021 $(o).find('.berocket_widget_show_values').hide(); 1022 } 1023 }); 1024 } 1025 } 1026 1027 function hide_show_o_value_select($block, count) { 1028 if( the_ajax_script.hide_o_value ) { 1029 if( count == 0 ) { 1030 $block.each(function(i, o) { 1031 $(o).addClass('berocket_hide_o_value').prop('hidden', true).prop('disabled', true); 1032 }); 1033 } else { 1034 $block.each(function(i, o) { 1035 $(o).removeClass('berocket_hide_o_value').prop('hidden', false).prop('disabled', false); 1036 }); 1037 } 1038 } 1039 } 1040 1041 function updateLocation( args, pushstate, return_request ){ 1042 if( typeof(newUpdateLocation) == 'function' ) { 1043 return newUpdateLocation(args, pushstate, return_request); 1044 } 1045 if ( typeof return_request == 'undefined' ) return_request = false; 1046 uri_request_array = []; 1047 var uri_request = ''; 1048 temp_terms = []; 1049 var taxonomy_sparator = "|", start_terms = "[", end_terms = "]", variable = 'filters'; 1050 1051 if (typeof the_ajax_script.nn_url_variable != "undefined" && the_ajax_script.nn_url_variable.length > 0) { 1052 variable = the_ajax_script.nn_url_variable; 1053 } 1054 if (typeof the_ajax_script.nn_url_value_1 != "undefined" && the_ajax_script.nn_url_value_1.length > 0) { 1055 start_terms = the_ajax_script.nn_url_value_1; 1056 end_terms = the_ajax_script.nn_url_value_2; 1057 } 1058 if (typeof the_ajax_script.nn_url_split != "undefined" && the_ajax_script.nn_url_split.length > 0) { 1059 taxonomy_sparator = the_ajax_script.nn_url_split; 1060 } 1061 1062 if( the_ajax_script.nice_urls ) { 1063 taxonomy_sparator = the_ajax_script.nice_url_split; 1064 start_terms = the_ajax_script.nice_url_value_1; 1065 end_terms = the_ajax_script.nice_url_value_2; 1066 variable = the_ajax_script.nice_url_variable; 1067 } 1068 1069 if( args.price ){ 1070 $price_obj = $('.berocket_filter_price_slider'); 1071 if( ( args.price[0] || args.price[0] === 0 ) && ( args.price[1] || args.price[1] === 0 ) && ( args.price[0] != $price_obj.data('min') || args.price[1] != $price_obj.data('max') ) ){ 1072 if( uri_request ) uri_request += taxonomy_sparator; 1073 uri_request += 'price'+start_terms+args.price[0]+'_'+args.price[1]+end_terms; 1074 } 1075 } 1076 1077 if( args.limits ){ 1078 $(args.limits).each(function (i,o){ 1079 if( o[0].substring(0, 3) == 'pa_' ) { 1080 if( !in_array( o[0].substring(3), temp_terms ) ){ 1081 temp_terms[temp_terms.length] = o[0].substring(3); 1082 } 1083 if( typeof uri_request_array[in_array( o[0].substring(3), temp_terms )] == 'undefined' ) { 1084 uri_request_array[in_array(o[0].substring(3), temp_terms)] = []; 1085 } 1086 uri_request_array[in_array( o[0].substring(3), temp_terms )] 1087 [uri_request_array[in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]]; 1088 } else { 1089 if( !in_array( o[0], temp_terms ) ){ 1090 temp_terms[temp_terms.length] = o[0]; 1091 } 1092 if( typeof uri_request_array[in_array( o[0], temp_terms )] == 'undefined' ) { 1093 uri_request_array[in_array(o[0], temp_terms)] = []; 1094 } 1095 uri_request_array[in_array( o[0], temp_terms )] 1096 [uri_request_array[in_array( o[0], temp_terms )].length] = [o[1],o[2]]; 1097 } 1098 }); 1099 } 1100 if( args.terms ){ 1101 $(args.terms).each(function (i,o){ 1102 if ( the_ajax_script.slug_urls ) { 1103 o[1] = o[3]; 1104 } 1105 if( o[0].substring(0, 3) == 'pa_' ) { 1106 if( !in_array( o[0].substring(3), temp_terms ) ){ 1107 temp_terms[temp_terms.length] = o[0].substring(3); 1108 } 1109 if( typeof uri_request_array[in_array( o[0].substring(3), temp_terms )] == 'undefined' ) { 1110 uri_request_array[in_array(o[0].substring(3), temp_terms)] = []; 1111 } 1112 uri_request_array[in_array( o[0].substring(3), temp_terms )] 1113 [uri_request_array[in_array( o[0].substring(3), temp_terms )].length] = [o[1],o[2]]; 1114 } else { 1115 if( !in_array( o[0], temp_terms ) ){ 1116 temp_terms[temp_terms.length] = o[0]; 1117 } 1118 if( typeof uri_request_array[in_array( o[0], temp_terms )] == 'undefined' ) { 1119 uri_request_array[in_array(o[0], temp_terms)] = []; 1120 } 1121 uri_request_array[in_array( o[0], temp_terms )] 1122 [uri_request_array[in_array( o[0], temp_terms )].length] = [o[1],o[2]]; 1123 } 1124 }); 1125 } 1126 1127 if( uri_request_array.length ) { 1128 $(uri_request_array).each(function (i,o){ 1129 if( uri_request ) uri_request += taxonomy_sparator; 1130 1131 if( typeof o != 'object' ){ 1132 if( the_ajax_script.seo_uri_decode ) { 1133 uri_request += encodeURIComponent( o ); 1134 } else { 1135 uri_request += o; 1136 } 1137 }else{ 1138 cnt_oo = false; 1139 if( the_ajax_script.seo_uri_decode ) { 1140 uri_request += encodeURIComponent( temp_terms[i] )+start_terms; 1141 } else { 1142 uri_request += temp_terms[i]+start_terms; 1143 } 1144 1145 $(o).each(function (ii,oo){ 1146 if( ( oo[1] == 'AND' || oo[1] == 'OR' ) ){ 1147 if( cnt_oo ){ 1148 if(oo[1] == 'AND'){ 1149 if( the_ajax_script.seo_uri_decode ) { 1150 uri_request += encodeURIComponent('+'); 1151 } else { 1152 uri_request += '+'; 1153 } 1154 }else{ 1155 if( the_ajax_script.seo_uri_decode ) { 1156 uri_request += encodeURIComponent('-'); 1157 } else { 1158 uri_request += '-'; 1159 } 1160 } 1161 } 1162 }else{ 1163 oo[0] += '_'+oo[1]; 1164 } 1165 if( the_ajax_script.seo_uri_decode ) { 1166 uri_request += encodeURIComponent(oo[0]); 1167 } else { 1168 uri_request += oo[0]; 1169 } 1170 cnt_oo = true; 1171 }); 1172 uri_request += end_terms; 1173 } 1174 }); 1175 } 1176 uri_request = uri_request; 1177 1178 if( !pushstate ) { 1179 return uri_request; 1180 } 1181 if ( the_ajax_script.trailing_slash ) { 1182 if( the_ajax_script.nice_urls && uri_request && uri_request.slice(-1) != '/' ) { 1183 uri_request += '/'; 1184 } 1185 } 1186 1187 var uri = the_ajax_script.current_page_url; 1188 if ( /\?/.test(uri) ) { 1189 passed_vars1 = uri.split('?'); 1190 uri = passed_vars1[0]; 1191 } 1192 if( uri && uri.slice(-1) != '/' && ( the_ajax_script.trailing_slash ) ) { 1193 uri += '/'; 1194 } 1195 1196 var cur_page = $(the_ajax_script.pagination_class).find('.current').first().text(); 1197 var paginate_regex = new RegExp(".+\/"+the_ajax_script.pagination_base+"\/([0-9]+).+", "i"); 1198 if( prev_page = parseInt( location.href.replace(paginate_regex, "$1") ) ) { 1199 if( ! parseInt( cur_page ) ){ 1200 cur_page = prev_page; 1201 } 1202 }
1203 if(berocket_aapf_widget_first_page_jump && the_ajax_script.first_page) { 1204 cur_page = 1; 1205 } 1206 cur_page = parseInt( cur_page ); 1207 var additional_datas = ''; 1208 something_added = false; 1209 if( /\?/.test(location.href) ){ 1210 passed_vars1 = location.href; 1211 if ( /\#/.test(passed_vars1) ) { 1212 passed_vars1 = passed_vars1.split('#'); 1213 passed_vars1 = passed_vars1[0]; 1214 } 1215 passed_vars1 = passed_vars1.split('?'); 1216 if( passed_vars1[1] ){ 1217 passed_vars2 = []; 1218 if( /&/.test(passed_vars1[1]) ) { 1219 passed_vars2 = passed_vars1[1].split('&'); 1220 } else { 1221 passed_vars2[0] = passed_vars1[1]; 1222 } 1223 passed_vars2_length = passed_vars2.length; 1224 for ( k = 0; k < passed_vars2.length; k++ ) { 1225 temp = passed_vars2[k].split('='); 1226 passed_vars2[k] = []; 1227 passed_vars2[k][0] = temp.shift(); 1228 passed_vars2[k][1] = temp.join("="); 1229 if( passed_vars2[k][0] == variable || passed_vars2[k][0] == 'page' || passed_vars2[k][0] == 'paged' || passed_vars2[k][0] == 'product-page' ) continue; 1230 1231 if( the_ajax_script.control_sorting && passed_vars2[k][0] == 'orderby' ) continue; 1232 1233 if( something_added ) { 1234 additional_datas += '&'; 1235 } else { 1236 additional_datas += '?'; 1237 } 1238 1239 additional_datas += passed_vars2[k][0]+'='+passed_vars2[k][1]; 1240 something_added = true; 1241 } 1242 } 1243 } 1244 var next_symbol_sep = '?'; 1245 if( the_ajax_script.nice_urls ) { 1246 if( uri_request ) { 1247 if( uri.slice(-1) != '/' ) { 1248 uri += '/'; 1249 } 1250 uri = uri + variable + "/" + uri_request; 1251 } 1252 if( cur_page > 1 && $(the_ajax_script.pagination_class+' a').last().length && $(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') == -1 ) { 1253 if( uri.slice(-1) != '/' ) { 1254 uri += '/'; 1255 } 1256 uri = uri + the_ajax_script.pagination_base+"/" + cur_page; 1257 if ( the_ajax_script.trailing_slash ) { 1258 uri += '/'; 1259 } 1260 } 1261 if( something_added ) { 1262 uri = uri + additional_datas; 1263 next_symbol_sep = '&' 1264 } 1265 } else { 1266 if( something_added ) { 1267 uri = uri + additional_datas; 1268 next_symbol_sep = '&'; 1269 } 1270 if( cur_page > 1 && $(the_ajax_script.pagination_class+' a').last().length && $(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') == -1 ) { 1271 uri = uri + next_symbol_sep + "paged=" + cur_page; 1272 next_symbol_sep = '&'; 1273 } 1274 if( uri_request ) { 1275 uri = uri + next_symbol_sep + variable + "=" + uri_request; 1276 next_symbol_sep = '&'; 1277 } 1278 } 1279 1280 if( the_ajax_script.control_sorting && args.orderby && the_ajax_script.default_sorting != args.orderby ){ 1281 uri = uri + next_symbol_sep + 'orderby=' + args.orderby; 1282 next_symbol_sep = '&'; 1283 } 1284 1285 if( cur_page > 1 && $(the_ajax_script.pagination_class+' a').last().length && $(the_ajax_script.pagination_class+' a').last().attr('href').search('product-page=') != -1 ) { 1286 uri = uri + next_symbol_sep + "product-page=" + cur_page; 1287 } 1288 if ( /\#/.test(location.href) ) { 1289 passed_vars1 = location.href.split('#'); 1290 passed_vars1 = passed_vars1[1]; 1291 uri += '#'+passed_vars1; 1292 } 1293 1294 if( return_request ) { 1295 return uri; 1296 } else { 1297 var stateParameters = { BeRocket: "Rules" }; 1298 history.replaceState(stateParameters, ""); 1299 history.pushState(stateParameters, "", uri); 1300 history.pathname = uri; 1301 } 1302 } 1303 // Take control over (default) pagination and sorting, make it AJAXy and work with filters 1304 if( ! the_ajax_script.woocommerce_removes.pagination_ajax ) {
1305 $(document).on('click', the_ajax_script.pagination_class+' a', function (event) { 1306 var permalink_page = /\/page\/(\d+)/; 1307 var non_permalink_page = /paged=(\d+)/; 1308 var href = $(this).attr('href'); 1309 if( permalink_page.test(href) ) { 1310 _next_page = href.match(permalink_page); 1311 _next_page = _next_page[1]; 1312 } else if( non_permalink_page.test(href) ) { 1313 _next_page = href.match(non_permalink_page); 1314 _next_page = _next_page[1]; 1315 } else if ( $(this).hasClass('next') || $(this).parent().hasClass('next') ) { 1316 _next_page = $(the_ajax_script.pagination_class+' .current').first().text(); 1317 _next_page = _next_page.replace(/\D/g,''); 1318 _next_page = parseInt( _next_page ) + 1; 1319 } else if ( $(this).hasClass('prev') || $(this).parent().hasClass('prev') ) { 1320 _next_page = $(the_ajax_script.pagination_class+' .current').first().text(); 1321 _next_page = _next_page.replace(/\D/g,''); 1322 _next_page = parseInt( _next_page ) - 1; 1323 } else { 1324 _next_page = $(this).text(); 1325 _next_page = _next_page.replace(/\D/g,''); 1326 _next_page = parseInt(_next_page); 1327 } 1328 if( typeof(_next_page) == 'undefined' || _next_page <= 0 ) { 1329 _next_page = 1; 1330 } 1331 event.preventDefault(); 1332 $(the_ajax_script.pagination_class+' .current').removeClass('current'); 1333 $(this).after("<span class='page-numbers current' style='display:none;'>"+_next_page+"</span>"); 1334 if( the_ajax_script.first_page ) { 1335 berocket_aapf_widget_first_page_jump = false; 1336 } 1337 updateProducts(true); 1338 }); 1339 } 1340 1341 function in_array(needle, haystack, strict) { 1342 var found = false, key, strict = !!strict; 1343 for (key in haystack) { 1344 if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) { 1345 found = key; 1346 break; 1347 } 1348 } 1349 return found; 1350 } 1351 berocket_in_array = in_array; 1352 1353 $(document).on("mousedown", ".berocket_aapf_widget input[type=radio]", function(event){ 1354 if ( $(this).prop('checked') ) { 1355 $(this).addClass('radio_is_checked'); 1356 } else { 1357 $(this).removeClass('radio_is_checked'); 1358 } 1359 }); 1360 $(document).on("click", ".berocket_aapf_widget input[type=radio]", function(event){ 1361 if ( $(this).is('.radio_is_checked') ) { 1362 $label = $(this).parents('li').first().find('.berocket_label_widgets'); 1363 setTimeout(function() { 1364 $label.click(); 1365 }, 5); 1366 } 1367 }); 1368 1369 $(document).on("select2:close", ".berocket_aapf_widget select", function(){ 1370 if( $(this).is('.select2changed') ) { 1371 $(this).removeClass('select2changed'); 1372 berocket_on_change_inputs_selects($(this)); 1373 } 1374 }); 1375 $(document).on("change", ".berocket_aapf_widget input, .berocket_aapf_widget select", function(){ 1376 if( $(this).is('.select2-hidden-accessible') ) { 1377 $(this).addClass('select2changed'); 1378 return 0; 1379 } 1380 berocket_on_change_inputs_selects($(this)); 1381 }); 1382 function berocket_on_change_inputs_selects(element) { 1383 var $this = $(element); 1384 if( $this.parents('.berocket_disabled_filter_element').length ) { 1385 return; 1386 } 1387 var $parent_for = $(document); 1388 if( $this.parents('.berocket_search_box_block').length > 0 ) { 1389 $parent_for = $this.parents('.berocket_search_box_block'); 1390 search_url = $parent_for.find('.berocket_search_box_button').data('url'); 1391 if( the_ajax_script.current_page_url == search_url
1392 || the_ajax_script.current_page_url.slice(-1) == '/' 1393 && the_ajax_script.current_page_url.slice(0, -1) == search_url 1394 || search_url.slice(-1) == '/' 1395 && the_ajax_script.current_page_url == search_url.slice(0, -1) ) { 1396 $parent_for = $(document); 1397 } 1398 } 1399 current_value = []; 1400 $berocket_aapf_last_changed = $this; 1401 berocket_child_no_products = ''; 1402 if( $this.parents('.berocket_aapf_widget-wrapper').find('.berocket_child_no_products').length > 0 && 1403 $this.parents('.berocket_aapf_widget-wrapper').find('.berocket_child_no_products').text() ) { 1404 berocket_child_no_products = $this.parents('.berocket_aapf_widget-wrapper').find('.berocket_child_no_products').text(); 1405 } 1406 if($this.attr('type') == 'checkbox' || $this.attr('type') == 'radio') 1407 { 1408 $label = $this.parents('li').first().find('.berocket_label_widgets'); 1409 if( $label.hasClass('berocket_checked')) { 1410 $parent_for.find('.'+$label.data('for')).prop('checked', false).removeAttr('checked').trigger('refresh'); 1411 $parent_for.find('.'+$label.data('for')).each(function( i2, o2 ) { 1412 $(o2).parents('li').first().removeClass('berocket_hide_sel_value').find('.berocket_label_widgets').removeClass('berocket_checked'); 1413 }); 1414 $label.removeClass('berocket_checked'); 1415 } else { 1416 $parent_for.find('.'+$label.data('for')).prop('checked', true).trigger('refresh'); 1417 if( $label.parents('li').first().find('input').attr('type') == 'radio' ) { 1418 $parent_for.find('.'+$label.data('for')).parents('.berocket_aapf_widget').find('li').removeClass('berocket_hide_sel_value').find('.berocket_label_widgets').removeClass('berocket_checked'); 1419 } 1420 $parent_for.find('.'+$label.data('for')).each(function( i2, o2 ) { 1421 $(o2).parents('li').first().find('.berocket_label_widgets').addClass('berocket_checked'); 1422 if( the_ajax_script.hide_sel_value ) { 1423 $(o2).parents('li').first().addClass('berocket_hide_sel_value'); 1424 } 1425 }); 1426 $label.addClass('berocket_checked'); 1427 } 1428 $parent_for.find('.'+$label.data('for')).parents('ul').find('input').trigger('refresh'); 1429 if( the_ajax_script.hide_sel_value ) { 1430 $for_objects = $parent_for.find('.'+$label.data('for')).parents('.berocket_aapf_widget'); 1431 $for_objects.each(function (i,o){ 1432 $hiden_objects = $(o).find('.berocket_hide_o_value, .berocket_hide_sel_value'); 1433 if( $hiden_objects.length == 0 ) { 1434 $(o).find('.berocket_widget_show_values').hide(); 1435 } else { 1436 $(o).find('.berocket_widget_show_values').show(); 1437 } 1438 }); 1439 } 1440 1441 if($this.prop('checked')) 1442 { 1443 $parent_for.find('.'+$label.data('for')).prop('checked', true).trigger('refresh'); 1444 if( the_ajax_script.hide_sel_value ) { 1445 $('.'+$label.data('for')).each(function( i2, o2 ) { 1446 $(o2).parents('li').first().addClass('berocket_hide_sel_value'); 1447 }); 1448 } 1449 } 1450 else 1451 { 1452 $parent_for.find('.'+$label.data('for')).prop('checked', false).removeAttr('checked').trigger('refresh').each(function( i2, o2 ) { 1453 $(o2).parents('li').removeClass('berocket_hide_sel_value'); 1454 }); 1455 } 1456 $this.parents('.berocket_aapf_widget').find('input').each( function ( i, o ) { 1457 if ( $(o).prop('checked') ) { 1458 current_value.push( parseInt( $(o).data('term_id') ) ); 1459 } 1460 }); 1461 } else if($this.is('select')) { 1462 var selected_val = []; 1463 $(element).find('option:selected').each(function(i, o) { 1464 selected_val.push($(o).val()); 1465 }); 1466 if( $this.parents('.berocket_aapf_widget').data('child_parent') != 'child' ) { 1467 $parent_for.find('select.'+$this.data('taxonomy')).val(selected_val).trigger('refresh'); 1468 } 1469 current_value = selected_val; 1470 if( ! selected_val.length ) { 1471 current_value = false; 1472 } 1473 } 1474 if( $this.parents('.berocket_search_box_block').length == 0 ) { 1475 var $widget_child = ''; 1476 if ( $this.parents('.berocket_aapf_widget').data('child_parent') == 'parent' || $this.parents('.berocket_aapf_widget').data('child_parent') == 'child' ) { 1477 berocket_aapf_child_parent_loaded = false; 1478 $widget_child = '.'+$this.parents('.berocket_aapf_widget').data('attribute')+'_child_'; 1479 if ( $this.parents('.berocket_aapf_widget').data('child_parent') == 'parent' ) { 1480 $widget_child += '1'; 1481 } else { 1482 $widget_child += ( parseInt( $this.parents('.berocket_aapf_widget').data('child_parent_depth') ) + 1 ); 1483 } 1484 $widget_child = $($widget_child); 1485 berocket_remove_child ( $widget_child ); 1486 } 1487 updateProducts(); 1488 if ( $this.parents('.berocket_aapf_widget').data('child_parent') == 'parent' || $this.parents('.berocket_aapf_widget').data('child_parent') == 'child' ) { 1489 berocket_child_load ( $widget_child, $this.parents('.berocket_aapf_widget').data('attribute'), current_value, 'default' ); 1490 } 1491 if( !berocket_aapf_child_parent_loaded ) { 1492 berocket_aapf_child_parent_loaded = true; 1493 berocket_product_recount(); 1494 } 1495 berocket_reset_button_hide_not(); 1496 } 1497 } 1498 1499 berocket_set_slider = function ( i, o ) { 1500 if( ! $(o).hasClass('berocket_slidered') ) { 1501 var all_terms_name; 1502 var all_terms_slug; 1503 var slider_disabled = $(o).data('disabled'); 1504 if( slider_disabled ) { 1505 slider_disabled = true; 1506 } else { 1507 slider_disabled = false; 1508 } 1509 $(o).addClass('berocket_slidered').slider({ 1510 range: true, 1511 min: parseFloat($(o).data('min')), 1512 max: parseFloat($(o).data('max')),
1513 values: [$(o).data('value1'),$(o).data('value2')], 1514 disabled: slider_disabled, 1515 create: function( event, ui ) { 1516 all_terms_name = $(o).data('all_terms_name'); 1517 all_terms_slug = $(o).data('all_terms_slug'); 1518 $o = $(o); 1519 var number_style = $(o).data('number_style'); 1520 if( ! number_style ) { 1521 number_style = the_ajax_script.number_style; 1522 } 1523 if( $(o).data('all_terms_name') == null ) { 1524 $( '#'+$o.data('fields_1') ).val( berocket_format_number ($(o).data('value1') / $(o).data( 'step' ), number_style ) ); 1525 $( '#'+$o.data('fields_2') ).val( berocket_format_number ($(o).data('value2') / $(o).data( 'step' ), number_style ) ); 1526 $(o).data('value_1', $(o).data('value1') / $(o).data( 'step' ) ); 1527 $(o).data('value_2', $(o).data('value2') / $(o).data( 'step' ) ); 1528 } else { 1529 $( '#'+$o.data('fields_1') ).val( all_terms_slug[ $(o).data('value1')>>0 ] ); 1530 $( '#'+$o.data('fields_2') ).val( all_terms_slug[ $(o).data('value2')>>0 ] ); 1531 $(o).data('value_1', all_terms_name[ $(o).data('value1')>>0 ] ); 1532 $(o).data('value_2', all_terms_name[ $(o).data('value2')>>0 ] ); 1533 } 1534 } 1535 }).on('slidestop', function( event ){ 1536 var $widget_child = '', current_value = false; 1537 if ( $(o).data('min') != $(o).data('value1') || $(o).data('max') != $(o).data('value2') ) { 1538 current_value = [$(o).data('value1'), $(o).data('value2')]; 1539 } 1540 if( $(this).parents('.berocket_search_box_block').length == 0 ) { 1541 if ( $(o).parents('.berocket_aapf_widget').data('child_parent') == 'parent' || $(o).parents('.berocket_aapf_widget').data('child_parent') == 'child' ) { 1542 1543 $widget_child = '.'+$(o).parents('.berocket_aapf_widget').data('attribute')+'_child_'; 1544 if ( $(o).parents('.berocket_aapf_widget').data('child_parent') == 'parent' ) { 1545 $widget_child += '1'; 1546 } else { 1547 $widget_child += ( parseInt( $(o).parents('.berocket_aapf_widget').data('child_parent_depth') ) + 1 ); 1548 } 1549 $widget_child = $($widget_child); 1550 berocket_remove_child ( $widget_child ); 1551 } 1552 $berocket_aapf_last_changed = $(o); 1553 updateProducts(); 1554 if ( $(o).parents('.berocket_aapf_widget').data('child_parent') == 'parent' || $(o).parents('.berocket_aapf_widget').data('child_parent') == 'child' ) { 1555 berocket_child_load ( $widget_child, $(o).parents('.berocket_aapf_widget').data('attribute'), current_value, 'slider' ); 1556 } 1557 if( !berocket_aapf_child_parent_loaded ) { 1558 berocket_aapf_child_parent_loaded = true; 1559 berocket_product_recount(); 1560 } 1561 berocket_reset_button_hide_not(); 1562 } 1563 }).on('slide', function( event, ui ) { 1564 $o = $(ui.handle).parents('div.berocket_filter_slider'); 1565 vals = ui.values; 1566 var number_style = $(o).data('number_style'); 1567 if( ! number_style ) { 1568 number_style = the_ajax_script.number_style; 1569 } 1570 if( $(o).data('all_terms_name') == null ) { 1571 $( '#'+$o.data('fields_1') ).val( berocket_format_number (vals[0]/$(o).data('step'), number_style) ); 1572 $( '#'+$o.data('fields_2') ).val( berocket_format_number (vals[1]/$(o).data('step'), number_style) ); 1573 $o.data('value_1', (vals[0]/$(o).data('step'))); 1574 $o.data('value_2', (vals[1]/$(o).data('step'))); 1575 } else { 1576 $( '#'+$o.data('fields_1') ).val( all_terms_slug[vals[0]] ); 1577 $( '#'+$o.data('fields_2') ).val( all_terms_slug[vals[1]] ); 1578 $o.data('value_1', all_terms_name[vals[0]]); 1579 $o.data('value_2', all_terms_name[vals[1]]); 1580 } 1581 1582 if ( $o.data('child_parent') != 'child' && $o.data('child_parent') != 'parent' ) { 1583 $('.slide div').each(function( i, obj ) {
1584 if( $(obj).data('taxonomy') == $(o).data('taxonomy') ) { 1585 $(obj).slider("values", vals); 1586 var number_style = $(obj).data('number_style'); 1587 if( ! number_style ) { 1588 number_style = the_ajax_script.number_style; 1589 } 1590 if( $(o).data('all_terms_name') == null ) { 1591 $( '#'+$(obj).data('fields_1') ).val( berocket_format_number (vals[0] / $(obj).data( 'step' ), number_style ) ); 1592 $( '#'+$(obj).data('fields_2') ).val( berocket_format_number (vals[1] / $(obj).data( 'step' ), number_style ) ); 1593 $(obj).data('value_1', (vals[0]/$(o).data('step'))); 1594 $(obj).data('value_2', (vals[1]/$(o).data('step'))); 1595 } else { 1596 $( '#'+$(obj).data('fields_1') ).val( all_terms_slug[ vals[0] ] ); 1597 $( '#'+$(obj).data('fields_2') ).val( all_terms_slug[ vals[1] ] ); 1598 $(obj).data('value_1', all_terms_name[vals[0]]); 1599 $(obj).data('value_2', all_terms_name[vals[1]]); 1600 } 1601 } 1602 }); 1603 } 1604 }); 1605 } 1606 } 1607 berocket_slider_input_val_started = false; 1608 $(document).on('focus', '.berocket_slider_start_val, .berocket_slider_end_val', function() { 1609 if ( ! $(this).is(':disabled') ) { 1610 var slider = $(this).parents('.berocket_aapf_widget').find('.berocket_filter_slider'); 1611 var values = slider.slider( "option", "values" ); 1612 1613 if( $(this).is('.berocket_slider_start_val') ) { 1614 $(this).val( values[0] ).data('save_val', values[0]); 1615 } else { 1616 $(this).val( values[1] ).data('save_val', values[1]); 1617 } 1618 } 1619 }); 1620 $(document).on('focusout', '.berocket_slider_start_val, .berocket_slider_end_val', function() { 1621 if ( ! $(this).is(':disabled') && $(this).data('save_val') == $(this).val() ) { 1622 var slider = $(this).parents('.berocket_aapf_widget').find('.berocket_filter_slider'); 1623 var number_style = slider.data('number_style'); 1624 if( ! number_style ) { 1625 number_style = the_ajax_script.number_style; 1626 } 1627 1628 $val = $(this).val(); 1629 $(this).val( berocket_format_number( $val*1, number_style) ); 1630 } 1631 }); 1632 $(document).on('change', '.berocket_slider_start_val, .berocket_slider_end_val', function() { 1633 if( ! berocket_slider_input_val_started ) { 1634 berocket_slider_input_val_started = true; 1635 var slider = $(this).parents('.berocket_aapf_widget').find('.berocket_filter_slider'); 1636 var values = slider.slider( "option", "values" ); 1637 if( $(this).is('.berocket_slider_start_val') ) { 1638 values[0] = $(this).val(); 1639 } else { 1640 values[1] = $(this).val(); 1641 } 1642 slider.slider( "option", "values", values ); 1643 slider 1644 .trigger('slide', {handle:slider.find('.ui-slider-handle').first(), value: values[0], values: values}) 1645 .trigger('slide', {handle:slider.find('.ui-slider-handle').last(), value: values[1], values: values}) 1646 .trigger('slidestop'); 1647 berocket_slider_input_val_started = false; 1648 } 1649 }); 1650 1651 $(document).on('click', '.berocket_aapf_widget_selected_area .br_unselect_all', function (event){ 1652 event.preventDefault(); 1653 br_reset_all_filters(); 1654 }); 1655 1656 $(document).on('mouseenter', '.berocket_aapf_widget_selected_area a, .berocket_aapf_widget a', function (event){ 1657 $(this).addClass('br_hover'); 1658 }); 1659 1660 $(document).on('mouseleave', '.berocket_aapf_widget_selected_area a, .berocket_aapf_widget a', function (event){ 1661 $(this).removeClass('br_hover'); 1662 }); 1663 1664 $(document).on('click', '.berocket_aapf_widget_selected_area a:not(.br_unselect_all)', function (event){ 1665 event.preventDefault(); 1666 $obj = $(this); 1667 berocket_unselect_all = true; 1668 var el_type = $obj.data('el_type'); 1669 var el_id = $obj.data('el_id'); 1670 var taxonomy = $obj.data('el_taxonomy'); 1671 reset_filter(el_type, el_id, taxonomy); 1672 berocket_unselect_all = false; 1673 updateProducts(true); 1674 }); 1675 1676 $(document).on('click', '.berocket_aapf_reset_button', function() { 1677 br_reset_all_filters(); 1678 }); 1679 1680 br_reset_all_filters = function () { 1681 berocket_unselect_all = true; 1682 reset_info = get_widget_selected_filters(); 1683 reset_info.forEach(function(element) {
1684 reset_filter(element.type, element.id, element.taxonomy); 1685 }); 1686 berocket_unselect_all = false; 1687 updateProducts(true); 1688 } 1689 1690 function reset_filter(el_type, el_id, taxonomy) { 1691 $berocket_aapf_last_changed = $('.berocket_aapf_widget li').first(); 1692 if ( el_type == 'checkbox' || el_type == 'color' || el_type == 'radio' ) { 1693 if( $('.' + el_id).prop('checked') ) { 1694 $('.' + el_id).first().parents('li').first().find('label').trigger('click'); 1695 } 1696 } else if ( el_type == 'select' ) { 1697 $( 'select.'+taxonomy ).find('option.select_'+el_id).prop('selected', false); 1698 $( 'select.'+taxonomy ).trigger('change.select2'); 1699 updateProducts(); 1700 } else if ( el_type == 'slider' ) { 1701 $slider = $('#'+el_id).closest('li').find('.berocket_filter_slider'); 1702 1703 var val1 = parseFloat($slider.data('min')); 1704 var val2 = parseFloat($slider.data('max')); 1705 1706 ui = {handle:$slider.children(), values:[val1,val2]}; 1707 $slider.slider( "values", [ val1, val2 ] ).trigger('slide', ui); 1708 1709 updateProducts(); 1710 } else if ( el_type == '_date' ) { 1711 $date = $('.'+el_id+'.berocket_date_picker'); 1712 1713 var val1 = $date.data('min'); 1714 var val2 = $date.data('max'); 1715 1716 berocket_unselect_all = true; 1717 $('.'+el_id+'.br_start_date').val(val1).trigger('change'); 1718 $('.'+el_id+'.br_end_date').val(val2).trigger('change'); 1719 berocket_unselect_all = false; 1720 1721 updateProducts(); 1722 } 1723 } 1724 1725 $(document).on('click', '.berocket_aapf_widget_update_button', function (event) { 1726 event.preventDefault(); 1727 updateProducts(true); 1728 }); 1729 1730 $(document).on('click', '.berocket_label_widgets', function(event) { 1731 if( $(this).parents('li').first().find('input').attr('type') == 'checkbox' || $(this).parents('li').first().find('input').attr('type') == 'radio' ) { 1732 event.preventDefault(); 1733 event.stopPropagation(); 1734 $(this).parents('span').first().find('input').trigger('change'); 1735 } 1736 }); 1737 1738 $(document).on( 'click', '.berocket_aapf_widget-title_div:not(".disable_collapse")', function( event ) { 1739 event.preventDefault(); 1740 if( $(window).width() > 768 && $(this).parents('.berocket_inline_clickable_hover.berocket_single_filter_visible').length ) { 1741 return false; 1742 } 1743 $(this).trigger('br_showhide'); 1744 }); 1745 1746 $(document).on( 'br_showhide', '.berocket_aapf_widget-title_div:not(".disable_collapse")', function( event ) { 1747 var widget_block = $(this).next('.berocket_aapf_widget'); 1748 $(this).parents('.berocket_single_filter_widget').data('showbutton', widget_block.css('display') == 'none'); 1749 if(widget_block.css('display') == 'none') 1750 { 1751 widget_block.parents('.berocket_single_filter_widget').first().removeClass('berocket_single_filter_hidden').addClass('berocket_single_filter_visible'); 1752 widget_block.slideDown(0, function(){widget_block.find('.mCSB_container').css('width', '');}); 1753 $(this).find('span').removeClass('show_button').addClass('hide_button'); 1754 $(this).parents('.berocket_single_filter_widget').data('showbutton', 'hide'); 1755 } 1756 else 1757 { 1758 widget_block.parents('.berocket_single_filter_widget').first().removeClass('berocket_single_filter_visible').addClass('berocket_single_filter_hidden'); 1759 widget_block.slideUp(0); 1760 if( typeof(widget_block.find('select').select2) == 'function' && widget_block.find('select').data('select2') ) { 1761 widget_block.find('select').select2("close"); 1762 } 1763 $(this).find('span').removeClass('hide_button').addClass('show_button'); 1764 $(this).parents('.berocket_single_filter_widget').data('showbutton', 'show'); 1765 } 1766 }); 1767 $(document).on( 'click', '.berocket_aapf_widget .berocket_widget_show_values', function( event ) { 1768 event.preventDefault(); 1769 var widget_block = $(this).parents('.berocket_single_filter_widget');
1770 if(widget_block.hasClass('show_o_sel_values')) 1771 { 1772 widget_block.removeClass('show_o_sel_values'); 1773 } 1774 else 1775 { 1776 widget_block.addClass('show_o_sel_values'); 1777 } 1778 berocket_widget_show_values_text(widget_block); 1779 }); 1780 1781 function berocket_widget_show_values_text($widget) { 1782 var $this = $widget.find('.berocket_widget_show_values'); 1783 var widget_block = $this.parents('.berocket_single_filter_widget'); 1784 if(widget_block.hasClass('show_o_sel_values')) { 1785 $this.html(the_ajax_script.translate.hide_value+'<span class="hide_button fa"></span>'); 1786 } else { 1787 $this.html(the_ajax_script.translate.show_value+'<span class="show_button fa"></span>'); 1788 } 1789 } 1790 1791 $(document).on( the_ajax_script.description_show, '.berocket_aapf_widget-title_div .berocket_aapf_description i', function( event ) { 1792 event.preventDefault(); 1793 event.stopPropagation(); 1794 $('.berocket_aapf_description_div').remove(); 1795 if( $('.berocket_aapf_description_div').length == 0 ) { 1796 $block = $(this).next().clone(); 1797 $block.addClass( 'berocket_aapf_description_div' ).hide(); 1798 $('body').append($block); 1799 i_top = ( $(this).offset().top - $(document).scrollTop() ) + ( $(this).height() / 2 ); 1800 i_left = $(this).offset().left; 1801 top_px = parseInt( i_top + $( document ).scrollTop() ); 1802 if( i_top >= (window.innerHeight / 2) ) { 1803 top_px -= ( $block.outerHeight() ); 1804 top_px += 22; 1805 top_side = 'bottom'; 1806 } else { 1807 top_side = 'top'; 1808 top_px -= 22; 1809 } 1810 1811 side_px = i_left; 1812 if( i_left < (window.innerWidth / 2) ) { 1813 side_px += $(this).width(); 1814 side = 'left'; 1815 deside = 'right'; 1816 bottom_side = 'top'; 1817 side_px += 9; 1818 } else { 1819 side = 'right'; 1820 deside = 'left'; 1821 bottom_side = 'bottom'; 1822 side_px = (window.innerWidth - side_px) - 3; 1823 } 1824 $block.addClass( 'berocket_aapf_description_div_'+top_side+'_'+side ).addClass( 'berocket_aapf_description_div' ).css( 'top', top_px ).css( side, side_px ); 1825 $block.find('.berocket_aapf_description_arrow').css('border-'+deside, '0').css('border-'+bottom_side, '0'); 1826 $block.show(); 1827 } 1828 }); 1829 1830 $(document).on( the_ajax_script.description_hide, '.berocket_aapf_widget-title_div .berocket_aapf_description i', function( event ) { 1831 event.preventDefault(); 1832 event.stopPropagation(); 1833 to_element = event.toElement || event.relatedTarget; 1834 if ( the_ajax_script.description_hide == 'mouseleave' && $(to_element).parents('.berocket_aapf_description_div').length == 0) { 1835 $('.berocket_aapf_description_div').remove(); 1836 } 1837 }); 1838 1839 $(document).on(the_ajax_script.description_hide, '.berocket_aapf_description_div', function( event ) { 1840 event.preventDefault(); 1841 event.stopPropagation(); 1842 if ( the_ajax_script.description_hide == 'mouseleave' ) { 1843 $(this).remove(); 1844 } 1845 }); 1846 1847 $(document).on(the_ajax_script.description_hide, function() { 1848 $('.berocket_aapf_description_div').remove(); 1849 }); 1850 1851 function berocket_aapf_widget_loading() { 1852 if( $('.berocket_aapf_widget_loading').length > 0 ) { 1853 loading_top = ( ( $(document).scrollTop() + ( window.innerHeight / 2 ) ) - $('.berocket_aapf_widget_loading').offset().top ); 1854 if ( loading_top < 100 || $('.berocket_aapf_widget_loading').height() < 200 ) { 1855 loading_top = 100; 1856 } else if ( loading_top > ( $('.berocket_aapf_widget_loading').height() - $('.berocket_aapf_widget_loading_container').height() ) ) { 1857 loading_top = $('.berocket_aapf_widget_loading').height() - $('.berocket_aapf_widget_loading_container').height(); 1858 } 1859 $('.berocket_aapf_widget_loading_container').css('top', loading_top); 1860 } 1861 $('.berocket_aapf_description_div').remove(); 1862 } 1863 $(document).scroll( berocket_aapf_widget_loading ); 1864 $(document).on( 'click', function( event ) { 1865 $('.berocket_aapf_product_count_desc').remove(); 1866 }); 1867 1868 window.onpopstate = function(event) { 1869 if ( event.state != null && event.state.BeRocket == 'Rules' ) { 1870 location.reload(); 1871 } 1872 }; 1873 $(document).on('click', '.berocket_search_box_button', function() { 1874 var search_url = $(this).data('url'); 1875 if( the_ajax_script.current_page_url == search_url
1876 || the_ajax_script.current_page_url.slice(-1) == '/' 1877 && the_ajax_script.current_page_url.slice(0, -1) == search_url 1878 || search_url.slice(-1) == '/' 1879 && the_ajax_script.current_page_url == search_url.slice(0, -1) ) { 1880 update_data_containers(); 1881 updateProducts(true, true); 1882 } else { 1883 update_data_containers(true, $(this).parents('.berocket_search_box_block')); 1884 args = { 1885 current_language: the_ajax_script.current_language, 1886 terms: berocket_aapf_widget_product_filters, 1887 price: berocket_aapf_widget_product_price_limit, 1888 limits: berocket_aapf_widget_product_limits, 1889 product_cat: the_ajax_script.product_cat, 1890 product_taxonomy: the_ajax_script.product_taxonomy, 1891 action: 'berocket_aapf_listener', 1892 orderby: $('.woocommerce-ordering select.orderby').val(), 1893 attributes: [], 1894 cat_limit: [], 1895 location: $(this).data('url'), 1896 }; 1897 the_ajax_script.current_page_url = search_url; 1898 location.href = updateLocation(args, true, true); 1899 } 1900 }); 1901 1902 // Option to take control over (default) sorting, make it AJAXy and work with filters 1903 if( the_ajax_script.control_sorting ) { 1904 $(document).on('submit', 'form.woocommerce-ordering', function (event) { 1905 event.preventDefault(); 1906 }); 1907 $(document).on('change', 'select.orderby', function (event) { 1908 event.preventDefault(); 1909 $('select.orderby').val($(this).val()); 1910 updateProducts(true); 1911 }); 1912 } 1913 1914 berocket_reset_button_hide_not = function() { 1915 jQuery('.berocket_single_filter_widget .berocket_aapf_reset_button').parents('.berocket_aapf_widget').show(); 1916 if( ! jQuery('.berocket_aapf_widget-wrapper:not(".berocket_hiden_without_visible_values")').length ) { 1917 jQuery('.berocket_single_filter_widget.berocket_no_filters .berocket_aapf_reset_button').parents('.berocket_aapf_widget').hide(); 1918 } 1919 if( get_widget_selected_filters().length ) { 1920 jQuery('.berocket_single_filter_widget .berocket_aapf_reset_button').parents('.berocket_aapf_widget').show(); 1921 } else { 1922 jQuery('.berocket_single_filter_widget.berocket_not_selected .berocket_aapf_reset_button').parents('.berocket_aapf_widget').hide(); 1923 } 1924 } 1925 1926 berocket_filters_first_load = function() { 1927 if( $(window).width() <= 767 ) { 1928 $('.bapf_sngl_hd_mobile').remove(); 1929 } 1930 if( $(window).width() > 767 && $(window).width() <= 1024 ) { 1931 $('.bapf_sngl_hd_tablet').remove(); 1932 } 1933 if( $(window).width() > 1024 ) { 1934 $('.bapf_sngl_hd_desktop').remove(); 1935 } 1936 if( $('.berocket_wc_shortcode_fix').length ) { 1937 berocket_new_product_recount($('.berocket_wc_shortcode_fix')); 1938 $('.berocket_wc_shortcode_fix').html(''); 1939 } 1940 if( $(the_ajax_script.pagination_class).length > 0 ){ 1941 woocommerce_pagination_page = parseInt( $(the_ajax_script.pagination_class+' .current').first().text() ); 1942 if( woocommerce_pagination_page < 1 ) woocommerce_pagination_page = 1; 1943 } 1944 1945 if( $('.berocket_aapf_widget_update_button').hasClass('berocket_aapf_widget_update_button') ){ 1946 berocket_aapf_widget_wait_for_button = true; 1947 } else { 1948 berocket_aapf_widget_wait_for_button = false; 1949 } 1950 1951 $( ".berocket_filter_slider" ).each(function (i,o){ 1952 berocket_set_slider ( i, o ); 1953 }); 1954 1955 $(".berocket_aapf_widget_height_control").each(function (i,o){ 1956 if( ! $(o).hasClass('br_height_controled') ) { 1957 $(o).css('height', $(o).height()).mCustomScrollbar({ 1958 axis: "y", 1959 theme: $(o).data('scroll_theme'), 1960 scrollInertia: 300 1961 }).addClass('br_height_controled'); 1962 berocket_custom_scroll_bar_init(); 1963 } 1964 }); 1965 1966 update_data_containers(); 1967 update_selected_area(); 1968 1969 if( the_ajax_script.hide_empty_value ) { 1970 jQuery('.berocket_aapf_widget:not(.berocket_aapf_widget_selected_area)').each(function(i, o) { 1971 if( jQuery(o).parents('.berocket_search_box_block').parents('.berocket_search_box_block').length == 0 && jQuery(o).parents('.br_child_parent_wrapper').length == 0 ) { 1972 if( jQuery(o).find('li').not('.berocket_widget_show_values').length == jQuery(o).find('li.berocket_hide_o_value').length ) { 1973 jQuery(o).parents('.berocket_aapf_widget-wrapper').addClass('berocket_hiden_without_visible_values').hide(); 1974 } else { 1975 jQuery(o).parents('.berocket_aapf_widget-wrapper').removeClass('berocket_hiden_without_visible_values').show(); 1976 } 1977 } 1978 }); 1979 } 1980 if( the_ajax_script.use_select2 && $(".berocket_aapf_widget select").length && typeof $(".berocket_aapf_widget select").select2 == 'function' ) { 1981 $(".berocket_aapf_widget select").select2({width:'100%'});
1982 } 1983 berocket_reset_button_hide_not(); 1984 $(document).trigger('berocket_filters_first_load'); 1985 } 1986 berocket_filters_first_load(); 1987 $(document).on('click', '.br_child_toggle', function() { 1988 hide_child_attributes($(this)); 1989 }); 1990 function hide_child_attributes($button, show_child) { 1991 var term_id = $button.data('term_id'); 1992 var $blocks = $button.parents('.berocket_aapf_widget').find('.berocket_term_parent_' + term_id); 1993 if( typeof(show_child) == 'undefined' ) { 1994 show_child = false; 1995 if( $blocks.is('.berocket_hide_child_attributes') ) { 1996 show_child = true; 1997 } 1998 } 1999 $blocks.each(function(i, o) { 2000 if( show_child ) { 2001 $(o).removeClass('berocket_hide_child_attributes'); 2002 } else { 2003 $(o).addClass('berocket_hide_child_attributes'); 2004 hide_child_attributes($(o).find('.br_child_toggle'), show_child); 2005 } 2006 }); 2007 $button.find('.fa').removeClass('fa-plus').removeClass('fa-minus'); 2008 if( show_child ) { 2009 $button.find('.fa').addClass('fa-minus'); 2010 } else { 2011 $button.find('.fa').addClass('fa-plus'); 2012 } 2013 } 2014 }); 2015})(jQuery); 2016 2017function berocket_format_number (number, number_style) { 2018 if( typeof number_style == 'undefined' ) { 2019 number_style = the_ajax_script.number_style; 2020 } 2021 var num = number.toFixed(number_style[2]); 2022 num = num.toString(); 2023 var decimal = num.split('.'); 2024 var new_number = decimal[0]; 2025 if(num.indexOf('.') != -1) 2026 { 2027 decimal = decimal[1]; 2028 } 2029 new_number = new_number.replace(/\d(?=(?:\d{3})+(?:$))/g, function($0, i){ 2030 return $0+number_style[0]; 2031 }); 2032 if(num.indexOf('.') != -1) 2033 { 2034 new_number = new_number+number_style[1]+decimal; 2035 } 2036 return new_number; 2037} 2038function berocket_remove_child( $widget, show_previous ) { 2039 if( typeof(show_previous) == 'undefined' ) { 2040 show_previous = true; 2041 } 2042 $widget_child = '.'+jQuery($widget).data('attribute')+'_child_'; 2043 $place = $widget.find('.berocket_child_parent_sample');
2044 $widget_child_number = parseInt( jQuery($widget).data('child_parent_depth') ) ; 2045 while( jQuery( $widget_child + $widget_child_number ).length > 0 ) { 2046 $widget_removed = $widget_child + $widget_child_number; 2047 jQuery( $widget_removed ).find('.berocket_widget_show_values').hide(); 2048 jQuery( $widget_removed ).find( 'li' ).each( function ( i, o ) { 2049 if( ! jQuery(o).is('.berocket_child_parent_sample') && jQuery(o).parents('.berocket_child_parent_sample').length == 0 && ! jQuery(o).is('.berocket_widget_show_values') ) { 2050 jQuery(o).remove(); 2051 } 2052 }); 2053 $widget_child_number++; 2054 if( show_previous ) { 2055 var previous = jQuery( $widget_removed ).parents('.berocket_aapf_widget-wrapper').find('.berocket_child_previous'); 2056 var $place = jQuery( $widget_removed ).find('.berocket_child_parent_sample'); 2057 previous = '<li>'+previous.html()+'</li>'; 2058 $place.after(previous); 2059 } else { 2060 break; 2061 } 2062 } 2063} 2064 2065function berocket_child_load ( $widget, taxonomy, term_id, type ) { 2066 if( term_id !== false && (term_id.length > 1 || term_id[0]) != false && $widget.length > 0 && term_id.length > 0 ) { 2067 term_id = JSON.stringify(term_id); 2068 data = {action: 'br_aapf_get_child',taxonomy: taxonomy, term_id: term_id, type: type}; 2069 terms = false; 2070 jQuery.ajax({ 2071 url: the_ajax_script.ajaxurl, 2072 data: data, 2073 type: 'POST', 2074 success: function (data) { 2075 terms = data; 2076 }, 2077 dataType: 'json', 2078 async: false 2079 }); 2080 berocket_remove_child( $widget, false ); 2081 berocket_child_replace ( $widget, terms ); 2082 if( the_ajax_script.use_select2 && jQuery(".berocket_aapf_widget select").length && typeof jQuery(".berocket_aapf_widget select").select2 == 'function' ) { 2083 jQuery(".berocket_aapf_widget select").select2({width:'100%'}); 2084 } 2085 } 2086} 2087 2088function berocket_child_replace ( $widget, terms ) { 2089 $widget = jQuery($widget); 2090 var html_sample = $widget.find('.berocket_child_parent_sample ul').html(); 2091 var $place = $widget.find('.berocket_child_parent_sample'); 2092 var select = false; 2093 var html_single = ''; 2094 if( terms.length > 0 ) { 2095 if ( $widget.data('type') == 'slider' ) { 2096 if( terms.length > 1 ) { 2097 var element = html_sample.replace( /R__term_id__R/g, terms[0].term_id ); 2098 element = element.replace( /R__count__R/g, terms[0].count ); 2099 element = element.replace( /R__slug__R/g, terms[0].slug ); 2100 element = element.replace( /R__name__R/g, terms[0].name ); 2101 element = element.replace( /R__taxonomy__R/g, terms[0].taxonomy ); 2102 element = element.replace( /R__class__R/g, terms[0].r_class ); 2103 allterms = []; 2104 for ( i = 0; i < terms.length; i++ ) { 2105 allterms.push(terms[i].name); 2106 } 2107 element = element.replace( /R__min__R/g, 0 ); 2108 element = element.replace( /R__value1__R/g, 0 ); 2109 element = element.replace( /R__max__R/g, ( allterms.length - 1 ) ); 2110 element = element.replace( /R__value2__R/g, ( allterms.length - 1 ) ); 2111 element = element.replace( /"R__allterm__R"/g, "'"+JSON.stringify(allterms)+"'" ); 2112 $element = jQuery(element); 2113 $place.after($element); 2114 2115 berocket_set_slider ( 0, $widget.find('.berocket_filter_slider').last() ); 2116 } 2117 } else { 2118 if ( $widget.find('.berocket_child_parent_sample').is('.select') ) { 2119 multiple = false; 2120 if( $widget.find('.berocket_child_parent_sample').is('.multiple') ) { 2121 multiple = true; 2122 } 2123 select = true; 2124 html_sample = html_sample.replace( /<ul/g, '<select' ); 2125 html_sample = html_sample.replace( /<\/ul>/g, '</select>' ); 2126 html_sample = html_sample.replace( /<li/g, '<option' ); 2127 html_sample = html_sample.replace( /<\/li>/g, '</option>' ); 2128 html_sample = '<li>' + html_sample + '</li>'; 2129 if( multiple ) {
2130 html_single = html_sample.split('<option')[1]; 2131 html_single = html_single.split('</option>')[0]; 2132 html_single = '<option' + html_single + '</option>'; 2133 } else { 2134 html_single = html_sample.split('</option>')[1]+'</option>'; 2135 } 2136 } 2137 for( i = 0; i < terms.length; i++ ) { 2138 var element = html_sample; 2139 element = element.replace( /R__term_id__R/g, terms[i].term_id ); 2140 element = element.replace( /R__count__R/g, terms[i].count ); 2141 element = element.replace( /R__slug__R/g, terms[i].slug ); 2142 element = element.replace( /R__name__R/g, terms[i].name ); 2143 element = element.replace( /R__taxonomy__R/g, terms[i].taxonomy ); 2144 element = element.replace( /R__class__R/g, terms[i].r_class ); 2145 element = element.replace( /#R/g, '#'+terms[i].color ); 2146 $element = jQuery(element); 2147 $place.after($element); 2148 if ( select && i == 0 ) { 2149 html_sample = html_single; 2150 $place = $widget.find('select option').last(); 2151 } 2152 } 2153 } 2154 } else { 2155 var no_values = $widget.parents('.berocket_aapf_widget-wrapper').find('.berocket_child_no_values').html(); 2156 no_values = '<li>'+no_values+'</li>'; 2157 $place.after(no_values); 2158 } 2159} 2160 2161function load_hash_test() { 2162 hash = location.hash; 2163 test_loc = location.href; 2164 if( test_loc.indexOf('#') != -1 ) { 2165 test_loc = test_loc.split('#'); 2166 test_loc = test_loc[0]; 2167 } 2168 reload = false; 2169 var filtersRegex = /filters=\((.*)\)/; 2170 if( ( filters_hash = filtersRegex.exec(hash) ) != null ) { 2171 if( test_loc.indexOf('?') != -1 ) { 2172 href_param = test_loc.split('?'); 2173 if(href_param[1].indexOf('filters=') != -1) { 2174 href_params_array = href_param[1].split('&'); 2175 for( var i = 0; i < href_params_array.length; i++ ) { 2176 if( href_params_array[i].indexOf('filters=') != -1) { 2177 test_loc = test_loc.replace(href_params_array[i],filters_hash[1]).replace('&&','&'); 2178 } 2179 } 2180 } else { 2181 test_loc = test_loc+"&"+filters_hash[1]; 2182 } 2183 } else { 2184 test_loc = test_loc+"?"+filters_hash[1]; 2185 } 2186 reload = true; 2187 } 2188 var filtersRegex = /paged=([0-9]+)/; 2189 if( ( filters_hash = filtersRegex.exec(hash) ) != null ) { 2190 if( location.hash != "") { 2191 location.hash = ""; 2192 test_loc = location.href; 2193 } 2194 if( test_loc.indexOf('?') != -1 ) { 2195 href_param = test_loc.split('?'); 2196 if(href_param[1].indexOf('paged=') != -1) { 2197 href_params_array = href_param[1].split('&'); 2198 for( var i = 0; i < href_params_array.length; i++ ) { 2199 if( href_params_array[i].indexOf('filters=') != -1) { 2200 test_loc = test_loc.replace(href_params_array[i],filters_hash[0]).replace('&&','&'); 2201 } 2202 } 2203 } else { 2204 test_loc = test_loc+"&"+filters_hash[0]; 2205 } 2206 } else { 2207 test_loc = test_loc+"?"+filters_hash[0]; 2208 } 2209 reload = true; 2210 } 2211 if(reload) { 2212 location.href = test_loc; 2213 } 2214} 2215load_hash_test(); 2216(function ($){ 2217 function berocket_rewidth_inline_filters(cfunc) { 2218 $('.berocket_single_filter_widget.berocket_hidden_clickable').each(function() { 2219 $(this).removeClass('berocket_hidden_clickable_left').removeClass('berocket_hidden_clickable_right'); 2220 var position = $(this).offset().left + $(this).outerWidth(); 2221 var width = $(window).width(); 2222 if( position < width/2 ) { 2223 $(this).addClass('berocket_hidden_clickable_left'); 2224 } else { 2225 $(this).addClass('berocket_hidden_clickable_right'); 2226 } 2227 }); 2228 while( $('.berocket_single_filter_widget.berocket_inline_filters:not
2228(".berocket_inline_filters_rewidth")').length ) { 2229 $element = $('.berocket_single_filter_widget.berocket_inline_filters:not(".berocket_inline_filters_rewidth")').first(); 2230 width_to_set = '12.5%!important'; 2231 $style = $element.attr('style'); 2232 if( typeof($style) == 'undefined' ) { 2233 $style = ''; 2234 } 2235 $style = $style.replace(/width:\s?(\d|\.)+%!important;/g, ''); 2236 $style = $style.replace(/clear:both!important;/g, ''); 2237 $style = $style.replace(/opacity:0!important;/g, ''); 2238 $element.attr('style', $style); 2239 min_width = 200; 2240 var min_filter_width_inline = $element.data('min_filter_width_inline'); 2241 if( min_filter_width_inline ) { 2242 min_width = parseInt(min_filter_width_inline); 2243 } 2244 every_clear = 9; 2245 $(document).trigger('berocket_inline_before_width_calculate'); 2246 var check_array = []; 2247 check_array.push({clear:2, size:(min_width/4), width:100, block:'.berocket_inline_filters_count_1'}); 2248 check_array.push({clear:3, size:(min_width/2.5), width:50, block:'.berocket_inline_filters_count_2'}); 2249 check_array.push({clear:4, size:(min_width/2), width:33.333, block:'.berocket_inline_filters_count_3'}); 2250 check_array.push({clear:5, size:(min_width/1.6), width:25, block:'.berocket_inline_filters_count_4'}); 2251 check_array.push({clear:6, size:(min_width/1.32), width:20, block:'.berocket_inline_filters_count_5'}); 2252 check_array.push({clear:7, size:(min_width/1.14), width:16.666, block:'.berocket_inline_filters_count_6'}); 2253 check_array.push({clear:8, size:(min_width), width:14.285, block:'.berocket_inline_filters_count_7'}); 2254 check_array.some(function(element) { 2255 if( $element.outerWidth() < element.size || $element.is(element.block) ) { 2256 every_clear = element.clear; 2257 width_to_set = element.width+'%!important'; 2258 return true; 2259 } 2260 }); 2261 $(document).trigger('berocket_inline_after_width_calculate'); 2262 var element_i = 0; 2263 while($element.is('.berocket_single_filter_widget.berocket_inline_filters:not(".berocket_inline_filters_rewidth")') ) { 2264 $style = $element.attr('style'); 2265 if(typeof($style) == 'undefined' ) { 2266 $style = ''; 2267 } 2268 $style = $style.replace(/width:\s?(\d|\.)+%\s?!important;/g, ''); 2269 $style = $style.replace(/clear:\s?both\s?!important;/g, ''); 2270 $style = $style.replace(/opacity:\s?0\s?!important;/g, ''); 2271 $style = $style+'width:'+width_to_set+';'; 2272 element_i++; 2273 if( element_i == every_clear ) { 2274 $style = $style+'clear:both!important;'; 2275 element_i = 1; 2276 } 2277 $element.attr('style', $style+'width:'+width_to_set+';').addClass('berocket_inline_filters_rewidth'); 2278 $element = $element.next(); 2279 } 2280 } 2281 if ( typeof cfunc == "function" ) { 2282 cfunc(); 2283 } 2284 } 2285 berocket_rewidth_inline_filters(); 2286 $(document).ready(function (){ 2287 berocket_rewidth_inline_filters(); 2288 $(window).on('resize berocket_ajax_filtering_end', function() { 2289 $('.berocket_single_filter_widget.berocket_inline_filters.berocket_inline_filters_rewidth').removeClass('berocket_inline_filters_rewidth'); 2290 berocket_rewidth_inline_filters(); 2291 }); 2292 }); 2293 $(document).on('mousedown', function(event) { 2294 if( ! $(event.target).parents('.berocket_aapf_widget').length 2295 || ! $(event.target).parents('.berocket_single_filter_widget.berocket_hidden_clickable').length ) { 2296 $filter = $('.berocket_single_filter_widget.berocket_hidden_clickable').not($(event.target).parents('.berocket_single_filter_widget.berocket_hidden_clickable'));
2297 $filter.removeClass('berocket_single_filter_visible').addClass('berocket_single_filter_hidden'); 2298 $filter.find('.berocket_aapf_widget').slideUp(40); 2299 $filter.find('.berocket_aapf_widget-title_div').find('span').removeClass('hide_button').addClass('show_button'); 2300 $filter.find('.berocket_aapf_widget-title_div').parents('.berocket_single_filter_widget').data('showbutton', 'show'); 2301 } 2302 }); 2303 var berocket_hidden_clickable_mouseenter = setTimeout(function(){},0); 2304 var berocket_hidden_clickable_mouseleave = setTimeout(function(){},0); 2305 $(document).on('mouseenter', '.berocket_hidden_clickable .berocket_aapf_widget-title_div', function() { 2306 $this = $(this); 2307 clearTimeout(berocket_hidden_clickable_mouseenter); 2308 berocket_hidden_clickable_mouseenter = setTimeout( function() { 2309 if( $('.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible').not($this.parents('.berocket_single_filter_widget.berocket_hidden_clickable')).length 2310 || ($this.parents('.berocket_single_filter_widget.berocket_hidden_clickable.berocket_inline_clickable_hover').length && ! $this.parents('.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible').length ) ) { 2311 if( $(window).width() > 768 ) { 2312 $('.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible .berocket_aapf_widget-title_div').trigger('br_showhide'); 2313 $this.trigger('br_showhide'); 2314 } 2315 } 2316 }, 100); 2317 }); 2318 $(document).on('mouseenter', '.berocket_single_filter_widget.berocket_hidden_clickable.berocket_inline_clickable_hover, body > .select2-container', function() { 2319 clearTimeout(berocket_hidden_clickable_mouseleave); 2320 }); 2321 $(document).on('mouseleave', '.berocket_single_filter_widget.berocket_hidden_clickable.berocket_inline_clickable_hover, body > .select2-container', function() { 2322 if( $(window).width() > 768 ) { 2323 clearTimeout(berocket_hidden_clickable_mouseleave); 2324 berocket_hidden_clickable_mouseleave = setTimeout(function() { 2325 $('.berocket_single_filter_widget.berocket_hidden_clickable.berocket_single_filter_visible .berocket_aapf_widget-title_div').trigger('br_showhide'); 2326 }, 100); 2327 } 2328 }); 2329 $(document).on('mouseleave', '.berocket_hidden_clickable .berocket_aapf_widget-title_div', function() { 2330 clearTimeout(berocket_hidden_clickable_mouseenter); 2331 }); 2332 $(document).on('mousedown', '.wc-product-table-reset a', function() { 2333 $(this).remove(); 2334 br_reset_all_filters(); 2335 }); 2336 $(document).on('click', '.berocket_element_above_products_is_hide_toggle', function (e){ 2337 e.preventDefault(); 2338 $(this).toggleClass( "active" ).next().slideToggle(200, 'linear'); 2339 }); 2340 $(document).on('berocket_filters_first_load', function (){ 2341 berocket_rewidth_inline_filters(function (){ 2342 $('.berocket_element_above_products_is_hide').hide(0).removeClass('br_is_hidden'); 2343 }); 2344 }); 2345})(jQuery); 2346function berocket_ajax_load_product_table_compat() { 2347 if( jQuery('.berocket_product_table_compat .dataTables_length select').length ) { 2348 jQuery('.berocket_product_table_compat .wc-product-table').dataTable()._fnSaveState(); 2349 } 2350 var tableid = jQuery('.berocket_product_table_compat .wc-product-table').attr('id'); 2351 if( typeof(window['config_'+tableid]) != 'undefined' && window['config_'+tableid].serverSide ) { 2352 jQuery('.berocket_product_table_compat .wc-product-table').DataTable().destroy(); 2353 var table_html = jQuery('.berocket_product_table_compat').html(); 2354 jQuery('.berocket_product_table_compat').html(''); 2355 jQuery('.berocket_product_table_compat').html(table_html); 2356 jQuery('.berocket_product_table_compat .blockUI.blockOverlay').remove(); 2357 jQuery('.berocket_product_table_compat .wc-product-table').productTable(); 2358 } 2359} 2360function berocket_custom_scroll_bar_init() { 2361 jQuery('.mCustomScrollBox').on('wheel', function (e){ e.stopPropagation; e.preventDefault(); }); 2362}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.