1$("document").ready(function () { 2 3 $("body").on("onAjaxReload.TagsSliderInit", TagsInit).triggerHandler("onAjaxReload.TagsSliderInit"); 4 $("body").on("onAjaxReload.BilletsScrollerInit", BilletsInit).triggerHandler("onAjaxReload.BilletsScrollerInit"); 5 $("body").on("onAjaxReload.FilterReinit", FilterInit).triggerHandler("onAjaxReload.FilterReinit", [$(".js_catalog_filter")]); 6 $("body").on("onAjaxReload.initAccordion", initAccordion); 7 $("body").on("onAjaxReload.checkRocketBlock", checkRocketBlock); 8 $("body").on("onAjaxReload.jsLinkCheck", jsLinkCheck).triggerHandler("onAjaxReload.jsLinkCheck", [$(".js_catalog-list")]); 9 10 $("body").on("change", ".js_catalog_sort", function () { 11 if ($(".form-sort").is('.replaceFormBitixAjax')) { 12 $(".form-sort").triggerHandler("submit"); 13 } else { 14 $(".form-sort").trigger("submit"); 15 } 16 }); 17 18 $('#prod-popup').on('hidden.bs.modal', function (e) { 19 $('.popup-body__video iframe, .video iframe').each(function () { 20 this.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*'); 21 }); 22 }); 23 24 $('#prod-popup').on('shown.bs.modal', function (e) { 25 $('.popup-body__video iframe, .video iframe').each(function () { 26 this.contentWindow.postMessage('{"event":"command","func":"stopVideo","args":""}', '*'); 27 }); 28 }); 29 30 $(".js-click-trigger").on("click", function () { 31 32 var trigger = $('#' + $(this).data("clicktrigger")) 33 var mobTrigger = $('#' + $(this).data("clicktrigger-mob")) 34 35 36 if ($(window).width() < 1024 && mobTrigger.length) { 37 mobTrigger.trigger("click"); 38 $([document.documentElement, document.body]).animate({scrollTop: mobTrigger.offset().top - 100}, 300) 39 } else { 40 trigger.trigger("click"); 41 $([document.documentElement, document.body]).animate({scrollTop: trigger.offset().top - 150}, 300) 42 } 43 44 45 return false; 46 }) 47 48 $('.js_orderButton').on('click', function () { 49 50 }); 51 52 $(".youtube").each(function () { 53 var id = this.id; 54 var parent = $(this).parent(); 55 $(this).css('background-image', 'url(http://i.ytimg.com/vi/' + id + '/sddefault.jpg)'); 56 57 $(this).on('click', function () { 58 parent.html('<iframe width="560" height="282" src="https://www.youtube.com/embed/' + id + '?autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>'); 59 }); 60 }); 61 62 63 if ($('.js-event-click').length) { 64 $('.js-event-click').each(function(){ 65 var el = $(this); 66 el.removeClass('js-event-click'); 67 el.triggerHandler('click'); 68 }) 69 70 } 71 72}); 73 74function jsLinkCheck(event, bxobj) { 75 $('.js-link', bxobj).on('click', function () { 76 77 event.preventDefault(); 78 if ($(this).data('href')) { 79 window.location = $(this).data('href'); 80 } 81 return false; 82 }); 83} 84 85function TagsInit(event, bxobj) { 86 var tagsSlider = new TagsSlider('tags-slider'); 87 tagsSlider.init(); 88} 89 90function BilletsInit(event, bxobj) { 91 const billetsWrap = $('.billets-wrap'); 92 billetsWrap.each(function () { 93 const billetsWrapWidth = $(this).width(); 94 const billetsScroll = $(this).find('.billets-scroll'); 95 const billetsScrollWidth = billetsScroll.width(); 96 const speed = 500; 97 if (billetsScrollWidth > billetsWrapWidth) { 98 $(this).find('.billets-scroll-wrap').append('<div class="whiteness"></div>'); 99 $(this).mouseenter(function () { 100 billetsScroll.stop().animate({"left": (billetsWrapWidth - billetsScrollWidth) + "px"}, speed); 101 $('.whiteness').hide(); 102 }).mouseleave(function () { 103 $('.whiteness').show(); 104 billetsScroll.stop().animate({"left": "0px"}, speed); 105 }); 106 } 107 }); 108} 109 110function checkRocketBlock() { 111 if (window.retailrocket) { 112 retailrocket.markup.render(); 113 } 114} 115 116function FilterInit(event, bxobj) { 117 mobileSlider.init(); 118 bxobj = bxobj.is(".js_catalog_filter") ? bxobj.parent() : bxobj; 119 $(".js_catalog_filter", bxobj).data("timer", 0); 120 $(".js_catalog_filter", bxobj).data("filterset", 0); 121 //$(".js_catalog_filter", bxobj).on("filtersubmit", FormFilterAjaxSubmit); 122 $("body").on("change.FilterChangeCheck", ".js-ch-box-area", OnFilterChange); 123 $(".js-filter-select", bxobj).on("change.FilterChangeCheck", OnFilterChange); 124 $(".js_filter_block", bxobj).on("mouseenter.FilterChangeCheck", ChangeFilterCategory); 125 126 $('.js-close-filter', bxobj).on('click', function () { 127 $('body').removeClass('ms-open'); 128 }) 129 130 $(".js-ch-box-area").styler(); 131 $(".js_catalog_sort").styler(); 132 try { 133 $refresher.resetStateOfPreviewCards(); 134 } catch (e) { 135 } 136 var sliders = $(".slider-range"); 137 sliders.each(function () { 138 var self = $(this); 139 var handler = self.find(".range-handler"); 140 var inputMin = self.find(".price-min"); 141 var inputMax = self.find(".price-max"); 142 if (handler.length && inputMin.length && inputMax.length) { 143 var minDefault = parseFloat(inputMin.data("min")); 144 var maxDefault = parseFloat(inputMax.data("max")); 145 var min = parseFloat(inputMin.val() ? inputMin.val() : minDefault); 146 var max = parseFloat(inputMax.val() ? inputMax.val() : maxDefault); 147 handler.slider({ 148 range: true, 149 min: minDefault, 150 max: maxDefault, 151 values: [min, max], 152 slide: function (event, ui) { 153 var min = ui.values[0]; 154 var max = ui.values[1]; 155 inputMin.val(min).change(); 156 inputMax.val(max).change(); 157 var oFilter = $(".js_catalog_filter"); 158 oFilter.data("filterset", $(".js_filter_block").data("propertyid")); 159 clearTimeout(oFilter.data("timer")); 160 oFilter.data("timer", setTimeout(function () { 161 oFilter.trigger("filtersubmit"); 162 }, 300)); 163 } 164 }); 165 } 166 }); 167 168 var $filterArr = $('.js_catalog_filter'); 169 170 $filterArr.each(function (i, el) { 171 var $filter = $(el); 172 var $inpitArr = $filter.find('input') 173 var $btnFilterFixed = $filter.find('.btn-filter-fixed'); 174 var $btnFilterFixedText = $filter.find('.btn-filter-fixed-text'); 175 var $btnFilterFixedSubmit = $btnFilterFixed.find('.btn-filter-fixed-submit'); 176 var $btnFilterFixedClose = $btnFilterFixed.find('.btn-filter-fixed-close'); 177 var $btnSubmit = $filter.find('button[type="submit"]'); 178 var $submitFilterButton = $filter.find('.submit-filter'); 179 var handlerHidden = function () { 180 $btnFilterFixed.appendTo($filter) 181 } 182 $btnFilterFixedText.on('click', function () { 183 $btnSubmit.trigger('click') 184 }) 185 186 $btnFilterFixedClose.on('click', handlerHidden) 187 $inpitArr.bind('change paste keyup input', function (e) { 188 var $this = $(this); 189 var $checkboxContainer = $this.closest('.checkbox'); 190 var $sliderRangeContainer = $this.closest('.slider-range'); 191 192 if ($checkboxContainer.length > 0) { 193 var top = $checkboxContainer[0].getBoundingClientRect().top - 5; 194 var left = $checkboxContainer[0].getBoundingClientRect().right - 80; 195 $btnFilterFixed.css('top', top); 196 $btnFilterFixed.css('left', left); 197 $btnFilterFixed.appendTo($this.closest('.checkbox')); 198 $submitFilterButton.attr('disabled', false); 199 200 $(window).on('scroll', handlerHidden) 201 } else if ($sliderRangeContainer.length > 0) { 202 var top = $sliderRangeContainer[0].getBoundingClientRect().top; 203 var left = $sliderRangeContainer[0].getBoundingClientRect().right; 204 $btnFilterFixed.css('top', top); 205 $btnFilterFixed.css('left', left); 206 $btnFilterFixed.appendTo($this.closest('.slider-range')); 207 $submitFilterButton.attr('disabled', false); 208 $(window).on('scroll', handlerHidden) 209 } 210 }) 211 }) 212 213 $filterArr.each(function (i, el) { 214 var $filter = $(el); 215 var $inpitArr = $filter.find('input') 216 var $btnFilterFixed = $filter.find('.btn-filter-fixed-mobile'); 217 var $btnSubmit = $filter.find('button[type="submit"]'); 218 219 $btnFilterFixed.on('click', function () { 220 $btnSubmit.trigger('click') 221 }) 222 223 $inpitArr.bind('change paste keyup input', function (e) { 224 var $this = $(this); 225 var $thisPanel = $this.closest('.panel')
226 var $thisPanelHeading = $thisPanel.find('.acc-heading') 227 $btnFilterFixed.appendTo($thisPanelHeading) 228 }) 229 }) 230 231 inputFilterItems() 232} 233 234function OnFilterChange() { 235 var currentObj = $(this); 236 if (currentObj.is(".disabled") || currentObj.is(".clicked")) { 237 return; 238 } 239 if ($("a", currentObj).length) { 240 currentObj.addClass("clicked"); 241 $("a", currentObj).triggerHandler("click"); 242 return; 243 } 244 var oFilter = currentObj.closest(".js_catalog_filter"); 245 oFilter.data("filterset", currentObj.closest(".js_filter_block").data("propertyid")); 246 clearTimeout(oFilter.data("timer")); 247 oFilter.data("timer", setTimeout(function () { 248 oFilter.trigger("filtersubmit"); 249 }, 300)); 250} 251 252function ChangeFilterCategory() { 253 var oFilter = $(this).closest(".js_catalog_filter"); 254 if (oFilter.data("filterset") && oFilter.data("filterset") != $(this).closest(".js_filter_block").data("propertyid")) { 255 oFilter.trigger("filtersubmit"); 256 } 257} 258 259function FormFilterAjaxSubmit() { 260 var oFilter = $(this); 261 clearTimeout(oFilter.data("timer")); 262 if (!oFilter.data("filterset")) { 263 return; 264 } 265 var form = oFilter.is("form") ? oFilter : $("form", oFilter); 266 $("input[type=text]", form).each(function () { 267 var t = $(this); 268 var curValue = t.closest(".js_range_box").length ? parseInt($(this).val().replace(/[^\d\.]/g, "")) : t.val(); 269 if (t.data("value") && t.data("value") == curValue) { 270 t.attr("disabled", "disabled"); 271 } 272 }); 273 274 form.triggerHandler("submit"); 275 276 277} 278 279 280class TagsSlider { 281 constructor(id) { 282 this.id = id; 283 } 284
285 init() { 286 this.sliderWrap = $(`#${this.id}`); 287 this.tagsContainer = this.sliderWrap.find('.tags-list'); 288 this.tagsContainerWidth = this.tagsContainer.width(); 289 this.tags = this.tagsContainer.find('.tag'); 290 this.more = this.tagsContainer.find('.more'); 291 this.moreWidth = this.more.outerWidth(true); 292 this.sumTagsWidth = 0; 293 this.lastShowed; 294 295 this.getLastShowed(); 296 if (this.lastShowed && (this.lastShowed + 1) !== (this.tags.length - 1)) { 297 this.clickEvent(); 298 this.excess(); 299 } 300 } 301 302 getLastShowed() { 303 var _self = this; 304 this.tags.each(function (i) { 305 _self.sumTagsWidth += $(this).outerWidth(true); 306 if (_self.sumTagsWidth > (_self.tagsContainerWidth - _self.moreWidth)) { 307 if (!_self.lastShowed) { 308 _self.lastShowed = i - 1; 309 } 310 } 311 }); 312 } 313 314 clickEvent() { 315 var _self = this; 316 this.more.on('click', function () { 317 if ($(this).hasClass('open')) { 318 $(this).text('ÐоказаÑÑ Ð²Ñе').removeClass('open'); 319 $('.tag.excess').hide(); 320 _self.tagsContainer.removeClass('open'); 321 } else { 322 $(this).text('СвеÑнÑÑÑ').addClass('open'); 323 $('.tag.excess').show(); 324 _self.tagsContainer.addClass('open'); 325 } 326 }); 327 } 328 329 excess() { 330 var _self = this; 331 this.tags.each(function (i) { 332 if (i == _self.lastShowed) { 333 _self.more.removeClass('more-hide'); 334 } 335 if (i > _self.lastShowed) { 336 $(this).addClass('excess').hide(); 337 } 338 }); 339 } 340} 341
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.