 //<![CDATA[

    if (GBrowserIsCompatible()) {
	 // There are now two arrays of markers, one for cold icons and one for hot
      var cmarkers = [];
      var hmarkers = [];
      var htmls = [];
	  
      var i = 0; 
      var gmarkers = [];
      var gicons = [];
      var hotIcon = [];
	  
	  var id_hotel = [];
	  var id_foto = []; 
	  var tipozona= []; 
	  var id_air;
	  var url = [];	       
	  
////////////////BLOCCO HOTELS/////////////////////	  
	  //Icona H-Rossa
	  var hotIcon = new GIcon();
      hotIcon.image = "http://www.nycerome.com/map-hotels-in-rome/img/hrosso.png";
      hotIcon.iconSize = new GSize(15, 15);
      hotIcon.iconAnchor = new GPoint(7, 7);
      hotIcon.infoWindowAnchor = new GPoint(7, 7);
	        
	  	  
	  // Funzione crea tutti gli alberghi 
      function createMarker(i,point,name,html,category,idhotel,urlvisit) {
	   //Icona HOTEL NUMERO
      var coldIcon = new GIcon(hotIcon);	 
	  coldIcon.image = "http://www.nycerome.com/images/common/location/hotel-"+(i+1)+".gif";  	  

        var marker = new GMarker(point,coldIcon);  
        marker.mycategory = category;                                 
        marker.myname = name;
		
		//Evento Click Nuvoletta
		GEvent.addListener(marker, "click", function() {
		//map.removeOverlay(cmarkers[i]);
        //map.addOverlay(hmarkers[i]);		
        marker.openInfoWindowHtml('<table width="250" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF"><tr><td><img src=http://www.nycerome.com/images/hotels/'+idhotel+'.jpg width="90" height="70"></td><td align="center" class=titolo12>'+html+'<p align="center"><a href=http://www.nycerome.com/'+arrayurl[id_lang]+'/'+urlvisit+'/'+urlvisit+'-homepage.html class="visitbook" target="_blank">'+arrayvisit[id_lang]+'</a>&nbsp;&nbsp;&nbsp;<a href=http://www.nycerome.com/h_bookings2.php?id_lang='+id_lang+'&id='+idhotel+' class="visitbook" target="_blank">'+arraybook[id_lang]+'</a></p></td></tr></table>');
        });	
		
		//Quando se chiude la nuvola cambia a Blu
		GEvent.addListener(marker, "infowindowclose", function() {
	      map.removeOverlay(hmarkers[i]);
          map.addOverlay(cmarkers[i]);});		
        // Switch marker mouseover e mouseout
        /*GEvent.addListener(marker, "mouseover", function() {
          marker.setImage("http://www.nycerome.com/map-hotels-in-rome/img/hrosso.png");});
        GEvent.addListener(marker, "mouseout", function() {
          marker.setImage("http://www.nycerome.com/map-hotels-in-rome/img/hblu.png");}); */		
		
		gmarkers.push(marker);        
		//salva due markers Cold e Hot
		//alert (i);
		cmarkers[i] = marker;
        hmarkers[i] = new GMarker(point,hotIcon);
        htmls[i] = html;		
		return marker;
      }      

/////BLOCCO FUNZIONI LISTA ALBERGHI 
     
	 // Lista gli alberghi in opzione show-visible
      function makeSidebar() {
        var html = "<ul>";
        for (var i=0; i<gmarkers.length; i++) {
          if (!gmarkers[i].isHidden()) {
            html += '<li> <a href="javascript:myclick(' + i + ')" onmouseover="mymouseover('+i+')" onmouseout="mymouseout('+i+')"> ' + gmarkers[i].myname + '</a></li><br>';			
          }		  
        }
		html += "</ul>";
        document.getElementById("side_bar").innerHTML = html;
      }
	  	  
	  //Funzione lista Mouseover leva Hblu, mette Hrossa
	  function mymouseover(i) {
        map.removeOverlay(cmarkers[i]);
        map.addOverlay(hmarkers[i]);}		
	  //Funzione lista Mouseout leva Hrossa, mette Hblu	
      function mymouseout(i) {
        map.removeOverlay(hmarkers[i]);
        map.addOverlay(cmarkers[i]);}
      //Funzione lista click nuvola	
	  function myclick(i) {		
        GEvent.trigger(gmarkers[i],"click");}          
	  
	   // CheckBox tutti gli alberghi
      function show(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].show();
          }
        }
        // == check the checkbox ==
        //document.getElementById(category+"box").checked = true;
      }

      // == nasconde la categoria scelta
      function hide(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].hide();
          }
        }
        // == clear the checkbox ==
        document.getElementById(category+"box").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        map.closeInfoWindow();
      }

      // == a checkbox has been clicked ==     
      function boxclick(box,category) {
        if (box.checked) {show(category);
        } else { hide(category); }
        // == rebuild the side bar
        makeSidebar();
      }
