1function isDesktop() { 2 if (typeof MobileDetect === 'undefined') { 3 return true; //stub 4 } 5 var md = new MobileDetect(window.navigator.userAgent); 6 return md.mobile() === null; 7} 8 9function resizeFancyboxModal() { 10 var instance = $.fancybox.getInstance(); 11 if (!instance) { 12 return false; 13 } 14 var content = instance.current.$content; 15 content.height(content.find('.in_popup').innerHeight()); 16 17 content.find('.fancybox-close-small').css({ 18 top: content.offset().top - $(window).scrollTop() + 15 + 'px', 19 left: content.offset().left + content.outerWidth() + 'px', 20 visibility: 'visible' 21 }); 22 return true; 23} 24 25function scrollToMain(timeOption) { 26 var offset = $('#mainContent').offset(); 27 var topPosition = offset.top - $('#bottomHeader').height() - 30; 28 $('body,html').animate({ 29 scrollTop: topPosition 30 }, timeOption); 31} 32/** Main jQuery functions */ 33jQuery(document).ready(function ($) { 34 // iphone hover over events tiles fix http://stackoverflow.com/a/38000149/1101589 35 $('.events-list-style .event-poster').click(function () { 36 return undefined; 37 }); 38 39 mobileSearch(); 40 initNavOpener(); 41 42 function initNavOpener(){ 43 44 $.each($('.info-menu li, .category-nav li').has('ul'), function() { 45 $(this).addClass('hasDrop').append('<span class="arrow-opener"></span>'); 46 }); 47 48 $('.info-menu li.hasDrop .arrow-opener , .category-nav li.hasDrop .arrow-opener, .info-menu li .link-contacts') 49 .click(function () { 50 $(this).parent().toggleClass('expanded'); 51 }); 52 53 $('.scrollable-wrapper .more-btn').click(function () { 54 $('.menu-holder') .toggleClass('more-nav-links'); 55 }); 56 57 $('.opener-location , .mobileCloseLocationBtn').click(function () { 58 $('.header-widgets , .location-block').toggleClass('expanded'); 59 $('html').toggleClass('locked-wrapper-location'); 60 return false; 61 }); 62 } 63 64 function mobileSearch() { 65 // on tablets mob-search icon is kept but leads to desktop search field 66 $('.to-desktop-search').click(function(){ 67 var desktopSearch = $('#searchInput'); 68 $('body,html').animate({ 69 scrollTop: desktopSearch.offset().top - 75 70 }, 400); 71 desktopSearch.focus(); 72 }); 73 74 var slideSearchBoxSelector = '.slide-search-box'; 75 var mobHeaderSelector = '.in_botHeader'; 76 77 $('.search-btn.mobile-search').click(function(){ 78 setTimeout(function() { 79 $('#mobileSearchInput').focus(); 80 }, 500); // prevent blippings and lags 81 82 $(slideSearchBoxSelector).show().animate({'width':'90%'}, 100); 83 $(mobHeaderSelector).addClass('activeSearch'); 84 85 return false; 86 }); 87 88 $('.close-btn-search').click(function () { 89 $('#mobileSearchInput').blur(); // prevent blipping by hiding mobile keyboard 90 91 setTimeout(function () { 92 $(slideSearchBoxSelector).hide().css('width', 0); 93 $(mobHeaderSelector).removeClass('activeSearch'); 94 }, 50); // prevent blibbing on close in chrome 95 96 return false; 97 }); 98 } 99 100 /** Sticky header */ 101 if ($.fn.sticky) { 102 $(".sticker").sticky({topSpacing: 0}); 103 } 104 105 /** Cities drop-down menu */ 106 function cityDropdown() { 107 var colnum = $('#cityWidget .drop-down li.group').length; 108 $('#cityWidget .drop-down').css('width', colnum * 114 + '%'); 109 $('#cityWidget .drop-down .group').css('width', 100 / colnum + '%'); 110 } 111 112 cityDropdown(); 113 114 /** Mobile menu */ 115 $(document).on('click', '.mobile-navigation .toggle-btn', function () { 116 var menuCase = $(this).data('target'); 117 if (!$(".pw_body").length) { 118 $('body').append('<div class="pw_body"></div>'); 119 } 120 $(".pw_body").fadeTo(300, 0.8); 121 if (!$("body >" + menuCase).length) { 122 $('#pageWrapper').after($(menuCase)); 123 } 124 $("body >" + menuCase).css({ 125 'top': $(window).scrollTop() 126 }); 127 $("body >" + menuCase).fadeTo(300, 1); 128 $('html').addClass('locked-wrapper'); 129 return false;
130 }); 131 132 /** Hide mobile menu */ 133 $(document).on('click', '.toggle-nav .close-btn', function () { 134 $(".pw_body").fadeOut(300, 0); 135 $(this).parents('.toggle-nav').fadeOut(300, 0); 136 $('html').removeClass('locked-wrapper'); 137 return false; 138 }); 139 140 /** Ignore first locale click for mobile devices **/ 141 $('#localizationWidget li:first').click(function () { 142 return false; 143 }); 144 145 /** Category mobile menu */ 146 $(document).on('click', '.menu-style-wrap .caret', function () { 147 var el = $(this); 148 el.parents('li.has-child').find('.sub-menu').slideToggle(300); 149 el.toggleClass('open'); 150 return false; 151 }); 152 $(document).on('click', '.menu-style-wrap #allrubric', function () { 153 var el = $(this); 154 var msg = el.hasClass('open-allrubric') 155 ? $.i18n._('index.rubrics.show_all') 156 : $.i18n._('index.rubrics.hide_all'); 157 el.parents('li.has-child-main').find('.sub-menu-main').slideToggle(300); 158 el.find('.caption').text(msg); 159 el.toggleClass('open-allrubric'); 160 return false; 161 }); 162 163 /** Popup Windows */ 164 if ($.fn.fancybox) { 165 $('.fancybox-content-popup').fancybox({ 166 baseClass: 'fancybox-content-wrap', 167 modal: false, 168 smallBtn: true, 169 autoFocus: false, 170 btnTpl: { 171 smallBtn: 172 '<div class="fancybox-close">' 173 + '<div data-fancybox-close class="fancybox-close-small modal-close">' 174 + '</div>' 175 }, 176 afterShow : function() { 177 resizeFancyboxModal(); 178 } 179 }); 180 $('.fancybox-photo').fancybox({ 181 modal: false, 182 smallBtn: true, 183 baseClass: 'fancybox-photo-wrap', 184 autoFocus: false, 185 btnTpl: { 186 smallBtn: 187 '<div class="fancybox-close">' 188 + '<div data-fancybox-close class="fancybox-close-small modal-close modal-photo">' 189 + '</div>' 190 }, 191 caption : function( instance, item ) { 192 var caption = $(this).data('caption') || ''; 193 if ( item.type === 'image' ) { 194 caption = (caption.length ? '<span class="caption-text">' + caption + '</span>' : ''); 195 } 196 return caption; 197 }, 198 afterShow : function() { 199 resizeFancyboxModal(); 200 } 201 }); 202 var isolationPeriodContent = $('#isolationPeriod'); 203 if (isolationPeriodContent.length) { 204 $.fancybox.open({ 205 src: isolationPeriodContent, 206 type: 'inline' 207 }); 208 } 209 } 210 211 /** Tabs */ 212 if ($.fn.easytabs) { 213 $('.tab-container').easytabs(); 214 } 215 216 /** 217 * https://www.appelsiini.net/projects/lazyload - Event to Trigger Loading 218 * https://www.appelsiini.net/projects/lazyload/enabled_timeout.html 219 */ 220 if ($.fn.lazyload) { 221 $(window).load(function(){ 222 $('html, body').trigger('scroll'); 223 }); 224 $('img.event-list-item').lazyload(); 225 $('img.hall-list-item').lazyload(); 226 $('img.news-list-item').lazyload(); 227 } 228 229 /** Scroll Function */ 230 // scroll body to #mainContent on click 231 $('.scroll-to-main').click(function () { 232 scrollToMain(400); 233 }); 234 235 /** Form style */ 236 if ($.fn.selectric) { 237 $('.select-style').selectric({ 238 maxHeight: 335, 239 nativeOnMobile: false, 240 disableOnMobile: false 241 }); 242 243 $('.select-style.select-simple').selectric({ 244 maxHeight: 160, 245 nativeOnMobile: false, 246 disableOnMobile: false 247 }); 248 } 249 250 /** Checkboxes & radio */ 251 if ($.fn.iCheck) { 252 $('.icheck-style').iCheck({ 253 checkboxClass: 'icheckbox-input form-control', 254 radioClass: 'iradio-input form-control' 255 }); 256 } 257 258 /** Timer */ 259 if ($('#order-timer').length) { 260 var clock; 261 clock = $('#order-timer').FlipClock(900, {
262 clockFace: 'HourlyCounter', 263 countdown: true, 264 language: $.i18n._('timer_lang'), 265 callbacks: { 266 stop: function () { 267 $('.timer-message').html($.i18n._('widget.timer.over_message')) 268 } 269 } 270 }); 271 } 272 273 $('#phCbSubmit').click(function () { 274 var phoneText = $('#phCbPhone').val(); 275 var userInputName = $('#phCbName').val(); 276 var currentUrl = document.URL; 277 278 if (!$.trim(phoneText)) { 279 alert($.i18n._('widget.callback.number_is_empty')); 280 return false; 281 } 282 283 $.getJSON( 284 $.i18n.prepareLink('/index.html?doAjaxAction=phoneCallback'), 285 { 286 phone: phoneText, 287 userName: userInputName, 288 url: currentUrl 289 }, 290 function (data) { 291 if (data.result == 1) { 292 alert($.i18n._('widget.callback.success_message')); 293 if (typeof fbqWrapper != 'undefined') { 294 fbqWrapper('Contact'); 295 } 296 $.fancybox.close(); 297 } else { 298 alert($.i18n._('widget.callback.error_message')) 299 } 300 } 301 ); 302 303 return true; 304 }); 305 306 /* Event fixed "buy" button */ 307 308 if ($('.floated-event-tickets-button').length) { 309 var eventFloatedButtonHidden = true; 310 var positionBorder = $('.btn-tickets').offset().top + $('.btn-tickets').height(); 311 312 $(window).scroll(function () { 313 if ($(document).scrollTop() > positionBorder) { 314 if (eventFloatedButtonHidden) { 315 $('.floated-event-tickets-button').fadeIn(200); 316 eventFloatedButtonHidden = false; 317 } 318 } else { 319 if (!eventFloatedButtonHidden) { 320 $('.floated-event-tickets-button').fadeOut(200); 321 eventFloatedButtonHidden = true; 322 } 323 } 324 }); 325 } 326 327 if ($('.search-tooltip').length) { 328 $(window).scroll(function () { 329 if ($(this).scrollTop() > 200) { 330 $('.search-tooltip').fadeOut(); 331 } else { 332 $('.search-tooltip').fadeIn(); 333 } 334 }); 335 336 if ($('.mobile-search').length || $('.location-block .opener-location').length) { 337 $('.mobile-search, .location-block .opener-location').on('click', function () { 338 $('.search-tooltip').hide(); 339 }); 340 } 341 342 if ($('.close-btn-search').length || $('.mobileCloseLocationBtn').length) { 343 $('.close-btn-search, .mobileCloseLocationBtn').on('click', function () { 344 $('.search-tooltip').show(); 345 }); 346 } 347 } 348}); 349 350jQuery(window).load(function () { 351 /** Promo slider */ 352 if ($('.promo-slider').length) { 353 var settings = function () { 354 var settings1 = { 355 /* Desktop */ 356 minSlides: 2, 357 maxSlides: 3, 358 slideWidth: 685, 359 moveSlides: 1, 360 slideMargin: 0, 361 pager: false, 362 auto: true, 363 //auto: false, // todo TMP 364 autoHover: true, 365 pause: 6000, 366 onSliderLoad: function () { 367 /** 368 * Set overlay for very short time to prevent random click 369 * when slider has been loaded and expanded 370 */ 371 $('body').append('<div id="bannerBlockingOverlay" class="ui-widget-overlay"' + 372 ' style="width: 100%; height: 100%; z-index: 32767; background: none; opacity: 0;"></div>'); 373 setTimeout(function () { 374 $('#bannerBlockingOverlay').remove(); 375 }, 500); 376 377 $(".promo-slider").css('height', 'auto').fadeTo(400, 1.0); 378 } 379 }; 380 381 var settings2 = { 382 /* Mobile */ 383 minSlides: 1, 384 maxSlides: 2, 385 slideWidth: 685, 386 moveSlides: 1, 387 slideMargin: 0, 388 pager: false, 389 auto: true, 390 autoHover: true, 391 pause: 6000, 392 touchEnabled: true, 393 onSliderLoad: function () { 394 $(".promo-slider").css('height', 'auto').fadeTo(400, 1.0); 395 } 396 }; 397 return ($(window).width() < 1024) ? settings2 : settings1; 398 }; 399 400 var promoSlider; 401 promoSlider = $('.promo-slider > ul').bxSlider(settings()); 402 } 403 404 function reloadonresize() { 405 promoSlider.reloadSlider(settings()); 406 } 407 408 $(window).resize(function () { 409 if ($('.promo-slider').length) { 410 reloadonresize(); 411 } 412 }); 413 414});
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.