var panoramio = { "count": 385,
 "photos": [{"photo_id": "7", "photo_title": ":: DESPACHO P&Eacute;REZ MORAL ::", "longitude": -3.692899, "latitude": 40.430251, "width": 500, "height": 393, "descripcion": "Despacho de Abogados P&eacute;rez Moral<br/>Almagro 30, 1º<br/>28010.- Madrid.<br/>"}]};

/*
http://www.articuloweb.com/manual.php?web=usando-xml-con-google-maps
<markers>
<marker lat="43.65654" lng="-79.90138" html="Some stuff to display in the<br>First Info Window" label="Marker One"/>
<marker lat="43.91892" lng="-78.89231" html="Some stuff to display in the<br>Second Info Window" label="Marker Two"/>
<marker lat="43.82589" lng="-79.10040" html="Some stuff to display in the<br>Third Info Window" label="Marker Three"/>
</markers>
*/
function fmapa() {
 	
	if (GBrowserIsCompatible()) {
		var fmapa = new GMap2(document.getElementById("map")); 
		fmapa.addControl(new GSmallMapControl());
		fmapa.addControl(new GMapTypeControl());
		fmapa.setCenter(new GLatLng(40.430251,-3.692899), 17);
		//fmapa.setMapType(G_SATELLITE_MAP);
		fmapa.setMapType(G_HYBRID_MAP);
		//fmapa.setMapType(G_NORMAL_MAP);
		//fmapa.setMapType(G_SATELLITE_3D_MAP);
		
		var icon = new GIcon();
		icon.image = "http://www.perezmoral.com/imagenes/icono_perezmoral.png";
		//icon.shadow = "http://www.perezmoral.com/imagenes/sombra.png";
		icon.iconSize = new GSize(25, 28);
		//icon.shadowSize = new GSize(22, 22);
		icon.iconAnchor = new GPoint(9, 24);
		icon.infoWindowAnchor = new GPoint(9, 2);
		
		for (var i = 0; i < panoramio.photos.length; i++){
			var point = new GLatLng(panoramio.photos[i].latitude,panoramio.photos[i].longitude);
			var marker = new GMarker(point, icon);
			marker.photo = panoramio.photos[i];
			fmapa.addOverlay(marker,icon);
		}	

		GEvent.addListener(fmapa, "click", function(overlay, point) {
			if (!overlay || !overlay.photo)	return;
			var p = overlay.photo;
			// Si el titulo de la foto es demasiado largo la corta:
			if (p.photo_title.length > 33) {
				p.photo_title = p.photo_title.substring(0, 33) + "&#8230;";
			}		
			overlay.openInfoWindowHtml(
			"<div id='infowin'>" +
			"<p><a href='http://www.perezmoral.com/'><img src='http://www.perezmoral.com/imagenes/logo.png' width='21px'" +
			"height='21px' alt='Logo Despacho Pérez Moral' /><\/a></p>" +
			"<p><a href='http://www.perezmoral.com/'><img src='http://www.perezmoral.com/imagenes/letras1.gif' width='300px'" +
			"height='60px' alt='Logo Despacho Pérez Moral' /><\/a></p>" +
			"<a id='photo_infowin'  target='_blank' href='http://www.perezmoral.com/imagenes/letras1.gif'>" +
			"<img width='200' height='129' src='http://www.perezmoral.com/imagenes/general/" + p.photo_id + ".png'/><\/a>" +
			"<div style='overflow: hidden; width: 215px; height: 100px;'>" +
			"<p style='margin:0;'><a target='_blank' class='photo_title' href='http://www.perezmoral.com" +
			"'><h5 style='margin:0;'><strong>" + p.photo_title + "<\/strong></h5><\/a></p>" +
			"<p style='text-align:justify; font-size:85%;'>" + p.descripcion + "</p><\/div>" +
			"<\/div>");
		});
		
		function createMarker(point, baseIcon, info) {
			var icon = new GIcon(baseIcon);
			icon.image = iconname.getAttribute("image");
			var marker = new GMarker(point, icon);
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowXslt(info, "parks.xsl");
			});
			return marker;
		}
		
		var request = GXmlHttp.create();
		request.open("GET", "inc/xml_map.php", true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				var points = xmlDoc.documentElement.getElementsByTagName("point");
				var icons = xmlDoc.documentElement.getElementsByTagName("icon");
				var info = xmlDoc.documentElement.getElementsByTagName("info");
				for (var i = 0; i < points.length; i++) {
					
					var point = new GPoint(parseFloat(points[i].getAttribute("lng")), parseFloat(points[i].getAttribute("lat")));
					var marker = createMarker(point, icons[i], info[i]);
					map.addOverlay(marker);
				}
			}
		}
		// cuando los cargue por XML:
		//request.send(null);
	}
}

function addEvent(elem,tipo,funcion,useCapture){
	if(elem.addEventListener){
		elem.addEventListener(tipo,funcion,useCapture);
		return true;
	}else if(elem.attachEvent){
		var r = elem.attachEvent('on' + tipo, funcion);
		return r;
	}else{
		elem['on' + tipo] = funcion;
	}
}
addEvent(window,'load', fmapa, false);
//addEvent(window,'load', pasa, false);



