1jQuery(function ($) { 2 3 // + fb widget 4 function fbWidget(d, s, id) { 5 var js, fjs = d.getElementsByTagName(s)[0]; 6 if (d.getElementById(id)) { 7 return; 8 } 9 js = d.createElement(s); 10 js.id = id; 11 js.src = "//connect.facebook.net/en_EN/sdk.js#xfbml=1&version=v2.0"; 12 fjs.parentNode.insertBefore(js, fjs); 13 } 14 15 if ($('#fb-root').size() > 0) { 16 fbWidget(document, 'script', 'facebook-jssdk'); 17 } 18 // - fb widget 19 20 21 var dropDownMenu = { 22 mobileMenuContainer: '.j-menu-container', 23 dropMenuVisible: false, 24 init: function () { 25 this.showHideMenu(); 26 this.resize(); 27 }, 28 showHideMenu: function () { 29 var self = this; 30 $('.j-top-nav-show-slide').on('click', function () { 31 var $cloneNav = $('.j-menu-container .j-top-nav'); 32 if (!self.dropMenuVisible) { 33 $('.j-top-nav').clone().prependTo(self.mobileMenuContainer).addClass('b-top-nav-dropdown').addClass('f-top-nav-dropdown').animate({height: "toggle"}, 700); 34 self.dropMenuVisible = true; 35 } else { 36 $cloneNav.animate({height: "toggle"}, 700, function () { 37 $cloneNav.remove(); 38 }); 39 self.dropMenuVisible = false; 40 } 41 self.toggleIcon(); 42 }); 43 }, 44 toggleIcon: function () { 45 var self = this; 46 $(self.mobileMenuContainer + ' .b-ico-dropdown').on('click', function () { 47 var $liFirstLevel = $(this).parents('.b-top-nav__1level'); 48 $liFirstLevel.toggleClass('is-active-top-nav__dropdown'); 49 $liFirstLevel.find('.fa').toggleClass('fa-arrow-circle-down').toggleClass('fa-arrow-circle-up'); 50 $liFirstLevel.find('.b-top-nav__dropdomn').slideToggle('slow'); 51 return false; 52 }); 53 }, 54 resize: function () { 55 var self = this; 56 $(window).on('resize', function () { 57 if ($(self.mobileMenuContainer + ' .j-top-nav') && self.dropMenuVisible && $(window).width() > BREAK.MD) { 58 $('.j-top-nav-show-slide').click(); 59 self.dropMenuVisible = false; 60 } 61 }); 62 } 63 }; 64 dropDownMenu.init(); 65 66 var pageDecoration = { 67 groupAnimatecontroller: true, 68 groupAnimateSize: 0, 69 init: function () { 70 var self = this; 71 self.galleryHoverInfo(); 72 self.animateCategoryIcons(); 73 self.fadeInAnimation(); 74 self.fadeInGroup(); 75 self.imagesAppearance(); 76 self.toHeightScreen($('.slider-carousel-roundabout')); 77 self.toHeightScreen($('.slider-video-container'), 92); 78 self.hoverDependence($('.b-blog-short-post__item_img a'), $('.b-blog-short-post__item_text a'), $('.b-blog-short-post__item')); 79 self.togleActive(); 80 }, 81 galleryHoverInfo: function () { 82 $('body').on('mouseenter', '.j-item-hover-action',function () { 83 $(this).find('.b-item-hover-action, [class*="b-item-hover-action--"]').addClass('is-visible fadeIn animated'); 84 }).on('mouseleave', '.j-item-hover-action', function () { 85 $(this).find('.b-item-hover-action, [class*="b-item-hover-action--"]').removeClass('is-visible fadeIn animated'); 86 }); 87 88 // Touch Events for Tablet & Mobile 89 $('.view').on('touchstart', function () { 90 $(this).find('.info').on('touchstart', function (event) { 91 event.stopPropagation(); 92 }); 93 $(this).toggleClass('is-active'); 94 }) 95 }, 96 animateCategoryIcons: function () { 97 $('.b-categories-icons__item').hover(function () { 98 $(this).addClass('is-active-categories-icons__item'); 99 }, function () { 100 $(this).removeClass('is-active-categories-icons__item'); 101 }); 102 }, 103 fadeInAnimation: function () { 104 var self = this; 105 $('.fade-in-animate').on('scrollSpy:enter',function () { 106 var el = $(this); 107 if (!(el.attr('data-animate-group'))) { 108 el.addClass('visible'); 109 } 110 }).scrollSpy(); 111 $('.j-data-element').on('scrollSpy:enter',function () { 112 var animateType = $(this).data('animate'); 113 $(this).addClass('animated ' + animateType); 114 }).scrollSpy(); 115 }, 116 fadeInGroup: function () { 117 var self = this; 118 $('[data-animate-group-wrap]').on('scrollSpy:enter',function () { 119 var el = $('.fade-in-animate', $(this)), 120 countEl = el.length; 121 var i = 0; 122 var timerEl = setInterval(function () { 123 if (i === countEl - 1) { 124 clearInterval(timerEl); 125 } 126 el.eq(i).addClass('visible'); 127 i++; 128 }, 250) 129 }).scrollSpy(); 130 }, 131 imagesAppearance: function () { 132 $('.wrap-img-appearance').on('scrollSpy:enter',function () { 133 var $elements = $(this).find('img'); 134 var index = 0; 135 136 function eachEl() { 137 var animateType = $elements.eq(index).data('animate'); 138 $elements.eq(index).addClass('animated').addClass(animateType); 139 index++; 140 if (index >= $elements.length) { 141 clearTimeout(time); 142 } 143 } 144 145 var time = setInterval(eachEl, 250); 146 }).scrollSpy(); 147 }, 148 setElHeight: function (height, $el, k) { 149 if (k) { 150 $el.css('height', height - k); 151 } 152 else { 153 $el.css('height', height); 154 } 155 }, 156 toHeightScreen: function ($el, k) { 157 var self = this; 158 if ($el.length) { 159 $(window).on('resize', function () { 160 self.setElHeight($(window).outerHeight(), $el, k); 161 }); 162 self.setElHeight($(window).outerHeight(), $el, k); 163 } 164 },
165 hoverDependence: function (el1, el2, parent) { 166 el1.hover(function () { 167 $(this).closest(parent).find(el2).addClass('is-hover'); 168 }, 169 function () { 170 $(this).closest(parent).find(el2).removeClass('is-hover'); 171 }); 172 el2.hover(function () { 173 $(this).closest(parent).find(el1).addClass('is-hover'); 174 }, 175 function () { 176 $(this).closest(parent).find(el1).removeClass('is-hover'); 177 }); 178 }, 179 togleActive: function () { 180 $('.j-toggle-active').on('click', function (e) { 181 e.preventDefault(); 182 $(this).toggleClass('is-active'); 183 }); 184 } 185 }; 186 pageDecoration.init(); 187 188 var revolutionSlider = { 189 islider: $('.j-fullscreenslider, .j-contentwidthslider, .j-smallslider'), 190 init: function () { 191 var self = this; 192 self.revSliderInit(); 193 self.islider.on('rerenderRevSlider', function () { 194 self.rerenderSlider(); 195 }); 196 }, 197 revSliderInit: function () { 198 var revapi, 199 self = this; 200 201 this.islider.each(function () { 202 var slider = $(this); 203 var args = { 204 delay: 6300, 205 startwidth: 1170, 206 startheight: 500, 207 hideThumbs: 10, 208 navigationArrows: "solo" 209 }; 210 if (slider.hasClass('j-smallslider')) { 211 args.startwidth = "560"; 212 args.startheight = "330"; 213 args.navigationType = "none"; 214 args.navigationStyle = "square"; 215 } 216 if (slider.hasClass('j-contentwidthslider')) { 217 args.startwidth = "1170"; 218 } 219 if (slider.hasClass('j-contentwidthslider-innerheight')) { 220 args.startheight = "316"; 221 } 222 if (slider.hasClass('j-arr-nexttobullets')) { 223 args.navigationArrows = "nexttobullets"; 224 } 225 if (slider.hasClass('j-arr-hide')) { 226 args.navigationArrows = "none"; 227 } 228 if (slider.hasClass('b-video-slider')) { 229 args.navigationVOffset = 153; 230 args.autoHeight = 'on'; 231 args.startheight = 1024; 232 } 233 if (slider.hasClass('j-pagination-hide')) { 234 args.navigationType = "none"; 235 } 236 if (slider.attr('data-height')) { 237 args.startheight = slider.data('height'); 238 } 239 if (slider.attr('data-thumb-amount')) { 240 args.navigationType = "thumb"; 241 args.thumbAmount = slider.data('thumb-amount'); 242 args.thumbWidth = 176; 243 args.thumbHeight = 105; 244 args.hideThumbs = 0; 245 delete args.startwidth; 246 delete args.startheight; 247 } 248 if (slider.closest('.b-slider').hasClass('b-slider--thumb')) { 249 var mass = []; 250 var img = slider.find('img'); 251 img.each(function () { 252 mass.push($(this).attr('src')); 253 }); 254 revapi = slider.revolution(args); 255 self.islider.bind('revolution.slide.onloaded', function () { 256 slider.next('.tp-bullets').find('.bullet').each(function (i) { 257 $(this).css('background', 'url(' + mass[i] + ') no-repeat scroll 0px 0px / cover transparent'); 258 }); 259 self.islider.unbind('revolution.slide.onloaded'); 260 }); 261 } else { 262 revapi = slider.revolution(args); 263 } 264 }); 265 }, 266 rerenderSlider: function () { 267 var self = this; 268 self.islider.revnext(); 269 setTimeout(function () { 270 self.islider.revnext(); 271 }, 2000); 272 } 273 }; 274 revolutionSlider.init(); 275 276 var backgroundVideo = { 277 init: function () { 278 var self = this; 279 if ((navigator.userAgent.match(/iPhone/i)) || 280 (navigator.userAgent.match(/iPad/i)) || 281 (navigator.userAgent.match(/iPod/i))) { 282 $('.b-bg-video').addClass('device-ios'); 283 } 284 self.videoControls(); 285 self.videoScrollSpy(); 286 }, 287 videoControls: function () { 288 $('.j-video-controls i').on('click', function () { 289 var video = $("#video1")[0]; 290 if (video.paused) { 291 video.play(); 292 } else { 293 video.pause(); 294 } 295 $(this).hide().siblings().css('display', 'inline-block'); 296 }); 297 }, 298 videoScrollSpy: function () { 299 var $video1 = $('#video1'); 300 301 $video1.on('scrollSpy:enter', function () { 302 if ($(this)[0].paused) { 303 $(this)[0].play(); 304 } 305 $('#video1-play').hide(); 306 $('#video1-pause').show(); 307 }); 308 309 $video1.on('scrollSpy:exit', function () { 310 $(this)[0].pause(); 311 $('#video1-play').show(); 312 $('#video1-pause').hide(); 313 }); 314 315 $video1.scrollSpy(); 316 } 317 318 }; 319 backgroundVideo.init(); 320 321 var formEls = { 322 init: function () { 323 var self = this; 324 self.select(); 325 self.sliderRange(); 326 self.inputFile(); 327 self.placeholder(); 328 self.inputNumber(); 329 self.inputNumberMore(); 330 self.inputNumberLess(); 331 $(window).on('resize', function () { 332 self.resize(); 333 }); 334 335 }, 336 select: function () { 337 $(".j-select").each(function () { 338 $(this).selectmenu({ 339 width: $(this).css('width'), 340 disabled: $(this).prop('disabled') 341 }); 342 }); 343 }, 344 sliderRange: function () { 345 $(".j-slider-range").each(function () { 346 var rangeSlider = $(this); 347 rangeSlider.slider({ 348 range: true, 349 min: 0, 350 max: 999, 351 values: [ 200, 700 ], 352 slide: function (event, ui) { 353 rangeSlider.find('.max').text("$" + ui.values[ 1 ]); 354 rangeSlider.find('.min').text("$" + ui.values[ 0 ]); 355 } 356 }); 357 var handle = rangeSlider.find('.ui-slider-handle'); 358 handle.filter(':first').append('<span class="min"></span>'); 359 handle.filter(':last').append('<span class="max"></span>'); 360 handle.find('.min').text("$" + rangeSlider.slider("values", 0)); 361 handle.find('.max').text("$" + rangeSlider.slider("values", 1)); 362 }); 363 }, 364 inputFile: function () { 365 var wrapper = $(".file_upload"), 366 inp = wrapper.find("input"), 367 btn = wrapper.find("button"), 368 lbl = wrapper.find("div"); 369 370 btn.focus(function () { 371 inp.focus() 372 }); 373 // Crutches for the :focus style: 374 inp.focus(function () { 375 wrapper.addClass("focus"); 376 }).blur(function () { 377 wrapper.removeClass("focus"); 378 }); 379 380 var file_api = ( window.File && window.FileReader && window.FileList && window.Blob ) ? true : false; 381 382 inp.change(function () { 383 var file_name; 384 if (file_api && inp[ 0 ].files[ 0 ]) 385 file_name = inp[ 0 ].files[ 0 ].name; 386 else 387 file_name = inp.val().replace("C:\\fakepath\\", ''); 388 389 if (!file_name.length) 390 return; 391 392 if (lbl.is(":visible")) { 393 lbl.text(file_name); 394 } else 395 btn.text(file_name); 396 }).change(); 397 }, 398 placeholder: function () { 399 $('input, textarea').placeholder(); 400 }, 401 inputNumber: function () { 402 $('input[type=number]').each(function () { 403 var el = $(this); 404 $('<div class="input-number-box"></div>').insertAfter(el); 405 var parent = el.find('+ .input-number-box'); 406 parent.append(el); 407 var classes = el.attr('class'); 408 parent.append('<input class="input-number" type="text">'); 409 el.hide(); 410 var newEl = el.next();
411 newEl.addClass(classes); 412 var attrValue; 413 414 function setInputAttr(attrName) { 415 if (el.attr(attrName)) { 416 attrValue = el.attr(attrName); 417 newEl.attr(attrName, attrValue); 418 } 419 } 420 421 setInputAttr('value'); 422 setInputAttr('placeholder'); 423 setInputAttr('min'); 424 setInputAttr('max'); 425 setInputAttr('step'); 426 427 parent.append('<div class="input-number-more"></div>'); 428 parent.append('<div class="input-number-less"></div>'); 429 }); 430 431 }, 432 inputNumberMore: function () { 433 $('body').on('click', '.input-number-more', function () { 434 var el = $(this); 435 var input = el.closest('.input-number-box').find('.input-number'); 436 var max = input.attr('max'); 437 var value; 438 439 if (input.attr('value')) { 440 value = parseFloat(input.attr('value')); 441 } else if (input.attr('placeholder')) { 442 value = parseFloat(input.attr('placeholder')); 443 } 444 if (!( $.isNumeric(value) )) { 445 value = 0; 446 } 447 448 var step; 449 if (input.attr('step')) { 450 step = parseFloat(input.attr('step')); 451 } else { 452 step = 1; 453 } 454 var newValue = value + step; 455 if (newValue > max) { 456 newValue = max; 457 } 458 input.val(newValue); 459 var inputNumber = el.closest('.input-number-box').find('[type=number]'); 460 inputNumber.val(newValue); 461 }); 462 }, 463 inputNumberLess: function () { 464 $('body').on('click', '.input-number-less', function () { 465 var el = $(this); 466 var input = el.closest('.input-number-box').find('.input-number'); 467 var min = input.attr('min'); 468 var value; 469 470 if (input.attr('value')) { 471 value = parseFloat(input.attr('value')); 472 } else if (input.attr('placeholder')) { 473 value = parseFloat(input.attr('placeholder')); 474 } 475 if (!( $.isNumeric(value) )) { 476 value = 0; 477 } 478 479 var step; 480 if (input.attr('step')) { 481 step = parseFloat(input.attr('step')); 482 } else { 483 step = 1; 484 } 485 var newValue = value - step; 486 if (newValue < min) { 487 newValue = min; 488 } 489 input.val(newValue); 490 var inputNumber = el.closest('.input-number-box').find('[type=number]'); 491 inputNumber.val(newValue); 492 }); 493 }, 494 resize: function () { 495 $(".file_upload input").triggerHandler("change"); 496 } 497 }; 498 formEls.init(); 499 500 var totalPrice = { 501 boxEL: ".j-price-count-box", 502 counterEL: ".j-product-count", 503 parentEL: "tr:not(:first-child)", 504 priceEL: ".j-product-price", 505 totalEL: ".j-product-total", 506 priceTotal: ".j-price-total", 507 totalCount: 0, 508 init: function () { 509 var self = this; 510 self.getTotalPrice(); 511 self.changeCounterEl(); 512 }, 513 getTotalPrice: function () { 514 var self = this; 515 self.totalCount = 0; 516 $(self.parentEL).each(function () { 517 var el = $(this); 518 var currentPrice = parseFloat(el.find(self.priceEL).text()).toFixed(2) * parseFloat(el.find(self.counterEL).val()); 519 el.find(self.totalEL).text(currentPrice.toFixed(2)); 520 self.totalCount += currentPrice; 521 }); 522 self.totalPrice(self.totalCount); 523 }, 524 totalPrice: function () { 525 var self = this; 526 $(self.priceTotal).text(self.tolalCount); 527 }, 528 changeCounterEl: function () { 529 var self = this; 530 $(self.counterEL).change(function () { 531 self.getTotalPrice(); 532 }); 533 } 534 }; 535 totalPrice.init(); 536 537 var menu = { 538 init: function () { 539 var self = this; 540 self.onHover(); 541 self.multiLvlMenu(); 542 }, 543 onHover: function () { 544 $('.b-top-nav__1level').hover(function () { 545 if ($(window).width() > (BREAK.MD - 1)) { 546 var dropEL = $(this).find('.b-top-nav__dropdomn'); 547 if (dropEL.length !== 0) { 548 var leftPosition = dropEL.offset().left; 549 var rightPosition = dropEL.offset().left + dropEL.outerWidth(); 550 551 if (leftPosition < 0) { 552 dropEL.addClass('nav-position-right'); 553 } else { 554 dropEL.removeClass('nav-position-right'); 555 } 556 557 if (rightPosition > $(window).width()) { 558 dropEL.addClass('nav-position-left'); 559 } else { 560 dropEL.removeClass('nav-position-left'); 561 } 562 } 563 } 564 }); 565 }, 566 multiLvlMenu: function () { 567 $('body').on('click', '.b-top-nav__with-multi-lvl', function () { 568 if ($(window).width() < (BREAK.MD)) { 569 if ($(this).hasClass('is-active-multi-lvl')) { 570 $(this).removeClass('is-active-multi-lvl'); 571 $(this).find(' >
571 .b-top-nav__multi-lvl-box').slideUp(); 572 } else { 573 $(this).addClass('is-active-multi-lvl'); 574 $(this).find(' > .b-top-nav__multi-lvl-box').slideDown(); 575 } 576 } 577 }); 578 $('body').on('click', '.b-top-nav__multi-lvl', function (e) { 579 e.stopPropagation(); 580 }); 581 } 582 583 }; 584 menu.init(); 585 586 var masonryFilter = { 587 massMasonry: [], 588 dataFilterVal: "all", 589 init: function () { 590 var self = this; 591 self.filterEl('.j-filter', '.j-filter-content'); 592 self.masonry(); 593 }, 594 masonry: function () { 595 var self = this; 596 var msnry; 597 var i = 0; 598 $('.j-masonry').each(function () { 599 var el = $(this), 600 newClass = 'j-masonry-' + i; 601 602 el.addClass(newClass).attr('data-masonry-id', i); 603 i++; 604 el.imagesLoaded(function () { 605 var container = document.querySelector('.' + newClass); 606 607 msnry = new Masonry(container, 608 { 609 itemSelector: '.j-masonry-item', 610 columnWidth: '.' + newClass + ' .masonry-gridSizer', 611 transitionDuration: '1.2s' 612 }); 613 self.massMasonry.push(msnry); 614 el.data('masonry', msnry); 615 }); 616 }); 617 }, 618 filterEl: function (filterNav, filterContent) { 619 var self = this; 620 $(filterNav + ' a').click(function (e) { 621 e.preventDefault(); 622 var el = $(this); 623 var activeClass = "is-category-filter-active"; 624 $(filterNav + ' li').removeClass(activeClass); 625 el.closest('li').addClass(activeClass); 626 self.dataFilterVal = el.attr('data-filter'); 627 self.filterStart(self.dataFilterVal, filterContent); 628 }); 629 }, 630 filterStart: function (dataFilterVal, filterContent) { 631 var self = this; 632 if (dataFilterVal == "all") { 633 $(filterContent + ' [class*="j-filter-"]').show().stop(true, false).animate({ 634 opacity: 1 635 }, 400); 636 } else { 637 var hideItems = $(filterContent + ' [class*="j-filter-"]').not(dataFilterVal); 638 hideItems.stop(true, false).animate({ 639 opacity: 0 640 }, 400); 641 setTimeout(function () { 642 hideItems.hide(); 643 }, 301); 644 $(filterContent + " " + dataFilterVal).show().stop(true, false).animate({ 645 opacity: 1 646 }, 400); 647 } 648 setTimeout(function () { 649 var masonryId = $(filterContent).find('.j-masonry').attr('data-masonry-id'); 650 self.massMasonry[masonryId].layout(); 651 }, 501); 652 } 653 }; 654 masonryFilter.init(); 655 656 var carouFredSelTabs = { 657 init: function () { 658 var self = this; 659 self.paramsInit(); 660 self.carouFredSelcheckElements(); 661 $(window).on('resize', function () { 662 self.resize(); 663 }); 664 }, 665 paramsInit: function () { 666 $('.j-tabs-check-size').carouFredSel({ 667 auto: { 668 play: false 669 }, 670 prev: '.j-tabs-btn-prev', 671 next: '.j-tabs-btn-next', 672 items: 'variable', 673 mousewheel: true, 674 responsive: false, 675 infinite: true, 676 circular: true, 677 swipe: { 678 onMouse: true, 679 onTouch: true 680 }, 681 align: "left", 682 width: "100%", 683 scroll: { 684 items: 1 685 } 686 }); 687 }, 688 carouFredSelcheckElements: function () { 689 var alltabs = $('.j-tabs-check-size > li').length; 690 var visibleTabs = $('.j-tabs-check-size').triggerHandler("currentVisible").length; 691 if (visibleTabs < alltabs) { 692 $('.tabs-wrap').addClass('btns-indent'); 693 $('.j-tabs-check-size').trigger("updateSizes"); 694 } else { 695 $('.tabs-wrap').removeClass('btns-indent'); 696 } 697 }, 698 resize: function () { 699 this.carouFredSelcheckElements(); 700 } 701 }; 702 if ($('.j-tabs-check-size').length) { 703 carouFredSelTabs.init(); 704 } 705 706 var headerAndTopButtonPosition = { 707 $header: $('header'), 708 headerBreakHeight: 0, 709 $slider: $('.j-fixed-slider'), 710 scrollController: true, 711 headerFixed: false, 712 toTopBtn: $('.j-footer__btn_up'), 713 windowScrollTop: $(window).scrollTop(), 714 menuTopLevel: $('.b-top-nav__1level'), 715 init: function () { 716 var self = this; 717 self.checkHeaderWindowWidth(); 718 self.btnToTopInit(); 719 self.dropDownMenuAnimation(); 720 $(window).on('resize', function () { 721 self.resize(); 722 }); 723 }, 724 checkHeaderWindowWidth: function () { 725 var self = this; 726 self.headerFixed = false; 727 self.windowScrollTop = $(window).scrollTop(); 728 if (self.$header.length !== 0) { 729 self.checkHeaderWindowWidthNow(); 730 $(window).on('scroll', function () { 731 self.checkHeaderWindowWidthNow(); 732 }); 733 } 734 }, 735 checkHeaderWindowWidthNow: function () { 736 var self = this; 737 if (window.innerWidth > BREAK.LG) { 738 self.windowScrollTop = $(window).scrollTop(); 739 self.checkHeaderPosition(); 740 self.btnToTop(); 741 } else { 742 $('body').removeClass('is-fixed-header').css('padding-top', '0' + 'px'); 743 self.$header.removeClass('animated fadeInDown'); 744 } 745 }, 746 checkHeaderPosition: function () { 747 var self = this; 748 if (self.windowScrollTop > self.headerBreakHeight && !self.headerFixed) { 749 $('body').addClass('is-fixed-header').css('padding-top', self.$header.outerHeight() + 'px'); 750 self.$header.addClass('animated fadeInDown'); 751 self.$slider.addClass('is-active').css('top', self.$header.outerHeight() + 'px'); 752 self.headerFixed = true; 753 } 754 else if (self.windowScrollTop <= self.headerBreakHeight && self.headerFixed) { 755 $('body').removeClass('is-fixed-header').css('padding-top', '0px'); 756 self.$header.removeClass('animated fadeInDown'); 757 self.$slider.removeClass('is-active'); 758 self.headerFixed = false; 759 } 760 }, 761 btnToTopInit: function () { 762 var self = this; 763 var SPEEDTOP = 500; // button to top 764 self.toTopBtn.addClass('b-hidden').css('opacity', 0); 765 self.toTopBtn.css('position', 'fixed'); 766 self.toTopBtn.on('click', function () { 767 var offset = $('body').offset(); 768 if (offset) { 769 $('html,body').animate({scrollTop: offset.top}, SPEEDTOP); 770 } 771 }); 772 }, 773 btnToTop: function () { 774 var self = this; 775 if (self.windowScrollTop >
775 self.headerBreakHeight && self.scrollController) { 776 self.scrollController = false; 777 self.toTopBtn.removeClass('b-hidden'); 778 self.toTopBtn.stop(true, true).animate({ 779 opacity: 1 780 }, 1000); 781 } else if (self.windowScrollTop <= self.headerBreakHeight) { 782 self.scrollController = true; 783 self.toTopBtn.addClass('b-hidden').css('opacity', 0); 784 self.toTopBtn.stop(true, true).animate({ 785 opacity: 0 786 }, 1000); 787 } 788 }, 789 dropDownMenuAnimation: function () { 790 var self = this; 791 if ($(window).width() > BREAK.LG) { 792 self.menuTopLevel.hover(function () { 793 $(this).find('.b-top-nav__dropdomn') 794 .css('display', 'block') 795 .animate({ 796 opacity: 1 797 }, 400); 798 }, function () { 799 $(this).find('.b-top-nav__dropdomn') 800 .animate({ 801 opacity: 0 802 }, 400, function(){ 803 $(this).css('display', ''); 804 }); 805 }) 806 } else { 807 self.menuTopLevel.find('.b-top-nav__dropdomn').css('opacity', ''); 808 } 809 810 }, 811 resize: function () { 812 this.checkHeaderWindowWidth(); 813 this.dropDownMenuAnimation(); 814 } 815 }; 816 headerAndTopButtonPosition.init(); 817 818 $('[data-type="background"]').each(function () { 819 var $bgobj = $(this); 820 $(window).on('scroll', function () { 821 var yPos = -($(window).scrollTop() / $bgobj.data('speed')); 822 var coords = 'center ' + yPos + 'px'; 823 $bgobj.css({ backgroundPosition: coords }); 824 }); 825 }); 826}); 827 828
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.