﻿
// ONO (www.ono.es) - Código para galerías de imágenes horizontales - Octavio Molano - Ago, 2009

var speed = 5000; // Velocidad a la que cambian las imágenes (en milisegundos)
var picNum, picMax, tmr;

$(function() // Inicialización de eventos jQuery
{
	if ($('#home_slider').length > 0) // Asignación de eventos a botones del slider
	{
		var i = 0;
		while ($('#home_slider_btn' + (++i)).length > 0) {$('#home_slider_btn' + i).click(onoSlide);}

        if ($('#slider_numbers').length > 0) // Si hay capa de números, es una galería automática
        {
            var currentId = $('#slider_numbers a.sel').attr('id');
            picNum = parseInt(currentId.substr(currentId.length - 1), 10); // Número del final del Id
            picMax = i - 1;

            tmr = setInterval(autoGallery, speed);
		}
	}
});

function onoSlide(obj, pic) // Cambia el banner visible según el Id del elemento llamante
{
	var i, n;

	i = 0;
	while ($('#home_slider_btn' + (++i)).length > 0) {$('#home_slider_btn' + i + ' a').removeClass('sel');} // Se eliminan todas las selecciones
    if (!obj && pic) {n = pic;} // La foto a la que mover forma parte de una secuencia automática
    else // La foto ha sido pulsada por el usuario. Se obtiene del final del Id
    {
        n = parseInt(this.id.substr(this.id.length - 1), 10);
        if ($('#slider_numbers').length > 0) // Si estamos en una galería automática
        {
            clearInterval(tmr); // Cuando el usuario pulsa un número, se detiene el timer
            setTimeout(function() {tmr = setInterval(autoGallery, speed);}, 8000); // Se reanuda el timer en 8 segundos
        }
    }
	$('#home_slider ul').animate({left: (n - 1) * parseInt($('#home_slider').width(), 10) * -1 + 'px'}, 1000); // Movimiento banner
	$('#home_slider_btn' + n + ' a').addClass('sel'); // Selección actual

	if ($('#home_slider_info1').length > 0) // Si existe caja de información, se muestra la correspondiente a la selección
	{
		i = 0;
		while ($('#home_slider_info' + (++i)).length > 0) {$('#home_slider_info' + i).hide();} // Se ocultan todas las cajas de información
		$('#home_slider_info' + n).fadeIn('slow');
	}
	
	picNum = n;
	
	return false; // Evita que se cargue el enlace del href (sólo se carga con JS desactivado o pulsando con el botón rueda)
}

function autoGallery() // Cambia a la siguiente imagen, saltando a la primera al llegar al final
{
    if (picNum == picMax) {picNum = 1;} else {picNum++;}
    onoSlide(null, picNum);
}
