(function($){var name='newsTicker';var debugMode=false;function runTicker(settings){tickerData=$(settings.newsList).data('newsTicker');if(tickerData.currentItem>tickerData.newsItemCounter){tickerData.currentItem=0}else if(tickerData.currentItem<0){tickerData.currentItem=tickerData.newsItemCounter}if(tickerData.currentPosition==0){if(tickerData.newsLinks[tickerData.currentItem].length>0){$(tickerData.newsList).empty().append('<li><a '+tickerData.newsAttributes[tickerData.currentItem]+'></a></li>')}else{$(tickerData.newsList).empty().append('<li></li>')}}if(tickerData.animating){if(tickerData.currentPosition%2==0){var placeHolder=tickerData.placeHolder1}else{var placeHolder=tickerData.placeHolder2}if(tickerData.currentPosition<tickerData.newsItems[tickerData.currentItem].length){var tickerText=tickerData.newsItems[tickerData.currentItem].substring(0,tickerData.currentPosition);if(tickerData.newsLinks[tickerData.currentItem].length>0){$(tickerData.newsList+' li a').text(tickerText+placeHolder)}else{$(tickerData.newsList+' li').text(tickerText+placeHolder)}tickerData.currentPosition++;setTimeout(function(){runTicker(settings);settings=null},tickerData.tickerRate)}else{if(tickerData.newsLinks[tickerData.currentItem].length>0){$(tickerData.newsList+' li a').text(tickerData.newsItems[tickerData.currentItem])}else{$(tickerData.newsList+' li').text(tickerData.newsItems[tickerData.currentItem])}setTimeout(function(){if(tickerData.animating){tickerData.currentPosition=0;tickerData.currentItem++;runTicker(settings);settings=null}},tickerData.loopDelay)}}else{var tickerText=tickerData.newsItems[tickerData.currentItem];if(tickerData.newsLinks[tickerData.currentItem].length>0){$(tickerData.newsList+' li a').text(tickerText)}else{$(tickerData.newsList+' li').text(tickerText)}}}jQuery.fn[name]=function(options){var settings=jQuery.extend({},jQuery.fn.newsTicker.defaults,options);var newsItems=new Array();var newsLinks=new Array();var newsAttributes=new Array();var newsItemCounter=0;$(settings.newsList+' li').hide();$(settings.newsList+' li').each(function(){if($(this).children('a').length){newsItems[newsItemCounter]=$(this).children('a').text();newsLinks[newsItemCounter]=$(this).children('a').attr('href');var linkAttributes=new Object();var attrs=$(this).children('a')[0].attributes;for(var i=0;i<attrs.length;i++){linkAttributes[attrs[i].nodeName]=attrs[i].nodeValue}if(debugMode){console.log(linkAttributes)}var linkAttributesProcessed='';for(var prop in linkAttributes){linkAttributesProcessed=linkAttributesProcessed+prop+'="'+linkAttributes[prop]+'" '}if(debugMode){console.log(linkAttributesProcessed)}newsAttributes[newsItemCounter]=linkAttributesProcessed}else{newsItems[newsItemCounter]=$(this).text();newsLinks[newsItemCounter]='';newsAttributes[newsItemCounter]=''}newsItemCounter++});var tickerElement=$(settings.newsList);tickerElement.data(name,{newsList:settings.newsList,tickerRate:settings.tickerRate,startDelay:settings.startDelay,loopDelay:settings.loopDelay,placeHolder1:settings.placeHolder1,placeHolder2:settings.placeHolder2,controls:settings.controls,ownControls:settings.ownControls,stopOnHover:settings.stopOnHover,resumeOffHover:settings.resumeOffHover,newsItems:newsItems,newsLinks:newsLinks,newsAttributes:newsAttributes,newsItemCounter:newsItemCounter-1,currentItem:0,currentPosition:0,firstRun:1}).bind({stop:function(event){tickerData=tickerElement.data(name);if(tickerData.animating){tickerData.animating=false;if(debugMode){console.log('stop'+tickerData.currentItem+' '+tickerData.animating)}}},play:function(event){tickerData=tickerElement.data(name);if(!tickerData.animating){tickerData.animating=true;if(debugMode){console.log('play'+tickerData.currentItem+' '+tickerData.animating)}setTimeout(function(){runTicker(tickerData);tickerData=null},tickerData.startDelay)}},resume:function(event){tickerData=tickerElement.data(name);if(!tickerData.animating){tickerData.animating=true;tickerData.currentPosition=0;tickerData.currentItem++;if(debugMode){console.log('resume'+tickerData.currentItem+' '+tickerData.animating)}runTicker(tickerData)}},next:function(event){tickerData=tickerElement.data(name);$(tickerData.newsList).trigger("stop");tickerData.currentPosition=0;tickerData.currentItem++;if(debugMode){console.log('next'+tickerData.currentItem+' '+tickerData.animating)}runTicker(tickerData)},previous:function(event){tickerData=tickerElement.data(name);$(tickerData.newsList).trigger("stop");tickerData.currentPosition=0;tickerData.currentItem--;if(debugMode){console.log('previous'+tickerData.currentItem+' '+tickerData.animating)}runTicker(tickerData)}});if(settings.stopOnHover){tickerElement.bind({mouseover:function(event){tickerData=tickerElement.data(name);if(tickerData.animating){$(tickerData.newsList).trigger("stop");if(tickerData.controls){$('.stop').hide();$('.resume').show()}}}});if(settings.resumeOffHover){tickerElement.bind({mouseout:function(event){tickerData=tickerElement.data(name);if(!tickerData.animating){$(tickerData.newsList).trigger("resume");if(debugMode){console.log('resumeoffhover'+tickerData.currentItem+' '+tickerData.animating)}}}})}}tickerData=tickerElement.data(name);if(tickerData.controls||tickerData.ownControls){if(!tickerData.ownControls){$('<ul class="ticker-controls"><li class="play"><a href="#play">Play</a></li><li class="resume"><a href="#resume">Resume</a></li><li class="stop"><a href="#stop">Stop</a></li><li class="previous"><a href="#previous">Previous</a></li><li class="next"><a href="#next">Next</a></li></ul>').insertAfter($(tickerData.newsList))}$('.play').hide();$('.resume').hide();$('.play').click(function(event){$(tickerData.newsList).trigger("play");$('.play').hide();$('.resume').hide();$('.stop').show();event.preventDefault()});$('.resume').click(function(event){$(tickerData.newsList).trigger("resume");$('.play').hide();$('.resume').hide();$('.stop').show();event.preventDefault()});$('.stop').click(function(event){$(tickerData.newsList).trigger("stop");$('.stop').hide();$('.resume').show();event.preventDefault()});$('.previous').click(function(event){$(tickerData.newsList).trigger("previous");$('.stop').hide();$('.resume').show();event.preventDefault()});$('.next').click(function(event){$(tickerData.newsList).trigger("next");$('.stop').hide();$('.resume').show();event.preventDefault()})};$(tickerData.newsList).trigger("play")};jQuery.fn[name].defaults={newsList:"#news",tickerRate:80,startDelay:100,loopDelay:3000,placeHolder1:" |",placeHolder2:"_",controls:true,ownControls:false,stopOnHover:true,resumeOffHover:false}})(jQuery);

