/* Begin---------------------------------------------------------------*/ (function($) { "use strict"; var niteo = niteo || {}; var dev = false; // declare variables for LoadContent var page = 2, loading = false, loadMore = true, $container = $('#main'), $grid = null, $lightbox = null; /* Init functions --------------------------------------------------------------------*/ $( document ).ready(function() { if ( dev == true ) { $('#wpadminbar').css('display', 'none'); $('html').attr('style', 'margin-top: 0px!important'); niteo.overflow(); } niteo.initial(); }); /* END of Init functions --------------------------------------------------------------------*/ /* Declare functions --------------------------------------------------------------------*/ niteo.initial = function() { niteo.mobileMenu(); niteo.searchIcon(); niteo.videoHeader(); niteo.masonryLayout(); niteo.inViewport(); niteo.scrollPage(); niteo.slickSlider(); niteo.stickySlider(); niteo.masonryGallery(); niteo.scrollTop(); niteo.lightbox(); niteo.wooGallery(); } niteo.scrollPage = function() { if ( !$('.no-header').length && !$('.no-sticky-menu').length ) { var $menu = $('.main-nav-container'), $header = $('.site-header'); imagesLoaded( $header, function() { var bannerHeight = $('.video-banner').length ? $('.video-banner').height() : $('.wp-custom-header').height(); var scalingLogo = ( $('.custom-logo').length && !$('.logo-over-hero').length ) ? true : false; $(window).resize(function() { bannerHeight = $('.video-banner').length ? $('.video-banner').height() : $('.wp-custom-header').height(); }); $(window).scroll(function() { if ( true === scalingLogo ) { var scale = 1 - $(this).scrollTop() / 1000; scale = ( scale < 0.6 ) ? 0.6 : scale; $('.site-branding').css('transform', 'scale(' + scale + ')'); } if( $(this).scrollTop() > bannerHeight ) { $menu.addClass('sticky'); $header.addClass('sticky'); } else { $menu.removeClass('sticky'); $header.removeClass('sticky'); } if ( $(this).scrollTop() > 600 ) { $('.go-top').addClass('active'); } else { $('.go-top').removeClass('active'); } }); }) } else { if ( $('.go-top').length ) { $(window).scroll(function() { if ( $(this).scrollTop() > 600 ) { $('.go-top').addClass('active'); } else { $('.go-top').removeClass('active'); } }); } } } niteo.masonryLayout = function() { if ( !$('body.masonry article').length ) { return; } var $container = $('#main'); $grid = $container.masonry({ initLayout: false, itemSelector: 'article.multi-columns', gutter: 50, }); // initialize Masonry after all images have loaded imagesLoaded( $container, function() { $grid.masonry(); }); } niteo.inViewport = function() { $('#main article').isInViewport(function(response, element){ if ( response == true ) { $(element).addClass('in-viewport'); // if last element is in viewport and still have posts to load if ( loadMore == true && loading == false && $('.ajax-load').length && $('.type-post:not(.single-post)').length && $(element).is(':last-of-type') ) { niteo.infScroll(); } } }); } niteo.infScroll = function() { loading = true; if ( loadMore == true ) { var cat = $('#main').data('cat'); cat = (cat === undefined) ? '0' : cat; var data = { action: 'blogger_light_ajax_load_more', page: page, post_type: 'post', cat: cat, }; $('.l-wrapper').addClass('active'); $.ajax({ type: 'POST', url: ajaxurl, data: data, success: function(result) { if( result.success && result.data != '' ) { page = page + 1; // loading = false; if (result.data == '') { loadMore = false; } var $data = $(result.data); // if full layout design if ( !$('body.masonry').length ) { // append data $container.append( $data ); // check for masonry Gallery niteo.masonryGallery(); // register lightbox for new images if ( $lightbox === null ) { niteo.lightbox(); } else { $lightbox.addImageLightbox( $( '.entry-content a') ); } // ini slider niteo.slickSlider(); // disable loading of new images loading = false; // update viewport niteo.inViewport(); // remove loading animation $('.l-wrapper').removeClass('active'); // if masonry 2-columns layout, update it } else { imagesLoaded( $data , function() { $container.append( $data ); $grid.masonry( 'appended', $data ); // disable loading of new images loading = false; // update viewport niteo.inViewport(); // remove loading animation $('.l-wrapper').removeClass('active'); }); } } else { loadMore = false; $('.l-wrapper').removeClass('active'); } }, error: function(xhr, status, error) { // var err = eval('(' + xhr.responseText + ')'); console.log(xhr.responseText); } }); } else { return; } } niteo.mobileMenu = function(){ $('#site-navigation').slicknav({ appendTo: '.main-nav-container', }); }; niteo.slickSlider = function() { if ( !$('.slick-slider:not(.slick-initialized)').length ) { return; } $('.slick-slider:not(.slick-initialized)').slick({ infinite: true, speed: 1500, slidesToShow: 1, dots: false, autoplay: true, autoplaySpeed: 5000, prevArrow: '', nextArrow: '', }); } niteo.stickySlider = function() { if ( $('li.sticky-post').length < 2 ) { return; } var $stickyContainer = $('.sticky-posts'); imagesLoaded( $stickyContainer, { background: '.entry-feat.sticky' }, function() { $stickyContainer.slick({ infinite: true, speed: 1000, slidesToShow: 1, dots: false, autoplay: true, autoplaySpeed: 7000, prevArrow: '
', nextArrow: '
', }); }); } niteo.masonryGallery = function() { if ( !$('.masonry.gallery').length ) { return; } var $container = $('.masonry.gallery'); var $gallery = $container.masonry({ initLayout: false, itemSelector: '.masonry.gallery a', percentPosition: true, columnWidth: '.masonry.gallery a', gutter: 20, }); // initialize Masonry after all images have loaded imagesLoaded( $container, function() { $gallery.masonry(); }); }; niteo.scrollTop = function() { $('.back-top-wrapper, .go-top').click(function(event) { event.preventDefault(); $('html, body').animate({scrollTop: 0}, 500); return false; }); } niteo.clickToggle = function(func1, func2) { var funcs = [func1, func2]; this.data('toggleclicked', 0); this.click(function() { var data = $(this).data(); var tc = data.toggleclicked; $.proxy(funcs[tc], this)(); data.toggleclicked = (tc + 1) % 2; }); return this; }; niteo.videoHeader = function() { if ( !$('#header-video').length ) { return; } if ( $('#header-video').data('video_type') == 'yt' ) { var video = new vidim( '#header-video', { src: $('#header-video').data('url'), type: 'YouTube', poster: $('#header-video').data('poster'), quality: 'hd1080' } ); } else { var video = new vidim( '#header-video', { src: [ { type: 'video/mp4', src: $('#header-video').data('url'), }, ], poster: $('#header-video').data('poster'), }); } } niteo.searchIcon = function() { if ( !$('#search-overlay').length ) { return; } $('.menu-search a').on('click', function(e){ e.preventDefault(); $('#search-overlay').addClass('focus'); $('#search-overlay .input-search').focus(); setTimeout(function(){ $('body').css('overflow-y', 'hidden'); }, 100); }); $('#close-overlay').on('click', function(e){ e.preventDefault(); $('#search-overlay').removeClass('focus'); $('body').css('overflow-y', 'auto'); }); } niteo.lightbox = function() { if ( !$('.entry-content a img').length && !$('.widget_media_gallery a').length ) { return; } // ACTIVITY INDICATOR var instance = {}, activityIndicatorOn = function() { $( '' ).appendTo( 'body' ); }, activityIndicatorOff = function(){ $( '.lightbox-spinner' ).remove(); }, // OVERLAY overlayOn = function(){ $( '
' ).appendTo( 'body' ); $( '#imagelightbox-overlay' ).fadeIn( 200, function() { // Animation complete }); }, overlayOff = function() { $( '#imagelightbox-overlay' ).remove(); }, // CLOSE BUTTON closeButtonOn = function( instance ) { $( '' ).appendTo( 'body' ).on( 'click touchend', function(){ $( this ).remove(); instance.quitImageLightbox(); return false; }); }, closeButtonOff = function() { $( '#lightbox-close' ).remove(); }, // ARROWS arrowsOn = function( instance, selector ){ var $arrows = $( '
' ); $arrows.appendTo( 'body' ); $arrows.on( 'click touchend', function( e ) { e.preventDefault(); var $this = $( this ), $target = $( selector + '[href="' + $( '#imagelightbox' ).attr( 'src' ) + '"]' ), index = $target.index( selector ); if( $this.hasClass( 'imagelightbox-arrow-left' ) ) { index = index - 1; if( !$( selector ).eq( index ).length ) index = $( selector ).length; } else { index = index + 1; if( !$( selector ).eq( index ).length ) index = 0; } instance.switchImageLightbox( index ); return false; }); }, arrowsOff = function() { $( '.imagelightbox-arrow' ).remove(); }; // LIGHTBOX INSTANCES $lightbox = $( '.entry-content a').imageLightbox({ onStart: function() { overlayOn(); arrowsOn( $lightbox, '.entry-content a');$( '.imagelightbox-arrow' ).css( 'display', 'block' ); closeButtonOn ($lightbox);}, onEnd: function() { arrowsOff(); overlayOff(); activityIndicatorOff(); closeButtonOff();}, onLoadStart: function() { activityIndicatorOn();}, onLoadEnd: function() { activityIndicatorOff();} }); if ( $('.widget_media_gallery a').length ) { var $lightbox_widget = $( '.widget_media_gallery a' ).imageLightbox( { onStart: function() { overlayOn(); arrowsOn( $lightbox_widget, '.widget_media_gallery a' );$( '.imagelightbox-arrow' ).css( 'display', 'block' ); closeButtonOn ($lightbox_widget);}, onEnd: function() { arrowsOff();overlayOff(); activityIndicatorOff(); closeButtonOff();}, onLoadStart: function() { activityIndicatorOn(); }, onLoadEnd: function() { activityIndicatorOff(); } }); } }; //end of lightbox niteo.wooGallery = function () { if ( !$('.woocommerce-product-gallery__image').length ) { return; } // preload image on hover $('.woocommerce-product-gallery__image:not(:first-of-type').one('mouseenter', function(e) { var newSrc = $(this).children('a').attr('href'); $(new Image()).attr('src', '' + newSrc).load(); }); // change image on click $('.woocommerce-product-gallery__image').click(function(e) { e.preventDefault(); var newSrc = $(this).children('a').attr('href'); var container = $('.woocommerce-product-gallery__image')[0]; $(container).find('img').attr('srcset', newSrc).attr('src', newSrc); }); } niteo.overflow = function() { var docWidth = document.documentElement.offsetWidth; [].forEach.call( document.querySelectorAll('*'), function(el) { if (el.offsetWidth > docWidth) { console.log(el); } } ); } /* Mobile check ------------------------------------------------------------------- */ var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); } }; var inCustomizer = $('#customize-preview', window.parent.document).length; })(jQuery); // EOF