!function(e){"use strict";var n=new window.JetEngineMapsProvider,t={markersData:{},clusterersData:{},mapProvider:n,preventPanToMarker:!1,init:function(){var n={"jet-engine-maps-listing.default":t.widgetMap};e.each(n,function(e,n){var t;null===(t=window.elementorFrontend)||void 0===t||null===(t=t.hooks)||void 0===t||t.addAction("frontend/element_ready/"+e,n)}),window.addEventListener("jet-engine/maps/google/info-box-open",t.initHandlersOnEvent),elementorFrontend.elements.$window.on("elementor/nested-tabs/activate",t.nestedWidgetsReInit)},initBlocks:function(n){n=n||e("body"),window.JetPlugins.init(n,[{block:"jet-engine/maps-listing",callback:t.widgetMap}])},initBricks:function(n){n=n||e("body"),window.JetPlugins.init(n,[{block:"jet-engine/bricks-maps-listing",callback:t.bricksWidgetMap}])},commonInit:function(){void 0===window.JetEngine?e(window).on("jet-engine/frontend/loaded",t.registerUrlAction):t.registerUrlAction()},bricksWidgetMap:function(e){t.isBricksHiddenWrap(e)?t.initMapAfterDisplayingWidgets(e[0]):t.widgetMap(e)},nestedWidgetsReInit:function(i,o){"mapbox"===n.getId()&&e(o).find('[data-widget_type="jet-engine-maps-listing.default"]:not(.nested-reinited)').each(function(n,i){var o=e(i).find(".jet-map-listing"),r=e(i);o.attr("id",""),t.widgetMap(r),r.addClass("nested-reinited")})},widgetMap:function(i){var o,r,a,s,l,d,c,u,p,m,g,v,k,f,w=i.find(".jet-map-listing"),M=i.data("id")||i.parent(".jet-map-listing-block").data("id"),P=[];if(w.length&&!w.attr("id")){w.attr("id","map_"+M+"_"+Math.floor(Math.random()*Math.floor(999)));var h=function(e){var i,o,r=void 0!==c.popupOpenOn?c.popupOpenOn:"click",s={position:{lat:e.latLang.lat,lng:e.latLang.lng},map:a,shadow:!1};e.custom_marker?s.content=e.custom_marker:c.marker&&"image"===c.marker.type?s.content='<img src="'+c.marker.url+'" class="jet-map-marker-image" alt="" style="cursor: pointer;">':c.marker&&"text"===c.marker.type?s.content=c.marker.html.replace("_marker_label_",e.label):c.marker&&"icon"===c.marker.type&&(s.content=c.marker.html),s.markerClustering=e.markerClustering,i=n.addMarker(s),P.push(i),t.addMarkerData(e.id,i,M),d&&i&&d.extend(n.getMarkerPosition(i)),o=n.addPopup({position:{lat:e.latLang.lat,lng:e.latLang.lng},width:p,offset:m,map:a}),n.closePopup(o,function(){var e;null!==(e=u)&&void 0!==e&&e.map&&(u.map.isInternalInteraction=!1),u=!1,a.jetPlugins.isOpeningPopup=!1},a),n.openPopup(i,function(n){var r,s;if(n&&n.stopPropagation&&n.stopPropagation(),a.jetPlugins.isOpeningPopup=!0,clearTimeout(null===(r=a.jetPlugins)||void 0===r?void 0:r.isOpeningPopupTimer),o.contentIsSet()){var l,d;if(u===o)return;return u&&u.close(),j(i),o.setMap(a),o.draw(),o.open(a,i),t.initHandlers(w.find(".jet-map-box")),u=o,void(a.jetPlugins.isOpeningPopupTimer=setTimeout(function(){return a.jetPlugins.isOpeningPopup=!1},+(null!==(l=null===(d=JetEngineSettings)||void 0===d||null===(d=d.mapSyncFilter)||void 0===d?void 0:d.debounceTime)&&void 0!==l?l:500)+10))}c.popupPreloader&&(u&&(u.close(),u=!1),o.setMap(a),o.draw(),o.setContent('<div class="jet-map-preloader is-active"><div class="jet-map-loader"></div></div>',!1),o.open(a,i));var p=c.querySeparator||"?",m=c.api+p+"listing_id="+c.listingID+"&post_id="+e.id+"&source="+c.source+"&geo_query_distance="+e.geo_query_distance,g=w.data("queried-id");if(g&&(m+="&queried_id="+g),M&&(m+="&element_id="+M),null!==(s=window.JetSmartFilters)&&void 0!==s&&s.filterGroups){var v=window.JetSmartFilters.filterGroups;for(var k in v){var f;if(k.includes("jet-engine-maps/")&&(null===(f=v[k])||void 0===f||null===(f=f.$provider)||void 0===f?void 0:f[0])===w[0]){var P=v[k].getUrl(!0);P&&(m+="&jsf="+P.replace("?jsf=",""));break}}}jQuery.ajax({url:m,type:"GET",dataType:"json",beforeSend:function(e){var n=window.JetEngineSettings?window.JetEngineSettings.restNonce:c.restNonce;e.setRequestHeader("X-WP-Nonce",n)}}).done(function(e){var n,r;u&&u.close(),o.setMap(a),o.draw(),o.setContent(e.html,!1),o.open(a,i),t.initHandlers(w.find(".jet-map-box")),u=o,a.jetPlugins.isOpeningPopupTimer=setTimeout(function(){return a.jetPlugins.isOpeningPopup=!1},+(null!==(n=null===(r=JetEngineSettings)||void 0===r||null===(r=r.mapSyncFilter)||void 0===r?void 0:r.debounceTime)&&void 0!==n?n:500)+10),t.reinitBricksScripts(M)}).fail(function(e){var n,t;u&&u.close(),o.setContent(e,!0),o.open(a,i),u=o,a.jetPlugins.isOpeningPopupTimer=setTimeout(function(){return a.jetPlugins.isOpeningPopup=!1},+(null!==(n=null===(t=JetEngineSettings)||void 0===t||null===(t=t.mapSyncFilter)||void 0===t?void 0:t.debounceTime)&&void 0!==n?n:500)+10)}),j(i)},o,a,r)},j=function(e){c.centeringOnOpen&&(t.preventPanToMarker||a.jetPlugins.autoCenterBlock||(n.panTo({map:a,position:n.getMarkerPosition(e),zoom:!!c.zoomOnOpen&&+c.zoomOnOpen}),a.isInternalInteraction=!1))},b=function(){d&&(d.isEmpty&&d.isEmpty()||n.setAutoCenter({map:a,settings:c,bounds:d}))};s=w.data("init"),l=w.data("markers"),c=w.data("general"),(v=c.autoCenter)||(k=c.customCenter),g={zoomControl:!0,fullscreenControl:!0,streetViewControl:!0,mapTypeControl:!0},g=e.extend({},g,s),!v&&k&&(g.center=k,g.zoom=c.customZoom),c.maxZoom&&(g.maxZoom=c.maxZoom),c.minZoom&&(g.minZoom=c.minZoom),c.styles&&(g.styles=c.styles),c.advanced&&(c.advanced.zoom_control?g.gestureHandling=c.advanced.zoom_control:g.scrollwheel=!1,void 0!==c.advanced.scrollwheel&&(g.scrollwheel=c.advanced.scrollwheel)),null!==(r=(o=a=n.initMap(w[0],g)).jetPlugins)&&void 0!==r||(o.jetPlugins={}),d=n.initBounds(),p=parseInt(c.width,10),m=parseInt(c.offset,10),w.data("mapInstance",a),c.user_location_enabled&&navigator.geolocation&&navigator.geolocation.watchPosition(function(t){var i=c.user_location_marker;if(i){a.jetPlugins.userLocationMarker&&n.removeMarker(a.jetPlugins.userLocationMarker);var o="Your Location",r={lat:t.coords.latitude,lng:t.coords.longitude};switch(i.type){case"image":o='<img src="'+i.url+'" class="jet-map-user-location-marker-image '+(i.additional_classes||"")+'" alt="" style="cursor: pointer;">';break;case"text":o=i.html.replace("_marker_label_",c.user_location_label);break;case"icon":o=i.html}a.jetPlugins.userLocationMarker=n.addMarker({content:o.replace("cursor: pointer;","cursor: default;"),position:r,map:a,shadow:!1}),e(window).trigger("jet-engine/frontend-maps/user-position/update",[w,r,n])}},function(n){e(window).trigger("jet-engine/frontend-maps/user-position/error",[n,w])},{enableHighAccuracy:!0,maximumAge:30,timeout:1/0}),l&&e.each(l,function(e,n){n.markerClustering=c.markerClustering,h(n)}),!v&&k||b(),c.markerClustering&&(f=n.getMarkerCluster({map:a,markers:P,clustererImg:c.clustererImg,customClusterImg:c.customClusterImg||[],clusterMaxZoom:c.clusterMaxZoom,clusterRadius:c.clusterRadius}),t.clusterersData[M]=f),i.on("jet-filter-custom-content-render",function(e,n){var t,i,o;null!==(i=(t=a.jetPlugins).JetSmartFilters)&&void 0!==i||(t.JetSmartFilters={}),a.jetPlugins.JetSmartFilters.markers=n.markers,y(null!==(o=n.markers)&&void 0!==o?o:[])});var y=function(e){u&&u.close(),f&&n.removeMarkers(f,P),P.forEach(function(e){n.removeMarker(e)}),P.splice(0,P.length),t.restoreMarkerData(),d=n.initBounds();var i=w.data("general");if(null!=e&&e.length){for(var o=0;o<e.length;o++){var r=e[o];r.markerClustering=i.markerClustering,h(r)}i.markerClustering&&f&&n.addMarkers(f,P)}a.jetPlugins.autoCenterBlock||!v&&k||b(),a.jetPlugins.autoCenterBlock=!1};i.on("jet-engine/frontend-maps/toggle-marker-clustering",function(){var e,n=w.data("general"),t=(null===(e=a)||void 0===e||null===(e=e.jetPlugins)||void 0===e||null===(e=e.JetSmartFilters)||void 0===e?void 0:e.markers)||l;n.markerClustering=!n.markerClustering,w.data("general",n),a.jetPlugins.autoCenterBlock=!0,y(t)})}},addMarkerData:function(e,n,t){this.markersData[e]||(this.markersData[e]=[]),this.markersData[e].push({marker:n,clustererIndex:t})},restoreMarkerData:function(){this.markersData={}},registerUrlAction:function(){window.JetEngine.customUrlActions.addAction("open_map_listing_popup",t.openMapListingPopup),window.JetEngine.customUrlActions.addAction("toggle_marker_clustering",t.toggleMarkerClustering)},toggleMarkerClustering:function(n){if(n.map_id){var t=e("#".concat(n.map_id));if(t.length){var i=t.find(".jet-map-listing")[0]||!1;i&&e(i).trigger("jet-engine/frontend-maps/toggle-marker-clustering")}}},openMapListingPopup:function(i){if(i.id){var o=i.id,r=!!i.zoom&&+i.zoom;if(void 0!==t.markersData[o]){r&&(t.preventPanToMarker=!0);for(var a=0;a<t.markersData[o].length;a++){var s,l=t.markersData[o][a].marker,d=n.getMarkerMap(l),c=t.markersData[o][a].clustererIndex||!1,u=t.clusterersData[c]||!1;if(!d||null!=n&&null!==(s=n.isMarkerClusterOpen)&&void 0!==s&&s.call(n,l,u)?n.fitMapToMarker(l,u,r):n.panTo({map:d,position:n.getMarkerPosition(l),zoom:r}),n.triggerOpenPopup(l),i.scroll_to_map){var p=n.getContainer(d),m=e(p).offset();e("html, body").animate({scrollTop:m.top-30})}}t.preventPanToMarker=!1}}},customInitMapBySelector:function(n){var i=n.closest('[data-is-block="jet-engine/maps-listing"]'),o=n.closest('[data-is-block="jet-engine/bricks-maps-listing"]'),r=n.closest(".elementor-widget-jet-engine-maps-listing");i.length&&t.widgetMap(i),o.length&&t.bricksWidgetMap(o),r.length&&(window.elementorFrontend.hooks.doAction("frontend/element_ready/widget",r,e),window.elementorFrontend.hooks.doAction("frontend/element_ready/global",r,e),window.elementorFrontend.hooks.doAction("frontend/element_ready/"+r.data("widget_type"),r,e))},initHandlers:function(t){var i;window.JetPlugins.init(t),null!==(i=window)&&void 0!==i&&null!==(i=i.elementorFrontend)&&void 0!==i&&i.hooks&&t.find("[data-element_type]").each(function(){var n=e(this),t=n.data("element_type");t&&("widget"===t&&(t=n.data("widget_type"),window.elementorFrontend.hooks.doAction("frontend/element_ready/widget",n,e)),window.elementorFrontend.hooks.doAction("frontend/element_ready/global",n,e),window.elementorFrontend.hooks.doAction("frontend/element_ready/"+t,n,e))}),window.JetPopupFrontend&&window.JetPopupFrontend.initAttachedPopups&&window.JetPopupFrontend.initAttachedPopups(t),window.JetEngine&&n.getId&&"google"===n.getId()&&JetEngine.commonEvents(t)},initHandlersOnEvent:function(n){n.detail&&n.detail.container&&t.initHandlers(e(n.detail.container))},initMapAfterDisplayingWidgets:function(n){new IntersectionObserver(function(n,i){n.forEach(function(n){n.isIntersecting&&(i.unobserve(n.target),t.widgetMap(e(n.target)))})}).observe(n)},isBricksHiddenWrap:function(e){var n=e[0].closest(".brxe-accordion-nested, .brxe-tabs-nested"),t=e[0].closest(".listening, .tab-pane");return!(!n||!t||t.classList.contains("brx-open"))},dispatchMapSyncEvent:function(e,i){var o,r,a=n.getContainer(e);clearTimeout(null==a?void 0:a.JetEngineMapDebounceTimer);var s=+(null!==(o=null===(r=JetEngineSettings)||void 0===r||null===(r=r.mapSyncFilter)||void 0===r?void 0:r.debounceTime)&&void 0!==o?o:500);isFinite(s)||(s=1e3),a.JetEngineMapDebounceTimer=setTimeout(t.dispatchMapSyncEventImmediate,s,a,i,e)},dispatchMapSyncEventImmediate:function(e,t,i){if(i.isInternalInteraction)i.isInternalInteraction=!1;else if(!i.jetPlugins.isOpeningPopup){var o=new CustomEvent("jet-engine/maps/update-sync-bounds",{detail:{div:e,bounds:t,map:i,mapProvider:n}});document.dispatchEvent(o)}},dispatchMapSyncInitEvent:function(e){var t=new CustomEvent("jet-engine/maps/init-sync-bounds",{detail:{map:e,div:n.getContainer(e),mapProvider:n}});document.dispatchEvent(t)},reinitBricksScripts:function(e){window.bricksIsFrontend&&document.dispatchEvent(new CustomEvent("bricks/ajax/query_result/displayed",{detail:{queryId:e||null}}))}};e(window).on("elementor/frontend/init",t.init),window.addEventListener("DOMContentLoaded",function(){t.initBlocks(),t.initBricks()}),window.jetEngineMapsBricks=function(){t.initBricks()},window.JetEngineMaps=t,t.commonInit(),e(window).trigger("jet-engine/frontend-maps/loaded")}(jQuery);