var timeout = 0;
var fade_timeout = 0;
var num_features = 0;
var current_feature = 0;
var fade_time = 200;
var lock_features = false;

function setupNextSlide()
{
	if (num_features == 0)
	{
		for (i = 1; i <= 8; ++i)
		{
			if (document.getElementById('feature_' + i + '_large'))
				num_features += 1;
			else
				break;
		}
	}

	if (timeout)
		window.clearTimeout(timeout);
		
	timeout = window.setTimeout('slideFeature(1)', 5000);
}

function getImageSrc(size, index)
{
	img_container = document.getElementById('feature_' + (index + 1) + '_' + size);
	return img_container.firstChild.getAttribute('src');
}

function slideFeature(increment)
{
	if (lock_features)
		return;
		
	if (num_features <= 0)
		return;
		
/*	next_feature = features[0] + increment
	while (next_feature < 0)
		next_feature += 4;
	while (next_feature >= 4)
		next_feature -= 4;
		
	next_feature_index = -1;
	for (var i = 0; i < 4; ++i)
	{
		if (features[i] == next_feature)
		{
			next_feature_index = i;
			break;
		}
	}
	
	// Fade out the images.
	main_a = document.getElementById('feature_1');
	new Effect.Opacity(main_a.firstChild, { from: 1.0, to: 0.0, duration: fade_time / 1000.0 });
	
	mini_a = document.getElementById('feature_' + (next_feature_index + 1));
	new Effect.Opacity(mini_a.firstChild, { from: 1.0, to: 0.0, duration: fade_time / 1000.0 });
	
	footer = document.getElementById('footer-img');
	new Effect.Opacity('footer-img', { from: 1.0, to: 0.0, duration: fade_time / 1000.0 });
	
	fade_timeout = window.setTimeout('slideHighlightFeature(' + next_feature_index + ')', fade_time)
	lock_features = true;
	
	setupNextSlide();*/
	
	next_feature = current_feature + increment;
	while (next_feature < 0)
		next_feature += num_features;
	while (next_feature >= num_features)
		next_feature -= num_features; 
	
	for (var i = 0; i < 4; ++i)
	{
		var a = document.getElementById('feature_' + (i + 1));
		new Effect.Opacity(a.firstChild, { from: 1.0, to: 0.0, duration: fade_time / 1000.0 });
	}
	
	footer = document.getElementById('footer-img');
	new Effect.Opacity('footer-img', { from: 1.0, to: 0.0, duration: fade_time / 1000.0 });
	
	fade_timeout = window.setTimeout('slideHighlightFeature(next_feature)', fade_time)
	lock_features = true;
	
	setupNextSlide();
}
/*
function slideHighlightFeature(next_feature_index)
{
	// Swap the src for the two images.
	main_a = document.getElementById('feature_1');
	main_a.firstChild.setAttribute('src', getImageSrc('large', next_feature));
	Effect.Appear(main_a.firstChild, { duration: fade_time / 1000.0 });
	
	mini_a = document.getElementById('feature_' + (next_feature_index + 1));
	mini_a.firstChild.setAttribute('src', getImageSrc('small', features[0]));
	Effect.Appear(mini_a.firstChild, { duration: fade_time / 1000.0 });
	
	footer = document.getElementById('footer-img');
	footer.setAttribute('src', document.getElementById('feature_' + (features[next_feature_index] + 1) + '_header').firstChild.getAttribute('src'));
	Effect.Appear(footer, { duration: fade_time / 1000.0 });
	
	fade_timeout = window.setTimeout('lock_features = false', fade_time);
	
	// Swap the hrefs.
	temp = main_a.getAttribute('href');
	main_a.setAttribute('href', mini_a.getAttribute('href'))
	mini_a.setAttribute('href', temp)
	
	features[next_feature_index] = features[0];
	features[0] = next_feature;
}*/

function slideHighlightFeature(next_feature)
{
	// Swap the src for all images.
	for (var i = 0; i < 4; ++i)
	{
		feature_index = (next_feature + i) % num_features;
	
		var a = document.getElementById('feature_' + (i + 1));
		a.firstChild.setAttribute('src', getImageSrc(i == 0 ? 'large' : 'small', feature_index));
		a.setAttribute('href', document.getElementById('feature_' + (feature_index + 1) + '_link').getAttribute('href'));
		Effect.Appear(a.firstChild, { duration: fade_time / 1000.0 });
	}
	
	var footer = document.getElementById('footer-img');
	var footer_ref = document.getElementById('feature_' + (next_feature + 1) + '_header').firstChild;
	if (footer_ref && footer_ref.getAttribute)
		footer.setAttribute('src', footer_ref.getAttribute('src'));
	Effect.Appear(footer, { duration: fade_time / 1000.0 });
	
	fade_timeout = window.setTimeout('lock_features = false', fade_time);
	
	current_feature = next_feature;
}

