(function($){
var $body=$('body'),
$customHeader=$body.find('.custom-header'),
$branding=$customHeader.find('.site-branding'),
$navigation=$body.find('.navigation-top'),
$navWrap=$navigation.find('.wrap'),
$navMenuItem=$navigation.find('.menu-item'),
$menuToggle=$navigation.find('.menu-toggle'),
$menuScrollDown=$body.find('.menu-scroll-down'),
$sidebar=$body.find('#secondary'),
$entryContent=$body.find('.entry-content'),
$formatQuote=$body.find('.format-quote blockquote'),
isFrontPage=$body.hasClass('twentyseventeen-front-page')||$body.hasClass('home blog'),
navigationFixedClass='site-navigation-fixed',
navigationHeight,
navigationOuterHeight,
navPadding,
navMenuItemHeight,
idealNavHeight,
navIsNotTooTall,
headerOffset,
menuTop=0,
resizeTimer;
$('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]', '.site-content-contain').filter(':visible').on('focus', function(){
if($navigation.hasClass('site-navigation-fixed') ){
var windowScrollTop=$(window).scrollTop(),
fixedNavHeight=$navigation.height(),
itemScrollTop=$(this).offset().top,
offsetDiff=itemScrollTop - windowScrollTop;
if($('#wpadminbar').length){
offsetDiff -=$('#wpadminbar').height();
}
if(offsetDiff < fixedNavHeight){
$(window).scrollTo(itemScrollTop -(fixedNavHeight + 50), 0);
}}
});
function setNavProps(){
navigationHeight=$navigation.height();
navigationOuterHeight=$navigation.outerHeight();
navPadding=parseFloat($navWrap.css('padding-top') ) * 2;
navMenuItemHeight=$navMenuItem.outerHeight() * 2;
idealNavHeight=navPadding + navMenuItemHeight;
navIsNotTooTall=navigationHeight <=idealNavHeight;
}
function adjustScrollClass(){
if('none'===$menuToggle.css('display') ){
if(navIsNotTooTall){
if(isFrontPage&&($body.hasClass('has-header-image')||$body.hasClass('has-header-video') )){
headerOffset=$customHeader.innerHeight() - navigationOuterHeight;
}else{
headerOffset=$customHeader.innerHeight();
}
if($(window).scrollTop() >=headerOffset){
$navigation.addClass(navigationFixedClass);
}else{
$navigation.removeClass(navigationFixedClass);
}}else{
$navigation.removeClass(navigationFixedClass);
}}
}
function adjustHeaderHeight(){
if('none'===$menuToggle.css('display') ){
if(isFrontPage){
$branding.css('margin-bottom', navigationOuterHeight);
}else{
$customHeader.css('margin-bottom', navigationOuterHeight);
}}else{
$customHeader.css('margin-bottom', '0');
$branding.css('margin-bottom', '0');
}}
function setQuotesIcon(){
$(twentyseventeenScreenReaderText.quote).prependTo($formatQuote);
}
function belowEntryMetaClass(param){
var sidebarPos, sidebarPosBottom;
if(! $body.hasClass('has-sidebar') ||
typeof $sidebar==='undefined' ||
$sidebar.length < 1||(
$body.hasClass('search') ||
$body.hasClass('single-attachment') ||
$body.hasClass('error404') ||
$body.hasClass('twentyseventeen-front-page')
)){
return;
}
sidebarPos=$sidebar.offset();
sidebarPosBottom=sidebarPos.top +($sidebar.height() + 28);
$entryContent.find(param).each(function(){
var $element=$(this),
elementPos=$element.offset(),
elementPosTop=elementPos.top;
if(elementPosTop > sidebarPosBottom){
$element.addClass('below-entry-meta');
}else{
$element.removeClass('below-entry-meta');
}});
}
function supportsInlineSVG(){
var div=document.createElement('div');
div.innerHTML='<svg/>';
return 'http://www.w3.org/2000/svg'===('undefined'!==typeof SVGRect&&div.firstChild&&div.firstChild.namespaceURI);
}
function checkiOS(){
return /iPad|iPhone|iPod/.test(navigator.userAgent)&&! window.MSStream;
}
function supportsFixedBackground(){
var el=document.createElement('div'),
isSupported;
try {
if(!('backgroundAttachment' in el.style)||checkiOS()){
return false;
}
el.style.backgroundAttachment='fixed';
isSupported=('fixed'===el.style.backgroundAttachment);
return isSupported;
}
catch (e){
return false;
}}
$(function(){
if($navigation.length){
setNavProps();
adjustScrollClass();
}
if($menuScrollDown.length){
if($('body').hasClass('admin-bar') ){
menuTop -=32;
}
if($('body').hasClass('blog') ){
menuTop -=30;
}
if(! $navigation.length){
navigationOuterHeight=0;
}
$menuScrollDown.on('click', function(e){
e.preventDefault();
$(window).scrollTo('#primary', {
duration: 600,
offset: { top: menuTop - navigationOuterHeight }});
});
}
adjustHeaderHeight();
setQuotesIcon();
belowEntryMetaClass('blockquote.alignleft, blockquote.alignright');
if(true===supportsInlineSVG()){
document.documentElement.className=document.documentElement.className.replace(/(\s*)no-svg(\s*)/, '$1svg$2');
}
if(true===supportsFixedBackground()){
document.documentElement.className +=' background-fixed';
}});
if($navigation.length){
$(window).on('scroll', function(){
adjustScrollClass();
adjustHeaderHeight();
});
$(window).on('resize', function(){
setNavProps();
setTimeout(adjustScrollClass, 500);
});
}
$(window).on('resize', function(){
clearTimeout(resizeTimer);
resizeTimer=setTimeout(function(){
belowEntryMetaClass('blockquote.alignleft, blockquote.alignright');
}, 300);
setTimeout(adjustHeaderHeight, 1000);
});
$(document).on('wp-custom-header-video-loaded', function(){
$body.addClass('has-header-video');
});
})(jQuery);