(function($){
	$.fn.autoScroller = function(options){
		
		var settings = {
			auto:true,
			hover:true,
			timeout:5000,
			num:1,
			speed:800,
			targetElement: "a"
		};
		
		if(options){ 
			$.extend(settings, options);
		}
		
		var logo = this;
		
		var HomeProductsPageWidth = $(settings.targetElement,logo).outerWidth() * settings.num;
		var AS = null;
		
		var moveRight = function(){
			settings.hover = true;
			$("span:not(:animated)",logo).animate({
				left:'-'+HomeProductsPageWidth+"px"
			},settings.speed,function(){
				for(i=0;i<settings.num;i++){
					$(settings.targetElement + ":first",this).appendTo(this);
				}
				$(this).css({left:"0px"});
				restartAutoscroll();
			});
		};
		
		var moveLeft = function(){
			settings.hover = true;
			$("span:not(:animated)",logo).each(function(){
				for(i=0;i<settings.num;i++){
					$(settings.targetElement + ":last",this).prependTo(this);
				}
				$(this).css({left:'-'+HomeProductsPageWidth + "px"}).animate({
					left:"0px"
				},settings.speed,function(){
					restartAutoscroll();
				});
			});
		};
		
		var autoscroll = function(){
			AS = setTimeout(function(){  
	            if(settings.auto){
					moveRight();
				}
				autoscroll();  
	        }, settings.timeout);  
		};
		
		var restartAutoscroll = function(){
			if(AS){
				clearTimeout(AS);
			}
			if(settings.hover){
				autoscroll();
			}
		};
		
		if(settings.auto){
			$(this).hover(function(){
				if(settings.hover){
					settings.auto = false;
				}
			},function(){
				if(settings.hover){
					settings.auto = true;
				}
				restartAutoscroll();
			});
		}
		
		$(".Right",logo).click(moveRight)
		
		$(".Left",logo).click(moveLeft);
		
		autoscroll();
		
		return this;
	};
})(jQuery);
