if(GBrowserIsCompatible()){var ICON_DOT_RED=new GIcon();ICON_DOT_RED.image="/images/marker.png";ICON_DOT_RED.shadow="/images/markershadow.png";ICON_DOT_RED.iconSize=new GSize(20,34);ICON_DOT_RED.shadowSize=new GSize(42,34);ICON_DOT_RED.iconAnchor=new GPoint(10,34);ICON_DOT_RED.infoWindowAnchor=new GPoint(10,34);var ICON_DOT_GREEN=new GIcon();ICON_DOT_GREEN.image="/images/marker_client.png";ICON_DOT_GREEN.shadow="/images/markershadow.png";ICON_DOT_GREEN.iconSize=new GSize(20,34);ICON_DOT_GREEN.shadowSize=new GSize(42,34);ICON_DOT_GREEN.iconAnchor=new GPoint(10,34);ICON_DOT_GREEN.infoWindowAnchor=new GPoint(10,34)}var mapState={currentMap:null,centerMap:null,zoomMap:null,centerCsm:[],zoomCsm:[],infoWindowOpen:false,markers:[],personal:false,category:false};function resize(){var a=$(window).height()-($("#header").height()+$("#controls").height()+10);$("#content").height(a)}function createMarker(d,b){var a,c=b?ICON_DOT_GREEN:ICON_DOT_RED;a=new GMarker(d,c);GEvent.addListener(a,"infowindowopen",function(){mapState.infoWindowOpen=this.myobject.type+"#"+this.myobject.id});GEvent.addListener(a,"infowindowclose",function(){mapState.infoWindowOpen=false});GEvent.addListener(a,"click",function(){if(this.myobject.tabs.length==0){var e=this;$.get(AURI+"/infowindow/"+this.myobject.type+"/"+this.myobject.id,null,function(h){if(e.myobject.tabs.length==0){var f,g=$(h).find(".first_tab");g=$(g).html();e.myobject.tabs.push(new GInfoWindowTab(LOCAL_TEXT[0],g));$(e.myobject.tabs[0].contentElem).find("img.bImage").portrait();$(e.myobject.tabs[0].contentElem).find("div.bBrowser").portraitBrowser();f=$(h).find(".second_tab");if(f.length>0){f=$(f).html();e.myobject.tabs.push(new GInfoWindowTab(LOCAL_TEXT[1],f))}else{f=$(h).find(".path_tab");if(f.length>0){f=$(f).html();e.myobject.tabs.push(new GInfoWindowTab(LOCAL_TEXT[2],f));$(e.myobject.tabs[1].contentElem).find("form").submit(onDirectionsSubmit)}}}e.openInfoWindowTabsHtml(e.myobject.tabs,{maxWidth:250})},"html")}else{this.openInfoWindowTabsHtml(this.myobject.tabs,{maxWidth:250})}});return a}function showPersonalMarker(){if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){mapState.personal.map.hide()}else{mapState.personal.map.show()}if(mapState.personal.csm[0]){if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){mapState.personal.csm[0].show()}else{mapState.personal.csm[0].hide()}}}function addPersonalMarker(){map.addOverlay(mapState.personal.map);if(mapState.personal.csm[0]){map.addOverlay(mapState.personal.csm[0])}showPersonalMarker()}function createPersonalMarker(g){var f,e,c;f=createMarker(new GLatLng(g[1],g[2]),true);if(g[3]&&g[4]){e=createMarker(new GLatLng(g[3],g[4]),true)}else{e=null}mapState.personal={id:g[0],type:"structure",tabs:[],map:f,csm:[e]};mapState.personal.map.myobject=mapState.personal;if(mapState.personal.csm[0]){mapState.personal.csm[0].myobject=mapState.personal}addPersonalMarker();if(mapState.infoWindowOpen){c=mapState.infoWindowOpen.split("#",2);selectInfoWindow(c[0],c[1])}else{selectInfoWindow("structure",g[0])}}function generateMarkers(h){var f,e,g,c;for(g in h){f=createMarker(new GLatLng(h[g].lat,h[g].lng));if(h[g].y&&h[g].x){e=createMarker(new GLatLng(h[g].y,h[g].x))}else{e=null}mapState.markers[g]={id:h[g].id,type:h[g].type,tabs:[],map:f,csm:[e]};mapState.markers[g].map.myobject=mapState.markers[g];map.addOverlay(mapState.markers[g].map);if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){mapState.markers[g].map.hide()}else{mapState.markers[g].map.show()}if(mapState.markers[g].csm[0]){mapState.markers[g].csm[0].myobject=mapState.markers[g];map.addOverlay(mapState.markers[g].csm[0]);if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){mapState.markers[g].csm[0].show()}else{mapState.markers[g].csm[0].hide()}}}if(mapState.infoWindowOpen){c=mapState.infoWindowOpen.split("#",2);selectInfoWindow(c[0],c[1])}}function resetData(){var a;map.clearOverlays();for(a in mapState.markers){mapState.markers[a].map.myobject=null;if(mapState.markers[a].csm[0]){mapState.markers[a].csm[0].myobject=null}}delete mapState.markers;mapState.markers=[];if(mapState.personal){addPersonalMarker()}}function loadData(a,c){var b;mapState.category=false;if(a==="search"){b=(!c)?$("input#ricerca").val():c;b=(b==="")?false:encodeURIComponent(b);if(b){resetData();$("#ajaxSearch").load(AURI+"/navigation/"+a+"/"+b);$.getJSON(AURI+"/marker/"+a+"/"+b,generateMarkers)}}else{if(a==="category"){mapState.category=(!c)?false:c;b=(!c)?"":c;b=(b==="")?b:"/"+b;resetData();$("#ajaxSearch").load(AURI+"/navigation/"+a+b);$.getJSON(AURI+"/marker/"+a+b,generateMarkers)}}}function onMapTypeChange(){var b,a,c;overview.setMapType(map.getCurrentMapType());if((b=jQuery.inArray(map.getCurrentMapType(),G_CUSTOM_MAPS))!=-1){map.setCenter(mapState.centerCsm[b],mapState.zoomCsm[b]);if((a=jQuery.inArray(mapState.currentMap,G_CUSTOM_MAPS))!=-1){for(c in mapState.markers){if(mapState.markers[c].csm[a]){mapState.markers[c].csm[a].hide()}}}else{for(c in mapState.markers){mapState.markers[c].map.hide()}}for(c in mapState.markers){if(mapState.markers[c].csm[b]){mapState.markers[c].csm[b].show()}}$("#wPage").removeClass("map");$("#wPage").addClass("photo")}else{map.setCenter(mapState.centerMap,mapState.zoomMap);if((a=jQuery.inArray(mapState.currentMap,G_CUSTOM_MAPS))!=-1){for(c in mapState.markers){if(mapState.markers[c].csm[a]){mapState.markers[c].csm[a].hide()}}for(c in mapState.markers){mapState.markers[c].map.show()}}$("#wPage").removeClass("photo");$("#wPage").addClass("map")}mapState.currentMap=map.getCurrentMapType();if(mapState.personal){showPersonalMarker()}if(mapState.infoWindowOpen){arg=mapState.infoWindowOpen.split("#",2);selectInfoWindow(arg[0],arg[1])}}function onZoomEnd(b,c){var a;if(mapState.currentMap==map.getCurrentMapType()){if((a=jQuery.inArray(map.getCurrentMapType(),G_CUSTOM_MAPS))!=-1){mapState.zoomCsm[a]=c}else{mapState.zoomMap=c}}}function onDragEnd(){var a;if((a=jQuery.inArray(map.getCurrentMapType(),G_CUSTOM_MAPS))!=-1){mapState.centerCsm[a]=map.getCenter()}else{mapState.centerMap=map.getCenter()}}function myGetTileUrl(b,c){if(jQuery.isArray(this.myTileUrl)){var a=(b.x+b.y)%this.myTileUrl.length;return this.myTileUrl[a]+"z="+c+"&x="+b.x+"&y="+b.y+"&q="+this.tileQuality}else{return this.myTileUrl+"z="+c+"&x="+b.x+"&y="+b.y+"&q="+this.tileQuality}}function myIsPng(){return false}function myGetOpacity(){return 1}function loadCustomMaps(b){var e,h,f,g,c,d,a=[];for(e in b){h=new GCopyrightCollection(b[e].cc);f=new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0,b[e].cr);h.addCopyright(f);g=[new GTileLayer(h)];g[0].myTileUrl=b[e].url;g[0].tileQuality=b[e].q;g[0].getTileUrl=myGetTileUrl;g[0].isPng=myIsPng;g[0].getOpacity=myGetOpacity;c=new GMercatorProjection(b[e].max+1);d={};d.shortName=b[e].srt;d.maxResolution=b[e].max;d.minResolution=b[e].min;a.push(new GMapType(g,c,b[e].name,d))}return a}function initMap(a,g){var b,d,f,e;map=new GMap2($("#"+a).get(0),{backgroundColor:"#3f3f3f"});map.addControl(new GLargeMapControl());b=new GHierarchicalMapTypeControl();map.addControl(b);overview=new GOverviewMapControl(new GSize(175,125));map.addControl(overview);map.enableDoubleClickZoom();map.enableContinuousZoom();G_CUSTOM_MAPS=[];if(g&&g.length>0){G_CUSTOM_MAPS=loadCustomMaps(g);for(d in G_CUSTOM_MAPS){map.addMapType(G_CUSTOM_MAPS[d]);if(d>0){b.addRelationship(G_CUSTOM_MAPS[0],G_CUSTOM_MAPS[d],null,false)}}}setInterval(function(){if(map.getCurrentMapType()){map.setMapType(map.getCurrentMapType())}},2500);GEvent.addListener(map,"maptypechanged",onMapTypeChange);GEvent.addListener(map,"moveend",onDragEnd);GEvent.addListener(map,"zoomend",onZoomEnd);mapState.noSaveZoom=false}function unloadAll(){var a={};a.cur=jQuery.inArray(map.getCurrentMapType(),map.getMapTypes());if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){a.mapLat=mapState.centerMap.lat();a.mapLng=mapState.centerMap.lng();a.mapZoom=mapState.zoomMap;a.csmLat=map.getCenter().lat();a.csmLng=map.getCenter().lng();a.csmZoom=map.getZoom()}else{a.mapLat=map.getCenter().lat();a.mapLng=map.getCenter().lng();a.mapZoom=map.getZoom();a.csmLat=mapState.centerCsm[0].lat();a.csmLng=mapState.centerCsm[0].lng();a.csmZoom=mapState.zoomCsm[0]}a.iwo=mapState.infoWindowOpen;$.ajax({type:"POST",url:AURI+"/unload",data:a,async:false});GUnload()}function selectInfoWindow(b,c){var a;if(mapState.personal.type==b&&mapState.personal.id==c){if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){if(mapState.personal.csm[0]){GEvent.trigger(mapState.personal.csm[0],"click");map.panTo(mapState.personal.csm[0].getLatLng());return true}}else{GEvent.trigger(mapState.personal.map,"click");map.panTo(mapState.personal.map.getLatLng());return true}}for(a in mapState.markers){if(mapState.markers[a].type==b&&mapState.markers[a].id==c){if(map.getCurrentMapType()==G_CUSTOM_MAPS[0]){if(mapState.markers[a].csm[0]){GEvent.trigger(mapState.markers[a].csm[0],"click");map.panTo(mapState.markers[a].csm[0].getLatLng());return true}}else{GEvent.trigger(mapState.markers[a].map,"click");map.panTo(mapState.markers[a].map.getLatLng());return true}}}return false}function onSelectMenuChange(){var a,c,b,d=$("#pano option:selected").val();if(d.length>2){a=d.split("#",2);b=selectInfoWindow(a[0],a[1]);if(!b){if(a[0]=="structure"){location.assign(BURI+"/"+a[0]+"/"+a[1])}else{location.assign(BURI+"/"+a[0]+"/"+mapState.category+"/"+a[1])}}}$("#pano")[0].selectedIndex=0;return false};