////////////////BLOCCO MONUMENTI/////////////////////	

      //CREA ICONA MONUMENTI
	  var url_img= "http://www.nycerome.com/map-hotels-in-rome/img/sight.png";
	  gicons["sight"] = new GIcon(G_DEFAULT_ICON, url_img);
      gicons["sight"].iconSize = new GSize(15, 15);
	  gicons["sight"].shadow = "";
	  gicons["sight"].iconAnchor = new GPoint(7, 7);
	  gicons["sight"].infoWindowAnchor = new GPoint(7, 7);

	   //FUNZIONE CREA MONUMENTI
	  function createMarkerSight(points, monumento, descrizione, foto) {
  		var markerSight = new GMarker(points,gicons["sight"]);
  		GEvent.addListener(markerSight, "click", function() {
    	markerSight.openInfoWindowHtml('<table width=180 border=0 cellpadding=2 cellspacing=0 bgcolor=#FFFFFF><tr><td class=monumenti align="center"><span class=titolo10>'+monumento+'</span><br></td></tr><tr><td align="center"><img src=http://www.nycerome.com/map-hotels-in-rome/img/major-sights-rome/'+foto+'.jpg width="120" height="90"></td></tr></table>');
  		});
  		return markerSight;
		}
		
////////////////BLOCCO  AEROPORTI/////////////////////	

     //Icona Aeroporto
	  var url_img= "http://www.nycerome.com/map-hotels-in-rome/img/aeroporto.png";
	  gicons["air"] = new GIcon(G_DEFAULT_ICON, url_img);
      gicons["air"].iconSize = new GSize(15, 15);
	  gicons["air"].shadow = "";
	  gicons["air"].iconAnchor = new GPoint(7, 7);
	  gicons["air"].infoWindowAnchor = new GPoint(7, 7);
	  
	  function createMarkerAir(point, testohtml) {
  		var markerAir = new GMarker(point,gicons["air"]);
		//alert(point);
  		GEvent.addListener(markerAir, "click", function() {
    	markerAir.openInfoWindowHtml(testohtml);
  		});
  		return markerAir;
		}				

////////////////BLOCCO MAPPA+XML////////////////////13/	 

      // Crea la mappa zoom 11, senza ombra
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
	  //map.addControl(new GOverviewMapControl());
      if (id_air=="1") 
		{map.setCenter(new GLatLng(41.776753, 12.243834), 13);}
	  else if (id_air=="2") 
	    {map.setCenter(new GLatLng(41.844755, 12.548962), 11);}	
      else
	    {map.setCenter(new GLatLng(41.844755, 12.548962), 11);}			
	  map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.visibility="hidden"; 
	  
    ////MARKER AEROPORTI ROME////	
	var point = new GLatLng(41.797987, 12.589636);
    map.addOverlay(createMarkerAir(point, '<table width="250" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF"><tr><td align="center" class=monumenti><span  class=titolo12>'+titolo_cia[id_lang]+'</span><p align="center">'+descrizione_cia[id_lang]+'</p></td></tr></table>'));
	
		var point = new GLatLng(41.794033, 12.251048);
     map.addOverlay(createMarkerAir(point, '<table width="250" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF"><tr><td align="center" class=monumenti><span  class=titolo12>'+titolo_fco[id_lang]+'</span><p align="center">'+descrizione_fco[id_lang]+'</p></td></tr></table>'));
	 
  /////////////////////////////////////////////////	 	  
      // alert (id_air);
      // Legge i markers del file Hotels.php, crea un xml	   
	  if (id_air=="1") 
		{tipozona= "hotels-location-air1.php";}
	  else if (id_air=="2") 
	    {tipozona= "hotels-location-air2.php";}	
      else
	    {tipozona= "hotels-location.php";}			

	  
	  GDownloadUrl("http://www.nycerome.com/map-hotels-in-rome/"+tipozona+"",
	   function(doc) {
        var xmlDoc = GXml.parse(doc);
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");          
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);          
          var name = markers[i].getAttribute("label");
          var html = markers[i].getAttribute("html");
          var category = markers[i].getAttribute("stelle");
		  var idhotel = markers[i].getAttribute("id_hotel");
		  var urlvisit = markers[i].getAttribute("url");
   		  //var idfoto = markers[i].getAttribute("foto");
          // manda a creare ogni marker-hotel
          var marker = createMarker(i,point,name,html,category,idhotel,urlvisit);
          map.addOverlay(marker);
        }
        // Decide quali alberghi mostrare al inizio
        show("**");
        show("***");
        show("****");
		show("*****L");
		show("Apartment");
		show("Town House");
		show("B&B");
        //Cre la lista con lo alberghi con opzione Show-visible
       //makeSidebar();
      });

    }
    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
