(function($) { "use strict" function init () { var doc = document; var orbit = { // Cross browser add class function addClass : function(el, className) { if( el.classList ) { el.classList.add(className); } else { el.className += ' ' + className; } }, // Cross browser has class function hasClass : function(el, cls) { return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1; }, // Add class name to the menu item when its children items are more than eight addMegaDropdownClass : function(el, len) { for( var i = 0; i < el.length; i++ ) { if( el[i].children.length > len ) { orbit.addClass(el[i].parentNode, 'mega-dropdown'); } } }, // Append caret to menu item if it has dropdown addCaret : function() { var list = doc.querySelectorAll('.page_menu.level_2'); for( var i = 0, len = list.length; i < len; i++ ) { var node = doc.createElement('span'); node.className = 'caret'; list[i].parentNode.appendChild(node); } }, // Add link and cursor class name on element that has data-link attribute addLinkOnADBanner : function(els) { $.each(els, function(i) { if ($(this).data('link') !== "" && !$(this).hasClass('youtube')) { $(this).on('click', function() { var target = $(this).data('target'), link = $(this).data('link'); if (target === '_blank') { window.open(link, target); } else { window.location.href = link; } }).addClass('cursor'); } }); }, // Announcement text truncation truncation : function (el, len) { for( var i = 0; i < el.length; i ++ ) { if ( el[i].firstChild !== null ) { if( el[i].firstChild.length > len ) { var newStr = el[i].firstChild.nodeValue, newStr = newStr.substring(0, len) + '...' el .eq(i) .text(newStr); } } } }, // Sitemenu dropdown sitemenuDropdown : function() { var el = doc.querySelectorAll('.sitemenu__list.level-2'); for( var i = 0, len = el.length; i < len; i++ ) { if( el[i].hasChildNodes() ) { var caret = doc.createElement('span'); caret.className = 'sitemenu___dropdown-toggle fa fa-caret-down'; caret.setAttribute('data-toggle', 'dropdown'); el[i].parentNode.insertBefore(caret, el[i]); orbit.addClass(el[i], 'dropdown-menu'); } } } } var plugin = { // RWD image resize script bullEye : function() { $(".bullseye").bullseye({ fadeEffect: false }); } } // Specific functions that will be running on homepage if( doc.body.getAttribute('data-module') === 'home' ) { } // Functions that will be running on every page orbit.sitemenuDropdown(); plugin.bullEye(); } $(document).ready(function($) { init(); }); }(jQuery));