
var map;var gdir;var geocoder=null;var addressMarker;var side_bar_html="";var gmarkers=[];var htmls=[];var i=0;var to_htmls=[];var from_htmls=[];var icon=new GIcon();icon.image="imagenes/PinMapa.png";icon.shadow="imagenes/PinMapaSombra.png";icon.iconSize=new GSize(100,50);icon.shadowSize=new GSize(100,50);icon.iconAnchor=new GPoint(30,50);icon.infoWindowAnchor=new GPoint(31,8);function initialize(){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map_canvas"));map.setMapType(G_NORMAL_MAP);map.addMapType(G_PHYSICAL_MAP);fecha=new Date();FechaHoy=new Date(fecha.getFullYear(),fecha.getMonth()+1,fecha.getDate());FechaFin=new Date(2029,03,12);MSxDia=24*60*60*1000;DiasFaltan=Math.floor((FechaFin.getTime()-FechaHoy.getTime())/MSxDia);if(DiasFaltan>0){readMarkers();map.addControl(new GLargeMapControl());var mapControl=new GMapTypeControl();map.addControl(mapControl);gdir=new GDirections(map,document.getElementById("ruta"));GEvent.addListener(gdir,"error",handleErrors);}}};function readMarkers(){var request=GXmlHttp.create();request.open("GET","XMLGoogleMapsMarkers.xml",true);request.onreadystatechange=function(){if(request.readyState==4){var xmlDoc=GXml.parse(request.responseText);var markers=xmlDoc.documentElement.getElementsByTagName("marker");for(var i=0;i<markers.length;i++){if(markers[i].getAttribute("exist")==1){var lat=parseFloat(markers[i].getAttribute("lat"));var lng=parseFloat(markers[i].getAttribute("lng"));var point=new GLatLng(lat,lng);var html=markers[i].getAttribute("html");var label=markers[i].getAttribute("label");if(markers[i].getAttribute("centrar")){map.setCenter(new GLatLng(lat,lng),8);};var marker=createMarker(lat,lng,label,html);map.addOverlay(marker);}}}};request.send(null);};function createMarker(lat,lng,label,html){var point=new GLatLng(lat,lng);var marker=new GMarker(point,icon);to_htmls[i]='<b>'+label+'</b><br />'+html+'<br><b>Introduzca <br>Direccion de Origen:<b>'+'<form action="#" onsubmit="setDirectionsFrom(this.from.value,'+lat+','+lng+'); return false">'+'<input type="text" size="43" id="fromAddress" name="from" value=""/>'+'<input type="submit" value="Calcula la ruta"></form>';from_htmls[i]='<b>'+label+'</b><br />'+html+'<br><b>Introduzca <br>Direccion de Destino:<b>'+'<form action="#" onsubmit="setDirectionsTo(this.from.value,'+lat+','+lng+'); return false">'+'<input type="text" size="43" id="fromAddress" name="from" value=""/>'+'<input type="submit" value="Calcula la ruta"></form>';html='<b>'+label+'</b><br />'+html+'<br>Calcular ruta: <a href="javascript:tohere('+i+')">Hasta aqui</a> - <a href="javascript:fromhere('+i+')">Desde aqui</a>';GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(html);});gmarkers[i]=marker;htmls[i]=html;side_bar_html+='<a href="javascript:myclick('+i+')">'+label+'</a><br>';i++;return marker;};function myclick(i){gmarkers[i].openInfoWindowHtml(htmls[i]);};function tohere(i){gmarkers[i].openInfoWindowHtml(to_htmls[i]);};function fromhere(i){gmarkers[i].openInfoWindowHtml(from_htmls[i]);};function setDirectionsFrom(fromAddress,toLat,toLng){gdir.load("from: "+fromAddress+" to:@"+toLat+","+toLng,{"locale":"es"});};function setDirectionsTo(toAddress,fromLat,fromLng){gdir.load("from:@ "+fromLat+","+fromLng+" to:"+toAddress,{"locale":"es"});};function handleErrors(){if(gdir.getStatus().code==G_GEO_UNKNOWN_ADDRESS)alert("No se puede calcular la ruta desde la dirección indicada, compruebe que está bien escrita o esta no sa ambigua");else if(gdir.getStatus().code==G_GEO_SERVER_ERROR)alert("Error desconocido");else if(gdir.getStatus().code==G_GEO_MISSING_QUERY)alert("No se ha introducido una dirección de inicio");else if(gdir.getStatus().code==G_GEO_BAD_KEY)alert("Clave usada por el mapa no valida o no corresponde con el dominio desde el que se usa.");else if(gdir.getStatus().code==G_GEO_BAD_REQUEST)alert("La dirección no puede ser parseada.");else alert("oppps ha ocurrido un error :(.");};function onGDirectionsLoad(){}


