1 2; /* Start:"a:4:{s:4:"full";s:63:"/local/templates/makoto/assets/js/slick.min.js?1785742512151819";s:6:"source";s:46:"/local/templates/makoto/assets/js/slick.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 3/* 4 _ _ _ _ 5 ___| (_) ___| | __ (_)___ 6/ __| | |/ __| |/ / | / __| 7\__ \ | | (__| < _ | \__ \ 8|___/_|_|\___|_|\_(_)/ |___/ 9 |__/ 10 11 Version: 1.8.1 12 Author: Ken Wheeler 13 Website: http://kenwheeler.github.io 14 Docs: http://kenwheeler.github.io/slick 15 Repo: http://github.com/kenwheeler/slick 16 Issues: http://github.com/kenwheeler/slick/issues 17 18 */ 19/* global window, document, define, jQuery, setInterval, clearInterval */ 20;(function(factory) { 21 'use strict'; 22 if (typeof define === 'function' && define.amd) { 23 define(['jquery'], factory); 24 } else if (typeof exports !== 'undefined') { 25 module.exports = factory(require('jquery')); 26 } else { 27 factory(jQuery); 28 } 29 30}(function($) { 31 'use strict'; 32 var Slick = window.Slick || {}; 33 34 Slick = (function() { 35 36 var instanceUid = 0; 37 38 function Slick(element, settings) { 39 40 var _ = this, dataSettings; 41 42 _.defaults = { 43 accessibility: true, 44 adaptiveHeight: false, 45 appendArrows: $(element), 46 appendDots: $(element), 47 arrows: true, 48 asNavFor: null, 49 prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 50 nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', 51 autoplay: false, 52 autoplaySpeed: 3000, 53 centerMode: false, 54 centerPadding: '50px', 55 cssEase: 'ease', 56 customPaging: function(slider, i) { 57 return $('<button type="button" />').text(i + 1); 58 }, 59 dots: false, 60 dotsClass: 'slick-dots', 61 draggable: true, 62 easing: 'linear', 63 edgeFriction: 0.35, 64 fade: false, 65 focusOnSelect: false, 66 focusOnChange: false, 67 infinite: true, 68 initialSlide: 0, 69 lazyLoad: 'ondemand', 70 mobileFirst: false, 71 pauseOnHover: true, 72 pauseOnFocus: true, 73 pauseOnDotsHover: false, 74 respondTo: 'window', 75 responsive: null, 76 rows: 1, 77 rtl: false, 78 slide: '', 79 slidesPerRow: 1, 80 slidesToShow: 1, 81 slidesToScroll: 1, 82 speed: 500, 83 swipe: true, 84 swipeToSlide: false, 85 touchMove: true, 86 touchThreshold: 5, 87 useCSS: true, 88 useTransform: true, 89 variableWidth: false, 90 vertical: false, 91 verticalSwiping: false, 92 waitForAnimate: true, 93 zIndex: 1000 94 }; 95 96 _.initials = { 97 animating: false, 98 dragging: false, 99 autoPlayTimer: null, 100 currentDirection: 0, 101 currentLeft: null, 102 currentSlide: 0, 103 direction: 1, 104 $dots: null, 105 listWidth: null, 106 listHeight: null, 107 loadIndex: 0, 108 $nextArrow: null, 109 $prevArrow: null, 110 scrolling: false, 111 slideCount: null, 112 slideWidth: null, 113 $slideTrack: null, 114 $slides: null, 115 sliding: false, 116 slideOffset: 0, 117 swipeLeft: null, 118 swiping: false, 119 $list: null, 120 touchObject: {}, 121 transformsEnabled: false,
vendor: 25,035 bytes, lines 122-905
122 unslicked: false 123 }; 124 125 $.extend(_, _.initials); 126 127 _.activeBreakpoint = null; 128 _.animType = null; 129 _.animProp = null; 130 _.breakpoints = []; 131 _.breakpointSettings = []; 132 _.cssTransitions = false; 133 _.focussed = false; 134 _.interrupted = false; 135 _.hidden = 'hidden'; 136 _.paused = true; 137 _.positionProp = null; 138 _.respondTo = null; 139 _.rowCount = 1; 140 _.shouldClick = true; 141 _.$slider = $(element); 142 _.$slidesCache = null; 143 _.transformType = null; 144 _.transitionType = null; 145 _.visibilityChange = 'visibilitychange'; 146 _.windowWidth = 0; 147 _.windowTimer = null; 148 149 dataSettings = $(element).data('slick') || {}; 150 151 _.options = $.extend({}, _.defaults, settings, dataSettings); 152 153 _.currentSlide = _.options.initialSlide; 154 155 _.originalSettings = _.options; 156 157 if (typeof document.mozHidden !== 'undefined') { 158 _.hidden = 'mozHidden'; 159 _.visibilityChange = 'mozvisibilitychange'; 160 } else if (typeof document.webkitHidden !== 'undefined') { 161 _.hidden = 'webkitHidden'; 162 _.visibilityChange = 'webkitvisibilitychange'; 163 } 164 165 _.autoPlay = $.proxy(_.autoPlay, _); 166 _.autoPlayClear = $.proxy(_.autoPlayClear, _); 167 _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); 168 _.changeSlide = $.proxy(_.changeSlide, _); 169 _.clickHandler = $.proxy(_.clickHandler, _); 170 _.selectHandler = $.proxy(_.selectHandler, _); 171 _.setPosition = $.proxy(_.setPosition, _); 172 _.swipeHandler = $.proxy(_.swipeHandler, _); 173 _.dragHandler = $.proxy(_.dragHandler, _); 174 _.keyHandler = $.proxy(_.keyHandler, _); 175 176 _.instanceUid = instanceUid++; 177 178 // A simple way to check for HTML strings 179 // Strict HTML recognition (must start with <) 180 // Extracted from jQuery v1.11 source 181 _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; 182 183 184 _.registerBreakpoints(); 185 _.init(true); 186 187 } 188 189 return Slick; 190 191 }()); 192 193 Slick.prototype.activateADA = function() { 194 var _ = this; 195 196 _.$slideTrack.find('.slick-active').attr({ 197 'aria-hidden': 'false' 198 }).find('a, input, button, select').attr({ 199 'tabindex': '0' 200 }); 201 202 }; 203 204 Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { 205 206 var _ = this; 207 208 if (typeof(index) === 'boolean') { 209 addBefore = index; 210 index = null; 211 } else if (index < 0 || (index >= _.slideCount)) { 212 return false; 213 } 214 215 _.unload(); 216 217 if (typeof(index) === 'number') { 218 if (index === 0 && _.$slides.length === 0) { 219 $(markup).appendTo(_.$slideTrack); 220 } else if (addBefore) { 221 $(markup).insertBefore(_.$slides.eq(index)); 222 } else { 223 $(markup).insertAfter(_.$slides.eq(index)); 224 } 225 } else { 226 if (addBefore === true) { 227 $(markup).prependTo(_.$slideTrack); 228 } else { 229 $(markup).appendTo(_.$slideTrack); 230 } 231 } 232 233 _.$slides = _.$slideTrack.children(this.options.slide); 234 235 _.$slideTrack.children(this.options.slide).detach(); 236 237 _.$slideTrack.append(_.$slides); 238 239 _.$slides.each(function(index, element) { 240 $(element).attr('data-slick-index', index); 241 }); 242 243 _.$slidesCache = _.$slides; 244 245 _.reinit(); 246 247 }; 248 249 Slick.prototype.animateHeight = function() { 250 var _ = this; 251 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 252 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 253 _.$list.animate({ 254 height: targetHeight 255 }, _.options.speed); 256 } 257 }; 258 259 Slick.prototype.animateSlide = function(targetLeft, callback) { 260 261 var animProps = {}, 262 _ = this; 263 264 _.animateHeight(); 265 266 if (_.options.rtl === true && _.options.vertical === false) { 267 targetLeft = -targetLeft; 268 } 269 if (_.transformsEnabled === false) { 270 if (_.options.vertical === false) { 271 _.$slideTrack.animate({ 272 left: targetLeft 273 }, _.options.speed, _.options.easing, callback); 274 } else { 275 _.$slideTrack.animate({ 276 top: targetLeft 277 }, _.options.speed, _.options.easing, callback); 278 } 279 280 } else { 281 282 if (_.cssTransitions === false) { 283 if (_.options.rtl === true) { 284 _.currentLeft = -(_.currentLeft); 285 } 286 $({ 287 animStart: _.currentLeft 288 }).animate({ 289 animStart: targetLeft 290 }, { 291 duration: _.options.speed, 292 easing: _.options.easing, 293 step: function(now) { 294 now = Math.ceil(now); 295 if (_.options.vertical === false) { 296 animProps[_.animType] = 'translate(' + 297 now + 'px, 0px)'; 298 _.$slideTrack.css(animProps); 299 } else { 300 animProps[_.animType] = 'translate(0px,' + 301 now + 'px)'; 302 _.$slideTrack.css(animProps); 303 } 304 }, 305 complete: function() { 306 if (callback) { 307 callback.call(); 308 } 309 } 310 }); 311 312 } else { 313 314 _.applyTransition(); 315 targetLeft = Math.ceil(targetLeft); 316 317 if (_.options.vertical === false) { 318 animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; 319 } else { 320 animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; 321 } 322 _.$slideTrack.css(animProps); 323 324 if (callback) { 325 setTimeout(function() { 326 327 _.disableTransition(); 328 329 callback.call(); 330 }, _.options.speed); 331 } 332 333 } 334 335 } 336 337 }; 338 339 Slick.prototype.getNavTarget = function() { 340 341 var _ = this, 342 asNavFor = _.options.asNavFor; 343 344 if ( asNavFor && asNavFor !== null ) { 345 asNavFor = $(asNavFor).not(_.$slider); 346 } 347 348 return asNavFor; 349 350 }; 351 352 Slick.prototype.asNavFor = function(index) { 353 354 var _ = this, 355 asNavFor = _.getNavTarget(); 356 357 if ( asNavFor !== null && typeof asNavFor === 'object' ) { 358 asNavFor.each(function() { 359 var target = $(this).slick('getSlick'); 360 if(!target.unslicked) { 361 target.slideHandler(index, true); 362 } 363 }); 364 } 365 366 }; 367 368 Slick.prototype.applyTransition = function(slide) { 369 370 var _ = this, 371 transition = {}; 372 373 if (_.options.fade === false) { 374 transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; 375 } else { 376 transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; 377 } 378 379 if (_.options.fade === false) { 380 _.$slideTrack.css(transition); 381 } else { 382 _.$slides.eq(slide).css(transition); 383 } 384 385 }; 386 387 Slick.prototype.autoPlay = function() { 388 389 var _ = this; 390 391 _.autoPlayClear(); 392 393 if ( _.slideCount > _.options.slidesToShow ) { 394 _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); 395 } 396 397 }; 398 399 Slick.prototype.autoPlayClear = function() { 400 401 var _ = this; 402 403 if (_.autoPlayTimer) { 404 clearInterval(_.autoPlayTimer); 405 } 406 407 }; 408 409 Slick.prototype.autoPlayIterator = function() { 410 411 var _ = this, 412 slideTo = _.currentSlide + _.options.slidesToScroll; 413 414 if ( !_.paused && !_.interrupted && !_.focussed ) { 415 416 if ( _.options.infinite === false ) { 417 418 if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { 419 _.direction = 0; 420 } 421 422 else if ( _.direction === 0 ) { 423 424 slideTo = _.currentSlide - _.options.slidesToScroll; 425 426 if ( _.currentSlide - 1 === 0 ) { 427 _.direction = 1; 428 } 429 430 } 431 432 } 433 434 _.slideHandler( slideTo ); 435 436 } 437 438 }; 439 440 Slick.prototype.buildArrows = function() { 441 442 var _ = this; 443 444 if (_.options.arrows === true ) { 445 446 _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); 447 _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); 448 449 if( _.slideCount > _.options.slidesToShow ) { 450 451 _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 452 _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 453 454 if (_.htmlExpr.test(_.options.prevArrow)) { 455 _.$prevArrow.prependTo(_.options.appendArrows); 456 } 457 458 if (_.htmlExpr.test(_.options.nextArrow)) { 459 _.$nextArrow.appendTo(_.options.appendArrows); 460 } 461 462 if (_.options.infinite !== true) { 463 _.$prevArrow 464 .addClass('slick-disabled') 465 .attr('aria-disabled', 'true'); 466 } 467 468 } else { 469 470 _.$prevArrow.add( _.$nextArrow ) 471 472 .addClass('slick-hidden') 473 .attr({ 474 'aria-disabled': 'true', 475 'tabindex': '-1' 476 }); 477 478 } 479 480 } 481 482 }; 483 484 Slick.prototype.buildDots = function() { 485 486 var _ = this, 487 i, dot; 488 489 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 490 491 _.$slider.addClass('slick-dotted'); 492 493 dot = $('<ul />').addClass(_.options.dotsClass); 494 495 for (i = 0; i <= _.getDotCount(); i += 1) { 496 dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); 497 } 498 499 _.$dots = dot.appendTo(_.options.appendDots); 500 501 _.$dots.find('li').first().addClass('slick-active'); 502 503 } 504 505 }; 506 507 Slick.prototype.buildOut = function() { 508 509 var _ = this; 510 511 _.$slides = 512 _.$slider 513 .children( _.options.slide + ':not(.slick-cloned)') 514 .addClass('slick-slide'); 515 516 _.slideCount = _.$slides.length; 517 518 _.$slides.each(function(index, element) { 519 $(element) 520 .attr('data-slick-index', index) 521 .data('originalStyling', $(element).attr('style') || ''); 522 }); 523 524 _.$slider.addClass('slick-slider'); 525 526 _.$slideTrack = (_.slideCount === 0) ? 527 $('<div class="slick-track"/>').appendTo(_.$slider) : 528 _.$slides.wrapAll('<div class="slick-track"/>').parent(); 529 530 _.$list = _.$slideTrack.wrap( 531 '<div class="slick-list"/>').parent(); 532 _.$slideTrack.css('opacity', 0); 533 534 if (_.options.centerMode === true || _.options.swipeToSlide === true) { 535 _.options.slidesToScroll = 1; 536 } 537 538 $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); 539 540 _.setupInfinite(); 541 542 _.buildArrows(); 543 544 _.buildDots(); 545 546 _.updateDots(); 547 548 549 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 550 551 if (_.options.draggable === true) { 552 _.$list.addClass('draggable'); 553 } 554 555 }; 556 557 Slick.prototype.buildRows = function() { 558 559 var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; 560 561 newSlides = document.createDocumentFragment(); 562 originalSlides = _.$slider.children(); 563 564 if(_.options.rows > 0) { 565 566 slidesPerSection = _.options.slidesPerRow * _.options.rows; 567 numOfSlides = Math.ceil( 568 originalSlides.length / slidesPerSection 569 ); 570 571 for(a = 0; a < numOfSlides; a++){ 572 var slide = document.createElement('div'); 573 for(b = 0; b < _.options.rows; b++) { 574 var row = document.createElement('div'); 575 for(c = 0; c < _.options.slidesPerRow; c++) { 576 var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); 577 if (originalSlides.get(target)) { 578 row.appendChild(originalSlides.get(target)); 579 } 580 } 581 slide.appendChild(row); 582 } 583 newSlides.appendChild(slide); 584 } 585 586 _.$slider.empty().append(newSlides); 587 _.$slider.children().children().children() 588 .css({ 589 'width':(100 / _.options.slidesPerRow) + '%', 590 'display': 'inline-block' 591 }); 592 593 } 594 595 }; 596 597 Slick.prototype.checkResponsive = function(initial, forceUpdate) { 598 599 var _ = this, 600 breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; 601 var sliderWidth = _.$slider.width(); 602 var windowWidth = window.innerWidth || $(window).width(); 603 604 if (_.respondTo === 'window') { 605 respondToWidth = windowWidth; 606 } else if (_.respondTo === 'slider') { 607 respondToWidth = sliderWidth; 608 } else if (_.respondTo === 'min') { 609 respondToWidth = Math.min(windowWidth, sliderWidth); 610 } 611 612 if ( _.options.responsive && 613 _.options.responsive.length && 614 _.options.responsive !== null) { 615 616 targetBreakpoint = null; 617 618 for (breakpoint in _.breakpoints) { 619 if (_.breakpoints.hasOwnProperty(breakpoint)) { 620 if (_.originalSettings.mobileFirst === false) { 621 if (respondToWidth < _.breakpoints[breakpoint]) { 622 targetBreakpoint = _.breakpoints[breakpoint]; 623 } 624 } else { 625 if (respondToWidth > _.breakpoints[breakpoint]) { 626 targetBreakpoint = _.breakpoints[breakpoint]; 627 } 628 } 629 } 630 } 631 632 if (targetBreakpoint !== null) { 633 if (_.activeBreakpoint !== null) { 634 if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { 635 _.activeBreakpoint = 636 targetBreakpoint; 637 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 638 _.unslick(targetBreakpoint); 639 } else { 640 _.options = $.extend({}, _.originalSettings, 641 _.breakpointSettings[ 642 targetBreakpoint]); 643 if (initial === true) { 644 _.currentSlide = _.options.initialSlide; 645 } 646 _.refresh(initial); 647 } 648 triggerBreakpoint = targetBreakpoint; 649 } 650 } else { 651 _.activeBreakpoint = targetBreakpoint; 652 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 653 _.unslick(targetBreakpoint); 654 } else { 655 _.options = $.extend({}, _.originalSettings, 656 _.breakpointSettings[ 657 targetBreakpoint]); 658 if (initial === true) { 659 _.currentSlide = _.options.initialSlide; 660 } 661 _.refresh(initial); 662 } 663 triggerBreakpoint = targetBreakpoint; 664 } 665 } else { 666 if (_.activeBreakpoint !== null) { 667 _.activeBreakpoint = null; 668 _.options = _.originalSettings; 669 if (initial === true) { 670 _.currentSlide = _.options.initialSlide; 671 } 672 _.refresh(initial); 673 triggerBreakpoint = targetBreakpoint; 674 } 675 } 676 677 // only trigger breakpoints during an actual break. not on initialize. 678 if( !initial && triggerBreakpoint !== false ) { 679 _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); 680 } 681 } 682 683 }; 684 685 Slick.prototype.changeSlide = function(event, dontAnimate) { 686 687 var _ = this, 688 $target = $(event.currentTarget), 689 indexOffset, slideOffset, unevenOffset; 690 691 // If target is a link, prevent default action. 692 if($target.is('a')) { 693 event.preventDefault(); 694 } 695 696 // If target is not the <li> element (ie: a child), find the <li>. 697 if(!$target.is('li')) { 698 $target = $target.closest('li'); 699 } 700 701 unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); 702 indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; 703 704 switch (event.data.message) { 705 706 case 'previous': 707 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; 708 if (_.slideCount > _.options.slidesToShow) { 709 _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); 710 } 711 break; 712 713 case 'next': 714 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; 715 if (_.slideCount > _.options.slidesToShow) { 716 _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); 717 } 718 break; 719 720 case 'index': 721 var index = event.data.index === 0 ? 0 : 722 event.data.index || $target.index() * _.options.slidesToScroll; 723 724 _.slideHandler(_.checkNavigable(index), false, dontAnimate); 725 $target.children().trigger('focus'); 726 break; 727 728 default: 729 return; 730 } 731 732 }; 733 734 Slick.prototype.checkNavigable = function(index) { 735 736 var _ = this, 737 navigables, prevNavigable; 738 739 navigables = _.getNavigableIndexes(); 740 prevNavigable = 0; 741 if (index > navigables[navigables.length - 1]) { 742 index = navigables[navigables.length - 1]; 743 } else { 744 for (var n in navigables) { 745 if (index < navigables[n]) { 746 index = prevNavigable; 747 break; 748 } 749 prevNavigable = navigables[n]; 750 } 751 } 752 753 return index; 754 }; 755 756 Slick.prototype.cleanUpEvents = function() { 757 758 var _ = this; 759 760 if (_.options.dots && _.$dots !== null) { 761 762 $('li', _.$dots) 763 .off('click.slick', _.changeSlide) 764 .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) 765 .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 766 767 if (_.options.accessibility === true) { 768 _.$dots.off('keydown.slick', _.keyHandler); 769 } 770 } 771 772 _.$slider.off('focus.slick blur.slick'); 773 774 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 775 _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); 776 _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); 777 778 if (_.options.accessibility === true) { 779 _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); 780 _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); 781 } 782 } 783 784 _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); 785 _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); 786 _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); 787 _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); 788 789 _.$list.off('click.slick', _.clickHandler); 790 791 $(document).off(_.visibilityChange, _.visibility); 792 793 _.cleanUpSlideEvents(); 794 795 if (_.options.accessibility === true) { 796 _.$list.off('keydown.slick', _.keyHandler); 797 } 798 799 if (_.options.focusOnSelect === true) { 800 $(_.$slideTrack).children().off('click.slick', _.selectHandler); 801 } 802 803 $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); 804 805 $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); 806 807 $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); 808 809 $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); 810 811 }; 812 813 Slick.prototype.cleanUpSlideEvents = function() { 814 815 var _ = this; 816 817 _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); 818 _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 819 820 }; 821 822 Slick.prototype.cleanUpRows = function() { 823 824 var _ = this, originalSlides; 825 826 if(_.options.rows > 0) { 827 originalSlides = _.$slides.children().children(); 828 originalSlides.removeAttr('style'); 829 _.$slider.empty().append(originalSlides); 830 } 831 832 }; 833 834 Slick.prototype.clickHandler = function(event) { 835 836 var _ = this; 837 838 if (_.shouldClick === false) { 839 event.stopImmediatePropagation(); 840 event.stopPropagation(); 841 event.preventDefault(); 842 } 843 844 }; 845 846 Slick.prototype.destroy = function(refresh) { 847 848 var _ = this; 849 850 _.autoPlayClear(); 851 852 _.touchObject = {}; 853 854 _.cleanUpEvents(); 855 856 $('.slick-cloned', _.$slider).detach(); 857 858 if (_.$dots) { 859 _.$dots.remove(); 860 } 861 862 if ( _.$prevArrow && _.$prevArrow.length ) { 863 864 _.$prevArrow 865 .removeClass('slick-disabled slick-arrow slick-hidden') 866 .removeAttr('aria-hidden aria-disabled tabindex') 867 .css('display',''); 868 869 if ( _.htmlExpr.test( _.options.prevArrow )) { 870 _.$prevArrow.remove(); 871 } 872 } 873 874 if ( _.$nextArrow && _.$nextArrow.length ) { 875 876 _.$nextArrow 877 .removeClass('slick-disabled slick-arrow slick-hidden') 878 .removeAttr('aria-hidden aria-disabled tabindex') 879 .css('display',''); 880 881 if ( _.htmlExpr.test( _.options.nextArrow )) { 882 _.$nextArrow.remove(); 883 } 884 } 885 886 887 if (_.$slides) { 888 889 _.$slides 890 .removeClass('slick-slide slick-active slick-center slick-visible slick-current') 891 .removeAttr('aria-hidden') 892 .removeAttr('data-slick-index') 893 .each(function(){ 894 $(this).attr('style', $(this).data('originalStyling')); 895 }); 896 897 _.$slideTrack.children(this.options.slide).detach(); 898 899 _.$slideTrack.detach(); 900 901 _.$list.detach(); 902 903 _.$slider.append(_.$slides); 904 } 905
906 _.cleanUpRows(); 907 908 _.$slider.removeClass('slick-slider'); 909 _.$slider.removeClass('slick-initialized'); 910 _.$slider.removeClass('slick-dotted'); 911 912 _.unslicked = true; 913 914 if(!refresh) { 915 _.$slider.trigger('destroy', [_]); 916 } 917 918 }; 919 920 Slick.prototype.disableTransition = function(slide) { 921 922 var _ = this, 923 transition = {}; 924 925 transition[_.transitionType] = ''; 926 927 if (_.options.fade === false) { 928 _.$slideTrack.css(transition); 929 } else { 930 _.$slides.eq(slide).css(transition); 931 } 932 933 }; 934 935 Slick.prototype.fadeSlide = function(slideIndex, callback) { 936 937 var _ = this; 938 939 if (_.cssTransitions === false) { 940 941 _.$slides.eq(slideIndex).css({ 942 zIndex: _.options.zIndex 943 }); 944 945 _.$slides.eq(slideIndex).animate({ 946 opacity: 1 947 }, _.options.speed, _.options.easing, callback); 948 949 } else { 950 951 _.applyTransition(slideIndex); 952 953 _.$slides.eq(slideIndex).css({ 954 opacity: 1, 955 zIndex: _.options.zIndex 956 }); 957 958 if (callback) { 959 setTimeout(function() { 960 961 _.disableTransition(slideIndex); 962 963 callback.call(); 964 }, _.options.speed); 965 } 966 967 } 968 969 }; 970 971 Slick.prototype.fadeSlideOut = function(slideIndex) { 972 973 var _ = this; 974 975 if (_.cssTransitions === false) { 976 977 _.$slides.eq(slideIndex).animate({ 978 opacity: 0, 979 zIndex: _.options.zIndex - 2 980 }, _.options.speed, _.options.easing); 981 982 } else { 983 984 _.applyTransition(slideIndex); 985 986 _.$slides.eq(slideIndex).css({ 987 opacity: 0, 988 zIndex: _.options.zIndex - 2 989 }); 990 991 } 992 993 }; 994 995 Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { 996 997 var _ = this; 998 999 if (filter !== null) { 1000 1001 _.$slidesCache = _.$slides; 1002 1003 _.unload(); 1004 1005 _.$slideTrack.children(this.options.slide).detach(); 1006 1007 _.$slidesCache.filter(filter).appendTo(_.$slideTrack); 1008 1009 _.reinit(); 1010 1011 } 1012 1013 }; 1014 1015 Slick.prototype.focusHandler = function() { 1016 1017 var _ = this; 1018 1019 // If any child element receives focus within the slider we need to pause the autoplay 1020 _.$slider 1021 .off('focus.slick blur.slick') 1022 .on( 1023 'focus.slick', 1024 '*', 1025 function(event) { 1026 var $sf = $(this); 1027 1028 setTimeout(function() { 1029 if( _.options.pauseOnFocus ) { 1030 if ($sf.is(':focus')) { 1031 _.focussed = true; 1032 _.autoPlay(); 1033 } 1034 } 1035 }, 0); 1036 } 1037 ).on( 1038 'blur.slick', 1039 '*', 1040 function(event) { 1041 var $sf = $(this); 1042 1043 // When a blur occurs on any elements within the slider we become unfocused 1044 if( _.options.pauseOnFocus ) { 1045 _.focussed = false; 1046 _.autoPlay(); 1047 } 1048 } 1049 ); 1050 }; 1051 1052 Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { 1053 1054 var _ = this; 1055 return _.currentSlide; 1056 1057 }; 1058 1059 Slick.prototype.getDotCount = function() { 1060 1061 var _ = this; 1062 1063 var breakPoint = 0; 1064 var counter = 0; 1065 var pagerQty = 0; 1066 1067 if (_.options.infinite === true) { 1068 if (_.slideCount <= _.options.slidesToShow) { 1069 ++pagerQty; 1070 } else { 1071 while (breakPoint < _.slideCount) { 1072 ++pagerQty; 1073 breakPoint = counter + _.options.slidesToScroll; 1074 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 1075 } 1076 } 1077 } else if (_.options.centerMode === true) { 1078 pagerQty = _.slideCount; 1079 } else if(!_.options.asNavFor) {
vendor: 3,515 bytes, lines 1080-1158
1080 pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); 1081 }else { 1082 while (breakPoint < _.slideCount) { 1083 ++pagerQty; 1084 breakPoint = counter + _.options.slidesToScroll; 1085 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 1086 } 1087 } 1088 1089 return pagerQty - 1; 1090 1091 }; 1092 1093 Slick.prototype.getLeft = function(slideIndex) { 1094 1095 var _ = this, 1096 targetLeft, 1097 verticalHeight, 1098 verticalOffset = 0, 1099 targetSlide, 1100 coef; 1101 1102 _.slideOffset = 0; 1103 verticalHeight = _.$slides.first().outerHeight(true); 1104 1105 if (_.options.infinite === true) { 1106 if (_.slideCount > _.options.slidesToShow) { 1107 _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; 1108 coef = -1 1109 1110 if (_.options.vertical === true && _.options.centerMode === true) { 1111 if (_.options.slidesToShow === 2) { 1112 coef = -1.5; 1113 } else if (_.options.slidesToShow === 1) { 1114 coef = -2 1115 } 1116 } 1117 verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; 1118 } 1119 if (_.slideCount % _.options.slidesToScroll !== 0) { 1120 if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { 1121 if (slideIndex > _.slideCount) { 1122 _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; 1123 verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; 1124 } else { 1125 _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; 1126 verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; 1127 } 1128 } 1129 } 1130 } else { 1131 if (slideIndex + _.options.slidesToShow > _.slideCount) { 1132 _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; 1133 verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; 1134 } 1135 } 1136 1137 if (_.slideCount <= _.options.slidesToShow) { 1138 _.slideOffset = 0; 1139 verticalOffset = 0; 1140 } 1141 1142 if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { 1143 _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); 1144 } else if (_.options.centerMode === true && _.options.infinite === true) { 1145 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; 1146 } else if (_.options.centerMode === true) { 1147 _.slideOffset = 0; 1148 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); 1149 } 1150 1151 if (_.options.vertical === false) { 1152 targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; 1153 } else { 1154 targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; 1155 } 1156 1157 if (_.options.variableWidth === true) { 1158
1159 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 1160 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 1161 } else { 1162 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); 1163 } 1164 1165 if (_.options.rtl === true) { 1166 if (targetSlide[0]) { 1167 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 1168 } else { 1169 targetLeft = 0; 1170 } 1171 } else { 1172 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 1173 } 1174 1175 if (_.options.centerMode === true) { 1176 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 1177 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 1178 } else { 1179 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); 1180 } 1181 1182 if (_.options.rtl === true) { 1183 if (targetSlide[0]) { 1184 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 1185 } else { 1186 targetLeft = 0; 1187 } 1188 } else { 1189 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 1190 } 1191 1192 targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; 1193 } 1194 } 1195 1196 return targetLeft; 1197 1198 }; 1199 1200 Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { 1201 1202 var _ = this; 1203 1204 return _.options[option]; 1205 1206 }; 1207 1208 Slick.prototype.getNavigableIndexes = function() { 1209 1210 var _ = this, 1211 breakPoint = 0, 1212 counter = 0, 1213 indexes = [], 1214 max; 1215 1216 if (_.options.infinite === false) { 1217 max = _.slideCount; 1218 } else { 1219 breakPoint = _.options.slidesToScroll * -1; 1220 counter = _.options.slidesToScroll * -1; 1221 max = _.slideCount * 2; 1222 } 1223 1224 while (breakPoint < max) { 1225 indexes.push(breakPoint); 1226 breakPoint = counter + _.options.slidesToScroll; 1227 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 1228 } 1229 1230 return indexes; 1231 1232 }; 1233 1234 Slick.prototype.getSlick = function() { 1235 1236 return this; 1237 1238 }; 1239 1240 Slick.prototype.getSlideCount = function() { 1241 1242 var _ = this, 1243 slidesTraversed, swipedSlide, swipeTarget, centerOffset; 1244 1245 centerOffset = _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0; 1246 swipeTarget = (_.swipeLeft * -1) + centerOffset; 1247 1248 if (_.options.swipeToSlide === true) { 1249 1250 _.$slideTrack.find('.slick-slide').each(function(index, slide) { 1251 1252 var slideOuterWidth, slideOffset, slideRightBoundary; 1253 slideOuterWidth = $(slide).outerWidth(); 1254 slideOffset = slide.offsetLeft; 1255 if (_.options.centerMode !== true) { 1256 slideOffset += (slideOuterWidth / 2); 1257 } 1258 1259 slideRightBoundary = slideOffset + (slideOuterWidth); 1260 1261 if (swipeTarget < slideRightBoundary) { 1262 swipedSlide = slide; 1263 return false; 1264 } 1265 }); 1266 1267 slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; 1268 1269 return slidesTraversed; 1270 1271 } else { 1272 return _.options.slidesToScroll; 1273 } 1274 1275 }; 1276 1277 Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { 1278 1279 var _ = this; 1280 1281 _.changeSlide({ 1282 data: { 1283 message: 'index', 1284 index: parseInt(slide) 1285 } 1286 }, dontAnimate); 1287 1288 }; 1289 1290 Slick.prototype.init = function(creation) { 1291 1292 var _ = this; 1293 1294 if (!$(_.$slider).hasClass('slick-initialized')) { 1295 1296 $(_.$slider).addClass('slick-initialized'); 1297 1298 _.buildRows(); 1299 _.buildOut(); 1300 _.setProps(); 1301 _.startLoad(); 1302 _.loadSlider(); 1303 _.initializeEvents(); 1304 _.updateArrows(); 1305 _.updateDots(); 1306 _.checkResponsive(true); 1307 _.focusHandler(); 1308 1309 } 1310 1311 if (creation) { 1312 _.$slider.trigger('init', [_]); 1313 } 1314 1315 if (_.options.accessibility === true) { 1316 _.initADA(); 1317 } 1318 1319 if ( _.options.autoplay ) { 1320 1321 _.paused = false; 1322 _.autoPlay(); 1323 1324 } 1325 1326 }; 1327 1328 Slick.prototype.initADA = function() { 1329 var _ = this, 1330 numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
vendor: 48,038 bytes, lines 1331-2938
1331 tabControlIndexes = _.getNavigableIndexes().filter(function(val) { 1332 return (val >= 0) && (val < _.slideCount); 1333 }); 1334 1335 _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ 1336 'aria-hidden': 'true', 1337 'tabindex': '-1' 1338 }).find('a, input, button, select').attr({ 1339 'tabindex': '-1' 1340 }); 1341 1342 if (_.$dots !== null) { 1343 _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { 1344 var slideControlIndex = tabControlIndexes.indexOf(i); 1345 1346 $(this).attr({ 1347 'role': 'tabpanel', 1348 'id': 'slick-slide' + _.instanceUid + i, 1349 'tabindex': -1 1350 }); 1351 1352 if (slideControlIndex !== -1) { 1353 var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex 1354 if ($('#' + ariaButtonControl).length) { 1355 $(this).attr({ 1356 'aria-describedby': ariaButtonControl 1357 }); 1358 } 1359 } 1360 }); 1361 1362 _.$dots.attr('role', 'tablist').find('li').each(function(i) { 1363 var mappedSlideIndex = tabControlIndexes[i]; 1364 1365 $(this).attr({ 1366 'role': 'presentation' 1367 }); 1368 1369 $(this).find('button').first().attr({ 1370 'role': 'tab', 1371 'id': 'slick-slide-control' + _.instanceUid + i, 1372 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, 1373 'aria-label': (i + 1) + ' of ' + numDotGroups, 1374 'aria-selected': null, 1375 'tabindex': '-1' 1376 }); 1377 1378 }).eq(_.currentSlide).find('button').attr({ 1379 'aria-selected': 'true', 1380 'tabindex': '0' 1381 }).end(); 1382 } 1383 1384 for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { 1385 if (_.options.focusOnChange) { 1386 _.$slides.eq(i).attr({'tabindex': '0'}); 1387 } else { 1388 _.$slides.eq(i).removeAttr('tabindex'); 1389 } 1390 } 1391 1392 _.activateADA(); 1393 1394 }; 1395 1396 Slick.prototype.initArrowEvents = function() { 1397 1398 var _ = this; 1399 1400 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 1401 _.$prevArrow 1402 .off('click.slick') 1403 .on('click.slick', { 1404 message: 'previous' 1405 }, _.changeSlide); 1406 _.$nextArrow 1407 .off('click.slick') 1408 .on('click.slick', { 1409 message: 'next' 1410 }, _.changeSlide); 1411 1412 if (_.options.accessibility === true) { 1413 _.$prevArrow.on('keydown.slick', _.keyHandler); 1414 _.$nextArrow.on('keydown.slick', _.keyHandler); 1415 } 1416 } 1417 1418 }; 1419 1420 Slick.prototype.initDotEvents = function() { 1421 1422 var _ = this; 1423 1424 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 1425 $('li', _.$dots).on('click.slick', { 1426 message: 'index' 1427 }, _.changeSlide); 1428 1429 if (_.options.accessibility === true) { 1430 _.$dots.on('keydown.slick', _.keyHandler); 1431 } 1432 } 1433 1434 if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) { 1435 1436 $('li', _.$dots) 1437 .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) 1438 .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 1439 1440 } 1441 1442 }; 1443 1444 Slick.prototype.initSlideEvents = function() { 1445 1446 var _ = this; 1447 1448 if ( _.options.pauseOnHover ) { 1449 1450 _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); 1451 _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 1452 1453 } 1454 1455 }; 1456 1457 Slick.prototype.initializeEvents = function() { 1458 1459 var _ = this; 1460 1461 _.initArrowEvents(); 1462 1463 _.initDotEvents(); 1464 _.initSlideEvents(); 1465 1466 _.$list.on('touchstart.slick mousedown.slick', { 1467 action: 'start' 1468 }, _.swipeHandler); 1469 _.$list.on('touchmove.slick mousemove.slick', { 1470 action: 'move' 1471 }, _.swipeHandler); 1472 _.$list.on('touchend.slick mouseup.slick', { 1473 action: 'end' 1474 }, _.swipeHandler); 1475 _.$list.on('touchcancel.slick mouseleave.slick', { 1476 action: 'end' 1477 }, _.swipeHandler); 1478 1479 _.$list.on('click.slick', _.clickHandler); 1480 1481 $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); 1482 1483 if (_.options.accessibility === true) { 1484 _.$list.on('keydown.slick', _.keyHandler); 1485 } 1486 1487 if (_.options.focusOnSelect === true) { 1488 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 1489 } 1490 1491 $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); 1492 1493 $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); 1494 1495 $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); 1496 1497 $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); 1498 $(_.setPosition); 1499 1500 }; 1501 1502 Slick.prototype.initUI = function() { 1503 1504 var _ = this; 1505 1506 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 1507 1508 _.$prevArrow.show(); 1509 _.$nextArrow.show(); 1510 1511 } 1512 1513 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 1514 1515 _.$dots.show(); 1516 1517 } 1518 1519 }; 1520 1521 Slick.prototype.keyHandler = function(event) { 1522 1523 var _ = this; 1524 //Dont slide if the cursor is inside the form fields and arrow keys are pressed 1525 if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { 1526 if (event.keyCode === 37 && _.options.accessibility === true) { 1527 _.changeSlide({ 1528 data: { 1529 message: _.options.rtl === true ? 'next' : 'previous' 1530 } 1531 }); 1532 } else if (event.keyCode === 39 && _.options.accessibility === true) { 1533 _.changeSlide({ 1534 data: { 1535 message: _.options.rtl === true ? 'previous' : 'next' 1536 } 1537 }); 1538 } 1539 } 1540 1541 }; 1542 1543 Slick.prototype.lazyLoad = function() { 1544 1545 var _ = this, 1546 loadRange, cloneRange, rangeStart, rangeEnd; 1547 1548 function loadImages(imagesScope) { 1549 1550 $('img[data-lazy]', imagesScope).each(function() { 1551 1552 var image = $(this), 1553 imageSource = $(this).attr('data-lazy'), 1554 imageSrcSet = $(this).attr('data-srcset'), 1555 imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), 1556 imageToLoad = document.createElement('img'); 1557 1558 imageToLoad.onload = function() { 1559 1560 image 1561 .animate({ opacity: 0 }, 100, function() { 1562 1563 if (imageSrcSet) { 1564 image 1565 .attr('srcset', imageSrcSet ); 1566 1567 if (imageSizes) { 1568 image 1569 .attr('sizes', imageSizes ); 1570 } 1571 } 1572 1573 image 1574 .attr('src', imageSource) 1575 .animate({ opacity: 1 }, 200, function() { 1576 image 1577 .removeAttr('data-lazy data-srcset data-sizes') 1578 .removeClass('slick-loading'); 1579 }); 1580 _.$slider.trigger('lazyLoaded', [_, image, imageSource]); 1581 }); 1582 1583 }; 1584 1585 imageToLoad.onerror = function() { 1586 1587 image 1588 .removeAttr( 'data-lazy' ) 1589 .removeClass( 'slick-loading' ) 1590 .addClass( 'slick-lazyload-error' ); 1591 1592 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 1593 1594 }; 1595 1596 imageToLoad.src = imageSource; 1597 1598 }); 1599 1600 } 1601 1602 if (_.options.centerMode === true) { 1603 if (_.options.infinite === true) { 1604 rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); 1605 rangeEnd = rangeStart + _.options.slidesToShow + 2; 1606 } else { 1607 rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); 1608 rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; 1609 } 1610 } else { 1611 rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; 1612 rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); 1613 if (_.options.fade === true) { 1614 if (rangeStart > 0) rangeStart--; 1615 if (rangeEnd <= _.slideCount) rangeEnd++; 1616 } 1617 } 1618 1619 loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); 1620 1621 if (_.options.lazyLoad === 'anticipated') { 1622 var prevSlide = rangeStart - 1, 1623 nextSlide = rangeEnd, 1624 $slides = _.$slider.find('.slick-slide'); 1625 1626 for (var i = 0; i < _.options.slidesToScroll; i++) { 1627 if (prevSlide < 0) prevSlide = _.slideCount - 1; 1628 loadRange = loadRange.add($slides.eq(prevSlide)); 1629 loadRange = loadRange.add($slides.eq(nextSlide)); 1630 prevSlide--; 1631 nextSlide++; 1632 } 1633 } 1634 1635 loadImages(loadRange); 1636 1637 if (_.slideCount <= _.options.slidesToShow) { 1638 cloneRange = _.$slider.find('.slick-slide'); 1639 loadImages(cloneRange); 1640 } else 1641 if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { 1642 cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); 1643 loadImages(cloneRange); 1644 } else if (_.currentSlide === 0) { 1645 cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); 1646 loadImages(cloneRange); 1647 } 1648 1649 }; 1650 1651 Slick.prototype.loadSlider = function() { 1652 1653 var _ = this; 1654 1655 _.setPosition(); 1656 1657 _.$slideTrack.css({ 1658 opacity: 1 1659 }); 1660 1661 _.$slider.removeClass('slick-loading'); 1662 1663 _.initUI(); 1664 1665 if (_.options.lazyLoad === 'progressive') { 1666 _.progressiveLazyLoad(); 1667 } 1668 1669 }; 1670 1671 Slick.prototype.next = Slick.prototype.slickNext = function() { 1672 1673 var _ = this; 1674 1675 _.changeSlide({ 1676 data: { 1677 message: 'next' 1678 } 1679 }); 1680 1681 }; 1682 1683 Slick.prototype.orientationChange = function() { 1684 1685 var _ = this; 1686 1687 _.checkResponsive(); 1688 _.setPosition(); 1689 1690 }; 1691 1692 Slick.prototype.pause = Slick.prototype.slickPause = function() { 1693 1694 var _ = this; 1695 1696 _.autoPlayClear(); 1697 _.paused = true; 1698 1699 }; 1700 1701 Slick.prototype.play = Slick.prototype.slickPlay = function() { 1702 1703 var _ = this; 1704 1705 _.autoPlay(); 1706 _.options.autoplay = true; 1707 _.paused = false; 1708 _.focussed = false; 1709 _.interrupted = false; 1710 1711 }; 1712 1713 Slick.prototype.postSlide = function(index) { 1714 1715 var _ = this; 1716 1717 if( !_.unslicked ) { 1718 1719 _.$slider.trigger('afterChange', [_, index]); 1720 1721 _.animating = false; 1722 1723 if (_.slideCount > _.options.slidesToShow) { 1724 _.setPosition(); 1725 } 1726 1727 _.swipeLeft = null; 1728 1729 if ( _.options.autoplay ) { 1730 _.autoPlay(); 1731 } 1732 1733 if (_.options.accessibility === true) { 1734 _.initADA(); 1735 1736 if (_.options.focusOnChange) { 1737 var $currentSlide = $(_.$slides.get(_.currentSlide)); 1738 $currentSlide.attr('tabindex', 0).focus(); 1739 } 1740 } 1741 1742 } 1743 1744 }; 1745 1746 Slick.prototype.prev = Slick.prototype.slickPrev = function() { 1747 1748 var _ = this; 1749 1750 _.changeSlide({ 1751 data: { 1752 message: 'previous' 1753 } 1754 }); 1755 1756 }; 1757 1758 Slick.prototype.preventDefault = function(event) { 1759 1760 event.preventDefault(); 1761 1762 }; 1763 1764 Slick.prototype.progressiveLazyLoad = function( tryCount ) { 1765 1766 tryCount = tryCount || 1; 1767 1768 var _ = this, 1769 $imgsToLoad = $( 'img[data-lazy]', _.$slider ), 1770 image, 1771 imageSource, 1772 imageSrcSet, 1773 imageSizes, 1774 imageToLoad; 1775 1776 if ( $imgsToLoad.length ) { 1777 1778 image = $imgsToLoad.first(); 1779 imageSource = image.attr('data-lazy'); 1780 imageSrcSet = image.attr('data-srcset'); 1781 imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); 1782 imageToLoad = document.createElement('img'); 1783 1784 imageToLoad.onload = function() { 1785 1786 if (imageSrcSet) { 1787 image 1788 .attr('srcset', imageSrcSet ); 1789 1790 if (imageSizes) { 1791 image 1792 .attr('sizes', imageSizes ); 1793 } 1794 } 1795 1796 image 1797 .attr( 'src', imageSource ) 1798 .removeAttr('data-lazy data-srcset data-sizes') 1799 .removeClass('slick-loading'); 1800 1801 if ( _.options.adaptiveHeight === true ) { 1802 _.setPosition(); 1803 } 1804 1805 _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); 1806 _.progressiveLazyLoad(); 1807 1808 }; 1809 1810 imageToLoad.onerror = function() { 1811 1812 if ( tryCount < 3 ) { 1813 1814 /** 1815 * try to load the image 3 times, 1816 * leave a slight delay so we don't get 1817 * servers blocking the request. 1818 */ 1819 setTimeout( function() { 1820 _.progressiveLazyLoad( tryCount + 1 ); 1821 }, 500 ); 1822 1823 } else { 1824 1825 image 1826 .removeAttr( 'data-lazy' ) 1827 .removeClass( 'slick-loading' ) 1828 .addClass( 'slick-lazyload-error' ); 1829 1830 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 1831 1832 _.progressiveLazyLoad(); 1833 1834 } 1835 1836 }; 1837 1838 imageToLoad.src = imageSource; 1839 1840 } else { 1841 1842 _.$slider.trigger('allImagesLoaded', [ _ ]); 1843 1844 } 1845 1846 }; 1847 1848 Slick.prototype.refresh = function( initializing ) { 1849 1850 var _ = this, currentSlide, lastVisibleIndex; 1851 1852 lastVisibleIndex = _.slideCount - _.options.slidesToShow; 1853 1854 // in non-infinite sliders, we don't want to go past the 1855 // last visible index. 1856 if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { 1857 _.currentSlide = lastVisibleIndex; 1858 } 1859 1860 // if less slides than to show, go to start. 1861 if ( _.slideCount <= _.options.slidesToShow ) { 1862 _.currentSlide = 0; 1863 1864 } 1865 1866 currentSlide = _.currentSlide; 1867 1868 _.destroy(true); 1869 1870 $.extend(_, _.initials, { currentSlide: currentSlide }); 1871 1872 _.init(); 1873 1874 if( !initializing ) { 1875 1876 _.changeSlide({ 1877 data: { 1878 message: 'index', 1879 index: currentSlide 1880 } 1881 }, false); 1882 1883 } 1884 1885 }; 1886 1887 Slick.prototype.registerBreakpoints = function() { 1888 1889 var _ = this, breakpoint, currentBreakpoint, l, 1890 responsiveSettings = _.options.responsive || null; 1891 1892 if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { 1893 1894 _.respondTo = _.options.respondTo || 'window'; 1895 1896 for ( breakpoint in responsiveSettings ) { 1897 1898 l = _.breakpoints.length-1; 1899 1900 if (responsiveSettings.hasOwnProperty(breakpoint)) { 1901 currentBreakpoint = responsiveSettings[breakpoint].breakpoint; 1902 1903 // loop through the breakpoints and cut out any existing 1904 // ones with the same breakpoint number, we don't want dupes. 1905 while( l >= 0 ) { 1906 if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { 1907 _.breakpoints.splice(l,1); 1908 } 1909 l--; 1910 } 1911 1912 _.breakpoints.push(currentBreakpoint); 1913 _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; 1914 1915 } 1916 1917 } 1918 1919 _.breakpoints.sort(function(a, b) { 1920 return ( _.options.mobileFirst ) ? a-b : b-a; 1921 }); 1922 1923 } 1924 1925 }; 1926 1927 Slick.prototype.reinit = function() { 1928 1929 var _ = this; 1930 1931 _.$slides = 1932 _.$slideTrack 1933 .children(_.options.slide) 1934 .addClass('slick-slide'); 1935 1936 _.slideCount = _.$slides.length; 1937 1938 if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { 1939 _.currentSlide = _.currentSlide - _.options.slidesToScroll; 1940 } 1941 1942 if (_.slideCount <= _.options.slidesToShow) { 1943 _.currentSlide = 0; 1944 } 1945 1946 _.registerBreakpoints(); 1947 1948 _.setProps(); 1949 _.setupInfinite(); 1950 _.buildArrows(); 1951 _.updateArrows(); 1952 _.initArrowEvents(); 1953 _.buildDots(); 1954 _.updateDots(); 1955 _.initDotEvents(); 1956 _.cleanUpSlideEvents(); 1957 _.initSlideEvents(); 1958 1959 _.checkResponsive(false, true); 1960 1961 if (_.options.focusOnSelect === true) { 1962 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 1963 } 1964 1965 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 1966 1967 _.setPosition(); 1968 _.focusHandler(); 1969 1970 _.paused = !_.options.autoplay; 1971 _.autoPlay(); 1972 1973 _.$slider.trigger('reInit', [_]); 1974 1975 }; 1976 1977 Slick.prototype.resize = function() { 1978 1979 var _ = this; 1980 1981 if ($(window).width() !== _.windowWidth) { 1982 clearTimeout(_.windowDelay); 1983 _.windowDelay = window.setTimeout(function() { 1984 _.windowWidth = $(window).width(); 1985 _.checkResponsive(); 1986 if( !_.unslicked ) { _.setPosition(); } 1987 }, 50); 1988 } 1989 }; 1990 1991 Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { 1992 1993 var _ = this; 1994 1995 if (typeof(index) === 'boolean') { 1996 removeBefore = index; 1997 index = removeBefore === true ? 0 : _.slideCount - 1; 1998 } else { 1999 index = removeBefore === true ? --index : index; 2000 } 2001 2002 if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { 2003 return false; 2004 } 2005 2006 _.unload(); 2007 2008 if (removeAll === true) { 2009 _.$slideTrack.children().remove(); 2010 } else { 2011 _.$slideTrack.children(this.options.slide).eq(index).remove(); 2012 } 2013 2014 _.$slides = _.$slideTrack.children(this.options.slide); 2015 2016 _.$slideTrack.children(this.options.slide).detach(); 2017 2018 _.$slideTrack.append(_.$slides); 2019 2020 _.$slidesCache = _.$slides; 2021 2022 _.reinit(); 2023 2024 }; 2025 2026 Slick.prototype.setCSS = function(position) { 2027 2028 var _ = this, 2029 positionProps = {}, 2030 x, y; 2031 2032 if (_.options.rtl === true) { 2033 position = -position; 2034 } 2035 x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; 2036 y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; 2037 2038 positionProps[_.positionProp] = position; 2039 2040 if (_.transformsEnabled === false) { 2041 _.$slideTrack.css(positionProps); 2042 } else { 2043 positionProps = {}; 2044 if (_.cssTransitions === false) { 2045 positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; 2046 _.$slideTrack.css(positionProps); 2047 } else { 2048 positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; 2049 _.$slideTrack.css(positionProps); 2050 } 2051 } 2052 2053 }; 2054 2055 Slick.prototype.setDimensions = function() { 2056 2057 var _ = this; 2058 2059 if (_.options.vertical === false) { 2060 if (_.options.centerMode === true) { 2061 _.$list.css({ 2062 padding: ('0px ' + _.options.centerPadding) 2063 }); 2064 } 2065 } else { 2066 _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); 2067 if (_.options.centerMode === true) { 2068 _.$list.css({ 2069 padding: (_.options.centerPadding + ' 0px') 2070 }); 2071 } 2072 } 2073 2074 _.listWidth = _.$list.width(); 2075 _.listHeight = _.$list.height(); 2076 2077 2078 if (_.options.vertical === false && _.options.variableWidth === false) { 2079 _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); 2080 _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); 2081 2082 } else if (_.options.variableWidth === true) { 2083 _.$slideTrack.width(5000 * _.slideCount); 2084 } else { 2085 _.slideWidth = Math.ceil(_.listWidth); 2086 _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); 2087 } 2088 2089 var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); 2090 if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); 2091 2092 }; 2093 2094 Slick.prototype.setFade = function() { 2095 2096 var _ = this, 2097 targetLeft; 2098 2099 _.$slides.each(function(index, element) { 2100 targetLeft = (_.slideWidth * index) * -1; 2101 if (_.options.rtl === true) { 2102 $(element).css({ 2103 position: 'relative', 2104 right: targetLeft, 2105 top: 0, 2106 zIndex: _.options.zIndex - 2, 2107 opacity: 0 2108 }); 2109 } else { 2110 $(element).css({ 2111 position: 'relative', 2112 left: targetLeft, 2113 top: 0, 2114 zIndex: _.options.zIndex - 2, 2115 opacity: 0 2116 }); 2117 } 2118 }); 2119 2120 _.$slides.eq(_.currentSlide).css({ 2121 zIndex: _.options.zIndex - 1, 2122 opacity: 1 2123 }); 2124 2125 }; 2126 2127 Slick.prototype.setHeight = function() { 2128 2129 var _ = this; 2130 2131 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 2132 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 2133 _.$list.css('height', targetHeight); 2134 } 2135 2136 }; 2137 2138 Slick.prototype.setOption = 2139 Slick.prototype.slickSetOption = function() { 2140 2141 /** 2142 * accepts arguments in format of: 2143 * 2144 * - for changing a single option's value: 2145 * .slick("setOption", option, value, refresh ) 2146 * 2147 * - for changing a set of responsive options: 2148 * .slick("setOption", 'responsive', [{}, ...], refresh ) 2149 * 2150 * - for updating multiple values at once (not responsive) 2151 * .slick("setOption", { 'option': value, ... }, refresh ) 2152 */ 2153 2154 var _ = this, l, item, option, value, refresh = false, type; 2155 2156 if( $.type( arguments[0] ) === 'object' ) { 2157 2158 option = arguments[0]; 2159 refresh = arguments[1]; 2160 type = 'multiple'; 2161 2162 } else if ( $.type( arguments[0] ) === 'string' ) { 2163 2164 option = arguments[0]; 2165 value = arguments[1]; 2166 refresh = arguments[2]; 2167 2168 if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { 2169 2170 type = 'responsive'; 2171 2172 } else if ( typeof arguments[1] !== 'undefined' ) { 2173 2174 type = 'single'; 2175 2176 } 2177 2178 } 2179 2180 if ( type === 'single' ) { 2181 2182 _.options[option] = value; 2183 2184 2185 } else if ( type === 'multiple' ) { 2186 2187 $.each( option , function( opt, val ) { 2188 2189 _.options[opt] = val; 2190 2191 }); 2192 2193 2194 } else if ( type === 'responsive' ) { 2195 2196 for ( item in value ) { 2197 2198 if( $.type( _.options.responsive ) !== 'array' ) { 2199 2200 _.options.responsive = [ value[item] ]; 2201 2202 } else { 2203 2204 l = _.options.responsive.length-1; 2205 2206 // loop through the responsive object and splice out duplicates. 2207 while( l >= 0 ) { 2208 2209 if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { 2210 2211 _.options.responsive.splice(l,1); 2212 2213 } 2214 2215 l--; 2216 2217 } 2218 2219 _.options.responsive.push( value[item] ); 2220 2221 } 2222 2223 } 2224 2225 } 2226 2227 if ( refresh ) { 2228 2229 _.unload(); 2230 _.reinit(); 2231 2232 } 2233 2234 }; 2235 2236 Slick.prototype.setPosition = function() { 2237 2238 var _ = this; 2239 2240 _.setDimensions(); 2241 2242 _.setHeight(); 2243 2244 if (_.options.fade === false) { 2245 _.setCSS(_.getLeft(_.currentSlide)); 2246 } else { 2247 _.setFade(); 2248 } 2249 2250 _.$slider.trigger('setPosition', [_]); 2251 2252 }; 2253 2254 Slick.prototype.setProps = function() { 2255 2256 var _ = this, 2257 bodyStyle = document.body.style; 2258 2259 _.positionProp = _.options.vertical === true ? 'top' : 'left'; 2260 2261 if (_.positionProp === 'top') { 2262 _.$slider.addClass('slick-vertical'); 2263 } else { 2264 _.$slider.removeClass('slick-vertical'); 2265 } 2266 2267 if (bodyStyle.WebkitTransition !== undefined || 2268 bodyStyle.MozTransition !== undefined || 2269 bodyStyle.msTransition !== undefined) { 2270 if (_.options.useCSS === true) { 2271 _.cssTransitions = true; 2272 } 2273 } 2274 2275 if ( _.options.fade ) { 2276 if ( typeof _.options.zIndex === 'number' ) { 2277 if( _.options.zIndex < 3 ) { 2278 _.options.zIndex = 3; 2279 } 2280 } else { 2281 _.options.zIndex = _.defaults.zIndex; 2282 } 2283 } 2284 2285 if (bodyStyle.OTransform !== undefined) { 2286 _.animType = 'OTransform'; 2287 _.transformType = '-o-transform'; 2288 _.transitionType = 'OTransition'; 2289 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 2290 } 2291 if (bodyStyle.MozTransform !== undefined) { 2292 _.animType = 'MozTransform'; 2293 _.transformType = '-moz-transform'; 2294 _.transitionType = 'MozTransition'; 2295 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; 2296 } 2297 if (bodyStyle.webkitTransform !== undefined) { 2298 _.animType = 'webkitTransform'; 2299 _.transformType = '-webkit-transform'; 2300 _.transitionType = 'webkitTransition'; 2301 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 2302 } 2303 if (bodyStyle.msTransform !== undefined) { 2304 _.animType = 'msTransform'; 2305 _.transformType = '-ms-transform'; 2306 _.transitionType = 'msTransition'; 2307 if (bodyStyle.msTransform === undefined) _.animType = false; 2308 } 2309 if (bodyStyle.transform !== undefined && _.animType !== false) { 2310 _.animType = 'transform'; 2311 _.transformType = 'transform'; 2312 _.transitionType = 'transition'; 2313 } 2314 _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); 2315 }; 2316 2317 2318 Slick.prototype.setSlideClasses = function(index) { 2319 2320 var _ = this, 2321 centerOffset, allSlides, indexOffset, remainder; 2322 2323 allSlides = _.$slider 2324 .find('.slick-slide') 2325 .removeClass('slick-active slick-center slick-current') 2326 .attr('aria-hidden', 'true'); 2327 2328 _.$slides 2329 .eq(index) 2330 .addClass('slick-current'); 2331 2332 if (_.options.centerMode === true) { 2333 2334 var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; 2335 2336 centerOffset = Math.floor(_.options.slidesToShow / 2); 2337 2338 if (_.options.infinite === true) { 2339 2340 if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { 2341 _.$slides 2342 .slice(index - centerOffset + evenCoef, index + centerOffset + 1) 2343 .addClass('slick-active') 2344 .attr('aria-hidden', 'false'); 2345 2346 } else { 2347 2348 indexOffset = _.options.slidesToShow + index; 2349 allSlides 2350 .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) 2351 .addClass('slick-active') 2352 .attr('aria-hidden', 'false'); 2353 2354 } 2355 2356 if (index === 0) { 2357 2358 allSlides 2359 .eq( _.options.slidesToShow + _.slideCount + 1 ) 2360 .addClass('slick-center'); 2361 2362 } else if (index === _.slideCount - 1) { 2363 2364 allSlides 2365 .eq(_.options.slidesToShow) 2366 .addClass('slick-center'); 2367 2368 } 2369 2370 } 2371 2372 _.$slides 2373 .eq(index) 2374 .addClass('slick-center'); 2375 2376 } else { 2377 2378 if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { 2379 2380 _.$slides 2381 .slice(index, index + _.options.slidesToShow) 2382 .addClass('slick-active') 2383 .attr('aria-hidden', 'false'); 2384 2385 } else if (allSlides.length <= _.options.slidesToShow) { 2386 2387 allSlides 2388 .addClass('slick-active') 2389 .attr('aria-hidden', 'false'); 2390 2391 } else { 2392 2393 remainder = _.slideCount % _.options.slidesToShow; 2394 indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; 2395 2396 if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { 2397 2398 allSlides 2399 .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) 2400 .addClass('slick-active') 2401 .attr('aria-hidden', 'false'); 2402 2403 } else { 2404 2405 allSlides 2406 .slice(indexOffset, indexOffset + _.options.slidesToShow) 2407 .addClass('slick-active') 2408 .attr('aria-hidden', 'false'); 2409 2410 } 2411 2412 } 2413 2414 } 2415 2416 if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { 2417 _.lazyLoad(); 2418 } 2419 }; 2420 2421 Slick.prototype.setupInfinite = function() { 2422 2423 var _ = this, 2424 i, slideIndex, infiniteCount; 2425 2426 if (_.options.fade === true) { 2427 _.options.centerMode = false; 2428 } 2429 2430 if (_.options.infinite === true && _.options.fade === false) { 2431 2432 slideIndex = null; 2433 2434 if (_.slideCount > _.options.slidesToShow) { 2435 2436 if (_.options.centerMode === true) { 2437 infiniteCount = _.options.slidesToShow + 1; 2438 } else { 2439 infiniteCount = _.options.slidesToShow; 2440 } 2441 2442 for (i = _.slideCount; i > (_.slideCount - 2443 infiniteCount); i -= 1) { 2444 slideIndex = i - 1; 2445 $(_.$slides[slideIndex]).clone(true).attr('id', '') 2446 .attr('data-slick-index', slideIndex - _.slideCount) 2447 .prependTo(_.$slideTrack).addClass('slick-cloned'); 2448 } 2449 for (i = 0; i < infiniteCount; i += 1) { 2450 slideIndex = i; 2451 $(_.$slides[slideIndex]).clone(true).attr('id', '') 2452 .attr('data-slick-index', slideIndex + _.slideCount) 2453 .appendTo(_.$slideTrack).addClass('slick-cloned'); 2454 } 2455 _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { 2456 $(this).attr('id', ''); 2457 }); 2458 2459 } 2460 2461 } 2462 2463 }; 2464 2465 Slick.prototype.interrupt = function( toggle ) { 2466 2467 var _ = this; 2468 2469 if( !toggle ) { 2470 _.autoPlay(); 2471 } 2472 _.interrupted = toggle; 2473 2474 }; 2475 2476 Slick.prototype.selectHandler = function(event) { 2477 2478 var _ = this; 2479 2480 var targetElement = 2481 $(event.target).is('.slick-slide') ? 2482 $(event.target) : 2483 $(event.target).parents('.slick-slide'); 2484 2485 var index = parseInt(targetElement.attr('data-slick-index')); 2486 2487 if (!index) index = 0; 2488 2489 if (_.slideCount <= _.options.slidesToShow) { 2490 2491 _.slideHandler(index, false, true); 2492 return; 2493 2494 } 2495 2496 _.slideHandler(index); 2497 2498 }; 2499 2500 Slick.prototype.slideHandler = function(index, sync, dontAnimate) { 2501 2502 var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, 2503 _ = this, navTarget; 2504 2505 sync = sync || false; 2506 2507 if (_.animating === true && _.options.waitForAnimate === true) { 2508 return; 2509 } 2510 2511 if (_.options.fade === true && _.currentSlide === index) { 2512 return; 2513 } 2514 2515 if (sync === false) { 2516 _.asNavFor(index); 2517 } 2518 2519 targetSlide = index; 2520 targetLeft = _.getLeft(targetSlide); 2521 slideLeft = _.getLeft(_.currentSlide); 2522 2523 _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; 2524 2525 if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { 2526 if (_.options.fade === false) { 2527 targetSlide = _.currentSlide; 2528 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 2529 _.animateSlide(slideLeft, function() { 2530 _.postSlide(targetSlide); 2531 }); 2532 } else { 2533 _.postSlide(targetSlide); 2534 } 2535 } 2536 return; 2537 } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { 2538 if (_.options.fade === false) { 2539 targetSlide = _.currentSlide; 2540 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 2541 _.animateSlide(slideLeft, function() { 2542 _.postSlide(targetSlide); 2543 }); 2544 } else { 2545 _.postSlide(targetSlide); 2546 } 2547 } 2548 return; 2549 } 2550 2551 if ( _.options.autoplay ) { 2552 clearInterval(_.autoPlayTimer); 2553 } 2554 2555 if (targetSlide < 0) { 2556 if (_.slideCount % _.options.slidesToScroll !== 0) { 2557 animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); 2558 } else { 2559 animSlide = _.slideCount + targetSlide; 2560 } 2561 } else if (targetSlide >= _.slideCount) { 2562 if (_.slideCount % _.options.slidesToScroll !== 0) { 2563 animSlide = 0; 2564 } else { 2565 animSlide = targetSlide - _.slideCount; 2566 } 2567 } else { 2568 animSlide = targetSlide; 2569 } 2570 2571 _.animating = true; 2572 2573 _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); 2574 2575 oldSlide = _.currentSlide; 2576 _.currentSlide = animSlide; 2577 2578 _.setSlideClasses(_.currentSlide); 2579 2580 if ( _.options.asNavFor ) { 2581 2582 navTarget = _.getNavTarget(); 2583 navTarget = navTarget.slick('getSlick'); 2584 2585 if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { 2586 navTarget.setSlideClasses(_.currentSlide); 2587 } 2588 2589 } 2590 2591 _.updateDots(); 2592 _.updateArrows(); 2593 2594 if (_.options.fade === true) { 2595 if (dontAnimate !== true) { 2596 2597 _.fadeSlideOut(oldSlide); 2598 2599 _.fadeSlide(animSlide, function() { 2600 _.postSlide(animSlide); 2601 }); 2602 2603 } else { 2604 _.postSlide(animSlide); 2605 } 2606 _.animateHeight(); 2607 return; 2608 } 2609 2610 if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { 2611 _.animateSlide(targetLeft, function() { 2612 _.postSlide(animSlide); 2613 }); 2614 } else { 2615 _.postSlide(animSlide); 2616 } 2617 2618 }; 2619 2620 Slick.prototype.startLoad = function() { 2621 2622 var _ = this; 2623 2624 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 2625 2626 _.$prevArrow.hide(); 2627 _.$nextArrow.hide(); 2628 2629 } 2630 2631 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 2632 2633 _.$dots.hide(); 2634 2635 } 2636 2637 _.$slider.addClass('slick-loading'); 2638 2639 }; 2640 2641 Slick.prototype.swipeDirection = function() { 2642 2643 var xDist, yDist, r, swipeAngle, _ = this; 2644 2645 xDist = _.touchObject.startX - _.touchObject.curX; 2646 yDist = _.touchObject.startY - _.touchObject.curY; 2647 r = Math.atan2(yDist, xDist); 2648 2649 swipeAngle = Math.round(r * 180 / Math.PI); 2650 if (swipeAngle < 0) { 2651 swipeAngle = 360 - Math.abs(swipeAngle); 2652 } 2653 2654 if ((swipeAngle <= 45) && (swipeAngle >= 0)) { 2655 return (_.options.rtl === false ? 'left' : 'right'); 2656 } 2657 if ((swipeAngle <= 360) && (swipeAngle >= 315)) { 2658 return (_.options.rtl === false ? 'left' : 'right'); 2659 } 2660 if ((swipeAngle >= 135) && (swipeAngle <= 225)) { 2661 return (_.options.rtl === false ? 'right' : 'left'); 2662 } 2663 if (_.options.verticalSwiping === true) { 2664 if ((swipeAngle >= 35) && (swipeAngle <= 135)) { 2665 return 'down'; 2666 } else { 2667 return 'up'; 2668 } 2669 } 2670 2671 return 'vertical'; 2672 2673 }; 2674 2675 Slick.prototype.swipeEnd = function(event) { 2676 2677 var _ = this, 2678 slideCount, 2679 direction; 2680 2681 _.dragging = false; 2682 _.swiping = false; 2683 2684 if (_.scrolling) { 2685 _.scrolling = false; 2686 return false; 2687 } 2688 2689 _.interrupted = false; 2690 _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; 2691 2692 if ( _.touchObject.curX === undefined ) { 2693 return false; 2694 } 2695 2696 if ( _.touchObject.edgeHit === true ) { 2697 _.$slider.trigger('edge', [_, _.swipeDirection() ]); 2698 } 2699 2700 if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { 2701 2702 direction = _.swipeDirection(); 2703 2704 switch ( direction ) { 2705 2706 case 'left': 2707 case 'down': 2708 2709 slideCount = 2710 _.options.swipeToSlide ? 2711 _.checkNavigable( _.currentSlide + _.getSlideCount() ) : 2712 _.currentSlide + _.getSlideCount(); 2713 2714 _.currentDirection = 0; 2715 2716 break; 2717 2718 case 'right': 2719 case 'up': 2720 2721 slideCount = 2722 _.options.swipeToSlide ? 2723 _.checkNavigable( _.currentSlide - _.getSlideCount() ) : 2724 _.currentSlide - _.getSlideCount(); 2725 2726 _.currentDirection = 1; 2727 2728 break; 2729 2730 default: 2731 2732 2733 } 2734 2735 if( direction != 'vertical' ) { 2736 2737 _.slideHandler( slideCount ); 2738 _.touchObject = {}; 2739 _.$slider.trigger('swipe', [_, direction ]); 2740 2741 } 2742 2743 } else { 2744 2745 if ( _.touchObject.startX !== _.touchObject.curX ) { 2746 2747 _.slideHandler( _.currentSlide ); 2748 _.touchObject = {}; 2749 2750 } 2751 2752 } 2753 2754 }; 2755 2756 Slick.prototype.swipeHandler = function(event) { 2757 2758 var _ = this; 2759 2760 if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { 2761 return; 2762 } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { 2763 return; 2764 } 2765 2766 _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? 2767 event.originalEvent.touches.length : 1; 2768 2769 _.touchObject.minSwipe = _.listWidth / _.options 2770 .touchThreshold; 2771 2772 if (_.options.verticalSwiping === true) { 2773 _.touchObject.minSwipe = _.listHeight / _.options 2774 .touchThreshold; 2775 } 2776 2777 switch (event.data.action) { 2778 2779 case 'start': 2780 _.swipeStart(event); 2781 break; 2782 2783 case 'move': 2784 _.swipeMove(event); 2785 break; 2786 2787 case 'end': 2788 _.swipeEnd(event); 2789 break; 2790 2791 } 2792 2793 }; 2794 2795 Slick.prototype.swipeMove = function(event) { 2796 2797 var _ = this, 2798 edgeWasHit = false, 2799 curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; 2800 2801 touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; 2802 2803 if (!_.dragging || _.scrolling || touches && touches.length !== 1) { 2804 return false; 2805 } 2806 2807 curLeft = _.getLeft(_.currentSlide); 2808 2809 _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; 2810 _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; 2811 2812 _.touchObject.swipeLength = Math.round(Math.sqrt( 2813 Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); 2814 2815 verticalSwipeLength = Math.round(Math.sqrt( 2816 Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); 2817 2818 if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { 2819 _.scrolling = true; 2820 return false; 2821 } 2822 2823 if (_.options.verticalSwiping === true) { 2824 _.touchObject.swipeLength = verticalSwipeLength; 2825 } 2826 2827 swipeDirection = _.swipeDirection(); 2828 2829 if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { 2830 _.swiping = true; 2831 event.preventDefault(); 2832 } 2833 2834 positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); 2835 if (_.options.verticalSwiping === true) { 2836 positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; 2837 } 2838 2839 2840 swipeLength = _.touchObject.swipeLength; 2841 2842 _.touchObject.edgeHit = false; 2843 2844 if (_.options.infinite === false) { 2845 if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { 2846 swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; 2847 _.touchObject.edgeHit = true; 2848 } 2849 } 2850 2851 if (_.options.vertical === false) { 2852 _.swipeLeft = curLeft + swipeLength * positionOffset; 2853 } else { 2854 _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; 2855 } 2856 if (_.options.verticalSwiping === true) { 2857 _.swipeLeft = curLeft + swipeLength * positionOffset; 2858 } 2859 2860 if (_.options.fade === true || _.options.touchMove === false) { 2861 return false; 2862 } 2863 2864 if (_.animating === true) { 2865 _.swipeLeft = null; 2866 return false; 2867 } 2868 2869 _.setCSS(_.swipeLeft); 2870 2871 }; 2872 2873 Slick.prototype.swipeStart = function(event) { 2874 2875 var _ = this, 2876 touches; 2877 2878 _.interrupted = true; 2879 2880 if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { 2881 _.touchObject = {}; 2882 return false; 2883 } 2884 2885 if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { 2886 touches = event.originalEvent.touches[0]; 2887 } 2888 2889 _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; 2890 _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; 2891 2892 _.dragging = true; 2893 2894 }; 2895 2896 Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { 2897 2898 var _ = this; 2899 2900 if (_.$slidesCache !== null) { 2901 2902 _.unload(); 2903 2904 _.$slideTrack.children(this.options.slide).detach(); 2905 2906 _.$slidesCache.appendTo(_.$slideTrack); 2907 2908 _.reinit(); 2909 2910 } 2911 2912 }; 2913 2914 Slick.prototype.unload = function() { 2915 2916 var _ = this; 2917 2918 $('.slick-cloned', _.$slider).remove(); 2919 2920 if (_.$dots) { 2921 _.$dots.remove(); 2922 } 2923 2924 if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { 2925 _.$prevArrow.remove(); 2926 } 2927 2928 if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { 2929 _.$nextArrow.remove(); 2930 } 2931 2932 _.$slides 2933 .removeClass('slick-slide slick-active slick-visible slick-current') 2934 .attr('aria-hidden', 'true') 2935 .css('width', ''); 2936 2937 }; 2938
2939 Slick.prototype.unslick = function(fromBreakpoint) { 2940 2941 var _ = this; 2942 _.$slider.trigger('unslick', [_, fromBreakpoint]); 2943 _.destroy(); 2944 2945 }; 2946 2947 Slick.prototype.updateArrows = function() { 2948 2949 var _ = this, 2950 centerOffset; 2951 2952 centerOffset = Math.floor(_.options.slidesToShow / 2); 2953 2954 if ( _.options.arrows === true && 2955 _.slideCount > _.options.slidesToShow && 2956 !_.options.infinite ) { 2957 2958 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 2959 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 2960 2961 if (_.currentSlide === 0) { 2962 2963 _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 2964 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 2965 2966 } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { 2967 2968 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 2969 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 2970 2971 } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { 2972 2973 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 2974 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 2975 2976 } 2977 2978 } 2979 2980 }; 2981 2982 Slick.prototype.updateDots = function() { 2983 2984 var _ = this; 2985 2986 if (_.$dots !== null) { 2987 2988 _.$dots 2989 .find('li') 2990 .removeClass('slick-active') 2991 .end(); 2992 2993 _.$dots 2994 .find('li') 2995 .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) 2996 .addClass('slick-active'); 2997 2998 } 2999 3000 }; 3001 3002 Slick.prototype.visibility = function() { 3003 3004 var _ = this; 3005 3006 if ( _.options.autoplay ) { 3007 3008 if ( document[_.hidden] ) { 3009 3010 _.interrupted = true; 3011 3012 } else { 3013 3014 _.interrupted = false; 3015 3016 } 3017 3018 } 3019 3020 }; 3021 3022 $.fn.slick = function() { 3023 var _ = this, 3024 opt = arguments[0], 3025 args = Array.prototype.slice.call(arguments, 1), 3026 l = _.length, 3027 i, 3028 ret; 3029 for (i = 0; i < l; i++) { 3030 if (typeof opt == 'object' || typeof opt == 'undefined') 3031 _[i].slick = new Slick(_[i], opt); 3032 else 3033 ret = _[i].slick[opt].apply(_[i].slick, args); 3034 if (typeof ret != 'undefined') return ret; 3035 } 3036 return _; 3037 }; 3038 3039})); 3040 3041 3042/* 3043 * jQuery Form Styler v2.0.2 3044 * https://github.com/Dimox/jQueryFormStyler 3045 * 3046 * Copyright 2012-2017 Dimox (http://dimox.name/) 3047 * Released under the MIT license. 3048 * 3049 * Date: 2017.10.22 3050 * 3051 */ 3052 3053;(function(factory) { 3054 if (typeof define === 'function' && define.amd) { 3055 // AMD 3056 define(['jquery'], factory); 3057 } else if (typeof exports === 'object') { 3058 // CommonJS 3059 module.exports = factory($ || require('jquery')); 3060 } else { 3061 factory(jQuery); 3062 } 3063}(function($) { 3064 3065 'use strict'; 3066 3067 var pluginName = 'styler', 3068 defaults = { 3069 idSuffix: '-styler', 3070 filePlaceholder: 'Файл не вÑбÑан', 3071 fileBrowse: 'ÐбзоÑ...', 3072 fileNumber: 'ÐÑбÑано Ñайлов: %s', 3073 selectPlaceholder: 'ÐÑбеÑиÑе...', 3074 selectSearch: false, 3075 selectSearchLimit: 10, 3076 selectSearchNotFound: 'Совпадений не найдено', 3077 selectSearchPlaceholder: 'ÐоиÑк...', 3078 selectVisibleOptions: 0, 3079 selectSmartPositioning: true, 3080 locale: 'ru', 3081 locales: { 3082 'en': { 3083 filePlaceholder: 'No file selected', 3084 fileBrowse: 'Browse...', 3085 fileNumber: 'Selected files: %s', 3086 selectPlaceholder: 'Select...', 3087 selectSearchNotFound: 'No matches found', 3088 selectSearchPlaceholder: 'Search...' 3089 } 3090 }, 3091 onSelectOpened: function() {}, 3092 onSelectClosed: function() {}, 3093 onFormStyled: function() {} 3094 }; 3095 3096 function Plugin(element, options) { 3097 this.element = element; 3098 this.options = $.extend({}, defaults, options); 3099 var locale = this.options.locale; 3100 if (this.options.locales[locale] !== undefined) { 3101 $.extend(this.options, this.options.locales[locale]); 3102 } 3103 this.init(); 3104 } 3105 3106 Plugin.prototype = { 3107 3108 // иниÑиализаÑÐ¸Ñ 3109 init: function() { 3110 3111 var el = $(this.element); 3112 var opt = this.options; 3113 3114 var iOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/i) && !navigator.userAgent.match(/(Windows\sPhone)/i)) ? true : false; 3115 var Android = (navigator.userAgent.match(/Android/i) && !navigator.userAgent.match(/(Windows\sPhone)/i)) ? true : false; 3116 3117 function Attributes() { 3118 if (el.attr('id') !== undefined && el.attr('id') !== '') { 3119 this.id = el.attr('id') + opt.idSuffix; 3120 } 3121 this.title = el.attr('title'); 3122 this.classes = el.attr('class'); 3123 this.data = el.data(); 3124 } 3125 3126 // checkbox 3127 if (el.is(':checkbox')) { 3128 3129 var checkboxOutput = function() { 3130 3131 var att = new Attributes(); 3132 var checkbox = $('<div class="jq-checkbox"><div class="jq-checkbox__div"></div></div>') 3133 .attr({ 3134 id: att.id, 3135 title: att.title 3136 }) 3137 .addClass(att.classes) 3138 .data(att.data) 3139 ; 3140 3141 el.after(checkbox).prependTo(checkbox); 3142 if (el.is(':checked')) checkbox.addClass('checked'); 3143 if (el.is(':disabled')) checkbox.addClass('disabled'); 3144 3145 // клик на пÑевдоÑÐµÐºÐ±Ð¾ÐºÑ 3146 checkbox.click(function(e) { 3147 e.preventDefault(); 3148 el.triggerHandler('click'); 3149 if (!checkbox.is('.disabled')) { 3150 if (el.is(':checked')) { 3151 el.prop('checked', false); 3152 checkbox.removeClass('checked'); 3153 } else { 3154 el.prop('checked', true); 3155 checkbox.addClass('checked'); 3156 } 3157 el.focus().change(); 3158 } 3159 }); 3160 // клик на label 3161 el.closest('label').add('label[for="' + el.attr('id') + '"]').on('click.styler', function(e) { 3162 if (!$(e.target).is('a') && !$(e.target).closest(checkbox).length) { 3163 checkbox.triggerHandler('click'); 3164 e.preventDefault(); 3165 } 3166 }); 3167 // пеÑеклÑÑение по Space или Enter 3168 el.on('change.styler', function() { 3169 if (el.is(':checked')) checkbox.addClass('checked'); 3170 else checkbox.removeClass('checked'); 3171 })
vendor: 53,873 bytes, lines 3172-4153
3172 // ÑÑÐ¾Ð±Ñ Ð¿ÐµÑеклÑÑалÑÑ ÑекбокÑ, коÑоÑÑй Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² Ñеге label 3173 .on('keydown.styler', function(e) { 3174 if (e.which == 32) checkbox.click(); 3175 }) 3176 .on('focus.styler', function() { 3177 if (!checkbox.is('.disabled')) checkbox.addClass('focused'); 3178 }) 3179 .on('blur.styler', function() { 3180 checkbox.removeClass('focused'); 3181 }); 3182 3183 }; // end checkboxOutput() 3184 3185 checkboxOutput(); 3186 3187 // обновление пÑи динамиÑеÑком изменении 3188 el.on('refresh', function() { 3189 el.closest('label').add('label[for="' + el.attr('id') + '"]').off('.styler'); 3190 el.off('.styler').parent().before(el).remove(); 3191 checkboxOutput(); 3192 }); 3193 3194 // end checkbox 3195 3196 // radio 3197 } else if (el.is(':radio')) { 3198 3199 var radioOutput = function() { 3200 3201 var att = new Attributes(); 3202 var radio = $('<div class="jq-radio"><div class="jq-radio__div"></div></div>') 3203 .attr({ 3204 id: att.id, 3205 title: att.title 3206 }) 3207 .addClass(att.classes) 3208 .data(att.data) 3209 ; 3210 3211 el.after(radio).prependTo(radio); 3212 if (el.is(':checked')) radio.addClass('checked'); 3213 if (el.is(':disabled')) radio.addClass('disabled'); 3214 3215 // опÑеделÑем обÑего ÑодиÑÐµÐ»Ñ Ñ Ñадиокнопок Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñм name 3216 // http://stackoverflow.com/a/27733847 3217 $.fn.commonParents = function() { 3218 var cachedThis = this; 3219 return cachedThis.first().parents().filter(function() { 3220 return $(this).find(cachedThis).length === cachedThis.length; 3221 }); 3222 }; 3223 $.fn.commonParent = function() { 3224 return $(this).commonParents().first(); 3225 }; 3226 3227 // клик на пÑевдоÑадиокнопке 3228 radio.click(function(e) { 3229 e.preventDefault(); 3230 el.triggerHandler('click'); 3231 if (!radio.is('.disabled')) { 3232 var inputName = $('input[name="' + el.attr('name') + '"]'); 3233 inputName.commonParent().find(inputName).prop('checked', false).parent().removeClass('checked'); 3234 el.prop('checked', true).parent().addClass('checked'); 3235 el.focus().change(); 3236 } 3237 }); 3238 // клик на label 3239 el.closest('label').add('label[for="' + el.attr('id') + '"]').on('click.styler', function(e) { 3240 if (!$(e.target).is('a') && !$(e.target).closest(radio).length) { 3241 radio.triggerHandler('click'); 3242 e.preventDefault(); 3243 } 3244 }); 3245 // пеÑеклÑÑение ÑÑÑелками 3246 el.on('change.styler', function() { 3247 el.parent().addClass('checked'); 3248 }) 3249 .on('focus.styler', function() { 3250 if (!radio.is('.disabled')) radio.addClass('focused'); 3251 }) 3252 .on('blur.styler', function() { 3253 radio.removeClass('focused'); 3254 }); 3255 3256 }; // end radioOutput() 3257 3258 radioOutput(); 3259 3260 // обновление пÑи динамиÑеÑком изменении 3261 el.on('refresh', function() { 3262 el.closest('label').add('label[for="' + el.attr('id') + '"]').off('.styler'); 3263 el.off('.styler').parent().before(el).remove(); 3264 radioOutput(); 3265 }); 3266 3267 // end radio 3268 3269 // file 3270 } else if (el.is(':file')) { 3271 3272 var fileOutput = function() { 3273 3274 var att = new Attributes(); 3275 var placeholder = el.data('placeholder'); 3276 if (placeholder === undefined) placeholder = opt.filePlaceholder; 3277 var browse = el.data('browse'); 3278 if (browse === undefined || browse === '') browse = opt.fileBrowse; 3279 3280 var file = 3281 $('<div class="jq-file">' + 3282 '<div class="jq-file__name">' + placeholder + '</div>' + 3283 '<div class="jq-file__browse">' + browse + '</div>' + 3284 '</div>') 3285 .attr({ 3286 id: att.id, 3287 title: att.title 3288 }) 3289 .addClass(att.classes) 3290 .data(att.data) 3291 ; 3292 3293 el.after(file).appendTo(file); 3294 if (el.is(':disabled')) file.addClass('disabled'); 3295 3296 var value = el.val(); 3297 var name = $('div.jq-file__name', file); 3298 3299 // ÑÑÐ¾Ð±Ñ Ð¿Ñи динамиÑеÑком изменении Ð¸Ð¼Ñ Ñайла не ÑбÑаÑÑвалоÑÑ 3300 if (value) name.text(value.replace(/.+[\\\/]/, '')); 3301 3302 el.on('change.styler', function() { 3303 var value = el.val(); 3304 if (el.is('[multiple]')) { 3305 value = ''; 3306 var files = el[0].files.length; 3307 if (files > 0) { 3308 var number = el.data('number'); 3309 if (number === undefined) number = opt.fileNumber; 3310 number = number.replace('%s', files); 3311 value = number; 3312 } 3313 } 3314 name.text(value.replace(/.+[\\\/]/, '')); 3315 if (value === '') { 3316 name.text(placeholder); 3317 file.removeClass('changed'); 3318 } else { 3319 file.addClass('changed'); 3320 } 3321 }) 3322 .on('focus.styler', function() { 3323 file.addClass('focused'); 3324 }) 3325 .on('blur.styler', function() { 3326 file.removeClass('focused'); 3327 }) 3328 .on('click.styler', function() { 3329 file.removeClass('focused'); 3330 }); 3331 3332 }; // end fileOutput() 3333 3334 fileOutput(); 3335 3336 // обновление пÑи динамиÑеÑком изменении 3337 el.on('refresh', function() { 3338 el.off('.styler').parent().before(el).remove(); 3339 fileOutput(); 3340 }); 3341 3342 // end file 3343 3344 // number 3345 } else if (el.is('input[type="number"]')) { 3346 3347 var numberOutput = function() { 3348 3349 var att = new Attributes(); 3350 var number = 3351 $('<div class="jq-number">' + 3352 '<div class="jq-number__spin minus"></div>' + 3353 '<div class="jq-number__spin plus"></div>' + 3354 '</div>') 3355 .attr({ 3356 id: att.id, 3357 title: att.title 3358 }) 3359 .addClass(att.classes) 3360 .data(att.data) 3361 ; 3362 3363 el.after(number).prependTo(number).wrap('<div class="jq-number__field"></div>'); 3364 if (el.is(':disabled')) number.addClass('disabled'); 3365 3366 var min, 3367 max, 3368 step, 3369 timeout = null, 3370 interval = null; 3371 if (el.attr('min') !== undefined) min = el.attr('min'); 3372 if (el.attr('max') !== undefined) max = el.attr('max'); 3373 if (el.attr('step') !== undefined && $.isNumeric(el.attr('step'))) 3374 step = Number(el.attr('step')); 3375 else 3376 step = Number(1); 3377 3378 var changeValue = function(spin) { 3379 var value = el.val(), 3380 newValue; 3381 3382 if (!$.isNumeric(value)) { 3383 value = 0; 3384 el.val('0'); 3385 } 3386 3387 if (spin.is('.minus')) { 3388 newValue = Number(value) - step; 3389 } else if (spin.is('.plus')) { 3390 newValue = Number(value) + step; 3391 } 3392 3393 // опÑеделÑем колиÑеÑÑво деÑÑÑиÑнÑÑ Ð·Ð½Ð°ÐºÐ¾Ð² поÑле запÑÑой в step 3394 var decimals = (step.toString().split('.')[1] || []).length; 3395 if (decimals > 0) { 3396 var multiplier = '1'; 3397 while (multiplier.length <= decimals) multiplier = multiplier + '0'; 3398 // избегаем поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸ÑÐ½Ð¸Ñ Ð·Ð½Ð°ÐºÐ¾Ð² поÑле запÑÑой 3399 newValue = Math.round(newValue * multiplier) / multiplier; 3400 } 3401 3402 if ($.isNumeric(min) && $.isNumeric(max)) { 3403 if (newValue >= min && newValue <= max) el.val(newValue); 3404 } else if ($.isNumeric(min) && !$.isNumeric(max)) { 3405 if (newValue >= min) el.val(newValue); 3406 } else if (!$.isNumeric(min) && $.isNumeric(max)) { 3407 if (newValue <= max) el.val(newValue); 3408 } else { 3409 el.val(newValue); 3410 } 3411 }; 3412 3413 if (!number.is('.disabled')) { 3414 number.on('mousedown', 'div.jq-number__spin', function() { 3415 var spin = $(this); 3416 changeValue(spin); 3417 timeout = setTimeout(function(){ 3418 interval = setInterval(function(){ changeValue(spin); }, 40); 3419 }, 350); 3420 }).on('mouseup mouseout', 'div.jq-number__spin', function() { 3421 clearTimeout(timeout); 3422 clearInterval(interval); 3423 }).on('mouseup', 'div.jq-number__spin', function() { 3424 el.change().trigger('input'); 3425 }); 3426 el.on('focus.styler', function() { 3427 number.addClass('focused'); 3428 }) 3429 .on('blur.styler', function() { 3430 number.removeClass('focused'); 3431 }); 3432 } 3433 3434 }; // end numberOutput() 3435 3436 numberOutput(); 3437 3438 // обновление пÑи динамиÑеÑком изменении 3439 el.on('refresh', function() { 3440 el.off('.styler').closest('.jq-number').before(el).remove(); 3441 numberOutput(); 3442 }); 3443 3444 // end number 3445 3446 // select 3447 } else if (el.is('select')) { 3448 3449 var selectboxOutput = function() { 3450 3451 // запÑеÑаем пÑокÑÑÑÐºÑ ÑÑÑаниÑÑ Ð¿Ñи пÑокÑÑÑке ÑелекÑа 3452 function preventScrolling(selector) { 3453 3454 var scrollDiff = selector.prop('scrollHeight') - selector.outerHeight(), 3455 wheelDelta = null, 3456 scrollTop = null; 3457 3458 selector.off('mousewheel DOMMouseScroll').on('mousewheel DOMMouseScroll', function(e) { 3459 3460 /** 3461 * ноÑмализаÑÐ¸Ñ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑокÑÑÑки 3462 * (firefox < 0 || chrome etc... > 0) 3463 * (e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0) 3464 */ 3465 wheelDelta = (e.originalEvent.detail < 0 || e.originalEvent.wheelDelta > 0) ? 1 : -1; // напÑавление пÑокÑÑÑки (-1 вниз, 1 ввеÑÑ ) 3466 scrollTop = selector.scrollTop(); // позиÑÐ¸Ñ ÑкÑолла 3467 3468 if ((scrollTop >= scrollDiff && wheelDelta < 0) || (scrollTop <= 0 && wheelDelta > 0)) { 3469 e.stopPropagation(); 3470 e.preventDefault(); 3471 } 3472 3473 }); 3474 } 3475 3476 var option = $('option', el); 3477 var list = ''; 3478 // ÑоÑмиÑÑем ÑпиÑок ÑелекÑа 3479 function makeList() { 3480 for (var i = 0; i < option.length; i++) { 3481 var op = option.eq(i); 3482 var li = '', 3483 liClass = '', 3484 liClasses = '', 3485 id = '', 3486 title = '', 3487 dataList = '', 3488 optionClass = '', 3489 optgroupClass = '', 3490 dataJqfsClass = ''; 3491 var disabled = 'disabled'; 3492 var selDis = 'selected sel disabled'; 3493 if (op.prop('selected')) liClass = 'selected sel'; 3494 if (op.is(':disabled')) liClass = disabled; 3495 if (op.is(':selected:disabled')) liClass = selDis; 3496 if (op.attr('id') !== undefined && op.attr('id') !== '') id = ' id="' + op.attr('id') + opt.idSuffix + '"'; 3497 if (op.attr('title') !== undefined && option.attr('title') !== '') title = ' title="' + op.attr('title') + '"'; 3498 if (op.attr('class') !== undefined) { 3499 optionClass = ' ' + op.attr('class'); 3500 dataJqfsClass = ' data-jqfs-class="' + op.attr('class') + '"'; 3501 } 3502 3503 var data = op.data(); 3504 for (var k in data) { 3505 if (data[k] !== '') dataList += ' data-' + k + '="' + data[k] + '"'; 3506 } 3507 3508 if ( (liClass + optionClass) !== '' ) liClasses = ' class="' + liClass + optionClass + '"'; 3509 li = '<li' + dataJqfsClass + dataList + liClasses + title + id + '>'+ op.html() +'</li>'; 3510 3511 // еÑли еÑÑÑ optgroup 3512 if (op.parent().is('optgroup')) { 3513 if (op.parent().attr('class') !== undefined) optgroupClass = ' ' + op.parent().attr('class'); 3514 li = '<li' + dataJqfsClass + dataList + ' class="' + liClass + optionClass + ' option' + optgroupClass + '"' + title + id + '>'+ op.html() +'</li>'; 3515 if (op.is(':first-child')) { 3516 li = '<li class="optgroup' + optgroupClass + '">' + op.parent().attr('label') + '</li>' + li; 3517 } 3518 } 3519 3520 list += li; 3521 } 3522 } // end makeList() 3523 3524 // одиноÑнÑй ÑÐµÐ»ÐµÐºÑ 3525 function doSelect() { 3526 3527 var att = new Attributes(); 3528 var searchHTML = ''; 3529 var selectPlaceholder = el.data('placeholder'); 3530 var selectSearch = el.data('search'); 3531 var selectSearchLimit = el.data('search-limit'); 3532 var selectSearchNotFound = el.data('search-not-found'); 3533 var selectSearchPlaceholder = el.data('search-placeholder'); 3534 var selectSmartPositioning = el.data('smart-positioning'); 3535 3536 if (selectPlaceholder === undefined) selectPlaceholder = opt.selectPlaceholder; 3537 if (selectSearch === undefined || selectSearch === '') selectSearch = opt.selectSearch; 3538 if (selectSearchLimit === undefined || selectSearchLimit === '') selectSearchLimit = opt.selectSearchLimit; 3539 if (selectSearchNotFound === undefined || selectSearchNotFound === '') selectSearchNotFound = opt.selectSearchNotFound; 3540 if (selectSearchPlaceholder === undefined) selectSearchPlaceholder = opt.selectSearchPlaceholder; 3541 if (selectSmartPositioning === undefined || selectSmartPositioning === '') selectSmartPositioning = opt.selectSmartPositioning; 3542 3543 var selectbox = 3544 $('<div class="jq-selectbox jqselect">' + 3545 '<div class="jq-selectbox__select">' + 3546 '<div class="jq-selectbox__select-text"></div>' + 3547 '<div class="jq-selectbox__trigger">' + 3548 '<div class="jq-selectbox__trigger-arrow"></div></div>' + 3549 '</div>' + 3550 '</div>') 3551 .attr({ 3552 id: att.id, 3553 title: att.title 3554 }) 3555 .addClass(att.classes) 3556 .data(att.data) 3557 ; 3558 3559 el.after(selectbox).prependTo(selectbox); 3560 3561 var selectzIndex = selectbox.css('z-index'); 3562 selectzIndex = (selectzIndex > 0 ) ? selectzIndex : 1; 3563 var divSelect = $('div.jq-selectbox__select', selectbox); 3564 var divText = $('div.jq-selectbox__select-text', selectbox); 3565 var optionSelected = option.filter(':selected'); 3566 3567 makeList(); 3568 3569 if (selectSearch) searchHTML = 3570 '<div class="jq-selectbox__search"><input type="search" autocomplete="off" placeholder="' + selectSearchPlaceholder + '"></div>' + 3571 '<div class="jq-selectbox__not-found">' + selectSearchNotFound + '</div>'; 3572 var dropdown = 3573 $('<div class="jq-selectbox__dropdown">' + 3574 searchHTML + '<ul>' + list + '</ul>' + 3575 '</div>'); 3576 selectbox.append(dropdown); 3577 var ul = $('ul', dropdown); 3578 var li = $('li', dropdown); 3579 var search = $('input', dropdown); 3580 var notFound = $('div.jq-selectbox__not-found', dropdown).hide(); 3581 if (li.length < selectSearchLimit) search.parent().hide(); 3582 3583 // показÑваем опÑÐ¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ 3584 // еÑли Ñ 1-й опÑии Ð½ÐµÑ ÑекÑÑа, она вÑбÑана по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ паÑамеÑÑ selectPlaceholder не false, Ñо показÑваем плейÑÑ Ð¾Ð»Ð´ÐµÑ 3585 if (option.first().text() === '' && option.first().is(':selected') && selectPlaceholder !== false) { 3586 divText.text(selectPlaceholder).addClass('placeholder'); 3587 } else { 3588 divText.text(optionSelected.text()); 3589 } 3590 3591 // опÑеделÑем ÑамÑй ÑиÑокий пÑÐ½ÐºÑ ÑелекÑа 3592 var liWidthInner = 0, 3593 liWidth = 0; 3594 li.css({'display': 'inline-block'}); 3595 li.each(function() { 3596 var l = $(this); 3597 if (l.innerWidth() > liWidthInner) { 3598 liWidthInner = l.innerWidth(); 3599 liWidth = l.width(); 3600 } 3601 }); 3602 li.css({'display': ''}); 3603 3604 // подÑÑÑаиваем ÑиÑÐ¸Ð½Ñ ÑвеÑнÑÑого ÑелекÑа в завиÑимоÑÑи 3605 // Ð¾Ñ ÑиÑÐ¸Ð½Ñ Ð¿Ð»ÐµÐ¹ÑÑ Ð¾Ð»Ð´ÐµÑа или Ñамого ÑиÑокого пÑнкÑа 3606 if (divText.is('.placeholder') && (divText.width() > liWidthInner)) { 3607 divText.width(divText.width()); 3608 } else { 3609 var selClone = selectbox.clone().appendTo('body').width('auto'); 3610 var selCloneWidth = selClone.outerWidth(); 3611 selClone.remove(); 3612 if (selCloneWidth == selectbox.outerWidth()) { 3613 divText.width(liWidth); 3614 } 3615 } 3616 3617 // подÑÑÑаиваем ÑиÑÐ¸Ð½Ñ Ð²ÑпадаÑÑего ÑпиÑка в завиÑимоÑÑи Ð¾Ñ Ñамого ÑиÑокого пÑнкÑа 3618 if (liWidthInner > selectbox.width()) dropdown.width(liWidthInner); 3619 3620 // пÑÑÑем 1-Ñ Ð¿ÑÑÑÑÑ Ð¾Ð¿ÑиÑ, еÑли она еÑÑÑ Ð¸ еÑли аÑÑибÑÑ data-placeholder не пÑÑÑой 3621 // еÑли вÑе же нÑжно, ÑÑÐ¾Ð±Ñ Ð¿ÐµÑÐ²Ð°Ñ Ð¿ÑÑÑÐ°Ñ Ð¾Ð¿ÑÐ¸Ñ Ð¾ÑобÑажалаÑÑ, Ñо ÑказÑваем Ñ ÑелекÑа: data-placeholder="" 3622 if (option.first().text() === '' && el.data('placeholder') !== '') { 3623 li.first().hide(); 3624 } 3625 3626 var selectHeight = selectbox.outerHeight(true); 3627 var searchHeight = search.parent().outerHeight(true) || 0; 3628 var isMaxHeight = ul.css('max-height'); 3629 var liSelected = li.filter('.selected'); 3630 if (liSelected.length < 1) li.first().addClass('selected sel'); 3631 if (li.data('li-height') === undefined) { 3632 var liOuterHeight = li.outerHeight(); 3633 if (selectPlaceholder !== false) liOuterHeight = li.eq(1).outerHeight(); 3634 li.data('li-height', liOuterHeight); 3635 } 3636 var position = dropdown.css('top'); 3637 if (dropdown.css('left') == 'auto') dropdown.css({left: 0}); 3638 if (dropdown.css('top') == 'auto') { 3639 dropdown.css({top: selectHeight}); 3640 position = selectHeight; 3641 } 3642 dropdown.hide(); 3643 3644 // еÑли вÑбÑан не деÑолÑнÑй пÑÐ½ÐºÑ 3645 if (liSelected.length) { 3646 // добавлÑем клаÑÑ, показÑваÑÑий изменение ÑелекÑа 3647 if (option.first().text() != optionSelected.text()) { 3648 selectbox.addClass('changed'); 3649 } 3650 // пеÑедаем ÑелекÑÑ ÐºÐ»Ð°ÑÑ Ð²ÑбÑанного пÑнкÑа 3651 selectbox.data('jqfs-class', liSelected.data('jqfs-class')); 3652 selectbox.addClass(liSelected.data('jqfs-class')); 3653 } 3654 3655 // еÑли ÑÐµÐ»ÐµÐºÑ Ð½ÐµÐ°ÐºÑивнÑй 3656 if (el.is(':disabled')) { 3657 selectbox.addClass('disabled'); 3658 return false; 3659 } 3660 3661 // пÑи клике на пÑевдоÑелекÑе 3662 divSelect.click(function() { 3663 3664 // колбек пÑи закÑÑÑии ÑелекÑа 3665 if ($('div.jq-selectbox').filter('.opened').length) { 3666 opt.onSelectClosed.call($('div.jq-selectbox').filter('.opened')); 3667 } 3668 3669 el.focus(); 3670 3671 // еÑли iOS, Ñо не показÑваем вÑпадаÑÑий ÑпиÑок, 3672 // Ñ.к. оÑобÑажаеÑÑÑ Ð½Ð°ÑивнÑй и неизвеÑÑно, как его ÑпÑÑÑаÑÑ 3673 if (iOS) return; 3674 3675 // Ñмное позиÑиониÑование 3676 var win = $(window); 3677 var liHeight = li.data('li-height'); 3678 var topOffset = selectbox.offset().top; 3679 var bottomOffset = win.height() - selectHeight - (topOffset - win.scrollTop()); 3680 var visible = el.data('visible-options'); 3681 if (visible === undefined || visible === '') visible = opt.selectVisibleOptions; 3682 var minHeight = liHeight * 5; 3683 var newHeight = liHeight * visible; 3684 if (visible > 0 && visible < 6) minHeight = newHeight; 3685 if (visible === 0) newHeight = 'auto'; 3686 3687 var dropDown = function() { 3688 dropdown.height('auto').css({bottom: 'auto', top: position}); 3689 var maxHeightBottom = function() { 3690 ul.css('max-height', Math.floor((bottomOffset - 20 - searchHeight) / liHeight) * liHeight); 3691 }; 3692 maxHeightBottom(); 3693 ul.css('max-height', newHeight); 3694 if (isMaxHeight != 'none') { 3695 ul.css('max-height', isMaxHeight); 3696 } 3697 if (bottomOffset < (dropdown.outerHeight() + 20)) { 3698 maxHeightBottom(); 3699 } 3700 }; 3701 3702 var dropUp = function() { 3703 dropdown.height('auto').css({top: 'auto', bottom: position}); 3704 var maxHeightTop = function() { 3705 ul.css('max-height', Math.floor((topOffset - win.scrollTop() - 20 - searchHeight) / liHeight) * liHeight); 3706 }; 3707 maxHeightTop(); 3708 ul.css('max-height', newHeight); 3709 if (isMaxHeight != 'none') { 3710 ul.css('max-height', isMaxHeight); 3711 } 3712 if ((topOffset - win.scrollTop() - 20) < (dropdown.outerHeight() + 20)) { 3713 maxHeightTop(); 3714 } 3715 }; 3716 3717 if (selectSmartPositioning === true || selectSmartPositioning === 1) { 3718 // ÑаÑкÑÑÑие вниз 3719 if (bottomOffset > (minHeight + searchHeight + 20)) { 3720 dropDown(); 3721 selectbox.removeClass('dropup').addClass('dropdown'); 3722 // ÑаÑкÑÑÑие ввеÑÑ 3723 } else { 3724 dropUp(); 3725 selectbox.removeClass('dropdown').addClass('dropup'); 3726 } 3727 } else if (selectSmartPositioning === false || selectSmartPositioning === 0) { 3728 // ÑаÑкÑÑÑие вниз 3729 if (bottomOffset > (minHeight + searchHeight + 20)) { 3730 dropDown(); 3731 selectbox.removeClass('dropup').addClass('dropdown'); 3732 } 3733 } else { 3734 // еÑли Ñмное позиÑиониÑование оÑклÑÑено 3735 dropdown.height('auto').css({bottom: 'auto', top: position}); 3736 ul.css('max-height', newHeight); 3737 if (isMaxHeight != 'none') { 3738 ul.css('max-height', isMaxHeight); 3739 } 3740 } 3741 3742 // еÑли вÑпадаÑÑий ÑпиÑок вÑÑ Ð¾Ð´Ð¸Ñ Ð·Ð° пÑавÑй кÑай окна бÑаÑзеÑа, 3743 // Ñо менÑем позиÑиониÑование Ñ Ð»ÐµÐ²Ð¾Ð³Ð¾ на пÑавое 3744 if (selectbox.offset().left + dropdown.outerWidth() > win.width()) { 3745 dropdown.css({left: 'auto', right: 0}); 3746 } 3747 // ÐºÐ¾Ð½ÐµÑ Ñмного позиÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ 3748 3749 $('div.jqselect').css({zIndex: (selectzIndex - 1)}).removeClass('opened'); 3750 selectbox.css({zIndex: selectzIndex}); 3751 if (dropdown.is(':hidden')) { 3752 $('div.jq-selectbox__dropdown:visible').hide(); 3753 dropdown.show(); 3754 selectbox.addClass('opened focused'); 3755 // колбек пÑи оÑкÑÑÑии ÑелекÑа 3756 opt.onSelectOpened.call(selectbox); 3757 } else { 3758 dropdown.hide(); 3759 selectbox.removeClass('opened dropup dropdown'); 3760 // колбек пÑи закÑÑÑии ÑелекÑа 3761 if ($('div.jq-selectbox').filter('.opened').length) { 3762 opt.onSelectClosed.call(selectbox); 3763 } 3764 } 3765 3766 // поиÑковое поле 3767 if (search.length) { 3768 search.val('').keyup(); 3769 notFound.hide(); 3770 search.keyup(function() { 3771 var query = $(this).val(); 3772 li.each(function() { 3773 if (!$(this).html().match(new RegExp('.*?' + query + '.*?', 'i'))) { 3774 $(this).hide(); 3775 } else { 3776 $(this).show(); 3777 } 3778 }); 3779 // пÑÑÑем 1-Ñ Ð¿ÑÑÑÑÑ Ð¾Ð¿ÑÐ¸Ñ 3780 if (option.first().text() === '' && el.data('placeholder') !== '') { 3781 li.first().hide(); 3782 } 3783 if (li.filter(':visible').length < 1) { 3784 notFound.show(); 3785 } else { 3786 notFound.hide(); 3787 } 3788 }); 3789 } 3790 3791 // пÑокÑÑÑиваем до вÑбÑанного пÑнкÑа пÑи оÑкÑÑÑии ÑпиÑка 3792 if (li.filter('.selected').length) { 3793 if (el.val() === '') { 3794 ul.scrollTop(0); 3795 } else { 3796 // еÑли неÑеÑное колиÑеÑÑво видимÑÑ Ð¿ÑнкÑов, 3797 // Ñо вÑÑоÑÑ Ð¿ÑнкÑа делим пополам Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑего ÑаÑÑеÑа 3798 if ( (ul.innerHeight() / liHeight) % 2 !== 0 ) liHeight = liHeight / 2; 3799 ul.scrollTop(ul.scrollTop() + li.filter('.selected').position().top - ul.innerHeight() / 2 + liHeight); 3800 } 3801 } 3802 3803 preventScrolling(ul); 3804 3805 }); // end divSelect.click() 3806 3807 // пÑи наведении кÑÑÑоÑа на пÑÐ½ÐºÑ ÑпиÑка 3808 li.hover(function() { 3809 $(this).siblings().removeClass('selected'); 3810 }); 3811 var selectedText = li.filter('.selected').text(); 3812 3813 // пÑи клике на пÑÐ½ÐºÑ ÑпиÑка 3814 li.filter(':not(.disabled):not(.optgroup)').click(function() { 3815 el.focus(); 3816 var t = $(this); 3817 var liText = t.text(); 3818 if (!t.is('.selected')) { 3819 var index = t.index(); 3820 index -= t.prevAll('.optgroup').length; 3821 t.addClass('selected sel').siblings().removeClass('selected sel'); 3822 option.prop('selected', false).eq(index).prop('selected', true); 3823 selectedText = liText; 3824 divText.text(liText); 3825 3826 // пеÑедаем ÑелекÑÑ ÐºÐ»Ð°ÑÑ Ð²ÑбÑанного пÑнкÑа 3827 if (selectbox.data('jqfs-class')) selectbox.removeClass(selectbox.data('jqfs-class')); 3828 selectbox.data('jqfs-class', t.data('jqfs-class')); 3829 selectbox.addClass(t.data('jqfs-class')); 3830 3831 el.change(); 3832 } 3833 dropdown.hide(); 3834 selectbox.removeClass('opened dropup dropdown'); 3835 // колбек пÑи закÑÑÑии ÑелекÑа 3836 opt.onSelectClosed.call(selectbox); 3837 3838 }); 3839 dropdown.mouseout(function() { 3840 $('li.sel', dropdown).addClass('selected'); 3841 }); 3842 3843 // изменение ÑелекÑа 3844 el.on('change.styler', function() { 3845 divText.text(option.filter(':selected').text()).removeClass('placeholder'); 3846 li.removeClass('selected sel').not('.optgroup').eq(el[0].selectedIndex).addClass('selected sel'); 3847 // добавлÑем клаÑÑ, показÑваÑÑий изменение ÑелекÑа 3848 if (option.first().text() != li.filter('.selected').text()) { 3849 selectbox.addClass('changed'); 3850 } else { 3851 selectbox.removeClass('changed'); 3852 } 3853 }) 3854 .on('focus.styler', function() { 3855 selectbox.addClass('focused'); 3856 $('div.jqselect').not('.focused').removeClass('opened dropup dropdown').find('div.jq-selectbox__dropdown').hide(); 3857 }) 3858 .on('blur.styler', function() { 3859 selectbox.removeClass('focused'); 3860 }) 3861 // изменение ÑелекÑа Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ 3862 .on('keydown.styler keyup.styler', function(e) { 3863 var liHeight = li.data('li-height'); 3864 if (el.val() === '') { 3865 divText.text(selectPlaceholder).addClass('placeholder'); 3866 } else { 3867 divText.text(option.filter(':selected').text()); 3868 } 3869 li.removeClass('selected sel').not('.optgroup').eq(el[0].selectedIndex).addClass('selected sel'); 3870 // ввеÑÑ , влево, Page Up, Home 3871 if (e.which == 38 || e.which == 37 || e.which == 33 || e.which == 36) { 3872 if (el.val() === '') { 3873 ul.scrollTop(0); 3874 } else { 3875 ul.scrollTop(ul.scrollTop() + li.filter('.selected').position().top); 3876 } 3877 } 3878 // вниз, впÑаво, Page Down, End 3879 if (e.which == 40 || e.which == 39 || e.which == 34 || e.which == 35) { 3880 ul.scrollTop(ul.scrollTop() + li.filter('.selected').position().top - ul.innerHeight() + liHeight); 3881 } 3882 // закÑÑваем вÑпадаÑÑий ÑпиÑок пÑи нажаÑии Enter 3883 if (e.which == 13) { 3884 e.preventDefault(); 3885 dropdown.hide(); 3886 selectbox.removeClass('opened dropup dropdown'); 3887 // колбек пÑи закÑÑÑии ÑелекÑа 3888 opt.onSelectClosed.call(selectbox); 3889 } 3890 }).on('keydown.styler', function(e) { 3891 // оÑкÑÑваем вÑпадаÑÑий ÑпиÑок пÑи нажаÑии Space 3892 if (e.which == 32) { 3893 e.preventDefault(); 3894 divSelect.click(); 3895 } 3896 }); 3897 3898 // пÑÑÑем вÑпадаÑÑий ÑпиÑок пÑи клике за пÑеделами ÑелекÑа 3899 if (!onDocumentClick.registered) { 3900 $(document).on('click', onDocumentClick); 3901 onDocumentClick.registered = true; 3902 } 3903 3904 } // end doSelect() 3905 3906 // мÑлÑÑиÑÐµÐ»ÐµÐºÑ 3907 function doMultipleSelect() { 3908 3909 var att = new Attributes(); 3910 var selectbox = 3911 $('<div class="jq-select-multiple jqselect"></div>') 3912 .attr({ 3913 id: att.id, 3914 title: att.title 3915 }) 3916 .addClass(att.classes) 3917 .data(att.data) 3918 ; 3919 3920 el.after(selectbox); 3921 3922 makeList(); 3923 selectbox.append('<ul>' + list + '</ul>'); 3924 var ul = $('ul', selectbox); 3925 var li = $('li', selectbox); 3926 var size = el.attr('size'); 3927 var ulHeight = ul.outerHeight(); 3928 var liHeight = li.outerHeight(); 3929 if (size !== undefined && size > 0) { 3930 ul.css({'height': liHeight * size}); 3931 } else { 3932 ul.css({'height': liHeight * 4}); 3933 } 3934 if (ulHeight > selectbox.height()) { 3935 ul.css('overflowY', 'scroll'); 3936 preventScrolling(ul); 3937 // пÑокÑÑÑиваем до вÑбÑанного пÑнкÑа 3938 if (li.filter('.selected').length) { 3939 ul.scrollTop(ul.scrollTop() + li.filter('.selected').position().top); 3940 } 3941 } 3942 3943 // пÑÑÑем оÑигиналÑнÑй ÑÐµÐ»ÐµÐºÑ 3944 el.prependTo(selectbox); 3945 3946 // еÑли ÑÐµÐ»ÐµÐºÑ Ð½ÐµÐ°ÐºÑивнÑй 3947 if (el.is(':disabled')) { 3948 selectbox.addClass('disabled'); 3949 option.each(function() { 3950 if ($(this).is(':selected')) li.eq($(this).index()).addClass('selected'); 3951 }); 3952 3953 // еÑли ÑÐµÐ»ÐµÐºÑ Ð°ÐºÑивнÑй 3954 } else { 3955 3956 // пÑи клике на пÑÐ½ÐºÑ ÑпиÑка 3957 li.filter(':not(.disabled):not(.optgroup)').click(function(e) { 3958 el.focus(); 3959 var clkd = $(this); 3960 if(!e.ctrlKey && !e.metaKey) clkd.addClass('selected'); 3961 if(!e.shiftKey) clkd.addClass('first'); 3962 if(!e.ctrlKey && !e.metaKey && !e.shiftKey) clkd.siblings().removeClass('selected first'); 3963 3964 // вÑделение пÑнкÑов пÑи зажаÑом Ctrl 3965 if(e.ctrlKey || e.metaKey) { 3966 if (clkd.is('.selected')) clkd.removeClass('selected first'); 3967 else clkd.addClass('selected first'); 3968 clkd.siblings().removeClass('first'); 3969 } 3970 3971 // вÑделение пÑнкÑов пÑи зажаÑом Shift 3972 if(e.shiftKey) { 3973 var prev = false, 3974 next = false; 3975 clkd.siblings().removeClass('selected').siblings('.first').addClass('selected'); 3976 clkd.prevAll().each(function() { 3977 if ($(this).is('.first')) prev = true; 3978 }); 3979 clkd.nextAll().each(function() { 3980 if ($(this).is('.first')) next = true; 3981 }); 3982 if (prev) { 3983 clkd.prevAll().each(function() { 3984 if ($(this).is('.selected')) return false; 3985 else $(this).not('.disabled, .optgroup').addClass('selected'); 3986 }); 3987 } 3988 if (next) { 3989 clkd.nextAll().each(function() { 3990 if ($(this).is('.selected')) return false; 3991 else $(this).not('.disabled, .optgroup').addClass('selected'); 3992 }); 3993 } 3994 if (li.filter('.selected').length == 1) clkd.addClass('first'); 3995 } 3996 3997 // оÑмеÑаем вÑбÑаннÑе мÑÑÑÑ 3998 option.prop('selected', false); 3999 li.filter('.selected').each(function() { 4000 var t = $(this); 4001 var index = t.index(); 4002 if (t.is('.option')) index -= t.prevAll('.optgroup').length; 4003 option.eq(index).prop('selected', true); 4004 }); 4005 el.change(); 4006 4007 }); 4008 4009 // оÑмеÑаем вÑбÑаннÑе Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ 4010 option.each(function(i) { 4011 $(this).data('optionIndex', i); 4012 }); 4013 el.on('change.styler', function() { 4014 li.removeClass('selected'); 4015 var arrIndexes = []; 4016 option.filter(':selected').each(function() { 4017 arrIndexes.push($(this).data('optionIndex')); 4018 }); 4019 li.not('.optgroup').filter(function(i) { 4020 return $.inArray(i, arrIndexes) > -1; 4021 }).addClass('selected'); 4022 }) 4023 .on('focus.styler', function() { 4024 selectbox.addClass('focused'); 4025 }) 4026 .on('blur.styler', function() { 4027 selectbox.removeClass('focused'); 4028 }); 4029 4030 // пÑокÑÑÑиваем Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ 4031 if (ulHeight > selectbox.height()) { 4032 el.on('keydown.styler', function(e) { 4033 // ввеÑÑ , влево, PageUp 4034 if (e.which == 38 || e.which == 37 || e.which == 33) { 4035 ul.scrollTop(ul.scrollTop() + li.filter('.selected').position().top - liHeight); 4036 } 4037 // вниз, впÑаво, PageDown 4038 if (e.which == 40 || e.which == 39 || e.which == 34) { 4039 ul.scrollTop(ul.scrollTop() + li.filter('.selected:last').position().top - ul.innerHeight() + liHeight * 2); 4040 } 4041 }); 4042 } 4043 4044 } 4045 } // end doMultipleSelect() 4046 4047 if (el.is('[multiple]')) { 4048 4049 // еÑли Android или iOS, Ñо мÑлÑÑиÑÐµÐ»ÐµÐºÑ Ð½Ðµ ÑÑилизÑем 4050 // пÑиÑина Ð´Ð»Ñ Android - в ÑÑилизованном ÑелекÑе Ð½ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи вÑбÑаÑÑ Ð½ÐµÑколÑко пÑнкÑов 4051 // пÑиÑина Ð´Ð»Ñ iOS - в ÑÑилизованном ÑелекÑе непÑавилÑно оÑобÑажаÑÑÑÑ Ð²ÑбÑаннÑе пÑнкÑÑ 4052 if (Android || iOS) return; 4053 4054 doMultipleSelect(); 4055 } else { 4056 doSelect(); 4057 } 4058 4059 }; // end selectboxOutput() 4060 4061 selectboxOutput(); 4062 4063 // обновление пÑи динамиÑеÑком изменении 4064 el.on('refresh', function() { 4065 el.off('.styler').parent().before(el).remove(); 4066 selectboxOutput(); 4067 }); 4068 4069 // end select 4070 4071 // reset 4072 } else if (el.is(':reset')) { 4073 el.on('click', function() { 4074 setTimeout(function() { 4075 el.closest('form').find('input, select').trigger('refresh'); 4076 }, 1); 4077 }); 4078 } // end reset 4079 4080 }, // init: function() 4081 4082 // деÑÑÑÑкÑÐ¾Ñ 4083 destroy: function() { 4084 4085 var el = $(this.element); 4086 4087 if (el.is(':checkbox') || el.is(':radio')) { 4088 el.removeData('_' + pluginName).off('.styler refresh').removeAttr('style').parent().before(el).remove(); 4089 el.closest('label').add('label[for="' + el.attr('id') + '"]').off('.styler'); 4090 } else if (el.is('input[type="number"]')) { 4091 el.removeData('_' + pluginName).off('.styler refresh').closest('.jq-number').before(el).remove(); 4092 } else if (el.is(':file') || el.is('select')) { 4093 el.removeData('_' + pluginName).off('.styler refresh').removeAttr('style').parent().before(el).remove(); 4094 } 4095 4096 } // destroy: function() 4097 4098 }; // Plugin.prototype 4099 4100 $.fn[pluginName] = function(options) { 4101 var args = arguments; 4102 if (options === undefined || typeof options === 'object') { 4103 this.each(function() { 4104 if (!$.data(this, '_' + pluginName)) { 4105 $.data(this, '_' + pluginName, new Plugin(this, options)); 4106 } 4107 }) 4108 // колбек поÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° 4109 .promise() 4110 .done(function() { 4111 var opt = $(this[0]).data('_' + pluginName); 4112 if (opt) opt.options.onFormStyled.call(); 4113 }); 4114 return this; 4115 } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') { 4116 var returns; 4117 this.each(function() { 4118 var instance = $.data(this, '_' + pluginName); 4119 if (instance instanceof Plugin && typeof instance[options] === 'function') { 4120 returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1)); 4121 } 4122 }); 4123 return returns !== undefined ? returns : this; 4124 } 4125 }; 4126 4127 // пÑÑÑем вÑпадаÑÑий ÑпиÑок пÑи клике за пÑеделами ÑелекÑа 4128 function onDocumentClick(e) { 4129 // e.target.nodeName != 'OPTION' - добавлено Ð´Ð»Ñ Ð¾Ð±Ñ Ð¾Ð´Ð° бага в Opera на движке Presto 4130 // (пÑи изменении ÑелекÑа Ñ ÐºÐ»Ð°Ð²Ð¸Ð°ÑÑÑÑ ÑÑабаÑÑÐ²Ð°ÐµÑ ÑобÑÑие onclick) 4131 if (!$(e.target).parents().hasClass('jq-selectbox') && e.target.nodeName != 'OPTION') { 4132 if ($('div.jq-selectbox.opened').length) { 4133 var selectbox = $('div.jq-selectbox.opened'), 4134 search = $('div.jq-selectbox__search input', selectbox), 4135 dropdown = $('div.jq-selectbox__dropdown', selectbox), 4136 opt = selectbox.find('select').data('_' + pluginName).options; 4137 4138 // колбек пÑи закÑÑÑии ÑелекÑа 4139 opt.onSelectClosed.call(selectbox); 4140 4141 if (search.length) search.val('').keyup(); 4142 dropdown.hide().find('li.sel').addClass('selected'); 4143 selectbox.removeClass('focused opened dropup dropdown'); 4144 } 4145 } 4146 } 4147 onDocumentClick.registered = false; 4148 4149})); 4150 4151/* End */ 4152; 4153; /* Start:"a:4:{s:4:"full";s:78:"/local/templates/makoto/assets/fancybox/jquery.fancybox.min.js?178574251268253";s:6:"source";s:62:"/local/templates/makoto/assets/fancybox/jquery.fancybox.min.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
vendor: 68,253 bytes, lines 4154-4166
4154// ================================================== 4155// fancyBox v3.5.7 4156// 4157// Licensed GPLv3 for open source use 4158// or fancyBox Commercial License for commercial use 4159// 4160// http://fancyapps.com/fancybox/ 4161// Copyright 2019 fancyApps 4162// 4163// ================================================== 4164!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergrößern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index<h-1)&&f.createSlide(t+1),(a||s.index>0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),a<f-h&&(a=f-h)),g>p&&(s=i.top*c-(e*c-e),s>0&&(s=0),s<p-g&&(s=p-g)),l.updateCursor(h,g),n.fancybox.animate(u,{top:s,left:a,scaleX:r,scaleY:c},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;o.isAnimating||o.isMoved()||!a||"image"!=i.type||!i.isLoaded||i.hasError||(o.isAnimating=!0,n.fancybox.stop(a),e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,i,a,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),i=Math.min(1,e/l,o/d),l*=i,d*=i,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t<a.width&&e<a.height:s&&(i=n.fancybox.getTranslate(s),i=i.width<a.width&&i.height<a.height),i},canPan:function(t,e){var o=this,i=o.current,a=null,s=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(s=o.getFitPos(i),void 0!==t&&void 0!==e?a={width:t,height:e}:i.isComplete&&(a=n.fancybox.getTranslate(i.$content)),a&&s&&(s=Math.abs(a.width-s.width)>1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity, 4165"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)});var o={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,n=this;if(this[t].loaded)return void setTimeout(function(){n.done(t)});this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e))},done:function(e){var n,o,i;"youtube"===e&&delete window.onYouTubeIframeAPIReady,(n=t.fancybox.getInstance())&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?i=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(i=new Vimeo.Player(o),i.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&i(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;if(o.endPoints=a(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap)return o.onTap(t);o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&a>1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==i.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},i.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},i.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i<a&&(n[i].thumb&&o++,!(o>1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.left<a.scrollLeft()||n.left>a.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location}, 4166tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
4166 4167/* End */ 4168; 4169; /* Start:"a:4:{s:4:"full";s:57:"/local/templates/makoto/assets/js/main.js?178574251220287";s:6:"source";s:41:"/local/templates/makoto/assets/js/main.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 4170;(function( $ ){ 4171 // Ðлагин Ð»Ð¾Ð°Ð´ÐµÑ 4172 var methods = { 4173 show : function(elem) { 4174 this 4175 .fadeIn(500); 4176 // .addClass('active') 4177 }, 4178 hide : function(elem) { 4179 this 4180 .delay(100).fadeOut(500); 4181 // .removeClass('active') 4182 } 4183 }; 4184 4185 $.fn.loader = function( method ) { 4186 if ( methods[method] ) { 4187 return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); 4188 } 4189 }; 4190 // Ðлагин Ð»Ð¾Ð°Ð´ÐµÑ end 4191})( jQuery ); 4192 4193$( document ).ready(function(){ 4194 $('.home-slide_items').slick({ 4195 infinite: true, 4196 slidesToShow: 1, 4197 arrows: true, 4198 dots: false, 4199 autoplay: true, 4200 easing: 'linear', 4201 swipe: true, 4202 speed: 400, 4203 swipeToSlide: true, 4204 useCSS: true, 4205 fade:true, 4206 useTransform: true, 4207 cssEase: 'linear', 4208 appendArrows:'.counter-home_arrow', 4209 prevArrow: $('.home-prev'), 4210 nextArrow: $('.home-next'), 4211 autoplaySpeed: 7000, 4212 responsive: [ 4213 { 4214 breakpoint: 500, 4215 settings: { 4216 arrows: false, 4217 } 4218 }, 4219 ] 4220 4221 }); 4222 4223 $('#industry_home .work-slide_items').slick({ 4224 infinite: true, 4225 slidesToShow: 1, 4226 arrows: true, 4227 dots: false, 4228 autoplay: true, 4229 easing: 'linear', 4230 swipe: true, 4231 speed: 400, 4232 swipeToSlide: true, 4233 useCSS: true, 4234 fade:true, 4235 useTransform: true, 4236 cssEase: 'linear', 4237 appendArrows:'#industry_home .counter-work_arrow', 4238 prevArrow: $('#industry_home .work-prev'), 4239 nextArrow: $('#industry_home .work-next'), 4240 autoplaySpeed: 7000, 4241 responsive: [ 4242 { 4243 breakpoint: 540, 4244 settings: { 4245 arrows: false, 4246 } 4247 }, 4248 ] 4249 4250 }); 4251 4252 $('#promotions_home .work-slide_items').slick({ 4253 infinite: true, 4254 slidesToShow: 1, 4255 arrows: true, 4256 dots: false, 4257 autoplay: true, 4258 easing: 'linear', 4259 swipe: true, 4260 speed: 400, 4261 swipeToSlide: true, 4262 useCSS: true, 4263 fade:true, 4264 useTransform: true, 4265 cssEase: 'linear', 4266 appendArrows:'#promotions_home .counter-work_arrow', 4267 prevArrow: $('#promotions_home .work-prev'), 4268 nextArrow: $('#promotions_home .work-next'), 4269 autoplaySpeed: 7000, 4270 responsive: [ 4271 { 4272 breakpoint: 540, 4273 settings: { 4274 arrows: false, 4275 } 4276 }, 4277 ] 4278 4279 }); 4280 4281 $('#industry_home .work-slide_items').on('afterChange', function(event, slick, currentSlide){ 4282 $('#industry_home .cp').text(currentSlide + 1) 4283 }); 4284 $('#promotions_home .work-slide_items').on('afterChange', function(event, slick, currentSlide){ 4285 $('#promotions_home .cp').text(currentSlide + 1) 4286 }); 4287 4288 // about us slider on home page 4289 $('.about-slide_items').slick({ 4290 infinite: true, 4291 slidesToShow: 1, 4292 arrows: true, 4293 appendArrows:'.about-slide_arrow', 4294 dots:false, 4295 autoplay:true, 4296 fade:true, 4297 autoplaySpeed:5000, 4298 responsive: [ 4299 { 4300 breakpoint: 394, 4301 settings: { 4302 arrows: false, 4303 dots:false 4304 } 4305 }, 4306 ] 4307 }); 4308 4309 // sidebar 4310 $(document).delegate('.sidebar-arrow', 'click', function(){ 4311 event.stopPropagation(); 4312 $('.sidebar-arrow').toggleClass('active'); 4313 $('.sidebar').toggleClass('active'); 4314 $('.main').toggleClass('sidebar-hidden'); 4315 setTimeout(function(){ 4316 $('.home-slide_items').slick('refresh'); 4317 }, 500); 4318 // console.log($('.home-slide_items').slick('refresh')); 4319 // $('.home-slide_items').resize(); 4320 4321 }); 4322 4323 // recent views products 4324 $('.recent-slide_box').slick({ 4325 infinite: false, 4326 slidesToShow: 4, 4327 arrows: true, 4328 dots: false, 4329 autoplay: true, 4330 swipe: true, 4331 speed: 400, 4332 appendArrows:'.recent_arrow', 4333 prevArrow: $('.recent-prev'), 4334 nextArrow: $('.recent-next'), 4335 responsive: [ 4336 { 4337 breakpoint: 991, 4338 settings: { 4339 slidesToShow: 3, 4340 } 4341 }, 4342 { 4343 breakpoint: 767, 4344 settings: { 4345 slidesToShow: 2, 4346 } 4347 }, 4348 { 4349 breakpoint: 608, 4350 settings: { 4351 slidesToShow: 1,
4352 arrows: false, 4353 } 4354 }, 4355 ] 4356 }); 4357 4358 // mobile menu app on header 4359 $('.header-info__app').click(function(){ 4360 event.stopPropagation(); 4361 $('.header-info__app').addClass('active'); 4362 $('.mobApp').addClass('active'); 4363 }); 4364 4365 // mobile menu application 4366 $('.mobApp-close').click(function(){ 4367 event.stopPropagation(); 4368 $('.header-info__app').removeClass('active'); 4369 $('.mobApp').removeClass('active'); 4370 }); 4371 4372 // icon search modal window 4373 $('.icon-search').click(function(){ 4374 event.stopPropagation(); 4375 $('.icon-search').addClass('active'); 4376 $('.search').addClass('active'); 4377 }); 4378 4379 $('.search__close').click(function(){ 4380 event.stopPropagation(); 4381 $('.search__close').removeClass('active'); 4382 $('.search').removeClass('active'); 4383 }); 4384 4385 // cat2-sidebar 4386 $('.cat2-sidebar_menu').click(function(){ 4387 event.stopPropagation(); 4388 $('.cat2-sidebar_menu').toggleClass('active'); 4389 $('.cat2-sidebar').toggleClass('active'); 4390 }); 4391 4392 // fancybox 4393 $('[data-fancybox]').fancybox({ 4394 toolbar : false, 4395 smallBtn : true, 4396 iframe : { 4397 preload : false 4398 } 4399 }) 4400 4401 4402 /* ЧÑÐ¾Ð±Ñ Ð½Ðµ пÑÑгал ÑкÑолл пÑи оÑкÑÑÑии модалок */ 4403 $(".modal").on("show.bs.modal", function(){ 4404 var $bodyWidth = $("body").width(); 4405 $("body").css({'overflow-y': "hidden"}).css({'padding-right': ($("body").width()-$bodyWidth)}); 4406 }); 4407 4408 $(".modal").on("hidden.bs.modal", function(){ 4409 $("body").css({'padding-right': "0", 'overflow-y': "auto"}); 4410 }); 4411 4412 /* ЧÑÐ¾Ð±Ñ Ð½Ðµ пÑÑгал ÑкÑолл пÑи оÑкÑÑÑии Ð¼ÐµÐ½Ñ */ 4413 $(".sidebar-open").on("show.bs.sidebar-open", function(){ 4414 var $bodyWidth = $("body").width(); 4415 $("body").css({'overflow-y': "hidden"}).css({'padding-right': ($("body").width()-$bodyWidth)}); 4416 }); 4417 4418 $(".sidebar-open").on("hidden.bs.sidebar-open", function(){ 4419 $("body").css({'padding-right': "0", 'overflow-y': "auto"}); 4420 }); 4421 4422 4423 // ÐÐ»Ð°Ð²Ð½Ð°Ñ Ð¿ÑокÑÑÑка 4424 const anchors = document.querySelectorAll('a[href*="#"]:not([data-toggle="modal"])') 4425 4426 for (let anchor of anchors) { 4427 anchor.addEventListener('click', function (e) { 4428 e.preventDefault() 4429 4430 const blockID = anchor.getAttribute('href').substr(1) 4431 let el = document.getElementById(blockID) 4432 if (el) { 4433 el.scrollIntoView({ 4434 behavior: 'smooth', 4435 block: 'start' 4436 }) 4437 } 4438 }) 4439 } 4440}); 4441 4442$(document).ready(function(){ 4443 //ÐÑпадаÑÑий ÑпиÑок "СоÑÑиÑоваÑÑ Ð¿Ð¾" 4444 $(document).delegate('.sort-box__h-value', 'click', function(){ 4445 var elem = $(this), 4446 parent = elem.parents('.sort-box'); 4447 4448 parent.addClass('active'); 4449 }) 4450 4451 $(document).delegate('.sort-box__b > span', 'click', function(){ 4452 var elem = $(this), 4453 elemVal = elem.text(), 4454 parent = elem.parents('.sort-box'), 4455 form = $('#prCat-controls-form'), 4456 elemValSort = elem.data('sort'); 4457 4458 form.find('input[name=ELEMENT_SORT_FIELD]').val(elemValSort); 4459 4460 parent.find('.sort-box__h-value > span').text(elemVal); 4461 parent.removeClass('active'); 4462 4463 ajaxCatalogSectionUpdate(); 4464 }) 4465 4466 $(document).mouseup(function (e) { 4467 var container = $(".sort-box"); 4468 if (container.has(e.target).length === 0){ 4469 container.removeClass('active'); 4470 } 4471 }); 4472 4473 //ÐÑпадаÑÑий ÑпиÑок "Ðа ÑÑÑаниÑе" 4474 $(document).delegate('.amount-product__header', 'click', function(){ 4475 var elem = $(this), 4476 parent = elem.parents('.amount-product'); 4477 4478 parent.addClass('active'); 4479 }) 4480 4481 $(document).delegate('.amount-product__link', 'click', function(){ 4482 var elem = $(this), 4483 elemVal = elem.text(), 4484 parent = elem.parents('.amount-product'); 4485 4486 parent.find('.amount-product__header > span').text(elemVal); 4487 parent.removeClass('active'); 4488 }) 4489 4490 $(document).mouseup(function (e) { 4491 var container = $(".amount-product"); 4492 if (container.has(e.target).length === 0){ 4493 container.removeClass('active'); 4494 } 4495 }); 4496 4497 4498 //ФÑнкÑÐ¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов компоненÑа - ÑоÑÑиÑовка, Ñмена каÑегоÑии 4499 function ajaxCatalogSectionUpdate(){
4500 var form = $('#prCat-controls-form'), 4501 data = form.serialize(); 4502 4503 if(data == ''){ 4504 data={}; 4505 } 4506 4507 // $('#catalog-section').addClass('loader'); 4508 4509 $.ajax({ 4510 url: '/ajax/catalog/sort/', 4511 type: 'post', 4512 data: data, 4513 success: function(data){ 4514 $('.product__row').html(data); 4515 4516 /*setTimeout(function(){ 4517 $('#catalog-section').removeClass('loader'); 4518 }, 1000)*/ 4519 } 4520 }) 4521 } 4522 4523 $('.js-pr-image-prev').not('.slick-initialized').slick({ 4524 fade: false, 4525 infinite: true, 4526 dots: false, 4527 arrows: true, 4528 slidesToShow: 1, 4529 slidesToScroll: 1, 4530 autoplay: false, 4531 speed: 200, 4532 asNavFor: '.js-pr-image-thumb', 4533 prevArrow: '<span class="icon-prev slick-arrow"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.917 19.6803L15.5767 19.0252C15.7827 18.819 15.8962 18.5447 15.8962 18.2515C15.8962 17.9585 15.7827 17.6839 15.5767 17.4777L8.10309 10.0045L15.5849 2.52262C15.791 2.31677 15.9043 2.04213 15.9043 1.74912C15.9043 1.45611 15.791 1.18131 15.5849 0.975293L14.9293 0.320003C14.503 -0.106668 13.8085 -0.106668 13.3822 0.320003L4.44209 9.22804C4.23623 9.4339 4.09119 9.70821 4.09119 10.0038V10.0072C4.09119 10.3004 4.2364 10.5747 4.44209 10.7806L13.3579 19.6803C13.5638 19.8865 13.8464 19.9997 14.1394 20C14.4326 20 14.7113 19.8865 14.917 19.6803Z" fill="#757575"/></svg></span>', 4534 nextArrow: '<span class="icon-next slick-arrow"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.08303 0.319677L4.42335 0.974806C4.21733 1.18099 4.10383 1.4553 4.10383 1.74847C4.10383 2.04148 4.21733 2.31612 4.42335 2.5223L11.8969 9.99553L4.41506 17.4774C4.20904 17.6832 4.0957 17.9579 4.0957 18.2509C4.0957 18.5439 4.20904 18.8187 4.41506 19.0247L5.07067 19.68C5.49702 20.1067 6.19149 20.1067 6.61784 19.68L15.5579 10.772C15.7638 10.5661 15.9088 10.2918 15.9088 9.99618V9.99276C15.9088 9.69959 15.7636 9.42528 15.5579 9.21942L6.64207 0.319677C6.43621 0.113497 6.15361 0.000326157 5.8606 0C5.56742 0 5.28872 0.113497 5.08303 0.319677Z" fill="#757575"/></svg></span>', 4535 }); 4536 4537 $('.js-pr-image-thumb').not('.slick-initialized').slick({ 4538 focusOnSelect: true, 4539 infinite: true, 4540 dots: false, 4541 arrows: false, 4542 slidesToShow: 5, 4543 slidesToScroll: 1, 4544 autoplay: false, 4545 asNavFor: '.js-pr-image-prev', 4546 // vertical: true, 4547 // adaptiveHeight: true, 4548 draggable: false, 4549 responsive: [ 4550 { 4551 breakpoint: 577, 4552 settings: { 4553 slidesToShow: 3, 4554 arrows: false, 4555 // vertical: false, 4556 } 4557 }, 4558 ] 4559 }); 4560
4561 $('.prCat-carousel').slick({ 4562 fade: false, 4563 infinite: true, 4564 slidesToShow: 4, 4565 arrows: true, 4566 dots:false, 4567 autoplay:true, 4568 autoplaySpeed:5000, 4569 prevArrow: '<span class="icon-prev slick-arrow"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.917 19.6803L15.5767 19.0252C15.7827 18.819 15.8962 18.5447 15.8962 18.2515C15.8962 17.9585 15.7827 17.6839 15.5767 17.4777L8.10309 10.0045L15.5849 2.52262C15.791 2.31677 15.9043 2.04213 15.9043 1.74912C15.9043 1.45611 15.791 1.18131 15.5849 0.975293L14.9293 0.320003C14.503 -0.106668 13.8085 -0.106668 13.3822 0.320003L4.44209 9.22804C4.23623 9.4339 4.09119 9.70821 4.09119 10.0038V10.0072C4.09119 10.3004 4.2364 10.5747 4.44209 10.7806L13.3579 19.6803C13.5638 19.8865 13.8464 19.9997 14.1394 20C14.4326 20 14.7113 19.8865 14.917 19.6803Z" fill="#757575"/></svg></span>', 4570 nextArrow: '<span class="icon-next slick-arrow"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.08303 0.319677L4.42335 0.974806C4.21733 1.18099 4.10383 1.4553 4.10383 1.74847C4.10383 2.04148 4.21733 2.31612 4.42335 2.5223L11.8969 9.99553L4.41506 17.4774C4.20904 17.6832 4.0957 17.9579 4.0957 18.2509C4.0957 18.5439 4.20904 18.8187 4.41506 19.0247L5.07067 19.68C5.49702 20.1067 6.19149 20.1067 6.61784 19.68L15.5579 10.772C15.7638 10.5661 15.9088 10.2918 15.9088 9.99618V9.99276C15.9088 9.69959 15.7636 9.42528 15.5579 9.21942L6.64207 0.319677C6.43621 0.113497 6.15361 0.000326157 5.8606 0C5.56742 0 5.28872 0.113497 5.08303 0.319677Z" fill="#757575"/></svg></span>', 4571 responsive: [ 4572 { 4573 breakpoint: 1200, 4574 settings: { 4575 slidesToShow: 3, 4576 } 4577 }, 4578 { 4579 breakpoint: 768, 4580 settings: { 4581 slidesToShow: 2, 4582 } 4583 }, 4584 { 4585 breakpoint: 640, 4586 settings: { 4587 slidesToShow: 1, 4588 } 4589 }, 4590 ] 4591 }); 4592}) 4593 4594$(document).ready(function(){ 4595 4596 $(document).on('click', '.load_more', function(){ 4597 4598 let targetContainer = $('.news-items') // ÐонÑейнеÑ, в коÑоÑом Ñ ÑанÑÑÑÑ ÑлеменÑÑ 4599 let url = $('.load_more').attr('data-url'); // URL, из коÑоÑого бÑдем бÑаÑÑ ÑлеменÑÑ 4600 4601 if (url !== undefined) { 4602 $.ajax({ 4603 type: 'GET', 4604 url: url, 4605 dataType: 'html', 4606 success: function(data){ 4607 //console.log(data); 4608 // УдалÑем ÑÑаÑÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ 4609 $('.load_more').remove(); 4610 4611 var elements = $(data).find('.news_col'), // ÐÑем ÑлеменÑÑ 4612 pagination = $(data).find('.load_more');// ÐÑем навигаÑÐ¸Ñ 4613 4614 targetContainer.append(elements); // ÐобавлÑем поÑÑÑ Ð² ÐºÐ¾Ð½ÐµÑ ÐºÐ¾Ð½ÑейнеÑа 4615 pagination.insertAfter(targetContainer); // добавлÑем навигаÑÐ¸Ñ Ñледом 4616 4617 } 4618 }) 4619 } 4620 4621 }); 4622// slider for news 4623 4624 4625 let slick_slider_news= $('.container_slider-news'); 4626 let itemsLength_slider_news = $('.container_slider-news > div').length - 1; 4627 let temp_itemsLength_slider_news = itemsLength_slider_news; 4628 let url_slider = $('.load_more').attr('data-url'); 4629 4630 slick_slider_news.attr('data-url',url_slider); 4631 4632 slick_slider_news.on('afterChange', function(event, slick, currentSlide, nextSlide){ 4633 if(currentSlide>itemsLength_slider_news-8){ 4634 temp_itemsLength_slider_news = itemsLength_slider_news; 4635 itemsLength_slider_news= itemsLength_slider_news+20; 4636 let targetContainer = $('.news-items'); 4637 4638 if (url_slider !== undefined) { 4639 $.ajax({ 4640 type: 'GET', 4641 url: slick_slider_news.attr('data-url'), 4642 dataType: 'html', 4643 success: function(data){ 4644 4645 // УдалÑем ÑÑаÑÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ 4646 $('.load_more-slider').remove();
4647 let count_cols = 0; 4648 let elements_slider = $(data).find('.news_col').each(function(index){ 4649 count_cols++; 4650 4651 slick_slider_news.slick('slickAdd',"<div>"+$(this).html()+"</div>"); 4652 console.log($(this).html()); 4653 });; // ÐÑем ÑлеменÑÑ 4654 let pagination_slider = $(data).find('.load_more');// ÐÑем навигаÑÐ¸Ñ 4655 //console.log(pagination_slider); 4656 slick_slider_news.attr('data-url',pagination_slider.attr('data-url')); 4657 console.log(slick_slider_news.attr('data-url')); 4658 //pagination_slider.append(slick_slider_news); // добавлÑем навигаÑÐ¸Ñ Ñледом 4659i 4660 } 4661 }) 4662 } 4663 4664 4665 4666 4667 } 4668 }); 4669 4670 slick_slider_news.slick({ 4671 infinite: false, 4672 slidesToShow: 4, 4673 slidesToScroll: 4, 4674 arrows: true, 4675 dots: false, 4676 autoplay: true, 4677 swipe: true, 4678 speed: 400, 4679 prevArrow: '<span class="icon-prev slick-arrow"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.917 19.6803L15.5767 19.0252C15.7827 18.819 15.8962 18.5447 15.8962 18.2515C15.8962 17.9585 15.7827 17.6839 15.5767 17.4777L8.10309 10.0045L15.5849 2.52262C15.791 2.31677 15.9043 2.04213 15.9043 1.74912C15.9043 1.45611 15.791 1.18131 15.5849 0.975293L14.9293 0.320003C14.503 -0.106668 13.8085 -0.106668 13.3822 0.320003L4.44209 9.22804C4.23623 9.4339 4.09119 9.70821 4.09119 10.0038V10.0072C4.09119 10.3004 4.2364 10.5747 4.44209 10.7806L13.3579 19.6803C13.5638 19.8865 13.8464 19.9997 14.1394 20C14.4326 20 14.7113 19.8865 14.917 19.6803Z" fill="#757575"/></svg></span>', 4680 nextArrow: '<span class="icon-next slick-arrow"><svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.08303 0.319677L4.42335 0.974806C4.21733 1.18099 4.10383 1.4553 4.10383 1.74847C4.10383 2.04148 4.21733 2.31612 4.42335 2.5223L11.8969 9.99553L4.41506 17.4774C4.20904 17.6832 4.0957 17.9579 4.0957 18.2509C4.0957 18.5439 4.20904 18.8187 4.41506 19.0247L5.07067 19.68C5.49702 20.1067 6.19149 20.1067 6.61784 19.68L15.5579 10.772C15.7638 10.5661 15.9088 10.2918 15.9088 9.99618V9.99276C15.9088 9.69959 15.7636 9.42528 15.5579 9.21942L6.64207 0.319677C6.43621 0.113497 6.15361 0.000326157 5.8606 0C5.56742 0 5.28872 0.113497 5.08303 0.319677Z" fill="#757575"/></svg></span>', 4681 4682 responsive: [ 4683 { 4684 breakpoint: 991, 4685 settings: { 4686 slidesToShow: 3, 4687 slidesToScroll: 3, 4688 } 4689 }, 4690 { 4691 breakpoint: 767, 4692 settings: { 4693 slidesToShow: 2, 4694 slidesToScroll: 2, 4695 } 4696 }, 4697 { 4698 breakpoint: 608, 4699 settings: { 4700 slidesToShow: 1, 4701 slidesToScroll: 1, 4702 // arrows: false, 4703 } 4704 }, 4705 ] 4706 }); 4707}); 4708 4709document.addEventListener("DOMContentLoaded", () => { 4710 document.querySelectorAll(".js-copybox").forEach((button) => { 4711 button.addEventListener("click", function (e) { 4712 e.preventDefault(); 4713 4714 const value = this.dataset.value; 4715 const ya_target = this.dataset.ya_target; 4716 4717 // ÐопиÑÑем ÑекÑÑ 4718 navigator.clipboard.writeText(value); 4719 4720 if (ya_target) { 4721 yaCounter94340193.reachGoal(ya_target); 4722 } 4723 4724 // Ðконки 4725 const copyIcon = this.querySelector(".icon-copy"); 4726 const checkIcon = this.querySelector(".icon-check"); 4727 4728 copyIcon.classList.add("hidden"); 4729 checkIcon.classList.remove("hidden"); 4730 4731 // ÐозвÑаÑаем обÑаÑно ÑеÑез 2 Ñек 4732 setTimeout(() => { 4733 copyIcon.classList.remove("hidden"); 4734 checkIcon.classList.add("hidden"); 4735 }, 2000); 4736 }); 4737 }); 4738}); 4739/* End */ 4740;; /* /local/templates/makoto/assets/js/slick.min.js?1785742512151819*/ 4741; /* /local/templates/makoto/assets/fancybox/jquery.fancybox.min.js?178574251268253*/ 4742; /* /local/templates/makoto/assets/js/main.js?178574251220287*/
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.