(function ($) {
    $.fn.slider = function (options) {
        var defaults = {tempo: '10000'};
        var options = $.extend(defaults, options);
        obj = $(this);
    	var slide =  {
    	init: function(node, tempo) {
    		slide.u = 0; 
    		slide.i = 1; 
    		slide.banInterval = [];
    		slide.node = node;
    		slide.tempo = tempo;
    		slide.larg = obj.width();
    		slide.u = slide.node.find('li').size();
            slide.node.find('.seta-left').css('opacity',0.2);
            if (slide.u <= 1) { slide.node.find('.setas').hide(); }
            slide.node.find('.mask > ul li').css('width',(slide.larg)+'px');
		    slide.node.find('.mask > ul').css('width',(slide.u*slide.larg)+'px');
		    slide.node.find('.seta-right').click(function(){
		        if(slide.i < slide.u) {
		            slide.stopBanner();
		            slide.i++;
		            slide.changeBanner('-='+slide.larg+'px');
		        } 
		    });
		    slide.node.find('.seta-left').click(function(){
		        if(slide.i > 1) {
		            slide.stopBanner();
		            slide.i--;
		            slide.changeBanner('+='+slide.larg+'px');
		        } 
		    });
		    slide.autoBanner();
    	}, 
    	stopBanner: function() {
    		clearInterval(slide.banInterval[slide.node.attr('id')]);
        	slide.autoBanner();
    	},
    	autoBanner: function() {
    		slide.banInterval[slide.node.attr('id')] = setInterval(function(){
	            if(slide.i >= 1 && slide.i != slide.u) {
	                slide.i++;
	                slide.changeBanner('-='+slide.larg+'px');
	            } else  if(slide.i == slide.u){
	                slide.i = 1;
	                slide.changeBanner(0 + 'px');
            	} 
        	},slide.tempo);
    	}, 
    	changeBanner: function(d) {
    		slide.controleSetas();
	        slide.node.find('.mask > ul').animate({marginLeft: d}, 400);       
	        slide.stopBanner();
    	},
    	controleSetas: function() {
    		if(slide.i == 1) { 
           		slide.node.find('.seta-left').css('opacity',1);
	        } else if(slide.i > 1) {
	            slide.node.find('.seta-left').css('opacity',1);         
	        } 
	        if(slide.i == slide.u) { 
	            slide.node.find('.seta-right').css('opacity',1) 
	        } else if(slide.i < slide.u) {
	           slide.node.find('.seta-right').css('opacity',1);            
	        }
    	}
    }
    return this.each(function () {
        slide.init(obj,options.tempo);
    });
    };
})(jQuery);
    
