1var timeoutID = 0; 2var cache = []; 3var delay = 1; 4var container = ""; 5var tag_tmpl = $.template(null, '<tr><td><input id="tag_${tag}" class="filtered" type="checkbox" name="tags[]" value="${tag}" {{if checked}} checked="checked" {{/if}}></td><td><label for="tag_${tag}">${name}</label></td></tr>'); 6var cat_tmpl = $.template(null, '<tr><td><input id="cat_${category_id}" class="filtered cat_name" type="checkbox" name="categories[]" value="${category_id}" {{if checked}} checked="checked" {{/if}}><label for="cat_${category_id}">${name}</label></td></tr>'); 7 8if (!Array.prototype.indexOf) { 9 Array.prototype.indexOf = function(obj, start) { 10 for (var i = (start || 0), j = this.length; i < j; i++) { 11 if (this[i] === obj) { 12 return i; 13 } 14 } 15 return -1; 16 } 17} 18 19String.prototype.hashCode = function(){ 20 var hash = 0, i, ch; 21 if (this.length == 0) return hash; 22 for (i = 0; i < this.length; i++) { 23 ch = this.charCodeAt(i); 24 hash = ((hash<<5)-hash)+ch; 25 hash = hash & hash; 26 } 27 return hash; 28}; 29 30$(document).on('change', '.price_limit', (function () { 31 var b = parseInt($("#min_price").val()); 32 var a = parseInt($("#max_price").val()); 33 $("#slider-range").slider("values", [b, a]); 34 delayedFilter() 35})); 36 37$(document).on('change', '#adv_ajaxfilter .filtered', (function () { 38 delayedFilter(); 39})); 40 41$(function () { 42 $("#slider-range").slider({ 43 range:true, 44 min:0, 45 max:0, 46 values:[0, 0], 47 stop:function (a, b) { delayedFilter() }, 48 slide:function (a, b) { 49 $("#min_price").val(b.values[0]); 50 $("#max_price").val(b.values[1]) 51 } 52 }); 53 54 $("#min_price").val($("#slider-range").slider("values", 0)); 55 $("#max_price").val($("#slider-range").slider("values", 1)) 56}); 57 58$(document).ready(function () { 59 container = getContainer(); 60 61 $(".option_box .option_name").click(function () { 62 $(this).siblings(".collapsible").toggle(); 63 64 if ($(this).hasClass('hided')) { 65 66 $(this).removeClass('hided') 67 }else{ 68 $('.option_name').removeClass('hided') 69 $(this).addClass('hided') 70 } 71 //$(this).toggleClass("hided") 72 }); 73 74 $(".option_box .attribute_group_name").click(function () { 75 $(this).siblings(".attribute_box").toggle(); 76 $(this).toggleClass("hided") 77 }); 78 79 $(".clear_filter").click(function () { 80 $("#adv_ajaxfilter img").removeClass("selected"); 81 $("#adv_ajaxfilter select").val(""); 82 console.log('Ñек'); 83 var rez = $(this).attr('id'); 84 85 if(rez){ 86 console.log(rez); 87 $(`#${rez} :input`).each(function () { 88 if ($(this).is(":checked")) { 89 $(this).attr("checked", false) 90 console.log('Ñек'); 91 } 92 }); 93 }else{ 94 $("#adv_ajaxfilter :input").each(function () { 95 if ($(this).is(":checked")) { 96 $(this).attr("checked", false) 97 console.log('Ñек'); 98 } 99 }); 100 } 101 102 if(rez === 'pricesl21' || !rez){ 103 104 var b = $("#slider-range").slider("option", "min"); 105 var a = $("#slider-range").slider("option", "max"); 106 107 $("#slider-range").slider("option", {values:[b, a]}); 108 $("#min_price").val(b); 109 $("#max_price").val(a); 110 111 $("div[id^=slider-range-]").each(function(index, element) { 112 var id = this.id.replace(/[^\d]/g, ''); 113 var b = $(element).slider("option", "min"); 114 var a = $(element).slider("option", "max"); 115 116 hs = $(element).slider(); 117 hs.slider("option", {values:[b, a]}); 118 hs.slider("option","slide").call(hs, null, { handle: $(".ui-slider-handle", hs), values:[b, a] }); 119 120 $("#attribute_value_"+id+"_min").val(''); 121 $("#attribute_value_"+id+"_max").val(''); 122 123 }); 124 125 } 126 delayedFilter() 127 }); 128 129 130 131 $(document).on('click', '.pagination a', (function () { 132 133 page_class_add() 134 135 136 137 var a = $(this).attr("href"); 138 var b = a.match(/page=(\d+)/); 139 $("#adv_ajaxfilter_page").val(b[1]); 140 filter(false); 141 var cont = getContainer(); 142 $('html, body').animate({ scrollTop: $(cont).offset().top }, 'slow'); 143 return false;
144 })); 145 146 if($("#sort-by select").length){ 147 $("#sort-by select").get(0).onchange = null; 148 $("#sort-by select").change(function () { 149 var d = $(this).val(); 150 var a = getUrlVar(d, "sort"); 151 var b = getUrlVar(d, "order"); 152 $("#adv_ajaxfilter_sort").val(a); 153 $("#adv_ajaxfilter_order").val(b); 154 delayedFilter() 155 }); 156 } 157 158 if ($("#limiter select").length) { 159 $("#limiter select").get(0).onchange = null; 160 $("#limiter select").change(function () { 161 $("#adv_ajaxfilter_limit").val(getUrlVar($(this).val(), "limit")); 162 delayedFilter() 163 }); 164 } 165 166 // deserialize 167 var hash = window.location.hash.substr(1); 168 if (hash && $('instock').is(':visible') && $('instock').is(':checked')) { 169 $('instock').attr("checked", false); 170 console.log('Ñек'); 171 } 172 173 $("#adv_ajaxfilter").deserialize(hash); 174 175 syncImgCbs(); 176 177 $("#adv_ajaxfilter img").bind("click", function() { 178 var $input = $(this).prev("input"); 179 if ($input.attr("disabled")) { 180 return; 181 } 182 $(this).toggleClass("selected"); 183 $input.prop('checked', !$input.prop('checked')); 184 console.log('Ñек'); 185 delayedFilter(); 186 }); 187 188 $("div[id^=slider-range-]").each(function(index, element) { 189 190 var id = this.id.replace(/[^\d]/g, ''); 191 var arr = window['attr_arr_'+id]; 192 193 var b = parseInt($("#attribute_value_"+id+"_min").val()); 194 var a = parseInt($("#attribute_value_"+id+"_max").val()); 195 b = arr.indexOf(b); 196 a = arr.indexOf(a); 197 if (a >= 0 && b >= 0){ 198 hs = $(element).slider(); 199 hs.slider("option", {values:[b, a]}); 200 hs.slider("option","slide").call(hs, null, { handle: $(".ui-slider-handle", hs), values:[b, a] }); 201 } 202 }); 203 204 if ($("#sort-by select").length) { 205 if ($("#adv_ajaxfilter_sort").val()) { 206 $("#sort-by select").each(function(i, e) { 207 if (getUrlVar($(this).val(), "sort") == $("#adv_ajaxfilter_sort").val() && getUrlVar($(this).val(), "order") == $("#adv_ajaxfilter_order").val()) { 208 $(".sort select").val($(this).val()); 209 return; 210 } 211 }); 212 } else { 213 $val = $("#sort-by select").val(); 214 $("#adv_ajaxfilter_sort").val(getUrlVar($val, "sort")); 215 $("#adv_ajaxfilter_order").val(getUrlVar($val, "order")) 216 } 217 } 218 if ($("#adv_ajaxfilter_limit").length) { 219 if ($("#adv_ajaxfilter_limit").val()) { 220 $("#limiter select").val($("#adv_ajaxfilter_limit").val()); 221 } else { 222 $("#adv_ajaxfilter_limit").val(getUrlVar($("#limiter select").val(), "limit")); 223 } 224 } 225 226 console.log('filter'); 227 filter(true, true); 228}); 229 230function replaceHtml(a) { 231 return a.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """); 232} 233 234function getUrlVar(url, rvar ) { 235 var a = String(url).split("?"); 236 var _var = ""; 237 if (a[1]) { 238 var vars = a[1].split("&"); 239 for (var i = 0; i <= (vars.length); i++) { 240 if (vars[i]) { 241 var b = vars[i].split("="); 242 if (b[0] && b[0] == rvar) { 243 _var = b[1]; 244 } 245 } 246 } 247 } 248 return _var; 249} 250 251function syncImgCbs() { 252 $("#adv_ajaxfilter input.filtered[type=\"checkbox\"]").each(function() { 253 var $img = $(this).next('img'); 254 if ($img.length) { 255 if ($(this).is(":checked")) { 256 $img.addClass("selected"); 257 258 } else { 259 $img.removeClass("selected"); 260 console.log('Ñек'); 261 } 262 } 263 }); 264} 265 266function filter(b, c ) { 267 268 var a = $("#adv_ajaxfilter").serialize().replace(/[^&]+=\.?(?:&|$)/g, "").replace(/&+$/, ""); 269 270 271 var param = new URLSearchParams(window.location.search).get( 272 "old" 273 ); 274 275 a += "&old=" + param; 276 277 278 console.log(a) 279 var cont = getContainer(); 280 if (!b) { 281 window.location.hash = a 282 } 283 var h = a.hashCode(); 284 285 var route = $("#adv_ajaxfilter_route").val(); 286 var url = $("#adv_ajaxfilter_url").val(); 287 var _cont = $(cont); 288 289 if(route != 'product/adv_ajaxfilter' && _cont.length < 1){ 290 window.location = url+ '#' + a; 291 } 292 293 if (cache[h]){ 294 adv_result(cache[h]); 295 console.log(cache[h]); 296 } else { 297 $(cont).advOverlay(); 298 $("#adv_ajaxfilter").advOverlay(); 299 300 $.ajax({url:"index.php?route=module/adv_ajaxfilter/getproducts", type:"POST", data:a + (b ? "&getPriceLimits=true" : ""), dataType:"json", 301 success:function (g) { 302 303 adv_result(g, b); 304 cache[h] = g; 305 var cont = getContainer(); 306 $(cont).advUnoverlay(); 307 $("#adv_ajaxfilter").advUnoverlay(); 308 } 309 }); 310 } 311} 312 313function adv_result(g, b) { 314 var cont = getContainer(); 315 var view = 'product-layout'; 316 317 var hash = window.location.hash.substr(1); 318 if (typeof(g.result_html) != "undefined") { 319 $(cont).parent().html(g.result_html); 320 if (localStorage.getItem('display') == 'list') { 321 $('#list-view').trigger('click'); 322 } else { 323 $('#grid-view').trigger('click'); 324 } 325 afterload(); 326 327 if(g.pagination == '') { 328 g.pagination = '<ul class="pagination"></ul>'; 329 } 330
331 $(".pagination").parent().parent().children().last().html(g.pagination_result); 332 $(".pagination").parent().html(g.pagination); 333 334 if (b && g.min_price == g.max_price) { 335 $('.price_slider').hide(); 336 } 337 } 338 339 var d = parseInt(g.min_price); 340 var c = Math.ceil(parseFloat(g.max_price)); 341 if (b) { 342 $("#slider-range").slider("option", {min:d, max:c}); 343 if ($("#max_price").val() >= 1) { 344 d = parseInt($("#min_price").val()); 345 c = parseInt($("#max_price").val()) 346 } 347 $("#slider-range").slider("option", {values:[d, c]}); 348 $("#min_price").val(d); 349 $("#max_price").val(c) 350 } 351 352 if (g.totals_data) { 353 354 $('#filter_categories').html(''); 355 if (g.totals_data.categories.length) { 356 $.tmpl(cat_tmpl, g.totals_data.categories).appendTo('#filter_categories'); 357 $('#filter_categories').parents('.option_box').show(); 358 } else { 359 $('#filter_categories').parents('.option_box').hide(); 360 } 361 362 var atts = {}; 363 $.each(g.totals_data.attributes, function(k, v) { 364 console.log('here',v) 365 atts[(v.id + "_" + v.text).replace(/\s/g, '_')] = v.t; 366 }); 367 // console.log('Ð²Ð¾Ñ ÑÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво в ÑилÑÑÑе',atts); 368 $('.a_name').each(function (k, v) { 369 var at_v_i = $(v).attr('at_v_i').replace(/\s/g, '_'); 370 var at_v_i_e = replaceHtml(at_v_i); 371 console.log(at_v_i); 372 if (atts[at_v_i]) { 373 $('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value') + " (" + atts[at_v_i] + ")"); 374 $(v).removeAttr("disabled"); 375 376 } else { 377 378 $('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value')); 379 $(v).attr("disabled", true) 380 $(v).removeAttr('checked'); 381 $(v).removeAttr(':selected'); 382 383 384 } 385 }); 386 387 var h = []; 388 $.each(g.totals_data.manufacturers, function (f, k) { 389 if (k.id) { 390 h[h.length] = k.id; 391 var j = $("#manufacturer_" + k.id); 392 if (j.length == 0) { 393 return; 394 } 395 j.removeAttr("disabled"); 396 if (j.get(0).tagName == "OPTION") { 397 j.text($("#m_" + k.id).val() + " (" + k.t + ")") 398 } else { 399 $('label[for="manufacturer_' + k.id + '"]').text($("#m_" + k.id).val() + " (" + k.t + ")") 400 } 401 } 402 }); 403 $(".manufacturer_value").each(function (f, k) { 404 var j = $(this); 405 var l = j.attr("id").match(/manufacturer_(\d+)/); 406 if ($.inArray(l[1], h) < 0) { 407 j.attr("disabled", "disabled"); 408 if (this.tagName == "OPTION") { 409 j.text($("#m_" + l[1]).val()); 410 j.prop("selected", false) 411 } else { 412 $('label[for="manufacturer_' + l[1] + '"]').text($("#m_" + l[1]).val()); 413 j.prop("checked", false) 414 } 415 } 416 }); 417 var e = []; 418 $.each(g.totals_data.options, function (j, k) { 419 if (k.id) { 420 e[e.length] = k.id; 421 var f = $("#option_value_" + k.id); 422 if (f.length) { 423 f.removeAttr("disabled"); 424 if (f.get(0).tagName == "OPTION") { 425 f.text($("#o_" + k.id).val() + " (" + k.t + ")") 426 } else { 427 $('label[for="option_value_' + k.id + '"]').text($("#o_" + k.id).val() + " (" + k.t + ")") 428 } 429 } 430 } 431 }); 432 $(".option_value").each(function (j, k) { 433 var f = $(this); 434 var l = f.attr("id").match(/option_value_(\d+)/); 435 if ($.inArray(l[1], e) < 0) { 436 f.attr("disabled", "disabled"); 437 if (this.tagName == "OPTION") { 438 f.text($("#o_" + l[1]).val()); 439 f.attr("selected", false) 440 console.log('Ñек'); 441 } else { 442 $('label[for="option_value_' + l[1] + '"]').text($("#o_" + l[1]).val()); 443 f.attr("checked", false) 444 console.log('Ñек'); 445 } 446 } 447 }) 448 } 449 450 // additional image when you hover on the product 451 $('.item-img-info').each(function () { 452 if($(this).find('img').attr('data-additional')) { 453 $(this).find('img').first().addClass('main'); 454 $(this).children('a').append('<img src="'+$(this).find('.main').attr('data-additional')+'" class="additional" title="'+$(this).find('.main').attr('alt')+'" />'); 455 } 456 }); 457 458 // scroll sidebar on page of category 459 if ( $(window).width() > 768 ) { 460 var columnLeftHeight = document.getElementById('column-left').offsetHeight; 461 var contentHeight = document.getElementById('content').offsetHeight; 462 if (contentHeight > columnLeftHeight) { 463 $("#column-left").stick_in_parent({ 464 offset_top: 130, 465 spacer: false 466 }); 467 } else { 468 $("#column-left").trigger("sticky_kit:detach"); 469 } 470 } 471} 472 473function getContainer(){ 474 return '.product-layout'; 475} 476 477function delayedFilter() { 478 clearTimeout(timeoutID); 479 $("#adv_ajaxfilter_page").val(0); 480 timeoutID = setTimeout("filter(false, false)", delay) 481 482} 483 484function page_class_add(){ 485 setTimeout(function(){ 486 $('.pagination li a').each(function(){ 487 488 489 490 491 // console.log(thatTxt); 492 }) 493 },400) 494} 495page_class_add()
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.