/**
 * 
 * jQuery Features Plugin
 * Version 1.0.0
 * Copyright (c) Nikolay Dutchuk, 2009
 * 
 */


(function($) 
	{
		$.fn.features = function(options)
			{
				var tabs   = $(this);
				var output = $(options.output);
				
				new jQuery.features(tabs, output, options);
			};
		
		$.features = function(tabs, output, options)
			{
				function slide(no)
					{
						if (typeof no == "undefined")
						{
							no = visible_item + 1;
							no = no >= total_items ? 0 : no;
						}
						
						tabs.removeClass("current").filter(":eq(" + no + ")").addClass("current");
						
						output.stop(true, true).filter(":visible").fadeOut();
						output.filter(":eq(" + no + ")").fadeIn(function() { visible_item = no; });
					}
			
				var options      = options || {};
				var total_items  = tabs.length;
				var visible_item = options.visible_item || 0;
				
				options.pause_on_hover       = options.pause_on_hover || true;
				options.transistion_interval = options.transistion_interval || 50000;
				
				output.hide().eq(visible_item).show();
				tabs.eq(visible_item).addClass("current");
				
				tabs.click(function()
					{
						if ($(this).hasClass("current"))
						{
							return false;
						}
						
						slide(tabs.index(this));
					}
				);
				
				if (options.transistion_interval > 0)
				{
					var timer = setInterval(function() { slide(); }, options.transistion_interval);	
					if (options.pause_on_hover)
					{
						tabs.mouseenter(function() { clearInterval(timer); } ).mouseleave(function() 
							{ 
								clearInterval(timer); 
								timer = setInterval(function() { slide(); }, options.transistion_interval )
							} 
						);
					}
				}
			};
	})
	
(jQuery);
