/**
 * Rolar
 *
 * @author: Thomaz Takashi Oda Toyama.
 * @retrun void
 */

(function($){
    $.fn.rolar = function(options){
        var opts =  $.extend({},$.fn.rolar.defaults, options);
        var self = $(this);
        self.each(function(){
            var conteudo    = $(document.createElement('div'));
            var frame       = $(document.createElement('div'));
            var next        = $(document.createElement('a'));
            var prev        = $(document.createElement('a'));
            var size        = 0;
            var self        = $(this);
            var parent      = self.parent();

            
            $('> li',this).each(function(){
                if( opts.vertical ) size += $(this).height();
                else                size += $(this).outerWidth();
            });
            
            conteudo.addClass(opts.tag);
            frame.addClass(opts.tag + '-frame');

            next.addClass(opts.tag + '-next');next.attr('href','javascript:void(0)');
            prev.addClass(opts.tag + '-prev');prev.attr('href','javascript:void(0)');

            $(conteudo).append(frame);$(frame).append(self);
            $(frame).before(prev);$(frame).after(next);

            prev.addClass(opts.tag + '-block');

            parent.eq(0).append(conteudo);

            if( opts.vertical ){
                self.height(size);
                if(size < frame.height())
                    next.addClass(opts.tag + '-block');
                prev.hover(
                    function(){
                        $(this).everyTime(10,opts.tag + '-prev', function(){
                            var p = $('> ul',frame).position();
                            if( p.top < 0)
                                $('> ul',frame).animate({'top': '+=1'},0);
                            else {
                                prev.addClass(opts.tag + '-block');
                                if((p.top > -(size - frame.height() )))
                                    next.removeClass(opts.tag + '-block');
                            }
                        });
                    }, function(){$(this).stopTime(opts.tag + '-prev');}
                );

                next.hover(
                    function(){
                        $(this).everyTime(10,opts.tag + '-next', function(){
                            var p = $('> ul',frame).position();
                            if(p.top > -(size - frame.height() ))
                                $('> ul',frame).animate({'top': '-=1'},0);
                            else {
                                next.addClass(opts.tag + '-block');
                                if((p.top < 0))
                                    prev.removeClass(opts.tag + '-block');
                            }
                        });
                    }, function(){$(this).stopTime(opts.tag + '-next');}
                );
            } else {
                $(self).width(size);
                next.bind(opts.eventMove, function(e){

                });
                prev.bind(opts.eventMove, function(e){

                });
            }
            
            
            
        });
    };
    $.fn.rolar.defaults = {
        vertical: false,
        tag: 'rolar'
    };
})(jQuery);
