/* Cookies set inside object */
var cookieHelper = {
/* Cookies */
create: function (name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
},
read: function (name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
},
erase: function (name) {
// createCookie(name, "", -1);
document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
}
jQuery(document).ready(function () {
jQuery('#cookie-law-info-again').click(function () {
jQuery('#mbr-myModal').css('display', 'block');
jQuery('#cookie-law-info-again').css('display', 'none');
});
jQuery('#ee_mb_cookie_close_btn').click(function () {
jQuery('#ee_mb_cookie_msg').slideUp();
/* Set cookie */
cookieHelper.create('accepted', true);
jQuery('#cookie-law-info-again').css('display', 'block');
});
jQuery('#ee_mb_cookie_accept').click(function () {
jQuery('#ee_mb_cookie_msg').slideUp();
cookieHelper.create('accepted', true);
jQuery('#cookie-law-info-again').css('display', 'block');
});
jQuery('#ee_mb_settings_button').click(function () {
jQuery('#mbr-myModal').css('display', 'block');
jQuery('#cookie-law-info-again').css('display', 'none');
});
jQuery('.mbr-myModal-close').click(function () {
jQuery('#mbr-myModal').css('display', 'none');
jQuery('#cookie-law-info-again').css('display', 'block');
});
jQuery('#ee_mb_cookie_accept_btn').click(function () {
jQuery('#ee_mb_cookie_msg').slideUp();
cookieHelper.create('accepted', true);
jQuery('#cookie-law-info-again').css('display', 'block');
});
jQuery('#ee_mb_cookie_denied_btn').click(function () {
jQuery('#ee_mb_cookie_msg').slideUp();
cookieHelper.create('accepted', false);
jQuery('#cookie-law-info-again').css('display', 'block');
});
});
if ("undefined" == typeof jQuery) throw new Error("Bootstrap's JavaScript requires jQuery"); +function (t) { "use strict"; var e = t.fn.jquery.split(" ")[0].split("."); if (e[0] < 2 && e[1] < 9 || 1 == e[0] && 9 == e[1] && e[2] < 1 || e[0] > 3) throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4") }(jQuery), +function (t) { "use strict"; function e(e) { var n = e.attr("data-target"); n || (n = e.attr("href"), n = n && /#[A-Za-z]/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "")); var a = "#" !== n ? t(document).find(n) : null; return a && a.length ? a : e.parent() } function n(n) { n && 3 === n.which || (t(i).remove(), t(o).each(function () { var a = t(this), i = e(a), o = { relatedTarget: this }; i.hasClass("open") && (n && "click" == n.type && /input|textarea/i.test(n.target.tagName) && t.contains(i[0], n.target) || (i.trigger(n = t.Event("hide.bs.dropdown", o)), n.isDefaultPrevented() || (a.attr("aria-expanded", "false"), i.removeClass("open").trigger(t.Event("hidden.bs.dropdown", o))))) })) } function a(e) { return this.each(function () { var n = t(this), a = n.data("bs.dropdown"); a || n.data("bs.dropdown", a = new s(this)), "string" == typeof e && a[e].call(n) }) } var i = ".dropdown-backdrop", o = '[data-toggle="dropdown"]', s = function (e) { t(e).on("click.bs.dropdown", this.toggle) }; s.VERSION = "3.4.1", s.prototype.toggle = function (a) { var i = t(this); if (!i.is(".disabled, :disabled")) { var o = e(i), s = o.hasClass("open"); if (n(), !s) { "ontouchstart" in document.documentElement && !o.closest(".navbar-nav").length && t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click", n); var r = { relatedTarget: this }; if (o.trigger(a = t.Event("show.bs.dropdown", r)), a.isDefaultPrevented()) return; i.trigger("focus").attr("aria-expanded", "true"), o.toggleClass("open").trigger(t.Event("shown.bs.dropdown", r)) } return !1 } }, s.prototype.keydown = function (n) { if (/(38|40|27|32)/.test(n.which) && !/input|textarea/i.test(n.target.tagName)) { var a = t(this); if (n.preventDefault(), n.stopPropagation(), !a.is(".disabled, :disabled")) { var i = e(a), s = i.hasClass("open"); if (!s && 27 != n.which || s && 27 == n.which) return 27 == n.which && i.find(o).trigger("focus"), a.trigger("click"); var r = " li:not(.disabled):visible a", l = i.find(".dropdown-menu" + r); if (l.length) { var d = l.index(n.target); 38 == n.which && d > 0 && d--, 40 == n.which && d < l.length - 1 && d++, ~d || (d = 0), l.eq(d).trigger("focus") } } } }; var r = t.fn.dropdown; t.fn.dropdown = a, t.fn.dropdown.Constructor = s, t.fn.dropdown.noConflict = function () { return t.fn.dropdown = r, this }, t(document).on("click.bs.dropdown.data-api", n).on("click.bs.dropdown.data-api", ".dropdown form", function (t) { t.stopPropagation() }).on("click.bs.dropdown.data-api", o, s.prototype.toggle).on("keydown.bs.dropdown.data-api", o, s.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", s.prototype.keydown) }(jQuery), +function (t) { "use strict"; function e(e) { var n, a = e.attr("data-target") || (n = e.attr("href")) && n.replace(/.*(?=#[^\s]+$)/, ""); return t(document).find(a) } function n(e) { return this.each(function () { var n = t(this), i = n.data("bs.collapse"), o = t.extend({}, a.DEFAULTS, n.data(), "object" == typeof e && e); !i && o.toggle && /show|hide/.test(e) && (o.toggle = !1), i || n.data("bs.collapse", i = new a(this, o)), "string" == typeof e && i[e]() }) } var a = function (e, n) { this.$element = t(e), this.options = t.extend({}, a.DEFAULTS, n), this.$trigger = t('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]'), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle() }; a.VERSION = "3.4.1", a.TRANSITION_DURATION = 350, a.DEFAULTS = { toggle: !0 }, a.prototype.dimension = function () { var t = this.$element.hasClass("width"); return t ? "width" : "height" }, a.prototype.show = function () { if (!this.transitioning && !this.$element.hasClass("in")) { var e, i = this.$parent && this.$parent.children(".panel").children(".in, .collapsing"); if (!(i && i.length && (e = i.data("bs.collapse"), e && e.transitioning))) { var o = t.Event("show.bs.collapse"); if (this.$element.trigger(o), !o.isDefaultPrevented()) { i && i.length && (n.call(i, "hide"), e || i.data("bs.collapse", null)); var s = this.dimension(); this.$element.removeClass("collapse").addClass("collapsing")[s](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1; var r = function () { this.$element.removeClass("collapsing").addClass("collapse in")[s](""), this.transitioning = 0, this.$element.trigger("shown.bs.collapse") }; if (!t.support.transition) return r.call(this); var l = t.camelCase(["scroll", s].join("-")); this.$element.one("bsTransitionEnd", t.proxy(r, this)).emulateTransitionEnd(a.TRANSITION_DURATION)[s](this.$element[0][l]) } } } }, a.prototype.hide = function () { if (!this.transitioning && this.$element.hasClass("in")) { var e = t.Event("hide.bs.collapse"); if (this.$element.trigger(e), !e.isDefaultPrevented()) { var n = this.dimension(); this.$element[n](this.$element[n]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1; var i = function () { this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse") }; return t.support.transition ? void this.$element[n](0).one("bsTransitionEnd", t.proxy(i, this)).emulateTransitionEnd(a.TRANSITION_DURATION) : i.call(this) } } }, a.prototype.toggle = function () { this[this.$element.hasClass("in") ? "hide" : "show"]() }, a.prototype.getParent = function () { return t(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(t.proxy(function (n, a) { var i = t(a); this.addAriaAndCollapsedClass(e(i), i) }, this)).end() }, a.prototype.addAriaAndCollapsedClass = function (t, e) { var n = t.hasClass("in"); t.attr("aria-expanded", n), e.toggleClass("collapsed", !n).attr("aria-expanded", n) }; var i = t.fn.collapse; t.fn.collapse = n, t.fn.collapse.Constructor = a, t.fn.collapse.noConflict = function () { return t.fn.collapse = i, this }, t(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function (a) { var i = t(this); i.attr("data-target") || a.preventDefault(); var o = e(i), s = o.data("bs.collapse"), r = s ? "toggle" : i.data(); n.call(o, r) }) }(jQuery);
jQuery(function () {
/* If cookie hasnt reveioly been accepted, show banner */
if (!cookieHelper.read('accepted')) {
jQuery('#ee_mb_cookie_msg').slideDown();
} else {
jQuery('#cookie-law-info-again').css('display', 'block');
}
});
(function ($) {
/*@ Common start */
var ee_common = {
getModelCID: function getModelCID() {
return ee_common.$element.data('model-cid');
},
getElementSettings: function ($element, setting) {
var elementSettings = {},
modelCID = $element.data('model-cid');
if (elementorFrontend.isEditMode() && modelCID) {
var settings = elementorFrontend.config.elements.data[modelCID],
settingsKeys = elementorFrontend.config.elements.keys[settings.attributes.widgetType || settings.attributes.elType];
jQuery.each(settings.getActiveControls(), function (controlKey) {
if (settingsKeys) {
if (-1 !== settingsKeys.indexOf(controlKey)) {
elementSettings[controlKey] = settings.attributes[controlKey];
}
}
});
} else {
elementSettings = $element.data('settings') || {};
}
return ee_common.getItems(elementSettings, setting);
},
getItems: function (items, itemKey) {
if (itemKey) {
var keyStack = itemKey.split('.'),
currentKey = keyStack.splice(0, 1);
if (!keyStack.length) {
return items[currentKey];
}
if (!items[currentKey]) {
return;
}
return ee_common.getItems(items[currentKey], keyStack.join('.'));
}
return items;
},
showLoading: function (current) {
current.find('.elementor_extensions_loading_overlay').show();
},
hideLoading: function (current) {
current.find('.elementor_extensions_loading_overlay').hide();
},
equalheight: function (t) {
var e, i = 0,
r = 0,
h = new Array;
jQuery(t).each(function () {
if (e = jQuery(this), jQuery(e).height("auto"), topPostion = e.position().top, r != topPostion) {
for (currentDiv = 0; currentDiv < h.length; currentDiv++) h[currentDiv].height(i);
h.length = 0, r = topPostion, i = e.height(), h.push(e)
} else h.push(e), i = i < e.height() ? e.height() : i;
for (currentDiv = 0; currentDiv < h.length; currentDiv++) h[currentDiv].height(i)
})
},
findObjectByKey: function (array, key, value) {
for (var i = 0; i < array.length; i++) {
if (array[i][key] === value) {
return array[i];
}
}
return null;
},
debounce: function (threshold, callback) {
var timeout;
return function debounced($event) {
function delayed() {
callback.call(this, $event);
timeout = null;
}
if (timeout) {
clearTimeout(timeout);
}
timeout = setTimeout(delayed, threshold);
};
},
getObjectNextKey: function (object, key) {
var keys = Object.keys(object),
idIndex = keys.indexOf(key),
nextIndex = idIndex += 1;
if (nextIndex >= keys.length) {
return false;
}
var nextKey = keys[nextIndex];
return nextKey;
},
getObjectPrevKey: function (object, key) {
var keys = Object.keys(object),
idIndex = keys.indexOf(key),
prevIndex = idIndex -= 1;
if (0 > idIndex) {
return false;
}
var prevKey = keys[prevIndex];
return prevKey;
},
getObjectFirstKey: function (object) {
return Object.keys(object)[0];
},
getObjectLastKey: function (object) {
return Object.keys(object)[Object.keys(object).length - 1];
},
renderMap: function (data_address) {
// Get the user defined values
var address = data_address;
var radius = 2 * 1000;
// get the selected type
selectedTypes = ['school'];
var geocoder = new google.maps.Geocoder();
var selLocLat = 0;
var selLocLng = 0;
geocoder.geocode({
'address': address
}, function (results, status) {
if (status === 'OK') {
selLocLat = results[0].geometry.location.lat();
selLocLng = results[0].geometry.location.lng();
var pyrmont = new google.maps.LatLng(selLocLat, selLocLng);
map = new google.maps.Map(document.getElementById('ee-mb-map'), {
center: pyrmont,
zoom: 14
});
var request = {
location: pyrmont,
radius: radius,
types: selectedTypes
};
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, ee_common.mapCallback);
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
},
mapCallback: function (results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
ee_common.createMarker(results[i], results[i].icon);
}
}
},
createMarker: function (place, icon) {
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location,
icon: {
url: icon,
scaledSize: new google.maps.Size(40, 40) // pixels
},
animation: google.maps.Animation.DROP
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.setContent(place.name + '
' + place.vicinity);
infowindow.open(map, this);
});
}
}
/*@ Inline Attribute Equal Height */
var matchHeight = function () {
function init() {
eventListeners();
matchHeight();
}
function eventListeners() {
$(window).on('resize', function () {
matchHeight();
});
}
function matchHeight() {
var groupName = $('[data-match-height]');
var groupHeights = [];
groupName.css('min-height', 'auto');
groupName.each(function () {
groupHeights.push($(this).outerHeight());
});
var maxHeight = Math.max.apply(null, groupHeights);
groupName.css('min-height', maxHeight);
};
return {
init: init
};
}();
$(document).ready(function () {
matchHeight.init();
});
/*@ A to Z Listing */
var ee_atoz = {
atoz_fun: function ($scope, $) {
ee_atoz.atoz_fun.elementSettings = ee_common.getElementSettings($scope);
var $listing_wrapper = $scope.find('.az-listing-container');
ee_atoz.atoz_fun.init = function () {
$listing_wrapper.find('.categories a').on('click', function () {
ee_common.showLoading($scope);
$listing_wrapper.find('.categories li').removeClass('active');
jQuery(this).parent('li').toggleClass('active');
var cat_data = jQuery(this).data('setting');
var widget_settings = $scope.data('settings');
jQuery.ajax({
url: ElementorExtensionsFrontendConfig.ajaxurl,
type: 'POST',
data: {
'action': 'getPostsByCategory',
'cat_data': cat_data,
'widget_settings': widget_settings
},
success: function (data) {
jQuery('#listings').html(data);
ee_common.hideLoading($scope);
}
});
});
/*@ Smooth scrolling on click */
$scope.find("ul.alphabets a").click(function (e) {
e.preventDefault();
var hash_id = jQuery(this).attr('href');
if (jQuery(hash_id).length) {
jQuery('html, body').animate({
scrollTop: jQuery(hash_id).offset().top
}, 500);
}
});
if (window.location.hash) {
jQuery(window.location.hash).trigger('click');
}
};
ee_atoz.atoz_fun.init();
}
}
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-atoz-listing.default', ee_atoz.atoz_fun);
});
/*@ Anchor Scroll */
var ee_anchor = {
anchor_scroll_fun: function ($scope, $) {
ee_anchor.anchor_scroll_fun.elementSettings = ee_common.getElementSettings($scope);
var $anchor_scroll = $scope.find('.anchor-scroll');
ee_anchor.anchor_scroll_fun.init = function () {
$anchor_scroll.anchorScroll({
scrollSpeed: 800,
offsetTop: 0,
scrollStart: function () {
$anchor_scroll.find(".fill-bg").fadeIn("slow");
$anchor_scroll.find(".popup").text("Scrolling...");
},
scrollEnd: function () {
$anchor_scroll.find(".fill-bg").delay(1000).fadeOut("slow");
$anchor_scroll.find(".popup").text("Done!");
}
});
};
ee_anchor.anchor_scroll_fun.init();
}
}
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-anchor-scroll.default', ee_anchor.anchor_scroll_fun);
});
/*@ Document Library */
var ee_document_library = {
document_library_fun: function ($scope, $) {
var ee_dl_settings = ee_common.getElementSettings($scope),
$document_library = $scope.find('.document_library_wrapper '),
is_sortable = ee_dl_settings.is_header_sortable,
dl_tbl = $document_library.find('> table'),
order_filename_asc = ee_dl_settings.order_filename_asc;
ee_document_library.document_library_fun.init = function () {
if (is_sortable === 'yes') {
var sort_list = (order_filename_asc === 'yes') ? [[0, 0]] : '';
dl_tbl.tablesorter({
sortList: sort_list
});
}
};
ee_document_library.document_library_fun.init();
}
}
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-document-library.default', ee_document_library.document_library_fun);
});
/*@ Flipbox */
var ee_mb_flipbox_with_slider = {
onInit: function ($scope, $) {
var carousel_elem = $scope.find('.elementor-slides').eq(0);
if (carousel_elem.length > 0) {
var elementSettings = ee_common.getElementSettings($scope);
if (elementSettings) {
var slickOptions = {
slidesToShow: 1,
slidesToScroll: 1,
autoplay: 'yes' === elementSettings.autoplay,
autoplaySpeed: elementSettings.autoplay_speed,
infinite: 'yes' === elementSettings.infinite,
pauseOnHover: 'yes' === elementSettings.pause_on_hover,
speed: elementSettings.speed,
arrows: -1 !== ['arrows', 'both'].indexOf(elementSettings.navigation),
dots: -1 !== ['dots', 'both'].indexOf(elementSettings.navigation),
rtl: 'rtl' === elementSettings.direction,
fade: 'fade' === elementSettings.transition,
};
}
carousel_elem.slick(slickOptions);
var slideContent = '.elementor-slide-content',
animation = elementSettings.content_animation,
animated = 'animated';
carousel_elem.on({
beforeChange: function beforeChange() {
var $sliderContent = carousel_elem.find(slideContent);
$sliderContent.removeClass(animated + ' ' + animation).hide();
},
afterChange: function afterChange(event, slick, currentSlide) {
var $currentSlide = jQuery(slick.$slides.get(currentSlide)).find(slideContent);
$currentSlide.show().addClass(animated + ' ' + animation);
}
});
/*@ On click of icon box flip the box */
var frontbox = $scope.find('.ee_mb_flipbox_container .ee_mb_flipbox_front'),
back_slider = $scope.find('.ee_mb_flipbox_container .elementor-slides-wrapper'),
flip_container = $scope.find('.ee_mb_flipbox_container');
$scope.find('.ee_mb_flipbox_container .ee_mb_flipbox_front ul li').on('click', function () {
/*@ Activate slider as per the frontbox icon index */
var li_index = $(this).index();
carousel_elem.slick('slickGoTo', li_index, true);
/*@ Assign slider height to container */
var slider_height = back_slider.height();
flip_container.height(slider_height);
/*@ Flip the frontbox to back-side */
frontbox.css({
'-webkit-transform': 'rotateX(-180deg)',
'-moz-transform': 'rotateX(-180deg)',
'-ms-transform': 'rotateX(-180deg)',
'-o-transform': 'rotateX(-180deg)',
'transform': 'rotateX(-180deg)'
});
/*@ Flip the slider to front-side */
back_slider.css({
'-webkit-transform': 'rotateX(0deg)',
'-moz-transform': 'rotateX(0deg)',
'-ms-transform': 'rotateX(0deg)',
'-o-transform': 'rotateX(0deg)',
'transform': 'rotateX(0deg)',
'overflow': 'visible'
});
/*@ Add remove active class for maintaining active height to container on resize window */
frontbox.removeClass('active');
back_slider.addClass('active');
});
$scope.find('.ee_mb_flipbox_container .ee_mb_flip_back').on('click', function () {
/*@ Assign front height to container */
flip_container.attr('style', '');
var front_height = frontbox.height();
flip_container.height(front_height);
/*@ Flip frontbox to front-side */
frontbox.css({
'-webkit-transform': 'rotateX(0deg)',
'-moz-transform': 'rotateX(0deg)',
'-ms-transform': 'rotateX(0deg)',
'-o-transform': 'rotateX(0deg)',
'transform': 'rotateX(0deg)'
});
/*@ Flip the slider to back-side */
back_slider.css({
'-webkit-transform': 'rotateX(180deg)',
'-moz-transform': 'rotateX(180deg)',
'-ms-transform': 'rotateX(180deg)',
'-o-transform': 'rotateX(180deg)',
'transform': 'rotateX(180deg)',
'overflow': 'hidden'
});
/*@ Add remove active class for maintaining active height to container on resize window */
frontbox.addClass('active');
back_slider.removeClass('active');
});
/*@ On resize assign height of active front or back to the flip container */
jQuery(window).resize(function () {
flip_container.attr('style', '');
if (frontbox.hasClass('active')) {
var front_height = frontbox.height();
flip_container.height(front_height);
} else {
var slider_height = back_slider.height();
flip_container.height(slider_height);
}
});
}
}
};
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-flipbox.default', ee_mb_flipbox_with_slider.onInit);
});
/*@ Imagebox Repeater */
var ee_mb_imagebox_repeater = {
onInit: function ($scope, $) {
var carousel_elem = $scope.find('.elementor-image-carousel').eq(0);
if (carousel_elem.length > 0) {
var elementSettings = ee_common.getElementSettings($scope);
if (elementSettings) {
var slidesToShow = +elementSettings.slides_to_show || 3,
isSingleSlide = 1 === slidesToShow,
defaultLGDevicesSlidesCount = isSingleSlide ? 1 : 2,
breakpoints = elementorFrontend.config.breakpoints;
var slickOptions = {
slidesToShow: slidesToShow,
autoplay: 'yes' === elementSettings.autoplay,
autoplaySpeed: elementSettings.autoplay_speed,
infinite: 'yes' === elementSettings.infinite,
pauseOnHover: 'yes' === elementSettings.pause_on_hover,
speed: elementSettings.speed,
arrows: -1 !== ['arrows', 'both'].indexOf(elementSettings.navigation),
dots: -1 !== ['dots', 'both'].indexOf(elementSettings.navigation),
rtl: 'rtl' === elementSettings.direction,
responsive: [{
breakpoint: breakpoints.lg,
settings: {
slidesToShow: +elementSettings.slides_to_show_tablet || defaultLGDevicesSlidesCount,
slidesToScroll: +elementSettings.slides_to_scroll_tablet || defaultLGDevicesSlidesCount
}
}, {
breakpoint: breakpoints.md,
settings: {
slidesToShow: +elementSettings.slides_to_show_mobile || 1,
slidesToScroll: +elementSettings.slides_to_scroll_mobile || 1
}
}]
};
if (isSingleSlide) {
slickOptions.fade = 'fade' === elementSettings.effect;
} else {
slickOptions.slidesToScroll = +elementSettings.slides_to_scroll || defaultLGDevicesSlidesCount;
}
}
carousel_elem.slick(slickOptions);
}
}
};
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-imagebox-repeater.default', ee_mb_imagebox_repeater.onInit);
});
/*@ Multipoint map */
var ee_mb_google_map = {
EeMbGoogleMap: function ($scope, $) {
ee_mb_google_map.EeMbGoogleMap.elementSettings = ee_common.getElementSettings($scope);
var $map = $scope.find('.ee-mb-google-map');
if (!$map.length) return;
var $pins = $map.find('.ee-mb-google-map__pin'),
$navigation = $scope.find('.ee-mb-google-map__navigation'),
settings = ee_mb_google_map.EeMbGoogleMap.elementSettings,
gmapArgs = {
center: [48.8583736, 2.2922873],
mapTypeId: google.maps.MapTypeId[settings.map_type],
scrollwheel: 'yes' === settings.scrollwheel,
clickableIcons: 'yes' === settings.clickable_icons,
disableDoubleClickZoom: 'yes' !== settings.doubleclick_zoom,
keyboardShortcuts: 'yes' === settings.keyboard_shortcuts,
draggable: (!elementorFrontend.isEditMode() && 'yes' === settings.draggable),
fullscreenControl: 'yes' === settings.fullscreen_control,
mapTypeControl: 'yes' === settings.map_type_control,
rotateControl: 'yes' === settings.rotate_control,
scaleControl: 'yes' === settings.scale_control,
streetViewControl: 'yes' === settings.streetview_control,
zoomControl: 'yes' === settings.zoom_control,
},
polygonArgs = {
default: {
strokeColor: (settings.polygon_stroke_color) ? settings.polygon_stroke_color : '#FF0000',
strokeWeight: (settings.polygon_stroke_weight) ? settings.polygon_stroke_weight.size : 2,
strokeOpacity: (settings.polygon_stroke_opacity) ? settings.polygon_stroke_opacity.size : 0.8,
fillColor: (settings.polygon_fill_color) ? settings.polygon_fill_color : '#FF0000',
fillOpacity: (settings.polygon_fill_opacity) ? settings.polygon_fill_opacity.size : 0.35,
},
hover: {
strokeColor: (settings.polygon_stroke_color_hover) ? settings.polygon_stroke_color_hover : '#FF0000',
strokeWeight: (settings.polygon_stroke_weight_hover) ? settings.polygon_stroke_weight_hover.size : 2,
strokeOpacity: (settings.polygon_stroke_opacity_hover) ? settings.polygon_stroke_opacity_hover.size : 0.8,
fillColor: (settings.polygon_fill_color_hover) ? settings.polygon_fill_color_hover : '#FF0000',
fillOpacity: (settings.polygon_fill_opacity_hover) ? settings.polygon_fill_opacity_hover.size : 0.35,
}
},
markers = [],
paths = [],
instance = null;
ee_mb_google_map.EeMbGoogleMap.init = function () {
var mapStyle = settings.map_style_json;
if ('api' === settings.map_style_type && settings.map_style_api) {
var jsonParse = JSON.parse(settings.map_style_api);
if (jsonParse) {
mapStyle = JSON.parse(settings.map_style_api).json;
}
}
var map_color = $map.data('map-color');
if (map_color == '00' && undefined !== map_color) {
gmapArgs.styles = [
{ elementType: 'geometry', stylers: [{ color: settings.map_geometry }] },
{ elementType: 'labels.text.stroke', stylers: [{ color: settings.label_text_stroke }] },
{ elementType: 'labels.text.fill', stylers: [{ color: settings.label_text_fill }] },
{
featureType: 'administrative.locality',
elementType: 'labels.text.fill',
stylers: [{ color: settings.administrative_locality }]
},
{
featureType: 'poi',
elementType: 'geometry',
stylers: [{ color: settings.map_poi_color }]
},
{
featureType: 'poi',
elementType: 'labels.text.fill',
stylers: [{ color: settings.map_poi_fill }]
},
{
featureType: 'poi.park',
elementType: 'geometry.fill',
stylers: [{ color: settings.map_park_color }]
},
{
featureType: 'poi.park',
elementType: 'labels.text.fill',
stylers: [{ color: settings.map_park_fill }]
},
{
featureType: 'water',
elementType: 'geometry',
stylers: [{ color: settings.water_color }]
},
{
featureType: 'water',
elementType: 'labels.text.fill',
stylers: [{ color: settings.water_text_fill }]
},
{
featureType: 'water',
elementType: 'labels.text.stroke',
stylers: [{ color: settings.water_text_stroke }]
},
{
featureType: 'road',
elementType: 'geometry',
stylers: [{ color: settings.road_color }]
},
{
featureType: 'road',
elementType: 'geometry.stroke',
stylers: [{ color: settings.road_stroke }]
},
{
featureType: 'road.highway',
elementType: 'geometry',
stylers: [{ color: settings.highway_color }]
},
{
featureType: 'road.highway',
elementType: 'geometry.stroke',
stylers: [{ color: settings.highway_stroke }]
},
{
featureType: 'road.highway',
elementType: 'labels.text.fill',
stylers: [{ color: settings.highway_text_fill }]
},
{
featureType: 'transit',
elementType: 'geometry',
stylers: [{ color: settings.transit }]
},
{
featureType: 'transit.station',
elementType: 'labels.text.fill',
stylers: [{ color: settings.transit_text_fill }]
},
];
}
if ('' !== $.trim(mapStyle) && undefined !== mapStyle) {
gmapArgs.styles = ee_mb_google_map.EeMbGoogleMap.parseStyles(mapStyle);
}
if ('yes' !== settings.fit) {
if ('undefined' !== typeof settings.zoom) {
gmapArgs.zoom = settings.zoom.size;
}
if ($map.data('lat') && $map.data('lng')) {
gmapArgs.center = [$map.data('lat'), $map.data('lng')];
}
}
instance = $map.gmap3(gmapArgs);
ee_mb_google_map.EeMbGoogleMap.addPins();
if ('yes' === settings.popups)
ee_mb_google_map.EeMbGoogleMap.addInfoWindows();
if ('yes' === settings.route && $pins.length > 1)
ee_mb_google_map.EeMbGoogleMap.addRoute();
if ('yes' === settings.polygon)
ee_mb_google_map.EeMbGoogleMap.addPolygon();
if ('yes' === settings.navigation)
ee_mb_google_map.EeMbGoogleMap.navigation();
/* Init events */
ee_mb_google_map.EeMbGoogleMap.events();
/* Center to fit or custom */
ee_mb_google_map.EeMbGoogleMap.center();
};
ee_mb_google_map.EeMbGoogleMap.events = function () {
$map._resize(ee_mb_google_map.EeMbGoogleMap.onResize);
};
ee_mb_google_map.EeMbGoogleMap.onResize = function () {
ee_mb_google_map.EeMbGoogleMap.center();
};
ee_mb_google_map.EeMbGoogleMap.center = function () {
if ('yes' === settings.fit) {
instance.wait(2000).fit();
} else {
instance.get(0).setCenter(new google.maps.LatLng(gmapArgs.center[0], gmapArgs.center[1]));
}
};
ee_mb_google_map.EeMbGoogleMap.parseStyles = function (style) {
try {
var json = JSON.parse(style);
if (json && typeof json === "object") { return json; }
}
catch (e) {
alert('Invalid JSON');
}
return false;
};
ee_mb_google_map.EeMbGoogleMap.addPolygon = function () {
if ($pins.length <= 1)
return;
instance
.polygon({
strokeColor: polygonArgs.default.strokeColor,
strokeWeight: polygonArgs.default.strokeWeight,
strokeOpacity: polygonArgs.default.strokeOpacity,
fillColor: polygonArgs.default.fillColor,
fillOpacity: polygonArgs.default.fillOpacity,
paths: paths,
})
.on({
mouseover: function (polygon, event) {
polygon.setOptions({
strokeColor: polygonArgs.hover.strokeColor,
strokeWeight: polygonArgs.hover.strokeWeight,
strokeOpacity: polygonArgs.hover.strokeOpacity,
fillColor: polygonArgs.hover.fillColor,
fillOpacity: polygonArgs.hover.fillOpacity,
});
},
mouseout: function (polygon, event) {
polygon.setOptions({
strokeColor: polygonArgs.default.strokeColor,
strokeWeight: polygonArgs.default.strokeWeight,
strokeOpacity: polygonArgs.default.strokeOpacity,
fillColor: polygonArgs.default.fillColor,
fillOpacity: polygonArgs.default.fillOpacity,
});
}
});
};
ee_mb_google_map.EeMbGoogleMap.addPins = function () {
if (!$pins.length)
return;
$pins.each(function () {
var marker = {},
pin = {
id: $(this).data('id'),
input: $(this).data('input'),
lat: $(this).data('lat'),
lng: $(this).data('lng'),
trigger: $(this).data('trigger'),
icon: $(this).data('icon'),
label: $(this).data('label'),
label_color: $(this).data('label-color'),
content: $(this).html(),
};
if (!pin.lat || !pin.lng) {
return;
}
marker.id = pin.id;
marker.trigger = pin.trigger;
marker.position = [pin.lat, pin.lng];
paths.push(marker.position);
if (pin.icon) {
var iconSize = (settings.pin_size) ? settings.pin_size.size : 50,
iconPosition = ee_mb_google_map.EeMbGoogleMap.getIconPosition(iconSize);
marker.icon = {
url: pin.icon,
scaledSize: new google.maps.Size(iconSize, iconSize),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(iconPosition[0], iconPosition[1]),
};
if (pin.label) {
marker.icon.labelOrigin = new google.maps.Point(iconPosition[0], (iconPosition[1] + 10));
}
} else {
if (pin.label) {
marker.icon = {
url: "http://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi2.png",
labelOrigin: new google.maps.Point(15, 55),
size: new google.maps.Size(30, 45),
anchor: new google.maps.Point(16, 32)
};
}
}
if (pin.label) {
var markerLabel = pin.label;
var maplabelcolor = (pin.label_color) ? pin.label_color : '#FF0000';
marker.label = {
text: markerLabel,
color: maplabelcolor,
fontSize: "20px",
fontWeight: "bold"
};
}
if (pin.content && settings.popups)
marker.content = pin.content;
markers.push(marker);
});
instance.marker(markers);
};
ee_mb_google_map.EeMbGoogleMap.getIconPosition = function (size) {
var horiz = 25,
vert = 50;
switch (settings.pin_position_horizontal) {
case 'left':
horiz = size;
break;
case 'center':
horiz = size / 2;
break;
case 'right':
horiz = 0;
break;
default:
horiz = size / 2;
}
switch (settings.pin_position_vertical) {
case 'top':
vert = size;
break;
case 'middle':
vert = size / 2;
break;
case 'bottom':
vert = 0;
break;
default:
vert = size;
}
return [horiz, vert];
};
ee_mb_google_map.EeMbGoogleMap.addInfoWindows = function () {
if (!$pins.length)
return;
instance
.infowindow(markers)
.then(function (infowindow) {
var map = this.get(0),
marker = this.get(1);
marker.forEach(function (pin, index) {
if ('auto' === pin.trigger) {
infowindow[index].open(map, pin);
pin.addListener('click', function () {
infowindow[index].open(map, pin);
});
} else if ('mouseover' === pin.trigger) {
pin.addListener('mouseover', function () {
infowindow[index].open(map, pin);
});
pin.addListener('mouseout', function () {
infowindow[index].close(map, pin);
});
} else if ('click' === pin.trigger) {
pin.addListener('click', function () {
infowindow[index].open(map, pin);
});
}
})
});
};
ee_mb_google_map.EeMbGoogleMap.addRoute = function () {
if ($pins.length <= 1)
return;
var points = markers.slice(),
origin = ee_mb_google_map.EeMbGoogleMap.getMarkerDataForRoutes(markers[0]),
destination = ee_mb_google_map.EeMbGoogleMap.getMarkerDataForRoutes(markers[markers.length - 1]),
waypoints = (markers.length >= 3) ? ee_mb_google_map.EeMbGoogleMap.getWaypoints(points) : null;
instance
.route({
origin: origin,
destination: destination,
waypoints: waypoints,
travelMode: google.maps.DirectionsTravelMode.DRIVING
})
.directionsrenderer(function (results) {
if (results) {
return {
suppressMarkers: 'yes' !== settings.route_markers,
directions: results,
}
}
});
};
ee_mb_google_map.EeMbGoogleMap.getWaypoints = function (points) {
var waypoints = [];
/* Remove first and last markers */
points.shift();
points.pop();
points.forEach(function (point, index) {
waypoints.push({
location: ee_mb_google_map.EeMbGoogleMap.getMarkerDataForRoutes(point),
stopover: true,
});
});
return waypoints;
};
ee_mb_google_map.EeMbGoogleMap.getMarkerDataForRoutes = function (marker) {
return new google.maps.LatLng(marker.position[0], marker.position[1]);
};
ee_mb_google_map.EeMbGoogleMap.navigation = function () {
var $items = $navigation.find('.ee-mb-google-map__navigation__item'),
$all = $items.filter('.ee-mb-google-map__navigation__item--all');
$all.addClass('ee--is-active');
$items.on('click', function (e) {
e.preventDefault();
e.stopPropagation();
$items.removeClass('ee--is-active');
$(this).addClass('ee--is-active');
var marker = ee_common.findObjectByKey(markers, 'id', $(this).data('id'));
if (marker) {
instance.get(0).setCenter(new google.maps.LatLng(marker.position[0], marker.position[1]));
instance.get(0).setZoom(18);
} else {
instance.fit();
}
});
};
ee_mb_google_map.EeMbGoogleMap.init();
},
};
$(window).on('elementor/frontend/init', function () {
elementorFrontend.hooks.addAction('frontend/element_ready/ee-mb-google-map.default', ee_mb_google_map.EeMbGoogleMap);
});
/*@ Navigation Menu */
var ee_nav_menu = {
ee_navigation_menu_fun: function ($scope, $) {
ee_nav_menu.ee_navigation_menu_fun.elementSettings = ee_common.getElementSettings($scope);
var $scroll_hamburger = $scope.find('.scroll_hamburger'),
windowWidth = jQuery(window).width(),
menuSetting = ee_nav_menu.ee_navigation_menu_fun.elementSettings;
ee_nav_menu.ee_navigation_menu_fun.init = function () {
if (ee_nav_menu.ee_navigation_menu_fun.elementSettings.layout == 'scroll_hamburger') {
if ($scroll_hamburger.length > 0) {
var sticky_menu = $scroll_hamburger.parents('section');
sticky_menu.parent().append('