	
	//functions.js
// atencion: los parent. que encontramos en este archivo se deben a que el mapa esta en un iframe y hay
// que actualizar datos en la ventana padre

// atencion2: he tenido que poner el iframe que incluye esta pagina en el mismo que su padre
// porque IE toma como path de este .js el del iframe, y FF el path de la pagina padre del iframe

	var WmarkerI = new Array();

	//Create a boolean variable to check for a valid IE instance.
	var xmlhttp = false;
	//Check if we are using IE.
	try {
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		//If not, then use the older active x object.
		try {
			//If we are using IE.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}
	
	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	
	
    var map = null;
    var geocoder = null;
	var mapControl;
	var minControl;

//<![CDATA[
function orderOfCreation(marker,b) { 
  return 1; 
}

function crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail){
	var miMarca = new GMarker(punto, {icon:iconoMarca, zIndexProcess:orderOfCreation});
    GEvent.addListener(miMarca, "click", function (){
            miMarca.openInfoWindowHtml("<span style='font-size: 8pt; font-family: verdana'><b>" + nombre + "</b><br>" + dir + "<br>" + cp + " " + ciudad + "<br>Tlf: " + tfno + "<br>Web: <a href='http://" + web + "/' target=_blank>" + web + "</a><br>eMail: <a href='mailto:" + mail + "'>" + mail + "</a></span>");
    });
    map.addOverlay(miMarca);
}

function loadFileSpain(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/OficinasSpain.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}

function loadFileGruposEU(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/gruposEuropa.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}
function loadFileWorld(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/OficinasMundo.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}
function loadFileEUInd(map, iconoMarca) {
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/IndivEuropa.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}
function loadFileFrancia(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/OficinasFrancia.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}
function loadFileSuiza(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/OficinasSuiza.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}
function loadFilePaisesBajos(map, iconoMarca) {
          
      //descargar el xml con las marcas y procesar su contenido
      GDownloadUrl("/mapas/OficinasPaisesBajos.xml", function(documento) {
         //En esta función puedo examinar el XML y hacer cosas dependiendo su contenido.
         var xmlDoc = GXml.parse(documento);
         //extraigo todas las marcas del XML. Obtengo un array
         var marcas = xmlDoc.documentElement.getElementsByTagName("marca");
         for (var i = 0; i < marcas.length; i++) {
            var lat = parseFloat(marcas[i].getAttribute("lat"));
            var lng = parseFloat(marcas[i].getAttribute("lng"));
            var punto = new GLatLng(lat,lng);
            var nombre = marcas[i].getAttribute("nombre");
            var dir = marcas[i].getAttribute("dir");
            var cp = marcas[i].getAttribute("cp");
            var ciudad = marcas[i].getAttribute("ciudad");
            var tfno = marcas[i].getAttribute("tfno");
            var web = marcas[i].getAttribute("web");
            var mail = marcas[i].getAttribute("mail");
            crearMarca(map, iconoMarca, punto, nombre, dir, cp, ciudad, tfno, web, mail);
         }
      });
}

function loadSpain() {
   if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map2"));
		geocoder = new GClientGeocoder();
		// centrando el mapa
//		map.disableDragging();
		// busqueda
		//map.enableGoogleBar();
		
		// centrando el mapa
		map.setCenter(new GLatLng(40.44694705960048, -4.2626953125), 5);
//		map.setMapType(G_NORMAL_MAP);
//		map.setMapType(G_SATELLITE_MAP);
//		map.setMapType(G_HYBRID_MAP);
		map.setMapType(G_PHYSICAL_MAP);
		map.savePosition();

		var iconoMarca = new GIcon(G_DEFAULT_ICON);
		iconoMarca.image = "/mapas/marker.png"; 
		var tamanoIcono = new GSize(20,34);
		iconoMarca.iconSize = tamanoIcono;
		iconoMarca.shadow = "/mapas/shadow.png"; 
		var tamanoSombra = new GSize(37,34);
		iconoMarca.shadowSize = tamanoSombra;
		iconoMarca.iconAnchor = new GPoint(7, 34);

		loadFileSpain(map,iconoMarca);

		map.addControl(new GSmallZoomControl()); 
 //		map.addControl(new GOverviewMapControl()); 
  }
} 

    function loadCanarias() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map3"));
		geocoder = new GClientGeocoder();
//		map.disableDragging();
		// busqueda
		//map.enableGoogleBar();
		
		// centrando el mapa
		map.setCenter(new GLatLng(28.36240173523821, -15.6005859375), 6);
