{"version":3,"sources":["../bower_components/what-input/what-input.js","../assets/scripts/main.js"],"names":["root","factory","define","amd","exports","module","whatInput","this","bufferInput","event","clearTimeout","timer","setInput","buffer","setTimeout","immediateInput","eventKey","key","eventTarget","target","value","inputMap","type","pointerType","currentInput","formTyping","keyMap","formInputs","indexOf","nodeName","toLowerCase","body","setAttribute","inputTypes","push","logKeys","keyCode","which","srcElement","pointerMap","activeKeys","unLogKeys","arrayPos","splice","bindEvents","mouseEvent","window","PointerEvent","MSPointerEvent","addEventListener","document","hasAttribute","keydown","mousedown","mouseenter","touchstart","pointerdown","MSPointerDown",9,13,16,27,32,37,38,39,40,2,3,4,"Array","prototype","ask","keys","types","set","$","Oxboot","common","init","finalize","initMainNavigation","container","find","addClass","click","e","_this","preventDefault","toggleClass","next","attr","html","screenReaderText","expand","collapse","onResizeARIA","$window","width","button","secondary","removeAttr","resize","windowWidth","scroll","windowPos","scrollTop","sidebarHeight","$sidebar","height","windowHeight","bodyHeight","$body","adminbarOffset","lastWindowPos","top","topOffset","offset","bottom","resizeAndScroll","resizeTimer","on","params","wpNavMenuArgs","theme_location","newContainer","oldContainer","each","containerId","parent","prop","triggerHandler","menu","widgets","social","length","children","trigger","hasClass","hide","ready","first","is","i","home","about_us","UTIL","fire","func","funcname","args","namespace","undefined","loadEvents","className","replace","split","classnm","jQuery"],"mappings":"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","file":"main.js","sourcesContent":[";(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function() {\n return (factory());\n });\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.whatInput = factory();\n }\n} (this, function() {\n 'use strict';\n\n\n /*\n ---------------\n variables\n ---------------\n */\n\n // array of actively pressed keys\n var activeKeys = [];\n\n // cache document.body\n var body = document.body;\n\n // boolean: true if touch buffer timer is running\n var buffer = false;\n\n // the last used input type\n var currentInput = null;\n\n // array of form elements that take keyboard input\n var formInputs = [\n 'input',\n 'select',\n 'textarea'\n ];\n\n // user-set flag to allow typing in form fields to be recorded\n var formTyping = body.hasAttribute('data-whatinput-formtyping');\n\n // mapping of events to input types\n var inputMap = {\n 'keydown': 'keyboard',\n 'mousedown': 'mouse',\n 'mouseenter': 'mouse',\n 'touchstart': 'touch',\n 'pointerdown': 'pointer',\n 'MSPointerDown': 'pointer'\n };\n\n // array of all used input types\n var inputTypes = [];\n\n // mapping of key codes to common name\n var keyMap = {\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 27: 'esc',\n 32: 'space',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down'\n };\n\n // map of IE 10 pointer events\n var pointerMap = {\n 2: 'touch',\n 3: 'touch', // treat pen like touch\n 4: 'mouse'\n };\n\n // touch buffer timer\n var timer;\n\n\n /*\n ---------------\n functions\n ---------------\n */\n\n function bufferInput(event) {\n clearTimeout(timer);\n\n setInput(event);\n\n buffer = true;\n timer = setTimeout(function() {\n buffer = false;\n }, 1000);\n }\n\n function immediateInput(event) {\n if (!buffer) setInput(event);\n }\n\n function setInput(event) {\n var eventKey = key(event);\n var eventTarget = target(event);\n var value = inputMap[event.type];\n if (value === 'pointer') value = pointerType(event);\n\n if (currentInput !== value) {\n if (\n // only if the user flag isn't set\n !formTyping &&\n\n // only if currentInput has a value\n currentInput &&\n\n // only if the input is `keyboard`\n value === 'keyboard' &&\n\n // not if the key is `TAB`\n keyMap[eventKey] !== 'tab' &&\n\n // only if the target is one of the elements in `formInputs`\n formInputs.indexOf(eventTarget.nodeName.toLowerCase()) >= 0\n ) {\n // ignore keyboard typing on form elements\n } else {\n currentInput = value;\n body.setAttribute('data-whatinput', currentInput);\n\n if (inputTypes.indexOf(currentInput) === -1) inputTypes.push(currentInput);\n }\n }\n\n if (value === 'keyboard') logKeys(eventKey);\n }\n\n function key(event) {\n return (event.keyCode) ? event.keyCode : event.which;\n }\n\n function target(event) {\n return event.target || event.srcElement;\n }\n\n function pointerType(event) {\n return (typeof event.pointerType === 'number') ? pointerMap[event.pointerType] : event.pointerType;\n }\n\n // keyboard logging\n function logKeys(eventKey) {\n if (activeKeys.indexOf(keyMap[eventKey]) === -1 && keyMap[eventKey]) activeKeys.push(keyMap[eventKey]);\n }\n\n function unLogKeys(event) {\n var eventKey = key(event);\n var arrayPos = activeKeys.indexOf(keyMap[eventKey]);\n\n if (arrayPos !== -1) activeKeys.splice(arrayPos, 1);\n }\n\n function bindEvents() {\n\n // pointer/mouse\n var mouseEvent = 'mousedown';\n\n if (window.PointerEvent) {\n mouseEvent = 'pointerdown';\n } else if (window.MSPointerEvent) {\n mouseEvent = 'MSPointerDown';\n }\n\n body.addEventListener(mouseEvent, immediateInput);\n body.addEventListener('mouseenter', immediateInput);\n\n // touch\n if ('ontouchstart' in window) {\n body.addEventListener('touchstart', bufferInput);\n }\n\n // keyboard\n body.addEventListener('keydown', immediateInput);\n document.addEventListener('keyup', unLogKeys);\n }\n\n\n /*\n ---------------\n init\n\n don't start script unless browser cuts the mustard,\n also passes if polyfills are used\n ---------------\n */\n\n if ('addEventListener' in window && Array.prototype.indexOf) {\n bindEvents();\n }\n\n\n /*\n ---------------\n api\n ---------------\n */\n\n return {\n\n // returns string: the current input type\n ask: function() { return currentInput; },\n\n // returns array: currently pressed keys\n keys: function() { return activeKeys; },\n\n // returns array: all the detected input types\n types: function() { return inputTypes; },\n\n // accepts string: manually set the input type\n set: setInput\n };\n\n}));\n","/* ========================================================================\n * DOM-based Routing\n * Based on http://goo.gl/EUTi53 by Paul Irish\n *\n * Only fires on body classes that match. If a body class contains a dash,\n * replace the dash with an underscore when adding it to the object below.\n *\n * .noConflict()\n * The routing is enclosed within an anonymous function so that you can\n * always reference jQuery with $, even when in .noConflict() mode.\n * ======================================================================== */\n\n(function($) {\n\n // Use this variable to set up the common and page specific functions. If you\n // rename this variable, you will also need to rename the namespace below.\n var Oxboot = {\n // All pages\n 'common': {\n init: function() {\n // JavaScript to be fired on all pages\n },\n finalize: function() {\n // JavaScript to be fired on all pages, after page specific JS is fired\n\n /* global screenReaderText */\n /**\n * Theme functions file.\n *\n * Contains handlers for navigation and widget area.\n */\n\n\n var $body, $window, $sidebar, adminbarOffset, top = false,\n bottom = false, windowWidth, windowHeight, lastWindowPos = 0,\n topOffset = 0, bodyHeight, sidebarHeight, resizeTimer,\n secondary, button;\n\n function initMainNavigation( container ) {\n // Add dropdown toggle that display child menu items.\n //container.find( '.menu-item-has-children > a' ).after( '' );\n\n // Toggle buttons and submenu items with active children menu items.\n container.find( '.current-menu-ancestor > button' ).addClass( 'toggle-on' );\n container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );\n\n container.find( '.dropdown-toggle' ).click( function( e ) {\n var _this = $( this );\n e.preventDefault();\n _this.toggleClass( 'toggle-on' );\n _this.next( '.children, .sub-menu' ).toggleClass( 'toggled-on' );\n _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );\n _this.html( _this.html() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand );\n } );\n }\n initMainNavigation( $( '.main-navigation' ) );\n\n // Re-initialize the main navigation when it is updated, persisting any existing submenu expanded states.\n $( document ).on( 'customize-preview-menu-refreshed', function( e, params ) {\n if ( 'primary' === params.wpNavMenuArgs.theme_location ) {\n initMainNavigation( params.newContainer );\n\n // Re-sync expanded states from oldContainer.\n params.oldContainer.find( '.dropdown-toggle.toggle-on' ).each(function() {\n var containerId = $( this ).parent().prop( 'id' );\n $( params.newContainer ).find( '#' + containerId + ' > .dropdown-toggle' ).triggerHandler( 'click' );\n });\n }\n });\n\n secondary = $( '#secondary' );\n button = $( '.site-branding' ).find( '.secondary-toggle' );\n\n // Enable menu toggle for small screens.\n ( function() {\n var menu, widgets, social;\n if ( ! secondary || ! button ) {\n return;\n }\n\n // Hide button if there are no widgets and the menus are missing or empty.\n menu = secondary.find( '.nav-menu' );\n widgets = secondary.find( '#widget-area' );\n social = secondary.find( '#social-navigation' );\n if ( ! widgets.length && ! social.length && ( ! menu || ! menu.children().length ) ) {\n button.hide();\n return;\n }\n\n button.on( 'click.twentyfifteen', function() {\n secondary.toggleClass( 'toggled-on' );\n secondary.trigger( 'resize' );\n $( this ).toggleClass( 'toggled-on' );\n if ( $( this, secondary ).hasClass( 'toggled-on' ) ) {\n $( this ).attr( 'aria-expanded', 'true' );\n secondary.attr( 'aria-expanded', 'true' );\n } else {\n $( this ).attr( 'aria-expanded', 'false' );\n secondary.attr( 'aria-expanded', 'false' );\n }\n } );\n } )();\n\n /**\n * @summary Add or remove ARIA attributes.\n * Uses jQuery's width() function to determine the size of the window and add\n * the default ARIA attributes for the menu toggle if it's visible.\n * @since Twenty Fifteen 1.1\n */\n function onResizeARIA() {\n if ( 955 > $window.width() ) {\n button.attr( 'aria-expanded', 'false' );\n secondary.attr( 'aria-expanded', 'false' );\n button.attr( 'aria-controls', 'secondary' );\n } else {\n button.removeAttr( 'aria-expanded' );\n secondary.removeAttr( 'aria-expanded' );\n button.removeAttr( 'aria-controls' );\n }\n }\n\n // Sidebar scrolling.\n function resize() {\n windowWidth = $window.width();\n\n //if ( 955 > windowWidth ) {\n // top = bottom = false;\n // $sidebar.removeAttr( 'style' );\n //}\n }\n\n function scroll() {\n var windowPos = $window.scrollTop();\n\n //if ( 955 > windowWidth ) {\n // return;\n //}\n\n sidebarHeight = $sidebar.height();\n windowHeight = $window.height();\n bodyHeight = $body.height();\n\n if ( sidebarHeight + adminbarOffset > windowHeight ) {\n if ( windowPos > lastWindowPos ) {\n if ( top ) {\n top = false;\n topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;\n $sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );\n } else if ( ! bottom && windowPos + windowHeight > sidebarHeight + $sidebar.offset().top && sidebarHeight + adminbarOffset < bodyHeight ) {\n bottom = true;\n $sidebar.attr( 'style', 'position: fixed; bottom: 0;' );\n }\n } else if ( windowPos < lastWindowPos ) {\n if ( bottom ) {\n bottom = false;\n topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;\n $sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );\n } else if ( ! top && windowPos + adminbarOffset < $sidebar.offset().top ) {\n top = true;\n $sidebar.attr( 'style', 'position: fixed;' );\n }\n } else {\n top = bottom = false;\n topOffset = ( $sidebar.offset().top > 0 ) ? $sidebar.offset().top - adminbarOffset : 0;\n $sidebar.attr( 'style', 'top: ' + topOffset + 'px;' );\n }\n } else if ( ! top ) {\n top = true;\n $sidebar.attr( 'style', 'position: fixed;' );\n }\n\n lastWindowPos = windowPos;\n }\n\n function resizeAndScroll() {\n resize();\n scroll();\n }\n\n $( document ).ready( function() {\n $body = $( document.body );\n $window = $( window );\n $sidebar = $( '#sidebar' ).first();\n adminbarOffset = $body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0;\n\n $window\n .on( 'scroll.twentyfifteen', scroll )\n .on( 'load.twentyfifteen', onResizeARIA )\n .on( 'resize.twentyfifteen', function() {\n clearTimeout( resizeTimer );\n resizeTimer = setTimeout( resizeAndScroll, 500 );\n onResizeARIA();\n } );\n $sidebar.on( 'click.twentyfifteen keydown.twentyfifteen', 'button', resizeAndScroll );\n\n resizeAndScroll();\n\n for ( var i = 1; i < 6; i++ ) {\n setTimeout( resizeAndScroll, 100 * i );\n }\n } );\n\n }\n },\n // Home page\n 'home': {\n init: function() {\n // JavaScript to be fired on the home page\n },\n finalize: function() {\n // JavaScript to be fired on the home page, after the init JS\n }\n },\n // About us page, note the change from about-us to about_us.\n 'about_us': {\n init: function() {\n // JavaScript to be fired on the about us page\n }\n }\n };\n\n // The routing fires all common scripts, followed by the page specific scripts.\n // Add additional events for more control over timing e.g. a finalize event\n var UTIL = {\n fire: function(func, funcname, args) {\n var fire;\n var namespace = Oxboot;\n funcname = (funcname === undefined) ? 'init' : funcname;\n fire = func !== '';\n fire = fire && namespace[func];\n fire = fire && typeof namespace[func][funcname] === 'function';\n\n if (fire) {\n namespace[func][funcname](args);\n }\n },\n loadEvents: function() {\n // Fire common init JS\n UTIL.fire('common');\n\n // Fire page-specific init JS, and then finalize JS\n $.each(document.body.className.replace(/-/g, '_').split(/\\s+/), function(i, classnm) {\n UTIL.fire(classnm);\n UTIL.fire(classnm, 'finalize');\n });\n\n // Fire common finalize JS\n UTIL.fire('common', 'finalize');\n }\n };\n\n // Load Events\n $(document).ready(UTIL.loadEvents);\n\n})(jQuery); // Fully reference jQuery after this point.\n"],"sourceRoot":"assets/scripts/"}