// JavaScript Document

    //<![CDATA[
// this is the Javascript that makes the map.  It should be defined in the head of the document

// global variables
      var map;
	  var barra_zoom = true;
	  var barra_tipo = true;
	  icon_default = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	  var icon = new GIcon();
		icon.image = icon_default;
		icon.iconSize = new GSize(16, 16);
		icon.iconAnchor = new GPoint(16, 16);
		icon.infoWindowAnchor = new GPoint(16, 16);

// A function to create the marker and set up the event window
function createMarker(point,name,html) {
// alert("createMarker("+point+","+name+","+html+")");
        var marker = new GMarker(point,icon);
        /*GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });*/
        return marker;
      }


// This function picks up the click and opens the corresponding info window
function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }

function makeMap(cord1, cord2, archivo_xml, nivelZoom) {
	var listaIconos = new Array() 
    if (GBrowserIsCompatible()) {
      // resize the map
      var m = document.getElementById("map");
      m.style.height = "400px";
      m.style.width = "400px";

      // create the map
      map = new GMap(document.getElementById("map"));
	  
	  if(barra_zoom == true){
	      map.addControl(new GLargeMapControl());
	  }
  	  if(barra_tipo == true){
	      map.addControl(new GMapTypeControl());
	  }
      map.centerAndZoom(new GPoint(cord1, cord2), nivelZoom);


      // Read the data from example.xml
      var request = GXmlHttp.create();
      var filename = archivo_xml;
      request.open("GET", filename, true);
      request.onreadystatechange = function() {
//        alert("readyState ="+request.readyState);
        if (request.readyState == 4) {
          if (request.status == 200) {
             var xmlDoc = request.responseXML;
	     if (xmlDoc.documentElement) {
                // obtain the array of markers and loop through it
                var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                
//              alert("loading "+markers.length+" markers");
                for (var i = 0; i < markers.length; i++) {
                  // obtain the attribues of each marker
                  var lat = parseFloat(markers[i].getAttribute("lat"));
                  var lng = parseFloat(markers[i].getAttribute("lng"));
                  var point = new GPoint(lng,lat);
				  var icon_new = markers[i].getAttribute("icon"); 
			  	  //anadir a la lista los iconos del xml
				  listaIconos[i] = icon_new;
				  if (icon_new != ""){
					  icon.image = icon_new;
				  }else{
					  icon.image = icon_default;
				  }
				  
				  if(icon_new == "/css/bitmaps/ico_vivienda-promocion.png"){
					 icon.iconSize = new GSize(47, 30);
				     icon.iconAnchor = new GPoint(47, 30);
					 icon.infoWindowAnchor = new GPoint(47, 30); 
				  }
                  //var html = markers[i].getAttribute("html");
                  //var label = markers[i].getAttribute("label");
                  // create the marker
                  //var marker = createMarker(point,label,html);
				  var marker = createMarker(point);
                  map.addOverlay(marker);
                }
				cargar_lista(listaIconos)//Crear la lista
             } else {
                alert("invalid xml file:"+filename);
             }
          } else {
          alert("file not found:"+filename);
          }
        }
      }
      request.send(null);
    }
}

function cargar_lista(lista){
	var listaIconosNoRepetidos = new Array();
	var li = new Array();
	var icono_repetido;
	 for(var b = 0; b <= lista.length-1; b++){
		 icono_repetido = false;
		 for(var c = 0; c <= listaIconosNoRepetidos.length-1; c++){
		 	if(lista[b] == listaIconosNoRepetidos[c]){
				icono_repetido = true;
			}
		 }
		 if(icono_repetido == false){
		 	 	listaIconosNoRepetidos[listaIconosNoRepetidos.length] = lista[b];
		 }
	 }
	 
	 if(document.getElementById("lista_iconos")){
			var lista_HTML = document.getElementById("lista_iconos");
			var ul_HTML = document.createElement("ul");
			lista_HTML.appendChild(ul_HTML);
	 }
	 
	 for(var d = 0; d <= listaIconosNoRepetidos.length-1; d++){ //recorrer la lista
		
		if(document.getElementById("lista_iconos")){
			li[d] = document.createElement("li");
			 if(listaIconosNoRepetidos[d]=="/css/bitmaps/ico_vivienda-promocion.png"){
				 li[d].innerHTML = "<img src='/css/bitmaps/ico_vivienda-promocion-min.png' /> " + nombre_icono(listaIconosNoRepetidos[d]) ;
			 }else{
				li[d].innerHTML = "<img src='" + listaIconosNoRepetidos[d] + "' /> " + nombre_icono(listaIconosNoRepetidos[d]) ;
			 }
			ul_HTML.appendChild(li[d]);
		}
		
		
	 }

}

