var slideShowLocked = false;

function toFirstSlide() {
	var sel_slide = $(".selected_slide");
	var next_slide = sel_slide.parent().find(".slide:first");
	if(next_slide[0] == sel_slide[0]) {
		return;
	}
	if(next_slide[0]) {
		$("#loading_paginazione").fadeIn('fast');
		sel_slide.removeClass("selected_slide");
		next_slide.addClass("selected_slide");
		next_slide.css('left', 900);
		
		var sel_pag = $(".pagination .selected");
		var next_pag = $(".pagination").find(".box:first");
		sel_pag.removeClass("selected");
		setPaginationBoxSelected(sel_pag[0], false);
		next_pag.addClass("selected");
		
		sel_slide.animate({
			left: -900
		}, 500);
		next_slide.animate({
			left: 0
		}, 500, function() {
			$("#loading_paginazione").fadeOut('fast');
		});
	}
}

function nextSlide() {
	var sel_slide = $(".selected_slide");
	var next_slide = sel_slide.next();
	if(next_slide[0]) {
		$("#loading_paginazione").fadeIn('fast');
		sel_slide.removeClass("selected_slide");
		next_slide.addClass("selected_slide");
		next_slide.css('left', 900);
		
		var sel_pag = $(".pagination .selected");
		var next_pag = sel_pag.next();
		sel_pag.removeClass("selected");
		setPaginationBoxSelected(sel_pag[0], false);
		next_pag.addClass("selected");
		
		sel_slide.animate({
			left: -900
		}, 500);
		next_slide.animate({
			left: 0
		}, 500, function() {
			$("#loading_paginazione").fadeOut('fast');
		});
	}
	if(opened_form.sid) {
		closeBlock(opened_form.sid, opened_form.elem);
	}
}

function prevSlide() {
	var sel_slide = $(".selected_slide");
	var prev_slide = sel_slide.prev();
	if(prev_slide[0]) {
		$("#loading_paginazione").fadeIn('fast');
		sel_slide.removeClass("selected_slide");
		prev_slide.addClass("selected_slide");
		prev_slide.css('left', -900);
		
		var sel_pag = $(".pagination .selected");
		var prev_pag = sel_pag.prev();
		sel_pag.removeClass("selected");
		setPaginationBoxSelected(sel_pag[0], false);
		prev_pag.addClass("selected");
		
		sel_slide.animate({
			left: 900
		}, 500);
		prev_slide.animate({
			left: 0
		}, 500, function() {
			$("#loading_paginazione").fadeOut('fast');
		});
	}
	if(opened_form.sid) {
		closeBlock(opened_form.sid, opened_form.elem);
	}
}

function slideTo(id) {
	var sel_pag = $(".pagination .selected");
	var spid = parseInt(sel_pag[0].id.substring(4));
	var xDiff = null;
	if(spid == id) return; //No slide
	if(spid > id) {
		//Back slide
		xDiff = -900;
	} else {
		xDiff = 900;
	}
	
	
	var sel_slide = $(".selected_slide");
	var new_slide = $('#slide_'+id);
	if(new_slide[0]) {
		$("#loading_paginazione").fadeIn('fast');
		sel_slide.removeClass("selected_slide");
		new_slide.addClass("selected_slide");
		new_slide.css('left', xDiff);
		
		var sel_pag = $(".pagination .selected");
		var new_pag = $("#pag_"+id);
		sel_pag.removeClass("selected");
		setPaginationBoxSelected(sel_pag[0], false);
		new_pag.addClass("selected");
		
		sel_slide.animate({
			left: (xDiff * -1)
		}, 500);
		new_slide.animate({
			left: 0
		}, 500, function() {
			$("#loading_paginazione").fadeOut('fast');
		});
	}
	startSlideShow();
	
	if(opened_form.sid) {
		closeBlock(opened_form.sid, opened_form.elem);
	}
}

var to = null;
var time = 10000;
var time1 = 8000;
var time2 = 2000;

function startSlideShow() {
	if(slideShowLocked) return;
	clearTimeout(to);
	to = setTimeout(autoPreNextSlide, time)
}

function autoNextSlide() {
	if(!$(".selected_slide").next()[0]) {
		toFirstSlide();
	} else {
		nextSlide();
	}
	clearTimeout(to);
	to = setTimeout(autoPreNextSlide, time1);
}

function autoPreNextSlide() {
	$("#loading_paginazione").fadeIn('fast');
	clearTimeout(to);
	to = setTimeout(autoNextSlide, time2);
}

function stopSlideShow() {
	$("#loading_paginazione").fadeOut('fast');
	clearTimeout(to);
	to = null;
}

function stopAllAnimations() {
	slideShowLocked = true;
	stopSlideShow();
	stopBannerAnimation();
}

function restartAllAnimation() {
	slideShowLocked = false;
	startSlideShow();
	startBannerAnimation();
}

$(document).ready(startSlideShow);

function switchTab(tabClass, tab) {
	var st = $(tab).parent().parent().find(".selected_tab_content");
	st.fadeOut(function() {
		var nt = st.parent().find("."+tabClass);
		st.removeClass("selected_tab_content");
		nt.addClass("selected_tab_content");
		var ot = $(tab).parent().find('.selected_tab');
		ot.removeClass('selected_tab');
		$(tab).addClass('selected_tab');
		nt.fadeIn();
	});
}
