	var map;
	window.onload = initialize; 
		
	function initialize() {
	
        var indiceZoomMax = 19;
        var indiceZoomMin = 0;
        var zoomLevels = indiceZoomMax - indiceZoomMin + 1;

        var mapDisplayProjection = new OpenLayers.Projection("EPSG:4326");
        var boundsWgs84 = new OpenLayers.Bounds(6.61491298675537, 35.4924545288086,18.5134468078613, 47.0951957702637);

        var mapProjection = new OpenLayers.Projection("EPSG:900913");
        var defaultBounds = boundsWgs84.transform(mapDisplayProjection, mapProjection);

        var options = {
            controls: [],
            projection: mapProjection,
            displayProjection: mapDisplayProjection,
            units: "m",
            maxResolution: 'auto',
            maxExtent: defaultBounds,
            numZoomLevels: zoomLevels,
            maxZoomLevel: indiceZoomMax,
            minZoomLevel: indiceZoomMin
        };

        map = new OpenLayers.Map('mappa', options);
		var google = new OpenLayers.Layer.Google("Google", {sphericalMercator: true});
		google.setVisibility(true);
		google.setIsBaseLayer(true);
  		map.addLayer(google);
  		
  		var layer_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
  		layer_style.fillOpacity = 0.2;
        layer_style.graphicOpacity = 1;
        layer_style.strokeWidth = 3;
        layer_style.strokeColor = "#ff6600";
        
        var poi_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
		poi_style.graphicWidth = 32;
		poi_style.graphicHeight = 28;
		poi_style.graphicOpacity = 1;
		poi_style.graphicXOffset = -(poi_style.graphicWidth/2);
		poi_style.graphicYOffset = -(poi_style.graphicHeight/2);
		poi_style.externalGraphic = "../../../images/poi/poi-generic.png";
		
        var strutture_style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
        strutture_style.graphicWidth = 28;
        strutture_style.graphicHeight = 32;
        strutture_style.graphicOpacity = 1;
        strutture_style.externalGraphic = "../../../images/poi/poi-hotel.png";
  		
		var geoItin = new OpenLayers.Layer.VectorGeoRSS("Itinerari", "/georss/itinerari/", {style: layer_style});
		map.addLayer(geoItin);
		var geoPoi = new OpenLayers.Layer.VectorGeoRSS("Punti di Interesse", "/georss/poi/", {style: poi_style});
		map.addLayer(geoPoi);
		var geoStru = new OpenLayers.Layer.VectorGeoRSS("Strutture", "/georss/strutture/?idStruttura="+idStruttura, {style: strutture_style});
		map.addLayer(geoStru);
		
  		map.addControl(new OpenLayers.Control.Navigation({zoomWheelEnabled: false}));
  		map.addControl(new OpenLayers.Control.PanZoomBar());
        map.addControl(new OpenLayers.Control.KeyboardDefaults());
        
		var control = new OpenLayers.Control.ItSelectFeature([geoItin, geoPoi, geoStru], {
			hover: false,
			clickout: true,
			toggle: true,
			multiple: false,
       		onSelect: function(e) {
       			var pop = e.createPopup();
       			e.layer.map.addPopup(pop);
      		}
		});
		map.addControl(control);
		control.activate();

		map.zoomToExtent(defaultBounds);
		geoStru.events.register('loadend', map, function() {
			map.setCenter(map.layers[3].features[0].geometry.getBounds().getCenterLonLat(), 14);
		});
	 }