/* 
 * 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 == base.numeroImmagini){
					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,
		tempoPrimaPermanenza: 0,
		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).append('<img style="position:absolute" src="' + vetImg[i] + '" alt="" class="immagine' + i + '" />');
		//if (i > 0)
    		$(base.idPadre + " > .immagine" + i).fadeOut(0);
	}
	i = 0;
	
	if(base.tempoPrimaPermanenza > 0){
		var tempoPerm = base.tempoPrimaPermanenza;
	}
	else{
		var tempoPerm = base.tempoPermanenzaImg;
	}
	setTimeout(function(){
		setTimeout(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));
			
			test({
				numeroImmagini: numeroElementi,
				tempoFadeOut: base.tempoFadeOut,
				percentualeFadeOut: base.percentualeFadeOut,
				tempoFadeIn: base.tempoFadeIn,
				tempoPermanenzaImg: base.tempoPermanenzaImg,
				idPadre: base.idPadre
			});
			
		}, tempoPerm);
	}, base.tempoRitardoPartenza);
}

function test(options){
	var base = {
		numeroImmagini: 0,
		tempoFadeOut: 2000,
		percentualeFadeOut: 100,
		tempoFadeIn: 2000,
		tempoPermanenzaImg: 5000,
		idPadre: 'div'
	};
	
	if(options){
		$.extend(base, options);
	}
	
	var i = 1;
	setInterval(function(){
		$(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);
}
