 //<![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 id_hotel = [];
	  var id_foto = [];
	  var url = [];	       
	  
////////////////BLOCCO HOTELS/////////////////////	  
	  //Icona H-Rossa
	  var hotIcon = new GIcon();
      hotIcon.image = "http://www.nyceberlin.com/img-google-maps/hrosso.png";
      hotIcon.iconSize = new GSize(15, 15);
      hotIcon.iconAnchor = new GPoint(7, 7);
      hotIcon.infoWindowAnchor = new GPoint(7, 7);
	  //Icona H-Blu
      var coldIcon = new GIcon(hotIcon);
      coldIcon.image = "http://www.nyceberlin.com/img-google-maps/hblu.png";          
	  	  
	  // Funzione crea tutti gli alberghi 
      function createMarker(i,point,name,html,category,idhotel,urlvisit) {		  
	   //alert(id_lang);		 
        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.nyceberlin.com/images/hotels/'+idhotel+'.jpg width="90" height="70"></td><td align="center" class=titolo12>'+html+'<p align="center"><a href=http://www.nyceberlin.com/'+arrayurl[id_lang]+'/'+urlvisit+'-homepage.html class="visitbook" target="_blank">'+arrayvisit[id_lang]+'</a>&nbsp;&nbsp;&nbsp;<a href=http://www.nyceberlin.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.nyceberlin.com/img-google-maps/hrosso.png");});
        GEvent.addListener(marker, "mouseout", function() {
          marker.setImage("http://www.nyceberlin.com/img-google-maps/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.nyceberlin.com/img-google-maps/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, 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.nyceberlin.com/img-google-maps/major-sights-berlin/'+foto+'.jpg width="120" height="90"></td></tr></table>');
  		});
  		return markerSight;
		}
		
////////////////BLOCCO  AEROPORTI/////////////////////	

     //Icona Aeroporto
	  var url_img= "http://www.nyceberlin.com/img-google-maps/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 di Parigi, zoom 12, senza ombra
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl());
	  map.addControl(new GOverviewMapControl());
      map.setCenter(new GLatLng(52.524268,13.36999), 12); 
	  map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.visibility="hidden"; 
	  
    ////MARKER AEROPORTI BERLIN////		
	
	var point = new GLatLng(52.554437, 13.291318);
    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_air1[id_lang]+'</span><p align="center">'+descrizione_air1[id_lang]+'</p></td></tr></table>'));
	
	var point = new GLatLng(52.38671, 13.513561);
     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_air2[id_lang]+'</span><p align="center">'+descrizione_air2[id_lang]+'</p></td></tr></table>'));
	 
 	var point = new GLatLng(52.478192, 13.385975);
    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_air3[id_lang]+'</span><p align="center">'+descrizione_air3[id_lang]+'</p></td></tr></table>'));
	 
  /////////////////////////////////////////////////	 	  

      // Legge i markers del file Hotels.php, crea un xml
      GDownloadUrl("http://www.nyceberlin.com/map-hotels-in-berlin/hotels.php", 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");
		//("Apartment");
		//show("Town House");
        //Cre la lista con lo alberghi con opzione Show-visible
       makeSidebar();
      });
	  
	  // Legge i markers del file monumenti.php, crea un xml
      GDownloadUrl("http://www.nyceberlin.com/map-hotels-in-berlin/monumenti.php?id_lang="+id_lang+"", 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 points = new GLatLng(lat,lng);
			 var monumento = markers[i].getAttribute("monumento");
			 var foto = markers[i].getAttribute("foto");
          // manda a creare ogni marker-monumento
          var marker = createMarkerSight(points, monumento, foto);
          map.addOverlay(marker);
        }});
    }
    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }