{"version":3,"sources":["dealer-locator.js"],"names":["$","ac_ele","dl_loadMapScenario","dl","initPage","currentOption","activeElement","changeTabs","e","target","parent","parentNode","hasClass","toggleClass","toggle","querySelectorAll","forEach","t","setAttribute","DealerLocator","hideACList","console","log","isHandlingEvent","hide","addEventListener","attr","_classCallCheck","this","_vars","isLoading","map","pushpins","infobox","isRangeSliderChanging","rangeChangeTimeout","lastZoomLevel","userChangedZoom","pinIcon","_elements","$search_radius_slider","document","getElementsByClassName","zip","initMap","dl_getLatLon","lat","lon","loadDealers","debug","callback","Microsoft","showDashboard","Maps","Map","mapPanel","showLocateMeButton","bingMapsAPIKey","showMapTypeSelector","enableClickableLogo","enableSearchLogo","showCopyright","showScalebar","disableScrollWheelZoom","localStorageGetItemCommon","Infobox","visible","centerMap","Location","loadModule","Events","addHandler","removeClass","filter","metadata","onMapMoved","pin","isClicked","offset","pinNumber","addClass","clicked","location","getLocation","title","i","length","_pin","setOptions","Point","icon","pinIconActive","hideInfoBox","currentZoomLevel","getZoom","center","dl_getPinCode","longitude","getCenter","inputText","latitude","res","address","countryRegion","ngScope","angular","element","querySelector","scope","slider","val","trigger","test","trim","$$phase","refreshData","$apply","window","prop","fromCache","clearMapCircleRange","getLength","poly","get","Polygon","drawMapCircleRange","miles","entities","removeAt","path","fillColor","SpatialMath","addMilesToLocation","getRegularPolygon","DistanceUnits","Miles","Color","strokeColor","bestview","push","Number","bound","meters","new_long","newLoc","LocationRect","fromLocations","bounds","setView","clearMapPins","pushpin","Math","cos","Pushpin","dealerOption","layers","clear","addPinToMap","name","distance","carCount","carCountUsed","dealer","height","showInfoBox","typeName","toString","buyOnline","description","POIId","Distance","click","clusterLayer","ClusterLayer","clusterIcon","pins","clusteredPinCallback","cluster","containedPushpins","replace","count","fromLat","insert","getDirections","toLat","toLon","track","from","TAPReadyForNewPageLoad","clearInterval","tapReady","escape","url","to","href","getTracking","dealerName","dealerId","radius","_satellite","setVar","tries","setInterval","ready","updateMapHeight","css","range","step","min","max","value","slide","event","ui","on","html","clearTimeout","setTimeout","filterDealers","onRedoSearch","closest","$outer","scrollTop","$e","top","stopPropagation","show","text","nextOption","lastdirection","preventDefault","key","firstOption","list","focus","nextElementSibling","previousElementSibling","tabFocus","tabs","tab","grandparent","tabList"],"mappings":"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","file":"dealer-locator.min.js","sourcesContent":["class DealerLocator {\r\n\r\n\r\n constructor() {\r\n\r\n // vars\r\n var _vars = {\r\n isLoading: true,\r\n map: 'xxxx',\r\n infobox: null,\r\n pushpins: [],\r\n isRangeSliderChanging: null,\r\n rangeChangeTimeout: null,\r\n lastZoomLevel: null,\r\n userChangedZoom: false,\r\n pinIcon: '',\r\n clusterIcon: '',\r\n pinIconActive: ''\r\n };\r\n\r\n // Elements\r\n var _elements = {\r\n $search_radius_slider: $(\"#search-radius-slider\"),\r\n mapPanel: document.getElementsByClassName('map-panel')[0]\r\n };\r\n\r\n this.initPage = function(zip) {\r\n dl.initMap(function() {\r\n //if zip value present, then load data\r\n //otherwise wait for zipcode to become available\r\n if (zip) {\r\n dl_getLatLon(zip, function(lat, lon) {\r\n //ngScope().loadDealers(34.02796899999999, -118.48087); \r\n ngScope().loadDealers(lat, lon);\r\n _vars.isLoading = false;\r\n\r\n });\r\n\r\n } else {\r\n debug && console.log('Zip code not available. Cannot proceed.');\r\n }\r\n /* disable map element from keyboard focus */\r\n $('.MicrosoftMap').attr('tabindex','-1').attr('aria-hidden','true');\r\n $('.map-control').attr('tabindex','-1').attr('aria-hidden','true');\r\n $('#ZoomInButton').attr('tabindex','-1').attr('aria-hidden','true');\r\n $('#ZoomOutButton').attr('tabindex','-1').attr('aria-hidden','true');\r\n $('.MicrosoftMap .bm_bottomLeftOverlay').attr('tabindex','-1').attr('aria-hidden','true');\r\n \r\n });\r\n }\r\n\r\n\r\n\r\n this.initMap = function(callback) {\r\n if (!Microsoft) {\r\n return;\r\n }\r\n _vars.map = new Microsoft.Maps.Map(_elements.mapPanel, {\r\n credentials: bingMapsAPIKey,\r\n disableKeyboardInput: true,\r\n showDashboard: true,\r\n showLocateMeButton: false,\r\n showMapTypeSelector: false,\r\n enableClickableLogo: false,\r\n enableSearchLogo: false,\r\n showCopyright: false,\r\n showScalebar: false,\r\n disableScrollWheelZoom: true\r\n });\r\n\r\n\r\n if (localStorageGetItemCommon('_GeoTempLat') && localStorageGetItemCommon('_GeoTempLong')) {\r\n this.centerMap(localStorageGetItemCommon('_GeoTempLat'), localStorageGetItemCommon('_GeoTempLong'));\r\n }\r\n\r\n _vars.infobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), {\r\n visible: false\r\n });\r\n _vars.infobox.setMap(_vars.map);\r\n\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.SpatialMath\", function() {\r\n\r\n Microsoft.Maps.loadModule(\"Microsoft.Maps.Clustering\", function() {\r\n\r\n callback && callback();\r\n });\r\n\r\n\r\n });\r\n\r\n Microsoft.Maps.Events.addHandler(_vars.map, 'viewchangeend', function(e) {\r\n dl.onMapMoved(e);\r\n });\r\n\r\n }\r\n\r\n this.showInfoBox = function(pin, isClicked) {\r\n $('.search-result').removeClass('active')\r\n .filter('[data-pinnumber=' + pin.metadata.pinNumber + ']').addClass('active');\r\n\r\n _vars.infobox && _vars.infobox.setOptions({\r\n location: pin.getLocation(),\r\n title: pin.metadata.title,\r\n description: pin.metadata.description,\r\n visible: true,\r\n offset: new Microsoft.Maps.Point(0, 25)\r\n });\r\n _vars.infobox.metadata = {\r\n clicked: isClicked\r\n };\r\n\r\n for (var i = 0; i < _vars.pushpins.length; i++) {\r\n var _pin = _vars.pushpins[i];\r\n _pin && _pin.setOptions({\r\n icon: _vars.pinIcon\r\n });\r\n }\r\n\r\n pin && pin.setOptions({\r\n icon: _vars.pinIconActive,\r\n });\r\n\r\n\r\n }\r\n this.hideInfoBox = function(pin) {\r\n $('.search-result').removeClass('active');\r\n _vars.infobox && _vars.infobox.setOptions({\r\n visible: false,\r\n });\r\n\r\n pin && pin.setOptions({\r\n icon: _vars.pinIcon,\r\n });\r\n }\r\n\r\n this.onMapMoved = function(e) {\r\n\r\n if (_vars.isLoading) return;\r\n\r\n //When only the zoom level changed\r\n var currentZoomLevel = _vars.map.getZoom();\r\n if (_vars.lastZoomLevel != currentZoomLevel) {\r\n _vars.lastZoomLevel = currentZoomLevel;\r\n _vars.userChangedZoom = true;\r\n \r\n return;\r\n }\r\n\r\n if (_vars.isRangeSliderChanging == true) {\r\n //if event was triggered due to slider change, then ignore it\r\n return;\r\n }\r\n\r\n var center = _vars.map.getCenter();\r\n\r\n //dl.centerMap(center.latitude, center.longitude);\r\n\r\n\r\n dl_getPinCode(center.latitude, center.longitude, function(res, lat, lon, address) {\r\n debug && console.log(res);\r\n\r\n if (address && address.countryRegion && address.countryRegion != \"United States\") {\r\n return;\r\n }\r\n\r\n dl.drawMapCircleRange(center.latitude, center.longitude, angular.element(document.querySelector('#search-radius-slider')).scope().slider);\r\n\r\n //sometime api returns incorrect zip. So, if user searched for a zip, then show it directly\r\n var inputText = $('#input-search-location').val();\r\n if (inputText.length > 0 && /^\\d{5}$/.test(inputText.trim())) {\r\n res = inputText;\r\n }\r\n ngScope().zip = res;\r\n\r\n\r\n if (!ngScope().$$phase) {\r\n ngScope().$apply();\r\n }\r\n\r\n //global\r\n $(window).trigger(\"app.zipchanged\", {\r\n zip: res\r\n });\r\n\r\n //console.log(e);\r\n var chk = $('.search-onmove').prop('checked');\r\n if (chk) {\r\n dl.refreshData();\r\n } else {\r\n $('.input-search-location-error').hide();\r\n $('.redo-search').removeClass('hidden');\r\n $('.search-onmove-copy, .check-box').addClass('hidden')\r\n }\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n this.onRedoSearch = function() {\r\n $('.redo-search').addClass('hidden');\r\n $('.search-onmove-copy, .check-box').removeClass('hidden')\r\n dl.refreshData();\r\n\r\n }\r\n\r\n this.refreshData = function(fromCache) {\r\n clearTimeout(_vars.rangeChangeTimeout);\r\n _vars.isRangeSliderChanging = true;\r\n _vars.rangeChangeTimeout = setTimeout(function() {\r\n _vars.isRangeSliderChanging = false;\r\n }, 500);\r\n\r\n if (fromCache !== true) {\r\n var center = _vars.map.getCenter();\r\n dl_getPinCode(center.latitude, center.longitude, function(res) {\r\n angular.element(document.querySelector('#search-radius-slider')).scope().loadDealers(center.latitude, center.longitude, res);\r\n });\r\n } else {\r\n ngScope().filterDealers();\r\n }\r\n }\r\n\r\n this.clearMapCircleRange = function() {\r\n for (var i = _vars.map.entities.getLength() - 1; i >= 0; i--) {\r\n var poly = _vars.map.entities.get(i);\r\n if (poly instanceof Microsoft.Maps.Polygon) {\r\n _vars.map.entities.removeAt(i);\r\n };\r\n }\r\n }\r\n this.drawMapCircleRange = function(lat, lon, miles) {\r\n dl.clearMapCircleRange();\r\n\r\n if (lat == null) {\r\n var center = _vars.map.getCenter();\r\n\r\n lat = center.latitude;\r\n lon = center.longitude;\r\n //console.log(center, lat, lon);\r\n }\r\n\r\n if (!Microsoft.Maps.SpatialMath) {\r\n return;\r\n } //module not loaded yet\r\n\r\n var path = Microsoft.Maps.SpatialMath.getRegularPolygon(new Microsoft.Maps.Location(lat, lon), miles, 36, Microsoft.Maps.SpatialMath.DistanceUnits.Miles);\r\n var poly = new Microsoft.Maps.Polygon(path, {\r\n fillColor: new Microsoft.Maps.Color(100, 156, 228, 232),\r\n strokeColor: new Microsoft.Maps.Color(100, 156, 228, 232)\r\n });\r\n _vars.map.entities.push(poly);\r\n\r\n //dont zoom to fit, if zoom was udpated by user\r\n if (_vars.userChangedZoom) {\r\n return;\r\n }\r\n\r\n\r\n //calculate lat, lon for correct zoom\r\n var bounds = [];\r\n var bound;\r\n\r\n bound = dl.addMilesToLocation(lat, lon, miles);\r\n bounds.push(new Microsoft.Maps.Location(bound.lat, bound.lon));\r\n //dl.addPinToMap(bound.lat, bound.lon, 'X');\r\n\r\n bound = dl.addMilesToLocation(lat, lon, miles * -1);\r\n bounds.push(new Microsoft.Maps.Location(bound.lat, bound.lon));\r\n //dl.addPinToMap(bound.lat, bound.lon, 'X');\r\n\r\n var bestview = Microsoft.Maps.LocationRect.fromLocations(bounds);\r\n _vars.map.setView({\r\n bounds: bestview\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n this.addMilesToLocation = function(lat, lon, miles) {\r\n lat = Number(lat);\r\n lon = Number(lon);\r\n\r\n var meters = miles * 1609.344;\r\n var coef = meters * 0.0000089;\r\n var new_lat = lat + coef;\r\n var new_long = lon + coef / Math.cos(lat * 0.018);\r\n var newLoc = {\r\n lat: new_lat,\r\n lon: new_long\r\n };\r\n //console.log(lat, lon, new_lat, new_long);\r\n return newLoc;\r\n }\r\n\r\n this.centerMap = function(lat, lon) {\r\n _vars.map.setView({\r\n center: new Microsoft.Maps.Location(lat, lon)\r\n });\r\n }\r\n\r\n this.clearMapPins = function() {\r\n //_vars.pushpins = [];\r\n for (var i = _vars.map.entities.getLength() - 1; i >= 0; i--) {\r\n var pushpin = _vars.map.entities.get(i);\r\n if (pushpin instanceof Microsoft.Maps.Pushpin) {\r\n dl.hideInfoBox(pushpin);\r\n _vars.map.entities.removeAt(i);\r\n };\r\n }\r\n _vars.map.layers.clear();\r\n _vars.pushpins = [];\r\n }\r\n\r\n this.addPinToMap = function(lat, lon, pinNumber, name, distance, carCount, carCountUsed, dealer) {\r\n var pushpin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(lat, lon));\r\n pushpin && pushpin.setOptions({\r\n width: 48,\r\n height: 48,\r\n visible: true,\r\n typeName: pinNumber + '_pin',\r\n icon: _vars.pinIcon,\r\n text: pinNumber.toString()\r\n });\r\n\r\n var dealerOption = dealer.buyOnline ? 'buyonline' : 'default';\r\n\r\n pushpin.metadata = {\r\n description: '
' + carCount + ' Certified & ' + carCountUsed + ' Used Vehicles