

function loadAddresses()
{
  	var mozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
	var ie = (typeof window.ActiveXObject != 'undefined');
	
	//--- Compruebo si se trata de IE o no.
	//--- Después se el ficharo Mapa.xml
	if(mozilla){
		xmlDoc = document.implementation.createDocument("","",null);
		
		xmlDoc.onload = initialize;
		xmlDoc.load("./public/Mapa.xml");
		
	}else  if(ie){
		//--- Si es IE el objeto ActiveXObject existirá.
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.load("./public/Mapa.xml");
		if (xmlDoc.readyState == 4) initialize();
	}
}


//Genera el mapa	
function initialize() {

if (GBrowserIsCompatible()) {
	var c=0;
	//Almacena que tipo de eventos se desea visualizar
	var tipo=document.getElementById("tipo").value;

	//Almacena en que rango de fechas se visualizaran los eventos
	var prox=document.getElementById("proximos").value;
	
	//Guarda un fecha limite para ver todos los eventos
	var fechaLimite="20151212" ;
	
	//Almacena la fecha de hoy
	var hoy = new Date();
	
	//Guarda la fecha actual en formato largo ,ej . 2008
	var anyo = hoy.getFullYear()+"";
	var mes= hoy.getMonth()+1;
	
	mes = mes +"" ;
	var dia=hoy.getDate()+"";

	if (mes.length==1) mes= "0" + mes;
	if (dia.length==1) dia= "0" + dia;
	fechaActual = anyo +mes+dia;
			
	

	//Carga el mapa en la variable map
  	//var map = new GMap2(document.getElementById("map"));
	var map = new GMap2(document.getElementById("map"));
	
	// Selecciona las coordenads de España y el zoom del mapa
	map.setCenter(new GLatLng(40.2, -3.1419), 6);
	

	// Aparece los botones para mover y ampliar el mapa
	//map.addControl(new GSmallMapControl());
	 map.addControl(new GLargeMapControl());
	
	// Aparece los botones de Mapa, Satelite e Hibrido
	map.addControl(new GMapTypeControl());
  //  map.addControl(new google.maps.LocalSearch(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20)));





	// Crea los puntos del mapa segun los atributos que se le pasa
function createMarker(latlng, number,titulo,imagen,enlace,nivel,fInicio,fFin,tipo) {
		
		
		if (tipo=='Fiestas Populares')
		{
		    var foto = new GIcon(G_DEFAULT_ICON);
			//foto.image = "http://www.google.com/mapfiles/ms/micons/red-dot.png";
			foto.image = "http://www.spainforyou.es/App_Themes/tmPrincipal2/Images/mapa/populares.gif";
			foto.iconSize.width=40;       
			foto.iconSize.height=40; 
			/*foto.shadow="http://www.google.com/mapfiles/shadow50.png";
			foto.shadowSize = new GSize(0, 0);*/
			var marker = new GMarker(latlng,foto);
		}
		else if(tipo=='Carnaval')
		{
			var foto = new GIcon(G_DEFAULT_ICON);
			//foto.image = "http://www.google.com/mapfiles/ms/micons/yellow-dot.png";
			foto.image = "http://www.spainforyou.es/App_Themes/tmPrincipal2/Images/mapa/carnaval.gif";
			var marker = new GMarker(latlng,foto);
		}
		else if(tipo=='Conciertos')
		{
			var foto = new GIcon(G_DEFAULT_ICON);
			//foto.image = "http://www.google.com/mapfiles/ms/micons/purple-dot.png";
			foto.image = "http://www.spainforyou.es/App_Themes/tmPrincipal2/Images/mapa/concierto.gif";
			
			var marker = new GMarker(latlng,foto);
		}
		else if(tipo=='Deportes')
		{
			var foto = new GIcon(G_DEFAULT_ICON);
			//foto.image = "http://www.google.com/mapfiles/ms/micons/blue-dot.png";
			foto.image = "http://www.spainforyou.es/App_Themes/tmPrincipal2/Images/mapa/deportes.gif";
			
			var marker = new GMarker(latlng,foto);
		}
		else
		{
			var foto = new GIcon(G_DEFAULT_ICON);
			//foto.image = "http://www.google.com/mapfiles/ms/micons/green-dot.png";
			foto.image = "http://www.spainforyou.es/App_Themes/tmPrincipal2/Images/mapa/Otras.gif";
			
			
			var marker = new GMarker(latlng,foto);
		}
		
		// Crea el icono con la imagen que le pasa
		//if (imagen=='default') {
			//var marker = new GMarker(latlng,new GIcon(G_DEFAULT_ICON));
		/*} else {
			var foto = new GIcon(G_DEFAULT_ICON);
			foto.image = imagen;
			foto.iconSize.width=33;       
			foto.iconSize.height=33; 
			foto.shadowSize = new GSize(0, 0);
			var marker = new GMarker(latlng,foto);
		}*/
		
      	
	    marker.value = number;
		GEvent.addListener(marker,"click", function() {
													
		// Aparece el mensaje cuando pulsa 'click'
		
		var myHtml='<table ><tr ><td  width="300" align="center" colspan="2" class="txt_rojop"><u>' +titulo+'</u></td></tr><tr>';
		//Comprueba que exista la imagen
		if (imagen=='default') {
			myHtml +='<td rowspan="2"></td>'}
		else {
			myHtml +='<td rowspan="2"><img border="3" src='+imagen+' align="center"  width="80" style="border-color:#CCCCCC;"/></td>'}
		myHtml +='<td class="txt_normal">FECHA INICIO : ' +  fInicio;
		myHtml += '<br/> FECHA FIN : '+ fFin+'</td></tr><tr><td style="text-align:right" class="txt_normal"><a href='+enlace+' target="_top">Mas informacion</a></td></tr></table>';
		map.openInfoWindowHtml(latlng, myHtml);
      	}
	);
    return marker;
	}
	



    //Guarda cada item del XML como eventos
	var eventos = xmlDoc.getElementsByTagName('item');
	
	//Recorre todos los eventos del XML
	for (var i=0;i<eventos.length;i++)
	{
		
		var titulo = eventos[i].getElementsByTagName('title')[0].firstChild.nodeValue; 		//almacena el titulo del evento
		var lat = eventos[i].getElementsByTagName('latitud')[0].firstChild.nodeValue;  		//guarda la latitud
		var long = eventos[i].getElementsByTagName('longitud')[0].firstChild.nodeValue;		//guarda la longitud
		
		if (lat!="0,0000" && long!="0,0000") {		//Comprueba que la coordenadas existan
			
			lat = lat.replace(",",".");				//Cambian los puntos por comas para compatibilidad con JavaScript
			long = long.replace(",",".");

			var fInicio = eventos[i].getElementsByTagName('fechainicio')[0].firstChild.nodeValue;
			var fFin = eventos[i].getElementsByTagName('fechafin')[0].firstChild.nodeValue;	
			var nivel = eventos[i].getElementsByTagName('nivel')[0].firstChild.nodeValue;	
			var tipoEvento = eventos[i].getElementsByTagName('tipo')[0].firstChild.nodeValue;	
			var imagen = eventos[i].getElementsByTagName('imagen')[0].firstChild.nodeValue;			// Link de la imagen
			var enlace = eventos[i].getElementsByTagName('link')[0].firstChild.nodeValue;			//Link del evento
			var latlng = new GLatLng(lat,long);
			
			var d=fInicio.substring(0,2);
			var m=fInicio.substring(3,5);
			var a=fInicio.substring(6,10);
			
			//Guarda la fecha de inicio del evento en formato aaaaammdd
			fechaEventos = a+m+d;	
			
			if (prox=='semana') {
					//Almacena la fecha limite para dentro de una semana
					var limite =  new Date(hoy.getFullYear() ,hoy.getMonth(),hoy.getDate()+8);
					
					anyo = limite.getFullYear()+"";
					mes = eval(limite.getMonth()+1)+"";
					if (mes.length==1) mes= "0" + mes;
					dia =  eval(limite.getDate())+"";
					if (dia.length==1) dia= "0" + dia;
					
					fechaLimite = anyo+mes+dia;	
			}
			if (prox=='mes')	 {
					//Almacena la fecha limite para dentro de un mes
					var limite =  new Date(hoy.getFullYear() ,hoy.getMonth()+1,hoy.getDate());
					anyo = limite.getFullYear()+"";
					
					mes = eval(limite.getMonth()+1)+"";
					if (mes.length==1) mes= "0" + mes;
	
					dia =  eval(limite.getDate())+"";
					if (dia.length==1) dia= "0" + dia;
					
					fechaLimite = anyo+mes+dia;
			}
			if (prox=='2meses')  {
					//Almacena la fecha limite para dentro de dos meses
					var limite =  new Date(hoy.getFullYear() ,hoy.getMonth()+2,hoy.getDate());
					anyo = limite.getFullYear()+"";
					
					mes = eval(limite.getMonth()+1)+"";
					if (mes.length==1) mes= "0" + mes;
	
					dia =  eval(limite.getDate())+"";
					if (dia.length==1) dia= "0" + dia;
					
					fechaLimite = anyo+mes+dia;
			}
			
			
			if (fechaLimite>fechaEventos && fechaEventos>fechaActual) {
				if (tipo!='todos') {
					if (tipo == tipoEvento) {		
						map.addOverlay(createMarker(latlng, i + 1,titulo,imagen,enlace,nivel,fInicio,fFin,tipoEvento));
						}
				} else{
				map.addOverlay(createMarker(latlng, i + 1,titulo,imagen,enlace,nivel,fInicio,fFin,tipoEvento));
				
				}
			}
			
				
		}
    }
	//Cuantos los eventos que se visualizan
	
  }
}


// Carga el objeto XMLHttpRequest segun el navegador
function cargarAJAX() {
	
 
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			oXml = new XMLHttpRequest();
			
        } catch(e) {
			oXml = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	oXml = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		oXml = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		oXml = false;
        	}
		}
    }
	if(oXml) {
		oXml.onreadystatechange = respuesta;
		oXml.open("GET", "mapa.html", true);
		oXml.send("");
	}


}

function respuesta() {
 
  if (oXml.readyState == 4) {
	//Vuelva a generar el mapa
	    loadAddresses();
	  
  }
}


    //]]>


