/*
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;
};