﻿var _highlights;
var _autoSwitch = true;
var _autoSwitchIndex = 0;

function HighlightSwitch(index, prevIndex, fade)
{
	var image = _highlights[index]["image"];
	var description = _highlights[index]["description"];
	var thumbnail = _highlights[index]["thumbnail"];
	
	var imageOld;
	var descriptionOld;
	var thumbnailOld;
		
	if (fade)
	{
		imageOld = _highlights[prevIndex]["image"];
		descriptionOld = _highlights[prevIndex]["description"];
	
		HighlightSetOpacity(image, 1.0);
		HighlightSetOpacity(description, 1.0);
		HighlightSetOpacity(imageOld, 0.0);
		HighlightSetOpacity(descriptionOld, 0.0);
		
		image.style.display = "block";
		imageOld.style.display = "block";
		description.style.display = "block";
		descriptionOld.style.display = "block";
		
		HighlightFade(0.0, index, prevIndex);
	}
	else
	{
		_autoSwitchIndex = index;
		
		var imageAnchor = document.getElementById('highlightLink');
		
		var i = 0
		while (i < _highlights.length)
		{
			imageOld = _highlights[i]["image"];
			descriptionOld = _highlights[i]["description"];
			thumbnailOld = _highlights[i]["thumbnail"];
			
			imageOld.style.display = "none";
			descriptionOld.style.display = "none";
			thumbnailOld.className = "thumbnail";
			
			++i;
		}
		
		imageAnchor.href = _highlights[index]["url"];
		
		HighlightSetOpacity(image, 1.0);
		HighlightSetOpacity(description, 1.0);
		
		image.style.display = "block";
		description.style.display = "block";
		thumbnail.className = "thumbnail-selected";
	}
}

function HighlightFade(opacity, index, prevIndex)
{
	if (_autoSwitchIndex != index)
		return;

	var image = _highlights[index]["image"];
	var imageOld = _highlights[prevIndex]["image"];
	var description = _highlights[index]["description"];
	var descriptionOld = _highlights[prevIndex]["description"];
	
	if (opacity < 1.0)
	{
		setTimeout("HighlightFade(" + (opacity + 0.05) + ", " + index + ", " + prevIndex + ")", 50);
	}
	else
	{
		var imageAnchor = document.getElementById('highlightLink');
		var thumbnail = _highlights[index]["thumbnail"];
		var thumbnailOld = _highlights[prevIndex]["thumbnail"];
		
		imageOld.style.display = "none";
		descriptionOld.style.display = "none";
		thumbnail.className = "thumbnail-selected";
		thumbnailOld.className = "thumbnail";
		imageAnchor.href = _highlights[index]["url"];
	}
	
	HighlightSetOpacity(image, opacity);
	HighlightSetOpacity(description, opacity);
	HighlightSetOpacity(imageOld, 1.0 - opacity);
	HighlightSetOpacity(descriptionOld, 1.0 - opacity);
}

function HighlightSetOpacity(img, opacity)
{
	if (opacity < 1.0)
	{
		img.style.opacity = opacity;
		img.style.MozOpacity = opacity;
		img.style.filter = "alpha(opacity=" + (opacity * 100) + ")";
	}
	else
	{
		if (img.style.removeAttribute)
		{
			img.style.removeAttribute('opacity');
			img.style.removeAttribute('MozOpacity');
			img.style.removeAttribute('filter');
		}
		else
		{
			img.style.removeProperty('opacity');
			img.style.removeProperty('MozOpacity');
			img.style.removeProperty('filter');
		}
	}
}

function HighlightNext()
{
	if (_autoSwitch == true)
	{
		var oldAutoSwitchIndex = _autoSwitchIndex;
		
		++_autoSwitchIndex;
	
		if (_autoSwitchIndex > 3)
		{
			_autoSwitchIndex = 0;
		}
		
		HighlightSwitch(_autoSwitchIndex, oldAutoSwitchIndex, true);
	}
}

function SetHighlights(newHighlights)
{
	_highlights = newHighlights;
}

function SetAutoSwitch(newAutoSwitch)
{
	_autoSwitch = newAutoSwitch;
}

function SetAutoSwitchIndex(newAutoSwitchIndex)
{
	_autoSwitchIndex = newAutoSwitchIndex;
}

function InitHighlights(newHighlights, interval)
{
	SetHighlights(newHighlights);

	document.getElementById('highlightLink').href = _highlights[0]["url"];
	
	window.setInterval('HighlightNext()', interval);
}