(function($){
$.fn.scrollText=function(settings){defaults={gap:150,speed:60};
return this.each(function(){this.settings=$.extend({},defaults,settings);
var container=$(this);container.css({position:container.css("position")=="absolute"?"absolute":"relative",whiteSpace:"nowrap",overflow:"hidden"});
var contText=container.text();container.empty();container.append(contText);container.wrapInner('<div class="marquee" style="position: relative"></div>');
var marquee=container.find(".marquee");marquee.contents().wrap('<span class="marqueeText" style="margin: 0; padding: 0;"></span>');
var marqueeText=container.find(".marqueeText");
var containerWidth=container.width();
var scrollDistance=marqueeText.outerWidth(true)+this.settings.gap;
var numToRepeat=Math.ceil(containerWidth/scrollDistance);
var r=1;while(r<=numToRepeat){marqueeText.css({"margin-right":this.settings.gap+"px"}).clone().appendTo(marquee);r+=1}
var setspeed=Math.floor((scrollDistance*(1000/this.settings.speed)));
this.scroll=function(speed){if(!speed){speed=setspeed};var self=this;marquee.animate({left:-scrollDistance},speed,"linear",function(){marquee.css({left:0});self.scroll()})};
this.scroll();
$(this).hover(function(){$(marquee).stop();}, function() {this.scroll((scrollDistance + parseInt(marquee.css('left')))*(1000/this.settings.speed));});
})}})(jQuery);
