jQuery.fn.enterKey=function(e){return this.each(function(){jQuery(this).keypress(function(t){var s=t.keyCode?t.keyCode:t.which;"13"==s&&e.call(this,t)})})};var defaultStoreVar=document.getElementById("assl-store-default-var");if(null!==defaultStoreVar)var storeSettingsOption=jQuery(defaultStoreVar).data("storesettings"),mapstyle=jQuery(defaultStoreVar).data("mapstyle"),centerLat=storeSettingsOption.centerlat,centerLng=storeSettingsOption.centerlng,actualPosition=storeSettingsOption.defaultposition,yourPos=storeSettingsOption.yourpos,geoProbl=storeSettingsOption.geoprobl,geoBrowser=storeSettingsOption.geobrowser,ClusterActivation=storeSettingsOption.clusteractivation,mapGlobalOptions={zoom:14,center:new google.maps.LatLng(centerLat,centerLng),disableDefaultUI:storeSettingsOption.disableui,mapTypeControl:storeSettingsOption.maptype,streetViewControl:storeSettingsOption.streetview,styles:mapstyle,scrollwheel:storeSettingsOption.scrollwheel,backgroundColor:"none"};var AsslMainFunction={Inizialize:function(){var e="assl-gmap";null!==document.getElementById(e)&&this.Go(e)},Go:function(e){jQuery.ajax({cache:!1,url:assl_script_ajax.ajax_url,type:"POST",dataType:"json",data:{action:"assl_store_query_ajax"},success:function(t){AsslGoogleMap.loadMap(e,t.mappa),jQuery("#assl-list").empty().html(""),""==t.lista&&jQuery("#assl-no-results").show(),null===t.totstores?jQuery(".totStoreFound").empty().html("0"):jQuery(".totStoreFound").empty().html(t.totstores)},complete:function(){AsslMainFunction.AfterAjax()},error:function(e,t,s){console.log("Spiacente, qualcosa è andato storto durante il caricamento.")}}),this.ShowFilterContainer(),this.SelectUnselectAll(),this.TypeFilter(),this.RadiusFilter(),this.RemoveRadiusFilter(),this.SearchFilter()},ShowFilterContainer:function(){jQuery(".assl-buttons").on("click",function(e){e.preventDefault();var t=jQuery(this).data("button");jQuery("#assl-"+t).slideToggle(),jQuery(".assl-filters:not(#assl-"+t+")").hide()})},SelectUnselectAll:function(){jQuery("#toggleAllStore").click(function(e){jQuery(".assl-cat").prop("checked",this.checked)})},TypeFilter:function(){var e=jQuery("#getStoreByCat");jQuery(e).on("click",function(e){e.preventDefault(),jQuery(".assl-filters").fadeOut();var t=AsslMainFunction.CreateCategoriesArray(),s=jQuery("#assl-radius").data("radius"),a=AsslMainFunction.CreateUserGeoArray(s),o={action:"assl_store_query_ajax",categories:t,usergeo:a};AsslMainFunction.AjaxCall(o)})},RadiusFilter:function(){jQuery("input[name='radius-value']").on("click",function(){jQuery(".assl-filters").fadeOut();var e=AsslMainFunction.CreateCategoriesArray(),t=jQuery(this).val(),s=AsslMainFunction.CreateUserGeoArray(t),a={action:"assl_store_query_ajax",categories:e,usergeo:s};AsslMainFunction.AjaxCall(a),s=[]})},RemoveRadiusFilter:function(){jQuery("#assl-clear-radius").on("click",function(){jQuery(".assl-filters").fadeOut(),jQuery(".radius").prop("checked",!1),jQuery("#assl-radius").data("radius",0);var e=AsslMainFunction.CreateUserGeoArray(0),t=AsslMainFunction.CreateCategoriesArray(),s={action:"assl_store_query_ajax",categories:t,usergeo:e};AsslMainFunction.AjaxCall(s),e=[]})},SearchFilter:function(){jQuery("#assl-search-store").enterKey(function(){AsslMainFunction.SearchGo()}),jQuery("#searchStore").on("click",function(){AsslMainFunction.SearchGo()})},SearchGo:function(){jQuery(".assl-filters").fadeOut();var e=AsslMainFunction.CreateCategoriesArray(),t=jQuery("#assl-radius").data("radius"),s=AsslMainFunction.CreateUserGeoArray(t),a=jQuery("#assl-search-store").val(),o={action:"assl_store_query_ajax",categories:e,keyword:a,usergeo:s};AsslMainFunction.AjaxCall(o)},CreateUserGeoArray:function(e){var t=new Array,s=jQuery("#assl-radius").data("userlat"),a=jQuery("#assl-radius").data("userlng");return 0!=e&&(t.push(e),t.push(s),t.push(a)),jQuery("#assl-radius").data("radius",e),t},CreateCategoriesArray:function(){var e=new Array;return jQuery(".assl-cat").each(function(){jQuery(this).is(":checked")&&e.push(jQuery(this).val())}),0===e.length&&e.push(0),e},AjaxCall:function(e){jQuery.ajax({cache:!1,url:assl_script_ajax.ajax_url,type:"POST",dataType:"json",data:e,beforeSend:function(){jQuery("#assl-no-results").hide(),jQuery("#assl-loading").show(),AsslGoogleMap.circle.setMap(null)},success:function(e){jQuery("#assl-loading").hide(),AsslGoogleMap.loadPoi(e.mappa),jQuery("#assl-list").empty().html(""),""==e.lista&&jQuery("#assl-no-results").show(),null===e.totstores?jQuery(".totStoreFound").empty().html("0"):jQuery(".totStoreFound").empty().html(e.totstores)},complete:function(){AsslMainFunction.AfterAjax()},error:function(e,t,s){console.log("Spiacente, qualcosa è andato storto durante il caricamento.")}})},AfterAjax:function(){jQuery("#assl-search-store").val("")}},AsslGoogleMap={elementId:!1,poi:!1,map:!1,circle:!1,userlat:!1,userlng:!1,Usermarker:!1,mc:!1,directionsDisplay:new google.maps.DirectionsRenderer,directionsService:new google.maps.DirectionsService,geocoder:new google.maps.Geocoder,markers:[],loadMap:function(e,t){jQuery("#assl-loading").show(),this.elementId=e,this.poi=t;var s=new google.maps.Map(document.getElementById(e),mapGlobalOptions);this.map=s,"si"==ClusterActivation&&this.SetMarkerCluster(this.map),this.Geolocation(this.map,t)},SetMarkerCluster:function(e){var t=storeSettingsOption.clustertext,s=storeSettingsOption.clusterimgsmall,a=storeSettingsOption.clusterimgmedium,o=storeSettingsOption.clusterimglarge,r=[{textColor:t,url:s,height:30,width:30},{textColor:t,url:a,height:40,width:40},{textColor:t,url:o,height:50,width:50}],l={gridSize:50,styles:r,maxZoom:15};this.mc=new MarkerClusterer(e,[],l)},Geolocation:function(e,t){var s=jQuery("#assl-radius"),a=!1;if(storeSettingsOption.ishttps)navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(o){var r={lat:o.coords.latitude,lng:o.coords.longitude};0==t.length&&(e.setCenter(r),e.setZoom(13)),AsslGoogleMap.geocodeLatLng(o.coords.latitude,o.coords.longitude,e,yourPos),AsslGoogleMap.userlat=o.coords.latitude,AsslGoogleMap.userlng=o.coords.longitude,jQuery(s).data("userlat",o.coords.latitude),jQuery(s).data("userlng",o.coords.longitude),a=!0,AsslGoogleMap.loadPoi(t)},function(){AsslGoogleMap.geocodeLatLng(centerLat,centerLng,e,geoProbl);var o={lat:centerLat,lng:centerLng};0==t.length&&(e.setCenter(o),e.setZoom(13)),AsslGoogleMap.userlat=centerLat,AsslGoogleMap.userlng=centerLng,jQuery(s).data("userlat",centerLat),jQuery(s).data("userlng",centerLng),a=!0,AsslGoogleMap.loadPoi(t)}),setTimeout(function(){if(!a){AsslGoogleMap.geocodeLatLng(centerLat,centerLng,e,geoBrowser);var o={lat:centerLat,lng:centerLng};0==t.length&&(e.setCenter(o),e.setZoom(13)),AsslGoogleMap.userlat=centerLat,AsslGoogleMap.userlng=centerLng,jQuery(s).data("userlat",centerLat),jQuery(s).data("userlng",centerLng),AsslGoogleMap.loadPoi(t)}},5e3);else{AsslGoogleMap.geocodeLatLng(centerLat,centerLng,e,actualPosition);var o={lat:centerLat,lng:centerLng};0==t.length&&(e.setCenter(o),e.setZoom(13)),AsslGoogleMap.userlat=centerLat,AsslGoogleMap.userlng=centerLng,jQuery(s).data("userlat",centerLat),jQuery(s).data("userlng",centerLng),AsslGoogleMap.loadPoi(t)}},geocodeLatLng:function(e,t,s,a){var o={lat:parseFloat(e),lng:parseFloat(t)};this.geocoder.geocode({location:o},function(e,t){t===google.maps.GeocoderStatus.OK&&e[1]?(jQuery(".assl-bottom-bar-results").empty().html(a+": "+e[1].formatted_address+""),jQuery(".assl-bottom-bar").fadeIn()):(jQuery(".assl-bottom-bar-results").empty().html(a),jQuery(".assl-bottom-bar").fadeIn())})},drawPoi:function(e,t){for(var s=new window.google.maps.LatLngBounds,a=new google.maps.InfoWindow({content:""}),o=0;o':"",l=t.via?t.via+", "+t.num+"
":"",n=t.cap?t.cap+" - "+t.citta:t.citta,i=t.telefono?'
'+t.telefono+"
":"",u=t.email?'':"",c=t.website?' ':"";var g=storeSettingsOption.calctitle,d='
'+r+'
'+t.title+'
'+l+n+"
"+i+'
'+u+c+'

'+g+'

';google.maps.event.addListener(o,"click",function(){s.close(),s.setContent(d),s.open(e,o)}),this.markers.push(o)},RefreshGeocodeAddress:function(e,t){var s={lat:parseFloat(e),lng:parseFloat(t)};this.geocoder.geocode({location:s},function(e,t){t===google.maps.GeocoderStatus.OK&&e[1]&&jQuery(".assl-bottom-bar-results").find("strong").empty().html(e[1].formatted_address)})},loadUserMarker:function(e,t,s){this.Usermarker&&(this.Usermarker.setMap(null),this.Usermarker=null),AsslGoogleMap.userlat=t,AsslGoogleMap.userlng=s;var a=jQuery("#assl-radius");jQuery(a).data("userlat",t),jQuery(a).data("userlng",s);var o=new google.maps.LatLng(t,s);e.extend(o),this.map.fitBounds(e);var r=new google.maps.InfoWindow({content:""}),l=storeSettingsOption.pinimage;if(this.Usermarker=new google.maps.Marker({position:o,map:this.map,draggable:!0,animation:google.maps.Animation.DROP,icon:l}),this.RefreshGeocodeAddress(t,s),storeSettingsOption.ishttps)var n=storeSettingsOption.yourpos;else var n=storeSettingsOption.defaultposition;var i='
'+n+"
";google.maps.event.addListener(this.Usermarker,"click",function(){r.close(),r.setContent(i),r.open(this.map,this)}),google.maps.event.addListener(this.Usermarker,"dragend",function(t){e.extend(new google.maps.LatLng(t.latLng.lat(),t.latLng.lng())),AsslGoogleMap.map.fitBounds(e),AsslGoogleMap.RefreshGeocodeAddress(t.latLng.lat(),t.latLng.lng()),AsslGoogleMap.userlat=t.latLng.lat(),AsslGoogleMap.userlng=t.latLng.lng(),jQuery(a).data("userlat",t.latLng.lat()),jQuery(a).data("userlng",t.latLng.lng()),AsslGoogleMap.ResetRoute()}),this.drawRadius(this.map,o)},drawRadius:function(e,t){this.circle&&(this.circle.setMap(null),this.circle=null);var s=jQuery("#assl-radius").data("radius"),a=jQuery("#assl-radius").data("radiussettings"),o=a.strokecolor,r=a.strokeopacity,l=a.strokeweight,n=a.fillcolor,i=a.fillopacity;this.circle=new google.maps.Circle({center:t,map:e,radius:1e3*s,strokeColor:o,strokeOpacity:r,strokeWeight:l,fillColor:n,fillOpacity:i})},flushMarkers:function(){if("si"==ClusterActivation)this.mc.clearMarkers();else for(i=0;i"+storeSettingsOption.duration+": ",d=""+storeSettingsOption.distance+": ",p=jQuery(this).closest(".assl-map-box").attr("id");AsslGoogleMap.directionsService.route(c,function(e,t){if(t==google.maps.DirectionsStatus.OK){AsslGoogleMap.directionsDisplay.setDirections(e);var s=document.getElementById("direction-content");s&&(jQuery("#assl-gmap").addClass("resized"),jQuery("#direction-panel").slideDown(),jQuery("#direction-close").fadeIn(),AsslGoogleMap.directionsDisplay.setPanel(s));for(var a=e.routes[0].legs,o=0;o"+d+r)}}})}),jQuery(document).on("click","#direction-close",function(e){e.preventDefault(),AsslGoogleMap.ResetRoute(),jQuery(this).hide()})},ResetRoute:function(){AsslGoogleMap.directionsDisplay.setMap(null),jQuery("#assl-gmap").removeClass("resized"),jQuery("#direction-panel").slideUp(),jQuery("#direction-content").empty(),jQuery(".calc-results").each(function(){jQuery(this).empty()}),jQuery(".calc-dir").each(function(){jQuery(this).removeClass("active")})},NewUserAutocomplete:function(e){var t=new google.maps.places.Autocomplete(document.getElementById("set-new-user-marker"),{types:["geocode"]});google.maps.event.addListener(t,"place_changed",function(){AsslGoogleMap.codeNewAddress(e)})},codeNewAddress:function(e){var t=document.getElementById("set-new-user-marker").value;this.geocoder.geocode({address:t},function(t,s){s==google.maps.GeocoderStatus.OK?(AsslGoogleMap.loadUserMarker(e,t[0].geometry.location.lat(),t[0].geometry.location.lng()),AsslGoogleMap.ResetRoute()):jQuery(".assl-bottom-bar-results").empty().html("Geocode was not successful for the following reason: "+s+"")})},openMarker:function(){jQuery(document).on("click",".assl-list-title",function(){var e=jQuery(this).data("marker");jQuery("#assl-list").slideUp(),AsslGoogleMap.map.setZoom(17),AsslGoogleMap.map.panTo(AsslGoogleMap.markers[e].position),google.maps.event.trigger(AsslGoogleMap.markers[e],"click")})}};jQuery(document).ready(function($){AsslMainFunction.Inizialize()});