(function( $ ){
    $.fn.bannerHorizontal = function(options) {
        
        var settings = {
            velocidad: 2000,
            stopOnMouseOver: true
        }
        
        if(options)
            $.extend(settings, options);
        
        var activo = true,
            animando = false;
        
        var methods = {
            animarPrimero: function(div, start){
                if(animando)
                    return;
                animando = true;
                var primero = $('li:first', div);
                var ancho = parseInt(primero.width());
                var velocidad = ancho*settings.velocidad/150;
                if(start || start == undefined)
                $('ul', div).append(primero.clone());
                
                primero.animate({marginLeft:-ancho}, velocidad, "linear", function(){
                    $(this).remove();
                    animando = false;
                    if(activo)
                        methods.animarPrimero(div);
                });
            },
            pause: function(div){
                $('li:first', div).stop();
                activo = false;
                animando = false;
            },
            play: function(div){
                if(!activo){
                    activo = true;
                    methods.animarPrimero(div,false);
                }
            }
        }
        
        if(settings.stopOnMouseOver){
            this.mouseover(function(){
                methods.pause(this);
            });
            this.mouseout(function(){
                methods.play(this);
                $('.detalle').hide();
            });
            $('li', this).mouseover(function(){
                $('#nombre').html("Nombre: "+$('a',this).attr('data-nombre')).show();
                $('#marca').html("Marca: "+$('a',this).attr('data-marca')).show();
                $('#descripcion').html("Descripcion: "+$('a',this).attr('data-descripcion')).show();
            });
        }
        
        return this.each(function(){
            methods.animarPrimero(this);
        });
    };
})( jQuery );

(function( $ ){
    $.fn.galeriaSlider = function(options) {
        
        var settings = {
            velocidad: 5000,
            auto: true
        }
        
        if(options)
            $.extend(settings, options);
        
        var methods = {
            getLista: function(div){
                return $('ul:last', div);
            },
            getSlides: function(div){
                return $('ul:first', div);
            },
            getTotal: function(div){
                return methods.getLista(div).children('li').length;
            },
            mostrarSlide: function(div,num){
                var slides = methods.getSlides(div);
                var lista = methods.getLista(div);
                $('li.current', slides).fadeOut('slow',function(){
                    $(this).hide();
                }).removeClass('current');
                $('li:eq('+num+')', slides).fadeIn('slow').addClass('current');
                $('li.current', lista).removeClass('current');
                $('li:eq('+num+')', lista).addClass('current');
            },
            mostrarSiguiente: function(div){
                if(settings.auto){
                    var lista = methods.getLista(div);
                    var total = methods.getTotal(div);
                    var num = $('li', lista).index($('li.current', lista));

                    num++;
                    if(num == total)
                        num = 0;

                    methods.mostrarSlide(div,num);
                
                    setTimeout(methods.mostrarSiguiente, settings.velocidad, div);
                }
            }
        }
        
        return this.each(function(){
        
            var div = this;
            var slides = methods.getSlides(div);
            var lista = methods.getLista(div);
            
            $('li:first', slides).addClass('current');
            $('li:first', lista).addClass('current');
            
            if(settings.auto)
                methods.mostrarSiguiente(div);

            $('li', lista).click(function(){
                settings.auto = false;
                var num = $('li', lista).index($(this));
                methods.mostrarSlide(div, num);
            });
        });
    };
})( jQuery );

(function( $ ){
    $.fn.acordeon = function(options) {
        
        var settings = {

        }
        
        if(options)
            $.extend(settings, options);
        
        var methods = {
            mostrarSlide: function(ul, num){
                $('li.open', ul).removeClass('open').children('div').slideUp();
                $('li:eq('+num+')', ul).addClass('open').children('div').slideDown();
            }
        }
        
        return this.each(function(){
            var ul = this;
        
            $('li:first', ul).addClass('open').children('div').slideDown();

            $('li', ul).not('.open').click(function(){
                var num = $('li', ul).index($(this));
                methods.mostrarSlide(ul, num);
            });
        });        
    };
})( jQuery );

jQuery(document).ready(function() {
    jQuery('.galeria').jcarousel({
    	wrap: 'circular'
    });
});
