var featuredButtonTimeout = null;
var featuredButtons = null;
var featuredItems = null;
var featuredLocked = false;
var featuredTimeout = null;
var currentFeatured = 0;
var featuredDelay = 5000;

function setupFeatured()
{
	featuredItems = jQuery("#featured-wrapper div.item");
	
	var tallest = 0;
	
	featuredItems.each(function (index)
	{
		if (index == 0)
		{
			jQuery(this).css("left", "0");
		}
		
		var height = jQuery(this).height();
		
		if (height > tallest)
		{
			tallest = height;
		}
	});
	
	jQuery("#featured-wrapper").height(tallest);
	
	if (featuredItems.length > 1)
	{
		featuredButtons = jQuery("a.featured-button");
		
		jQuery(".featured-layer").bind("mouseover", function ()
		{
			if (featuredButtonTimeout != null)
			{
				clearTimeout(featuredButtonTimeout);
			}
			
			featuredButtons.show();
		})
		.bind("mouseout", function ()
		{
			featuredButtonTimeout = setTimeout("featuredButtons.hide();", 250);
		});
		
		var padding = (tallest - 45) / 2;
		
		featuredButtons.css(
		{
			"padding-top": Math.floor(padding) + "px",
			"padding-bottom": Math.ceil(padding) + "px"
		});
		
		featuredTimeout = setTimeout("nextPost(true);", featuredDelay);
	}
}

function previousPost(auto)
{
	showPost(auto, true);
}

function nextPost(auto)
{
	showPost(auto, false);
}

function showPost(auto, previous)
{
	if (featuredItems != null && featuredItems.length > 1 && !featuredLocked)
	{
		if (!auto)
		{
			clearTimeout(featuredTimeout);
		}
		
		featuredLocked = true;
		
		var oldFeatured = featuredItems.eq(currentFeatured);
		
		if (previous)
		{
			currentFeatured--;
			
			if (currentFeatured < 0)
			{
				currentFeatured = featuredItems.length - 1;
			}
		}
		else
		{
			currentFeatured++;
			
			if (currentFeatured >= featuredItems.length)
			{
				currentFeatured = 0;
			}
		}
		
		var newFeatured = featuredItems.eq(currentFeatured);
		var wrapperWidth = 638;
		var multiplier = (previous) ? -1 : 1;
		
		newFeatured.css("left", (wrapperWidth * multiplier) + "px");
		
		var movement = (previous) ? "+" : "-";
		var duration = 333;
		
		oldFeatured.animate(
		{
			"left": movement + "=" + wrapperWidth + "px"
		},
		{
			"queue": false,
			"duration": duration
		});
		
		newFeatured.animate(
		{
			"left": movement + "=" + wrapperWidth + "px"
		},
		{
			"queue": false,
			"duration": duration,
			
			"complete": function ()
			{
				featuredLocked = false;
			}
		});
		
		if (auto)
		{
			featuredTimeout = setTimeout("nextPost(true);", featuredDelay);
		}
	}
}

