var idioma = 'es';
var clicado = 'inicio';
var MAX_NOTICIAS = 3;
function carga(){
	/*se oculta grow que es donde van las fotos agrandables, 
		se mostrará cuando se pulse sobre una de ellas*/
	$('grow').style.display='none';
	//Se comienza mostrando la página de inicio.
	mostrar('inicio');
	
	window.onresize=redimension;
	//Se le asignan eventos y href a los items del menú
	var arrMenu = $('menu').getElementsByTagName('a');
	for(var i=0; i < arrMenu.length; i++){
		if(arrMenu[i].id != 'inicio'){
			arrMenu[i].onmouseover=encima;
			arrMenu[i].onfocus=encima;
			arrMenu[i].onmouseout=fuera;
			arrMenu[i].onblur=fuera;
			
			arrMenu[i].setAttribute('href','javascript:gestionMenu("'+arrMenu[i].id+'")');
		}
	}
	//Se le asignan eventos y href a los items de los botones de idioma
	
	var arrIdiomas = $('idiomas').getElementsByTagName('a');
	for(var i=0; i < arrIdiomas.length; i++){
		arrIdiomas[i].onmouseover = encimaIdioma;
		arrIdiomas[i].onfocus = encimaIdioma;
		arrIdiomas[i].onmouseout = fueraIdioma;
		arrIdiomas[i].onblur = fueraIdioma;
		
		arrIdiomas[i].setAttribute('href','javascript:gestionIdioma("'+arrIdiomas[i].id+'")');
	}
	
}

function encima(){
	this.getElementsByTagName('img')[0].src = 'images/'+this.id+'over_'+idioma+'.gif';
}
function fuera(){
	
	if(this.id != clicado){
		this.getElementsByTagName('img')[0].src = 'images/'+this.id+'_'+idioma+'.gif';
	}
}

function encimaIdioma(){
	this.getElementsByTagName('img')[0].src = 'images/'+this.id+'_over.gif';
}
function fueraIdioma(){
	
	if(this.id != idioma){
		this.getElementsByTagName('img')[0].src = 'images/'+this.id+'.gif';
	}
}
function gestionIdioma(idiomaSel){
	if(idiomaSel != idioma){
		//Pinta los botones de forma que se vea seleccionado el idioma.
		var arrIdiomas = $('idiomas').getElementsByTagName('a');
		for(var i=0; i < arrIdiomas.length; i++){

			arrIdiomas[i].getElementsByTagName('img')[0].src = 'images/'+arrIdiomas[i].id+'.gif';
		}
		$(idiomaSel).getElementsByTagName('img')[0].src = 'images/'+idiomaSel+'_over.gif';
		
		
		//Gestión del cambio de idioma en las imágenes
		var srcIdiomas = /[a-zA-Z\-0-9]+_[a-z]{2}[\.]{1}[a-z]{3}$/;
		var imagenes = $('contenedor1').getElementsByTagName('img');
		var resultado = '';
		for(var i = 0; i < imagenes.length; i++){
			resultado = imagenes[i].src.match(srcIdiomas);
			if (resultado){
				resultado = resultado+'';
				imagenes[i].src = 'images/'+resultado.substring(0,resultado.indexOf('_')+1)+idiomaSel+'.gif';
			}
		}
		
		//Gestión del cambio de idioma en los textos
		if($$('div.noticia').length > 0){//si está la pantalla de novedades.
			idioma = idiomaSel;
			cargaNovedades();
		}else {
			$('texto').innerHTML = $('texto_'+idiomaSel).innerHTML;
		}
		idioma = idiomaSel;
	}
}
function redimension(){
	
	var altoVentana = window.innerHeight? window.innerHeight: document.documentElement.clientHeight;
	$('mancha').style.height = ((altoVentana-20)>0)? (altoVentana-20)+'px':'0px';
	$('fondo').style.height = ((altoVentana-20)>0)? (altoVentana-20)+'px':'0px';
	var altoDoc = document.body.offsetHeight;
	var alto = (altoVentana > altoDoc)? altoVentana: altoDoc+20;
	var altoTexto= $('texto').offsetHeight;
	if((altoTexto + 80) > alto){alto=(altoTexto + 80);} 
	$('mancha').style.height = (alto - 20)+'px';
	$('fondo').style.height = (alto - 20)+'px';

	if($('velo')){
		$('velo').style.height=alto+'px';
	}
	$('grow').style.height=alto+'px';
	//$('contenedor2').style.height = (alto - 20)+'px';
}
function gestionMenu(pulsado){
	if(pulsado!= 'menu'){
		function cargar(){
			mostrar(pulsado);
		}
		gestionaEstiloMenu(pulsado);
		//Effect.BlindUp('contenedor2',{afterFinish:cargar,duration:3});
		Effect.BlindUp('contenedor2',{afterFinish:cargar});
	}
}

