;(function($) {
jQuery.fn.center = function(parent) {
if (parent) {
parent = this.parent();
} else {
parent = window;
}
this.css({
"position": "absolute",
"top": (((jQuery(parent).height() - this.outerHeight()) / 2) + jQuery(parent).scrollTop() + "px"),
"left": (((jQuery(parent).width() - this.outerWidth()) / 2) + jQuery(parent).scrollLeft() + "px")
});
return this;
}
})(jQuery);
// Custom Side with Fade Animation
;(function($) {
jQuery.fn.slideFadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle', height: 'toggle', padding: 'toggle', margin: 'toggle'}, speed, easing, callback);
};
})();
/**OS SCROLLBAR**/
;(function($) {
var scrollbarWidth = 0;
$.getScrollbarWidth = function() {
if ( !scrollbarWidth ) {
if ( $.browser.msie ) {
var $textarea1 = $('')
.css({ position: 'absolute', top: -1000, left: -1000 }).appendTo('body'),
$textarea2 = $('')
.css({ position: 'absolute', top: -1000, left: -1000 }).appendTo('body');
scrollbarWidth = $textarea1.width() - $textarea2.width();
$textarea1.add($textarea2).remove();
} else {
var $div = $('
')
.css({ width: 100, height: 100, overflow: 'auto', position: 'absolute', top: -1000, left: -1000 })
.prependTo('body').append('').find('div')
.css({ width: '100%', height: 200 });
scrollbarWidth = 100 - $div.width();
$div.parent().remove();
}
}
return scrollbarWidth;
};
})(jQuery);
//Parallax
;(function( $ ) {
var $window = $(window), update_parallax;
var windowHeight = $window.height();
$window.resize(function () {
windowHeight = $window.height();
});
$.fn.parallax = function(xpos, speedFactor, outerHeight) {
var $this = $(this);
var getHeight;
var firstTop;
var paddingTop = 0;
//get the starting position of each element to have parallax applied to it
$this.each(function(){
firstTop = $this.offset().top;
});
if (outerHeight) {
getHeight = function(jqo) {
return jqo.outerHeight(true);
};
} else {
getHeight = function(jqo) {
return jqo.height();
};
}
// setup defaults if arguments aren't specified
if (arguments.length < 1 || xpos === null) xpos = "50%";
if (arguments.length < 2 || speedFactor === null) speedFactor = 0.5;
if (arguments.length < 3 || outerHeight === null) outerHeight = true;
// function to be called whenever the window is scrolled or resized
update_parallax = function() {
var pos = $window.scrollTop();
$this.each(function() {
var $element = $(this);
var top = $element.offset().top;
var height = getHeight($element);
// Check if totally above or totally below viewport
if (top + height < pos || top > pos + windowHeight) {
return;
}
$this.css('backgroundPosition', xpos + " " + Math.round((firstTop - pos) * speedFactor) + "px");
});
}
$window.on('scroll.parallaxscroll', update_parallax);
$window.on('smartresize.parallaxresize', update_parallax);
update_parallax();
};
jQuery(document).on("update_content", function() {
if(jQuery(this).find('.be-section.be-bg-parallax').length == 0) {
$window.off('scroll.parallaxscroll', update_parallax);
$window.off('scroll.parallaxresize', update_parallax);
}
});
})(jQuery);
;(function( $ ) {
'use strict';
var vendorScriptsUrl = oshineThemeConfig.vendorScriptsUrl,
dependencies = oshineThemeConfig.dependencies || {};
if( 'undefined' != typeof dependencies ) {
for( var dependency in dependencies ) {
if( dependencies.hasOwnProperty( dependency ) ) {
asyncloader.register( dependencies[ dependency ], dependency );
}
}
}
/**
* youtube player api
*/
(function($) {
if( $( '.be-youtube-embed' ).length ) {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var previousAPIReadyCallback = window.onYouTubeIframeAPIReady;
window.onYouTubeIframeAPIReady = function() {
if( 'function' == typeof previousAPIReadyCallback ) {
previousAPIReadyCallback();
}
$(document).trigger( 'YTAPIReady' );
}
}
})(jQuery);
asyncloader.register( 'https://f.vimeocdn.com/js/froogaloop2.min.js' , 'vimeo' );
asyncloader.register( "https://player.vimeo.com/api/player.js", 'vimeonew' );
function Selector_Cache() {
var collection = {};
function get_from_cache( selector ) {
if ( undefined === collection[ selector ] ) {
collection[ selector ] = jQuery( selector );
}
return collection[ selector ];
}
return { get: get_from_cache };
}
jQuery(document).ready( function() {
var oshine_scripts = (function() {
var page_loader = jQuery('.page-loader'),
ajax_url = jQuery('#ajax_url').val(),
fixedFooter = jQuery( '#be-fixed-footer-wrap' ),
fixedFooterPlaceholder = jQuery( '#be-fixed-footer-placeholder' ),
transition,
exclude_links,
body = jQuery('body'),
html = jQuery('html'),
$win = jQuery(window),
$doc = jQuery(document),
selectors = new Selector_Cache(),
to_top_button = jQuery('#back-to-top'),
fullscreen_wrap = jQuery('.hero-section-wrap, .full-screen-section, .tatsu-fullscreen'),
didScroll = false,
resize_gallery_video = function() {
if (jQuery(window).width() < 769) {
var width = jQuery('#gallery-container-wrap').width();
jQuery('iframe.gallery').each(function () {
jQuery(this).width( width );
});
} else {
jQuery('iframe.gallery').each(function () {
jQuery(this).width( ( jQuery(this).height() * 1.77 ) );
});
}
},
menu_link_animation = function() {
var delay = 100,
index = 0,
slidebar_menu = document.getElementById("slidebar-menu").children,
child_count = slidebar_menu.length;
setTimeout( function(){
jQuery('#slidebar-menu').children('li').each( function(i, el ){
setTimeout( function(){
jQuery(this).addClass("menu-loaded");
}.bind(this), delay * i );
});
}, 500 );
},
custom_scrollbar = function() {
if( !body.hasClass('tatsu-frame') ) {
var gallery_content = jQuery('.simplebar-content');
if ( gallery_content.length > 0 ) {
gallery_content.perfectScrollbar();
}
}
},
single_page_nav = function() {
if ( body.hasClass('single-page-version') && !body.hasClass('section-scroll') ) {
var append_section = '',
specific_section = jQuery('.tatsu-section'),
section_length = specific_section.length,
section_id,
section_title,
index = 0;
if( jQuery('.single-page-nav-wrap').length > 0 ){
body.find('.single-page-nav-wrap').remove();
}
if( jQuery('#hero-section').length > 0 ){
append_section = 'Home';
}
for ( index; index < section_length; index++ ) {
section_id = specific_section.eq(index).attr('id');
section_title = specific_section.eq(index).attr('data-title');
if( section_id ){
if( section_title ){
section_title = "" + section_title + "";
} else {
section_title = '';
}
append_section += ''+section_title+'';
}
}
body.append('');
}
},
menu_item_update = function() {
var header_height = jQuery('#wpadminbar').height() + 1,
main_menu_items = jQuery('li.menu-item'),
single_page_nav_dots = jQuery('.single-page-nav-link'), //Should add context after converting single-page-nav-wrap and single-page-nav-links to ID
total_sections = jQuery('.tatsu-section'),
section_count = total_sections.length,
window_height = jQuery(window),
header_bottom_bar = jQuery('#header-bottom-bar'),
index = 0;
if( body.hasClass('top-header') ){
header_height += Number( jQuery('#header-wrap').attr('data-default-height') );
if( header_bottom_bar.length > 0 ){
header_height += header_bottom_bar.height();
}
}
if( body.hasClass('single-page-version') ){
main_menu_items.removeClass('current-menu-item');
for( index; index < section_count; index++ ) {
var current_object = total_sections.eq(index),
current_object_id = current_object.attr('id');
if( window_height.scrollTop() + header_height >= current_object.offset().top ){
main_menu_items.removeClass('current-menu-item current-section');
single_page_nav_dots.removeClass('current-section-nav-link');
if( current_object_id ){
main_menu_items.find('a[href$="#'+ current_object_id +'"]').closest('li.menu-item').addClass('current-menu-item current-section');
single_page_nav_dots.filter('a[href$="#' + current_object_id + '"]').addClass('current-section-nav-link');
}
}
}
}
},
open_leftstrip = function() {
if( jQuery( 'body' ).hasClass( 'left-sliding' ) || jQuery( 'body' ).hasClass( 'top-overlay-menu' ) ){
jQuery('.left-strip-wrapper').removeClass('hide');
html = html.removeClass('hide-overflow');
}
},
animate_scroll = function( element ) {
if ( body.hasClass('section-scroll') && ( jQuery(window).width() > 1024 ) && html.hasClass('csstransforms') ) {
jQuery.fn.translate(element);
return false;
}
if (jQuery(element).hasClass('be-gdpr-popup') || jQuery(element).hasClass('white-popup') ){
return false;
}
var $scroll_to = 1,
$sticky_offset,
header_wrap = jQuery('#header-wrap'),
header_wrap_default_height = Number( header_wrap.attr('data-default-height') ),
header_wrap_sticky_height = Number( header_wrap.attr('data-sticky-height') ),
top_bar_height = Number( jQuery('#header-top-bar-wrap').innerHeight() ),
bottom_bar_height = Number( jQuery('#header-bottom-bar').innerHeight() ),
admin_bar_height = Number( jQuery('#wpadminbar').height() ),
hero_section = jQuery('.header-hero-section'),
first_pb_section = jQuery( '#page-content div' ).children( '.tatsu-section:nth-child(1)'),
bordered_header_layout = jQuery('#main').hasClass('layout-border-header-top');
if ( element.length > 0 ) {
$scroll_to = Number( element.offset().top ) - admin_bar_height;
}
if ( jQuery(window).width() > 960 && !( body.hasClass('page-template-page-splitscreen-left') || body.hasClass('page-template-page-splitscreen-right') ) ) {
if ( body.hasClass('sticky-header') || body.hasClass('transparent-sticky') ) {
if ( body.hasClass('sticky-header') ) {
$sticky_offset = jQuery('#header').offset().top + header_wrap_default_height + top_bar_height + bottom_bar_height;
}
if ( body.hasClass('transparent-sticky') ) {
if( hero_section.length > 0 ){
$sticky_offset = Number( hero_section.offset().top ) + Number( hero_section.height() ) - admin_bar_height;
} else if( first_pb_section.length > 0 ) {
$sticky_offset = Number( first_pb_section.offset().top ) + Number( first_pb_section.height() ) - admin_bar_height;
}
}
if( bordered_header_layout ) {
$scroll_to = $scroll_to - ( header_wrap_default_height + bottom_bar_height );
} else {
if ($scroll_to > $sticky_offset) {
$scroll_to = $scroll_to - ( header_wrap_sticky_height + bottom_bar_height );
}
if ($scroll_to < $sticky_offset) {
$scroll_to = $scroll_to - ( header_wrap_default_height + bottom_bar_height );
}
if ($scroll_to === $sticky_offset && jQuery('body').hasClass('transparent-sticky')) {
$scroll_to = $scroll_to - ( header_wrap_sticky_height + bottom_bar_height );
}
}
} else {
if( bordered_header_layout ) {
$scroll_to = $scroll_to - Number( jQuery('#header-inner-wrap' ).innerHeight() );
}
}
}
jQuery('body, html').animate({scrollTop: $scroll_to }, 1000, 'easeOutQuart', function () {
close_sidebar();
open_leftstrip();
menu_item_update();
});
},
sticky_sidebar = function() {
var $window = jQuery(window),
$sidebar = jQuery( ".floting-sidebar" ),
offset = jQuery( '#content-wrap' ).offset(),
$scrollHeight = jQuery( "#page-content" ).height(),
$scrollOffset = jQuery( "#page-content" ).offset(),
$headerHeight = 0,
admin_bar_height = Number( jQuery('#wpadminbar').innerHeight() );
if ( $sidebar.length > 0 && !body.hasClass('tatsu-frame') ) {
if ( body.hasClass('sticky-header') || body.hasClass('transparent-sticky')) {
$headerHeight = Number( jQuery('#header-inner-wrap').innerHeight() ) + admin_bar_height;
} else {
$headerHeight = admin_bar_height;
}
if ( $window.width() > 960 ) {
if ( ( $window.scrollTop() + $headerHeight ) > offset.top ) {
if ( $window.scrollTop() + $headerHeight + $sidebar.height() + 50 < $scrollOffset.top + $scrollHeight ) {
$sidebar.stop().animate({
marginTop: ( $window.scrollTop() - offset.top ) + $headerHeight + 30,
paddingTop: 30
});
} else {
$sidebar.stop().animate({
marginTop: ( $scrollHeight - $sidebar.height() - 80 ) + 30,
paddingTop: 30
});
}
} else {
$sidebar.stop().animate({
marginTop: 0,
paddingTop: 0
});
}
} else {
$sidebar.css('margin-top', 0);
}
}
if ( jQuery(".fixed-sidebar").length > 0 ) {
var $sidebarSelector = jQuery(".fixed-sidebar"),
offset = jQuery('#content-wrap').offset(),
$mainWrapper = jQuery( '#main-wrapper' ),
isOverflow = $sidebarSelector.closest( '.fixed-sidebar-page' ).hasClass( 'be-content-overflow' ),
overflowWrapper = jQuery( '#be-overflow-image-content-inner' ),
marginLeftOffset = 0,
$scrollHeight = jQuery("#page-content").height(),
$scrollOffset = jQuery("#page-content").offset(),
$scroll_top = $window.scrollTop(),
$footerHeight = jQuery('#footer').outerHeight(),
$widgetsHeight = jQuery('#bottom-widgets').outerHeight(),
$sidebarHeight = $sidebarSelector.find('.fixed-sidebar-content .be-section').outerHeight(),
$portfolioNavigationHeight = jQuery( '#portfolio-navigation-bottom-wrap' ).outerHeight(),
$headerHeight = Number( jQuery( '#header-wrap' ).attr( 'data-sticky-height' ) ) || Number(jQuery('#header-inner-wrap').height()),// + Number(jQuery('#wpadminbar').height()),
$heroSectionHeight = Number(jQuery('.hero-section-wrap').height()),
$sidebar_width = ( $sidebarSelector.attr('data-sidebar-width')/100 ) || 0.428,
$headerTopPadding = 0,
$breakingPoint1 = 0,
$breakingPoint2 = 0;
if( isOverflow ) {
marginLeftOffset = (overflowWrapper.parent().width()) - ( body.outerWidth()/2 );
}
asyncloader.require( 'imagesloaded' , function(){
jQuery( '.content-single-sidebar' ).imagesLoaded( function() {
$sidebarSelector.closest( '#content-wrap' ).css( 'min-height', $sidebarSelector.outerHeight() );
} );
});
// Sticky Default Header
if (( body.hasClass('sticky-header') || body.hasClass('transparent-sticky') )){ // && !isOverflow ) {
$headerTopPadding = $headerHeight;
}
// Non Sticky Header
if( body.hasClass('header-transparent') ){ //Transparent
if($heroSectionHeight > 0){ //With Hero Section
$breakingPoint1 = $heroSectionHeight;
}else{ //Without Hero Section
$breakingPoint1 = 1;
}
}else{ //Non Transparent
if($heroSectionHeight > 0){ //With Hero Section
$breakingPoint1 = $heroSectionHeight + $headerHeight;
}else{ //Without Hero Section
$breakingPoint1 = $headerHeight;
}
}
if( jQuery( '#header-top-bar-wrap' ).length ){
$breakingPoint1 = $breakingPoint1 + jQuery( '#header-top-bar-wrap' ).outerHeight();
}
if ( jQuery("#portfolio-title-nav-wrap").length > 0 ) {
$breakingPoint1 = $breakingPoint1 + jQuery('#portfolio-title-nav-wrap').outerHeight();
}
$breakingPoint2 = (jQuery(document).height()) - ($scroll_top + jQuery(window).height() + $footerHeight + $widgetsHeight + $portfolioNavigationHeight);
var contentPosition = jQuery('#content').index();
jQuery( '#content' ).siblings().each(function(i,e){
if( $(e).hasClass( 'tatsu-section' ) ){
if( i < contentPosition ) {
$breakingPoint1 = $breakingPoint1 + $(e).outerHeight();
} else {
$breakingPoint2 = $breakingPoint2 - $(e).outerHeight();
}
}
});
if ($window.width() > 940 ) {
if( isOverflow ) {
if( overflowWrapper.closest( '.be-content-overflow' ).hasClass( 'left-overflow-page' ) ) {
overflowWrapper.css( { marginLeft: ( 0 > marginLeftOffset ) ? ( marginLeftOffset + 'px' ) : '0px', opacity : '1'} );
}else{
overflowWrapper.css( { marginRight : ( 0 > marginLeftOffset ) ? ( marginLeftOffset + 'px' ) : '0px', opacity : '1'} );
}
}
if ($scroll_top < $breakingPoint1) {
$sidebarSelector.removeClass('active-fixed').css('top', 0);
if( !isOverflow ) {
$sidebarSelector.width($sidebarSelector.parent().outerWidth() * $sidebar_width);
}else{
$sidebarSelector.css( 'left', '' );
$sidebarSelector.width($sidebarSelector.closest( '#content-wrap' ).outerWidth() * $sidebar_width);
}
}
else if($breakingPoint2 <= 0){
var $negative;
if( ( body.hasClass('sticky-header') || body.hasClass('transparent-sticky') ) ){
$negative = $breakingPoint2 + $headerHeight;
} else {
$negative = $breakingPoint2;
}
$sidebarSelector.addClass('active-fixed').removeClass('top-animate').css('top', $negative);
if( !isOverflow ) {
$sidebarSelector.width($sidebarSelector.parent().outerWidth() * $sidebar_width);
}else{
$sidebarSelector.css( 'left', $sidebarSelector.parent().offset().left );
$sidebarSelector.width($sidebarSelector.closest( '#content-wrap' ).outerWidth() * $sidebar_width);
}
}
else if(($scroll_top >= $breakingPoint1) && ($breakingPoint2 > 0)){
$sidebarSelector.css( 'top', '0' );
$sidebarSelector.addClass('active-fixed top-animate');
if( 0 != $headerTopPadding ) {
if( $scroll_top > window.innerHeight ) {
$sidebarSelector.css({
top : $headerTopPadding
});
}else{
$sidebarSelector.css({
top : 0
});
}
}
if( !isOverflow ) {
$sidebarSelector.width($sidebarSelector.parent().outerWidth() * $sidebar_width);
}else{
$sidebarSelector.css( 'left', $sidebarSelector.parent().offset().left );
$sidebarSelector.width($sidebarSelector.closest( '#content-wrap' ).outerWidth() * $sidebar_width);
}
}
}else{
if( isOverflow ) {
if( '0px' != overflowWrapper.css( 'margin-left' ) ) {
overflowWrapper.css( 'margin-left', '0' );
}
if( '0' == overflowWrapper.css( 'opacity' ) ) {
overflowWrapper.css( 'opacity', '1' );
}
}
}
}
},
split_screen = function() {
if ( ( jQuery(".page-template-page-splitscreen-left").length > 0 ) || ( jQuery(".page-template-page-splitscreen-right").length > 0 ) ) {
var $heroSection = jQuery("#hero-section"),
$window = jQuery(window),
$scroll_top = $window.scrollTop(),
$footerHeight = jQuery('#footer').outerHeight(),
$widgetsHeight = jQuery('#bottom-widgets').outerHeight(),
$headerHeight = Number(jQuery('#header-inner-wrap').height()),
$headerTopPadding = 0,
$headerTopPaddingonScroll = 0,
$breakingPoint1 = 0,
$breakingPoint2 = 0;
// Non Sticky Header
if( body.hasClass('header-transparent') ){ //Transparent
$breakingPoint1 = 1;
$headerTopPadding = 0;
}else{ //Non Transparent
$breakingPoint1 = $headerHeight;
$headerTopPadding = $headerHeight;
}
$breakingPoint2 = (jQuery(document).height()) - ($scroll_top + $window.height() + $footerHeight + $widgetsHeight);
if ($window.width() > 960) {
$heroSection.css('top', $headerTopPadding);
if ($scroll_top < $breakingPoint1) {
$heroSection.css('top', $headerTopPadding - ($scroll_top));
}
else if($breakingPoint2 <= 0){
$heroSection.css('top', $breakingPoint2);
}
else if(($scroll_top >= $breakingPoint1) && ($breakingPoint2 > 0)){
$heroSection.css('top', 0 );
}
}
}
},
superfish = function() {
asyncloader.require( [ 'superfish', 'hoverintent' ], function(){
var $menu = jQuery('#navigation .menu, #navigation-left-side .menu, #navigation-right-side .menu').children('ul');
$menu.superfish({
animation: {opacity: 'show'},
animationOut: {opacity: 'hide'},
speed : 400,
delay: 600
});
});
},
sliders = function() {
var gallery_wrap = jQuery('#gallery-container-wrap');
if ( gallery_wrap.length > 0 ) {
var deps = [ 'horizontalcarousel', 'fitvids', 'resizetoparent', 'mousewheel' ];
if( jQuery('be-vimeo-embed').length ){
deps.push('vimeo');
}
asyncloader.require( deps, function(){
gallery_wrap.fitVids();
gallery_wrap.CenteredSlider();
//gallery_wrap.thumbnailSlider();
resize_gallery_video();
jQuery('.be-carousel-thumb').thumbnailSlider();
});
}
},
carousel_thumb = function() {
jQuery(document).on('mouseenter', '.carousel_bar_dots', function () {
jQuery(this).parent().find('.carousel_bar_wrap').css('opacity', '0').stop().animate({ opacity: 1, bottom: '0px' }, 500);
});
jQuery(document).on('mouseleave', '.carousel_bar_area', function () {
jQuery(this).find('.carousel_bar_wrap').stop().animate({ opacity: 0, bottom: '-500px' }, 500);
});
},
carouselIOSFix = function() {
var touchingCarousel = false,
touchStartCoords;
document.body.addEventListener('touchstart', function(e) {
if (e.target.closest('.flickity-slider')) {
touchingCarousel = true;
} else {
touchingCarousel = false;
return;
}
touchStartCoords = {
x: e.touches[0].pageX,
y: e.touches[0].pageY
}
});
document.body.addEventListener('touchmove', function(e) {
if (!(touchingCarousel && e.cancelable)) {
return;
}
var moveVector = {
x: e.touches[0].pageX - touchStartCoords.x,
y: e.touches[0].pageY - touchStartCoords.y
};
if (Math.abs(moveVector.x) > 7)
e.preventDefault()
}, {passive: false});
},
rev_slider_bg_check = function() {
if ( !body.hasClass('disable_rev_slider_bg_check') && !body.hasClass('semi') ) {
var rev_slider_wrapper = jQuery('#hero-section').find('.rev_slider_wrapper');
if( 0 === jQuery('#hero-section').length ) {
rev_slider_wrapper = jQuery( '.tatsu-section:first-child' ).find('.rev_slider_wrapper');
}
if ( body.hasClass('header-transparent') && rev_slider_wrapper.length > 0 ) {
asyncloader.require( 'backgroundcheck', function() {
rev_slider_wrapper.each(function () {
var $wrapper = jQuery(this).attr('id'),
$instance = jQuery(this).find('.rev_slider').attr('id'),
be_revapi = $instance.split('_');
window['revapi'+be_revapi[2]].bind("revolution.slide.onchange", function (e, data) {
setTimeout(function () {
BackgroundCheck.init({
targets: '#header #header-inner-wrap',
images: '.active-revslide .tp-bgimg'
});
BackgroundCheck.refresh();
}, 100);
});
});
});
}
}
},
header_search = function() {
jQuery(document).on('click', '.header-search-controls .search-button', function () {
var search_box = jQuery('.search-box-wrapper');
search_box.fadeToggle().find('.s').focus();
if ( search_box.hasClass('style2-header-search-widget') ) {
if( !( ( jQuery( 'body' ).hasClass( 'overlay-center-align-menu' ) || jQuery( 'body' ).hasClass( 'overlay-left-align-menu' ) || jQuery( 'body' ).hasClass( 'overlay-horizontal-menu' ) ) && jQuery( '.be-sidemenu' ).hasClass( 'opened' ) ) ){
// Incase the user has opened the overlaymenu and has clicked the search button, then don't toggle the 'hide-overflow', as the class is already added
html = html.toggleClass('hide-overflow');
}
}
});
jQuery(document).on('click', '.header-search-form-close', function (e) {
e.preventDefault();
close_search_box();
});
},
mobile_menu = function() {
jQuery(document).on('click','#mobile-menu li a', function() {
if( jQuery(this).attr('href') != '#' && !jQuery(this).closest('li').hasClass('menu-item-has-children') ){
close_mobile_menu();
}
});
jQuery(document).on('click', '.mobile-nav-controller-wrap', function () {
jQuery('.mobile-menu').slideFadeToggle();
jQuery('.mobile-nav-controller .be-mobile-menu-icon').toggleClass('is-clicked');
});
jQuery(document).on('click', '.mobile-sub-menu-controller', function () {
jQuery(this).siblings('.sub-menu').slideFadeToggle();
jQuery(this).toggleClass('isClicked');
});
},
falling_menu = function() {
jQuery(document).on('click', '.menu-falling-animate-controller', function () {
//var delay = 0,
var $this = jQuery(this);
body.toggleClass('menu-animate-fall-active');
jQuery('.menu-falling-animate-controller .be-mobile-menu-icon').toggleClass('is-clicked');
jQuery('#menu, #left-menu, #right-menu').children('.menu-item').each(function(i, el) {
var delay = i * 50;
jQuery(this).css('transition-delay', delay+'ms');
});
});
},
top_page_stack = function() {
if( jQuery( 'body' ).hasClass( 'page-stack-top' ) ){
//Check if the class is there in body
asyncloader.require( ['modernizr', 'classie'], function(){
var backToTop = jQuery( '#back-to-top' ).detach();
backToTop.appendTo(jQuery( 'body' ));
jQuery( '#header' ).insertBefore( jQuery( "#main-wrapper" ) );
asyncloader.require( 'page_stack_top', function(){
});
} );
}
},
perspective_navigation = function(){
if( jQuery( 'body' ).hasClass( 'perspective-left' ) || jQuery( 'body' ).hasClass('perspective-right') ){
//Check if the class is there in body
asyncloader.require( ['modernizr', 'classie'], function(){
asyncloader.require( 'perspective_navigation', function(){
var backToTop = jQuery( '#back-to-top' ).detach();
backToTop.appendTo(jQuery( 'body' ));
jQuery( '#header' ).insertBefore( jQuery( "#main-wrapper" ) );
});
} );
}
},
multi_level_menu = function(){
/*Convert normal menu to multilevel menu in case of
Page stack right
Page stack left
Overlay center align
Overlay left align
special left menu
special right menu
perspective left
perspective right
left-static-menu
left-strip-menu
*/
if( 'newMultilevelMenu' == jQuery( '.be-sidemenu' ).attr( 'data-submenu' ) ){
asyncloader.require( ['modernizr', 'classie'], function(){
var dataSubMenu = 1,
menuUls = jQuery( '.special-header-menu > ul' );
$( menuUls ).attr( 'data-menu', 'main' );
menuUls = menuUls.find( 'ul' );
Array.prototype.forEach.call( menuUls, function( menuUl ){
jQuery( menuUl ).addClass( 'menu-container' );
$( menuUl ).attr( 'data-menu', 'submenu-' + dataSubMenu );
$($( menuUl ).siblings( 'a' )).attr( 'data-submenu', 'submenu-' + dataSubMenu++ );
$( menuUl ).detach().appendTo( '.special-header-menu' );
} );
asyncloader.require( 'multi_level_menu', function(){
var menuEl = document.getElementsByClassName('special-header-menu')[0],
mlmenu = new MLMenu(menuEl, {
backCtrl : true, // show back button
direction : jQuery( '.be-sidemenu' ).attr( 'data-link-animation-direction' )
});
});
});
} else if( 'oldMultilevelMenu' == jQuery( '.be-sidemenu' ).attr( 'data-submenu' ) ){
asyncloader.require( ['modernizr', 'classie'], function(){
asyncloader.require( 'old_menu_animation', function(){
var menuEl = document.getElementsByClassName('special-header-menu')[0],
mlmenu = new OldMenu(menuEl, {
direction : jQuery( '.be-sidemenu' ).attr( 'data-link-animation-direction' )
});
})
});
}
},
sticky_sections = function() {
if( body.hasClass( 'be-sticky-sections' ) && !jQuery( 'body' ).hasClass( 'tatsu-frame' ) ) {
asyncloader.require( 'sticky_sections', function() {
var stickyScrollType = jQuery( '.be-sections-wrap' ).attr( 'data-sticky-scroll' ),
$win = jQuery(window),
globalSections = jQuery('.tatsu-global-section'),
sectionsContainer = jQuery('#content .tatsu-section').parent(),
stickyContainer = '#main-wrapper',
defaultHeaderHeight = jQuery( '#header' ).outerHeight() + ( jQuery( '#wpadminbar' ).length ? jQuery( '#wpadminbar' ).height() : 0 );
if( jQuery( '#tatsu-header-wrap' ).outerHeight() > 0 ){
stickyContainer = '#be-sticky-section-fixed-wrap'
defaultHeaderHeight = jQuery( '#tatsu-header-wrap' ).outerHeight() + ( jQuery( '#wpadminbar' ).length ? jQuery( '#wpadminbar' ).height() : 0 );
}
var transparentHeaderDynamicColorChange = function() {
var curSection = jQuery( this ),
headerInnerWrap = jQuery( '#header-inner-wrap' ),
headerScheme,
headerSchemeFromSection = curSection.attr( 'data-headerscheme' );
if( body.hasClass( 'header-transparent' ) ) {
headerScheme = headerInnerWrap.attr( 'data-headerscheme' );
if( headerScheme != headerSchemeFromSection ) {
headerInnerWrap.find( '#navigation' ).css( 'transition', 'none' );
headerInnerWrap.removeClass( 'background--dark' == headerSchemeFromSection ? 'background--light' : 'background--dark' );
headerInnerWrap.find( '#navigation' ).css( 'transition', 'color 700ms cubic-bezier(0.645, 0.045, 0.355, 1)' );
headerInnerWrap.addClass( headerSchemeFromSection );
headerInnerWrap.attr( 'data-headerscheme', headerSchemeFromSection );
}
}
},
triggerTatsuAnimation = function() {
if( null != tatsu ) {
tatsu.cssAnimate( false, '', jQuery(this) );
}
},
stickySectionDotsDynamicColorChange = function() {
var curSection = jQuery( this ),
dotsNav = jQuery( '#sticky-dots-navigation' ),
headerScheme,
headerSchemeFromSection = curSection.attr( 'data-headerscheme' );
if( 0 < dotsNav.length ) {
headerScheme = dotsNav.attr( 'data-headerscheme' );
if( headerScheme != headerSchemeFromSection ) {
dotsNav.find( 'span' ).css( 'transition', 'none' );
dotsNav.removeClass( 'background--dark' == headerSchemeFromSection ? 'background--light' : 'background--dark' );
dotsNav.find( 'span' ).css( 'transition', 'background 700ms cubic-bezier(0.645, 0.045, 0.355, 1)' );
dotsNav.addClass( headerSchemeFromSection );
dotsNav.attr( 'data-headerscheme', headerSchemeFromSection );
}
}
},
triggerPortfolio = function() {
var curSection = jQuery( this ),
portfolio = curSection.find( '.portfolio' );
if( 0 < portfolio.length && null != oshinePortfolio ) {
if( portfolio.hasClass( 'portfolio-delay-load' ) ) {
oshinePortfolio.portfolioScrollReveal( portfolio.find( '.element' ) );
}
if( portfolio.hasClass( 'portfolio-lazy-load' ) ) {
oshinePortfolio.portfolioLazyReveal( portfolio.find( '.thumb-wrap' ).find( 'img' ) );
}
}
},
setCurrentActiveMenu = function() {
var menuItems = jQuery( 'li.menu-item' ),
curActiveSection = jQuery( this );
if( curActiveSection.length && ( ( defaultHeaderHeight + $win.scrollTop() ) >= curActiveSection.offset().top ) ) {
menuItems.removeClass( 'current-menu-item' );
menuItems.find('a[href$="#'+ curActiveSection.attr( 'id' ) +'"]').closest('li.menu-item').addClass('current-menu-item current-section');
}
},
initCallBack = function( activeSection ) {
stickySectionDotsDynamicColorChange.call(activeSection);
triggerPortfolio.call(activeSection);
setCurrentActiveMenu.call(activeSection);
triggerTatsuAnimation.call(activeSection);
if( body.hasClass( 'be-themes-layout-layout-border-header-top' ) || body.hasClass( 'be-themes-layout-layout-border' ) ) {
if( 0 < jQuery( '#sticky-dots-navigation' ).length ) {
if( 0 < jQuery( '.layout-box-right' ).length ) {
jQuery( '#sticky-dots-navigation' ).css( 'right', jQuery( '.layout-box-right' ).width() + 17 + 'px' );
}
}
}
},
enableOverlay = jQuery( '.be-sections-wrap' ).attr( 'data-sticky-overlay' ),
stickyOptions = {
autoScroll : 'auto_scroll' == stickyScrollType ? true : false,
fixedParent : stickyContainer,
scrollCallback : function( secIndex ) {
triggerTatsuAnimation.call(this);
triggerPortfolio.call(this);
},
scrollingSpeed : 1200,
overlay : 0 == enableOverlay ? false : true,
fullScreenOffset : [ '#wpadminbar', '#header', '.layout-box-top', '.layout-box-bottom' ],
dots : true,
footer : [ '.tatsu-global-section-bottom', '#bottom-widgets', '#footer' ],
navigationPosition : 'right',
afterLoad : function() {
triggerPortfolio.call(this);
triggerTatsuAnimation.call(this);
transparentHeaderDynamicColorChange.call(this, arguments);
stickySectionDotsDynamicColorChange.call(this);
setCurrentActiveMenu.call(this);
}
};
if( 0 < globalSections.length && 0 < sectionsContainer.length ) {
sectionsContainer.prepend( jQuery('.tatsu-global-section-top') ).append( jQuery('.tatsu-global-section-penultimate') );
}
if( 967 < jQuery( window ).width() ) {
stickySections.initialize( '.be-sections-wrap', stickyOptions , initCallBack );
}
jQuery(window).on( 'resize', function() {
if( 967 < jQuery(window).width() && !body.hasClass( 'sticky-enabled' ) ) {
stickySections.initialize( '.be-sections-wrap', stickyOptions , initCallBack );
}else if( 968 > jQuery(window).width() && body.hasClass( 'sticky-enabled' ) ) {
stickySections.destroy();
}
} )
} );
}
},
sub_menu = function() {
jQuery(document).on('click', '.top-overlay-menu .menu-item-has-children a, .left-header .menu-item-has-children a , #mobile-menu .menu-item-has-children a', function () {
if(jQuery(this).attr('href') == '#'){
jQuery(this).siblings('.sub-menu').slideFadeToggle();
jQuery(this).siblings('.mobile-sub-menu-controller').toggleClass('isClicked');
}
});
},
local_scroll = function() {
asyncloader.require( 'easing', function() {
jQuery(document).on('click', 'a[href="#"]', function (e) {
e.preventDefault();
});
jQuery(document).on('click', 'a', function (e) {
var $link_to = jQuery(this).attr('href'),
url_arr,
$element,
mobile_menu = jQuery('.mobile-menu'),
$path = window.location.href;
if ( jQuery(this).hasClass('ui-tabs-anchor') || jQuery(this).closest('.wc-tabs').length > 0 ) {
return false;
}
if ( $link_to && !( ( jQuery( 'body' ).hasClass( 'perspective-left' ) || jQuery( 'body' ).hasClass( 'perspective-right' ) || jQuery( 'body' ).hasClass( 'page-stack-top' ) ) && jQuery(window).width() >= 960 ) ) {
url_arr = $link_to.split('#');
if ($link_to.indexOf('#') >= 0 && $path.indexOf(url_arr[0]) >= 0) {
$element = $link_to.substring($link_to.indexOf('#') + 1);
if ($element) {
if (jQuery('#' + $element).length > 0) {
e.preventDefault();
if( jQuery( body ).hasClass( 'be-sticky-sections' ) && 960 < window.innerWidth ) {
var section = jQuery( '#' + $element ),
secIndex = stickySections.getStickyIndex( section[0] );
if( -1 < secIndex && secIndex < jQuery( '.sticky-section' ).length ) {
if( body.scrollTop() === 0 ) {
body.scrollTop(1);
}
stickySections.moveTo( secIndex );
}
}else if (jQuery(window).width() < 960 && mobile_menu.length > 0 ) {
mobile_menu.slideUp(500, function () {
animate_scroll(jQuery('#' + $element));
});
} else {
animate_scroll(jQuery('#' + $element));
}
}
}
}
}
});
});
},
sliderbar_navigation = function() {
jQuery(document).on('click', '.sliderbar-nav-controller-wrap', function () {
jQuery('.sb-slidebar').toggleClass('opened');
body = body.toggleClass('slider-bar-opened');
if( body.hasClass('top-overlay-menu') ) {
html = html.toggleClass('hide-overflow');
// jQuery('.layout-box-container').fadeOut();
if( body.hasClass('be-themes-layout-layout-border-header-top') ){
jQuery('.sliderbar-menu-controller .be-mobile-menu-icon').toggleClass('is-clicked');
}
} else{
jQuery('.sliderbar-menu-controller .be-mobile-menu-icon').toggleClass('is-clicked');
}
});
},
special_menu_view_handler = function() {
jQuery('.be-sidemenu').toggleClass('opened');
body = body.toggleClass('side-menu-opened');
if( jQuery('body').hasClass( 'overlay-center-align-menu' ) || jQuery('body').hasClass( 'overlay-left-align-menu' ) || jQuery('body').hasClass( 'overlay-horizontal-menu' ) ){
if( jQuery( 'body' ).hasClass( 'side-menu-opened' ) ){
jQuery( '#header' ).css( 'z-index', '16' );
jQuery( '.be-sidemenu' ).css({ 'z-index' : '15', 'visibility' : 'visible' });
jQuery('html').toggleClass('hide-overflow');
var transEndEvent = function( ev ){
ev.stopPropagation();
if( ! (jQuery( 'body' ).hasClass( 'side-menu-opened' ) ) && jQuery(ev.target).hasClass('be-sidemenu') ){
jQuery(this).unbind( 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', transEndEvent );
jQuery( '.be-sidemenu' ).css({ 'z-index' : '-1', 'visibility' : 'hidden' });
jQuery( '#header' ).css('z-index' , '10');
if( jQuery( '.search-box-wrapper' ).css( 'display' ) == 'none' || jQuery( '.search-box-wrapper' ).length == 0 || jQuery('.search-box-wrapper').hasClass( 'style1-header-search-widget' ) ){
// This condition for, in case after opening the overlay menu, user clicks the search button, then 'hide-overflow' shouldnt be removed
jQuery( 'html' ).removeClass( 'hide-overflow' );
}
}
};
jQuery( '.be-sidemenu' ).bind('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', transEndEvent);
}
if( jQuery('#be-left-strip').length != 0 ){
/* Resize the masterslider when menu is opend and closed */
if( 'undefined' != typeof window.masterslider_instances && ( jQuery('body').hasClass( 'overlay-left-align-menu' ) || jQuery('body').hasClass( 'overlay-center-align-menu' ) ) ){
var masterSliderResizeHandler = function( ev ){
jQuery(this).unbind( 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', masterSliderResizeHandler );
window.masterslider_instances.forEach( function( item ){
item._updateLayout();
} );
}
jQuery( '.be-sidemenu' ).bind('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', masterSliderResizeHandler );
}
}
} else {
jQuery('html').toggleClass('hide-overflow');
}
},
sidemenu_navigation = function(){
if( !( jQuery( 'body' ).hasClass( 'perspective-left' ) || jQuery( 'body' ).hasClass( 'perspective-right' ) || jQuery( 'body' ).hasClass( 'page-stack-top' ) || jQuery( 'body' ).hasClass( 'menu-animate-fall' ) ) ){
//Attach click events for the hamburger menu except for page stack top case. For page stack top, the event is attached in page_stack_top.js
jQuery(document).on('click', '.hamburger-nav-controller-wrap', function (ev) {
ev.stopPropagation();
special_menu_view_handler();
jQuery( '.hamburger-nav-controller .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
})
}
},
left_strip = function() {
jQuery(document).on('click', '#sb-left-strip', function () {
var $this = jQuery(this);
jQuery('.sb-slidebar').toggleClass('opened');
if( $this.hasClass('menu_push_main') ){
body = jQuery('body').toggleClass('slider-bar-opened');
}
if($this.hasClass('overlay')) {
html = html.toggleClass('hide-overflow');
jQuery('.layout-box-container').fadeOut();
}
if( $this.hasClass('strip') ) {
jQuery('.left-strip-wrapper').toggleClass('hide');
jQuery('#main-wrapper').toggleClass('hidden-strip');
}
});
},
be_left_strip = function() {
if( !( jQuery( 'body' ).hasClass( 'perspective-right' ) ) ) {
jQuery(document).on( 'click', '#be-left-strip', function( ev ){
special_menu_view_handler();
jQuery( '#be-left-strip .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
});
}
},
left_header_close_overlay = function(){
if( jQuery( 'body' ).hasClass( 'left-header' ) && ( jQuery( 'body' ).hasClass( 'overlay-center-align-menu' ) || jQuery( 'body' ).hasClass( 'overlay-left-align-menu' ) ) ){
jQuery( document ).on( 'click', '.be-overlay-menu-close', function( ev ){
ev.stopPropagation();
// Don't call special_menu_view_handler() function here to do the closing of overlay menu. Its causing a bug on double click of close button as the code does toggling of classes
jQuery('.be-sidemenu').removeClass('opened');
body = body.removeClass('side-menu-opened');
jQuery( '#be-left-strip .be-mobile-menu-icon' ).removeClass( 'is-clicked' );
if( 'undefined' != typeof window.masterslider_instances ){
var masterSliderResizeHandler = function( ev ){
jQuery(this).unbind( 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', masterSliderResizeHandler );
window.masterslider_instances.forEach( function( item ){
item._updateLayout();
} );
}
jQuery( '.be-sidemenu' ).bind('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', masterSliderResizeHandler );
}
} )
}
},
close_sidebar = function() {
if( body.hasClass('top-overlay-menu') || body.hasClass('left-overlay-menu') ){
if( body.hasClass('be-themes-layout-layout-border-header-top')){
close_slidebar_menu();
}
jQuery('.layout-box-container').fadeIn();
jQuery('#slidebar-menu li').removeClass('menu-loaded');
} else {
close_slidebar_menu();
}
jQuery('.sb-slidebar').removeClass('opened');
body = body.removeClass( 'slider-bar-opened' );
},
close_sidemenu = function(){
if( !jQuery( 'body' ).hasClass( 'page-stack-top' ) ){
//Add the close sidemenu event on cliking of #main except for page stack top. For Page Stack top, the event is attached in page_stack_top.js
jQuery(document).on('click', '#main', function () {
setTimeout( function(){
if( jQuery('body').hasClass( 'side-menu-opened' ) ){
special_menu_view_handler();
jQuery( '.hamburger-nav-controller .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
jQuery( '#be-left-strip .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
}
}, 0 );
})
jQuery( document ).on( 'keyup', function( ev ) {
if( jQuery('body').hasClass( 'side-menu-opened' ) ){
var keyCode = ev.keyCode || ev.which;
if( keyCode === 27 ) {
setTimeout( function(){
special_menu_view_handler();
jQuery( '.hamburger-nav-controller .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
jQuery( '#be-left-strip .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
}, 0);
}
}
} );
var path = window.location.href;
jQuery( '.special-header-menu .menu-item a' ).each( function( index, item ){
var href = item.getAttribute( 'href' ),
urlArr = href.split('#');
if( href == "#" ){
return false;
}
if( href.indexOf( '#' ) >= 0 && path.indexOf(urlArr[0]) >= 0 )
{
var pageid = href.split('#')[1];
item.addEventListener('click', function(ev) {
// ev.preventDefault();
if( jQuery('body').hasClass( 'side-menu-opened' ) ){
setTimeout( function(){
special_menu_view_handler();
jQuery( '.hamburger-nav-controller .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
jQuery( '#be-left-strip .be-mobile-menu-icon' ).toggleClass( 'is-clicked' );
}, 0);
}
} );
}
});
}
},
close_slidebar_menu = function() {
var be_sidebar_mobile_menu = jQuery('.sliderbar-menu-controller').find('.be-mobile-menu-icon');
if( body.hasClass( 'slider-bar-opened') && body.hasClass('top-header' ) ){
be_sidebar_mobile_menu.toggleClass('is-clicked');
}
},
close_mobile_menu = function() {
var mobile_menu = jQuery('.mobile-menu');
if ( mobile_menu.is(":visible") ) {
mobile_menu.slideFadeToggle();
jQuery('.mobile-nav-controller .be-mobile-menu-icon').toggleClass('is-clicked');
}
},
close_search_box = function() {
var search_box = jQuery('.search-box-wrapper');
if ( search_box.is(":visible") ) {
search_box.fadeOut();
if( search_box.hasClass('style2-header-search-widget') ){
html = html.toggleClass('hide-overflow');
}
}
},
close_overlay_menu = function() {
jQuery(document).on('click', '.overlay-menu-close', function () {
close_sidebar();
open_leftstrip();
});
},
close_gallery_info_box = function() {
jQuery(document).on('click', '.single_portfolio_info_close', function () {
jQuery(this).closest('.gallery_content').toggleClass('show');
//jQuery(".gallery_content_area").mCustomScrollbar("update");
});
},
portfolioTemplateZoro = function() {
var pauseYTJson = JSON.stringify({
'event': 'command',
'func': 'pauseVideo'
}),
playYTJson = JSON.stringify({
'event': 'command',
'func': 'playVideo'
}),
curActiveIndex = -1,
lockWheel = false,
container,
slides,
nav,
pauseVideoSlide = function(slide) {
if( slide && slide.hasClass('ps-fade-slide-video') ) {
if( slide.hasClass('ps-fade-slide-video-youtube') ) {
if(slide.find('iframe').length) {
slide.find('iframe')[0].contentWindow.postMessage(pauseYTJson, '*');
}
}else if( slide.hasClass('ps-fade-slide-video-vimeo') ) {
var player = slide.data('player');
if( player ) {
player.pause();
}
}else{
if( slide.find('video').length ) {
slide.find('video')[0].pause();
}
}
}
},
playVideoSlide = function(slide, triggerGDPRPopup) {
if( slide.hasClass('ps-fade-slide-video') ) {
if( slide.hasClass('ps-fade-slide-video-youtube') ) {
if( slide.find('iframe').length ) {
slide.find('iframe')[0].contentWindow.postMessage(playYTJson, '*');
}else if( triggerGDPRPopup && slide.find('.be-gdpr-consent-message').length ) {
slide.find('.privacy-settings').trigger('click');
}
}else if( slide.hasClass('ps-fade-slide-video-vimeo') ) {
var player = slide.data('player');
if( player ) {
player.play();
}else if( triggerGDPRPopup && slide.find('.be-gdpr-consent-message').length ) {
slide.find('.privacy-settings').trigger('click');
}
}else{
if( slide.find('video').length ) {
slide.find('video')[0].play();
}
}
}
},
setActive = function(index, triggerGDPRPopup, handleColorChange) {
if(index === curActiveIndex ) {
return;
}
var target = nav.eq(index),
targetParent = target.parent(),
prevIndex = curActiveIndex,
prevSlide = slides.eq(prevIndex),
prevTarget = nav.eq(prevIndex),
curSlide = slides.eq(index);
pauseVideoSlide(prevSlide);
nav.removeClass('is-active');
prevTarget.css('color', '');
slides.removeClass('is-active');
target.addClass('is-active');
curSlide.addClass('is-active');
playVideoSlide(curSlide, triggerGDPRPopup);
if( handleColorChange ) {
if( targetParent.attr('data-color') ) {
target.css('color', targetParent.attr('data-color'));
}
if( targetParent.attr('data-bg-color') ) {
container.css('background', targetParent.attr('data-bg-color'));
}else {
container.css('background', '');
}
}
curActiveIndex = index;
},
createVimeoPlayerInstances = function() {
$doc.on( 'be_video_loaded', function( event, iframeEle ) {
if(iframeEle.closest('.be-vimeo-embed').length) {
asyncloader.require('vimeonew', function() {
var player = new Vimeo.Player(iframeEle[0]);
iframeEle.closest('.ps-fade-slide-video').data('player', player);
});
}
});
},
lazyLoadSlideImages = function() {
var slideImages = $( '.ps-fade-slide-img' );
if( slideImages.length ) {
slideImages.each(function() {
var curImg = $(this);
if( null != curImg.attr( 'data-src' ) ) {
curImg.on( 'load', function() {
curImg.addClass('ps-fade-slide-img-lazyloaded');
});
curImg.attr( 'src', curImg.attr( 'data-src' ) );
if( this.complete) {
curImg.load();
}
}
});
}
};
if($('.ps-fade').length) {
container = $('.ps-fade');
slides = container.find('.ps-fade-slide'),
nav = container.find('.ps-fade-nav-item-inner');
var reloadCellsOnVideoLoad = function() {
$doc.on( 'be_video_loaded', function( event, iframeEle ) {
if($win.width() < 768) {
$('.ps-fade-gallery-inner').flickity('reloadCells');
}
});
},
mouseEnterHandler = function() {
setActive($(this).parent().index(), false, true);
},
addAnimationDelay = function() {
nav.each(function(index){
$(this).parent().css('transition-delay', (index * 100) + 'ms');
});
},
setGalleryHeight = function() {
var offsetHeight = 0;
if( $('.ps-fade-nav').outerHeight() < $('.ps-fade-gallery-inner').outerHeight() ) {
offsetHeight += $('#header').outerHeight();
}
if(body.hasClass('admin-bar')) {
offsetHeight += 32;
}
$('.ps-fade-gallery-inner').css('height', ($win.height() - offsetHeight));
},
checkIfStickykitNeeded = function() {
var scrollContainer = $('.ps-fade-nav'),
galleryContainer = $('.ps-fade-gallery-inner'),
offsetTop = 0;
if( body.hasClass('admin-bar') ) {
offsetTop += $('#wpadminbar').height();
}
if( scrollContainer.outerHeight() > galleryContainer.outerHeight() ) {
asyncloader.require('stickykit', function(){
galleryContainer.stick_in_parent({
parent : galleryContainer.closest( '.ps-fade-inner' ),
offset_top : offsetTop
});
});
}
},
removeZoroDesktop = function() {
$('.ps-fade-gallery-inner').css('height', '');
nav.off( 'mouseenter', mouseEnterHandler );
$('.ps-fade-nav').addClass('ps-fade-nav-vert-center');
$('.ps-fade-gallery-inner').trigger("sticky_kit:detach");
},
initZoroMobile = function() {
container.addClass('ps-fade-mobile');
asyncloader.require('flickity', function() {
$('.ps-fade-gallery-inner').on( 'change.flickity', function(event, index) {
$('.ps-fade-nav-inner').flickity('select', index);
setActive(index, false, true);
});
$('.ps-fade-gallery-inner').on( 'ready.flickity', function() {
setActive(0, false, true);
container.addClass('ps-fade-initialized');
} );
$('.ps-fade-nav-inner').on( 'change.flickity', function(event, index) {
$('.ps-fade-gallery-inner').flickity('select', index);
setActive(index, false, true);
});
$('.ps-fade-gallery-inner').flickity({pageDots : false, adaptiveHeight : true, prevNextButtons: false});
$('.ps-fade-nav-inner').flickity({adaptiveHeight : true, prevNextButtons: false});
});
},
removeZoroMobile = function() {
container.removeClass('ps-fade-mobile');
$('.ps-fade-gallery-inner').flickity('destroy');
$('.ps-fade-nav-inner').flickity('destroy');
},
addResizeEvent = function() {
$win.on('resize', function() {
if( $win.width() < 1025 ) {
if( !container.hasClass('ps-fade-mobile') ) {
removeZoroDesktop();
initZoroMobile();
}
}else {
if( container.hasClass('ps-fade-mobile') ) {
removeZoroMobile();
initZoro();
}
}
});
},
checkIfVertAlignNav = function() {
if( $('.ps-fade-nav').outerHeight() < $('.ps-fade-gallery-inner').outerHeight() ) {
$('.ps-fade-nav').addClass('ps-fade-nav-vert-center');
}
},
initZoro = function() {
setGalleryHeight();
checkIfStickykitNeeded();
checkIfVertAlignNav();
nav.on( 'mouseenter', mouseEnterHandler );
nav.eq(0).trigger('mouseenter');
container.addClass('ps-fade-initialized');
};
createVimeoPlayerInstances();
reloadCellsOnVideoLoad();
addResizeEvent();
lazyLoadSlideImages();
if( $(window).width() > 1024 ) {
addAnimationDelay();
initZoro();
}else {
initZoroMobile();
}
}
if($('.ps-fade-horizontal').length) {
container = $('.ps-fade-horizontal');
nav = container.find('.ps-fade-horizontal-nav-item-inner');
slides = container.find('.ps-fade-slide');
var navSlider = $('.ps-fade-horizontal-nav'),
mouseWheelNav = null != container.attr('data-mousewheel-nav'),
navParent = nav.parent(),
setGalleryHeight = function() {
var offsetHeight = 0;
if( body.hasClass('admin-bar') ) {
offsetHeight += 32;
}
offsetHeight += $('#header').height();
offsetHeight += $('#bottom-widgets').height();
offsetHeight += $('#footer').height();
navParent.css('height', $win.height() - offsetHeight);
},
addAnimationDelay = function() {
nav.each(function(index){
$(this).css('transition-delay', ((index + 1) * 100) + 'ms');
setTimeout(function() {
$(this).css('transition-delay', ''); //reset so color transition and other transitions don't get affected by this delay
}.bind(this), ((index + 1) * 100));
});
},
initNavSliderAndSlides = function() {
asyncloader.require('flickity', function() {
var initialIndex = null != container.attr( 'data-start-from-center' ) ? Math.floor(slides.length/2) : 0;
navSlider.on('ready.flickity', function() {
if( lockWheel ) {
lockWheel = false;
}
setActive(initialIndex, true);
container.addClass('ps-fade-horizontal-initialized');
});
navSlider.on( 'change.flickity', function(event, index) {
lockWheel = true;
setActive(index, true);
});
navSlider.on('settle.flickity', function() {
lockWheel = false;
});
navSlider.flickity({
prevNextButtons : false,
pageDots : false,
initialIndex : initialIndex
});
});
},
mouseEnterHandler = function() {
if(!lockWheel) {
setActive($(this).parent().index(), true);
}
},
scrollHandler = function(event) {
if( !lockWheel ) {
if( event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0 ) {
navSlider.flickity('previous', true);
}else {
navSlider.flickity('next', true);
}
}
},
initTemplate = function() {
setGalleryHeight();
addAnimationDelay();
if( 1024 < $win.width() ) {
//nav.on('mouseenter', mouseEnterHandler);
if( mouseWheelNav ) {
$win.on('mousewheel DOMMouseScroll', scrollHandler);
}
}else {
container.addClass('ps-fade-horizontal-mobile');
}
initNavSliderAndSlides();
},
addResizeEvent = function() {
$win.on('resize', function() {
if( 1024 < $win.width() && container.hasClass('ps-fade-horizontal-mobile') ) {
setGalleryHeight();
//nav.on('mouseenter', mouseEnterHandler);
if( mouseWheelNav ) {
$win.on('mousewheel DOMMouseScroll', scrollHandler);
}
container.removeClass('ps-fade-horizontal-mobile');
}else if( 1025 > $win.width() && !container.hasClass('ps-fade-horizontal-mobile') ) {
setGalleryHeight();
//nav.off('mouseenter', mouseEnterHandler);
if( mouseWheelNav ) {
$win.off('mousewheel DOMMouseScroll', scrollHandler);
}
container.addClass('ps-fade-horizontal-mobile');
}
});
};
addResizeEvent();
createVimeoPlayerInstances();
lazyLoadSlideImages();
initTemplate();
}
},
close_popups = function() {
jQuery(document).on('mouseup', '.sliderbar-menu-controller, .sb-slidebar, .mobile-nav-controller, .mobile-menu, .header-search-controls .search-button, .search-box-wrapper', function () {
if (jQuery(this).hasClass('sliderbar-menu-controller') || jQuery(this).hasClass('sb-slidebar')) {
close_mobile_menu();
close_search_box();
}
if (jQuery(this).hasClass('mobile-nav-controller') || jQuery(this).hasClass('mobile-menu')) {
close_sidebar();
close_search_box();
}
if (jQuery(this).hasClass('search-button') || jQuery(this).hasClass('search-box-wrapper')) {
close_mobile_menu();
close_sidebar();
}
return false;
});
jQuery(document).on('mouseup', function () {
close_sidebar();
open_leftstrip();
close_mobile_menu();
close_search_box();
});
jQuery(document).on('keyup', function (e) {
if (e.keyCode === 27) {
close_sidebar();
open_leftstrip();
close_search_box();
if (jQuery('.gallery_content').hasClass('show')) {
jQuery('.gallery_content').removeClass('show');
} else {
if (jQuery('.gallery-slider-wrap').hasClass('opened')) {
jQuery('html').removeClass('overflow-hidden');
jQuery('.gallery-slider-wrap').css('left', '100%').css('opacity', 0);
setTimeout(function () {
jQuery('.gallery-slider-wrap').removeClass('opened');
jQuery('.gallery-slider-content').empty();
jQuery('.gallery-slider-wrap').css('left', '-100%');
}, 300);
}
}
}
});
},
back_to_top = function() {
jQuery(document).on('click', '#back-to-top, .back-to-top', function (e) {
e.preventDefault();
jQuery('body,html').animate({ scrollTop: 0 }, 1000, 'easeInOutQuint');
});
},
show_back_to_top_button = function() {
if ( jQuery(window).scrollTop() > 10 ) {
to_top_button.fadeIn();
} else {
to_top_button.fadeOut();
}
},
flickity_default_header = function(){
if(jQuery('.portfolio-sliders').length){
if(jQuery('body.header-transparent').length){
if(Number(jQuery(window).width()) <= 960){
jQuery('#header-inner-wrap').css('position','relative');
}
else{
jQuery('#header-inner-wrap').css('position','absolute');
}
}
}
},
flickity_getHeight = function(){
if(jQuery('#content.portfolio-sliders').length){
var $this = jQuery('#content.portfolio-sliders'),
$gutter_width = Number($this.attr('data-gutter-width')),
$slider_type = $this.attr('data-slider-type'),
$window_width = Number(jQuery(window).width()) + jQuery.getScrollbarWidth(), //Number(jQuery('#main-wrapper').width()) + jQuery.getScrollbarWidth()
$mobile_calculation = true,
$full_window_height = Number(jQuery(window).height()),
$window_height = $full_window_height-(Number(jQuery('#header').innerHeight())+Number(jQuery('#wpadminbar').innerHeight())+Number(jQuery('#portfolio-title-nav-wrap').innerHeight()));
if($this.find('.disable-flickity-mobile').length){
$mobile_calculation = false;
}
if(jQuery('body').hasClass('be-themes-layout-layout-border-header-top')) {
var $border_length = 1;
}else{
var $border_length = 2;
}
//Calculate Height and Width of Image Wrappers
//CONDITION 1 - If Flickity is Disabled for Mobile Devices
if($mobile_calculation == false && $window_width <= 960){
//Remove Scrollbar in Mobile View
var $scrollable_content = $this.find('.gallery_content_slide');
$scrollable_content.height('auto');
// if( 'undefined' !== typeof mCustomScrollbar ) {
//$scrollable_content.mCustomScrollbar("disable");
// }
//Add Image URL to src tag
$this.find('.be-flickity .img-wrap').each(function(){
var $this_img_wrap = jQuery(this),
$this_img = $this_img_wrap.find('img'),
$data_source = $this_img.attr('data-flickity-lazyload');
$this_img.removeAttr("data-flickity-lazyload");
$this_img.attr('src',$data_source);
$this_img_wrap.width('100%').height('100%');
});
}
//CONDITION 2 - Calculation for all Desktop Screen Sizes. And for Mobile Screen Size when Flickity is Enabled.
if($mobile_calculation == true || $window_width > 960){
if($window_width <= 960 ) {
if($window_width >= 480 && $window_width < 640){
$window_height = $full_window_height;
}
$this.find('.img-wrap').width($window_width).height($window_height);
$this.find('.be-flickity').css('padding',0);
}else{
if($slider_type == 'be-ribbon-carousel' || $slider_type == 'be-center-carousel'){
if(jQuery('#bottom-widgets').length){
var $footer_height = 0;
}else{
var $footer_height = Number(jQuery('#footer').innerHeight()) ;
}
var $window_height_addl = $window_height-((Number(jQuery('.layout-box-bottom:visible').height())*$border_length)+$footer_height),
$given_slider_height = $this.attr('data-height');
//Set Height and Width according to above Calculations
var $slider_height = Math.round(($window_height_addl/100)*parseInt($given_slider_height)),
$padding = ($window_height_addl-$slider_height)/2;
$this.find('.img-wrap').height($slider_height);
$this.find('.gallery_content_slide').height($slider_height);
$this.find('.be-flickity').css('padding', $padding+'px 0px '+$padding+'px 0px').css('opacity', 1);
$this.find('.be-flickity .img-wrap').each(function(){
var $this_img = jQuery(this),
$img = $this_img.find('img'),
$img_actual_width = $this_img.attr('data-image-width'),
$img_actual_height = $this_img.attr('data-image-height'),
$img_width = Math.round(($img_actual_width * $slider_height)/$img_actual_height);
$this_img.width($img_width);
});
} else if ($slider_type == 'be-centered' || $slider_type == 'be-fullscreen'){
$given_slider_height = $this.attr('data-height');//100;
//Larger Screens
if(jQuery('#bottom-widgets').length){
var $footer_height = 0;
}else{
var $footer_height = Number(jQuery('#footer').innerHeight()) ;
}
var $window_height_addl = $window_height-((Number(jQuery('.layout-box-bottom:visible').height())*$border_length)+$footer_height);
//Set Height and Width according to above Calculations
var $slider_height = (($window_height_addl/100)*parseInt($given_slider_height)),
$padding = ($window_height_addl-$slider_height)/2;
$this.find('.be-flickity').css('padding', $padding+'px 0px '+$padding+'px 0px').css('opacity', 1);
$this.find('.img-wrap').height($slider_height).width('100%');
}
}
}
//Calculation of Thumbnail Position if Flickity is Enabled for Mobile Devices
if($mobile_calculation == true){
if($window_width <= 960){
var $thumbnail_position = $window_height+37 - Number(jQuery('#header').innerHeight());
jQuery('.portfolio-sliders .single-portfolio-slider.carousel_bar_area').css('top',$thumbnail_position);
}else{
jQuery('.portfolio-sliders .single-portfolio-slider.carousel_bar_area').css('top','initial');
}
}
}
},
flickity_call = function(){
var $flickity_gallery = jQuery('.main-gallery.be-flickity');
if( $flickity_gallery.length > 0 ) {
var $slider_type = $flickity_gallery.closest('.portfolio-sliders').attr('data-slider-type'),
$nav_arrow = Boolean($flickity_gallery.attr('data-nav-arrow')),
$auto_play_time = parseInt($flickity_gallery.attr('data-auto-play')),
$free_scroll = Boolean($flickity_gallery.attr('data-free-scroll')),
$keyboard_crtl = Boolean($flickity_gallery.attr('data-keyboard-crtl')),
$loop_ctrl = Boolean($flickity_gallery.attr('data-loop-crtl')),
$cell_align = 'center',
$percentPosition = true,
$body = jQuery('body');
if($auto_play_time <= 0){
$auto_play_time = false;
}
if($slider_type == 'be-ribbon-carousel'){
$cell_align = 'left';
$percentPosition = false;
}
if($slider_type == 'be-center-carousel'){
$cell_align = 'center';
$percentPosition = false;
}
if((Number(jQuery(window).width()) + jQuery.getScrollbarWidth()) <= 960){
$free_scroll = false;
}
var $flickity_gallery = jQuery('.main-gallery.be-flickity').flickity({
lazyLoad: 3,
prevNextButtons: $nav_arrow,
wrapAround: $loop_ctrl,
freeScroll: $free_scroll,
accessibility: $keyboard_crtl,
autoPlay: $auto_play_time,
contain: true,
cellAlign: $cell_align,
percentPosition:$percentPosition,
pageDots: false,
watchCSS: true,
arrowShape: {
x0: 20,
x1: 40, y1: 20,
x2: 45, y2: 20,
x3: 25
}
});
var $flickity_instance = $flickity_gallery.data('flickity');
var iframes = $flickity_gallery.find('.img-wrap iframe');
if($slider_type == 'be-ribbon-carousel' || $slider_type == 'be-center-carousel'){
flickity_resetGutter($flickity_gallery);
}
$flickity_gallery.on('lazyLoad.flickity',function(event, cellElement){
var img = event.originalEvent.target;
// Resize to Parent
if($slider_type != 'be-centered'){
if(Number(jQuery(window).width()) > 960){
jQuery(img).resizeToParent();
}
}
})
// Apply Fit Vids
$flickity_gallery.find('.img-wrap iframe').fitVids();
$flickity_gallery.find('.img-wrap iframe').css('opacity',1);
$flickity_gallery.find('.img-wrap .img-overlay-wrap').css('display','block');
if($slider_type == 'be-fullscreen'){
$flickity_gallery.flickity('resize');
}
$flickity_gallery.on( 'settle.flickity', function( event, pointer ){
// Pause Video on Slider Movement
iframes.each( function() {
var iframe_id = jQuery(this).attr('id');
if( iframe_id ) {
var iframe = document.getElementById( iframe_id );
var player = $f(iframe);
player.api("pause");
}
});
var $this_img_wrap = jQuery($flickity_instance.selectedElement);
// Increment Slider Count
jQuery('.current-slide-count').text(($flickity_instance.selectedIndex) + 1);
// Remove Overlay Wrapper
$flickity_gallery.find('.img-wrap.is-selected').css('z-index','-1');
// Background Check
if (!($body.hasClass('disable_rev_slider_bg_check')) && !($body.hasClass('semi'))){
if($slider_type == 'be-fullscreen' && ($this_img_wrap.find('iframe').length <= 0) ){
BackgroundCheck.init({
targets: '#header #header-inner-wrap, .portfolio-sliders .transparent-nav-bar',
images: '.be-fullscreen .img-wrap.is-selected img'
});
BackgroundCheck.refresh();
}
}
});
}
// BackgroundCheck.destroy();
},
flickity_resize = function(){
var $flickity_gallery = jQuery('.main-gallery.be-flickity'),
$slider_type = $flickity_gallery.closest('.portfolio-sliders').attr('data-slider-type');
if($slider_type != 'be-centered'){
if(Number(jQuery(window).width()) > 960){
$flickity_gallery.find('.img-wrap img').resizeToParent();
}
}
},
flickity_resetGutter = function(onFlickityGallery){
var $flickity_slider = onFlickityGallery.find('.flickity-slider'),
$flickity_wrapper = onFlickityGallery.closest('#content'),
$gutter_width = $flickity_wrapper.attr('data-gutter-width');
if(Number(jQuery(window).width()) <= 960 ) {
$flickity_slider.css('left',0);
}else{
$flickity_slider.css('left',Number($gutter_width));
}
},
blog_category_hover_bg = function() {
var blogContainer = jQuery( '.style8-blog' );
blogContainer.on( 'mouseenter', '.post-meta.post-category a', function( event ) {
var curElement = jQuery( this ),
bgColor = curElement.attr( 'data-background-color' ) || '';
curElement.css( {
backgroundColor : bgColor,
borderColor : bgColor
} );
} );
blogContainer.on( 'mouseleave', '.post-meta.post-category a', function( event ) {
var curElement = jQuery( this );
curElement.css( {
backgroundColor : '',
borderColor : ''
} );
} );
},
flickity_thumb_call = function(){
var $flickity_thumb_gallery = jQuery('.be-flickity-thumb').flickity({
asNavFor: '.main-gallery',
freeScroll: true,
contain: true,
pageDots: false,
prevNextButtons: false
});
},
carousel_thumb_call = function(){
var $flickity_thumb_gallery = jQuery('.be-carousel-thumb').flickity({
freeScroll: true,
contain: true,
pageDots: false,
prevNextButtons: false
});
},
triggerStackShare = function( hoverTargets ) {
var hoverTargets = hoverTargets || jQuery( '.be-share-stack-mask' );
hoverTargets.each( function() {
var hoverTarget = jQuery( this ),
hoverTargetChildren = hoverTarget.children(),
shareTargets = hoverTargetChildren.slice( 1 ),
stackTop = hoverTarget.parent().hasClass( 'be-stack-top' );
hoverTarget.on( 'mouseenter', function( event ) {
if( !stackTop ) {
hoverTarget.css( 'width', ( ( hoverTargetChildren.length * 15 ) + ( ( hoverTargetChildren.length - 1 ) * 10 ) ) + 'px' );
shareTargets.each( function(i, e) {
var left = ( ( i + 1 ) * 25 ) + 'px';
jQuery( this ).css({
left : left,
opacity : 1
});
} );
}else{
hoverTarget.css( 'height', ( ( hoverTargetChildren.length * 17 ) + ( ( hoverTargetChildren.length - 1 ) * 10 ) ) + 'px' );
hoverTarget.css( 'bottom', 0 );
shareTargets.each(function( i, e ) {
var bottom = ( ( i + 1 ) * 25 ) + 'px';
jQuery( this ).css({
bottom : bottom,
opacity : 1
});
} );
}
} );
hoverTarget.on( 'mouseleave', function( event ) {
if( !stackTop ) {
hoverTarget.css( 'width', '' );
shareTargets.each( function( i, e ) {
jQuery( this ).css({
left : 0,
opacity : 0
});
} );
}else{
hoverTarget.css( 'height', '' );
shareTargets.each( function( i, e ) {
jQuery( this ).css({
bottom : 0,
opacity : 0
});
} );
}
} );
});
},
triggerFixedFooter = function() {
if( 0 < fixedFooter.length && 0 < fixedFooterPlaceholder.length && !jQuery( 'body' ).hasClass( 'be-fixed-footer-disable' ) ) {
if( 1024 < jQuery( window ).width() ) {
fixedFooterPlaceholder.css( 'display', 'block' );
fixedFooterPlaceholder.height( fixedFooter.outerHeight() );
fixedFooter.css('visibility', 'visible');
if( 'fixed' != fixedFooter.css( 'position' ) ) {
fixedFooter.css( 'position', 'fixed' );
}
jQuery( 'body' ).addClass( 'be-fixed-footer' );
}else{
fixedFooterPlaceholder.css( 'display', 'none' );
fixedFooter.css( 'position', 'relative' );
fixedFooter.css( 'visibility', 'visible' );
jQuery( 'body' ).removeClass( 'be-fixed-footer' );
}
}
},
woocommerce = function() {
jQuery(document).on( 'mouseenter', '.header-cart-controls', function() {
if(jQuery(this).find('.cart_list.product_list_widget ').length > 0) {
jQuery(this).find('.widget_shopping_cart_wrap').stop(true, false).fadeIn();
}
});
jQuery(document).on( 'mouseleave', '.header-cart-controls', function() {
if(jQuery(this).find('.cart_list.product_list_widget ').length > 0) {
jQuery(this).find('.widget_shopping_cart_wrap').stop(true, false).fadeOut();
}
});
asyncloader.require( 'magnificpopup', function() {
jQuery('.product-single-boxed-content .images').magnificPopup({
delegate: 'a',
type: 'image',
tLoading: 'Loading image #%curr%...',
mainClass: 'mfp-img-mobile',
gallery: {
enabled: true,
navigateByImgClick: true,
preload: [0,1] // Will preload 0 - before current, and 1 after the current image
},
image: {
tError: 'The image #%curr% could not be loaded.'
}
});
});
},
heroSectionParallax = function() {
var parallax = jQuery('.be-section.be-bg-parallax');
if( parallax.length > 0 ) {
parallax.each(function (i, el) {
var el = jQuery(el);
if (el.visible(true)) {
if(!jQuery(this).hasClass('parallaxed')) {
jQuery(this).parallax("50%", 0.4);
jQuery(this).addClass('parallaxed');
}
}
});
}
},
tatsuFirstSection = function() {
if( jQuery('#hero-section').length == 0 ) {
//jQuery('#header-inner-wrap').addClass( jQuery('.tatsu-section:first-child').attr('data-headerscheme') );
}
},
video = function() {
var vimeoVideos = $( '.be-vimeo-embed' ),
youtubeVideos = $( '.be-youtube-embed' ),
loadYoutubeVideos,
videoReadyCallback;
videoReadyCallback = function( iframeEle ) {
asyncloader.require( ['fitvids'], function(){
if( null != iframeEle && 0 < iframeEle.length ) {
iframeEle.closest( '.be-video-embed' ).removeClass( 'be-embed-placeholder' );
iframeEle.parent().fitVids();
$(document).trigger( 'be_video_loaded', [ iframeEle ] );
}
});
};
loadYoutubeVideos = function() {
youtubeVideos.each(function() {
var curVideo = $(this),
curPlayer = null,
id = null != curVideo.attr( 'data-video-id' ) ? curVideo.attr( 'data-video-id' ) : null,
autoplay = null != curVideo.attr( 'data-autoplay' ) ? parseInt(curVideo.attr( 'data-autoplay' )) : null,
loopVideo = null != curVideo.attr( 'data-loop' ) ? parseInt(curVideo.attr( 'data-loop' )) : null;
if( null != id ) {
curPlayer = new YT.Player( this, {
videoId : id,
playerVars: {
'autoplay': autoplay,
'loop' : loopVideo,
'playlist' : loopVideo ? id : '',
'rel' : 0
},
width : curVideo.width(),
height : curVideo.width()/1.7777,
events: {
'onReady': function (e) {
if( autoplay ){
e.target.mute();
}
}
}
});
videoReadyCallback( $( curPlayer.getIframe() ) );
}
});
}
//vimeo videos
if( 0 < vimeoVideos.length ) {
asyncloader.require( [ 'vimeonew' ], function() {
vimeoVideos.each( function() {
var curVideo = $(this),
curPlayer = null,
id = !isNaN( Number( curVideo.attr( 'data-video-id' ) ) ) ? Number( curVideo.attr( 'data-video-id' ) ) : null,
autoplay = null != curVideo.attr( 'data-autoplay' ) ? parseInt(curVideo.attr( 'data-autoplay' )) : false,
loopVideo = null != curVideo.attr( 'data-loop' ) ? parseInt(curVideo.attr( 'data-loop' )) : false;
if( null != id ) {
var curPlayer = new Vimeo.Player( this, {
id : id,
autoplay : autoplay ? true : false,
loop : loopVideo ? true : false,
muted : autoplay ? true : false,
width : curVideo.width(),
height : Math.ceil(curVideo.width()/1.7777),
});
curPlayer.ready().then( function() {
videoReadyCallback( curVideo.children( 'iframe' ) );
});
}
} );
} );
}
if( 0 < youtubeVideos.length ) {
if( 'undefined' != typeof YT && 'function' == typeof YT.Player ) {
loadYoutubeVideos();
}else {
$(document).on( 'YTAPIReady', loadYoutubeVideos );
}
}
},
ready = function() {
//jQuery( 'body' ).css( 'display', 'none' );
tatsuFirstSection();
blog_category_hover_bg();
triggerFixedFooter();
sticky_sidebar();
jQuery('.component ul li:first-child').addClass('current');
asyncloader.require( 'fitvids' , function(){
body.find('iframe').not('.rev_slider iframe').each(function () {
jQuery(this).parent().fitVids();
});
});
jQuery( document ).on( 'click', '.top-overlay-menu .sliderbar-nav-controller-wrap, .left-overlay-menu .left-strip-wrapper', menu_link_animation );
//Handle Transparent & Sticky Headers
asyncloader.require( [ 'transparentheader' ], function(){
jQuery('#header').Transparent();
});
//Handle Scroll to Sections
if( body.hasClass('section-scroll') && !body.hasClass('tatsu-frame') ) {
var deps = [ 'scrolltosections', 'mousewheel' ];
if( jQuery('be-vimeo-embed').length ){
deps.push('vimeo');
}
asyncloader.require( deps, function(){
body.SectionScroll();
});
}
if( jQuery('#galaxy-canvas').length > 0 ) {
asyncloader.require( [ 'greensock', 'request_animation_frame', 'galaxycanvas' ], function(){
galaxy_canvas();
});
}
if( jQuery('#pattern-canvas').length > 0 ) {
asyncloader.require( [ 'greensock', 'request_animation_frame', 'patterncanvas' ], function(){
pattern_canvas();
});
}
if( jQuery('#waterdrops-canvas').length > 0 ) {
asyncloader.require( [ 'greensock', 'request_animation_frame', 'waterdropcanvas' ], function(){
water_drop_canvas();
});
}
if( fullscreen_wrap.length > 0 ) {
asyncloader.require( [ 'fullscreenheight' ], function(){
fullscreen_wrap.FullScreen();
});
}
//Perspective Left & right
perspective_navigation();
//Top Page Stack
top_page_stack();
custom_scrollbar();
close_sidebar();
open_leftstrip();
menu_item_update();
single_page_nav();
superfish();
sliders();
rev_slider_bg_check();
woocommerce();
heroSectionParallax();
//sticky_sections
sticky_sections();
//stack share icons trigger
triggerStackShare();
//Handle Click Events
close_overlay_menu();
close_gallery_info_box();
close_popups();
back_to_top();
left_strip();
sliderbar_navigation();
local_scroll();
sub_menu();
falling_menu();
mobile_menu();
header_search();
//BE Left strip
be_left_strip();
left_header_close_overlay();
//Side menu
sidemenu_navigation();
close_sidemenu();
//Handle Mouseover events
carousel_thumb();
//Flickity
if( jQuery('.main-gallery.be-flickity').length > 0 ) {
var hasVimeo = jQuery('.main-gallery.be-flickity').attr('data-vimeo'),
flickityDeps = ['flickity', 'backgroundcheck', 'resizetoparent' ];
if( "1" == hasVimeo && jQuery('be-vimeo-embed').length ) {
flickityDeps.push( 'vimeo' );
}
asyncloader.require( flickityDeps, function() {
flickity_default_header();
flickity_getHeight();
flickity_call();
flickity_thumb_call();
});
}
if( jQuery('.be-carousel-thumb').length > 0 ) {
asyncloader.require('flickity', function() {
carousel_thumb_call();
});
}
carouselIOSFix();
//Multi Level Menu
multi_level_menu();
video();
portfolioTemplateZoro();
},
run = function() {
ready();
//On Window Scroll Event
jQuery(window).on('scroll', function () {
didScroll = true;
});
setInterval( function(){
if( didScroll ) {
didScroll = false;
show_back_to_top_button();
}
},100 );
if( body.hasClass('single-page-version') ){
jQuery(window).on('scroll', function () {
menu_item_update();
});
}
if( jQuery(".floting-sidebar").length > 0 || jQuery(".fixed-sidebar").length > 0 ) {
jQuery(window).on('scroll', function () {
sticky_sidebar();
});
}
if( body.hasClass('page-template-page-splitscreen-left') || body.hasClass('page-template-page-splitscreen-right') ) {
jQuery(window).on('scroll', function () {
split_screen();
});
}
//On Window Resize Event
jQuery(window).on( 'resize.oshine', function() {
sticky_sidebar();
split_screen();
triggerFixedFooter();
//close_mobile_menu();
menu_item_update();
if (jQuery(window).width() > 960) {
jQuery('.mobile-menu').slideUp();
jQuery( '.mobile-nav-controller .be-mobile-menu-icon' ).removeClass( 'is-clicked' );
} else {
jQuery( 'body' ).removeClass( 'side-menu-opened' );
jQuery( '.be-sidemenu' ).removeClass( 'opened' );
jQuery( '.hamburger-nav-controller .be-mobile-menu-icon' ).removeClass( 'is-clicked' );
jQuery( '#be-left-strip .be-mobile-menu-icon' ).removeClass( 'is-clicked' );
jQuery('html').removeClass('hide-overflow');
if( jQuery('body').hasClass( 'overlay-center-align-menu' ) || jQuery('body').hasClass( 'overlay-left-align-menu' ) || jQuery('body').hasClass( 'overlay-horizontal-menu' ) ){
jQuery( '#header' ).css( 'z-index', '10' );
jQuery( '.be-sidemenu' ).css({ 'z-index' : '-1', 'visibility' : 'hidden' });
}
}
//jQuery(".gallery_content_area, .ps-content-inner, .gallery_content_slide").mCustomScrollbar("update");
if( jQuery('.main-gallery.be-flickity').length > 0 ) {
asyncloader.require( ['flickity', 'backgroundcheck', 'resizetoparent'], function() {
flickity_default_header();
flickity_getHeight();
var $flickity_gallery = jQuery('.main-gallery.be-flickity');
if(jQuery(window).width() > 960){
$flickity_gallery.find('.img-wrap').each(function(){
var $this_img = jQuery(this),
$img = $this_img.find('img');
//Reassign Img Source Attribute to Enable Lazyload in Larger Screen Sizes
if( ($img.attr('src') ) && !($img.hasClass('flickity-lazyloaded') ) ) {
var $data_source = $img.attr('src');
$img.removeAttr("src");
$img.attr('data-flickity-lazyload',$data_source);
}
});
}
$flickity_gallery.flickity('reloadCells');
// Resize to Parent
flickity_resize();
flickity_resetGutter($flickity_gallery);
flickity_thumb_call();
});
}
if( jQuery('.be-carousel-thumb').length > 0 ) {
asyncloader.require( 'flickity', function() {
carousel_thumb_call();
});
}
});
// On Window Load Event
jQuery(window).load(function () {
var $hash = window.location.hash;
if ($hash) {
if (jQuery($hash).length > 0) {
if( body.hasClass( 'be-sticky-sections' ) ) {
var secIndex = jQuery( $hash ).index();
if( null != stickySections && -1 < secIndex && secIndex < jQuery( '.sticky-section' ).length ) {
stickySections.moveTo( secIndex );
}
}else{
animate_scroll( jQuery($hash) );
}
}
}
setTimeout(function () {
asyncloader.require( 'imagesloaded' , function(){
body.imagesLoaded(function () {
split_screen();
if( body.hasClass( 'be-sticky-sections' ) && !body.hasClass( 'tatsu-frame' ) && 967 < jQuery( window ).width() ) {
stickySections.updateLayout();
}
});
});
}, 200);
custom_scrollbar();
});
}
return {
run: run,
animate_scroll : animate_scroll,
triggerStackShare : triggerStackShare
}
})();
oshine_scripts.run();
window.oshine_scripts = oshine_scripts;
});
})( jQuery );