/**************************/ /* Primary Nav */ /**************************/ $(function () { var account = $('.topnavSignin'); menuDesktop = $('.adaptive-navigation .secondary-nav'); if ($('html').hasClass('tablet')) { $('.adaptive-navigation .secondary-nav > li > .sub-nav').siblings('a').attr('href', 'javascript:;'); $('.adaptive-sub-navigation .secondary-nav > li > a').attr('href', 'javascript:;'); //$('.adaptive-navigation .secondary-nav > li > .sub-nav').parent('li').addClass('hasSubNav'); } else { /* Accessibility */ $.fn.setup_navigation = function (settings) { settings = jQuery.extend({ menuHoverClass: 'show-menu', }, settings); // Set tabIndex to -1 so that links can't receive focus until menu is open $(this).find('> li > a').next('ul').find('a').attr('tabIndex', -1); $(this).find('> li > a').hover(function () { $('.adaptive-navigation .secondary-nav li').removeClass('active'); $(this).closest('ul').find('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1); }); $(this).find('> li > a').focus(function () { $(this).closest('ul').find('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1).parent().parent().parent().removeClass('active'); $(this).next('ul') .addClass(settings.menuHoverClass) .find('a').attr('tabIndex', 0) .parent().parent().parent().addClass('active'); }); // Hide menu if click or focus occurs outside of navigation $(this).find('a').last().keydown(function (e) { if (e.keyCode == 9) { // If the user tabs out of the navigation hide all menus $('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1).parent().parent().parent().removeClass('active'); } }); $(document).click(function () { $('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1); }); $(this).click(function (e) { e.stopPropagation(); }); } $(function () { $('.adaptive-navigation .secondary-nav').setup_navigation(); }); $.fn.setup_subnavigation = function (settings) { settings = jQuery.extend({ menuHoverClass: 'show-menu', }, settings); // Set tabIndex to -1 so that links can't receive focus until menu is open $(this).find('> li > a').next('ul').find('a').attr('tabIndex', -1); $(this).find('> li > a').hover(function () { $(this).closest('ul').find('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1); }); $(this).find('> li > a').focus(function () { $(this).closest('ul').find('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1).parent().parent().parent().removeClass('active'); $(this).next('ul') .addClass(settings.menuHoverClass) .find('a').attr('tabIndex', 0) .parent().parent().parent().addClass('active'); }); // Hide menu if click or focus occurs outside of navigation $(this).find('a').last().keydown(function (e) { if (e.keyCode == 9) { // If the user tabs out of the navigation hide all menus $('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1).parent().parent().parent().removeClass('active'); } }); $(document).click(function () { $('.' + settings.menuHoverClass).removeClass(settings.menuHoverClass).find('a').attr('tabIndex', -1); }); $(this).click(function (e) { e.stopPropagation(); }); } $(function () { $('.adaptive-sub-navigation .secondary-nav').setup_subnavigation(); }); $('body').keyup(function (e) { if (e.keyCode == 9) { $('.news-pods a').removeClass('accessibilityBorder'); $('.adaptive-footerSponsors a').removeClass('accessibilityBorder'); $('.prettycheckbox a').removeClass('accessibilityBG'); $('.adaptive-footerTc a').removeClass('accessibilityUnderline'); if ($('.adaptive-navigation .secondary-nav li:first > ul').hasClass('show-menu')) { $('.adaptive-navigation .secondary-nav li:first').addClass('active'); } if ($('.topnavSearch').is(':focus')) { $('.adaptive-navigation .secondary-nav > li').removeClass('active'); $('.adaptive-navigation .secondary-nav > li > ul').removeClass('show-menu'); } if ($('.adaptive-navigation .secondary-nav > li').is(':focus')) { $('.adaptive-navigation .secondary-nav > li').addClass('active'); } if ($('.lang-ch a').is(':focus')) { $('.lang-ch a').blur(function () { $('#carousel li:first-child > a').focus(); }); } if ($('#slideshow-controls #prev').is(':focus')) { $('#slideshow-controls #prev:focus').addClass('accessibilityBorder'); $('#slideshow-controls #next').removeClass('accessibilityBorder'); } else if ($('#slideshow-controls #next').is(':focus')) { $('#slideshow-controls #next:focus').addClass('accessibilityBorder'); $('#slideshow-controls #prev').removeClass('accessibilityBorder'); } else { $('#slideshow-controls a').removeClass('accessibilityBorder'); } if ($('.main-body .latest-headlines .headline-wrapper h3 a').is(':focus')) { $('.main-body .latest-headlines .headline-wrapper h3 a:focus').addClass('accessibilityUnderline'); } else { $('.main-body .latest-headlines .headline-wrapper h3 a').removeClass('accessibilityUnderline'); } if ($('.adaptive-footerTc a').is(':focus')) { $('.adaptive-footerTc a:focus').addClass('accessibilityUnderline'); } if ($('.latest-headlines h4 a').is(':focus')) { $('.latest-headlines h4 a:focus').addClass('accessibilityUnderline'); } else { $('.latest-headlines h4 a').removeClass('accessibilityUnderline'); } if ($('.news-pods a').is(':focus')) { $('.news-pods a:focus').addClass('accessibilityBorder'); } if ($('.adaptive-footerSponsors a').is(':focus')) { $('.adaptive-footerSponsors a:focus').addClass('accessibilityBorder'); } if ($('.prettycheckbox a').is(':focus')) { $('.prettycheckbox a:focus').addClass('accessibilityBG'); } // add focus/blur events $('.show-menu li a') .focus(function () { $(this).parent().addClass('highlighted'); }) .blur(function () { $(this).parent().removeClass('highlighted'); }); $('.video-controls a').attr('tabindex', '-1'); } }); $(document).ready(function () { /* Force tabbing index */ $('.socialLinks a, #slider .slides a, #slider .slidecontent a, span.fancybox-box .fancybox, #slide-pager a, #slide-pager_next, #slide-pager_prev, .image-wrapper a, #video-carousel a').attr('tabindex', '-1'); }); } }); /**************************/ /* Primary tier navigation */ /**************************/ $('.tablet .adaptive-navigation .secondary-nav').children('li').on('click', function (e) { $('.tablet .adaptive-navigation .secondary-nav > li > .sub-nav').siblings('a').attr('href', 'javascript:;'); var url = $(this).find('a:first').attr('data-url'); $(this).find('a:first').attr('href', url); if ($(this).hasClass('active')) { $('.tablet .adaptive-navigation .secondary-nav').children('li').removeClass('active').find('.sub-nav').hide(); } else { $('.tablet .adaptive-navigation .secondary-nav').children('li').removeClass('active').find('.sub-nav').hide(); e.preventDefault(); $(this).find('.sub-nav').toggle(); $(this).toggleClass('active'); } }); $('.innerList input, .mobile-search-expand input').on({ focus: function () { if (this.value == 'Search TheFA.com') this.value = ''; }, blur: function () { if (this.value == '') this.value = 'Search TheFA.com'; } }) /* Close menus on body click */ $(document).on('click', function (e) { $('.adaptive-navigation .secondary-nav li').removeClass('active'); }); $('.adaptive-body').on('click', function( e ){ $('.adaptive-navigation .secondary-nav li').removeClass('active'); if ($('.sub-nav').is(':visible')) { $('.sub-nav').hide(); } }); $('.adaptive-body').on('touchmove MSPointerDown', function (e) { $('secondary-nav li').removeClass('active'); if ($('.sub-nav').is(':visible')) { $('.sub-nav').hide(); } }); $('.secondary-nav').click(function (e) { e.stopPropagation(); }); /* Apply class to last items */ $('.primary-nav li:last-child, .secondary-nav li:last-child').not('.primary-nav li ul li, .secondary-nav li ul li').addClass('last-item'); $('.adaptive-sub-navigation .secondary-nav .last-item .sub-nav:last-child').addClass('last-subnav'); $('.adaptive-sub-navigation .secondary-nav .last-item').prev().find('.sub-nav').addClass('last-subnav').css('right', '100px'); /**************************/ /* Second tier navigation */ /**************************/ /* Append span for bg image to menu items */ $('.adaptive-sub-navigation .primary-nav li a').append(''); $('.tablet .adaptive-sub-navigation .secondary-nav > li').on('click', function (e) { $('.tablet .adaptive-sub-navigation .secondary-nav > li > a').attr('href', 'javascript:;'); var url = $(this).find('a:first').attr('data-url'); $(this).find('a:first').attr('href', url); if ($(this).hasClass('active')) { $('.tablet .adaptive-sub-navigation .secondary-nav').children('li').removeClass('active').find('.sub-nav').hide(); } else { $('.tablet .adaptive-sub-navigation .secondary-nav').children('li').removeClass('active').find('.sub-nav').hide(); e.preventDefault(); $(this).find('.sub-nav').toggle(); $(this).toggleClass('active'); } }); /* Logged in Options */ $('.primary-nav .signIn a').click(function () { if ($(this).hasClass('logged')) { $('.loggedIn').slideToggle(); $('.primary-nav .innerList ul li').removeClass('active'); $('.mob, .mobile-search-expand').slideUp().removeClass('mob'); $('.primary-nav .signIn').toggleClass('active'); } else { $(this).addClass('logged').find('span'); } }); function showSignIn() { if ($('.primary-nav .signIn a').hasClass('logged')) { $('.loggedIn').slideToggle(); $('.primary-nav .innerList ul li').removeClass('active'); $('.mob, .mobile-search-expand').slideUp().removeClass('mob'); $('.primary-nav .signIn').toggleClass('active'); } }