/*
 * Park Place - 2009.06.19
 * 
 * Used by /default.aspx
 * Requires common.js
 */


var MCPPParkPlaceSlides = [];
var MCPPParkPlaceIndex = 0;
var MCPPParkPlaceAutoSwitch = true;


function MCPPParkPlaceInit(id)
{
	var parkPlace = document.getElementById(id);
	
	parkPlace.onmouseover = function(event)
	{
		MCPPParkPlaceAutoSwitch = false;
	}
	
	parkPlace.onmouseout = function(event)
	{
		MCPPParkPlaceAutoSwitch = true;
	}
	
	var enumerator = [];
	var i = 0;
	var index = 0;
	
	enumerator = parkPlace.getElementsByTagName('a');
	
	for (i = 0; i < enumerator.length; ++i)
	{
		var item = enumerator[i];
		
		if (item.className == 'item')
		{
			var image = item.getElementsByTagName('img')[0];
			
			if (image)
			{
				item.image = image;
				item.index = index;
				
				item.onmouseover = function(event)
				{
					MCPPParkPlaceSwitch(this);
				}
				
				MCPPParkPlaceSlides[index] = item;
				
				++index;
			}
		}
	}
	
	MCPPParkPlaceSwitch(MCPPParkPlaceSlides[MCPPParkPlaceIndex]);
	window.setInterval('MCPPParkPlaceNext()', 6000);
	
	parkPlace.className = "bogus";
}

function MCPPParkPlaceNext()
{
	if (MCPPParkPlaceAutoSwitch)
	{
		var rotatePrevIndex = MCPPParkPlaceIndex;
		MCPPParkPlaceIndex = (MCPPParkPlaceIndex + 1) % MCPPParkPlaceSlides.length;
		MCPPParkPlaceFade(MCPPParkPlaceIndex, rotatePrevIndex, 0.0);
	}
}

function MCPPParkPlaceSwitch(slide)
{
	for (var i = 0; i < MCPPParkPlaceSlides.length; ++i)
	{
		MCPPSetOpacity(MCPPParkPlaceSlides[i].image, 0.0);
		MCPPRemoveStyle(MCPPParkPlaceSlides[i], 'backgroundColor');
		MCPPRemoveStyle(MCPPParkPlaceSlides[i], 'background-color');
		MCPPParkPlaceSlides[i].className = "";
	}
		
	MCPPSetOpacity(slide.image, 1.0);
	slide.className = "selected";
	
	MCPPParkPlaceIndex = slide.index;
}

function MCPPParkPlaceFade(index, prevIndex, opacity)
{
	if (MCPPParkPlaceIndex != index)
		return;
	
	if (opacity < 1.0)
	{
		setTimeout("MCPPParkPlaceFade(" + index + ", " + prevIndex + ", " + (opacity + 0.05) + ")", 50);
	}
	else
	{
		MCPPParkPlaceSwitch(MCPPParkPlaceSlides[index]);
		return;
	}

	var slide = MCPPParkPlaceSlides[index];
	var prevSlide = MCPPParkPlaceSlides[prevIndex];
	
	MCPPSetOpacity(slide.image, opacity);
	MCPPSetOpacity(prevSlide.image, 1.0 - opacity);
	
	slide.style.backgroundColor = MCPPParkPlaceColorWithOpacity(opacity);
	prevSlide.style.backgroundColor = MCPPParkPlaceColorWithOpacity(1.0 - opacity);
}

function MCPPParkPlaceColorWithOpacity(opacity)
{
	var UNSELECTED_COLOR = [0xCC, 0xCC, 0xCC];
	var SELECTED_COLOR = [0x00, 0x33, 0x99];
	
	var diff = [UNSELECTED_COLOR[0] - SELECTED_COLOR[0],
	            UNSELECTED_COLOR[1] - SELECTED_COLOR[1],
	            UNSELECTED_COLOR[2] - SELECTED_COLOR[2]];
	
	var color = [Math.round(UNSELECTED_COLOR[0] - (diff[0] * opacity)),
	             Math.round(UNSELECTED_COLOR[1] - (diff[1] * opacity)),
	             Math.round(UNSELECTED_COLOR[2] - (diff[2] * opacity))];
	
	return 'rgb(' + color[0] + ', ' + color[1] + ', ' + color[2] + ')';
}
