// 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 '';
	}
}

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

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

		var mapacomol = new GMap2($('mapaComoLlegar'));
		var indicacionesComoLlegar = $('indicacionesComoLlegar');

		mapacomol.addControl(new GSmallMapControl());
                mapacomol.addControl(new GMapTypeControl());
		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').style.display = 'none';
	$('mapaComoLlegar').style.display = 'none';
	$('indicacionesComoLlegar').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);
	}
}
