(function($){$.fn.ticker=function(options){var opts=$.extend({},$.fn.ticker.defaults,options);var newsID='#'+$(this).attr('id');var tagType=$(this).attr('tagName');return this.each(function(){var settings={position:0,time:0,distance:0,newsArr:{},play:true,paused:false,contentLoaded:false,dom:{contentID:'#ticker-content',titleID:'#ticker-title',titleElem:'#ticker-title SPAN',tickerID:'#ticker',wrapperID:'#ticker-wrapper',revealID:'#ticker-swipe',revealElem:'#ticker-swipe SPAN',controlsID:'#ticker-controls',prevID:'#prev',nextID:'#next',playPauseID:'#play-pause'}};if(tagType!='UL'&&opts.htmlFeed===true){debugError('Cannot use <'+tagType.toLowerCase()+'> type of element for this plugin - must of type <ul>');return false;}
initialisePage();function countSize(obj){var size=0,key;for(key in obj){if(obj.hasOwnProperty(key))size++;}
return size;};function debugError(obj){if(opts.debugMode){if(window.console&&window.console.log){window.console.log(obj);}
else{alert(obj);}}}
function initialisePage(){$(settings.dom.wrapperID).append('<div id="'+settings.dom.tickerID.replace('#','')+'"><div id="'+settings.dom.titleID.replace('#','')+'"><span style="display: none;"><!-- --></span></div><p id="'+settings.dom.contentID.replace('#','')+'"></p><div id="'+settings.dom.revealID.replace('#','')+'"><span style="display: none;"><!-- --></span></div></div>');$(settings.dom.wrapperID).removeClass('no-js').addClass('has-js');$(settings.dom.tickerElem+','+settings.dom.titleElem+','+settings.dom.contentID).hide();if(opts.controls){$(settings.dom.controlsID).live('click mouseover mousedown mouseout mouseup',function(e){var button=e.target.id;if(e.type=='click'){switch(button){case settings.dom.prevID.replace('#',''):settings.paused=true;$(settings.dom.playPauseID).addClass('paused');changeContent(button);break;case settings.dom.nextID.replace('#',''):settings.paused=true;$(settings.dom.playPauseID).addClass('paused');changeContent(button);break;case settings.dom.playPauseID.replace('#',''):if(settings.play==true){settings.paused=true;$(settings.dom.playPauseID).addClass('paused');pauseTicker();}
else{settings.paused=false;$(settings.dom.playPauseID).removeClass('paused');restartTicker();}
break;}}
else if(e.type=='mouseover'&&$('#'+button).hasClass('controls')){$('#'+button).addClass('over');}
else if(e.type=='mousedown'&&$('#'+button).hasClass('controls')){$('#'+button).addClass('down');}
else if(e.type=='mouseup'&&$('#'+button).hasClass('controls')){$('#'+button).removeClass('down');}
else if(e.type=='mouseout'&&$('#'+button).hasClass('controls')){$('#'+button).removeClass('over');}});$(settings.dom.wrapperID).append('<ul id="'+settings.dom.controlsID.replace('#','')+'"><li id="'+settings.dom.playPauseID.replace('#','')+'" class="controls"></li><li id="'+settings.dom.prevID.replace('#','')+'" class="controls"></li><li id="'+settings.dom.nextID.replace('#','')+'" class="controls"></li></ul>');}
$(settings.dom.contentID).mouseover(function(){if(settings.paused==false){pauseTicker();}}).mouseout(function(){if(settings.paused==false){restartTicker();}});updateTicker();}
function updateTicker(){if(settings.contentLoaded==false){if(opts.ajaxFeed){debugError('Code Me!');}
else if(opts.htmlFeed){if($(newsID+' LI').length>0){$(newsID+' LI').each(function(i){settings.newsArr['item-'+i]={type:opts.titleText,content:$(this).html()};});}
else{debugError('Couldn\'t find any content for the ticker to use!');return false;}}
else{debugError('Couldn\'t find any content for the ticker to use!');return false;}
settings.contentLoaded=true;}
$(settings.dom.titleElem).html(settings.newsArr['item-'+settings.position].type);$(settings.dom.contentID).html(settings.newsArr['item-'+settings.position].content);if(settings.position==(countSize(settings.newsArr)-1)){settings.position=0;}
else{settings.position++;}
distance=$(settings.dom.contentID).width();time=distance/opts.speed;$(settings.dom.wrapperID)
.find(settings.dom.titleID).fadeIn()
.end().find(settings.dom.titleElem).fadeIn('slow',revealContent);}
function revealContent(){if(settings.play){var offset=$(settings.dom.titleElem).width()+20;$(settings.dom.revealID).css('left',offset+'px');$(settings.dom.revealElem).show(0,function(){$(settings.dom.contentID).css('left',offset+'px').show();$(settings.dom.revealID).css('margin-left','0px').delay(20).animate({marginLeft:distance+'px'},time,'linear',postReveal);});}
else{return false;}};function postReveal(){if(settings.play){$(settings.dom.contentID).delay(opts.pauseOnItems).fadeOut('slow');$(settings.dom.revealID).hide(0,function(){$(settings.dom.tickerID).delay(opts.pauseOnItems).fadeOut(opts.fadeOutSpeed,function(){$(settings.dom.wrapperID)
.find(settings.dom.titleElem+','+settings.dom.revealElem+','+settings.dom.contentID)
.hide()
.end().find(settings.dom.tickerID+','+settings.dom.revealID+','+settings.dom.titleID)
.show()
.end().find(settings.dom.tickerID+','+settings.dom.revealID+','+settings.dom.titleID)
.removeAttr('style');updateTicker();});});}
else{$(settings.dom.revealElem).hide();}}
function pauseTicker(){settings.play=false;$(settings.dom.tickerID+','+settings.dom.revealID+','+settings.dom.titleID+','+settings.dom.titleElem+','+settings.dom.revealElem+','+settings.dom.contentID).stop(true,true);$(settings.dom.revealID+','+settings.dom.revealElem).hide();$(settings.dom.wrapperID)
.find(settings.dom.titleID+','+settings.dom.titleElem).show()
.end().find(settings.dom.contentID).show();}
function restartTicker(){settings.play=true;settings.paused=false;postReveal();}
function changeContent(direction){pauseTicker();switch(direction){case'prev':if(settings.position==0){settings.position=countSize(settings.newsArr)-2;}
else if(settings.position==1){settings.position=countSize(settings.newsArr)-1;}
else{settings.position=settings.position-2;}
$(settings.dom.titleElem).html(settings.newsArr['item-'+settings.position].type);$(settings.dom.contentID).html(settings.newsArr['item-'+settings.position].content);break;case'next':$(settings.dom.titleElem).html(settings.newsArr['item-'+settings.position].type);$(settings.dom.contentID).html(settings.newsArr['item-'+settings.position].content);break;}
if(settings.position==(countSize(settings.newsArr)-1)){settings.position=0;}
else{settings.position++;}}});};$.fn.ticker.defaults={speed:0.10,ajaxFeed:false,htmlFeed:true,debugMode:true,controls:true,titleText:'Latest',pauseOnItems:2000,fadeInSpeed:300,fadeOutSpeed:300};})(jQuery);
