var fotos_cargadas = 0;
var foto_activa = null;
var mini_over = false;
var mini_activa = null;
var anim_foto = null;
var anim_tmr = null;
var anim_t = 50;
var ciclo_bloquear = false;
var auto_tmr = null;
var auto_t = 3333;

function Inicializa()
{
	if(fotos.length != 1) {
		if(fotos_cargadas == 0) {
			setTimeout('Inicializa()', 1000);
		} else {
			var elm;
			for(var i = 1; i != fotos.length; ++i) {
				elm = document.getElementById('fot' + i);
				elm.num = i;
				elm.onload = FotoCargada;
				elm.onerror = Error;
				elm.onabort = Error;
				elm.src = fotos[i][0];
			}
		}
	}
}
window_onload[window_onload.length] = 'Inicializa()';

function PrecargarFotos()
{
	var i, elm;

	for(var i = 1; i != fotos.length; ++i) {
		elm = document.getElementById('bot' + i);
		elm.num = i;
		elm = document.getElementById('fot' + i);
		elm.num = i;
		setOpacity(elm, 0);
	}
	if(fotos.length != 1) {
		// Cargar la primera foto antes que el resto
		elm = document.getElementById('fot1');
		elm.onload = FotoCargada;
		elm.onerror = Error;
		elm.onabort = Error;
		elm.src = fotos[1][0];
	} else {
		// Quitar el reloj
		setStyleById('reloj', 'visibility', 'hidden');
	}
};
function FotoCargada()
{
	if(!fotos[this.num][3]) {
		fotos[this.num][3] = true;
		var elm = document.getElementById('bot' + this.num);
		elm.AutoMini = AutoMini;
		elm.ActivaMini = ActivaMini;
		elm.onmouseover = OverMini;
		elm.onmouseout = OutMini;

		if(this.num == 1 && !mini_over) {
			document.getElementById('bot1').AutoMini();
		}

		if(++fotos_cargadas == (fotos.length - 1)) {
			setStyleById('reloj', 'visibility', 'hidden');
		}
	}
};
function Error()
{
	window.status += '[' + this.num + ']';
};
function OverMini()
{
	if(auto_tmr) {
		clearTimeout(auto_tmr);
		auto_tmr = null;
	}

	if(!ciclo_bloquear) {
		ciclo_bloquear = true;

		mini_over = true;

		if(mini_activa.num != this.num) this.ActivaMini();

		ciclo_bloquear = false;
	}
};
function OutMini()
{
	if(auto_tmr) {
		clearTimeout(auto_tmr);
		auto_tmr = null;
	}

	if(!ciclo_bloquear) {
		ciclo_bloquear = true;

		var i = this.num + 1;
		if(i == fotos.length) i = 1;
		auto_tmr = setTimeout("document.getElementById('bot" + i + "').AutoMini()", auto_t);

		mini_over = false;

		ciclo_bloquear = false;
	}
};
function AutoMini()
{
	auto_tmr = null;

	if(!mini_over) this.ActivaMini();
}
function ActivaMini()
{
	var elm = document.getElementById('fot' + this.num);
	if(elm && elm != foto_activa && elm != anim_foto) {
		if(anim_tmr) {
			clearTimeout(anim_tmr);
			anim_tmr = null;

			setOpacity(anim_foto, 1);
			if(foto_activa) {
				setOpacity(foto_activa, 0);
				setStyle(foto_activa, 'zIndex', '1');
			}
			setStyle(anim_foto, 'zIndex', '2');
			foto_activa = anim_foto;
			anim_foto = null;
		}

		if(mini_activa) mini_activa.className = 'off' + mini_activa.num;
		mini_activa = this;
		mini_activa.className = 'on' + mini_activa.num;

		anim_foto = elm;
		setStyle(anim_foto, 'zIndex', '3');
		anim_tmr = setTimeout('AnimaFoto(' + this.num + ', 0)', anim_t);
	}
};
function AnimaFoto(num, alfa)
{
	anim_tmr = null;

	if(anim_foto) {
		setOpacity(anim_foto, alfa);
		var tmp = 0.333 * (1 - alfa);
		if(tmp <= 0.01) {
			setOpacity(anim_foto, 1);
			if(foto_activa) {
				setOpacity(foto_activa, 0);
				setStyle(foto_activa, 'zIndex', '1');
			}
			setStyle(anim_foto, 'zIndex', '2');
			foto_activa = anim_foto;
			anim_foto = null;

			var i = num + 1;
			if(i == fotos.length) i = 1;
			if(!mini_over && !auto_tmr) auto_tmr = setTimeout("document.getElementById('bot" + i + "').AutoMini()", auto_t);
		} else {
			alfa += tmp;
			anim_tmr = setTimeout('AnimaFoto(' + num + ', ' + alfa + ')', anim_t);
		}
	}
};

