Event.observe(window, "load", initPage);
var previousResponse = null;
var isUpdate = null;
var topItem = null;

function initPage()
{
	periodicalUpdater();
}

function periodicalUpdater()
{
	new Ajax.Request(
		"ajax.php?action=getFeedItems",
		{
			method: "get",
			encoding: "UTF-8", 
			onSuccess: function(transport)
			{
				topItem = getTopItem(transport.responseText);
				if(previousResponse != topItem)
				{
					$("feed-items").update(transport.responseText);
					if(isUpdate)
					{						
						Effect.SlideDown(topItem, { duration: 1 });
					}
					isUpdate = true;
					repositionFooter();
				}
				previousResponse = topItem;								
				setTimeout(periodicalUpdater, 30000); // 30 seconds
			}
		}
	);
}

function getTopItem(responseText)
{
	$("temp-feed").update(responseText);
	var items = $("temp-feed").getElementsByClassName("feed-item");	
	var toppy = items[0].id;
	items[0].id = "monk";
	return toppy;
}

function refreshFact()
{
	new Ajax.Request(
		"ajax.php?action=getFact",
		{
			method: "get",
			onSuccess: function(transport)
			{
				$("fact-text").update(transport.responseText);
			}
		}
	);
}

function countSteps()
{
	var steps = $("steps-list").getElementsByTagName("a");
	return steps.length;
}

function previousTour()
{
	alinks = $("steps-list").getElementsByTagName("a");
	for(i = 0; i < alinks.length; i++)
	{
		if(alinks[i].className == "on")
		{
			var nextStep = i-1;
		}
	}						
	if(nextStep < 0)		nextStep = countSteps()-1;
	if(nextStep >= countSteps())	nextStep = countSteps()-1;
	move(null, nextStep);					
}

function nextTour()
{
	alinks = $("steps-list").getElementsByTagName("a");
	for(i = 0; i < alinks.length; i++)
	{
		if(alinks[i].className == "on")
		{
			var nextStep = i+1;
		}
	}						
	if(nextStep < 0)		nextStep = 0;
	if(nextStep >= countSteps())	nextStep = 0;
	move(null, nextStep);
}

function move(element, position)
{
	alinks = $("steps-list").getElementsByTagName("a");
	for(i = 0; i < alinks.length; i++)
	{
		alinks[i].className = "";
		if(i == position)
		{
			alinks[i].className = "on";
			alinks[i].blur();
		}
	}

	var offs = 0;
	var final = 0;
	
	if(position == 0)
	{
		$("previous").style.display = "none";
	}
	else
	{
		$("previous").style.display = "block";
	}
	
	if(position == 5)
	{
		$("next").style.display = "none";
	}
	else
	{
		$("next").style.display = "block";
	}
	

	if($("steps").style.left)
	{			
		offs = parseInt($("steps").style.left);
	}
	var final = (-604 * position) - offs;

	new Effect.MoveBy(
		"steps",
		0,
		final,
		{
			duration: 0.6,  
			transition: Effect.Transitions.sinoidal, queue: 'end'
		}
	);			
}

function parseBubbleSearch(param)
{
	if(param.getElementsByTagName('span').length > 0)
	{	
		var value	= param.getElementsByTagName('span')[3].innerHTML;
		var term	= param.getElementsByTagName('span')[1].innerHTML;
		
		$("bubble-input").value = term;
		$("bubble-input-id").value = value;
		
		$("bubble-status-link").innerHTML = term;		
	}
	updateBubble();
	return false;
}

function toggleGameBubble()
{
	if($("bubble-form").style.display == "block")
	{
		$("bubble-form").style.display = "none";
		$("bubble-status").style.display = "block";		
	}
	else
	{
		$("bubble-form").style.display = "block";
		$("bubble-status").style.display = "none";		
			
		$("bubble-input").select();
		$("bubble-input-id").value = "0";
	}
}

function updateBubble()
{
	var game	= $("bubble-input").value;
	var game_id	= $("bubble-input-id").value;
	
	$("bubble-status-link").innerHTML = $("bubble-input").value;
	
	$("playing-label").style.display = "block";
	$("playing-question").style.display = "none";
	$("bubble-status-link").style.display = "block";
	
	if(game == "")
	{
		clearBubble();
	}
	else
	{
		var querystring = "ajax.php?action=currentlyPlaying&game="+game+"&id="+game_id

		new Ajax.Request(
			querystring,
			{
				method: "get"
			}
		);
		toggleGameBubble();
	}
	
	return false;
}

function clearBubble()
{
	new Ajax.Request(
		"ajax.php?action=clearCurrentlyPlaying",
		{
			method: "get"
		}
	);
	
	$("bubble-input").value = "";
	$("bubble-input-id").value = "0";

	$("playing-label").style.display = "none";
	$("playing-question").style.display = "block";
	$("bubble-status-link").style.display = "none";
	
	toggleGameBubble();
}