
	var geocoder = null;
	var map = null;

	if (window.attachEvent) {
		window.attachEvent("onresize", function() {this.map.onResize()} );
	}
	else {
		window.addEventListener("resize", function() {this.map.onResize()} , false);
	}

	var iconP = new GIcon();
	iconP.image = "/img/iconos/inmuebles.png";
	iconP.iconSize = new GSize(27, 27);
	iconP.iconAnchor = new GPoint(13, 13);
	iconP.infoWindowAnchor = new GPoint(5, 1);

	var iconH = new GIcon();
	iconH.image = "/img/iconos/inmuebles2.png";
	iconH.iconSize = new GSize(27, 27);
	iconH.iconAnchor = new GPoint(0, 0);
	iconH.infoWindowAnchor = new GPoint(5, 1);

	var iconO = new GIcon();
	iconO.image = "/img/iconos/corporate.gif";
	iconO.iconSize = new GSize(12, 20);
	iconO.shadowSize = new GSize(22, 20);
	iconO.iconAnchor = new GPoint(6, 20);
	iconO.infoWindowAnchor = new GPoint(5, 1);

	var iconC = new GIcon();
	iconC.image = "/img/elementos/estrella1.png";
	iconC.iconSize = new GSize(27, 27);
	iconC.iconAnchor = new GPoint(10, 20);
	iconC.infoWindowAnchor = new GPoint(5, 1);


	function createMarker(point,icon, texto) {
		var marker = new GMarker(point, icon);
		GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(texto); });
		return marker;
	}

	function showAddress(address) {
		if (geocoder) {
			geocoder.getLatLng(address+', barcelona', function(point) {
				if (!point) {
					alert(address + " not found");//no econtrado
				} else {
					map.setCenter(point, 16);
					map.addOverlay(createMarker(point,iconC,address));
					map.openInfoWindow(point,address);
				}
			});
		}
	}

    function load() {
      if (GBrowserIsCompatible()) {

        var map = new GMap2(document.getElementById("map"));
		geocoder = new GClientGeocoder();

		map.enableScrollWheelZoom();
		map.addControl(new GMapTypeControl());
		map.addControl(new GOverviewMapControl());
		map.addControl(new GScaleControl());
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(41.387917,2.169919), 13);//centro de barcelona
		map.setMapType(G_NORMAL_MAP);

		map.addOverlay(createMarker(new GLatLng(41.404674,2.174478),iconC, "Sagrada Familia"));
		map.addOverlay(createMarker(new GLatLng(41.379514,2.140338),iconC, "Sants Estacio;"));
		map.addOverlay(createMarker(new GLatLng(41.300637,2.079763),iconC, "Barcelona Airport - El prat de llobregat"));
		map.addOverlay(createMarker(new GLatLng(41.384488,2.185078),iconC, "Estacion de Francia"));
		map.addOverlay(createMarker(new GLatLng(41.403547,2.189734),iconC, "Torre Agbar"));
		map.addOverlay(createMarker(new GLatLng(41.410677,2.22441),iconC, "Forum Barcelona"));
		map.addOverlay(createMarker(new GLatLng(41.386227,2.118752),iconC, "Palau Reial - University"));
		map.addOverlay(createMarker(new GLatLng(41.422215,2.118301),iconC, "Tibidabo"));
		map.addOverlay(createMarker(new GLatLng(41.362251,2.160101),iconC, "Montjuic"));
		map.addOverlay(createMarker(new GLatLng(41.380415,2.122829),iconC, "Football Club Barcelona - Stadium"));
		map.addOverlay(createMarker(new GLatLng(41.414169,2.152483),iconC, "Parc Guell"));
		map.addOverlay(createMarker(new GLatLng(41.386436,2.170079),iconC, "Plaza de Catalunya - City Center"));
		map.addOverlay(createMarker(new GLatLng(41.379028,2.158198),iconO, " <a href='http://barcelona-home.com/' target='_blank' >Barcelona-home Office</a><br />Viladomat 89-95 ent 3<br />Tel: (+34) 934 231 270"));

        GDownloadUrl("/source/include/map.asp?show=all", function(data, responseCode) {
          if(responseCode == 200) {
            var xml = GXml.parse(data);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {

				var urlname=markers[i].getAttribute("urlname");
				var nombre=markers[i].getAttribute("nombre");
				var tipo=markers[i].getAttribute("tipo");
				var id=markers[i].getAttribute("id");
				var preciofinal=markers[i].getAttribute("precio");
				var plazas=markers[i].getAttribute("plazas");
				var metros=markers[i].getAttribute("metros");
				var img=markers[i].getAttribute("img");
				var lat=parseFloat(markers[i].getAttribute("lat"));
				var lng=parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var icon='';
				if (tipo=="piso"){
					icon=iconP;
					tipo="flat";
				}
				else if (tipo=="habitacion"){
					icon=iconH;
					tipo="room";
				}
				var texto="<table><tr><td><img src='/thumbs.ashx?w=82&amp;i="+img+"'></td><td><b>"+nombre+"</b><br/>" + tipo + " ("+plazas +"px) <b>"+preciofinal+"&euro;</b><br /><a href='/"+tipo+"/id-"+id+"/name-"+urlname+"/' >More Info</a></td></tr></table>";
				map.addOverlay(createMarker(point,icon,texto));

	    }
          } else if(responseCode == -1) {
	    alert("Data request timed out. Please try later.");
          } else {
            alert("Request resulted in error. Check XML file is retrievable.");
          }
        });
      }
    }
window.onload = function(){load();};
window.onunload = function(){GUnload();};