;
(function($){
    $.fn.slider = function(options) {
        var defaults = {
            resolution: 4,
            height: 417
        };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var slide = $(this);
            var height = slide.height();
            if(height > options.height){
                slide.css('height', options.height).css('overflow', 'hidden');
                var u = Math.round(options.height / 5);
                var start = 2 * u;
                var end = 3 * u;
                var piece = Math.round(start / options.resolution);

                var position = 0;
                var mouse;
                var up = $('#sliderup').css('top', slide.offset().top - 20);
                var down = $('#sliderdown').css('top', slide.offset().top + options.height + 10);
                var offset = height - options.height;

                down.show();

                slide.mousemove(function(e){
                    mouse = e.pageY - slide.offset().top;
					
                });
                slide.hover(function(e){
                    move();
                    slide.everyTime(10, 'time', function(){
                        move();
                    });
                }, function(){
                    slide.stopTime('time');
                });                

                function move(){
                    if (position > 0) {
                        if(mouse < start){
                            position -= options.resolution - Math.round(mouse / piece);
                            slide.scrollTop(position);
                        }
                        up.show();
                    }else
                        up.hide();

                    if(position < offset){
                        if (mouse > end) {
                            position += Math.round((mouse - end) / piece);
                            slide.scrollTop(position);
                        }
                        down.show();
                    }else
                        down.hide();
                }
            }
        });
    };
})(jQuery);