//		map.setMapType(G_NORMAL_MAP);
//		map.setMapType(G_SATELLITE_MAP);
//		map.setMapType(G_HYBRID_MAP);
		map.setMapType(G_PHYSICAL_MAP);
		
		map.savePosition();

		var iconoMarca = new GIcon(G_DEFAULT_ICON);
		iconoMarca.image = "/mapas/marker.png"; 
		var tamanoIcono = new GSize(20,34);
		iconoMarca.iconSize = tamanoIcono;
		iconoMarca.shadow = "/mapas/shadow.png"; 
		var tamanoSombra = new GSize(37,34);
		iconoMarca.shadowSize = tamanoSombra;
		iconoMarca.iconAnchor = new GPoint(7, 34);

		loadFileSpain(map,iconoMarca);

		map.addControl(new GSmallZoomControl()); 
//		map.addControl(new GOverviewMapControl()); 
      }
    }

function loadWorld() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map4"));
		geocoder = new GClientGeocoder();
//		map.disableDragging();
		// busqueda
		//map.enableGoogleBar();
		
		// centrando el mapa
		map.setCenter(new GLatLng(22, 37), 2);
		map.setMapType(G_NORMAL_MAP);
//		map.setMapType(G_SATELLITE_MAP);
//		map.setMapType(G_HYBRID_MAP);
//		map.setMapType(G_PHYSICAL_MAP);
		map.savePosition();
		var iconoMarca = new GIcon(G_DEFAULT_ICON);
		iconoMarca.image = "/mapas/marker.png"; 
		iconoMarca.iconSize = new GSize(20,34);
		iconoMarca.shadow = "/mapas/shadow.png"; 
		iconoMarca.shadowSize = new GSize(37,34);
		iconoMarca.iconAnchor = new GPoint(7, 34);
		var iconoMarca2 = new GIcon(G_DEFAULT_ICON);
		iconoMarca2.image = "/mapas/markerSmall.png"; 
		iconoMarca2.iconSize = new GSize(15,16);
		iconoMarca2.shadow = "/mapas/shadowSmall.png"; 
		iconoMarca2.shadowSize = new GSize(28,16);
		iconoMarca2.iconAnchor = new GPoint(8, 8);
		var iconoMarca3 = new GIcon(G_DEFAULT_ICON);
		iconoMarca3.image = "/mapas/markerMini.png"; 
		iconoMarca3.iconSize = new GSize(8,8);
		iconoMarca3.shadow = "/mapas/shadowMini.png"; 
		iconoMarca3.shadowSize = new GSize(14,8);
		iconoMarca3.iconAnchor = new GPoint(4, 4);

		loadFileGruposEU(map,iconoMarca);
		loadFileSpain(map,iconoMarca3);
		loadFileWorld(map, iconoMarca2);
		loadFileEUInd(map, iconoMarca2);
		loadFileFrancia(map, iconoMarca3);
		loadFileSuiza(map, iconoMarca3);
		loadFilePaisesBajos(map, iconoMarca3);
		map.addControl(new GSmallZoomControl()); 
//		map.addControl(new GOverviewMapControl()); 
      }
    }
	
function loadEuropa() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map4"));
		geocoder = new GClientGeocoder();
//		map.disableDragging();
		// busqueda
		//map.enableGoogleBar();
		
		// centrando el mapa
//		map.setCenter(new GLatLng(54, 11), 3); 
		map.setCenter(new GLatLng(46, 3), 4);
//		map.setMapType(G_NORMAL_MAP);
//		map.setMapType(G_SATELLITE_MAP);
//		map.setMapType(G_HYBRID_MAP);
		map.setMapType(G_PHYSICAL_MAP);
		map.savePosition();
		var iconoMarca = new GIcon(G_DEFAULT_ICON);
		iconoMarca.image = "/mapas/markerMedium.png"; 
		iconoMarca.iconSize = new GSize(15,26);
		iconoMarca.shadow = "/mapas/shadowMedium.png"; 
		iconoMarca.shadowSize = new GSize(28,26);
		iconoMarca.iconAnchor = new GPoint(5, 26);
		var iconoMarca2 = new GIcon(G_DEFAULT_ICON);
		iconoMarca2.image = "/mapas/markerMini.png"; 
		iconoMarca2.iconSize = new GSize(8,8);
		iconoMarca2.shadow = "/mapas/shadowMini.png"; 
		iconoMarca2.shadowSize = new GSize(14,8);
		iconoMarca2.iconAnchor = new GPoint(4, 4);

		loadFileGruposEU(map,iconoMarca);
		loadFileSpain(map,iconoMarca2);
		loadFileWorld(map, iconoMarca2);
		loadFileEUInd(map, iconoMarca2);
		loadFileFrancia(map, iconoMarca2);
		loadFileSuiza(map, iconoMarca2);
		loadFilePaisesBajos(map, iconoMarca2);
		map.addControl(new GSmallZoomControl()); 
//		map.addControl(new GOverviewMapControl()); 
      }
    }
	
    //]]>

