/*
 *
 * Copyright (c) 2006 Sam Collett (http://www.texotela.co.uk)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 */
 
/*
 * A basic news ticker
 *
 * @name     newsticker (or newsTicker)
 * @param    delay      Delay (in milliseconds) between iterations. Default 4 seconds (4000ms)
 * @author   Sam Collett (http://www.texotela.co.uk)
 * @example  $("#news").newsticker(); // or $("#news").newsticker(5000);
 *
 */
jQuery.fn.newsTicker = jQuery.fn.newsticker = function(delay)
{
	return this.each(
		function()
		{
			if(this.nodeName.toLowerCase()!= "ul") return;
			delay = delay || 4000;
			var self = this;
			self.items = $("li", self);
			if (self.items.length>1){
			// hide all items (except first one)
				self.items.not(":eq(0)").hide().end();
				// current item
				self.currentitem = 0;
				var doTick = function()
				{
					jQuery.newsticker(self);
				}
				setInterval(doTick,delay);
			}
		}
	)
	.addClass("newsticker")
	.hover(
		function()
		{
			// pause if hovered over
			this.pause = true;
		},
		function()
		{
			// unpause when not hovered over
			this.pause = false;
		}
	);
}
jQuery.newsticker = function(el)
{
	// return if hovered over
	if(el.pause) return;
	// hide current item
	$(el.items[el.currentitem]).fadeOut("slow",
		function()
		{
			$(this).hide();
			// move to next item and show
			el.currentitem = ++el.currentitem % (el.items.size());
			$(el.items[el.currentitem]).fadeIn("slow");
		}
	);
}
