/**
* J.Cambier -- @kokmok pour Akimedia
 */
(function($) {
        $.fn.colinSlide = function(params) {
                defaultParams = {
						interval : 10000,
                    time:3000,
                    easing :'easeOutBack',
					controlerClass :'',
                    width : 'auto',
                    height:'100px',
                    leftArrow:"<",
                    rightArrow:">",
                    step:20,
                    callBack : '',
                    navSpace : 36,
                    verticalCenter : true
                }
				params = $.extend( defaultParams, params);
				
    var speed = 0;
    var moovable = null;
    var interval = null;
    
    obj=this;
    obj.each(function(i) {
        
		var a = $(this);
		var nbrImage = $(this).find('img').length;
		var idPrefix = 'i'+i+'_';
		
		var position = 0;
		var nextPosition = 0;
		var fader;
		var autoRestart;
		
		$(this).find('img')
				.each
				(
						function(c)
						{
								$(this).attr('id',idPrefix+c);
								$(this).css({opacity:0});
						}
				);
				
		$(this).find('img:first').css({opacity:1});
				
		
		startDiapo();
		
		if (params.controlerClass)
		{
				$(params.controlerClass)
						.click
						(
								function()
								{
										var index = $(this).index(params.controlerClass);
										clearTimeout(autoRestart);
										if (nextPosition != index)
										{
												stopDiapo();
												$(this).find('img').stop(true,true);
												nextPosition = index;
												fade();
												autoRestart=setTimeout(startDiapo,20000);		
										}
										
										
								}
						)
		}
		
		
		
		
		function startDiapo()
		{
				fader = setInterval(fade,params.interval);
		}
		
		function stopDiapo()
		{
				clearInterval(fader);
		}
		
		
		
		
		function fade()
		{
				if (nextPosition == position)
				{
						nextPosition = position+1;
						if (nextPosition>=nbrImage)
						{
								nextPosition = 0;
						}		
				}
				
				
				var nextId = '#'+idPrefix+nextPosition;
				var currentId = '#'+idPrefix+position;
				
				$(nextId).animate({opacity:1},params.time);
				$(currentId).animate({opacity:0},params.time);
				
				position = nextPosition;
		}
		
        
        
        
        
    });
    // Permettre le chaînage par jQuery
    return this;
    };
})(jQuery);
