		if (GBrowserIsCompatible()) {
      var gmarkers = [];
      var htmls = [];
      var i = 0;
      // === Create an associative array of GIcons() ===
			var baseIcon = new GIcon(G_DEFAULT_ICON);
			    baseIcon.shadow = '../PT/fotosctr/shadow50.png';
          baseIcon.iconSize = new GSize(32, 32);
					baseIcon.shadowSize=new GSize(56,32);
          baseIcon.iconAnchor=new GPoint(16,32);
          baseIcon.infoWindowAnchor=new GPoint(16,0);
      var gicons = [];
      gicons["solares"] = new GIcon(baseIcon, '../PT/fotosctr/green-dot.png');
      gicons["campo"] = new GIcon(baseIcon, '../PT/fotosctr/blue-dot.png');
			gicons["aldeias"] = new GIcon(baseIcon, '../PT/fotosctr/orange-dot.png');
			var over = [];
			over["special"]  = new GIcon(baseIcon, '../PT/fotosctr/yellow.png');		
       // A function to create the marker and set up the event window
      function createMarker(point,name,html,icontype) {
        // === create a marker with the requested icon ===    
			 var marker = new GMarker(point, gicons[icontype]);
			 marker.OriginalImage = gicons[icontype].image; 
       marker.RollImage = over["special"].image;
			 
	     GEvent.addListener(marker, "mouseover", function() {
       marker.setImage (marker.RollImage);
			 });
       GEvent.addListener(marker, "mouseout", function() {
       marker.setImage (marker.OriginalImage);																							
       });
       GEvent.addListener(marker, "click", function() {																				
			 marker.openInfoWindowHtml(html);
       });
       gmarkers[i] = marker;
       htmls[i] = html;
       return marker;
      }
      // create the map
      var map = new GMap2(document.getElementById("map_canvas"));
			map.setCenter(new GLatLng(41.611335,-7.970581), 9);
      map.addMapType(G_PHYSICAL_MAP);
			map.addMapType(G_SATELLITE_MAP);
			map.addControl(new GLargeMapControl3D());
      map.addControl(new GMapTypeControl());
      // Read the data from casas.xml
      var request = GXmlHttp.create();
      request.open('GET', 'casas.xml', true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = GXml.parse(request.responseText);
          // obtain the array of markers and loop through it
          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 content = "KNOW MORE";
						var fotoid = markers[i].getAttribute('fotoid');
						var solarid = markers[i].getAttribute('solarid');
						var siteid = markers[i].getAttribute('siteid');
						var name = markers[i].getAttribute('name');
            var html = "<div align='center' class='contactheading'>"+name+"</div><div align='center'><p><img border=0 src='http://www.solaresdeportugal.pt/fotosctr/"+fotoid+".jpg' alt='' width=100 height=75/></p></div><br /><div align='center'><a href=http://www."+siteid+".php?casaid="+solarid+" target=_blank>"+content+"</a></div>";
            // === read the icontype attribute ===
            var icontype = markers[i].getAttribute('icontype');
            // === create the marker, passing the icontype string ===
            var marker = createMarker(point,name,html,icontype);
            map.addOverlay(marker);
          }
        }
      }
      request.send(null);
    }
    else {
      alert("Aten&ccedil;&atilde;o! O Google Maps API n&atilde;o &eacute; compat&iacute;vel com este navegador");
    }
    // This Javascript is based on code provided by the
    // Blackpool Community Church Javascript Team
    // http://www.commchurch.freeserve.co.uk/   
    // http://econym.googlepages.com/index.htm
