// JavaScript Document
var map;
var rutaCargada="no";

//Construye el marcador para el logotipo de Eurisa
var icoEU=new GIcon();
icoEU.image="/imagenes/eurisa.png";
icoEU.iconSize=new GSize(107,47);
icoEU.iconAnchor=new GPoint(10,43);
icoEU.infoWindowAnchor=new GPoint(10,43);
icoEU.shadow="/imagenes/eurisa_sombra.png";
icoEU.shadowSize=new GSize(140,47);
icoEU.shadowAnchor=new GPoint(10,43);
var latEU=43.23602700; 
var lonEU=-2.79326320; 
var locEU=new GLatLng(latEU,lonEU);
var markerEU=new GMarker(locEU,icoEU);
var codigoEU='<div class="direcc"><h4>EURISA</h4><p class="descriptor">Polígono industrial Erletxe<br />Plfm J-Fase 2 - Nave 2<br />48960 Galdakao(Bizkaia)<br />tel.:946 00 90 78 / fax:946 00 90 10</p></div>';
GEvent.addListener(markerEU,'click',function() {markerEU.openInfoWindowHtml(codigoEU);});

function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("mapaeurisa"));
		map.setCenter(new GLatLng(43.236512, -2.803659), 13);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addOverlay(markerEU);
	}
}

function createInfoMarker(point, address) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(address);
	});
return marker;
}


window.onload=function() {
	descargaArchivo();
	load();
	creaObjetos();
}


window.onunload=function() {
	GUnload();
}

function cargaRuta(nombreFicheroXML) {
	if(rutaCargada!="no") {
		map.removeOverlay(rutaCargada);
	}
	var request = GXmlHttp.create();
	request.open("GET", nombreFicheroXML, true);
	request.onreadystatechange = function() {
	if (request.readyState == 4) {
			var xmlDoc = request.responseXML;
			var xmlRoot = xmlDoc.documentElement;
			var polylines = xmlRoot.getElementsByTagName("polyline");
			
			for (var i = 0; i < polylines.length; i++) {
				var color = polylines[i].getAttribute("color");
				var points = polylines[i].getElementsByTagName("point");
				var pointArray = new Array();
				for (var j = 0; j < points.length; j++) {
					var point = new GPoint(parseFloat(points[j].getAttribute("lon")),parseFloat(points[j].getAttribute("lat")));
					pointArray.push(point);
				} // var j
				var polyline = new GPolyline(pointArray,color,8,0.7);
				rutaCargada=polyline;
				map.addOverlay(polyline);
				var markers = xmlRoot.getElementsByTagName("marker");
				for (var j = 0; j < markers.length; j++) {
					var point = new GPoint(parseFloat(markers[j].getAttribute("lon")),parseFloat(markers[j].getAttribute("lat")));
					var address = "<b>"+markers[j].getAttribute("dist")+"</b><br><small>"+markers[j].getAttribute("notes")+"</small>";
					var marker = createInfoMarker(point, address);
					map.addOverlay(marker);
				} // var j
			} // var i
		} // if()
	} // function()
	request.send(null);
}



function cargaRutaDoble(nombreFicheroXML) {
	if(rutaCargada!="no") {
		map.removeOverlay(rutaCargada);
		map.removeOverlay(rutaCargada2);
	}
	var request = GXmlHttp.create();
	request.open("GET", nombreFicheroXML, true);
	request.onreadystatechange = function() {
	if (request.readyState == 4) {
			var xmlDoc = request.responseXML;
			var xmlRoot = xmlDoc.documentElement;
			var polylines = xmlRoot.getElementsByTagName("polyline");
			
			for (var i = 0; i < polylines.length; i++) {
				var color1 = polylines[i].getAttribute("color1");
				var color2 = polylines[i].getAttribute("color2");
				var points = polylines[i].getElementsByTagName("point");
				var pointArray = new Array();
				for (var j = 0; j < points.length; j++) {
					var point = new GPoint(parseFloat(points[j].getAttribute("lon")),parseFloat(points[j].getAttribute("lat")));
					pointArray.push(point);
				} // var j
				var polyline = new GPolyline(pointArray,color1,8,1);
				var polyline2 =  new GPolyline(pointArray,color2,4,1);
				rutaCargada=polyline;
				rutaCargada2=polyline2;
				map.addOverlay(polyline);
				map.addOverlay(polyline2);
				var markers = xmlRoot.getElementsByTagName("marker");
				for (var j = 0; j < markers.length; j++) {
					var point = new GPoint(parseFloat(markers[j].getAttribute("lon")),parseFloat(markers[j].getAttribute("lat")));
					var address = "<b>"+markers[j].getAttribute("dist")+"</b><br><small>"+markers[j].getAttribute("notes")+"</small>";
					var marker = createInfoMarker(point, address);
					map.addOverlay(marker);
				} // var j
			} // var i
		} // if()
	} // function()
	request.send(null);
}



function creaObjetos() {
	objBotonOrigen1=document.getElementById('ori1');
	objBotonOrigen1.onmouseover=function() {this.style.cursor='pointer';}
	objBotonOrigen1.onmouseout=function() {this.style.cursor='default';}
	objBotonOrigen1.onclick=function() {
		cargaRutaDoble('ruta01.xml');
		ocultaRutas();
		objListaRuta1.className='si';
	}
	objBotonOrigen2=document.getElementById('ori2');
	objBotonOrigen2.onmouseover=function() {this.style.cursor='pointer';}
	objBotonOrigen2.onmouseout=function() {this.style.cursor='default';}
	objBotonOrigen2.onclick=function() {
		cargaRutaDoble('ruta02.xml');
		ocultaRutas();
		objListaRuta2.className='si';
	}
	objBotonOrigen3=document.getElementById('ori3');
	objBotonOrigen3.onmouseover=function() {this.style.cursor='pointer';}
	objBotonOrigen3.onmouseout=function() {this.style.cursor='default';}
	objBotonOrigen3.onclick=function() {
		cargaRutaDoble('ruta03.xml');
		ocultaRutas();
		objListaRuta3.className='si';
	}
	objBotonOrigen4=document.getElementById('ori4');
	objBotonOrigen4.onmouseover=function() {this.style.cursor='pointer';}
	objBotonOrigen4.onmouseout=function() {this.style.cursor='default';}
	objBotonOrigen4.onclick=function() {
		cargaRutaDoble('ruta04.xml');
		ocultaRutas();
		objListaRuta4.className='si';
	}
	objBotonOrigen5=document.getElementById('ori5');
	objBotonOrigen5.onmouseover=function() {this.style.cursor='pointer';}
	objBotonOrigen5.onmouseout=function() {this.style.cursor='default';}
	objBotonOrigen5.onclick=function() {
		cargaRutaDoble('ruta05.xml');
		ocultaRutas();
		objListaRuta5.className='si';
	}
	objListaRuta1=document.getElementById('r1');
	objListaRuta2=document.getElementById('r2');
	objListaRuta3=document.getElementById('r3');
	objListaRuta4=document.getElementById('r4');
	objListaRuta5=document.getElementById('r5');
}

function ocultaRutas() {
	objListaRuta1.className='no';
	objListaRuta2.className='no';
	objListaRuta3.className='no';
	objListaRuta4.className='no';
	objListaRuta5.className='no';
}