!function(){window.google,window.geocoder,window.bounds,window.mapPlaces,window.searchBox,window.initialLatLang={lat:-14.2400732,lng:-53.1805017},window.statesInfo={AC:{name:"Acre",sigla:"AC",metropolis:"Rio Branco",latitude:-8.77,longitude:-70.5},AL:{name:"Alagoas",sigla:"AL",metropolis:"Maceió",latitude:-9.71,longitude:-35.73},AM:{name:"Amazonas",sigla:"AM",metropolis:"Manaus",latitude:-3.07,longitude:-61.66},AP:{name:"Amapá",sigla:"AP",metropolis:"Macapá",latitude:1.41,longitude:-51.77},BA:{name:"Bahia",metropolis:"Salvador",latitude:-12.96,longitude:-38.51},CE:{name:"Ceará",sigla:"CE",metropolis:"Fortaleza",latitude:-3.71,longitude:-38.54},DF:{name:"Distrito Federal",sigla:"DF",metropolis:"Brasília",latitude:-15.83,longitude:-47.86},ES:{name:"Espírito Santo",sigla:"ES",metropolis:"Vitória",latitude:-19.19,longitude:-40.34},GO:{name:"Goiás",sigla:"GO",metropolis:"Goiânia",latitude:-16.64,longitude:-49.31},MA:{name:"Maranhão",sigla:"MA",metropolis:"São Luís",latitude:-2.55,longitude:-44.3},MG:{name:"Minas Gerais",sigla:"MG",metropolis:"Belo Horizonte",latitude:-18.1,longitude:-44.38},MS:{name:"Mato Grosso do Sul",sigla:"MS",metropolis:"Campo Grande",latitude:-20.51,longitude:-54.54},MT:{name:"Mato Grosso",sigla:"MT",metropolis:"Cuiabá",latitude:-12.64,longitude:-55.42},PA:{name:"Pará",sigla:"PA",metropolis:"Belém",latitude:-5.53,longitude:-52.29},PB:{name:"Paraíba",sigla:"PB",metropolis:"João Pessoa",latitude:-7.06,longitude:-35.55},PE:{name:"Pernambuco",sigla:"PE",metropolis:"Recife",latitude:-8.28,longitude:-35.07},PI:{name:"Piauí",sigla:"PI",metropolis:"Teresina",latitude:-8.28,longitude:-43.68},PR:{name:"Paraná",sigla:"PR",metropolis:"Curitiba",latitude:-24.89,longitude:-51.55},RJ:{name:"Rio de Janeiro",sigla:"RJ",metropolis:"Rio de Janeiro",latitude:-22.84,longitude:-43.15},RN:{name:"Rio Grande do Norte",sigla:"RN",metropolis:"Natal",latitude:-5.22,longitude:-36.52},RO:{name:"Rondônia",sigla:"RO",metropolis:"Porto Velho",latitude:-11.22,longitude:-62.8},RR:{name:"Roraima",sigla:"RR",metropolis:"Boa Vista",latitude:-1.89,longitude:-61.22},RS:{name:"Rio Grande do Sul",sigla:"RS",metropolis:"Porto Alegre",latitude:-30.01,longitude:-51.22},SC:{name:"Santa Catarina",sigla:"SC",metropolis:"Florianopolis",latitude:-27.33,longitude:-49.44},SE:{name:"Sergipe",sigla:"SE",metropolis:"Aracaju",latitude:-10.9,longitude:-37.07},SP:{name:"São Paulo",sigla:"SP",metropolis:"São Paulo",latitude:-23.55,longitude:-46.64},TO:{name:"Tocantins",sigla:"TO",metropolis:"Palmas",latitude:-10.25,longitude:-48.25}},window.storeFinder={origPlaces:[],origPlacesSortedByState:[],quantityPlaces:0,states:{},distance:function(e,t,a,o,n){if(e==a&&t==o)return 0;var l=Math.PI*e/180,s=Math.PI*a/180,i=t-o,r=Math.PI*i/180,c=Math.sin(l)*Math.sin(s)+Math.cos(l)*Math.cos(s)*Math.cos(r);return c>1&&(c=1),c=60*(c=180*(c=Math.acos(c))/Math.PI)*1.1515,"K"==n&&(c*=1.609344),"N"==n&&(c*=.8684),c},getPlaceById:function(e){for(var t,a=this,o=0;o{var a=e.state.toLowerCase(),o=t.state.toLowerCase();return ao?1:0}))},renderPlacesByState:function(e){var t=this;if("all"==e)t.emptyPlaces(),t.origPlaces.forEach(((e,a)=>{t.renderPlace(e,a+1)})),t.setPlaceMap(!1,!0,4),t.setQuantityPlaces(t.origPlaces);else if(e.state){var a=statesInfo[e.state],o=t.origPlaces.filter((t=>t.state==e.state));t.emptyPlaces(),o.forEach(((e,a)=>{t.renderPlace(e,a+1)})),t.setPlaceMap(a,!1,6),t.setQuantityPlaces(o)}},listAllStates:function(){var e=this.states,t=document.querySelector("[data-select-states]"),a=document.createElement("option");a.value="all",a.innerHTML="Selecionar Estado",t.append(a),this.origPlacesSortedByState.forEach(((a,o)=>{var n=a.state;if(!e[n]){e[n]={};var l=document.createElement("option");l.value=n,l.innerHTML=statesInfo[n].name,t.append(l)}}))},resetStateSelection:function(){var e=document.querySelector("[data-select-states]").querySelectorAll("option");e.forEach((t=>{t.selected&&"All"!=t.value&&(t.selected=!1,e[0].selected=!0)}))},setQuantityPlaces:function(e){var t=e.length,a=document.querySelector("[data-results-places-count]");console.info("_places",e),console.info("_places.length",e.length),t>1?a.innerHTML=`${e.length} Lojas encontradas`:1==t?a.innerHTML=`${e.length} Loja encontrada`:t<=0&&(a.innerHTML="Nenhuma loja encontrada")},emptyPlaces:function(){document.querySelector("[data-results-places-list]").innerHTML=""},renderPlace:function(e,t){const a=document.querySelector("[data-results-places-list]");var o=document.createElement("li");o.innerHTML=`\n
\n

${e.name}

\n

${e.address_line_1}, ${e.neighborhood} - ${e.city} - ${e.state}

\n

${e.first_phone}

\n Website

\n
Mostrar no mapa\n
\n `,o.classList.add("store-list-item"),a.append(o),a.scroll({top:0,left:0,behavior:"smooth"})},setPlaceMap:function(e,t,a){t?(window.mapPlaces.setZoom(a),window.mapPlaces.setCenter(initialLatLang)):(window.mapPlaces.setCenter({lat:Number(parseFloat(e.latitude)),lng:Number(parseFloat(e.longitude))}),window.mapPlaces.setZoom(a))},initMap:function(){var e=this;window.geocoder=new google.maps.Geocoder,window.mapPlaces=new google.maps.Map(document.getElementById("map-canvas"),{center:initialLatLang,scrollwheel:!0,mapTypeId:"roadmap",zoom:4,zoomControlOptions:{position:google.maps.ControlPosition.RIGHT_TOP,style:google.maps.ZoomControlStyle.LARGE}});const t=document.getElementById("pac-input");window.searchBox=new google.maps.places.SearchBox(t),window.mapPlaces.addListener("bounds_changed",(function(){window.searchBox.setBounds(window.mapPlaces.getBounds())})),window.searchBox.addListener("places_changed",(function(){var t,a=window.searchBox.getPlaces(),o=[];0!=a.length?(1==a.length&&(t=new google.maps.LatLngBounds,a.forEach((a=>{a.geometry.viewport?t.union(a.geometry.viewport):t.extend(a.geometry.location),o=e.findPlacesInMap(a),e.emptyPlaces(),o.forEach(((t,a)=>{e.renderPlace(t,a+1)})),e.setQuantityPlaces(o)}))),window.mapPlaces.fitBounds(t)):e.setPlaceMap(!1,!0,4)})),t.addEventListener("change",(function(){""==this.value&&(e.renderPlacesByState("all"),e.setQuantityPlaces(e.origPlaces),e.setPlaceMap(!1,!0,4))})),e.setMarkersAndClusters(e.origPlaces)},setMarkersAndClusters:function(e){var t=this,a=e.map((function(e,a){var o=a+1<9?[4,33]:a+1<100?[8,33]:[12,33],n=new MarkerWithLabel({position:{lat:Number(parseFloat(e.latitude)),lng:Number(parseFloat(e.longitude))},map:window.mapPlaces,draggable:!1,placeId:e.id,labelContent:'',labelAnchor:new google.maps.Point(o[0],o[1]),labelClass:"pin-label",labelInBackground:!1,icon:{url:"../images/pin.svg",scaledSize:new google.maps.Size(32,32)}});return google.maps.event.addListener(n,"click",(function(e){var a=t.getPlaceById(this.placeId);t.setPlaceMap(a,!1,17)})),n}));new MarkerClusterer(window.mapPlaces,a,{styles:[{url:"/images/cluster.svg",height:50,width:50,textColor:"#da9d00",textSize:22}],maxZoom:15})},findPlaceLocation:function(e){var t=this,a=[],o={lat:e.coords.latitude,lng:e.coords.longitude};window.geocoder.geocode({location:o,region:"BR"},(function(e,n){n==google.maps.GeocoderStatus.OK&&(a=t.findPlacesInMap(e[0],n),t.emptyPlaces(),a.forEach(((e,a)=>{t.renderPlace(e,a+1)})),t.setQuantityPlaces(a),t.setPlaceMap({latitude:o.lat,longitude:o.lng},!1,11),t.resetStateSelection())}))},findPlacesInMap:function(e){var t=this,a=e.geometry.location,o={lat:a.lat(),lng:a.lng()};const n=(e,a,o,n,l)=>{var s=t.distance(e,a,o,n,"K");return parseFloat(s){if(n(o.lat,o.lng,e.latitude,e.longitude,20))return e})),closest},init:function(e){var t=this;const a=document.querySelector("[data-results-map]"),o=document.querySelector("[data-results-places]");t.origPlaces=JSON.parse(JSON.stringify(e)),t.origPlacesSortedByState=JSON.parse(JSON.stringify(t.origPlaces)),t.quantityPlaces=t.origPlaces,t.sortPlacesByState(),t.initMap(),t.listAllStates(),t.renderPlacesByState("all");document.querySelectorAll("[data-place]");$(document).on("click","[data-place]",(function(e){e.preventDefault(),o.classList.remove("open"),a.classList.add("open");var n=t.getPlaceById($(this).data("place-id"));t.setPlaceMap(n,!1,17)})),document.querySelector("[data-select-states]").addEventListener("change",(e=>{e.preventDefault();const a=e.target.value;"all"==a?t.renderPlacesByState("all"):t.renderPlacesByState({state:a})})),document.querySelector("[data-geolocation]").addEventListener("click",(e=>{e.preventDefault();const a=e=>{t.findPlaceLocation(e)};navigator.geolocation?navigator.geolocation.getCurrentPosition(a):x.innerHTML="Geolocation is not supported by this browser."})),document.querySelector("[data-open-list]").addEventListener("click",(e=>{e.preventDefault(),o.classList.contains("open")||o.classList.add("open"),a.classList.contains("open")&&a.classList.remove("open")})),document.querySelector("[data-open-map]").addEventListener("click",(e=>{e.preventDefault(),a.classList.contains("open")||a.classList.add("open"),o.classList.contains("open")&&o.classList.remove("open")}))}};document.addEventListener("DOMContentLoaded",(()=>{$.getJSON("/locais",(function(e){var t;t=e,storeFinder.init(t)}))}))}(); //# sourceMappingURL=storeFinder.js.map