function gestionaEstiloMenu(pulsado){
	if(clicado != 'inicio' && clicado != pulsado){
		$(clicado).getElementsByTagName('img')[0].src = 'images/'+clicado+'_'+idioma+'.gif';
	}
	clicado = pulsado;
}
function mostrar(que){
	new Ajax.Updater('contenedor2',que+'.html',
				{method: 'get',	
				parameters: '',
				asynchronous:false,
				evalscript:true	
				});
	creaTiraFotos(que);
	if(que == 'novedades'){
		cargaNovedades();
	}else {
		$('titulo').src = 'images/'+que+'tit_'+idioma+'.gif';
		$('texto').innerHTML = $('texto_'+idioma).innerHTML;
	}
	function cargaImagen(){
		$('fondo').style.backgroundImage = 'url(images/'+que+'.gif)';
	}
	$('fondo').style.display='none';
	Effect.Appear('fondo',{duration:3, beforeStart:cargaImagen});
	//redimension();
	/*
	La idea es que, cuando se quiera que una foto se pueda agrandar sólo sea necesario añadirle
	la clase "agrandable", pero getElementsByClassName parece no funcionar en explorer5.5.
	Por ahora se pone id agrandable y, si se necesita que haya más de una foto agrandable por pantalla,
	se tendrá que ver cómo sustituir el getElementsByClassName por otra cosa.
	
	var fotosAgrandables = document.getElementsByClassName('agrandable');
	
	for(var i = 0; i < fotosAgrandables.length;i++){
		fotosAgrandables[i].onclick=abreImagen;
	}
	*/
	
	if($('agrandable')) $('agrandable').setAttribute('href','javascript:abreImagen("agrandable")');

	//Effect.BlindDown('contenedor2',{duration:3});
	//Effect.BlindDown('contenedor2');

	Effect.BlindDown('contenedor2',{afterFinish:redimension});
	//redimension();
}
function cargaNovedades(){
	var noticias = $$('#texto_'+idioma+' div.noticia');
	
	var tabla = '<div id="tablanoticias">';
	tabla += cargaTabla(0,3);
	var muestraPaginacion = (noticias.length >= MAX_NOTICIAS)? '':'none';//si hay más de una página
	tabla+='</div>';
	tabla+='<div id="control" style="display:'+muestraPaginacion+'">';
	tabla+='	Más noticias <div id="imgatras" onclick="paginaAtras();"></div>';
	tabla+='	<div id="imgalante" class="activo" onclick="paginaAlante();"> </div>';
	tabla+='</div>';
	if(noticias.length > 0){
		$('texto').innerHTML = tabla;
	}
}
function cargaTabla(inicio,fin){
	var noticias = $$('#texto_'+idioma+' div.noticia');
	var tabla='<table class="tablanoticias">';
	for(var i=inicio; i < noticias.length && i < fin; i++){
		var unanoticia =noticias[i];
		var titulo = unanoticia.getElementsByClassName('titnoticia')[0].innerHTML;
		var textonoticia =unanoticia.getElementsByClassName('texto_noticia')[0].innerHTML;
		tabla+= '<tr id="'+i+'"><th>';
		tabla+= '<a href="javascript:aumentaNoticia(\''+titulo+'\',\''+textonoticia+'\','+i+')">'+titulo+'</a><br/>';
		tabla+= '<div class="bloque"><p>'+textonoticia+'</p></div>';
		tabla+= '</th>';
		tabla+= '<td>';
		tabla+= '<img src="fotos/noticias/noticia_'+i+'.jpg"/>';
		tabla+= '</td></tr>'
	}
	tabla+='</table>';
	return tabla;
}
function paginaAlante(){
	if($('imgalante').className=='activo'){//si está activo el botón de paginar adelante
		$('imgatras').className='activo';
		var tablaNoticias =  $$('table.tablanoticias tr');
		var primeraNoticia = Number(tablaNoticias[0].id);//primera noticia de la pág actual
		var totalNoticias = $$('#texto_'+idioma+' div.noticia').length;
		var primeraActual = primeraNoticia + MAX_NOTICIAS;//la nueva primera noticia al paginar
		
		if(primeraActual + MAX_NOTICIAS >= totalNoticias){
				$('imgalante').className='';
		}
		$('tablanoticias').innerHTML= cargaTabla(primeraActual,primeraActual + MAX_NOTICIAS);
	}
}
function paginaAtras(){
	if($('imgatras').className=='activo'){//si está activo el botón de paginar atrás
		$('imgalante').className='activo';
		var tablaNoticias =  $$('table.tablanoticias tr');
		var primeraNoticia = Number(tablaNoticias[0].id);//primera noticia de la pág actual
		var primeraActual = primeraNoticia - MAX_NOTICIAS;//la nueva primera noticia al paginar
		if(primeraActual - MAX_NOTICIAS < 0){
				$('imgatras').className='';
		}
		$('tablanoticias').innerHTML= cargaTabla(primeraActual,primeraActual + MAX_NOTICIAS);
	}
}
function aumentaNoticia(titulo,texto,numero){
	function llenaVentana(){
		var contenido = '<div id="subpagina">';
			contenido+= '	<div id="fotosubpagina">';
			contenido+= '		<img src="fotos/noticias/noticia_grande_'+numero+'.jpg"/>';
			contenido+= '	</div>';
			contenido+= '	<div id="textoEntero">';
			contenido+= '<h1>'+titulo+'</h1>';
			contenido+= texto;		
			contenido+= '	</div>';
		creaVentana(contenido);
	}
	function ponFoco(){
		$('lCerrar').focus();
	}
	Effect.Grow('grow',{beforeStart:llenaVentana,afterFinish:ponFoco});
	
}
function creaTiraFotos(capa){

	if($('tiraFotos')){
		var numFotos = $('tiraFotos').getAttribute('num')?$('tiraFotos').getAttribute('num'):0;
		numFotos = parseInt(numFotos);
		var contenido='';
		var cargaFotos='';
		for(var i=1; i <=numFotos; i++){
				var clase = 'thumbnail';
				if(i==1){
					clase =  'thumbnailactivo';
				}
				contenido+='<a href="javascript:muestraGrande(\''+capa+i+'\')" id="'+capa+i+'" class="'+clase+'"><img src="fotos/'+capa+i+'_thumb.jpg" /></a>';
				cargaFotos+='<img src="fotos/'+capa+i+'.jpg" />'
			}
		$('tiraFotos').innerHTML= contenido;

		for(var i=1;i<=numFotos;i++){
			$(capa+i).onmouseover = activaLink;
			$(capa+i).onfocus = activaLink;
			$(capa+i).onmouseout = desactivaLink;
			$(capa+i).onblur = desactivaLink;
		}
		$('carga').innerHTML +=cargaFotos;
		
	}
}
function activaLink(){
	this.className ='thumbnailactivo'; 
}
function desactivaLink(){
	if(document.getElementsByClassName('thumbnailactivo').length > 1){
		this.className ='thumbnail'; 
	}
}
function muestraGrande(cual){
	var activos = document.getElementsByClassName('thumbnailactivo');
	
	for(var i = 0; i < activos.length;i++){
		activos[i].className = 'thumbnail';
	}
	$(cual).className ='thumbnailactivo'; 
	var laFoto=cual;
	function cargaFoto(){
		function cambiaFoto(){
			var fotoGrande = $('foto').getElementsByTagName('img');
			fotoGrande[0].src='fotos/'+laFoto+'.jpg';
		}
		Effect.Appear('foto',{beforeStart:cambiaFoto});
	}
	
	Effect.Fade('foto',{afterFinish:cargaFoto});
	
	
}
function reservasOver(){
	$('botonReservas').src='images/reservasover_'+idioma+'.gif';
}
function reservasOut(){
	$('botonReservas').src='images/reservas_'+idioma+'.gif';
}


