var map;
var lat=new Array();
var lng=new Array();
var html1=new Array();
var html2=new Array();
var tab1=new Array();
var tab2=new Array();
var url=new Array();
var marker=new Array();

function amaga_mapa_pop()
{
	 document.getElementById("background").style.display = "none";
	 document.getElementById("google_maps").style.display = "none";
	 document.getElementById("close_map").style.display = "none";
}

function mostra_mapa_pop(idioma,id,xml)
{
	document.getElementById("background").style.display = "block";
	document.getElementById("close_map").style.top=Math.round(100+document.documentElement.scrollTop)+'px';
	document.getElementById("close_map").style.display = "block";
	document.getElementById("google_maps").style.display = "block";
	view_mapa_pop(idioma,id,xml);
}
function load(adress) 
{
  if (GBrowserIsCompatible()) 
  {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl()); //Controlador de tipus de mapa
	geocoder = new GClientGeocoder();
		
	geocoder.getLatLng(adress,function(point) {
		if(!point){
			alert(adress + "not found");
		} else {
			map.setCenter(point,13);
			var marker = new GMarker(point);
			map.addOverlay(marker);
			marker.openInfoWindowHtml("This is the chapter for " +adress);
			document.getElementById("map_longitud").value=point.lng();
		 	document.getElementById("map_latitud").value=point.lat();
		}
	});
  }
}

function view_mapa_pop(id)
{
 	if (GBrowserIsCompatible()) {
 		map = new GMap2(document.getElementById(id));
		bounds = new GLatLngBounds();
 		map.addControl(new GSmallMapControl());
 		//map.addControl(new GMapTypeControl());
 		//posicion
 		//map.setCenter(new GLatLng(0, 0), 2);
 		GDownloadUrl('/googlemaps', function(data, responseCode)
		{
 			var xml = GXml.parse(data);
 			var markers = xml.documentElement.getElementsByTagName("marker");
			
 			for (var i = 0; i < markers.length; i++)
 			{
	 		// var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));
 				lat[i]=parseFloat(markers[i].getAttribute("lat")); // latitud
 				lng[i]=parseFloat(markers[i].getAttribute("lng")); // longitud
 				tab1[i]=GXml.value(markers[i].getElementsByTagName("infowindow_title")[0]);
 				tab2[i]=GXml.value(markers[i].getElementsByTagName("infowindow2_title")[0]);
 				html1[i]=GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
 				html2[i]=GXml.value(markers[i].getElementsByTagName("infowindow2")[0]);
 				url[i]=GXml.value(markers[i].getElementsByTagName("url")[0]);
 			}
 			for (var i = 0; i < markers.length; i++)
 			{
 			//GEvent.addListener(marker[i], "click", function(){ marker[i]=openInfoWindowTabsHtml(infoTabs);} );//crearmarker(i,infoTabs));//crearmarker(i,infoTabs));
 			//GEvent.addListener(marker[i], "click", function(){ alert("ola"); } );
 				var point = new GLatLng(lat[i],lng[i]);
 				if(i==0) { map.setCenter(point, 1);}
	 			bounds.extend(point);
 				var marker = createMarker(point,tab1[i],tab2[i],html1[i],html2[i],url[i]);
 				map.addOverlay(marker);
		 	}

 			GEvent.addListener(map, "infowindowopen", function()
			{
				var divs = map.getContainer().getElementsByTagName("div");
 					var height = divs[i].style.height;
 					var width = divs[i].style.width;
 					if(width=="20px"&&height=="24px") {
 						var newLabel = divs[i].innerHTML;
 						var newText = '<a href="javascript://" class="tabestil">' + newLabel + '</a>';
 						divs[i].innerHTML = newText;
	 			}
	 		});
	 		/**/
 			map.setCenter(bounds.getCenter());
 			map.setZoom(map.getBoundsZoomLevel(bounds));

 		});
 	}
}

function createMarker(point,tab1,tab2,html1,html2,url)
{
 var icon = new GIcon();
 icon.image = "/images/image_google.png";
 /*icon.shadow = "../images/shadow_google.png";*/
 icon.iconSize = new GSize(16, 27);
 /*icon.shadowSize = new GSize(22, 20);*/
 icon.iconAnchor = new GPoint(6, 20);
 icon.infoWindowAnchor = new GPoint(5, 1);
 var marker = new GMarker(point,icon);
 GEvent.addListener(marker, "click", function(){ 
	location.href="/"+url;
 } );
 /*GEvent.addListener(marker, "click", function()
 {
 var infoTabs = [
 new GInfoWindowTab(tab1, html1),
 new GInfoWindowTab(tab2, html2)
 ];
 marker.openInfoWindowTabsHtml(infoTabs);
 });*/
 return marker;
}

function recalc_gmaps() 
{
	map = new GMap2(document.getElementById("map"));
	var address=document.getElementById("refresh_maps").value;
	var posicio= new GClientGeocoder();
	posicio.getLatLng(address, 
	function(point) {
	    if ( point ) {
	      // Tenemos las coordenadas
	      //alert (point);
		  document.getElementById("map_longitud").value=point.lng();
		  document.getElementById("map_latitud").value=point.lat();
		  map.setCenter(point, 12);
          var marker = new GMarker(point);
          map.addOverlay(marker);
		  marker.openInfoWindowHtml("This is the chapter for:<br /> " +address);
	    } else {
	      // No tenemos las coordenadas
		  alert ("This city don't exist. Check orthography");
	    }
	  });
	/*posicio.GClientGeocoder.getLatLng(address, '');
	posicio.GLatLng.lat();
	posicio.GLatLng.lng();*/
}