(function($){
"use strict";
function throttle(func, ms){
var isThrottled=false,
savedArgs,
savedThis;
function wrapper(){
if(isThrottled){
savedArgs=arguments;
savedThis=this;
return;
}
func.apply(this, arguments);
isThrottled=true;
setTimeout(function(){
isThrottled=false;
if(savedArgs){
wrapper.apply(savedThis, savedArgs);
savedArgs=savedThis=null;
}}, ms);
}
return wrapper;
}
$(document).on('click', '.post-comments-show button', function(e){
$(this).parent().siblings('.post-comments').show();
$(this).parent().remove();
});
(function(){
var ticking=false;
var update=function(){
$('.content-area .site-main').each(function(){
var content=$(this).find('.entry-content');
var sidebar=$(this).find('.post-sidebar-inner');
var offsetTop=20;
var offsetBottom=-20;
var elements=[];
elements.push('> .alignfull');
elements.push('> .alignwide');
var layouts=$(content).find(elements.join(',') );
if(0===sidebar.length){
return;
}
if(0===layouts.length){
return;
}
var disabled=false;
var sidebarTop=$(sidebar).offset().top;
var sidebarHeight=$(sidebar).outerHeight(true);
for(let i=0; i < $(layouts).length; ++i){
if('none'===$(layouts[ i ]).css('transform') ){
continue;
}
let layoutTop=$(layouts[ i ]).offset().top;
let layoutHeight=$(layouts[ i ]).outerHeight(true);
let pointTop=layoutTop - offsetTop;
let pointBottom=layoutTop + layoutHeight + offsetBottom;
if(sidebarTop + sidebarHeight >=pointTop&&sidebarTop <=pointBottom){
disabled=true;
}}
if(disabled){
$(sidebar).css('opacity', '0');
}else{
$(sidebar).css('opacity', '1');
}});
ticking=false;
};
var requestTick=function(){
if(!ticking){
window.requestAnimationFrame(update);
ticking=true;
}};
var onProcess=function(){
requestTick();
};
$(window).on('scroll', onProcess);
$(window).on('resize', onProcess);
$(window).on('image-load', onProcess);
$(window).on('post-load', onProcess);
})();
if(typeof csco_ajax_pagination!=='undefined'){
$('.post-archive').append('<div class="ajax-navigation"><button class="load-more">' + csco_ajax_pagination.translation.load_more + '</button></div>');
var query_data=$.parseJSON(csco_ajax_pagination.query_data),
infinite=$.parseJSON(query_data.infinite_load),
button=$('.ajax-navigation .load-more'),
page=2,
loading=false,
scrollHandling={
allow: infinite,
reallow: function(){
scrollHandling.allow=true;
},
delay: 400 //(milliseconds) adjust to the highest acceptable value
};}
function csco_ajax_get_posts(){
loading=true;
button.addClass('loading');
var data={
action: 'csco_ajax_load_more',
page: page,
posts_per_page: csco_ajax_pagination.posts_per_page,
query_data: csco_ajax_pagination.query_data,
_ajax_nonce: csco_ajax_pagination.nonce,
};
if(csco_ajax_pagination.hasOwnProperty('current_lang')&&csco_ajax_pagination.current_lang){
data.current_lang=csco_ajax_pagination.current_lang;
}
if(csco_ajax_pagination.hasOwnProperty('current_locale')&&csco_ajax_pagination.current_locale){
data.current_locale=csco_ajax_pagination.current_locale;
}
var csco_pagination_url;
if('ajax_restapi'===csco_ajax_pagination.type){
csco_pagination_url=csco_ajax_pagination.rest_url;
}else{
csco_pagination_url=csco_ajax_pagination.url;
}
$.post(csco_pagination_url, data, function(res){
if(res.success){
var data=$(res.data.content);
if(data.length){
var cscoAppendEnd=function(){
$(document.body).trigger('post-load');
if($('#fb-root').length&&'object'===typeof FB){
FB.XFBML.parse();
}
button.removeClass('loading');
page=page + 1;
loading=false;
};
$('.post-archive .archive-main').append(data);
cscoAppendEnd();
}
if(res.data.posts_end||!data.length){
button.remove();
}}else{
}}).fail(function(xhr, textStatus, e){
});
}
if(typeof csco_ajax_pagination!=='undefined'){
$(window).scroll(function(){
if(button.length&&!loading&&scrollHandling.allow){
scrollHandling.allow=false;
setTimeout(scrollHandling.reallow, scrollHandling.delay);
var offset=$(button).offset().top - $(window).scrollTop();
if(4000 > offset){
csco_ajax_get_posts();
}}
});
$('body').on('click', '.load-more', function(){
if(!loading){
csco_ajax_get_posts();
}});
}
if(typeof csco_ajax_nextpost!=='undefined'){
var objNextparent=$('.site-inner > .site-content'),
objNextsect='.cs-nextpost-section',
objNextpost=null,
currentNTitle=document.title,
currentNLink=window.location.href,
loadingNextpost=false,
scrollNextpost={
allow: true,
reallow: function(){
scrollNextpost.allow=true;
},
delay: 400 //(milliseconds) adjust to the highest acceptable value
};
if(csco_ajax_nextpost.next_post){
$(objNextparent).after('<div class="cs-nextpost-inner"></div>');
objNextpost=$('.cs-nextpost-inner');
}}
function csco_ajax_get_nextpost(){
loadingNextpost=true;
var data={
action: 'csco_ajax_load_nextpost',
not_in: csco_ajax_nextpost.not_in,
current_user: csco_ajax_nextpost.current_user,
nonce: csco_ajax_nextpost.nonce,
next_post: csco_ajax_nextpost.next_post,
};
if(csco_ajax_nextpost.hasOwnProperty('current_lang')&&csco_ajax_nextpost.current_lang){
data.current_lang=csco_ajax_nextpost.current_lang;
}
if(csco_ajax_nextpost.hasOwnProperty('current_locale')&&csco_ajax_nextpost.current_locale){
data.current_locale=csco_ajax_nextpost.current_locale;
}
var csco_ajax_nextpost_url;
if('ajax_restapi'===csco_ajax_nextpost.type){
csco_ajax_nextpost_url=csco_ajax_nextpost.rest_url;
}else{
csco_ajax_nextpost_url=csco_ajax_nextpost.url;
}
$.post(csco_ajax_nextpost_url, data, function(res){
csco_ajax_nextpost.next_post=false;
if(res.success){
var data=$(res.data.content);
if(data.length){
loadingNextpost=false;
csco_ajax_nextpost.not_in=res.data.not_in;
csco_ajax_nextpost.next_post=res.data.next_post;
$(objNextpost).siblings('.cs-nextpost-loading').remove();
$(objNextpost).append(data);
if($('#fb-root').length&&'object'===typeof FB){
FB.XFBML.parse();
}
$(document.body).trigger('post-load');
}}else{
}}).fail(function(xhr, textStatus, e){
});
}
if(typeof csco_ajax_nextpost!=='undefined'){
$(window).scroll(function(){
var scrollTop=$(window).scrollTop();
if(csco_ajax_nextpost.next_post){
if(objNextpost.length&&!loadingNextpost&&scrollNextpost.allow){
scrollNextpost.allow=false;
setTimeout(scrollNextpost.reallow, scrollNextpost.delay);
let offset=objNextpost.offset().top + objNextpost.innerHeight() - scrollTop;
if(4000 > offset){
$(objNextpost).after('<div class="cs-nextpost-loading"></div>');
csco_ajax_get_nextpost();
}}
}
let objFirst=$(objNextsect).first();
if(objFirst.length){
let firstTop=$(objFirst).offset().top;
if(scrollTop < firstTop&&window.location.href!==currentNLink){
document.title=currentNTitle;
window.history.pushState(null, currentNTitle, currentNLink);
}}
$(objNextsect).each(function(index, elem){
let elemTop=$(elem).offset().top;
let elemHeight=$(elem).innerHeight();
if(scrollTop > elemTop&&scrollTop < elemTop + elemHeight){
if(window.location.href!==$(elem).data('url') ){
document.title=$(elem).data('title');
window.history.pushState(null, $(elem).data('title'), $(elem).data('url') );
if(typeof gtag==='function'&&typeof window.gaData==='object'){
var trackingId=Object.keys(window.gaData)[ 0 ];
if(trackingId){
gtag('config', trackingId, {
'page_title': $(elem).data('title'),
'page_location': $(elem).data('url')
});
gtag('event', 'page_view', { 'send_to': trackingId });
}}
}}
});
});
}
function initMasonrySidebar(){
var masonrySidebar=$('.widget-area'),
masonrySidebarOptions={
columns: '.sidebar',
items: ' .widget'
};
$(masonrySidebar).imagesLoaded(function(){
$(masonrySidebar).colcade(masonrySidebarOptions);
});
}
$(document).ready(function(){
initMasonrySidebar();
});
function initMasonry(){
var masonryArchive=$('.archive-masonry'),
masonryArchiveOptions={
columns: '.archive-col',
items: 'article'
};
$(masonryArchive).imagesLoaded(function(){
$(masonryArchive).colcade(masonryArchiveOptions);
});
}
$(document).ready(function(){
initMasonry();
});
function cscoLoadMenuPosts(menuItem){
var dataCat=menuItem.children('a').data('cat'),
dataType=menuItem.children('a').data('type'),
dataNumberposts=menuItem.children('a').data('numberposts'),
menuContainer,
postsContainer;
if(menuItem.hasClass('cs-mega-menu-has-category') ){
menuContainer=menuItem;
postsContainer=menuContainer.find('.cs-mm-posts');
}else{
menuContainer=menuItem.closest('.sub-menu');
postsContainer=menuContainer.find('.cs-mm-posts[data-cat="' + dataCat + '"]');
}
menuContainer.find('.menu-item, .cs-mm-posts').removeClass('active-item');
menuItem.addClass('active-item');
if(postsContainer){
postsContainer.addClass('active-item');
}
if(menuItem.hasClass('cs-mm-loading')||menuItem.hasClass('cs-mm-loaded') ){
return false;
}
if(!dataCat||typeof dataCat==='undefined'){
return false;
}
if(!postsContainer||typeof postsContainer==='undefined'){
return false;
}
var data={
'cat': dataCat,
'type': dataType,
'per_page': dataNumberposts
};
if(csco_mega_menu.hasOwnProperty('current_lang')&&csco_mega_menu.current_lang){
data.current_lang=csco_mega_menu.current_lang;
}
if(csco_mega_menu.hasOwnProperty('current_locale')&&csco_mega_menu.current_locale){
data.current_locale=csco_mega_menu.current_locale;
}
$.ajax({
url: csco_mega_menu.rest_url,
type: 'GET',
data: data,
global: false,
async: true,
beforeSend: function(){
menuItem.addClass('cs-mm-loading');
postsContainer.addClass('cs-mm-loading');
},
success: function(res){
if(res.status&&'success'===res.status){
menuItem.addClass('cs-mm-loaded');
postsContainer.addClass('cs-mm-loaded');
if(res.content&&res.content.length){
$(res.content).imagesLoaded(function(){
postsContainer.html(res.content);
});
}}
},
complete: function(){
menuItem.removeClass('cs-mm-loading');
postsContainer.removeClass('cs-mm-loading');
}});
}
function cscoGetFirstTab(container){
var firstTab=false;
container.find('.cs-mega-menu-child').each(function(index, el){
if($(el).hasClass('menu-item-object-category') ){
firstTab=$(el);
return false;
}
if($(el).hasClass('menu-item-object-post_tag') ){
firstTab=$(el);
return false;
}});
return firstTab;
}
$(document).ready(function(){
$('.navbar-nav .menu-item.cs-mega-menu-has-category, .navbar-nav .menu-item.cs-mega-menu-child').on('mouseenter', function(){
cscoLoadMenuPosts($(this) );
});
$('.navbar-nav .menu-item.cs-mega-menu-has-categories').on('mouseenter', function(){
var tab=cscoGetFirstTab($(this) );
if(tab){
cscoLoadMenuPosts(tab);
}});
});
$(document, '.navbar-nav').ready(function(){
var tab=false;
$('.navbar-nav .menu-item.cs-mega-menu-has-categories').each(function(index, el){
tab=cscoGetFirstTab($(this) );
if(tab){
cscoLoadMenuPosts(tab);
}});
$('.navbar-nav .menu-item.cs-mega-menu-has-category').each(function(index, el){
cscoLoadMenuPosts($(this) );
});
});
$.fn.responsiveNav=function(){
this.removeClass('menu-item-expanded');
if(this.prev().hasClass('submenu-visible') ){
this.prev().removeClass('submenu-visible').slideUp(350);
this.parent().removeClass('menu-item-expanded');
}else{
this.parent().parent().find('.menu-item .sub-menu').removeClass('submenu-visible').slideUp(350);
this.parent().parent().find('.menu-item-expanded').removeClass('menu-item-expanded');
this.prev().toggleClass('submenu-visible').hide().slideToggle(350);
this.parent().toggleClass('menu-item-expanded');
}};
$(document).ready(function(e){
$('.widget_nav_menu .menu-item-has-children').each(function(e){
$(this).append('<span></span>');
$('> span', this).on('click', function(e){
e.preventDefault();
$(this).responsiveNav();
});
if('#'===$('> a', this).attr('href') ){
$('> a', this).on('click', function(e){
e.preventDefault();
$(this).next().next().responsiveNav();
});
}});
});
var cscoNavigation={};
(function(){
var $this;
cscoNavigation={
sScrollAllow: false,
sInFirst: true,
sInterval: 0,
sPrevious: 0,
sDirection: 0,
loadStickyOffset: 0,
loadAdminBar: false,
Sticky: $('body').hasClass('navbar-sticky-enabled'),
StickyUp: $('body').hasClass('navbar-smart-enabled'),
StickyNav: $('.site-header .navbar-primary'),
StickyHeader: $('.site-header'),
StickyOffsetType: 'auto',
StickyOffset: 0,
StickyOffsetFull: 0,
init: function(e){
$this=cscoNavigation;
$this.events(e);
},
events: function(e){
window.addEventListener('load', function(e){
$this.stickyInit(e);
$this.smartLevels(e);
$this.adaptTablet(e);
});
window.addEventListener('resize', function(e){
$this.stickyInit(e);
$this.smartLevels(e);
$this.adaptTablet(e);
});
window.addEventListener('scroll', function(e){
window.requestAnimationFrame($this.stickyScroll);
});
},
stickyInit: function(e){
if(!$this.Sticky){
return;
}
$this.sScrollAllow=false;
if($this.StickyOffsetType!=='size'){
var calcbar=0;
var wpadminbar=0;
if($('#wpadminbar').length > 0){
calcbar=$('#wpadminbar').outerHeight();
wpadminbar=calcbar;
if('resize'!==e.type){
$this.loadAdminBar=wpadminbar;
}
if('absolute'===$('#wpadminbar').css('position') ){
wpadminbar=0;
if('resize'!==e.type){
$this.loadAdminBar=0;
}}
}
$this.StickyOffsetFull=$this.StickyHeader.outerHeight();
var elOffset=$this.StickyNav.not('.sticky-nav').offset();
if(elOffset&&!$this.StickyNav.hasClass('.sticky-nav') ){
$this.StickyOffset=elOffset.top;
$this.loadStickyOffset=elOffset.top;
}else{
$this.StickyOffset=$this.loadStickyOffset;
}
if(32===$this.loadAdminBar){
if(46===calcbar){
$this.StickyOffset=$this.StickyOffset - wpadminbar + 14;
}else{
$this.StickyOffset=$this.StickyOffset - wpadminbar;
}}else if(46===$this.loadAdminBar||0===$this.loadAdminBar){
if(32===calcbar){
$this.StickyOffset=$this.StickyOffset - wpadminbar - 14;
}else{
$this.StickyOffset=$this.StickyOffset - wpadminbar;
}}
}
var navHeight=$this.StickyNav.outerHeight();
$this.StickyHeader.data('min-height', $this.StickyOffsetFull - navHeight);
if('resize'!==e.type){
$this.StickyNav.after('<div class="navbar-dummy"></div>');
$this.StickyHeader.find('.navbar-dummy').height(navHeight);
if($this.StickyUp){
$this.StickyHeader.addClass('sticky-type-slide');
}}
$this.sScrollAllow=true;
},
stickyScroll: function(e){
if(!$this.sScrollAllow){
return;
}
var scrollCurrent=$(window).scrollTop();
if($this.StickyUp){
if(scrollCurrent > $this.StickyOffsetFull){
$this.StickyNav.addClass('sticky-nav');
}
if(scrollCurrent <=$this.StickyOffset){
$this.StickyNav.removeClass('sticky-nav');
}
if(scrollCurrent > $this.sPrevious){
$this.sInterval=0;
$this.sDirection='down';
$this.StickyNav.addClass('sticky-down').removeClass('sticky-up');
}else{
$this.sInterval +=$this.sPrevious - scrollCurrent;
$this.sDirection='up';
$this.StickyNav.addClass('sticky-up').removeClass('sticky-down');
}
if($this.sInterval > 150&&'up'===$this.sDirection){
$this.StickyNav.addClass('sticky-nav-slide-visible');
$(document).trigger('sticky-nav-visible');
}else{
$this.StickyNav.removeClass('sticky-nav-slide-visible');
$(document).trigger('sticky-nav-hide');
}
if(scrollCurrent > $this.StickyOffsetFull + 150){
$this.StickyNav.addClass('sticky-nav-slide');
}else{
$this.StickyNav.removeClass('sticky-nav-slide');
}
if($this.sInFirst&&scrollCurrent > $this.StickyOffsetFull + 150){
$this.StickyNav.addClass(' sticky-nav-slide-visible sticky-up');
$this.StickyNav.addClass('sticky-nav-slide');
$(document).trigger('sticky-nav-visible');
$this.sDirection='up';
$this.sInterval=151;
$this.sInFirst=false;
}}else{
if(scrollCurrent > $this.StickyOffset){
$this.StickyNav.addClass('sticky-nav');
$(document).trigger('sticky-nav-visible');
}else{
$this.StickyNav.removeClass('sticky-nav');
$(document).trigger('sticky-nav-hide');
}}
$this.sPrevious=scrollCurrent;
},
smartLevels: function(e){
var windowWidth=$(window).width();
$('.navbar-nav li').removeClass('cs-mm-level');
$('.navbar-nav li').removeClass('cs-mm-position-left cs-mm-position-right');
$('.navbar-nav li .sub-menu').removeClass('cs-mm-position-init');
$('.navbar-nav > li.menu-item').not('.cs-mega-menu').each(function(index, parent){
var position='cs-mm-position-right';
var objPrevWidth=0;
$(parent).find('.sub-menu').each(function(index, el){
$(el).parent().next('li').addClass('cs-mm-level');
if($(el).parent().hasClass('cs-mm-level') ){
$(el).parent().removeClass('cs-mm-level');
position='cs-mm-position-right';
objPrevWidth=0;
}
var offset=$(el).offset();
var objOffset=offset.left;
if('cs-mm-position-right'===position&&$(el).outerWidth() + objOffset > windowWidth){
position='cs-mm-position-left';
}
if('cs-mm-position-left'===position&&objOffset -($(el).outerWidth() + objPrevWidth) < 0){
position='cs-mm-position-right';
}
objPrevWidth=$(el).outerWidth();
$(el).addClass('cs-mm-position-init').parent().addClass(position);
});
});
},
adaptTablet: function(e){
$(document).on('touchstart', function(e){
if(!$(e.target).closest('.navbar-nav').length){
$('.navbar-nav .menu-item-has-children').removeClass('submenu-visible');
}else{
$(e.target).parents('.menu-item').siblings().find('.menu-item').removeClass('submenu-visible');
$(e.target).parents('.menu-item').siblings().closest('.menu-item').removeClass('submenu-visible');
}});
$('.navbar-nav .menu-item-has-children').each(function(e){
$(this).removeClass('submenu-visible');
$(this).find('> a > .expanded').remove();
if('ontouchstart' in document.documentElement){
$(this).find('> a').append('<span class="expanded"></span>');
}
$(this).addClass('ontouchstart' in document.documentElement ? 'touch-device':'');
$('> a .expanded', this).on('touchstart', function(e){
e.preventDefault();
$(this).closest('.menu-item-has-children').toggleClass('submenu-visible');
});
if('#'===$('> a', this).attr('href') ){
$('> a', this).on('touchstart', function(e){
e.preventDefault();
if(!$(e.target).hasClass('expanded') ){
$(this).closest('.menu-item-has-children').toggleClass('submenu-visible');
}});
}});
}};})();
cscoNavigation.init();
$('.toggle-offcanvas, .site-overlay').on('click', function(e){
e.preventDefault();
$('body').toggleClass('offcanvas-active');
});
(function(){
function initResponsiveEmbeds(){
var proportion, parentWidth;
$('.entry-content').find('iframe').each(function(index, iframe){
if($(iframe).closest('div').is('[data-video-start], [data-video-end]') ){
return;
}
if(iframe.width&&iframe.height){
proportion=parseFloat(iframe.width) / parseFloat(iframe.height);
parentWidth=parseFloat(window.getComputedStyle(iframe.parentElement, null).width.replace('px', '') );
iframe.style.maxWidth='100%';
iframe.style.maxHeight=Math.round(parentWidth / proportion).toString() + 'px';
}});
}
$(document).ready(function(){
initResponsiveEmbeds();
});
$(window).on('resize', function(){
initResponsiveEmbeds();
});
$('body').on('post-load', function(){
initResponsiveEmbeds();
});
initResponsiveEmbeds();
})();
$('.toggle-search').on('click', function(event){
event.preventDefault();
var container=$('#search'),
field=$('input[type="search"]', container);
$(this).toggleClass('toggle-close');
container.toggleClass('search-open');
if(container.hasClass('search-open') ){
field.focus();
}else{
field.blur();
}});
$('#search, .search-close').on('click keyup', function(event){
if(event.target.className==='search-close'||event.keyCode===27){
event.preventDefault();
$('.toggle-search').removeClass('toggle-close');
$('#search').removeClass('search-open');
$('#search input[type="search"]').blur();
}});
var stickyElements=[];
stickyElements.push('.sticky-sidebar-enabled.stick-to-top .sidebar-1');
stickyElements.push('.sticky-sidebar-enabled.stick-last .sidebar .widget:last-child');
$(document).ready(function(){
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){
stickyElements.push('.sticky-sidebar-enabled.stick-to-bottom .sidebar-1');
}
stickyElements=stickyElements.join(',');
$(document).on('sticky-nav-visible', function(){
var navBarHeight=$('.navbar-primary').innerHeight();
$(stickyElements).css('top', 32 + navBarHeight + 'px');
});
$(document).on('sticky-nav-hide', function(){
$(stickyElements).css('top', 32 + 'px');
});
});
$(document).ready(function(){
objectFitImages();
});
})(jQuery);