"use strict";!function(t){DRTS.Location=DRTS.Location||{},DRTS.Location.map=DRTS.Location.map||function(e){var a=e.getOptions();if(!t(DRTS).data("initialized-"+e.getContainerSelector())){var i=e.getContainer().find(".drts-view-entities-container");if(i.length>0){t(DRTS).on("loaded.sabai",(function(i,n){n.target.hasClass("drts-view-entities-container")&&n.target.find(".drts-location-entities-map-container").length&&(!n.append&&n.target.hasClass("drts-location-map-full")&&t(".drts-location-entities-container").animate({scrollTop:0},500,"swing"),n.response.markers&&Array.isArray(n.response.markers)&&(n.append||e.clearMarkers(),e.setMarkers(n.response.markers).draw(n.response.draw_options)),e.getContainer().find(".drts-location-map-control > i").removeClass("fa-spin"),n.append&&a.sticky&&DRTS.Location.stickyScroll(e,!1,!1,!0))}));i.hoverIntent((function(a){a.preventDefault();var i=e.getContainer().find(".drts-location-map-container-container");if(i.length&&!i.is(":hidden")){var n=t(a.currentTarget),o=void 0,r=void 0;if(n.hasClass("drts-entity"))o=n,r=0;else{if(!(o=n.closest(".drts-entity")).length)return;r=n.data("key")}var s=e.getMarker(o.data("entity-id")+"-"+r);s&&e.clickMarker(s,!0)}}),(function(){}),".drts-map-marker-trigger, .drts-entity")}e.getContainer().on("marker_click.sabai",(function(t,i){if(e.getContainer().find(".drts-highlighted").removeClass("drts-highlighted"),a.scroll_to_item&&i.marker){var n=void 0;if(n=i.marker.get?i.marker.get("entity_id"):i.marker._entity_id){var o=e.getContainer().find('.drts-entity[data-entity-id="'+n+'"]');o.length&&o.is(":visible")&&DRTS.Location.scrollToItem(o,(function(){o.addClass("drts-highlighted")}),a.sticky)}}})),t(DRTS).data("initialized-"+e.getContainerSelector(),!0)}DRTS.Location.enableMapControls(e,a),a.sticky&&DRTS.Location.stickyScroll(e)},t(DRTS).on("map_drawn.sabai",(function(e,a){a.map&&a.map.getContainer().find(".drts-map-map").closest(".drts-location-entities-map-container").length&&(DRTS.Location.map(a.map),t(a.map.getContainerSelector()+"-view-filter-form").on("shown.bs.collapse hidden.bs.collapse",(function(){DRTS.Location.stickyScroll(a.map,!0),DRTS.Location.stickyScroll(a.map)})))})),DRTS.Location.stickyScroll=function(e,a,i,n){if(t.fn.stickyScroll){var o=e.getContainer().find(".drts-map-container");o.data("sticky-default-offset")||setTimeout((function(){o.data("sticky-default-offset",o.offset().top)}),200);var r=e.getContainer().attr("id")||"stickyScroll";if(a)o.stickyScroll({namespace:r,remove:!0});else{var s=void 0,l=e.getContainer().find(".drts-location-map-container-container");s=l.data("sticky-scroll-top")?l.data("sticky-scroll-top"):t("#wpadminbar").length>0&&"fixed"===t("#wpadminbar").css("position")?t("#wpadminbar").outerHeight():0,l.length;var d={topSpacing:s,stopper:e.getContainer().find(".drts-location-sticky-scroll-stopper"),namespace:r,useDefaultOffset:n,parent:".drts-location-map-container-container",child:".drts-map-map"};if(void 0!==i&&i||"undefined"==typeof imagesLoaded)o.stickyScroll(d);else{var c=function(){var e=t("body img");e.length?e.imagesLoaded((function(){o.stickyScroll(d)})):o.stickyScroll(d)};"complete"===document.readyState?c():t(document).ready((function(){c()}))}}}},DRTS.Location.enableMapControls=function(e,a){if(!e.getContainer().find(".drts-location-map-controls").length){var i=t('<div class="drts-location-map-controls"></div>');if(a.fullscreen){var n=t('<button type="button" class="'+DRTS.bsPrefix+"d-none "+DRTS.bsPrefix+"d-sm-block "+DRTS.bsPrefix+"btn "+DRTS.bsPrefix+"btn-sm "+DRTS.bsPrefix+'btn-light drts-location-map-control" data-action="fullscreen" rel="sabaitooltip" data-placement="right"><i class="fas fa-expand"></i></button>'),o=t('<button type="button" class="'+DRTS.bsPrefix+"d-none "+DRTS.bsPrefix+"d-sm-block "+DRTS.bsPrefix+"btn "+DRTS.bsPrefix+"btn-sm "+DRTS.bsPrefix+'btn-light drts-location-map-control" data-action="exit_fullscreen" rel="sabaitooltip" data-placement="right"><i class="fas fa-compress"></i></button>');i.append(n.prop("title",a.text_control_fullscreen||"Full screen")),i.append(o.prop("title",a.text_control_exit_fullscreen||"Exit full screen"))}var r=t('<button type="button" class="'+DRTS.bsPrefix+"btn "+DRTS.bsPrefix+"btn-sm "+DRTS.bsPrefix+'btn-light drts-location-map-control" style="display:none;" data-action="update" rel="sabaitooltip" data-placement="right"><i class="fas fa-arrows-rotate"></i></button>'),s=t('<button type="button" class="'+DRTS.bsPrefix+"btn "+DRTS.bsPrefix+"btn-sm "+DRTS.bsPrefix+'btn-light drts-location-map-control" style="display:none;" data-action="geolocate" rel="sabaitooltip" data-placement="right"><i class="fas fa-location-arrow"></i></button>');i.append(r.prop("title",a.text_control_search_this_area||"Search this area")),i.append(s.prop("title",a.text_control_search_my_location||"Search my location")),e.getContainer().find(".drts-map-container").prepend(i);var l=t('.drts-view-filter-form[data-entities-container="'+e.getContainerSelector()+'"]'),d=!1;if(l.length>0){var c=l.find(".drts-view-filter-form-field-type-location-address");if(c.length>0&&(d=!0,c.data("search-my-loc")&&(!navigator.geolocation||"https:"!==document.location.protocol&&"localhost"!==document.location.hostname||i.find('.drts-location-map-control[data-action="geolocate"]').show()),c.data("search-this-area")))if(c.data("search-this-area-drag")){var f=void 0;e.getContainer().on("map_dragend.sabai",(function(a,i){f=setTimeout((function(){t(".drts-location-map-control[data-action='update']",e.getContainerSelector()).click()}),1e3)})),e.getContainer().on("map_mousedown.sabai",(function(t,e){f&&clearTimeout(f)}))}else i.find('.drts-location-map-control[data-action="update"]').show()}var p=e.getContainer().find(".drts-map-map"),m=p.outerHeight(),u=p.outerWidth();return i.on("click",".drts-location-map-control",(function(i){i.preventDefault();var n=t(this);switch(n.data("action")){case"update":case"geolocate":if(!d)break;var o=t('.drts-view-filter-form[data-entities-container="'+e.getContainerSelector()+'"]');if(!o.length)return this;switch(o.find(".drts-view-filter-form-field-type-location-address").each((function(){DRTS.View.removeFilter(o,t(this).data("view-filter-name"))})),n.find("> i").addClass("fa-spin"),n.data("action")){case"update":var r=e.getSouthWest(),s=e.getNorthEast();o.find(".drts-location-text-viewport").val([r[0],r[1],s[0],s[1]].join(",")).end().find(".drts-location-text-center").val("").end().find(".drts-location-text-radius").val("").end().find(".drts-location-text-zoom").val(e.getZoom()).end().find(".drts-location-text-input").val(c.data("search-this-area-label")),o.find('input[name^="search_location_location"]').val("").end().submit();break;case"geolocate":navigator.geolocation.getCurrentPosition((function(t){var e=o.find(".drts-location-text-radius");o.find(".drts-location-text-viewport").val("").end().find(".drts-location-text-center").val(t.coords.latitude+","+t.coords.longitude).end().find(".drts-location-text-zoom").val(7).end().find(".drts-location-text-input").val(c.data("search-my-loc-label")),e.length&&!e.val()&&e.val(e.data("default-radius")>0?e.data("default-radius"):5),o.find('input[name^="search_location_location"]').val("").end().submit()}),(function(t){n.find("> i").removeClass("fa-spin"),1!==t.code&&DRTS.flash(t.message+" ("+t.code+")","danger")}),{enableHighAccuracy:!0,timeout:1e4,maximumAge:1/0})}break;case"fullscreen":case"exit_fullscreen":var l=e.getContainer().find(".drts-view-entities-container"),f=l.hasClass("drts-view-entities-container-map"),g=f?null:l.find(".drts-location-map-container-container"),h=l.find(".drts-location-entities-map-container");switch(n.data("action")){case"fullscreen":m=p.outerHeight(),u=p.outerWidth();var v=t("#wpadminbar").length?t("#wpadminbar").outerHeight(!0):0;h.length>0&&h.data("fullscreen-offset")&&(v=h.data("fullscreen-offset"));var b=t(window).outerHeight()-v;l.addClass("drts-location-map-full").css("top",v).toggleClass("drts-location-map-full-no-filter",0===t(e.getContainerSelector()+"-view-filter-form").length),f||(l.find(".drts-location-entities-container").outerHeight(b).find(".drts-location-entities").before(l.find(".drts-view-entities-header")).before(l.find(".drts-view-entities-filter-form")).after(l.find(".drts-view-entities-footer")).end().end(),g.length&&(l.find(".drts-location-entities-with-map").removeClass("drts-location-entities-with-map-top drts-location-entities-with-map-bottom").end().find(".drts-location-entities-container").removeClass(DRTS.bsPrefix+"col-sm-"+(12-g.data("span"))).addClass(DRTS.bsPrefix+"col-sm-"+(12-g.data("fullscreen-span"))),g.removeClass(DRTS.bsPrefix+"col-sm-"+g.data("span")).addClass(DRTS.bsPrefix+"col-sm-"+g.data("fullscreen-span")),a.sticky&&DRTS.Location.stickyScroll(e,!0))),l.find(".drts-map-map").outerWidth("100%").outerHeight(b),t(window).on("resize.sabai",{container:l,offset:v},(function(e){var a=t(window).outerHeight()-e.data.offset;e.data.container.find(".drts-location-entities-container").outerHeight(a).end().find(".drts-map-map").outerHeight(a)})),t("body").css("overflow","hidden").addClass("_drts-location-map-full"),e.onResized(),t(DRTS).trigger("location_fullscreen.sabai",{container:e.getContainer()});break;case"exit_fullscreen":l.removeClass("drts-location-map-full drts-location-map-full-no-filter").find(".drts-map-map").outerWidth(u).outerHeight(m),f||(l.find("> .drts-view-entities").before(l.find(".drts-view-entities-header")).before(l.find(".drts-view-entities-filter-form")).after(l.find(".drts-view-entities-footer")).end().find(".drts-location-entities-container").css("height","100%"),g.length&&(l.find(".drts-location-entities-with-map").toggleClass("drts-location-entities-with-map-top","top"===g.data("position")).toggleClass("drts-location-entities-with-map-bottom","bottom"===g.data("position")).end().find(".drts-location-entities-container").removeClass(DRTS.bsPrefix+"col-sm-"+(12-g.data("fullscreen-span"))).addClass(DRTS.bsPrefix+"col-sm-"+(12-g.data("span"))),g.removeClass(DRTS.bsPrefix+"col-sm-"+g.data("fullscreen-span")).addClass(DRTS.bsPrefix+"col-sm-"+g.data("span")),a.sticky&&DRTS.scrollTo(l,null,null,(function(){DRTS.Location.stickyScroll(e,!1,!0)})))),t(window).off("resize.sabai"),t("body").css("overflow","").removeClass("_drts-location-map-full"),e.onResized(),t(DRTS).trigger("location_exit_fullscreen.sabai",{container:e.getContainer()})}e.draw()}})),t(window).on("entity_reset_form_field.sabai",(function(a,i){if("filter_location_address"===i){var n=t('.drts-view-filter-form[data-entities-container="'+e.getContainerSelector()+'"]');if(!n.length)return this;n.find(".drts-location-text-viewport").val("").end().find(".drts-location-text-center").val("").end().find(".drts-location-text-radius").val("").end().find(".drts-location-text-zoom").val("").end().find(".drts-location-text-input").val("")}})),i}},DRTS.Location.scrollToItem=function(e,a,i){var n=e.closest(".drts-view-entities-container");if(n.length&&!n.hasClass("drts-view-entities-container-map"))if(n.hasClass("drts-location-map-full")){var o=n.find(".drts-location-entities-container");o.length&&o.animate({scrollTop:o.scrollTop()-o.offset().top+e.offset().top},500,"swing",a)}else{var r,s=n.find(".drts-location-map-container-container");s.data("scroll-offset")>0?r=s.data("scroll-offset"):(r=t("#wpadminbar").length>0&&"fixed"===t("#wpadminbar").css("position")?t("#wpadminbar").outerHeight():0,r+=10),i&&"xs"!==DRTS.getScreenSize()&&"top"===s.data("position")&&(r+=s.find(".drts-map-map").outerHeight()),t("html,body").animate({scrollTop:e.offset().top-r},500,"swing",a)}}}(jQuery);