;(function($,_,undefined){"use strict";ips.controller.register('communitymap.front.showmap.main',{icons:[],forceBounds:false,bounds:null,initialize:function(){$('#ipsLayout_sidebar').addClass('ipsLayout_sidebarUnused').removeClass('ipsLayout_sidebarUsed');var southWest=new L.LatLng(56.83,-7.14);var northEast=new L.LatLng(74.449,37.466);var bbox=ips.getSetting('communitymap_bbox');if(bbox!==null&&bbox.minLat&&bbox.minLng&&bbox.maxLat&&bbox.maxLng){southWest=new L.LatLng(bbox.minLat,bbox.minLng);northEast=new L.LatLng(bbox.maxLat,bbox.maxLng);this.forceBounds=true;if(ips.getSetting('communitymap_bbox_zoom')){this.setZoomLevel(ips.getSetting('communitymap_bbox_zoom'));}}
this.bounds=new L.LatLngBounds(southWest,northEast);$(window).on('scroll resize',_.bind(function(){if(window.scrollY<0){return false;}
this.setMapHeight();this.map.invalidateSize({debounceMoveend:true});},this));this.defaultMaps=ips.getSetting('communitymap_defaultMaps');if(!!$('#mapMarkers').attr('data-markers')){try{var markersJSON=jQuery.parseJSON($('#mapMarkers').attr('data-markers'));if(markersJSON.length>0){this.setMarkers(markersJSON);}}
catch(err){Debug.log(err);}}
var centerLat=parseFloat(unescape(ips.utils.url.getParam('lat')).replace(',','.'));var centerLng=parseFloat(unescape(ips.utils.url.getParam('lng')).replace(',','.'));var initZoom=parseInt(ips.utils.url.getParam('zoom'));if(centerLat&&centerLng){this.setCenter(centerLat,centerLng);}
if(initZoom){this.setZoomLevel(initZoom);}
this.setEmbed(ips.utils.url.getParam('do')=='embed'?1:0);this.setMapHeight();this.setupMap();this.loadMarkers();this.initEvents();},isEmbedded:false,setEmbed:function(bool){this.isEmbedded=bool;},zoomLevel:null,setZoomLevel:function(setZoomLevel){this.zoomLevel=parseInt(setZoomLevel,10);},initialCenter:null,setCenter:function(setLat,setLng){this.initialCenter=new L.LatLng(parseFloat(setLat),parseFloat(setLng));},stuffSize:0,setMapHeight:function(){if(this.stuffSize===0){this.stuffSize=$('#communitymapWrapper').offset().top;}
var browserHeight=$(window).height();var scrollY=(window.pageYOffset!==undefined)?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;var leftForMe;if(scrollY>this.stuffSize){leftForMe=$(window).height();}
else
{leftForMe=browserHeight-this.stuffSize+scrollY;}
if($('#mapWrapper').height()!==leftForMe){$('#mapWrapper').css({height:leftForMe});var memberListHeight=leftForMe+$('.ipsPageHeader').height();if($('#elClubHeader_small').length>0){memberListHeight=memberListHeight-$('#elClubHeader_small').height();}
if($('#elClubHeader').length>0){memberListHeight=memberListHeight+$('#elClubHeader').outerHeight();}
memberListHeight=memberListHeight>300?memberListHeight:300;$('#communitymap_memberList').css({height:memberListHeight});return true;}
return false;},clear:function(){this.mastergroup.clearLayers();var southWest=new L.LatLng(56.83,-7.14);var northEast=new L.LatLng(74.449,37.466);var bbox=ips.getSetting('communitymap_bbox');if(bbox!==null&&bbox.minLat&&bbox.minLng&&bbox.maxLat&&bbox.maxLng){southWest=new L.LatLng(bbox.minLat,bbox.minLng);northEast=new L.LatLng(bbox.maxLat,bbox.maxLng);this.forceBounds=true;if(ips.getSetting('communitymap_bbox_zoom')){this.setZoomLevel(ips.getSetting('communitymap_bbox_zoom'));}}
this.bounds=new L.LatLngBounds(southWest,northEast);},allMarkers:[],setMarkers:function(markers){this.allMarkers=markers;},reloadMarkers:function(){if(this.oldMarkersIndicator!==null){this.map.removeControl(this.oldMarkersIndicator);}
this.clear();this.loadMarkers(true);},map:null,defaultMaps:{},mapServices:[],baseMaps:{},overlayMaps:{},overlayControl:null,mastergroup:null,setupMap:function(){var defaultMap='';$.each(this.defaultMaps.basemaps,_.bind(function(id,name){try
{var key=name.toLowerCase().replace('.','');var prettyName=name.replace('.',' ');this.mapServices[key]=L.tileLayer.provider(name)
this.baseMaps[prettyName]=this.mapServices[key];if(defaultMap===''){defaultMap=key;}}
catch(e){Debug.log(e.message);}},this));var contextMenu=[];contextMenu.push({text:ips.getString('communitymap_centerMap'),callback:function(e){this.map.flyTo(e.latlng);}},'-',{text:ips.getString('communitymap_zoomIn'),icon:this.icons.zoomIn,callback:function(){this.map.zoomIn();}},{text:ips.getString('communitymap_zoomOut'),icon:this.icons.zoomOut,callback:function(){this.map.zoomOut();}});var newDefault='';if(typeof ips.utils.cookie.get('communitymap_baseMap')=='string'&&ips.utils.cookie.get('communitymap_baseMap').length>0){newDefault=ips.utils.cookie.get('communitymap_baseMap').toLowerCase();}
if(newDefault!==''){if(this.mapServices[newDefault]!==undefined){defaultMap=newDefault;}}
this.map=L.map('mapCanvas',{minZoom:1,zoom:(this.zoomLevel||7),layers:[this.mapServices[defaultMap]],maxBounds:L.latLngBounds(L.latLng(-89.98155760646617,-180),L.latLng(89.99346179538875,180)),maxBoundsViscosity:1.0,contextmenu:(L.Browser.mobile?false:true),contextmenuWidth:180,contextmenuItems:contextMenu,fullscreenControl:L.Browser.mobile?false:true,attributionControl:true,crs:L.CRS.EPSG3857,tap:(L.Browser.touch&&L.Browser.safari&&L.Browser.mobile)});this.map.attributionControl.addAttribution('Powered by <a href="https://www.geoapify.com/" target="_blank">Geoapify</a>');if(L.Browser.mobile===false){L.control.scale().addTo(this.map);}
this.map.fitBounds(this.bounds,{maxZoom:(this.zoomLevel||7)});if(ips.getSetting('communitymap_enable_clustering')==1&&ips.utils.url.getParam('filter')!='getByUser'){this.mastergroup=L.markerClusterGroup({chunkedLoading:true,zoomToBoundsOnClick:true});}
else
{this.mastergroup=L.featureGroup();}
this.map.addLayer(this.mastergroup);this.overlayControl=L.control.layers(this.baseMaps,this.overlayMaps,{collapsed:(L.Browser.mobile||this.isEmbedded?true:false)}).addTo(this.map);this.map.on('baselayerchange',function(baselayer){ips.utils.cookie.set('communitymap_baseMap',baselayer.name.toLowerCase().replace(/\s/g,''));});this.map.on('contentupdate popupopen',function(e){ips.ui.truncate.respond($('.communitymap_popupContent'),{type:'hide',size:'3 lines'});var localTimezoneElem=$(e.popup._contentNode).find('.localTime');var localTimezone=$(localTimezoneElem).attr('data-timezone');if(localTimezone!==''&&!_.isUndefined(localTimezone)&&localTimezoneElem.attr('data-parsed')!==1){var localTimeString=new Date().toLocaleTimeString((navigator.language||$('html').attr('lang')),{timeZone:localTimezone,hour:'2-digit',minute:'2-digit'});localTimezoneElem.attr('data-parsed','1').html(ips.getString('communitymap_localTime',{time:localTimeString})).show();}
e.popup._adjustPan();});if(ips.getSetting('communitymap_showNightAndDay')&&ips.utils.url.getParam('filter')!=='getByUser'){var terminator=L.terminator().addTo(this.map);this.map.addEventListener('zoomstart movestart popupopen',function(e){terminator.setTime();});}},oldMarkersIndicator:null,loadMarkers:function(forceReload){var dbCacheDate;var self=this;function loadNextFile(id,fromDb){if(fromDb){var data=localStorage.getItem('communitymap.'+localStoragePrefix+'markers_'+id);var cacheTime=ips.utils.db.get('communitymap',localStoragePrefix+'cacheTime');if((id===0&&data===null)||cacheTime<ips.getSetting('communitymap_cacheTime')){if(id===0&&data===null){ips.utils.db.remove('communitymap',localStoragePrefix+'markers');}
self.reloadMarkers();return;}
if(data===null){finished(true);return;}
try
{data=JSON.parse(LZString.decompressFromUTF16(data));}
catch(e){self.reloadMarkers();return;}
if(data.data!==null&&data.data.length>0){dbCacheDate=new Date(data.time*1000);var nowdate=new Date();if(((nowdate.getTime()-dbCacheDate.getTime())/1000)>86400){self.reloadMarkers();return;}
self.showMarkers(data.data);self.allMarkers=self.allMarkers.concat(data.data);loadNextFile(++id,true);return;}}
else
{ips.getAjax()({url:ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=ajax&do=getCache&id='+id,cache:false,async:true,dataType:'json',success:function(res){if(res.error){finished();return;}
var nextId=id+1;if(dbEnabled){localStorage.setItem('communitymap.'+localStoragePrefix+'markers_'+id,LZString.compressToUTF16(JSON.stringify({time:parseInt((new Date()).getTime()/1000,10),data:res.markers})));ips.utils.db.remove('communitymap',localStoragePrefix+'markers_'+nextId);}
self.showMarkers(res.markers);self.allMarkers=self.allMarkers.concat(res.markers);loadNextFile(nextId,false);return;},error:function(xhr,ajaxOptions,thrownError){if(xhr.status==404){finished(false);return;}}});}}
function finished(fromDb){self.updateOverlays();if(fromDb){if(self.oldMarkersIndicator===null&&!self.isEmbedded&&!_.isUndefined(dbCacheDate)){self.oldMarkersIndicator=new L.Control.communitymapOldMarkers({callback:function(){window.location.href=ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=showmap&dropBrowserCache=1';},time:dbCacheDate});self.map.addControl(self.oldMarkersIndicator);}}
else
{if(dbEnabled){ips.utils.db.set('communitymap',localStoragePrefix+'cacheTime',ips.getSetting('communitymap_cacheTime'));}}
var date=_.isUndefined(dbCacheDate)?new Date():dbCacheDate;$('#elToolsMenuBrowserCache a time').html('('+ips.getString('communitymap_browserCache_update')+': '+ips.utils.time.readable(date.getTime()/1000)+')');}
forceReload=typeof forceReload!=='undefined'?forceReload:false;if(ips.utils.url.getParam('dropBrowserCache')==1){forceReload=true;this.removeURIParam('dropBrowserCache');}
if(this.allMarkers&&this.allMarkers.length>0){this.showMarkers();this.updateOverlays();return;}
var localStoragePrefix="";if(!_.isUndefined(ips.getSetting('cookie_prefix'))&&ips.getSetting('cookie_prefix')!==''){localStoragePrefix=ips.getSetting('cookie_prefix')+'.';}
var dbEnabled=ips.utils.db.isEnabled();if(!dbEnabled){$('#elToolsMenuBrowserCache').addClass('ipsMenu_itemDisabled');$('#elToolsMenuBrowserCache a').append('(Not supported by your browser)');}
if(forceReload||!dbEnabled){this.allMarkers=[];loadNextFile(0,false);}
else
{loadNextFile(0,true);}},dontRepan:false,hasLocation:false,updateOverlays:function(){var self=this;$.each(this.overlayMaps,function(id,group){if(group.addToMap){group.addTo(self.map);self.bounds.extend(group.getBounds());}});$.each(this.overlayControl._layers,function(id,layer){if(layer.overlay===true&&layer.layer.getLayers()!=='undefined'&&layer.layer.getLayers().length>0){var count=layer.layer.getLayers().length;if(count>0){self.overlayControl._layers[id].name=self.overlayControl._layers[id].name+" ("+count+")";}}});if($.isArray(this.defaultMaps.overlays)&&this.defaultMaps.overlays.length>0){$.each(this.defaultMaps.overlays,function(id,name){try
{var prettyName=name.replace('.',' ');self.overlayControl.addOverlay(L.tileLayer.provider(name),prettyName);}
catch(e){Debug.log(e.message);}});}
this.overlayControl._update();if(ips.getSetting('memberID')){if(this.hasLocation&&ips.getSetting('communitymap_canEdit')){this.map.contextmenu.insertItem({'text':ips.getString('communitymap_context_editLocation'),callback:this.updateLocation},0);this.map.contextmenu.insertItem({separator:true},1);}
else if(!this.hasLocation&&ips.getSetting('communitymap_canAdd')){this.map.contextmenu.insertItem({'text':ips.getString('communitymap_context_addLocation'),callback:this.updateLocation},0);this.map.contextmenu.insertItem({separator:true},1);}}
if(this.dontRepan===false){if(this.initialCenter instanceof L.LatLng){if(this.zoomLevel){this.map.flyTo(this.initialCenter,this.zoomLevel,{duration:1.4});}
else
{this.map.flyTo(this.initialCenter);}}
else
{this.map.fitBounds(this.bounds,{padding:[50,50],maxZoom:11});}}},popups:[],initEvents:function(){$('[data-role="triggerLocationPopup"]').click(_.bind(this.showLocationPopup,this));this.on('click','#communitymap_memberList h3',function(e){var wrapper=$(e.currentTarget).parent();var next=$('div.ipsSideMenu ul',wrapper);Debug.log(next);if(wrapper.hasClass('memberlist_closed')){wrapper.addClass('memberlist_open').removeClass('memberlist_closed');ips.utils.anim.go('fadeInDown fast',next);}
else
{wrapper.removeClass('memberlist_open').addClass('memberlist_closed');ips.utils.anim.go('fadeOutDown fast',next);}});},showLocationPopup:function(e){var self=this;Debug.log("this works");e.preventDefault();if(typeof this.popups['addLocationPopup']==='object'){this.popups['addLocationPopup'].destruct();this.popups['addLocationPopup'].remove();delete this.popups['addLocationPopup'];}
this.popups['addLocationPopup']=ips.ui.dialog.create({title:ips.getString('communitymap_location_title'),url:ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=showmap&do=add',callback:function(){var geolocationSupported=true;if(!('geolocation'in navigator)){geolocationSupported=false;}
if(document.location.protocol!=='https:'){geolocationSupported=false;}
if(!ips.getSetting('communitymap_geolocationEnabled')){geolocationSupported=false;}
if(!navigator.geolocation||!geolocationSupported){$('#communitymap_geolocation_wrapper').hide();$('#communitymap_manuallocation_wrapper').removeClass('ipsGrid_span6').addClass('ipsGrid_span12');}
else
{$('#communitymap_currentLocation').click(self.processGeolocation);}
let getStyledAddressSingleValue=function(n,e){};$('#elInput_communitymap_location').autocomplete({source:function(request,response){ips.getAjax()({url:ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=ajax&do=locationSearch',dataType:'json',data:{q:request.term,},success:function(data){response($.map(data.results,function(item){return{value:item.formatted,resultType:item.result_type,latLng:{lat:item.lat,lng:item.lon,country:item.address?item.address.country_code:null}};}));}});},minLength:3,select:function(event,ui){$('#communitymap_form_location input[name="lat"]').val(parseFloat(ui.item.latLng.lat).toFixed(6));$('#communitymap_form_location input[name="lng"]').val(parseFloat(ui.item.latLng.lng).toFixed(6));$('#communitymap_form_location input[name="country"]').val(ui.item.latLng.country);}}).autocomplete("instance")._renderItem=function(ul,item){let value=item.value;let icon="";const featureIcons={unknown:"map-marker",amenity:"map-marker",building:"building",street:"road",suburb:"building",district:"building",postcode:"building",city:"building",county:"building",state:"building"}
if(featureIcons[item.resultType]){icon="<span class='ipsType_large'><i class='fa fa-"+featureIcons[item.resultType]+"'></i></span> ";}
const o=value.toLowerCase().indexOf(this.term.toLowerCase());if(o>=0){value=value.substring(0,o)+"<strong>"+item.value.substring(o,o+this.term.length)+"</strong>"+item.value.substring(o+this.term.length);}
return $("<li>").append("<div>"+icon+value+"</div>").appendTo(ul);};$('#communitymap_form_location').on('submit',function(e){if($('#communitymap_form_location input[name="lat"]').val().length===0||$('#communitymap_form_location input[name="lng"]').val().length===0){e.preventDefault();return false;}});}});this.popups['addLocationPopup'].show();},processGeolocation:function(e){e.preventDefault();if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(position){$('#communitymap_form_location input[name="lat"]').val(position.coords.latitude);$('#communitymap_form_location input[name="lng"]').val(position.coords.longitude);$('#communitymap_form_location').submit();},function(error){$('#communitymap_addLocation_error').append('ERROR('+error.code+'): '+error.message).append('<br />'+ips.getString('memebermap_geolocation_error')).show();$('#communitymap_geolocation_wrapper').hide();},{maximumAge:(1000*60*15),enableHighAccuracy:true});}},counter:0,showMarkers:function(markers){var self=this;markers=typeof markers!=='undefined'?markers:false;var getByUser=ips.utils.url.getParam('filter')=='getByUser'?true:false;var memberId=parseInt(ips.utils.url.getParam('member_id'));var flyToZoom=8;var showStaffMembersBlock=false;var showFollowedUsersBlock=false;var showOtherUsersBlock=false;if(this.forceBounds){this.dontRepan=true;}
if(markers===false){markers=this.allMarkers;}
var length=markers.length;if(length>0){for(var i=0;i<length;i++){var marker=markers[i];if(marker.lat===0&&marker.lon===0){continue;}
if(marker.viewPerms!=='*'&&$.inArray(ips.getSetting('member_group'),marker.viewPerms)===-1){continue;}
var bgColour='darkblue';var icon='user';var iconColour='white';var popupOptions={autoPan:true,minWidth:175};if(marker.type=='member'){if(marker.member_id==ips.getSetting('memberID')){icon='home';bgColour='green';$('#communitymap_addLocation_wrapper').hide();$('#communitymap_myLocation_wrapper').show();if(!ips.getSetting('communitymap_canEdit')){$('li#communitymap_button_addLocation').addClass('ipsMenu_itemDisabled');$('li#communitymap_button_addLocation').attr('data-ipsTooltip','').attr('title',ips.getString('communitymap_cannot_edit_location'));}
this.hasLocation=true;if(ips.utils.url.getParam('goHome')==1){getByUser=true;memberId=marker.member_id;flyToZoom=10;this.removeURIParam('goHome');}}
else
{if(marker.bgColour){bgColour=marker.bgColour;}
if(marker.colour){iconColour=marker.colour;}
if(marker.icon){icon=marker.icon;}}}
else
{if(typeof marker.expiryDate==='number'){if(parseInt(marker.expiryDate)>0&&parseInt(marker.expiryDate)<Math.round(new Date().getTime()/1000)){Debug.log("Cache expired");window.location.href=ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=showmap&do=rebuildServerCache&csrfKey='.ips.getSetting('csrfKey');}}
iconColour=marker.colour;icon=marker.icon||'map-marker';bgColour=marker.bgColour;popupOptions.minWidth=320;}
var _icon=L.AwesomeMarkers.icon({prefix:'fa',icon:icon.replace('fa-',''),markerColor:bgColour,iconColor:iconColour});var contextMenu=[];var enableContextMenu=false;if(marker.type=='member'&&(ips.getSetting('canModerateMap')||(ips.getSetting('memberID')==marker.member_id&&ips.getSetting('communitymap_canDelete')))){enableContextMenu=true;contextMenu=this.getMarkerContextMenu(marker);}
let mapMarker=L.marker(L.latLng(marker.lat,marker.lon),{title:marker.title,icon:_icon,contextmenu:enableContextMenu,contextmenuItems:contextMenu});mapMarker.marker_id=marker.id;mapMarker.marker_ext=marker.ext;mapMarker.popupAjaxed=0;if(marker.popup.length>0){mapMarker.bindPopup(marker.popup,(popupOptions||{}));}
else
{var popupLoading=L.DomUtil.create('div','ipsLoading');popupLoading.style.height="70px";mapMarker.bindPopup(popupLoading,(popupOptions||{}));mapMarker.on('click',function(e){var popup=e.target.getPopup();var url=ips.getSetting('baseURL')+'index.php?app=communitymap&module=communitymap&controller=ajax&do=getPopup&id='+e.target.marker_id+'&ext='+e.target.marker_ext;if(!e.target.popupAjaxed){ips.getAjax()(url).done(function(res){e.target.popupAjaxed=1;popup.setContent(res);popup.update();self.map.fire('popupopen',{popup:popup});});}});}
if(marker.type==='member'){if($('#communitymap_memberList').is(':hidden')){$('#ipsLayout_sidebar').addClass('ipsLayout_sidebarUsed').removeClass('ipsLayout_sidebarUnused');$('#communitymap_memberList').show();}
if($('#memberList_staff').length){var title=$('<li>').addClass('ipsCursor_pointer').append(marker.member_name);if(marker.isStaff&&ips.getSetting('communitymap_highlightStaff')){$('#memberList_staff div ul').append(title);showStaffMembersBlock=true;}
else if($.inArray(marker.member_id,ips.getSetting('communitymap_membersIFollow'))!==-1){$('#memberList_followers div ul').append(title);showFollowedUsersBlock=true;}
else
{if(ips.getSetting('communitymap_groupByMemberGroup')&&marker.parent_id>0){if($('#memberList_'+marker.parent_id).length==0){$('#communitymap_memberList').append('<div id="memberList_'+marker.parent_id+'"><h3 class="ipsType_reset ipsWidget_title">'+marker.parent_name+'</h3><div class="ipsSideMenu ipsAreaBackground_reset ipsPad"><ul class="ipsList_reset ipsList_bullets"></ul></div></div>');}
$('#memberList_'+marker.parent_id+' div ul').append(title);}
else
{$('#memberList_others div ul').append(title);showOtherUsersBlock=true;}}
$(title).click(function(){if(ips.getSetting('communitymap_enable_clustering')==1){self.mastergroup.zoomToShowLayer(mapMarker,function(){self.map.panTo(mapMarker.getLatLng());mapMarker.fireEvent('click');});}
else
{self.map.flyTo(mapMarker.getLatLng(),8);mapMarker.fireEvent('click');}});}
if(ips.getSetting('communitymap_groupByMemberGroup')&&marker.parent_id>0){if(_.isUndefined(this.overlayMaps['member-'+marker.parent_id])){this.overlayMaps['member-'+marker.parent_id]=L.featureGroup.subGroup(this.mastergroup);this.overlayControl.addOverlay(this.overlayMaps['member-'+marker.parent_id],marker.parent_name);this.overlayMaps['member-'+marker.parent_id].addToMap=0;if(ips.getSetting('communitymap_onlyShowGroup').length>0){if($.inArray(marker.parent_name.toLowerCase(),ips.getSetting('communitymap_onlyShowGroup'))!==-1){this.overlayMaps['member-'+marker.parent_id].addToMap=1;}}
else
{this.overlayMaps['member-'+marker.parent_id].addToMap=1;}}
mapMarker.addTo(this.overlayMaps['member-'+marker.parent_id]);}
else
{if(_.isUndefined(this.overlayMaps['members'])){this.overlayMaps['members']=L.featureGroup.subGroup(this.mastergroup);this.overlayControl.addOverlay(this.overlayMaps['members'],ips.getString('communitymap_overlay_members'));this.overlayMaps['members'].addToMap=0;if(ips.getSetting('communitymap_onlyShowGroup').length>0){if($.inArray("members",ips.getSetting('communitymap_onlyShowGroup'))!==-1){this.overlayMaps['members'].addToMap=1;}}
else
{this.overlayMaps['members'].addToMap=1;}}
mapMarker.addTo(this.overlayMaps['members']);}}
else
{marker.parent_id=marker.appName||marker.parent_id;if(_.isUndefined(this.overlayMaps['custom-'+marker.parent_id])){var layerName=ips.getString('communitymap_marker_group_'+marker.parent_id+'_JS')||(marker.parent_name?marker.parent_name:marker.appName);this.overlayMaps['custom-'+marker.parent_id]=L.featureGroup.subGroup(this.mastergroup);this.overlayControl.addOverlay(this.overlayMaps['custom-'+marker.parent_id],layerName);this.overlayMaps['custom-'+marker.parent_id].addToMap=0;if(ips.getSetting('communitymap_onlyShowGroup').length>0){if($.inArray(layerName.toLowerCase(),ips.getSetting('communitymap_onlyShowGroup'))!==-1){this.overlayMaps['custom-'+marker.parent_id].addToMap=1;}}
else
{this.overlayMaps['custom-'+marker.parent_id].addToMap=1;}}
mapMarker.addTo(this.overlayMaps['custom-'+marker.parent_id]);}
this.counter=this.counter+1;if(getByUser&&memberId>0&&marker.type=='member'&&marker.member_id==memberId){this.dontRepan=true;this.map.flyTo(mapMarker.getLatLng(),flyToZoom);}}
$('#communitymap_counter span').html(this.counter);if(showStaffMembersBlock&&$('#memberList_staff').is(':hidden')){$('#memberList_staff').slideDown(200);}
if(showFollowedUsersBlock&&$('#memberList_followers').is(':hidden')){$('#memberList_followers').slideDown(200);}
if(showOtherUsersBlock&&$('#memberList_others').is(':hidden')){$('#memberList_others').slideDown(200);}
if(showOtherUsersBlock&&$('#memberList_others h3').is(':hidden')){$('#memberList_others h3').show();}}},updateLocation:function(e){ips.ui.alert.show({type:'confirm',message:ips.getString('communitymap_confirm_updateLocation'),callbacks:{'ok':function(){var url=ips.getSetting('baseURL')+"index.php?app=communitymap&module=communitymap&controller=showmap&do=add";ips.getAjax()({url:url,data:{lat:e.latlng.lat,lng:e.latlng.lng,'communitymap_form_location_submitted':1},type:'POST'}).done(function(data){if(data['error']){ips.ui.alert.show({type:'alert',message:data['error']});}
else
{window.location.replace(ips.getSetting('baseURL')+"index.php?app=communitymap&module=communitymap&controller=showmap&dropBrowserCache=1&goHome=1");}});}}});},getMarkerContextMenu:function(marker,markerData){if(ips.getSetting('canModerateMap')||(ips.getSetting('memberID')==marker.member_id&&ips.getSetting('communitymap_canDelete'))){return[{'text':ips.getString('delete'),index:0,callback:function(e){ips.ui.alert.show({type:'confirm',callbacks:{'ok':function(){var url=ips.getSetting('baseURL')+"index.php?app=communitymap&module=communitymap&controller=showmap&do=delete&member_id="+marker.member_id;ips.getAjax()({url:url,type:'GET'}).done(function(data){if(data['error']){ips.ui.alert.show({type:'alert',message:data['error']});}
else
{window.location.replace(ips.getSetting('baseURL')+"index.php?app=communitymap&module=communitymap&controller=showmap&dropBrowserCache=1");}});}}});}},{separator:true,index:1}];}
return[];},paneZindex:450,addCustomOverlay:function(id,name,defaultOn){if(typeof this.overlayMaps['custom-'+id]==="undefined"){this.overlayMaps['custom-'+id]=L.featureGroup();overlayControl.addOverlay(this.overlayMaps['custom-'+id],name);if(defaultOn){this.overlayMaps['custom-'+id].addTo(map);}
this.map.createPane(id+'Pane');this.map.getPane(id+'Pane').style.zIndex=this.paneZindex;this.paneZindex=this.paneZindex-1;}
return this.overlayMaps['custom-'+id];},removeURIParam:function(param){var urlObject=ips.utils.url.getURIObject();var queryKeys=urlObject.queryKey;var newUrl;delete queryKeys[param];if(Object.keys(queryKeys).length>0){var newQuery=Object.keys(queryKeys).reduce(function(a,k){var v=(queryKeys[k]!=="")?k+'='+encodeURIComponent(queryKeys[k]):k;a.push(v);return a;},[]).join('&');newUrl=window.location.origin+window.location.pathname+'?'+newQuery;}
else
{newUrl=window.location.origin+window.location.pathname;}
History.replaceState(null,document.title,newUrl);}});}(jQuery,_));L.Control.communitymapOldMarkers=L.Control.extend({options:{position:'topleft',time:null,callback:null},initialize:function(options){L.setOptions(this,options);},onAdd:function(map){var container=L.DomUtil.create('div','leaflet-control-layers leaflet-control-layers-expanded leaflet-control-cached-warning');var info=L.DomUtil.create('p','',container);info.innerHTML=ips.getString('communitymap_cached_markers',{date:ips.utils.time.localeDateString(this.options.time,{weekday:'short',month:'short',day:'numeric',year:'numeric',hour:'numeric',minute:'numeric'})});var link=L.DomUtil.create('a','test',container);link.innerHTML=ips.getString('communitymap_cached_markers_refresh');link.href='#';L.DomEvent.on(link,'click',L.DomEvent.preventDefault).on(link,'click',this.options.callback);return container;}});L.Control.Zoom.mergeOptions({zoomInTitle:ips.getString('leaflet_zoomIn')||'Zoom in',zoomOutTitle:ips.getString('leaflet_zoomOut')||'Zoom out'});L.Control.FullScreen.mergeOptions({title:ips.getString('leaflet_fullScreen')||'Full Screen',titleCancel:ips.getString('leaflet_exitFullScreen')||'Exit Full Screen',});;