$(document).ready(function(){
    var position = 0;                
    var increment = $('#slider').width();
    var direction = 1;
    var intId = 0;
    var maxSize = increment*($('#slider > ul > li').size()) - increment;
    
    $('#slider .prev').click(function(){
        clearInterval(intId);
        intId = setInterval(autoAnimateSlider, 6000);
        var to = position+increment;
        if(to<=0)
        {
            animateSlider(to);
        }
        return false;
    });
    $('#slider .next').click(function(){
        clearInterval(intId);
        intId = setInterval(autoAnimateSlider, 6000);
        var to = position-increment;                        
        if(to>=(0-maxSize))
        {
            animateSlider(to);
        }
        return false;
    });
    
    var animateSlider = function(to){
        var oldIndex = position*-1/increment;                    
        $($('#slider > ul').find('li').get(oldIndex)).find('.caption').hide();                    
        
        position = to;
        var index = position*-1/increment;    
        $('#slider > ul').stop().animate({marginLeft: to+'px'}, 400, null, function(){                                            
            $($(this).find('li').get(index)).find('.caption').fadeIn(400);
        });                    
    };
    
    var autoAnimateSlider = function(){
        if(direction == 1)
        {
            var to = position-increment;                        
            if(to>=(0-maxSize))
            {
                animateSlider(to);
            }
            else
            {
                direction = 0;
                autoAnimateSlider();
            }
        }
        else
        {
            var to = position+increment;
            if(to<=0)
            {
                animateSlider(to);
            }
            else
            {
                direction = 1;
                autoAnimateSlider();
            }
        }
    };
    
    intId = setInterval(autoAnimateSlider, 6000);
});
