(function(jQuery){
    jQuery.fn.homeSlider = function( options ) {
        var defaults = {
            gap: 51,
            move: 584,
            speed: 300,
            left: 'hs-Left',
            right: 'hs-Right',
            current: 'hs-Current',
            selected: 'none'
        };
        var settings = jQuery.extend( defaults, options );
        return this.each(function(){
            var elements = jQuery(this).children();
            settings.total = elements.length;
            settings.counter = 0;
            elements.each(function(){
                jQuery.fn.homeSlider.init( jQuery(this), settings );
                jQuery(this).click( function(){
                    if( ! jQuery(this).hasClass( settings.current ) ) {
                        var id = jQuery(this).attr("id");
                        if( jQuery(this).hasClass( settings.right ) ) {
                            for( i = 1 ; i < id; i++ ){
                                if( !jQuery('#' + i ).hasClass( settings.left ) ) {
                                    $('#' + i ).animate({
                                        left: '-=' + settings.move
                                    }, settings.speed, function(){
                                        $(this).addClass( settings.left );
                                        $(this).removeClass( settings.right );
                                    });
                                }
                            }
                        } else {
                            for( i = (settings.total - 1)  ; i >= id; i-- ){
                                if( !jQuery('#' + i ).hasClass( settings.right ) ) {
                                    $('#' + i ).animate({
                                        left: '+=' + settings.move
                                    }, settings.speed, function(){
                                        $(this).addClass( settings.right );
                                        $(this).removeClass( settings.left );
                                    });
                                }
                            }
                        }
                        $('.' + settings.current ).removeClass( settings.current );
                        $(this).addClass( settings.current );
                    }
                });
                settings.counter++;
            });
        });
    }; 
    
    jQuery.fn.homeSlider.init = function( what, settings ) {
        what.attr( "id", ( settings.counter + 1 ) );
        what.css( "zIndex", ( settings.total - settings.counter ) );
        what.css( "left", ( settings.counter * settings.gap ) + "px" );
    };

})(jQuery);



