1// Core Javascript Initialization 2var App = function() { 3 'use strict'; 4 5 // Bootstra Components 6 var handleBootstrapComponents = function() { 7 // Bootstrap Carousel 8 $('.carousel').carousel({ 9 interval: 5000, 10 pause: 'hover' 11 }); 12 13 // Tooltips 14 $('.tooltips').tooltip(); 15 $('.tooltips-show').tooltip('show'); 16 $('.tooltips-hide').tooltip('hide'); 17 $('.tooltips-toggle').tooltip('toggle'); 18 $('.tooltips-destroy').tooltip('destroy'); 19 20 // Popovers 21 $('.popovers').popover(); 22 $('.popovers-show').popover('show'); 23 $('.popovers-hide').popover('hide'); 24 $('.popovers-toggle').popover('toggle'); 25 $('.popovers-destroy').popover('destroy'); 26 } 27 28 // Bootstrap Navbar Trigger 29 var handleNavbarToggle = function() { 30 $('.navbar-toggle').on('click', function(event) { 31 if ($('.toggle-icon').hasClass('is-clicked')) { 32 $('.toggle-icon').removeClass('is-clicked'); 33 } else { 34 $('.toggle-icon').addClass('is-clicked'); 35 } 36 }); 37 } 38 39 // Handle Sidebar Menu 40 var handleSidebarMenu = function() { 41 $(document).ready(function($) { 42 var $sidebar_trigger = $('.sidebar-trigger'), 43 $sidebar_content_overlay = $('.sidebar-content-overlay'); 44 45 // open-close sidebar menu clicking on the menu icon 46 $sidebar_trigger.on('click', function(event){ 47 event.preventDefault(); 48 49 $sidebar_trigger.toggleClass('is-clicked'); 50 $sidebar_content_overlay.toggleClass('sidebar-menu-is-open').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend'); 51 $('.sidebar-nav').toggleClass('sidebar-menu-is-open'); 52 53 // check if transitions are not supported - i.e. in IE9 54 if($('html').hasClass('no-csstransitions')) { 55 $('body').toggleClass('overflow-hidden'); 56 } 57 }); 58 59 // close lateral menu clicking outside the menu itself 60 $sidebar_content_overlay.on('click', function(event){ 61 if( !$(event.target).is('.sidebar-trigger') ) { 62 $sidebar_trigger.removeClass('is-clicked'); 63 $sidebar_content_overlay.removeClass('sidebar-menu-is-open').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 64 $('body').removeClass('overflow-hidden'); 65 }); 66 $('.sidebar-nav').removeClass('sidebar-menu-is-open'); 67 // check if transitions are not supported 68 if($('html').hasClass('no-csstransitions')) { 69 $('body').removeClass('overflow-hidden'); 70 } 71 72 } 73 }); 74 75 // close sidebar menu scrolling on the content 76 $(window).scroll(function() { 77 if ($(this).scrollTop() > 200) { 78 $('.sidebar-content-overlay, .sidebar-nav').removeClass('sidebar-menu-is-open'); 79 $('.sidebar-trigger').removeClass('is-clicked'); 80 } 81 }); 82 }); 83 } 84 85 // Services v1 Collapse 86 var handleServicesV7 = function() { 87 $('.services-v7-collapsed').hide(); 88 $('.services-v7').on('hover', function() { 89 $(this).find('.services-v7-collapsed').slideToggle(300); 90 }); 91 } 92 93 // Work v1 Collapse 94 var handleWorkV1 = function() { 95 $('.work-v1-collapse').hide(); 96 $('.work-v1').on('hover', function() { 97 $(this).find('.work-v1-collapse').slideToggle(400); 98 }); 99 } 100 101 // Topbar Transparent Dropdown 102 var handleTopbarTDropdown = function() { 103 $('.topbar-t-dropdown-menu').hide(); 104 $('.topbar-t-list-item').on('click', function() { 105 $(this).find('.topbar-t-dropdown-menu').slideToggle(400); 106 }); 107 } 108 109 // Topbar transparent Shopping Dropdown 110 var handleTopbarTShoppingDropdown = function() { 111 $('.topbar-t-dropdown-menu').hide(); 112 $('.topbar-t-shopping-window').on('click', function() { 113 $(this).find('.topbar-t-dropdown-menu').slideToggle(400); 114 }); 115 } 116 117 // Topbar e-Commerce Dropdown 118 var handleTopbarEDropdown = function() { 119 $('.topbar-e-dropdown-menu').hide(); 120 $('.topbar-e-list-item').on('click', function() { 121 $(this).find('.topbar-e-dropdown-menu').slideToggle(400); 122 }); 123 } 124 125 // Topbar e-Commerce Shopping Dropdown 126 var handleTopbarEShoppingDropdown = function() { 127 $('.topbar-e-dropdown-menu').hide(); 128 $('.topbar-e-shopping-window').on('click', function() { 129 $(this).find('.topbar-e-dropdown-menu').slideToggle(400); 130 }); 131 } 132 133 // Footer Toggle Expand 134 var handleFooterToggleExpand = function() { 135 $('.footer-toggle-collapse').hide(); 136 $('.footer-toggle-trigger').on('click', function(event) { 137 event.preventDefault(); 138 139 $(this).toggleClass('is-open'); 140 $('.footer-toggle-collapse').slideToggle(500); 141 142 $('html, body').animate({ 143 scrollTop: $(document).height() 144 }, 500); 145 }); 146 } 147 148 // Scroll To Section 149 var handleScrollToSection = function() { 150 $(function() { 151 $('a[href*=#scroll_]:not([href=#scroll_])').on('click', function() {
152 if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { 153 154 var target = $(this.hash); 155 target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); 156 if (target.length) { 157 $('html,body').animate({ 158 scrollTop: target.offset().top - 70 159 }, 1000); 160 return false; 161 } 162 } 163 }); 164 }); 165 } 166 167 // Handle Equal Height Interactive Banner 168 var handleEqualIBannerBg = function() { 169 $('.equal-height-ib-bg-img').each(function() { 170 $(this).css('background-image', 'url(' + $(this).children('img').attr('src') + ')'); 171 $(this).children('img').hide(); 172 }); 173 } 174 175 // Fullheight 176 var handleFullheight = function() { 177 var WindowHeight = $(window).height(), 178 HeaderHeight; 179 180 if ($(document.body).hasClass('promo-top-offset')) { 181 HeaderHeight = $('.fullheight-header-offset').height(); 182 } else { 183 HeaderHeight = 0; 184 } 185 186 $('.fullheight').css('height', WindowHeight - HeaderHeight); 187 188 $(window).resize(function() { 189 var WindowHeight = $(window).height(); 190 $('.fullheight').css('height', WindowHeight - HeaderHeight); 191 }); 192 } 193 194 // Vertical Center Aligned 195 // Note! This works only with promo block and background image via CSS. 196 var handleVerticalCenterAligned = function() { 197 $('.vertical-center-aligned').each(function() { 198 $(this).css('padding-top', $(this).parent().height() / 2 - $(this).height() / 2); 199 }); 200 $(window).resize(function() { 201 $('.vertical-center-aligned').each(function() { 202 $(this).css('padding-top', $(this).parent().height() / 2 - $(this).height() / 2); 203 }); 204 }); 205 } 206 207 // Handle Toggle Collapse Box 208 var handleToggleCollapseBox = function() { 209 $('.theme-toggle-trigger').on('click', function(event) { 210 $(this).toggleClass('.theme-toggle-content').hide(); 211 $(this).toggleClass('is-open').show(); 212 $('.theme-toggle-content').slideToggle(400); 213 }); 214 } 215 216 // Handle Header Fullscreen Navigation Overlay 217 var handleHeaderFullscreenOverlay = function() { 218 var overlay = $('.header-fullscreen-nav-bg-overlay'), 219 close = $('.header-fullscreen-nav-close'), 220 trigger = $('.header-fullscreen-nav-trigger'), 221 HeaderNavigation = $('.header-fullscreen-nav-overlay'); 222 223 trigger.on('click', function() { 224 HeaderNavigation.removeClass('header-fullscreen-nav-overlay-show'); 225 HeaderNavigation.addClass('header-fullscreen-nav-overlay-show'); 226 }); 227 228 close.on('click', function(e) { 229 e.stopPropagation(); 230 HeaderNavigation.removeClass('header-fullscreen-nav-overlay-show'); 231 }); 232 } 233 234 // Handle Search 235 var handleSearch = function() { 236 var SearchTrigger = $('.search-btn'); 237 SearchTrigger.on('click', function() { 238 SearchTrigger.toggleClass('is-clicked'); 239 $('.search-field').fadeToggle(400); 240 }); 241 } 242 243 // Handle Search Classic 244 var handleSearchClassic = function() { 245 var SearchTrigger = $('.search-classic-btn'); 246 SearchTrigger.on('click', function() { 247 SearchTrigger.toggleClass('is-clicked'); 248 $('.search-classic-field').fadeToggle(400); 249 }); 250 } 251 252 // Handle Search Fullscreen 253 var handleSearchFullscreen = function() { 254 var overlay = $('.search-fullscreen-bg-overlay'), 255 close = $('.search-fullscreen-close'), 256 trigger = $('.search-fullscreen-trigger'), 257 SearchFullscreen = $('.search-fullscreen-overlay'); 258 259 trigger.on('click', function() { 260 SearchFullscreen.removeClass('search-fullscreen-overlay-show'); 261 SearchFullscreen.addClass('search-fullscreen-overlay-show'); 262 }); 263 264 close.on('click', function(e) { 265 e.stopPropagation(); 266 SearchFullscreen.removeClass('search-fullscreen-overlay-show'); 267 }); 268 } 269 270 // Handle Search On Header 271 var handleSearchOnHeader = function() { 272 var SearchTrigger = $('.search-on-header-btn'); 273 SearchTrigger.on('click', function() {
274 SearchTrigger.toggleClass('is-clicked'); 275 $('.search-on-header-field').fadeToggle(400); 276 }); 277 } 278 279 // Handle Search Push 280 var handleSearchPush = function() { 281 var SearchPushTrigger = $('.search-push-btn'); 282 SearchPushTrigger.on('click', function() { 283 SearchPushTrigger.toggleClass('is-clicked'); 284 $('.search-push-open').slideToggle(400); 285 }); 286 287 $(window).scroll(function(){ 288 if ($(this).scrollTop() > 1) $('.search-push-open').slideUp(); { 289 SearchPushTrigger.removeClass('is-clicked'); 290 }; 291 }); 292 } 293 294 return { 295 init: function() { 296 handleBootstrapComponents(); // initial setup for bootstrap components 297 handleNavbarToggle(); // initial setup for navbar toggle 298 handleSidebarMenu(); // initial setup for sidebar menu 299 handleServicesV7(); // initial setup for services v7 collapse 300 handleWorkV1(); // initial setup for work v1 301 handleTopbarTDropdown(); // initial setup for topbar transparent dropdown 302 handleTopbarTShoppingDropdown(); // initial setup for topbar transparent shopping dropdown 303 handleTopbarEDropdown(); // initial setup for topbar e-commerce dropdown 304 handleTopbarEShoppingDropdown(); // initial setup for topbar e-commerce shopping dropdown 305 handleFooterToggleExpand(); // initial setup for footer toggle expand 306 handleScrollToSection(); // initial setup for scroll to section 307 handleEqualIBannerBg(); // initial setup for equal height interactive banner 308 handleFullheight(); // initial setup for fullheight 309 handleVerticalCenterAligned(); // initial setup for vertical center aligned 310 handleToggleCollapseBox(); // initial setup for toggle collapse box 311 handleHeaderFullscreenOverlay(); // initial setup for header fullscreen navigation overlay 312 handleSearch(); // initial setup for search 313 handleSearchClassic(); // initial setup for search classic 314 handleSearchFullscreen(); // initial setup for search fullscreen 315 handleSearchOnHeader(); // initial setup for search on header 316 handleSearchPush(); // initial setup for search push 317 } 318 } 319}(); 320 321$(document).ready(function() { 322 App.init(); 323});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.