(function (jQuery) { "use strict"; var registerDependencies = function () { if (null != PluginJsConfig && null != PluginJsConfig.js_dependencies) { var js_dependencies = PluginJsConfig.js_dependencies; for (var dependency in js_dependencies) { asyncloader.register(js_dependencies[dependency], dependency); } } // console.log(PluginJsConfig.js_dependencies); }, timer = function () { jQuery('.timer').countTo(); }, isotope = function() { jQuery('.pt-masonry').isotope({ itemSelector: '.pt-masonry-item', masonry: { columnWidth: '.grid-sizer', // gutter: 0 } }); jQuery('.pt-grid').isotope({ itemSelector: '.pt-grid-item', }); jQuery('.pt-filter-button-group').on('click', '.pt-filter-btn', function() { var filterValue = jQuery(this).attr('data-filter'); // console.log(filterValue); jQuery('.pt-masonry').isotope({ filter: filterValue }); jQuery('.pt-grid').isotope({ filter: filterValue }); jQuery('.pt-filter-button-group .pt-filter-btn').removeClass('active'); jQuery(this).addClass('active'); updateFilterCounts(); }); var initial_items = 5; var next_items = 3; if (jQuery('.pt-masonry').length > 0) { var initial_items = jQuery('.pt-masonry').data('initial_items'); var next_items = jQuery('.pt-masonry').data('next_items'); } if (jQuery('.pt-grid').length > 0) { var initial_items = jQuery('.pt-grid').data('initial_items'); var next_items = jQuery('.pt-grid').data('next_items'); } function showNextItems(pagination) { var itemsMax = jQuery('.visible_item').length; var itemsCount = 0; jQuery('.visible_item').each(function() { if (itemsCount < pagination) { jQuery(this).removeClass('visible_item'); itemsCount++; } }); if (itemsCount >= itemsMax) { jQuery('#showMore').hide(); } if (jQuery('.pt-masonry').length > 0) { jQuery('.pt-masonry').isotope('layout'); } if (jQuery('.pt-grid').length > 0) { jQuery('.pt-grid').isotope('layout'); } } // function that hides items when page is loaded function hideItems(pagination) { var itemsMax = jQuery('.pt-filter-items').length; // console.log(itemsMax); var itemsCount = 0; jQuery('.pt-filter-items').each(function() { if (itemsCount >= pagination) { jQuery(this).addClass('visible_item'); } itemsCount++; }); if (itemsCount < itemsMax || initial_items >= itemsMax) { jQuery('#showMore').hide(); } if (jQuery('.pt-masonry').length > 0) { jQuery('.pt-masonry').isotope('layout'); } if (jQuery('.pt-grid').length > 0) { jQuery('.pt-grid').isotope('layout'); } } jQuery('#showMore').on('click', function(e) { e.preventDefault(); showNextItems(next_items); }); hideItems(initial_items); function updateFilterCounts() { // get filtered item elements if (jQuery('.pt-masonry').length > 0) { var itemElems = jQuery('.pt-masonry').isotope('getFilteredItemElements'); } if (jQuery('.pt-grid').length > 0) { var itemElems = jQuery('.pt-grid').isotope('getFilteredItemElements'); } var count_items = jQuery(itemElems).length; // console.log(count_items); if (count_items > initial_items) { jQuery('#showMore').show(); } else { jQuery('#showMore').hide(); } if (jQuery('.pt-filter-items').hasClass('visible_item')) { jQuery('.pt-filter-items').removeClass('visible_item'); } var index = 0; jQuery(itemElems).each(function() { if (index >= initial_items) { jQuery(this).addClass('visible_item'); } index++; }); if (jQuery('.pt-masonry').length > 0) { jQuery('.pt-masonry').isotope('layout'); } if (jQuery('.pt-grid').length > 0) { jQuery('.pt-grid').isotope('layout'); } } }, owl_carousel = function () { jQuery('.owl-carousel').each(function () { var app_slider = jQuery(this); var rtl = false; var prev = 'ion-ios-arrow-back'; var next = 'ion-ios-arrow-forward'; var prev_text = 'Prev'; var next_text = 'Next'; if (jQuery('body').hasClass('pt-is-rtl')) { rtl = true; prev = 'ion-ios-arrow-forward'; next = 'ion-ios-arrow-back'; } if (app_slider.data('prev_text') && app_slider.data('prev_text') != '') { prev_text = app_slider.data('prev_text'); } if (app_slider.data('next_text') && app_slider.data('next_text') != '') { next_text = app_slider.data('next_text'); } app_slider.owlCarousel({ rtl: rtl, items: app_slider.data("desk_num"), loop: app_slider.data("loop"), margin: app_slider.data("margin"), nav: app_slider.data("nav"), dots: app_slider.data("dots"), loop: app_slider.data("loop"), autoplay: app_slider.data("autoplay"), autoplayHoverPause: true, autoplayTimeout: app_slider.data("autoplay-timeout"), navText: ["", ""], responsiveClass: true, responsive: { // breakpoint from 0 up 0: { items: app_slider.data("mob_sm"), nav: true, dots: false }, // breakpoint from 480 up 480: { items: app_slider.data("mob_num"), nav: true, dots: false }, // breakpoint from 786 up 786: { items: app_slider.data("tab_num") }, // breakpoint from 1023 up 1023: { items: app_slider.data("lap_num") }, 1199: { items: app_slider.data("desk_num") } } }); }); }, slick_slider = function () { if ( jQuery('.slick-slider-main').length ) { var $slider = jQuery('.slick-slider-main') .slick({ slidesToShow: 1, infinite: false, arrows: true, autoplay: false, dots: false, lazyLoad: 'ondemand', autoplaySpeed: 3000, loop: true, asNavFor: '.slick-slider-thumb' }); var $slider2 = jQuery('.slick-slider-thumb') .slick({ slidesToShow: 3, infinite: false, lazyLoad: 'ondemand', asNavFor: '.slick-slider-main', autoplay: false, dots: false, Default:'50px', arrows: false, centerMode: false, loop: true, focusOnSelect: true }); } }, pop_video = function () { jQuery('.popup-youtube, .popup-vimeo, .popup-gmaps, .button-play').magnificPopup({ type: 'iframe', mainClass: 'mfp-fade', preloader: true, }); }, circle_progress = function () { jQuery('.pt-circle-progress-bar').each(function () { var number = jQuery(this).data('skill-level'); var empty_color = jQuery(this).data('empty-color'); var fill_color = jQuery(this).data('fill-color'); var size = jQuery(this).data('size'); var thickness = jQuery(this).data('thickness'); jQuery(this).circleProgress({ value: '0.' + number, size: size, emptyFill: empty_color, fill: { color: fill_color } }).on('circle-animation-progress', function (event, progress) { jQuery(this).find('.pt-progress-count').html(Math.round(number * progress) + '%'); }); }); }, progress_bar = function() { jQuery('.pt-progress-bar > span').each(function() { var app_slider = jQuery('.pt-progressbar-box'); jQuery(this).progressBar({ shadow: false, animation: true, height: app_slider.data('h'), percentage: false, border: false, animateTarget: true, }); var progress_bar = jQuery(this); var width = jQuery(this).data('percent'); progress_bar.css({ 'transition': 'width 2s' }); jQuery('.progress-value').css({ 'transition': 'margin 2s' }); setTimeout(function() { jQuery(this).show(function() { progress_bar.css('width', width + '%'); }); }, 500); setTimeout(function() { jQuery('.pt-progressbar-style-1 .progress-value').show(function() { jQuery('.pt-progressbar-style-1 .progress-value').css('margin-left', width + 'px'); }); }, 500); setTimeout(function() { jQuery('.pt-progressbar-style-3 .progress-tooltip').show(function() { jQuery('.pt-progressbar-style-3 .progress-tooltip').css('margin-left', width + 'px'); }); }, 500); }); }, moving_gallery = function () { gsap.defaults({overwrite: "auto"}); gsap.registerPlugin(ScrollTrigger, Flip); gsap.config({nullTargetWarn: false}); gsap.utils.toArray('.pt-moving-scroll').forEach((section, index) => { const galleryList = section.querySelector('.pt-moving-scroll-list'); const [x, xEnd] = (index % 2) ? [(section.offsetWidth - galleryList.scrollWidth), 0] : [0, section.offsetWidth - galleryList.scrollWidth]; gsap.fromTo(galleryList, { x }, { x: xEnd, scrollTrigger: { trigger: section, scrub: 0.5, } }); }); }, // counter js counter = function () { var counted = 0; var Toduration = 0; jQuery(window).scroll(function () { var oTop = jQuery('.pt-counter-info').offset().top - window.innerHeight; if (counted == 0 && jQuery(window).scrollTop() > oTop) { jQuery('.pt-count').each(function () { var $this = jQuery(this), countTo = $this.attr('data-count'); var Toduration = parseInt($this.attr('pt-duration')); // Parse int to ensure it's a number // console.log(Toduration); jQuery({ countNum: $this.text() }).animate({ countNum: countTo }, { duration: Toduration, easing: 'swing', step: function () { $this.text(Math.floor(this.countNum)); }, complete: function () { $this.text(this.countNum); //alert('finished'); } }); }); counted = 1; } }); }, // hover active item_list_hover_active = function () { var nthChildValue = 2; jQuery('.pt-hover-active .pt-hover-item:nth-child(' + nthChildValue + ')').addClass("pt-active"); jQuery('.pt-hover-item').on({ mouseenter: function () { jQuery('.pt-hover-item').removeClass('pt-active'); jQuery(this).addClass('pt-active'); }, }); }, // Crad card = function () { const { ScrollObserver, valueAtPercentage } = aat const cardsContainer = document.querySelector('.pt-cards') const cards = document.querySelectorAll('.pt-card') cardsContainer.style.setProperty('--cards-count', cards.length - 3) cardsContainer.style.setProperty( '--card-height', `${cards[0].clientHeight}px` ) Array.from(cards).forEach((card, index) => { const offsetTop = 20 + index * 20 card.style.paddingTop = `${offsetTop}px` if (index === cards.length - 1) { return } const toScale = 1 - (cards.length - 1 - index) * 0.05 const nextCard = cards[index + 1] const cardInner = card.querySelector('.pt-card-inner') ScrollObserver.Element(nextCard, { offsetTop, offsetBottom: window.innerHeight - card.clientHeight }).onScroll(({ percentageY }) => { cardInner.style.scale = valueAtPercentage({ from: 1, to: toScale, percentage: percentageY }) cardInner.style.filter = `brightness(${valueAtPercentage({ from: 1, to: 0.6, percentage: percentageY })})` }) }) }, accordion = function () { jQuery('.pt-accordion-block .pt-accordion-box .pt-accordion-details').hide(); jQuery('.pt-accordion-block .pt-accordion-box:first').addClass('pt-active').children().slideDown('slow'); jQuery('.pt-accordion-block .pt-accordion-box').on("click", function () { if (jQuery(this).children('div.pt-accordion-details').is(':hidden')) { jQuery('.pt-accordion-block .pt-accordion-box').removeClass('pt-active').children('div.pt-accordion-details').slideUp('slow'); jQuery(this).toggleClass('pt-active').children('div.pt-accordion-details').slideDown('slow'); } }); }; jQuery(document).ready(function () { registerDependencies(); if (jQuery('.timer').length > 0) { asyncloader.require(['jquery.countTo'], function () { timer(); }); } if (jQuery('.pt-masonry , .pt-grid ').length > 0) { asyncloader.require(['isotope.pkgd'], function() { isotope(); }); } if (jQuery('.owl-carousel').length > 0) { asyncloader.require(['owl.carousel'], function () { owl_carousel(); }); } if (jQuery('.popup-youtube, .popup-vimeo, .popup-gmaps, .button-play').length > 0) { asyncloader.require(['jquery.magnific-popup'], function () { pop_video(); }); } if (jQuery('.slick-slider-main').length > 0) { slick_slider(); } if (jQuery('.pt-progressbar-box').length > 0) { asyncloader.require(['progressbar.js'], function() { progress_bar(); }); } if (jQuery('.pt-circle-progress-bar').length > 0) { asyncloader.require(['circle-progress'], function () { circle_progress(); }); } if (jQuery('.pt-cards').length > 0) { card(); } if (jQuery('.pt-moving-scroll').length > 0) { moving_gallery(); } if (jQuery('.pt-counter-info').length > 0) { counter(); } if (jQuery('.pt-hover-active').length > 0) { item_list_hover_active(); } jQuery.fn.BeerSlider = function ( options ) { options = options || {}; return this.each(function() { new BeerSlider(this, options); }); }; jQuery('.beer-slider').BeerSlider({start: 50}); jQuery('p:empty').remove(); }); })(jQuery);