 //<![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.test.nyceparis.com/map-hotels-in-paris/img/hrosso.png";
      hotIcon.iconSize = new GSize(15, 15);
      hotIcon.iconAnchor = new GPoint(7, 7);
      hotIcon.infoWindowAnchor = new GPoint(7, 7);
	  //Icona H-Blu
             
	  	  
	  // Funzione crea tutti gli alberghi 
      function createMarker(i,point,name,html,category,idhotel,urlvisit) {		  
	   //alert(id_lang);		
	   var coldIcon = new GIcon(hotIcon);	 
	  coldIcon.image = "http://www.test.nyceparis.com/images/common/location/hotel-"+(i+1)+".gif";  	
       
	   var marker = new GMarker(point,coldIcon);  	   
	   var hotels = '<table><tr><td><img src=http://www.test.nyceparis.com/images/hotels/'+idhotel+'.jpg width="90" height="70"></td><td align="center" class=titolo12>'+name+'<br><br><span class="link10b">'+arraycategoria[id_lang]+':'+category+'</span></td></tr></table>';
		
 	    marker.tooltip = '<div class="tooltip">'+hotels+'</div>';		 
        marker.mycategory = category;                                 
        marker.myname = name;
		
		// Evento Click
        GEvent.addListener(marker, "click", function() {
		//url = "h_rates2.php?id_lang="+id_lang+"&id="+idhotel;
		//url = "http://www.test.nyceparis.com/"+arrayurl[id_lang]+"/"+urlvisit+"-map.html";
		url = "http://www.test.nyceparis.com/"+arrayurl[id_lang]+"/"+urlvisit+"/"+urlvisit+"-homepage.html";
		goToURL(url);});   	
		
		//  ======  The new marker "mouseover" and "mouseout" listeners  ======
        GEvent.addListener(marker,"mouseover", function() {
         /* marker.setImage("http://www.test.nyceparis.com/map-hotels-in-paris/img/hrosso.png");*/													
          showTooltip(marker);
        });        
        GEvent.addListener(marker,"mouseout", function() {
          /*marker.setImage("http://www.test.nyceparis.com/map-hotels-in-paris/img/hblu.png");*/													   		  tooltip.style.visibility="hidden"
        });        		
		
		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;
      }  	  
	  

/////BLOCCO FUNZIONI CHECKBOX 

	   // 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;
		//document.getElementById(category+"box").disabled = false;
      }

      // == 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;
		//document.getElementById(category+"box").disabled = 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 FUNZIONI showTooltip 

 function showTooltip(marker) {
    tooltip.innerHTML = marker.tooltip;
	var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(offset.x - point.x-30 - anchor.x + width,- offset.y + point.y +anchor.y)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
      }

     //Funzione lista Mouseout leva Hblu, mette Hrossa	 
      function mymouseover(i) {
        //showTooltip(gmarkers[i]);
		map.removeOverlay(cmarkers[i]);
        map.addOverlay(hmarkers[i]);}		
	  //Funzione lista Mouseout leva Hrossa, mette Hblu	
      function mymouseout(i) {
		//tooltip.style.visibility="hidden";  
        map.removeOverlay(hmarkers[i]);
        map.addOverlay(cmarkers[i]);}

      // This function picks up the side_bar click and opens the corresponding info window
      function myclick(i) {
        //gmarkers[i].openInfoWindowHtml(htmls[i]); 
		  GEvent.trigger(gmarkers[i],"click");} 		
	
	//////////Questa funzione manda alla pagina reservation
	 function goToURL(url){
		//alert("Goto URL activo");
		window.open(url);		
		return false}
	  
	  
////////////////BLOCCO MONUMENTI/////////////////////	

      //CREA ICONA MONUMENTI
	  var url_img= "http://www.test.nyceparis.com/map-hotels-in-paris/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 BERLIN
	  function createMarkerSight(points, monumento, descrizione, foto) {
  		var markerSight = new GMarker(points,gicons["sight"]);		
		
 	    markerSight.tooltip = '<div class="tooltipmonumenti" align="center">'+monumento+'<br><img src=http://www.test.nyceparis.com/map-hotels-in-paris/img/major-sights-paris/'+foto+'.jpg width="120" height="90"</div>';				
  		GEvent.addListener(markerSight, "mouseover", function() {    	
		showTooltip(markerSight);		
  		});
		GEvent.addListener(markerSight,"mouseout", function() {
        tooltip.style.visibility="hidden"
        });        		
  		return markerSight;
		}
		
////////////////BLOCCO  AEROPORTI/////////////////////	

     //Icona Aeroporto
	  var url_img= "http://www.test.nyceparis.com/map-hotels-in-paris/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"]);		
		
 	    markerAir.tooltip = '<div class="tooltip_air" align="center">'+testohtml+'</div>';				
  		GEvent.addListener(markerAir, "mouseover", function() {    	
		showTooltip(markerAir);		
  		});
		GEvent.addListener(markerAir,"mouseout", function() {
        tooltip.style.visibility="hidden"
        });        		
  		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(48.9007643, 2.4537096), 10);}
	  else if (id_air=="2") 
	    {map.setCenter(new GLatLng(48.7894438, 2.3893234), 11);}	
      else
	    {map.setCenter(new GLatLng(48.8566667, 2.3509871), 11);}		
	  map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.visibility="hidden"; 
	  
    
	 var tooltip = document.createElement("div");
      document.getElementById("map").appendChild(tooltip);
      tooltip.style.visibility="hidden";
	
	////MARKER AEROPORTI ROME////	
	var point = new GLatLng(48.726128, 2.364111);
    map.addOverlay(createMarkerAir(point, '<table><tr><td align="center">'+air1[id_lang]+'<br><br><span  class=link10>'+descrizione_air1[id_lang]+'</span></td></tr></table>'));
	
		var point = new GLatLng(49.01312, 2.54877);
     map.addOverlay(createMarkerAir(point, '<table><tr><td align="center">'+air2[id_lang]+'<br><br><span  class=link10>'+descrizione_air2[id_lang]+'</span></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.test.nyceparis.com/map-hotels-in-paris/"+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("*****");
		//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");
    }
