// JavaScript Document
var errorComoLlegarDireccion = "No se ha encontrado la localización geográfica de la dirección dada. Puede que la dirección sea demasiado nueva o incorrecta. ";
var errorComoLlegarParseo = "No se ha podido leer correctamente la dirección enviada. ";
var errorDesconocido = "Se ha producido un error desconocido al intentar generar la ruta. ";

var inicializado = false;
var cookieName = 'puntoPartidaComoLlegar';

function origenUsado()
{
	try {
		if ( myCookie = Cookie.read(cookieName) )
		{
			return myCookie;
		}
		else
		{
			return '';
		}
	}
	catch ( e )
	{
		return '';
	}
}

var mapacomol = null;
$(document).ready(function() {
	
		var lat, lng;

		//estos datos salen del xml y están en el html de la página
		lat = $('.latitud').text();
		lng = $('.longitud').text();
		titulo = $('.nombre').text();

		mapacomol = new GMap2($('#mapaComoLlegar').get(0),{size: new GSize (ancho_mapa,alto_mapa)});
		
		var elpunto = new GLatLng(lat,lng);
		
		mapacomol.setCenter(new GLatLng(lat, lng), 18);
		mapacomol.addControl(new GSmallMapControl());
	    mapacomol.addControl(new GMapTypeControl());
		
		
		baseIcon = new GIcon();
		baseIcon.iconSize=new GSize(200,34);
		baseIcon.shadowSize=new GSize(220,34);
		baseIcon.iconAnchor=new GPoint(20,34);
		baseIcon.infoWindowAnchor=new GPoint(40,40);
	
		var icono = new GIcon(baseIcon);
	
		var html1 = '<div class="globo">';
		html1 = '<div id="globo-texto">';
		html1 += '<b>'+unescape(titulo)+'</b>';
		html1 += '</div>';
		html1 += '</div>';
		
		marca = creaMarcaPunto(elpunto,html1,'');
		mapacomol.addOverlay(marca);
		

});


function creaMarcaPunto(punto,html1,icono) 
{
    var marc = new GMarker(punto);

	GEvent.addListener(marc, "click", function() 
	{
 		marc.openInfoWindowTabsHtml([new GInfoWindowTab("Situaci?n",html1)]);
  });
  return marc;
   
} 


function comoLlegar(frm)
{
	$('#introduccionComoLlegar').get(0).style.display = 'block';
	$('#mapaComoLlegar').get(0).style.display = 'block';
	$('#indicacionesComoLlegar').get(0).style.display = 'block';
	

	if(!inicializado && GBrowserIsCompatible())
	{
		inicializado = true;

		//var mapacomol = new GMap2($('#mapaComoLlegar').get(0));
		var indicacionesComoLlegar = $('#indicacionesComoLlegar').get(0);

		gestorComoLlegar = new GDirections(mapacomol, indicacionesComoLlegar);
		GEvent.addListener(gestorComoLlegar, "error", handleErrorsComoLlegar);
	}

	var	origen = frm.puntoPartida.value;
	//var myCookie = Cookie.write(cookieName, origen, {'path': '/'});

	var destino = frm.lugarDestino.value + "@" + frm.latitudDestino.value + ", " + frm.longitudDestino.value;
	
	gestorComoLlegar.load("from: " + origen + " to: " + destino, { "locale": frm.idioma.value });

}

function handleErrorsComoLlegar()
{
	$('#introduccionComoLlegar').get(0).style.display = 'none';
	$('#indicacionesComoLlegar').get(0).style.display = 'none';
	
	//Cookie.dispose(cookieName);
	
	if (gestorComoLlegar.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	{
		alert(errorComoLlegarDireccion);
	}
	else if (gestorComoLlegar.getStatus().code == G_GEO_BAD_REQUEST) {
		alert(errorComoLlegarParseo);
	}
	else
	{
		alert(errorDesconocido);
	}
}

