var map, geocoder;
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");
			} else {
				map.setCenter(point, 16);
				map.addOverlay(createMarker(point,iconC,address));
				map.openInfoWindow(point,address);
			}
		});
	}
}
function load() {
	if (GBrowserIsCompatible()) {
		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 {
				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.");
		  }
		});
	}
	if (window.attachEvent) {
		window.attachEvent("onresize", function() {this.map.onResize()} );
	}
	else {
		window.addEventListener("resize", function() {this.map.onResize()} , false);
	}
}
load();
window.onunload = function(){GUnload();};