function nombre_icono(icono){
		var nombre = "Desconocido";
		
		switch(icono)
		{
			case "/css/bitmaps/ico_golf.gif":
			nombre = "Campo de golf"
			break;
			
			case "/css/bitmaps/ico_futbol.gif":
			nombre = "Campo de f&uacute;tbol"
			break;
			
			case "/css/bitmaps/ico_deporte.gif":
			nombre = "Instalaci&oacute;n deportiva"
			break;
			
			case "/css/bitmaps/ico_decathlon.gif":
			nombre = "Decathlon"
			break;
			
			case "/css/bitmaps/ico_restaurante.gif":
			nombre = "Restaurante"
			break;
			
			case "/css/bitmaps/ico_centrocomercial.gif":
			nombre = "Centro comercial"
			break;
			
			case "/css/bitmaps/ico_panaderia.gif":
			nombre = "Panader&iacute;a"
			break;
			
			case "/css/bitmaps/ico_supermercado.gif":
			nombre = "Supermercado"
			break;
			
			case "/css/bitmaps/ico_zonaverde.gif":
			nombre = "Zona verde"
			break;
			
			case "/css/bitmaps/ico_ocio.gif":
			nombre = "Establecimiento de ocio"
			break;
			
			case "/css/bitmaps/ico_hotel.gif":
			nombre = "Hotel"
			break;
			
			case "/css/bitmaps/ico_apartahotel.gif":
			nombre = "Apartahotel"
			break;
			
			case "/css/bitmaps/ico_gasolinera.gif":
			nombre = " Estaci&oacute;n de Sevicios"
			break;
			
			case "/css/bitmaps/ico_tren.gif":
			nombre = "Tren Cercan&iacute;as Renfe"
			break;
			
			case "/css/bitmaps/ico_metro.gif":
			nombre = "Metro"
			break;
			
			case "/css/bitmaps/ico_bus.gif":
			nombre = "Bus"
			break;
			
			case "/css/bitmaps/ico_farmacias.gif":
			nombre = "Farmacia"
			break;
			
			case "/css/bitmaps/ico_cajero.gif":
			nombre = "Cajero"
			break;
			
			case "/css/bitmaps/ico_guarderia.gif":
			nombre = "Guarder&iacute;a"
			break;
			
			case "/css/bitmaps/ico_centroeducativo.gif":
			nombre = "Centro educativo"
			break;
			
			case "/css/bitmaps/ico_centromayores.gif":
			nombre = "Centro mayores"
			break;
			
			case "/css/bitmaps/ico_centrosalud.gif":
			nombre = "Centro de Salud"
			break;
			
			case "/css/bitmaps/ico_iglesia.gif":
			nombre = "Iglesia"
			break;
			
			case "/css/bitmaps/ico_policia.gif":
			nombre = "Guardia Civil - Polic&iacute;a"
			break;
			
			case "/css/bitmaps/ico_viviendas.gif":
			nombre = "Viviendas, locales y garajes"
			break;
			
			case "/css/bitmaps/ico_ayuntamiento.gif":
			nombre = "Ayuntamiento"
			break;
			
			case "/css/bitmaps/ico_seminario.gif":
			nombre = "Seminario"
			break;
			
			case "/css/bitmaps/ico_vivienda-promocion.png":
			nombre = "Promoci&oacute;n"
			break;
			
		}
		
		return nombre;
}

