/**
 * @version $Id$
 * @author Viames Marino
 */

// durata slide (ms)
var slidePause		= 6000;
var slidesIdx		= 0;
var slidesSize		= 0;
var slidesTimer;
var thumbFadeTime	= 0;

// semaforo
var slidePaused		= false;

var elezTimer;
var elezPause		= 30000;

jQuery(document).ready(function() {
	
	jQuery.extend({
		
		// avvia il timer per lo slideshow
		setTimer: function() {
			slidesTimer = setTimeout("jQuery.runSlideshow()",slidePause);
		},

		// ferma il timer
		stopTimer: function() {
			clearTimeout(slidesTimer);
		},
		
		// esegue il cambio slide con effetto
		runSlideshow: function() {
			var oldBtn	= jQuery('#copertina div.nav div.btn').eq(slidesIdx);
			var oldItem = jQuery('#copertina div.items div.item').eq(slidesIdx);
			slidesIdx	= (slidesIdx < slidesSize-1) ? slidesIdx+1 : 0;
			var newBtn	= jQuery('#copertina div.nav div.btn').eq(slidesIdx);
			var newItem = jQuery('#copertina div.items div.item').eq(slidesIdx);
			oldItem.children('div.text').slideUp(function(){
				oldBtn.removeClass('active',thumbFadeTime);
				newBtn.addClass('active',thumbFadeTime);
				if (slidesIdx>0) {
					newItem.children('div.image').fadeIn(function(){
						if (!slidePaused) {
							newItem.children('div.text').slideDown();
							oldItem.children('div.image').hide();
						}
					});
				} else {
					newItem.children('div.image').show();
					oldItem.children('div.image').fadeOut(function(){
						if (!slidePaused) {
							newItem.children('div.text').slideDown();
						}
					});
				}
			});
			jQuery.setTimer();
		},
		
		// slide selezionata direttamente 
		showSlide: function(newIdx) {
			if (slidesIdx == newIdx) return false;
			jQuery('#copertina > div.nav > div.btn').removeClass('active');
			jQuery('#copertina > div.items > div.item > div.image').stop(true,true).hide();
			jQuery('#copertina > div.items > div.item > div.text').stop(true,true).hide();
			var newBtn	= jQuery('#copertina > div.nav div.btn').eq(newIdx);
			var newItem = jQuery('#copertina > div.items div.item').eq(newIdx);
			newBtn.addClass('active');
			newItem.children('div.image').show();
			newItem.children('div.text').show();
			slidesIdx = newIdx;
		},
		
		// aggiornamento ajax elezioni
		getElezUpdate: function() {
			jQuery.ajax({
				type: 'GET',
				url: 'index.php?option=com_home&format=raw&task=getElezUpdate',
				success: function(response) {
					jQuery("#copertina.sfondoElezioni").html(response);
				}
			});
			elezTimer = setTimeout("jQuery.getElezUpdate()",elezPause);
		}
	});
	
	// verifica elemento DOM elezioni
	if (jQuery('#copertina.sfondoElezioni').length) {
		elezTimer = setTimeout("jQuery.getElezUpdate()",elezPause);
	}
	
	// numero elementi slideshow in pagina
	slidesSize = jQuery('#copertina div.items div.item').size();
	
	// attiva il timer solo se c'è più di uno slide
	if (slidesSize > 1) {
		
		jQuery.setTimer();

		jQuery('#copertina div.nav div.btn').mouseenter(function(){
			slidePaused = true;
			jQuery.stopTimer();
			var idx = jQuery('#copertina div.nav div.btn').index(jQuery(this));
			jQuery.showSlide(idx);
		}).mouseleave(function(){
			slidePaused = false;
			jQuery.setTimer();
		});
		
	}
	
});
