(function($) {
    $.fn.extend({
        articlescroll:function(settings) {
			var defaults = {
				olContainer      : 'headlineChanger',
				linkOffClass     : 'off',
				linkOnClass      : 'on',
				aricleContainer  : 'headline',
				articleOnClass   : 'currentHeadline',
				articleOffClass  : 'additionalHeadline',
				animate          : true,
				timeout			 : 3000,
				randomStart      : false,
				anim    		 : {opacity: 'toggle'},
				animDuration     : 500,
				animEasing		 : 'linear',
				animCallback	 : function() {}
			};
			var settings = $.extend(defaults, settings);
			var container = $(this);
			var animIndex = -1;
			var linkArray = [];
			container.resetAll = function () {
				container.find('span.' + settings.olContainer + '>ol>li').each( function (i) {
					$(this).removeClass(settings.linkOnClass);
					$(this).addClass(settings.linkOffClass);
				});
				container.find('div.' + settings.aricleContainer ).each( function (i) {
					$(this).removeClass(settings.articleOnClass);
					$(this).addClass(settings.articleOffClass);
					$(this).hide();
				});
			};
			container.getIndex = function () {
				animIndex = (animIndex >= linkArray.length-1) ?  0 : ++animIndex ;
				return animIndex;
			};
			container.resetAll();
			container.find('span.' + settings.olContainer + '>ol>li').each( function (i) {
				var link = $(this);
				linkArray.push(link);
				link.showContent = function (){
					container.resetAll();
					link.removeClass(settings.linkOffClass);
					link.addClass(settings.linkOnClass);
					container.find('div.' + settings.aricleContainer ).eq(i).removeClass( settings.articleOffClass );
					container.find('div.' + settings.aricleContainer ).eq(i).addClass( settings.articleOnClass );
					container.find('div.' + settings.aricleContainer ).eq(i).animate( settings.anim, settings.animDuration, settings.animEasing, settings.animCallback );
				};
				link.click( function() {
					settings.animate = false;
					link.showContent();
				});
			});
			if(linkArray.length > 0) {
				if(settings.randomStart) {
					animIndex = Math.round(Math.random()*(linkArray.length-1));		
				}
				if(settings.timeout > 0) {
					(function looper(){
						if(settings.animate === true) {
							linkArray[container.getIndex()].showContent();
							setTimeout(looper,settings.timeout);
						}
					})();
				}
				else {
					linkArray[container.getIndex()].showContent();				
				}
			}
		}
	});
})(jQuery);		


