// JavaScript Document
var Transicion = function(arreglo,velocidad,aceleracion){
	var oClase = this;
	var cuadros = new Array();
	var cargas = new Array();
	var indiceActual = 0;
	var posicion = 0;
	var opacity = 100;
	var pictures = arreglo;
	var tiempoComienzo = 4000;
	var iniciado = 0;
	if(Nav.esIE)this.velocidad = velocidad;
	else this.velocidad = (velocidad/100);

	this.aceleracion = aceleracion;
	var crearValores = function(){
		var indice = 0;
		for(i=0;i<3;i++){
			cuadros[i] = new Object();
			cuadros[i].imagen1 = document.getElementById("imgTrans"+i+"-1");
			cuadros[i].imagen1.indice = i;
			cuadros[i].imagen2 = document.getElementById("imgTrans"+i+"-2");
			asignarEventos(i);
		}
		if(cuadros.length == 3){
			cuadros[0].imagen2.indice = 2;	
			cuadros[1].imagen2.indice = 0;
			cuadros[2].imagen2.indice = 1;
		}
		iniciarCargas();
	}
	var asignarEventos = function(indice){
		AddEvent(cuadros[indice].imagen1, "load", function(){setearCarga(indice)});
		AddEvent(cuadros[indice].imagen2, "load", function(){setearCarga(indice)});			
	}
		
	var rand = function(){
		return Math.round(Math.random()*(0-(pictures.length-1))) + (pictures.length-1);	
	}
	
	var iniciarCargas = function(){
		for(i=0;i<3;i++)cargas[i] = 0;
	}	
	setearCarga = function(indice){
		cargas[indice] = 1;
	}
	var iniciarTransicion = function(){
		iniciarCargas();
		var seteados = new Array();
		for(i=0;i<3;i++){
			if(posicion == 1){
				cuadros[i].fondo1 = cuadros[i].imagen1;
				cuadros[i].fondo2 = cuadros[i].imagen2;
				
			}
			else{
				cuadros[i].fondo1 = cuadros[i].imagen2;
				cuadros[i].fondo2 = cuadros[i].imagen1;
			}
			
			if(Nav.esIE){
				cuadros[i].fondo2.style.filter = "alpha(opacity=100)";
				cuadros[i].fondo1.style.filter = "alpha(opacity=100)";
			}
			else{
				cuadros[i].fondo1.style.MozOpacity = 1;
				cuadros[i].fondo2.style.MozOpacity = 1;				
			}
			cuadros[i].fondo1.style.zIndex = 100;
			cuadros[i].fondo2.style.zIndex = 0;			

	
			var ind = cuadros[i].fondo1.indice;
			clickImagen(ind,cuadros[i].fondo1);
			sacarClick(cuadros[i].fondo2);
			
			var limite = 0;
			while((ind == cuadros[i].fondo1.indice) || (ind == cuadros[i].fondo2.indice) || (seteados[ind] == 1) && limite < 3000){
				ind = rand();
				limite++;
			}
			seteados[ind] = 1;
			cuadros[i].fondo2.indice = ind;
			cuadros[i].fondo2.src = pictures[ind].src;

		}
		if(posicion == 0)posicion = 1;
		else posicion = 0;
		indiceActual = 0;
		if(Nav.esIE)opacity = 100;
		else opacity = 1;

		setTimeout(function(){cambiar()},tiempoComienzo);

	}
	var clickImagen = function(indice,imagen){
		imagen.onclick = function(){document.location="?se=productosCat&idC="+pictures[indice].idCategoria;};
	}
	var sacarClick = function(imagen){
		imagen.onclick = "";
	}
	var cambiar = function(){
		if(cargas[0] == 1 && cargas[1] == 1 && cargas[2] == 1){
			if(opacity-oClase.velocidad <= 0){
				if(Nav.esIE)cuadros[indiceActual].fondo1.style.filter = "alpha(opacity=0)";
				else cuadros[indiceActual].fondo1.style.MozOpacity = 0;
				indiceActual++;			
				if(indiceActual == cuadros.length){
					indiceActual = 0;
					iniciarTransicion();
				}
				else{
					if(Nav.esIE)opacity = 100;
					else opacity = 1;
					cambiar();
					
				}
			}
			else{
				var mitad = 0.8;
				if(Nav.esIE){
					cuadros[indiceActual].fondo1.style.filter = "alpha(opacity="+(opacity-oClase.velocidad)+")";
					mitad = 80;
				}
				else cuadros[indiceActual].fondo1.style.MozOpacity = (opacity-oClase.velocidad);
				opacity = opacity-oClase.velocidad;
				if(opacity < mitad){
					sacarClick(cuadros[indiceActual].fondo1);
					clickImagen(cuadros[indiceActual].fondo2.indice,cuadros[indiceActual].fondo2);
					clickImagen(cuadros[indiceActual].fondo2.indice,cuadros[indiceActual].fondo1);					
				}
			
				setTimeout(function(){cambiar()},oClase.aceleracion);
			}
		
		}
		else{
			setTimeout(function(){cambiar()},oClase.aceleracion);	
		}
	}
	crearValores();
	clickImagen(0,cuadros[0].imagen2);
	clickImagen(1,cuadros[1].imagen2);
	clickImagen(2,cuadros[2].imagen2);	
	cuadros[0].imagen2.indice = 0;
	cuadros[1].imagen2.indice = 1;
	cuadros[2].imagen2.indice = 2;	

	iniciarTransicion();
}