{"version":3,"sources":["locations.js"],"names":["updateFilterButtonText","el","origText","$el","$","toggleBtn","find","checkedAmount","length","firstCheckedEl","closest","secondCheckedEl","each","$this","this","text","addClass","removeClass","textReplacer","data","selectToDropdown","document","on","e","stopPropagation","dropdownEl","windowHeight","window","innerHeight","bottomOfViewport","scrollTop","dropdownBottomCoord","outerHeight","offset","scrollBottomCoord","animate","moreFilterOptionsID","attr","moreFiltersButton","ariaEpandedValue","toggleClass","one","querySelector","getBoundingClientRect","top","is","children","hide","zoomLevel","initLocationsMap","parseLatLng","rawValue","split","lat","parseFloat","lng","curMarker","mapElement","getElementById","startLocation","mobileSection","map","google","maps","Map","center","zoom","styles","stylers","saturation","event","addListenerOnce","setZoom","Math","min","getZoom","bounds","LatLngBounds","infoWindow","InfoWindow","content","checkWindowResize","inMap","inMarker","windowWidth","open","close","addEventListener","locations","lastLocation","not","result","driveUpHours","lobbyHours","placeId","image","geometry","geometryAsString","title","addressHtml","html","mailingAddress","linkToItem","locationType","extend","marker","Marker","position","addListener","setContent","innerHTML","hours","show","width","fitBounds","panTo","mapEl","titleText","setTimeout","trigger","navigator","geolocation","getCurrentPosition","shortestPoint","LatLng","userLatLng","coords","latitude","longitude","shortestDistance","spherical","computeDistanceBetween","placeLocation","distance","setCenter","jQuery"],"mappings":"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","sourcesContent":["// Change filter button text based on what's selected\r\nfunction updateFilterButtonText(el, origText) {\r\n\tvar $el = $(el),\r\n\t\ttoggleBtn = $el.find('.dropdown-toggle'),\r\n\t\tcheckedAmount = $el.find('input:checked').length,\r\n\t\tfirstCheckedEl = $el.find('input:checked:eq(0)').closest('label'),\r\n\t secondCheckedEl = $el.find('input:checked:eq(1)').closest('label');\r\n\r\n\ttoggleBtn.each(function() {\r\n\t\tvar $this = $(this),\r\n\t\t\tdataText = $this.text();\r\n\r\n\t\tif (checkedAmount === 1) {\r\n\t\t\t$this\r\n\t\t\t\t.text(firstCheckedEl.text())\r\n\t\t\t\t.addClass('has-filters-selected');\r\n\t\t} else if (checkedAmount === 2) {\r\n\t\t\t$this\r\n\t\t\t\t.text(firstCheckedEl.text() + ', ' + secondCheckedEl.text())\r\n\t\t\t\t.addClass('has-filters-selected');\r\n\t\t} else if (checkedAmount >= 3) {\r\n\t\t\t$this\r\n\t\t\t\t.text(checkedAmount + ' selected')\r\n\t\t\t\t.addClass('has-filters-selected');\r\n\t\t} else {\r\n\t\t\t$this.text(origText)\r\n\t\t\t\t.removeClass('has-filters-selected');\r\n\t\t}\r\n\t});\r\n}\r\n\r\n$(function() {\r\n\r\n\t// Initialize select to dropdown function\r\n\tif ($('#locationRegionSelect').length) {\r\n\t\t$('#locationRegionSelect').selectToDropdown();\r\n\t}\r\n\r\n\t// Update button text on load\r\n\tupdateFilterButtonText('.checkbox-group-dropdown', 'Any Service');\r\n});\r\n\r\n// Prevent dropdown from closing when clicking inside of it and update it's text\r\n$(document).on('click', '[name=\"locationServices\"], label.dropdown-menu-item', function(e) {\r\n\te.stopPropagation();\r\n\tupdateFilterButtonText('.checkbox-group-dropdown', 'Any Service');\r\n});\r\n\r\n// Filter dropdown is cut by bottom of viewport scroll bottom of viewport to it\r\n$('.checkbox-group-dropdown, .select-to-dropdown').on('shown.bs.dropdown', function() {\r\n\tvar dropdown = $(this),\r\n\t\tdropdownEl = dropdown.find('.dropdown-menu'),\r\n\t\twindowHeight = $(window).innerHeight(),\r\n\t\tbottomOfViewport = $(window).scrollTop() + windowHeight,\r\n\t\tdropdownBottomCoord = dropdownEl.outerHeight() + (dropdownEl.offset().top),\r\n\t\tscrollBottomCoord = dropdownBottomCoord - windowHeight;\r\n\r\n\tif (dropdownBottomCoord > bottomOfViewport) {\r\n\t\t$('html, body').animate({\r\n\t\t\tscrollTop: scrollBottomCoord + 20\r\n\t\t}, 250);\r\n\t}\r\n});\r\n\r\n// Location filter collapse button text replacer\r\nfunction textReplacer(el) {\r\n\tel.each(function() {\r\n\t\tvar $this = $(this),\r\n\t\t\ttext = $this.text();\r\n\r\n\t\t$this\r\n\t\t\t.text($this.data('text-replace'))\r\n\t\t\t.data('text-replace', text);\r\n\t});\r\n}\r\n\r\n// More Filter Options related\r\n$('#moreFilterOptions').each(function() {\r\n\tvar $this = $(this),\r\n\t\tmoreFilterOptionsID = $(this).attr('id'),\r\n\t\tmoreFiltersButton = $('[href=\"#' + moreFilterOptionsID + '\"]');\r\n\r\n\t$this\r\n\t\t.on('show.bs.collapse', function() {\r\n\t\t\ttextReplacer(moreFiltersButton);\r\n\t\t})\r\n\t\t.on('hide.bs.collapse', function() {\r\n\t\t\ttextReplacer(moreFiltersButton);\r\n\t\t});\r\n});\r\n\r\n\r\n// Location cabinet\r\nvar ariaEpandedValue = false;\r\n$('.locations-list-toggle').on('click', function() {\r\n\tvar $this = $(this);\r\n\r\n\tariaEpandedValue = (ariaEpandedValue === false) ? true : false;\r\n\r\n\t$this.attr('aria-expanded', ariaEpandedValue);\r\n\r\n\t$('.locations-list-cabinet')\r\n\t\t.toggleClass('showing')\r\n\t\t.addClass('transitioning')\r\n\t\t.find('.locations-list-drawer')\r\n\t\t.one('transitionend webkitTransitionEnd oTransitionEnd', function() {\r\n\t\t\t$(this)\r\n\t\t\t\t.closest('.locations-list-cabinet')\r\n\t\t\t\t.removeClass('transitioning');\r\n\r\n\t\t\t// Scroll to top of locations list toggle button if top of map is out of viewport\r\n\t\t\tif (document.querySelector('.map-container').getBoundingClientRect().top < 0 && $this.is('[aria-expanded=\"true\"]')) {\r\n\t\t\t\t$('html, body').animate({\r\n\t\t\t\t\tscrollTop: $(this).offset().top - 66\r\n\t\t\t\t}, 250);\r\n\t\t\t}\r\n\t\t})\r\n\t\t.children().on('transitionend webkitTransitionEnd oTransitionEnd', function() {\r\n\t\t\treturn false;\r\n\t\t});\r\n});\r\n\r\n// Map related\r\n(function($) {\r\n\t$('#zero-results-card').hide();\r\n\t\r\n\tvar zoomLevel = ($('.locations-list > li').length === 1) ? 13 : 10;\r\n\r\n\twindow.initLocationsMap = function() {\r\n\t\tfunction parseLatLng(rawValue) {\r\n\t\t\tvar split = rawValue.split(',');\r\n\t\t\treturn {\r\n\t\t\t\tlat: parseFloat(split[0], 10),\r\n\t\t\t\tlng: parseFloat(split[1], 10)\r\n\t\t\t};\r\n\t\t}\r\n\r\n\r\n\t\tvar mapElement = document.getElementById('locmap-map');\r\n\t\tvar startLocation = parseLatLng($(mapElement).data('default-geometry'));\r\n\t\tvar mobileSection = document.getElementById('mobile-details');\r\n\t\tvar curMarker;\r\n\t\tvar map = new google.maps.Map(mapElement, {\r\n\t\t\tcenter: startLocation,\r\n\t\t\tzoom: zoomLevel,\r\n\t\t\tstyles: [{\r\n\t\t\t\tstylers: [{\r\n\t\t\t\t\tsaturation: -100\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t});\r\n\r\n\t\t\r\n\t\tgoogle.maps.event.addListenerOnce(map, 'bounds_changed', function() { this.setZoom(Math.min(13, this.getZoom())); });\r\n\r\n\t\tvar bounds = new google.maps.LatLngBounds();\r\n\r\n\t\tvar infoWindow = new google.maps.InfoWindow({\r\n\t\t\tcontent: ''\r\n\t\t});\r\n\r\n\t\tfunction checkWindowResize(inMap, inMarker) {\r\n\t\t\tif (window.windowWidth >= 992) {\r\n\t\t\t\tinfoWindow.open(inMap, inMarker);\r\n\t\t\t} else {\r\n\t\t\t\tinfoWindow.close();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('resize', checkWindowResize(map, curMarker));\r\n\r\n\t\tvar locations = 0;\r\n\t\tvar lastLocation = null;\r\n\t\t$('[data-place-id]').not('[data-place-geometry=\",\"], [data-place-id=\"\"]').each(function() {\r\n\t\t\tlocations += 1;\r\n\t\t\tvar result = $(this);\r\n\r\n\t\t\tvar data = {\r\n\t\t\t\tdriveUpHours: result.data('drive-up-hours'),\r\n\t\t\t\tlobbyHours: result.data('lobby-hours'),\r\n\t\t\t\tplaceId: result.data('place-id'),\r\n\t\t\t\timage: result.data('image'),\r\n\t\t\t\tgeometry: parseLatLng(result.data('place-geometry')),\r\n\t\t\t\tgeometryAsString: result.data('place-geometry'),\r\n\t\t\t\ttitle: result.find('h3').text(),\r\n\t\t\t\taddressHtml: result.find('p').html(),\r\n\t\t\t\tmailingAddress: result.data('mailing-address'),\r\n\t\t\t\tlinkToItem: result.data('link-to-item'),\r\n\t\t\t\tlocationType: result.data('location-type')\r\n\t\t\t};\r\n\t\t\tlastLocation = data;\r\n\t\t\tbounds.extend(data.geometry);\r\n\t\t\tvar marker = new google.maps.Marker({\r\n\t\t\t\tmap: map,\r\n\t\t\t\tposition: data.geometry,\r\n\t\t\t\ttitle: data.title\r\n\t\t\t});\r\n\r\n\t\t\tmarker.addListener('click', function() {\r\n\t\t\t\tinfoWindow.setContent(\r\n\t\t\t\t\t\t// info window left\r\n\t\t\t\t\t\"
' + data.mailingAddress + '
' : '') +\r\n\t\t\t\t\t\t'Get Directions >' +\r\n\t\t\t\t\t\"' + data.driveUpHours + '
') : '') +\r\n\t\t\t\t\t\t\t(data.locationType != \"ATM\" ? 'Location Details >' : \"\") +\r\n\t\t\t\t\t\t\"' + data.lobbyHours + '
') : '') +\r\n\t\t\t\t\t\t\"' + data.driveUpHours + '
') : '') +\r\n (data.linkToItem ? ('Location Details >') : '') +\r\n '' + data.lobbyHours + '
') : '') +\r\n (data.lobbyHours ? ('