{"version":3,"sources":["main.js"],"names":["registerPikaday","onSelect","Pikaday","field","document","getElementById","firstDay","minDate","Date","maxDate","format","yearRange","paginate","currentPageInput","pageSizeElement","submitFormFunction","$","click","value","e","target","dataset","pageNumber","parseInt","lastPage","change","debounce","func","wait","immediate","timeout","context","this","args","arguments","callNow","clearTimeout","setTimeout","apply","on","stopPropagation","toggle","marketingMessageContainer","marketingMessageId","data","userId","remove","ajax","type","toggleClass","one","closeMenu","has","length","removeClass","focus","select","find","prevScrollDepth","prevState","$header","window","scrollDepth","addClass"],"mappings":"AACA,SAASA,gBAAgBC,GACrB,OAAO,IAAIC,QAAQ,CACfC,MAAOC,SAASC,eAAe,qBAC/BC,SAAU,EACVC,QAAS,IAAIC,KAAK,cAClBC,QAAS,IAAID,KAAK,cAClBE,OAAQ,aACRC,UAAW,CAAC,KAAM,MAClBV,SAAUA,IAIlB,SAASW,SAASC,EAAkBC,EAAiBC,GAEjDC,EAAE,sBAAsBC,MAAM,WAC1BJ,EAAiBK,MAAQ,EACzBH,MAGJC,EAAE,yBAAyBC,MAAM,WAC7BJ,EAAiBK,MAAQL,EAAiBK,MAAQ,EAClDH,MAGJC,EAAE,gBAAgBC,MAAM,SAAUE,GAC9BN,EAAiBK,MAAQC,EAAEC,OAAOC,QAAQC,WAC1CP,MAGJC,EAAE,qBAAqBC,MAAM,WACzBJ,EAAiBK,MAAQK,SAASV,EAAiBK,OAAS,EAC5DH,MAGJC,EAAE,qBAAqBC,MAAM,SAAUE,GACnCN,EAAiBK,MAAQC,EAAEC,OAAOC,QAAQG,SAC1CT,MAGJD,EAAgBW,OAAO,WACnBZ,EAAiBK,MAAQ,EACzBH,MAQR,SAASW,SAASC,EAAMC,EAAMC,GAC1B,IAAIC,EACJ,OAAO,WACH,IAAIC,EAAUC,KAAMC,EAAOC,UAKvBC,EAAUN,IAAcC,EAC5BM,aAAaN,GACbA,EAAUO,WANE,WACRP,EAAU,KACLD,GAAWF,EAAKW,MAAMP,EAASE,IAIZL,GACxBO,GAASR,EAAKW,MAAMP,EAASE,IAIzCjB,EAAE,WAEEA,EAAE,2BAA2BuB,GAAG,QAAS,SAAUpB,GAC/CA,EAAEqB,oBAGNxB,EAAE,yBAAyBuB,GAAG,QAAS,WACnCvB,EAAE,kBAAkByB,WAMxBzB,EAAE,sBAAsBuB,GAAG,QAAS,WAChC,IAAIG,EAA4B1B,EAAE,sBAE9B2B,EAAqBD,EAA0BE,KAAK,sBACpDC,EAASH,EAA0BE,KAAK,UAE5CF,EAA0BI,SAEtBD,GACA7B,EAAE+B,KAAK,0BAA2B,CAC9BC,KAAM,OACNJ,KAAM,CACFD,mBAAoBA,EACpBE,OAAQA,SAO5B7B,EAAE,WACEA,EAAE,WAAWuB,GAAG,QAAS,SAASpB,GAC9BH,EAAEgB,MAAMiB,YAAY,UAEpBjC,EAAEZ,UAAU8C,IAAI,QAAS,SAASC,EAAWhC,GACA,IAAtCH,EAAE,WAAWoC,IAAIjC,EAAEC,QAAQiC,OAC1BrC,EAAE,WAAWsC,YAAY,UAEzBtC,EAAEZ,UAAU8C,IAAI,QAASC,OAKrCnC,EAAE,uBAAuBC,MAAM,WAC3BD,EAAE,wBAAwBuC,QAC1BvC,EAAE,wBAAwBwC,WAG9BxC,EAAE,qBAAqBuB,GAAG,QAAS,WAC/BvB,EAAEgB,MAAMyB,KAAK,KAAKR,YAAY,+CAGlCjC,EAAE,gBAAgBuB,GAAG,QAAS,WAC1BvB,EAAEgB,MAAMyB,KAAK,KAAKR,YAAY,+CAC9BjC,EAAEgB,MAAMyB,KAAK,qBAAqBhB,aAK1CzB,EAAE,WACE,IACI0C,EAAkB,EAClBC,EAAY,UACZC,EAAU5C,EAAE,mBAEhBA,EAAE6C,QAAQtB,GAAG,SAAU,SAAUpB,GAC7B,IAAI2C,EAAeD,OAAkB,YACrC,OAAIC,EAPY,KAQZF,EAAQN,YAAY,qCACpBI,EAAkBI,OAClBH,EAAY,aAIhBC,EAAQG,SAAS,SACKD,EAAlBJ,GACAE,EAAQN,YAAY,kBACpBM,EAAQG,SAAS,gBACjBL,EAAkBI,OAClBH,EAAY,kBAIF,YAAdA,EAA0BC,EAAQG,SAAS,iBAAmBH,EAAQN,YAAY,iBAClFM,EAAQN,YAAY,gBACpBM,EAAQG,SAAS,kBACjBJ,EAAY,sBACZD,EAAkBI","file":"main.min.js","sourcesContent":["// Pikaday provides a custom date picker\r\nfunction registerPikaday(onSelect) {\r\n return new Pikaday({\r\n field: document.getElementById('availability-date'),\r\n firstDay: 1,\r\n minDate: new Date('2000-01-01'),\r\n maxDate: new Date('2050-12-31'),\r\n format: 'MM-DD-YYYY',\r\n yearRange: [2010, 2050],\r\n onSelect: onSelect\r\n });\r\n}\r\n\r\nfunction paginate(currentPageInput, pageSizeElement, submitFormFunction) {\r\n\r\n $('#first-page-button').click(function () {\r\n currentPageInput.value = 1;\r\n submitFormFunction();\r\n });\r\n\r\n $('#previous-page-button').click(function () {\r\n currentPageInput.value = currentPageInput.value - 1;\r\n submitFormFunction();\r\n });\r\n\r\n $('.page-button').click(function (e) {\r\n currentPageInput.value = e.target.dataset.pageNumber;\r\n submitFormFunction();\r\n });\r\n\r\n $('#next-page-button').click(function () {\r\n currentPageInput.value = parseInt(currentPageInput.value) + 1;\r\n submitFormFunction();\r\n });\r\n\r\n $('#last-page-button').click(function (e) {\r\n currentPageInput.value = e.target.dataset.lastPage;\r\n submitFormFunction();\r\n });\r\n\r\n pageSizeElement.change(function () {\r\n currentPageInput.value = 1;\r\n submitFormFunction();\r\n });\r\n}\r\n\r\n// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\nfunction debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this, args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n};\r\n\r\n$(function () {\r\n // prevent bootstrap dropdown from closing when clicking dropdown headers\r\n $('.dropdown-link-disabled').on('click', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n $('.company-cards-toggle').on('click', function () {\r\n $('.company-cards').toggle();\r\n });\r\n\r\n // Marketing Messages are banners that are managed through the admin UI, and are displayed\r\n // at the top of the page. If a user closes the message, they're opted out of seeing\r\n // that specific message by adding an OptOut record to the database.\r\n $('#marketing-message').on('click', function () {\r\n var marketingMessageContainer = $('#marketing-message');\r\n\r\n var marketingMessageId = marketingMessageContainer.data('marketingMessageId');\r\n var userId = marketingMessageContainer.data('userId');\r\n\r\n marketingMessageContainer.remove();\r\n\r\n if (userId) {\r\n $.ajax('/MarketingMessageOptOut', {\r\n type: 'POST',\r\n data: {\r\n marketingMessageId: marketingMessageId,\r\n userId: userId\r\n }\r\n });\r\n }\r\n });\r\n});\r\n\r\n$(function () {\r\n $('.subnav').on('click', function(e) {\r\n $(this).toggleClass('active');\r\n\r\n $(document).one('click', function closeMenu (e){\r\n if($('.subnav').has(e.target).length === 0){\r\n $('.subnav').removeClass('active');\r\n } else {\r\n $(document).one('click', closeMenu);\r\n }\r\n });\r\n });\r\n\r\n $('#navbar-search-icon').click(function() {\r\n $('#filter-input-mobile').focus();\r\n $('#filter-input-mobile').select();\r\n })\r\n\r\n $('#toggle-hamburger').on('click', function () {\r\n $(this).find('i').toggleClass('glyphicon-menu-hamburger glyphicon-remove');\r\n });\r\n\r\n $('.toggle-chev').on('click', function () {\r\n $(this).find('i').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');\r\n $(this).find('.glyphicon-search').toggle();\r\n });\r\n});\r\n\r\n// sticky header\r\n$(function () {\r\n var startStickyAt = 160;\r\n var prevScrollDepth = 0;\r\n var prevState = 'default';\r\n var $header = $('#desktop-header');\r\n\r\n $(window).on('scroll', function (e) {\r\n var scrollDepth = (window.pageYOffset);\r\n if (scrollDepth < startStickyAt) {\r\n $header.removeClass('fixed scrolling-down scrolling-up');\r\n prevScrollDepth = scrollDepth;\r\n prevState = 'default';\r\n return;\r\n }\r\n\r\n $header.addClass('fixed');\r\n if (prevScrollDepth > scrollDepth) {\r\n $header.removeClass('scrolling-down');\r\n $header.addClass('scrolling-up');\r\n prevScrollDepth = scrollDepth;\r\n prevState = 'scrolling-up';\r\n return;\r\n }\r\n \r\n prevState === 'default' ? $header.addClass('no-transition') : $header.removeClass('no-transition');\r\n $header.removeClass('scrolling-up');\r\n $header.addClass('scrolling-down');\r\n prevState = 'scrolling-down';\r\n prevScrollDepth = scrollDepth;\r\n });\r\n});\r\n\r\n"]}