function googleMaps(a,b){if(!GBrowserIsCompatible()){return false}this.construct=function(c,d){this.name=c;this.mapa=new GMap2($(d))};this.addPoint=function(d,g,c,e){var h=this.marcas.length;var f=new Hash();f.set("name",d);f.set("address","");f.set("lat",g);f.set("lng",c);f.set("html",e);this.marcas[h]=f};this.addAddress=function(d,c,e){var g=this.marcas.length;var f=new Hash();f.set("name",d);f.set("address",c);f.set("lat","");f.set("lng","");f.set("html",e);this.marcas[g]=f};this.setMarca=function(c){this.selMarca=c};this.setZoom=function(c){this.zoom=c};this.setControls=function(c){this.controls=c};this.setOpenInitDialog=function(c){this.openInitDialog=c};this.setWithFrom=function(c){this.withFrom=c};this.printListaPuntos=function(g){$(g).innerHTML="<ul></ul>";var c;for(e=0;e<this.marcas.length;e++){var d=this.marcas[e].get("name");$(g).innerHTML+="<li><a href='#'>"+d+"</a></li>"}$(g).innerHTML+="</ul>";var e=0;var f=this;$(g).select("li").each(function(i){var h=e;Event.observe(i.select("a")[0],"click",function(){f.openMarca(h,f)});e++})};this.comoLlegar=function(c){$(this.name+"_enlaceComollegar_"+c).setStyle("display: none;");$(this.name+"_formularioComoLlegar_"+c).setStyle("display: block;");$(this.name+"_desde_"+c).focus()};this.buscarRuta=function(e){var c=$(this.name+"_desde_"+e).value;if(c==""){alert("Es necesario indicar desde donde se quiere llegar a este punto");return false}var f=$H(this.marcas[e]).get("lat");var d=$H(this.marcas[e]).get("lng");ruta=new GDirections(this.mapa);GEvent.addListener(ruta,"error",function(){alert("No se ha podido encontrar la dirección solicitada. \nFormato correcto: \n'Ciudad' 'Calle'\nEjemplo: 'Palma calle aragón 16'")});ruta.load("from: "+c+" to: "+f+","+d,{locale:"es_ES"});return false};this.processHTML=function(e,f){if(typeof f=="undefined"){var f=this}var d=f.marcas[e].get("html");if(!f.withFrom||d==""){return d}var c=$H(f.marcas[e]);var g="<br><br><div id='"+f.name+"_enlaceComollegar_"+e+"'><a href='javascript: "+f.name+".comoLlegar("+e+")'>Como llegar</a></div>";g+="<div id='"+f.name+"_formularioComoLlegar_"+e+'\' style="display:none"><form onSubmit="javascript: '+f.name+".buscarRuta("+e+"); return false;\">Desde:<input id='"+f.name+"_desde_"+e+"' type='text' value=''><input type='submit' value='buscar'></form></div>";var h=d.lastIndexOf("</div>");if(h!=-1){d=d.substr(0,h)+g+d.substr(h)}else{d+=g}return d};this.openMarca=function(e,f){if(typeof f=="undefined"){var f=this}var d=f.processHTML(e,f);if(d!=""){f.gmarkers[e].openInfoWindowHtml(d)}var c=$H(f.marcas[e]);f.mapa.setCenter(new google.maps.LatLng(c.get("lat"),c.get("lng")))};this.run=function(){if(this.marcas==0){alert("No se han indicado puntos");return false}if(this.controls){this.mapa.addControl(new GSmallMapControl());this.mapa.addControl(new GMapTypeControl())}setPointer=function(k,h,j){if(j==k.selMarca){k.mapa.setCenter(h,k.zoom)}var g=new GMarker(h);k.mapa.addOverlay(g);k.gmarkers[j]=g;GEvent.addListener(k.gmarkers[j],"click",function(){k.openMarca(j,k)});if(k.openInitDialog&&j==k.selMarca){k.openMarca(j,k)}};var f=this;for(var e=0;e<this.marcas.length;e++){var d=$H(this.marcas[e]);if(d.get("lat")!=""&&d.get("lng")!=""){var c=new GLatLng(d.get("lat"),d.get("lng"));setPointer(this,c,e)}else{busca=function(h,g){new GClientGeocoder().getLatLng(g.get("address"),function(i){if(!i){alert("Error buscando la dirección")}else{g.set("lat",i.lat());g.set("lng",i.lng());f.marcas[h]=g;setPointer(f,i,h)}})};busca(e,d)}}};this.name=null;this.mapa=null;this.gdir=null;this.marcas=new Array();this.gmarkers=new Array();this.selMarca=0;this.zoom=15;this.controls=true;this.openInitDialog=true;this.withFrom=true;this.construct(a,b)}function comoLlegarGoogleMap(a){$("enlaceComollegar_"+a).setStyle("display: none;");$("formularioComoLlegar_"+a).setStyle("display: block;");$("desde_"+a).focus()}function buscarRutaGoogleMap(a,c,b){if(a==""){alert("Es necesario indicar desde donde se quiere llegar a este punto");return false}ruta=new GDirections(mapa.mapa,$("panel"));ruta.load("from: "+a+" to: "+c+","+b,{locale:"es_ES"});return false}document.onunload=GUnload();