function abreImagen(oAfectado){
	var oAfectado = $(oAfectado).getElementsByTagName('img')[0];
	function llenaVentana(){
		var urlOrigen = oAfectado.src;
		var urlGrande = /[a-zA-Z\-0-9]+[\.]{1}[a-z]{3}$/;
		var resultado = urlOrigen.match(urlGrande);

		var contenido = '<div id="v_imagen" class="v_imagen"><img src="fotos/foto_'+resultado+'" id="imagengrande"/></div>';
		creaVentana(contenido);
		//creaVentana(oAfectado,'img');//para abrir una imagen se pasa img, para una pantala html
	}
	function ponFoco(){
		$('lCerrar').focus();
	}
	Effect.Grow('grow',{beforeStart:llenaVentana,afterFinish:ponFoco});
	
}

/*
	Cuando se quiere que una ventana se pueda agrandar, hay que crear un archivo con
	el mismo nombre que la foto pero que empieze por foto_, es decir, si tenemos una
	foto que se llama lafoto1.gif, tendremos que crear otra mÃ¡s grande que se llame foto_lafoto1.gif
	y colocarla en el directorio fotos. y a la foto hay que colocarle la clase "agrandable" es decir
	class="agrandable"
*/

function creaVentana(contenido){
		
	var vCerrar = document.createElement('div');
	vCerrar.id = 'v_cerrar';
	vCerrar.className = 'v_cerrar';
	
	var lCerrar= document.createElement('a');
	lCerrar.setAttribute('href','javascript:cerrarVentanaFotoGrande()');
	lCerrar.id='lCerrar';
	
	var iCerrar = document.createElement('img');
	iCerrar.src='images/cerrar.gif';
	
	lCerrar.appendChild(iCerrar);
	vCerrar.appendChild(lCerrar);
	$('grow').appendChild(vCerrar);
	$('base').innerHTML = contenido;
	$('base').style.height = document.body.offsetHeight;
	
	
	var altoVentana = window.innerHeight? window.innerHeight: document.documentElement.clientHeight;
	var altoDoc = document.body.offsetHeight+20;
	var alto = (altoVentana > altoDoc)? altoVentana: altoDoc;
	$('grow').style.height = alto+'px';
	$('velo').style.height=alto+'px';

	
}
function cerrarVentanaFotoGrande() {
			Effect.Shrink('grow',{afterFinish:limpiarVentana});
			//$('v_imagen').style.display = 'none';
			//$('imagengrande').src ='';
}
function limpiarVentana(){
	$('base').innerHTML ='';
}
//Abre una ventana
function abrir(cual){
	function llenaVentana(){
		var contenido = '';		
		new Ajax.Request(cual+'.html',
				{method: 'get',	
				onSuccess:function(elcontenido){
					contenido=elcontenido.responseText;
				},
				asynchronous:false,
				evalscript:true	
				});
		
		if(contenido != ''){
			creaVentana(contenido);//para abrir una imagen se pasa img, para una pantala html
			$('textoEntero').innerHTML = $('textoEntero_'+idioma).innerHTML;
		}//creaVentana(cual,'html');//para abrir una imagen se pasa img, para una pantala html
	}
	function ponFoco(){
		$('lCerrar').focus();
	}
	Effect.Grow('grow',{beforeStart:llenaVentana,afterFinish:ponFoco});
}