Event.observe(window,'load',cargaEventosSliders);

var numero_sliders = 0;
var sliders = new Array();
var numeros = new Array();
var actuales = new Array();
var timeout;

var intervalo = 3;
var duracion_efecto = 2;
var aleatorio = false;
var activar_numeros = false;
var activar_controles = true;

function cargaEventosSliders() {
	numero_sliders = $$('div.sliders').length;

	for ( var i=1 ; i<= numero_sliders ; i++ ) {
		sliders[i] = new Array();
		$$('div.sliders.'+i+' div.slider').each(function(s,index) {
			sliders[i].push(s);
			Event.observe(s,'mouseover',function(e){
				clearTimeout(timeout);
			});
			Event.observe(s,'mouseout',function(e){
				clearTimeout(timeout);
				timeout = setInterval("cambiaSlider(1)",intervalo*1000);
			});
		});
		if ( aleatorio ) {
			actuales[i] = (Math.round(Math.random()*(sliders[i].length-1)));
		}
		else {
			actuales[i] = 0;
		}
		if ( activar_numeros ) {
			numeros[i] = new Array();
			$$('div.sliders.'+i+' div.slider-numeros').each(function(s,index) {
				if (s.getAttribute('activo')!='0') {
					s.style.display='block';
				}
			});
			$$('div.sliders.'+i+' div.slider-numeros div').each(function(s,index) {
				numeros[i][parseInt(s.getAttribute('n'))-1] = s;
			});
			numeros[i][actuales[i]].addClassName('activo');
		}
		if ( activar_controles ) {
			$$('div.sliders.'+i+' div.slider-controles').each(function(s,index) {
				if (s.getAttribute('activo')!='0') {
					s.style.display='block';
				}
			});
		}
		sliders[i][actuales[i]].style.display = '';
		sliders[i][actuales[i]].style.zIndex = (400+i);
		
		if ( sliders[i].length > 1 ) {
			timeout = setInterval("cambiaSlider("+i+")",intervalo*1000);
		}
	}
	$$('div.sliders div.slider-numeros div').each(function(s,index) {
		var padre = s.parentNode.parentNode;
		Event.observe(s,'click',function(e) { 
			cambiaSliderNumero(parseInt(padre.getAttribute('n')),parseInt(s.getAttribute('n'))-1);
		});
	});
	$$('div.sliders div.slider-controles div').each(function(s,index) {
		var padre = s.parentNode.parentNode;
		Event.observe(s,'click',function(e) {
			var actual = parseInt(padre.getAttribute('n'));
			var siguiente = 0;
			switch(s.getAttribute('c')) {
				case 'anterior':
					if ( (actuales[actual]-1) < 0 ) {
						siguiente = (sliders[actual].length-1);
					}
					else {
						siguiente = actuales[actual]-1;
					}
				break;
				case 'siguiente':
					if ( (actuales[actual]+1) > (sliders[actual].length-1) ) {
						siguiente = 0;
					}
					else {
						siguiente = actuales[actual]+1;
					}
				break;
			}
			cambiaSliderNumero(parseInt(padre.getAttribute('n')),siguiente);
		});
	});
}

function cambiaSlider(n) {
	if ( aleatorio ) {
		siguiente = Math.round(Math.random()*(sliders[n].length-1));
	}
	else {
		if ( (actuales[n]+1) > (sliders[n].length-1) ) {
			siguiente = 0;
		}
		else {
			siguiente = actuales[n]+1;
		}
	}
	ocultaSlider(sliders[n][actuales[n]]);
	muestraSlider(sliders[n][siguiente]);

	if ( activar_numeros ) {
		numeros[n][actuales[n]].removeClassName('activo');
		numeros[n][siguiente].addClassName('activo');
	}

	actuales[n] = siguiente;
}

function cambiaSliderNumero(n,m) {
	if (actuales[n] != m) {
		clearTimeout(timeout);
		var siguiente = m;
		
		ocultaSlider(sliders[n][actuales[n]]);
		muestraSlider(sliders[n][siguiente]);
	
		if ( activar_numeros ) {
			numeros[n][actuales[n]].removeClassName('activo');
			numeros[n][siguiente].addClassName('activo');
		}
	
		actuales[n] = siguiente;
		
		timeout = setInterval("cambiaSlider("+n+")",intervalo*1000);
	}
}

function ocultaSlider(f) {
//	f.style.display = "none";
//	Effect.Fade(f, { queue: { scope:'slider', position: 'end' } });
	Effect.Fade(f,{duration:duracion_efecto});
}

function muestraSlider(f) {
//	f.style.display = "block";
//	Effect.Appear(f, { queue: { scope:'slider', position: 'end' } });
	Effect.Appear(f,{duration:duracion_efecto});
}
