(function($){
	function slideOn(elem, offset){
		elem.animate({
			left : -(offset * 150)
		}, 500);

	}
	function setSelected(buttons, current){
		buttons.find('div').each(function(i, elem){
			if(i == current)
				$(elem).addClass('active');
			else 
				$(elem).removeClass('active');
		});
	}
	$.fn.extend({
		jsRotator : function(){
			return this.each(function(){
				
				var total = $(this).find('div.rotator-wrapper').length;
				
				var buttons = $(this).find('div.buttons');
				var slides = $(this).find('div.slides');
				var current = 0;
				
				for(var i = 0; i < total; i++)
				{
					var btn = $('<div />');
					if(i == 0)
						btn.addClass('active');
					buttons.append(btn);
				}

				buttons.find('div').each(function(i, elem){
					
					$(elem).bind('click', function(){
						current = i;
						slideOn(slides, current);
						setSelected(buttons, current);
						
						if(current == ( total -1 )) current = 0;
						else current++;
					});
				});

				buttons.css({
					left : ($(this).width() - buttons.width()) / 2,
					top : 270
				});

				window.setInterval(function(){
					slideOn(slides, current);
					setSelected(buttons, current);


					if(current == ( total - 1 )) current = 0;
					else current++;
				}, 5000);
			});
		}
	});
})(jQuery);
