// JavaScript Document

// PUNTUACIONES DE LA FICHA
// Para asociar el id_imagen al campo
function imagenCampo (id_imagen)
{
	// Devuelvo el valor del campo
	switch(id_imagen)
	{
		case 'Image1':
			campo = 'val_global';
			break;
		case 'Image2':
			campo = 'val_comida';
			break;
		case 'Image3':
			campo = 'val_servicio';
			break;
		case 'Image4':
			campo = 'val_ambiente';
			break;
		default:
	}
	
	return campo;
}

// Cambia la imagen en el mouse over (para la puntuación)
function cambiarImagen(id_imagen, nueva_imagen, actualizar)
{	
	// Actualizo la imagen
	document.getElementById(id_imagen).src = URL_APP + nueva_imagen;

	// Actualizo el valor del campo en caso de ser necesario
	if (actualizar)
	{
		// Saco el valor del campo asociado
		campo = imagenCampo(id_imagen);

		// Le asigno el nuevo valor
		nuevo_valor = nueva_imagen.substr(11, 1);
		document.getElementById(campo).value = nuevo_valor;
	}
	
	return true;
}

function restaurarImagen(id_imagen)
{
	campo = imagenCampo(id_imagen);
	valor_campo = document.getElementById(campo).value;

	if (!valor_campo)
	{
		valor_campo = 0;
	}
	nueva_imagen = 'estrellasg-' + valor_campo + '.png';
	document.getElementById(id_imagen).src = URL_APP + nueva_imagen;
}


// MAPAS DE LA FICHA
// Función que geolocaliza la calle
function showAddress(nombre, direccion, cp, localidad, provincia)
{
	// Creo el mapa
	var map = new GMap2(document.getElementById("mapa_ficha"));

	// Le añado los controles oportunos
	//var mapControl = new GSmallZoomControl();
	var mapControl = new GLargeMapControl();
	map.addControl(mapControl);

	var mapControl = new GMapTypeControl();
	map.addControl(mapControl);

	// Compongo la cadena de la dirección a buscar
	var direccion_buscar = (direccion + ', ' + cp + ' ' + localidad);
	var direccion_buscar2 = (cp + ', ' + provincia);
	
	// Texto del globo de búsqueda
	var texto_direccion = '<strong>' + nombre + '</strong><br />' + direccion + '<br />' + cp + ' - ' + localidad + ' (' + provincia + ')';

	// Creo el geocoder para localizar direcciones
	var geocoder = new GClientGeocoder();

	// Posicionamiento automático de la calle con dos posibles búsquedas, tiene un parámetro con la calle y una función manejadora de la búsqueda
	geocoder.getLatLng
	(
		direccion_buscar ,

		function(point)
		{
			// No he encontrado la dirección
			if (!point)
			{

				// Segunda posible búsqueda
				//alert(direccion + " no encontrada");
				geocoder.getLatLng
				(
					direccion_buscar2 ,

					function(point2)
					{
						// No se ha encontrado definitivamente
						if (!point2)
						{
							alert('No se ha localizado la dirección en el mapa');
						}
						// Se ha encontrado a la segunda
						else
						{
							map.setCenter(point2, 12);
							var marker = new GMarker(point2);
							map.addOverlay(marker);
							marker.openInfoWindowHtml('<div class="textoMapa"><span style="font-size:10px;">Dirección aproximada:</span><br />' + texto_direccion + '</div>');
						}
					}
				);
			}
			// Si encuentro la dirección
			else
			{
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				marker.openInfoWindowHtml('<div class="textoMapa">' + texto_direccion + '</div>');
			}
		}
	);
}
