/*
This code is licenced under LGPL v3

Author : Alexandre Stanislawski
*/

/**
fadeImages

Simple jQuery plugin that can transform a div containing images into a slideshow with a fade as a transition.

In :
- params : object containing the attributes :
	- timeout : time before next transition
	- fadeDuration : transition duration
*/
jQuery.fn.fadeImages = function(params){
	var config = {timeout:4000, fadeDuration:500};
    if (params) jQuery.extend(config, params);

	this.each(
		function(){
			jQthis = jQuery(this);
			jQthis.css({position:"relative", overflow:"hidden"});
			var imgSet = jQthis.find("div");
			imgSet.css({opacity:0, position:"absolute", top:0, left:0});
			imgSet.first().css({opacity:1});
			var current = 1;
			var total = imgSet.size();

			setTimeout(
				(function fade(){
					var nextIter = current+1;
					if(nextIter>total){
						nextIter=1;
					}

					jQthis.find("div:nth-child("+current+")").animate({opacity:0},params.fadeDuration);
					current = nextIter;
					jQthis.find("div:nth-child("+nextIter+")").animate({opacity:1},params.fadeDuration, function(){
					    var imgNav = $(jQthis.find("div:nth-child("+nextIter+")")).attr('id');
                        hovernav(imgNav);
					    setTimeout(fade,params.timeout);
					});
				}),
				params.timeout);
	});
	return this;
};
