$(document).ready(function () { $(".open-popup").on('click', function (e) { e.preventDefault(); var popupId = $(this).data('id'); $('.navbar-collapse').hide() $(".popup").hide(); $("#overlay").show(); $('#' + popupId).fadeIn(); }); $(".close-popup").on('click', function () { $("#overlay").hide(); $(this).parents('.popup').fadeOut(); //$.cookie('redirectUrl', '', {path: '/'}); }); $(".close-mobile-menu").on('click', function () { $("#overlay").hide(); $(this).parents('.navbar-collapse').fadeOut(); }); $(".close-popup-info").on('click', function () { $("#overlay").hide(); $(this).parents('.info-popup').fadeOut(); }); $(".js-dropdown-toggle").on("click", function (e) { e.preventDefault(); $(this).next(".dropdown-list").slideToggle(); $(this).find(".caret-down").toggleClass('arrow-up'); }); $(".js-dropdown-toggle-by-click").on("click", function (e) { e.preventDefault(); $(this).next(".js-dropdown-list").slideToggle(); $(this).find(".caret-down").toggleClass('arrow-up'); }); $(document).on("mousedown", function (e) { if ($(".js-dropdown-toggle").has(e.target).length === 0) { $(".js-dropdown-toggle+.dropdown-list").slideUp(); $(".js-dropdown-toggle .caret-down").removeClass('arrow-up'); } }); var dropParent; $(".select-dropdown").each(function () { dropParent = $(this).parent(); $(this).select2({ dropdownParent: dropParent }); }); $(".scroll-block").mCustomScrollbar(); function initSlider(element) { var inpMin = element.closest(".rangeslider").find(".minVal"); var inpMax = element.closest(".rangeslider").find(".maxVal"); var valMin = inpMin.val(); var valMax = inpMax.val(); element.slider({ range: true, min: element.data('min'), max: element.data('max'), values: [valMin, valMax], slide: function (event, ui) { inpMin.val(ui.values[0]); inpMax.val(ui.values[1]); } }); inpMin.val(element.slider("values", 0)); inpMax.val(element.slider("values", 1)); } //initSlider($( "#slider-range" )); $(".js-slider").each(function () { initSlider($(this)); }); $(".js-show-filter").on("click", function () { $(this).hide(); $(this).next(".filters").show(200); }); $(".close-filter").on("click", function () { $(this).closest(".filters").hide(200); $(this).closest(".maps-action-elements").find(".js-show-filter").show(200); }); $('#myTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); }); function myFilter() { var directions = $("[data-type]"); var directionMap = {}; var rangers = $("[data-range]"); var rangersMap = {}; var minRange, maxRange, selectVal; var selects = $("[data-select]"); var selectMap = {}; for (var i = 0, len = directions.length; i < len; i++) { var elem = directions.eq(i); if (!elem.prop("checked")) { continue; } var type = parseInt(elem.attr("data-type")); if (directionMap[type]) { directionMap[type].push(parseInt(elem.attr("data-direction"))); } else { directionMap[type] = [parseInt(elem.attr("data-direction"))]; } } for (var j = 0, leng = rangers.length; j < leng; j++) { minRange = parseFloat(rangers.eq(j).find(".minVal").val()); maxRange = parseFloat(rangers.eq(j).find(".maxVal").val()); if (rangers.eq(j).attr("data-range")) { rangersMap[rangers.eq(j).attr("data-range")] = {"min": minRange, "max": maxRange}; } } for (var k = 0, l = selects.length; k < l; k++) { selectVal = selects.eq(k).val(); if (selectVal) { selectMap[selects.eq(k).attr("data-select")] = selectVal; } } return function (el) { var result = false; if (directionMap[el.type] && directionMap[el.type].indexOf(+el.direction) >= 0) { result = true; } else { return false; } for (var feald in rangersMap) { var fieldVal = parseFloat(el[feald]); var range = rangersMap[feald]; if (el[feald] && fieldVal >= parseFloat(range.min) && fieldVal <= parseFloat(range.max)) { result = true; } else { return false; } } for (var feald1 in selectMap) { if (el[feald1] && el[feald1] === selectMap[feald1]) { result = true; } else { return false; } } return result; }; } $(".filters input[type='checkbox']").on("change", function () { var predicate = myFilter(); markers.forEach(function (el) { el.setVisible(predicate(el)); console.log(predicate(el)); console.log(el); }); markerCluster.clearMarkers(); markerCluster.addMarkers(markers.filter(function (el) { return el.visible; })); }); $("#filter").on("click", function () { var predicate = myFilter(); markers.forEach(function (el) { el.setVisible(predicate(el)); console.log(predicate(el)); console.log(el); }); markerCluster.clearMarkers(); markerCluster.addMarkers(markers.filter(function (el) { return el.visible; })); }); var initMobileActions = function () { $(".js-m-dropdown").on('click', function (e) { e.preventDefault(); $(this).parent().find(".second-dropdown-list").slideToggle(); $(this).find(".caret-down").toggleClass("arrow-right"); }); }; var destroyMobileActions = function () { $(".js-m-dropdown").off(); }; window.matchMedia('(max-width: 980px)').addListener(function (mq3) { if (mq3.matches) { initMobileActions(); } else { destroyMobileActions(); } }); if (window.innerWidth <= 980) { initMobileActions(); } else { destroyMobileActions(); } });