(function($, w, d){
'use strict';
var map={
init: function($scope, $){
let
$map=$scope.find('.mihdan-elementor-yandex-maps'),
map_id=$map.data('map_id'),
config=$map.data('map_config'),
device=w.elementorFrontend.getCurrentDeviceMode()||'desktop',
timeout=w.elementorFrontend.isEditMode() ? 100:5000,
mapType=config.type,
zoom=config.zoom,
api_key=w.mihdan_elementor_yandex_maps_config.api_key,
map_lat=config.lat,
map_lng=config.lng,
language=config.language||'ru',
region=config.region||'RU',
ruler_control=config.rulerControl,
search_control=config.searchControl,
traffic_control=config.trafficControl,
type_selector=config.typeSelector,
zoom_control=config.zoomControl,
geolocation_control=config.geolocationControl,
route_editor=config.routeEditor,
fullscreen_control=config.fullscreenControl,
route_button_control=config.routeButtonControl,
route_panel_control=config.routePanelControl,
enable_save_map=config.enableSaveMap,
disable_scroll_zoom=config.disableScrollZoom,
disable_dbl_click_zoom=config.disableDblClickZoom,
disable_drag=config.disableDrag,
disable_left_mouse_button_magnifier=config.disableLeftMouseButtonMagnifier,
disable_right_mouse_button_magnifier=config.disableRightMouseButtonMagnifier,
disable_multi_touch=config.disableMultiTouch,
disable_route_editor=config.disableRouteEditor,
disable_ruler=config.disableRuler,
disable_lazy_load=config.disableLazyLoad,
enable_object_manager=config.enableObjectManager,
enable_balloon_panel=config.enableBalloonPanel==='yes',
infowindow_max_width=parseInt(config.infoWindowMaxWidth, 10),
controls=[],
ns='mihdan_elementor_yandex_maps_ns_' + map_id,
map='mihdan_elementor_yandex_maps_map_' + map_id,
loaded=false;
if(disable_lazy_load==='yes'){
timeout=0;
}
const lazyLoad=function (){
if(loaded){
return;
}
const
script_id='mihdan_elementor_yandex_maps_script_' + map_id,
script=document.getElementById(script_id);
if(script){
script.parentNode.removeChild(script);
}
const
f=d.getElementsByTagName('script')[0],
j=d.createElement('script');
j.async=true;
j.id=script_id;
j.src='https://api-maps.yandex.ru/2.1/?lang=' + language + '_' + region + '&source=admin&apikey=' + api_key + '&onload=ymaps_ready_' + map_id + '&ns=' + ns;
f.parentNode.insertBefore(j, f);
loaded=true;
};
const event_options={
once: true,
passive: true,
capture: true
};
document.addEventListener('scroll', lazyLoad, event_options);
document.addEventListener('mouseover', lazyLoad, event_options);
document.addEventListener('mousemove', lazyLoad, event_options);
document.addEventListener('touchstart', lazyLoad, event_options);
document.addEventListener('touchmove', lazyLoad, event_options);
setTimeout(lazyLoad, timeout);
if(w['ymaps_ready_' + map_id]){
return;
}
w['ymaps_ready_' + map_id]=function (){
if('yes'===ruler_control){
controls.push('rulerControl');
}
if('yes'===search_control){
controls.push('searchControl');
}
if('yes'===traffic_control){
controls.push('trafficControl');
}
if('yes'===type_selector){
controls.push('typeSelector');
}
if('yes'===zoom_control){
controls.push('zoomControl');
}
if('yes'===geolocation_control){
controls.push('geolocationControl');
}
if('yes'===route_editor){
controls.push('routeEditor');
}
if('yes'===fullscreen_control){
controls.push('fullscreenControl');
}
if('yes'===route_button_control){
controls.push('routeButtonControl');
}
if('yes'===route_panel_control){
controls.push('routePanelControl');
}
w[ map ]=new w[ ns ].Map($map.attr('id'),
{
center: [ parseFloat(map_lat), parseFloat(map_lng) ],
zoom: parseInt(zoom[ device ]||10),
type: 'yandex#' + mapType,
controls: controls
},
{
searchControlProvider: 'yandex#search'
}
);
let lastOpenedBalloon=false;
if('yes'===disable_scroll_zoom){
w[ map ].behaviors.disable('scrollZoom');
}
if('yes'===disable_dbl_click_zoom){
w[ map ].behaviors.disable('dblClickZoom');
}
if('yes'===disable_drag){
w[ map ].behaviors.disable('drag');
}
if('yes'===disable_left_mouse_button_magnifier){
w[ map ].behaviors.disable('leftMouseButtonMagnifier');
}
if('yes'===disable_right_mouse_button_magnifier){
w[ map ].behaviors.disable('rightMouseButtonMagnifier');
}
if('yes'===disable_multi_touch){
w[ map ].behaviors.disable('multiTouch');
}
if('yes'===disable_route_editor){
w[ map ].behaviors.disable('routeEditor');
}
if('yes'===disable_ruler){
w[ map ].behaviors.disable('ruler');
}
var markersLocations=config.locations;
if('yes'===enable_object_manager){
var objectManager=new w[ ns ].ObjectManager({
clusterize: true,
preset: markersLocations.clusterPreset,
geoObjectBalloonMaxWidth: infowindow_max_width,
}
);
if(enable_balloon_panel===false){
objectManager.objects.options.set('balloonPanelMaxMapArea', 0);
}
objectManager.add(markersLocations);
w[ map ].geoObjects.add(objectManager);
}else{
$.each(markersLocations.features,
function(index, Element){
var options={};
if(Element.options.iconImage){
const icon_size=parseInt(Element.options.iconImageWidth, 10);
options.iconLayout='default#imageWithContent';
options.iconImageHref=Element.options.iconImage;
options.iconImageSize=[
icon_size,
icon_size
];
options.iconImageOffset=[
-(icon_size / 2),
-(icon_size / 2)
];
}else{
options.preset=Element.options.preset;
}
options.balloonMaxWidth=infowindow_max_width;
if(enable_balloon_panel===false){
options.balloonPanelMaxMapArea=0;
}
var placemark=new w[ ns ].Placemark([
parseFloat(Element.geometry.coordinates[0]),
parseFloat(Element.geometry.coordinates[1])
],
{
hintContent: Element.properties.hintContent,
balloonContentHeader: Element.properties.balloonContentHeader,
balloonContentBody: Element.properties.balloonContentBody,
balloonContentFooter: Element.properties.balloonContentFooter,
iconContent: Element.properties.iconContent,
iconCaption: Element.properties.iconCaption
},
options
);
w[ map ].geoObjects.add(placemark);
if('yes'===Element.options.balloonIsOpened){
placemark.balloon.open();
}}
);
}
const getParam=function(name, location){
location=location||window.location.hash;
const res=location.match(new RegExp('[#&]' + name + '=([^&]*)', 'i'));
return(res&&res[1] ? res[1]:false);
};
const setLocationHash=function (){
var params=[
'type=' + w[ map ].getType().split('#')[1],
'center=' + w[ map ].getCenter(),
'zoom=' + w[ map ].getZoom()
];
if(w[ map ].balloon.isOpen()){
params.push('open=' + lastOpenedBalloon);
}
window.location.hash=params.join('&');
};
const setMapStateByHash=function (){
const hashType=getParam('type'),
hashCenter=getParam('center'),
hashZoom=getParam('zoom'),
open=getParam('open');
if(hashType){
w[ map ].setType('yandex#' + hashType);
}
if(hashCenter){
w[ map ].setCenter(hashCenter.split(','));
}
if(hashZoom){
w[ map ].setZoom(hashZoom);
}
if(open){
}};
if('yes'===enable_save_map){
w[ map ].events.add([ 'boundschange', 'typechange', 'balloonclose' ],
setLocationHash
);
setMapStateByHash();
}};}};
$(w).on('elementor/frontend/init',
function(){
elementorFrontend.hooks.addAction('frontend/element_ready/yandex-maps.default', map.init);
}
);
})(window.jQuery, window, document);
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=115)}({115:function(e,t,n){"use strict";n.r(t);var r=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var o=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var i=function(e,t){return function(n,i,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if(o(n)&&r(i))if("function"==typeof a)if("number"==typeof s){var c={callback:a,priority:s,namespace:i};if(l[n]){var u,d=l[n].handlers;for(u=d.length;u>0&&!(s>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(e){e.name===n&&e.currentIndex>=u&&e.currentIndex++}))}else l[n]={handlers:[c],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,i,a,s)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,a){var s=e[t];if(o(i)&&(n||r(a))){if(!s[i])return 0;var l=0;if(n)l=s[i].handlers.length,s[i]={runs:s[i].runs,handlers:[]};else for(var c=s[i].handlers,u=function(e){c[e].namespace===a&&(c.splice(e,1),l++,s.__current.forEach((function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,a),l}}};var s=function(e,t){return function(n,r){var o=e[t];return void 0!==r?n in o&&o[n].handlers.some((function(e){return e.namespace===r})):n in o}};var l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=e[t];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;var i=o[r].handlers;for(var a=arguments.length,s=new Array(a>1?a-1:0),l=1;l<a;l++)s[l-1]=arguments[l];if(!i||!i.length)return n?s[0]:void 0;var c={name:r,currentIndex:0};for(o.__current.push(c);c.currentIndex<i.length;){var u=i[c.currentIndex],d=u.callback.apply(null,s);n&&(s[0]=d),c.currentIndex++}return o.__current.pop(),n?s[0]:void 0}};var c=function(e,t){return function(){var n,r,o=e[t];return null!==(n=null===(r=o.__current[o.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==n?n:null}};var u=function(e,t){return function(n){var r=e[t];return void 0===n?void 0!==r.__current[0]:!!r.__current[0]&&n===r.__current[0].name}};var d=function(e,t){return function(n){var r=e[t];if(o(n))return r[n]&&r[n].runs?r[n].runs:0}},f=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=i(this,"actions"),this.addFilter=i(this,"filters"),this.removeAction=a(this,"actions"),this.removeFilter=a(this,"filters"),this.hasAction=s(this,"actions"),this.hasFilter=s(this,"filters"),this.removeAllActions=a(this,"actions",!0),this.removeAllFilters=a(this,"filters",!0),this.doAction=l(this,"actions"),this.applyFilters=l(this,"filters",!0),this.currentAction=c(this,"actions"),this.currentFilter=c(this,"filters"),this.doingAction=u(this,"actions"),this.doingFilter=u(this,"filters"),this.didAction=d(this,"actions"),this.didFilter=d(this,"filters")};var h=function(){return new f},p=h();p.addAction,p.addFilter,p.removeAction,p.removeFilter,p.hasAction,p.hasFilter,p.removeAllActions,p.removeAllFilters,p.doAction,p.applyFilters,p.currentAction,p.currentFilter,p.doingAction,p.doingFilter,p.didAction,p.didFilter,p.actions,p.filters;function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=v(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=v(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==v(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}window.isEditMode=!1,window.eael=window.ea={hooks:h(),isEditMode:!1,elementStatusCheck:function(e){return!(!window.eaElementList||!(e in window.eaElementList))||(window.eaElementList=y(y({},window.eaElementList),{},g({},e,!0)),!1)},debounce:function(e,t){var n;return function(){var r=this,o=arguments;clearTimeout(n),n=setTimeout((function(){e.apply(r,o)}),t)}}},eael.hooks.addAction("widgets.reinit","ea",(function(e){var t=jQuery(".eael-filter-gallery-container",e),n=jQuery(".eael-post-grid:not(.eael-post-carousel)",e),r=jQuery(".eael-twitter-feed-masonry",e),o=jQuery(".eael-instafeed",e),i=jQuery(".premium-gallery-container",e),a=jQuery(".eael-event-calendar-cls",e),s=jQuery(".eael-testimonial-slider",e),l=jQuery(".eael-tm-carousel",e),c=jQuery(".eael-post-carousel:not(.eael-post-grid)",e),u=jQuery(".eael-logo-carousel",e),d=jQuery(".eael-twitter-feed-carousel",e);t.length&&t.isotope("layout"),n.length&&n.isotope("layout"),r.length&&r.isotope("layout"),o.length&&o.isotope("layout"),i.length&&i.isotope("layout"),a.length&&eael.hooks.doAction("eventCalendar.reinit"),s.length&&eael.hooks.doAction("testimonialSlider.reinit"),l.length&&eael.hooks.doAction("teamMemberCarousel.reinit"),c.length&&eael.hooks.doAction("postCarousel.reinit"),u.length&&eael.hooks.doAction("logoCarousel.reinit"),d.length&&eael.hooks.doAction("twitterCarousel.reinit")}));var w,b=function(e){void 0===window.eaelPreventResizeOnClick&&window.dispatchEvent(new Event("resize")),(e="object"===v(e)?e:jQuery(e)).find(".swiper-wrapper").each((function(){var e=jQuery(this).css("transform");jQuery(this).css("transform",e)}))};eael.hooks.addAction("ea-advanced-tabs-triggered","ea",b),eael.hooks.addAction("ea-advanced-accordion-triggered","ea",b),jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.eael.isEditMode=elementorFrontend.isEditMode(),eael.hooks.doAction("init"),eael.isEditMode&&eael.hooks.doAction("editMode.init")})),function(e){eael.getToken=function(){localize.nonce&&!eael.noncegenerated&&e.ajax({url:localize.ajaxurl,type:"post",data:{action:"eael_get_token"},success:function(e){e.success&&(localize.nonce=e.data.nonce,eael.noncegenerated=!0)}})},eael.sanitizeURL=function(e){if(e.startsWith("/")||e.startsWith("#"))return e;try{var t=new URL(e);if(!["http:","https:","ftp:","ftps:","mailto:","news:","irc:","irc6:","ircs:","gopher:","nntp:","feed:","telnet:","mms:","rtsp:","sms:","svn:","tel:","fax:","xmpp:","webcal:","urn:"].includes(t.protocol))throw new Error("Invalid protocol");return t.toString()}catch(e){return console.error("Error sanitizing URL:",e.message),"#"}};var t=!0;window.addEventListener("hashchange",(function(){if(t){var n=window.location.hash.substr(1);"undefined"!==(n="safari"===n?"eael-safari":n)&&n&&/^[A-Za-z][-A-Za-z0-9_:.]*$/.test(n)&&e("#"+n).trigger("click")}})),e("a").on("click",(function(n){var r,o=e(this).attr("href");(r=(o=void 0===o?"":o).startsWith("#"))||(r=(o=o.replace(localize.page_permalink,"")).startsWith("#")),r&&(t=!1,setTimeout((function(){t=!0}),100));try{if(o.startsWith("#!")){var i=o.replace("#!","#");e(i).trigger("click")}else if(r&&(e(o).hasClass("eael-tab-item-trigger")||e(o).hasClass("eael-accordion-header"))&&(e(o).trigger("click"),void 0!==o&&o)){var a=e(o).closest(".eael-advance-tabs");if(a.length>0){var s=a.data("custom-id-offset");s=s?parseFloat(s):0,e("html, body").animate({scrollTop:e(o).offset().top-s},300)}}}catch(e){}})),e(document).on("click",".e-n-tab-title",(function(){setTimeout((function(){window.dispatchEvent(new Event("resize"))}),100)}))}(jQuery),(w=jQuery)(document).on("click",".theme-savoy .eael-product-popup .nm-qty-minus, .theme-savoy .eael-product-popup .nm-qty-plus",(function(e){var t=w(this),n=t.closest(".quantity").find(".qty"),r=parseFloat(n.val()),o=parseFloat(n.attr("max")),i=parseFloat(n.attr("min")),a=n.attr("step");r&&""!==r&&"NaN"!==r||(r=0),""!==o&&"NaN"!==o||(o=""),""!==i&&"NaN"!==i||(i=0),"any"!==a&&""!==a&&void 0!==a&&"NaN"!==parseFloat(a)||(a=1),t.hasClass("nm-qty-plus")?o&&(o==r||r>o)?n.val(o):n.val(r+parseFloat(a)):i&&(i==r||r<i)?n.val(i):r>0&&n.val(r-parseFloat(a))})),function(e){e.fn.isInViewport=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2;if(e(this).length<1)return!1;var n=e(this).offset().top,r=n+e(this).outerHeight()/t,o=e(window).scrollTop(),i=o+e(window).height()/t;return r>o&&n<i},e(document).ready((function(){var e=new URLSearchParams(location.search);if(e.has("popup-selector")&&(e.has("eael-lostpassword")||e.has("eael-resetpassword"))){var t=e.get("popup-selector");t.length&&/^[A-Za-z.#][A-Za-z0-9_:.#\s-]*$/.test(t)&&(t=t.replace(/_/g," "),setTimeout((function(){jQuery(t).trigger("click")}),300))}})),e(document).on("click",".eael-onpage-edit-template",(function(){var t=e(this),n=t.data("eael-template-id"),r=t.data("page-id"),o=t.data("mode");"edit"===o?(parent.window.$e.internal("panel/state-loading"),parent.window.$e.run("editor/documents/switch",{id:parseInt(n)}).then((function(){t.data("mode","save"),t.find("span").text("Save & Back"),t.find("i").addClass("eicon-arrow-left").removeClass("eicon-edit"),t.closest(".eael-onpage-edit-template-wrapper").addClass("eael-onpage-edit-activate").parent().addClass("eael-widget-otea-active"),parent.window.$e.internal("panel/state-ready")}))):"save"===o&&(parent.window.$e.internal("panel/state-loading"),parent.window.$e.run("editor/documents/switch",{id:parseInt(r),mode:"save",shouldScroll:!1}).then((function(){parent.window.$e.internal("panel/state-ready"),t.data("mode","edit")})))}))}(jQuery)}});