/* 
 * Sostituzione immagine con serie di immagini presenti in una cartella.
 * Attesa fine fadeOut per iniziare fadeIn.
 */
function cambioImmagini(options){
	var base = {
		numeroImmagini: 2,
		tempoFadeOut: 2000,
		tempoFadeIn: 2000,
		tempoRitardoPartenza: 0,
		tempoPermanenzaImg: 5000,
		cartella: '',
		id: 'img',
		estensioneImg: '.jpg'
	};
	
	if(options){
		$.extend(base, options);
	}
	
	var i = 1;
	setTimeout(function(){
		setInterval(function(){
			$(base.id).fadeOut(base.tempoFadeOut).fadeIn(base.tempoFadeIn);
			setTimeout(function(){
				$(base.id).attr("src", (base.cartella + i + base.estensioneImg));
			}, base.tempoFadeOut);
			$(base.id).fadeIn(base.tempoFadeIn);
			setTimeout(function(){
				i++;
			}, base.tempoFadeIn);
			setTimeout(function(){
				if(i == numeroElementi){
					i = 0;
				}
			}, base.tempoPermanenzaImg);
		}, base.tempoPermanenzaImg);
	}, base.tempoRitardoPartenza);
};

/* 
 * Sostituzione immagine con serie di immagini passategli in un'unica stringa.
 * Attesa fine fadeOut per iniziare fadeIn.
 */
function cambioImmagini2(options){
	var base = {
		tempoFadeOut: 2000,
		tempoFadeIn: 2000,
		tempoRitardoPartenza: 0,
		tempoPermanenzaImg: 5000,
		nomeImmagini: '',
		id: 'img'
	};
	
	if(options){
		$.extend(base, options);
	}
	
	var i = 1;
	var vetImg = new Array();
	vetImg = base.nomeImmagini.split(" ");
	var numeroElementi = vetImg.length;
	setTimeout(function(){
		setInterval(function(){
			$(base.id).fadeOut(base.tempoFadeOut);
			setTimeout(function(){
				$(base.id).attr("src", vetImg[i]);
			}, base.tempoFadeOut);
			$(base.id).fadeIn(base.tempoFadeIn);
			setTimeout(function(){
				i++;
			}, base.tempoFadeIn);
			setTimeout(function(){
				if(i == numeroElementi){
					i = 0;
				}
			}, base.tempoPermanenzaImg);
		}, base.tempoPermanenzaImg);
	}, base.tempoRitardoPartenza);
};

/* 
 * Sostituzione immagine con serie di immagini presenti in una cartella.
 * Attesa di fadeOut pari alla percentuale per poi iniziare fadeIn.
 */
function cambioImmagini3(options){
	var base = {
		numeroImmagini: 2,
		tempoFadeOut: 2000,
		percentualeFadeOut: 100,
		tempoFadeIn: 2000,
		tempoRitardoPartenza: 0,
		tempoPermanenzaImg: 5000,
		cartella: '',
		idPadre: 'div',
		estensioneImg: '.jpg'
	};
	
	if(options){
		$.extend(base, options);
	}
	
	var i;
	var controllo = true;
	for(i = 0; i < base.numeroImmagini; i++){
		$(base.idPadre).append('<img src="' + base.cartella + i + base.estensioneImg + '" alt="" class="immagine' + i + '" />');
		$(base.idPadre + " > .immagine" + i).fadeOut(0);
	}
	i = 0;
	setTimeout(function(){
		setInterval(function(){
			if(controllo){
				$(base.idPadre + " > img").fadeOut(base.tempoFadeOut);
				controllo = false;
			}
			else{
				$(base.idPadre + " > .immagine" + i).fadeOut(base.tempoFadeOut);
			}
			
			i++;
			setTimeout(function(){
				if(i == base.numeroImmagini){
					i = 0;
				}
				$(base.idPadre + " > .immagine" + i).fadeIn(base.tempoFadeIn);
			}, ((base.tempoFadeOut * base.percentualeFadeOut)/100));
			setTimeout(function(){}, (base.tempoFadeIn + base.tempoPermanenzaImg));
		}, base.tempoPermanenzaImg);
	}, base.tempoRitardoPartenza);
}

/* 
 * Sostituzione immagine con serie di immagini passategli in un'unica stringa.
 * Attesa di fadeOut pari alla percentuale per poi iniziare fadeIn.
 */
function cambioImmagini4(options){
	var base = {
		tempoFadeOut: 2000,
		percentualeFadeOut: 100,
		tempoFadeIn: 2000,
		tempoRitardoPartenza: 0,
		tempoPermanenzaImg: 5000,
		nomeImmagini: '',
		idPadre: 'div'
	}
	
	if(options){
		$.extend(base, options);
	}
	
	var i;
	var controllo = true;
	var vetImg = new Array();
	vetImg = base.nomeImmagini.split(" ");
	var numeroElementi = vetImg.length;
	for(i = 0; i < numeroElementi; i++){
		$(base.idPadre).append('<img src="' + vetImg[i] + '" alt="" class="immagine' + i + '" />');
		$(base.idPadre + " > .immagine" + i).fadeOut(0);
	}
	i = 0;
	setTimeout(function(){
		setInterval(function(){
			if(controllo){
				$(base.idPadre + " > img").fadeOut(base.tempoFadeOut);
				controllo = false;
			}
			else{
				$(base.idPadre + " > .immagine" + i).fadeOut(base.tempoFadeOut);
			}
			
			i++;
			setTimeout(function(){
				if(i == numeroElementi){
					i = 0;
				}
				$(base.idPadre + " > .immagine" + i).fadeIn(base.tempoFadeIn);
			}, ((base.tempoFadeOut * base.percentualeFadeOut)/100));
			setTimeout(function(){}, (base.tempoFadeIn + base.tempoPermanenzaImg));
		}, base.tempoPermanenzaImg);
	}, base.tempoRitardoPartenza);
}
