{"version":3,"sources":["Menu.js"],"names":["setActiveNavigation","menuItem","$","removeClass","length","addClass","getMenuElement","window","width","setMenuLinks","each","href","this","attr","hash","substring","indexOf","homeHref","replace","location","pathname","toLowerCase","closeOffCanvasMenu","setTimeout","foundation","resizeTimer","on","e","clearTimeout","click","event","target","isLibraryItem","Foundation","SmoothScroll","scrollToLoc","animationDuration","threshold","offset","height"],"mappings":"AAmFA,SAAAA,oBAAAC,GACA,aACAC,EAAA,mEAAA,EAAAC,YAAA,QAAA,EACA,KAAA,IAAAF,GAAAA,EAAAG,QACAF,EAAAD,CAAA,EAAAI,SAAA,QAAA,CAEA,CAKA,SAAAC,iBACA,OAAAJ,EAAAK,MAAA,EAAAC,MAAA,EAAA,IACAN,EAAA,mEAAA,EAEAA,EAAA,6CAAA,CACA,CAKA,SAAAO,eACAP,EAAAI,eAAA,CAAA,EAAAI,KAAA,WACA,IACAC,EAAAT,EAAAU,IAAA,EAAAC,KAAA,MAAA,EACAC,EAAAH,EAAAI,UAAAJ,EAAAK,QAAA,GAAA,CAAA,EACAC,EAAAH,EAAAI,QAAA,IAAA,aAAA,EACAX,OAAAY,SAAAC,SAAAC,YAAA,EAAAL,QAAA,UAAA,EAAA,EACAd,EAAAU,IAAA,EAAAC,KAAA,OAAAI,CAAA,EAGAf,EAAAU,IAAA,EAAAC,KAAA,OAAAC,CAAA,CAEA,CAAA,CACA,CAMA,SAAAQ,qBACA,aACAC,WAAA,WACArB,EAAA,+BAAA,EAAAsB,WAAA,OAAA,CACA,EAAA,GAAA,CACA,CAzHAtB,EAAA,WACA,aAUA,IAAAuB,EALAhB,aAAA,EAMAP,EAAAK,MAAA,EAAAmB,GAAA,SAAA,SAAAC,GACAC,aAAAH,CAAA,EACAA,EAAAF,WAAA,WACAd,aAAA,CACA,EAAA,GAAA,CACA,CAAA,EAKA,GAAAF,OAAAY,SAAAC,SAAAC,YAAA,EAAAL,QAAA,SAAA,GACAd,EAAA,uCAAA,EAAAG,SAAA,QAAA,EAOAH,EAAA,mEAAA,EAAA2B,MAAA,SAAAC,GAGA,IACA7B,EAAA,IAAAC,EAAAU,IAAA,EAAAC,KAAA,IAAA,EACAkB,EAAA7B,EAAAU,IAAA,EAAAC,KAAA,MAAA,EACAmB,EAAA,GAAAD,EAAAf,QAAA,SAAA,GAAA,GAAAe,EAAAf,QAAA,YAAA,EAGAhB,oBAAAC,CAAA,EAGA,CAAA,GAAA+B,GACA,IAAAC,WAAAC,aAAAC,YACAJ,EACA,CACAK,kBAAA,IACAC,UAAA,GACAC,OAAApC,EAAA,SAAA,EAAAqC,OAAA,EAAA,EACA,EACA,WACAvC,oBAAAC,CAAA,CACA,CACA,EAIA,GAAAA,EAAAe,QAAA,aAAA,GACAM,mBAAA,CAGA,CAAA,EAMApB,EAAA,6CAAA,EAAA2B,MAAA,SAAAC,GACAR,mBAAA,CACA,CAAA,CAEA,CAAA","file":"Scripts.js","sourcesContent":["/**\r\n * MENU / NAVIGATION\r\n *\r\n * @file Functions associated with the primary navigation, including menu smooth scroll and highlight functionality.\r\n * @author Katherine Trunkey (katherine.trunkey@ignia.com)\r\n */\r\n\r\n$(function () {\r\n 'use strict';\r\n\r\n /**\r\n * Fire menu-dependent functions on initialization\r\n */\r\n setMenuLinks();\r\n\r\n /**\r\n * Re-fire menu-dependent functions on resize\r\n */\r\n var resizeTimer;\r\n $(window).on('resize', function(e) {\r\n clearTimeout(resizeTimer);\r\n resizeTimer = setTimeout(function() {\r\n setMenuLinks();\r\n }, 250);\r\n });\r\n\r\n /**\r\n * Set active class on Library menu item if within the Library\r\n */\r\n if (window.location.pathname.toLowerCase().indexOf('library') >= 0) {\r\n $('#LibraryLink, #LibraryLinkSmallScreen').addClass('active');\r\n }\r\n\r\n /**\r\n * Sets the active state of the tapped-on navigation item;\r\n * closes the off-canvas menu on tap of one of the navigation items\r\n */\r\n $('#PrimaryNavigation ul li a, #PrimaryNavigationSmallScreen ul li a').click(function(event) {\r\n\r\n // Establish variables\r\n var\r\n menuItem = '#' + $(this).attr('id'),\r\n target = $(this).attr('href'),\r\n isLibraryItem = (target.indexOf('Library') >= 0 || target.indexOf('/Web/Home/') >= 0);\r\n\r\n // Set the active navigation item\r\n setActiveNavigation(menuItem);\r\n\r\n // Smooth scroll to the target panel\r\n if (isLibraryItem === false) {\r\n new Foundation.SmoothScroll.scrollToLoc(\r\n target,\r\n {\r\n animationDuration : 1000,\r\n threshold : 20,\r\n offset : ($('#Header').height() - 20)\r\n },\r\n function () {\r\n setActiveNavigation(menuItem);\r\n }\r\n );\r\n }\r\n\r\n // Force close of the small screen menu\r\n if (menuItem.indexOf(\"SmallScreen\") >= 0) {\r\n closeOffCanvasMenu();\r\n }\r\n\r\n });\r\n\r\n /**\r\n * Workaround for non-responsive close button\r\n * ### TODO: Resolve underlying issue\r\n */\r\n $('#PrimaryNavigationSmallScreen .close-button').click(function (event) {\r\n closeOffCanvasMenu();\r\n });\r\n\r\n});\r\n\r\n/**\r\n * Removes the \"active\" class from all primary navigation items\r\n */\r\nfunction setActiveNavigation(menuItem) {\r\n 'use strict';\r\n $('#PrimaryNavigation ul li a, #PrimaryNavigationSmallScreen ul li a').removeClass('active');\r\n if (typeof menuItem !== 'undefined' && menuItem.length) {\r\n $(menuItem).addClass('active');\r\n }\r\n}\r\n\r\n/**\r\n * Re-associates menu item targets for smaller screens\r\n */\r\nfunction getMenuElement() {\r\n if ($(window).width() < 960) {\r\n return $('#PrimaryNavigationSmallScreen li a:not(\"#LibraryLinkSmallScreen\")');\r\n }\r\n return $('#PrimaryNavigation li a:not(\"#LibraryLink\")');\r\n}\r\n\r\n/**\r\n * Prepends Homepage path to menu links on non-Home (Library) views\r\n */\r\nfunction setMenuLinks() {\r\n $(getMenuElement()).each(function() {\r\n var\r\n href = $(this).attr('href'),\r\n hash = href.substring(href.indexOf('#')),\r\n homeHref = hash.replace('#', '/Web/Home/#');\r\n if (window.location.pathname.toLowerCase().indexOf('web/home') < 0) {\r\n $(this).attr('href', homeHref);\r\n }\r\n else {\r\n $(this).attr('href', hash);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Sets the active state of the tapped-on navigation item;\r\n * closes the off-canvas menu on tap of one of the navigation items\r\n */\r\nfunction closeOffCanvasMenu() {\r\n 'use strict';\r\n setTimeout(function() {\r\n $('#PrimaryNavigationSmallScreen').foundation('close');\r\n }, 250);\r\n}"]}