(function(n,t,i){function u(t,i){this.element=t;this._name=r;this._defaults=n.fn.SimpleMarquee.defaults;this.settings=n.extend({},this._defaults,i);this.marqueeSpawned=[];this.marqueeHovered=!1;this.documentHasFocus=!1;this.counter=0;this.timeLeft=0;this.currentPos=0;this.distanceLeft=0;this.totalDistance=0;this.contentWidth=0;this.endPoint=0;this.duration=0;this.hovered=!1;this.padding=0;this.init()}function f(n){this.el=n;this.counter=0;this.name="";this.timeTop=0;this.currentPos=0;this.distanceTop=0;this.totalDistance=0;this.contentWidth=0;this.endPoint=0;this.duration=0;this.hovered=!1;this.padding=0}var r="SimpleMarquee";n.extend(u.prototype,{init:function(){this.buildCache();this.bindEvents();var t=this.settings;if(n(t.marquee_class).width()==0){console.error("FATAL: marquee css or children css not correct. Width is either set to 0 or the element is collapsing. Make sure overflow is set on the marquee, and the children are postitioned relatively");return}if(typeof n(t.marquee_class)=="undefined"){console.error("FATAL: marquee class not valid");return}if(typeof n(t.container_class)=="undefined"){console.error("FATAL: marquee container class not valid");return}if(t.sibling_class!=0&&typeof n(t.sibling_class)=="undefined"){console.error("FATAL: sibling class container class not valid");return}t.autostart&&(this.documentHasFocus=!0);this.createMarquee()},destroy:function(){this.unbindEvents();this.$element.removeData()},buildCache:function(){this.$element=n(this.element)},bindEvents:function(){var i=this;n(t).on("focus",function(){i.documentHasFocus=!0;for(var n in i.marqueeSpawned)i.marqueeManager(i.marqueeSpawned[n])});n(t).on("blur",function(){i.documentHasFocus=!1;for(var n in i.marqueeSpawned)i.marqueeSpawned[n].el.clearQueue().stop(),i.marqueeSpawned[n].hovered=!0})},unbindEvents:function(){n(t).off("blur focus")},getPosition:function(t){return this.currentPos=parseInt(n(t).css("left")),this.currentPos},createMarquee:function(){var t=this,u=t.settings,c=n(u.marquee_class).html(),o=n(u.container_class).width(),s=n(u.marquee_class).width(),l=0,e,r,h;u.sibling_class!=0&&(l=n(u.sibling_class).width());e=Math.ceil(o/s);n(u.marquee_class).remove();e<=2?e=3:e++;var v=(s+u.padding)*e,a=-(v-o),y=o-a;for(r=0;r<e;r++)h=!1,h=u.hover==!0?n('<div class="marquee-'+(r+1)+'">'+c+"<\/div>").mouseenter(function(){if(t.documentHasFocus==!0&&t.marqueeHovered==!1){t.marqueeHovered=!0;for(var n in t.marqueeSpawned)t.marqueeSpawned[n].el.clearQueue().stop(),t.marqueeSpawned[n].hovered=!0}}).mouseleave(function(){if(t.documentHasFocus==!0&&t.marqueeHovered==!0){for(var n in t.marqueeSpawned)t.marqueeManager(t.marqueeSpawned[n]);t.marqueeHovered=!1}}):n('<div class="marquee-'+(r+1)+'">'+c+"<\/div>"),t.marqueeSpawned[r]=new f(h),n(u.container_class).append(h),t.marqueeSpawned[r].currentPos=l+s*r+u.padding*r,t.marqueeSpawned[r].name=".marquee-"+(r+1),t.marqueeSpawned[r].totalDistance=y,t.marqueeSpawned[r].containerWidth=o,t.marqueeSpawned[r].contentWidth=s,t.marqueeSpawned[r].endPoint=a,t.marqueeSpawned[r].duration=u.duration,t.marqueeSpawned[r].padding=u.padding,t.marqueeSpawned[r].el.css("left",t.marqueeSpawned[r].currentPos+u.padding+"px"),t.documentHasFocus==!0&&t.marqueeManager(t.marqueeSpawned[r]);t.documentHasFocus=i.hasFocus()?!0:!1},marqueeManager:function(n){var t=this,i=n.name;n.hovered==!1?n.counter>0?(n.timeLeft=n.duration,n.el.css("left",n.containerWidth+"px"),n.currentPos=n.containerWidth,n.distanceLeft=n.totalDistance-(n.containerWidth-t.getPosition(i))):n.timeLeft=(n.totalDistance-(n.containerWidth-t.getPosition(i)))/n.totalDistance*n.duration:(n.hovered=!1,n.currentPos=parseInt(n.el.css("left")),n.distanceLeft=n.totalDistance-(n.containerWidth-t.getPosition(i)),n.timeLeft=(n.totalDistance-(n.containerWidth-n.currentPos))/n.totalDistance*n.duration);t.marqueeAnim(n)},marqueeAnim:function(n){var t=this;n.counter++;n.el.clearQueue().animate({left:n.endPoint+"px"},n.timeLeft,"linear",function(){t.marqueeManager(n)})},callback:function(){var n=this.settings.onComplete;typeof n=="function"&&n.call(this.element)}});n.fn.SimpleMarquee=function(t){return this.each(function(){n.data(this,"plugin_"+r)||n.data(this,"plugin_"+r,new u(this,t))}),this};n.fn.SimpleMarquee.defaults={autostart:!0,property:"value",onComplete:null,duration:2e4,padding:10,marquee_class:".marquee",container_class:".simple-marquee-container",sibling_class:0,hover:!0}})(jQuery,window,document)