/*! * Copyright (c) 2016. Developed by Alfio Salanitri | Web: www.alfiosalanitri.it | Support: dev@alfiosalanitri.it */ ;var defaultStoreVar=document.getElementById("assl-store-default-var");if(defaultStoreVar!==null){var storeSettingsOption=jQuery(defaultStoreVar).data("storesettings");var mapstyle=jQuery(defaultStoreVar).data("mapstyle");var centerLat=storeSettingsOption.centerlat;var centerLng=storeSettingsOption.centerlng;var actualPosition=storeSettingsOption.defaultposition;var yourPos=storeSettingsOption.yourpos;var geoProbl=storeSettingsOption.geoprobl;var geoBrowser=storeSettingsOption.geobrowser;var ClusterActivation=storeSettingsOption.clusteractivation;var 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 a="assl-gmap";if(document.getElementById(a)!==null){this.Go(a);jQuery(document).on("click",".assl-reset-filter",function(c){c.preventDefault();var b=jQuery("#"+a).closest("#assl-store-locator-container");b.find("#toggleAllStore").prop("checked",true);b.find(".assl-cat").prop("checked",true);b.find("input.radius").prop("checked",false);jQuery("#assl-radius").data("radius",0);jQuery("#assl-no-results").hide();AsslMainFunction.Go(a)})}},Go:function(a){jQuery.ajax({cache:false,url:assl_script_ajax.ajax_url,type:"POST",dataType:"json",data:({action:"getStores"}),success:function(b){AsslGoogleMap.loadMap(a,b.mappa);jQuery("#assl-list").empty().html("");if(b.lista==""){jQuery("#assl-no-results").show()}if(b.totstores===null){jQuery(".totStoreFound").empty().html("0")}else{jQuery(".totStoreFound").empty().html(b.totstores)}},complete:function(){AsslMainFunction.AfterAjax()},error:function(b,d,c){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(b){b.stopImmediatePropagation();var a=jQuery(this).data("button");jQuery("#assl-"+a).slideToggle();jQuery(".assl-filters:not(#assl-"+a+")").hide()})},SelectUnselectAll:function(){jQuery("#toggleAllStore").click(function(a){jQuery(".assl-cat").prop("checked",this.checked)})},TypeFilter:function(){var a=jQuery("#getStoreByCat");jQuery(a).on("click",function(f){f.preventDefault();jQuery(".assl-filters").fadeOut();var d=AsslMainFunction.CreateCategoriesArray();var b=jQuery("#assl-radius").data("radius");var g=AsslMainFunction.CreateUserGeoArray(b);var c={action:"getStores",categories:d,usergeo:g};AsslMainFunction.AjaxCall(c)})},RadiusFilter:function(){jQuery("input[name='radius-value']").on("click",function(){jQuery(".assl-filters").fadeOut();var c=AsslMainFunction.CreateCategoriesArray();var a=jQuery(this).val();var d=AsslMainFunction.CreateUserGeoArray(a);var b={action:"getStores",categories:c,usergeo:d};AsslMainFunction.AjaxCall(b);d=[]})},RemoveRadiusFilter:function(){jQuery("#assl-clear-radius").on("click",function(){jQuery(".assl-filters").fadeOut();jQuery(".radius").prop("checked",false);jQuery("#assl-radius").data("radius",0);var c=AsslMainFunction.CreateUserGeoArray(0);var b=AsslMainFunction.CreateCategoriesArray();var a={action:"getStores",categories:b,usergeo:c};AsslMainFunction.AjaxCall(a);c=[]})},SearchFilter:function(){jQuery("#assl-search-store").enterKey(function(){AsslMainFunction.SearchGo()});jQuery("#searchStore").on("click",function(){AsslMainFunction.SearchGo()})},SearchGo:function(){jQuery(".assl-filters").fadeOut();var d=AsslMainFunction.CreateCategoriesArray();var a=jQuery("#assl-radius").data("radius");var e=AsslMainFunction.CreateUserGeoArray(a);var c=jQuery("#assl-search-store").val();var b={action:"getStores",categories:d,keyword:c,usergeo:e};AsslMainFunction.AjaxCall(b)},CreateUserGeoArray:function(e){var d=[],b=jQuery("#assl-radius"),c=b.data("userlat"),a=b.data("userlng");if(e!=0){d.push(e);d.push(c);d.push(a)}b.data("radius",e);return d},CreateCategoriesArray:function(){var a=[];jQuery(".assl-cat").each(function(){if(jQuery(this).is(":checked")){a.push(jQuery(this).val())}});if(a.length===0){a.push(0)}return a},AjaxCall:function(a){jQuery.ajax({cache:false,url:assl_script_ajax.ajax_url,type:"POST",dataType:"json",data:(a),beforeSend:function(){jQuery("#assl-no-results").hide();jQuery("#assl-loading").show();AsslGoogleMap.circle.setMap(null)},success:function(b){jQuery("#assl-loading").hide();AsslGoogleMap.loadPoi(b.mappa);jQuery("#assl-list").empty().html("");if(b.lista==""){jQuery("#assl-no-results").show()}if(b.totstores===null){jQuery(".totStoreFound").empty().html("0")}else{jQuery(".totStoreFound").empty().html(b.totstores)}},complete:function(){AsslMainFunction.AfterAjax()},error:function(b,d,c){console.log("Spiacente, qualcosa è andato storto durante il caricamento.")}})},AfterAjax:function(){jQuery("#assl-search-store").val("")}};var AsslGoogleMap={elementId:false,poi:false,map:false,circle:false,userlat:false,userlng:false,Usermarker:false,mc:false,directionsDisplay:new google.maps.DirectionsRenderer(),directionsService:new google.maps.DirectionsService(),geocoder:new google.maps.Geocoder,markers:[],loadMap:function(a,b){jQuery("#assl-loading").show();this.elementId=a;this.poi=b;this.map=new google.maps.Map(document.getElementById(a),mapGlobalOptions);if(ClusterActivation=="si"){this.SetMarkerCluster(this.map)}this.Geolocation(this.map,b)},SetMarkerCluster:function(c){var g=storeSettingsOption.clustertext;var f=storeSettingsOption.clusterimgsmall;var b=storeSettingsOption.clusterimgmedium;var e=storeSettingsOption.clusterimglarge;var a=[{textColor:g,url:f,height:30,width:30},{textColor:g,url:b,height:40,width:40},{textColor:g,url:e,height:50,width:50}];var d={gridSize:50,styles:a,maxZoom:15};this.mc=new MarkerClusterer(c,[],d)},Geolocation:function(c,d){var b=jQuery("#assl-radius");var a=false;if(storeSettingsOption.ishttps){if(navigator.geolocation){navigator.geolocation.getCurrentPosition(function(f){var g={lat:f.coords.latitude,lng:f.coords.longitude};if(d.length==0){c.setCenter(g);c.setZoom(13)}AsslGoogleMap.geocodeLatLng(f.coords.latitude,f.coords.longitude,c,yourPos);AsslGoogleMap.userlat=f.coords.latitude;AsslGoogleMap.userlng=f.coords.longitude;jQuery(b).data("userlat",f.coords.latitude);jQuery(b).data("userlng",f.coords.longitude);a=true;AsslGoogleMap.loadPoi(d)},function(){AsslGoogleMap.geocodeLatLng(centerLat,centerLng,c,geoProbl);var f={lat:centerLat,lng:centerLng};if(d.length==0){c.setCenter(f);c.setZoom(13)}AsslGoogleMap.userlat=centerLat;AsslGoogleMap.userlng=centerLng;jQuery(b).data("userlat",centerLat);jQuery(b).data("userlng",centerLng);a=true;AsslGoogleMap.loadPoi(d)})}setTimeout(function(){if(!a){AsslGoogleMap.geocodeLatLng(centerLat,centerLng,c,geoBrowser);var f={lat:centerLat,lng:centerLng};if(d.length==0){c.setCenter(f);c.setZoom(13)}AsslGoogleMap.userlat=centerLat;AsslGoogleMap.userlng=centerLng;jQuery(b).data("userlat",centerLat);jQuery(b).data("userlng",centerLng);AsslGoogleMap.loadPoi(d)}},5000)}else{AsslGoogleMap.geocodeLatLng(centerLat,centerLng,c,actualPosition);var e={lat:centerLat,lng:centerLng};if(d.length==0){c.setCenter(e);c.setZoom(13)}AsslGoogleMap.userlat=centerLat;AsslGoogleMap.userlng=centerLng;jQuery(b).data("userlat",centerLat);jQuery(b).data("userlng",centerLng);AsslGoogleMap.loadPoi(d)}},geocodeLatLng:function(d,a,c,b){if(assl_script_ajax.main_script_enabled=="enabled"){var e={lat:parseFloat(d),lng:parseFloat(a)};this.geocoder.geocode({location:e},function(g,f){if(f===google.maps.GeocoderStatus.OK){if(g[1]){jQuery(".assl-bottom-bar-results").empty().html(b+": "+g[1].formatted_address+"");jQuery(".assl-bottom-bar").fadeIn()}else{jQuery(".assl-bottom-bar-results").empty().html(b);jQuery(".assl-bottom-bar").fadeIn()}}else{jQuery(".assl-bottom-bar-results").empty().html(b);jQuery(".assl-bottom-bar").fadeIn()}})}},drawPoi:function(f,g){var c=new window.google.maps.LatLngBounds();var e=new google.maps.InfoWindow({content:""});for(var b=0;b'}else{e=""}if(c.via){n=c.via+", "+c.num+"
"}else{n=""}if(c.cap){f=c.cap+" - "+c.citta}else{f=c.citta}if(c.telefono){m='
'+c.telefono+"
"}else{m=""}if(c.telefono2){p='
'+c.telefono2+"
"}else{p=""}if(c.fax){d='
Fax '+c.fax+"
"}else{d=""}if(c.email){l=' '+c.email+"
"}else{l=""}if(c.email2){l+=' '+c.email2+"
"}else{l+=""}if(c.website){a=' '+c.website.replace(/(^\w+:|^)\/\//,"")+"
"}else{a=""}var o=storeSettingsOption.calctitle;var h='
'+e+'
'+c.title+'
'+n+f+"
"+m+p+d+'
'+l+a+'

'+o+'

';google.maps.event.addListener(k,"click",function(){g.close();g.setContent(h);g.open(b,k)});this.markers.push(k)},RefreshGeocodeAddress:function(b,a){var c={lat:parseFloat(b),lng:parseFloat(a)};this.geocoder.geocode({location:c},function(e,d){if(d===google.maps.GeocoderStatus.OK){if(e[1]&&assl_script_ajax.main_script_enabled=="enabled"){jQuery(".assl-bottom-bar-results").find("strong").empty().html(e[1].formatted_address)}}})},loadUserMarker:function(a,g,h){if(this.Usermarker){this.Usermarker.setMap(null);this.Usermarker=null}AsslGoogleMap.userlat=g;AsslGoogleMap.userlng=h;var c=jQuery("#assl-radius");jQuery(c).data("userlat",g);jQuery(c).data("userlng",h);var f=new google.maps.LatLng(g,h);a.extend(f);this.map.fitBounds(a);var d=new google.maps.InfoWindow({content:""});var b=storeSettingsOption.pinimage;this.Usermarker=new google.maps.Marker({position:f,map:this.map,draggable:true,animation:google.maps.Animation.DROP,icon:new google.maps.MarkerImage(b,null,null,null,new google.maps.Size(parseInt(storeSettingsOption.pinimagewidth),parseInt(storeSettingsOption.pinimageheight)))});this.RefreshGeocodeAddress(g,h);var j;if(storeSettingsOption.ishttps){j=storeSettingsOption.yourpos}else{j=storeSettingsOption.defaultposition}var e='
'+j+"
";google.maps.event.addListener(this.Usermarker,"click",function(){d.close();d.setContent(e);d.open(AsslGoogleMap.map,this)});google.maps.event.addListener(this.Usermarker,"dragend",function(k){a.extend(new google.maps.LatLng(k.latLng.lat(),k.latLng.lng()));AsslGoogleMap.map.fitBounds(a);AsslGoogleMap.RefreshGeocodeAddress(k.latLng.lat(),k.latLng.lng());AsslGoogleMap.userlat=k.latLng.lat();AsslGoogleMap.userlng=k.latLng.lng();jQuery(c).data("userlat",k.latLng.lat());jQuery(c).data("userlng",k.latLng.lng());AsslGoogleMap.ResetRoute()});this.drawRadius(this.map,f)},drawRadius:function(a,g){var b=document.getElementById("assl-radius");if(b!=null){if(this.circle){this.circle.setMap(null);this.circle=null}var j=jQuery(b).data("radius");var c=jQuery(b).data("radiussettings");var d=c.strokecolor;var f=c.strokeopacity;var k=c.strokeweight;var e=c.fillcolor;var h=c.fillopacity;this.circle=new google.maps.Circle({center:g,map:a,radius:j*1000,strokeColor:d,strokeOpacity:f,strokeWeight:k,fillColor:e,fillOpacity:h})}},flushMarkers:function(){if(ClusterActivation=="si"){this.mc.clearMarkers()}else{for(i=0;i";var l=""+storeSettingsOption.distance+": ";var g=jQuery(this).closest(".assl-map-box").attr("id");AsslGoogleMap.directionsService.route(h,function(u,t){if(t==google.maps.DirectionsStatus.OK){AsslGoogleMap.directionsDisplay.setDirections(u);var s=document.getElementById("direction-content");if(s){jQuery("#assl-gmap").addClass("resized");jQuery("#direction-panel").slideDown();jQuery("#direction-close").css({display:"block"});AsslGoogleMap.directionsDisplay.setPanel(s)}var e=u.routes[0].legs;for(var v=0;v"+l+r)}}})});jQuery(document).on("click","#direction-close",function(b){b.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(b){var a=new google.maps.places.Autocomplete((document.getElementById("set-new-user-marker")),{types:["geocode"]});google.maps.event.addListener(a,"place_changed",function(){AsslGoogleMap.codeNewAddress(b)})},codeNewAddress:function(b){var a=document.getElementById("set-new-user-marker").value;this.geocoder.geocode({address:a},function(d,c){if(c==google.maps.GeocoderStatus.OK){AsslGoogleMap.loadUserMarker(b,d[0].geometry.location.lat(),d[0].geometry.location.lng());AsslGoogleMap.ResetRoute()}else{jQuery(".assl-bottom-bar-results").empty().html("Geocode was not successful for the following reason: "+c+"")}})},openMarker:function(){jQuery(document).on("click",".assl-list-title",function(){var a=jQuery(this).data("marker");jQuery("#assl-list").slideUp();AsslGoogleMap.map.setZoom(17);AsslGoogleMap.map.panTo(AsslGoogleMap.markers[a].position);google.maps.event.trigger(AsslGoogleMap.markers[a],"click")})}};jQuery(document).ready(function(a){jQuery.fn.enterKey=function(b){return this.each(function(){jQuery(this).keypress(function(d){var c=(d.keyCode?d.keyCode:d.which);if(c=="13"){b.call(this,d)}})})};AsslMainFunction.Inizialize()});