function MakeAJAXRequest(url, async, responseEventHandler)
{
	var request = null;
	if(window.XMLHttpRequest)
	{
		request = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	else alert("Your browser does not support Ajax!");	
	
	request.open("GET", url, async);
	if(async) request.onreadystatechange = responseEventHandler;
	request.send(null);
	return request;
}

function MouseOverRating(currentRating)
{
	var ratingStars = document.getElementById("yourRating").getElementsByTagName("img");
	
	currentRating = parseInt(currentRating);
	if(!currentRating) currentRating = 0;	
	
	for(var i = 0; i < 5; i++)
		if(i < currentRating) ratingStars[i].src = "/graphics/rating_star_full.gif";
		else ratingStars[i].src = "/graphics/rating_star_empty.gif";
}

function RateGame(rating)
{
	var ratingStars = document.getElementById("yourRating").getElementsByTagName("img");
	for(var i = 0; i < ratingStars.length; i++)	{
		ratingStars[i].setAttribute("onmouseover", "");
		ratingStars[i].setAttribute("onmouseout", "");
		ratingStars[i].setAttribute("onclick", "");
	}
	
	var nameid = document.getElementById("yourRating").className;
	MakeAJAXRequest("/server.php?action=rate_game&nameid=" + nameid + "&rating=" + rating);
	//alert(request.responseText);
}

function GameWindow(url, width, height, isFullscreen)
{
	if(isFullscreen)
	{
		width = screen.availWidth;
		height = screen.availHeight;
		window.open(location.href + "?fullscreen=1", "fullscreenWindow", "width=" + width + ",height=" + height + ",menubar=0,resizable=1,scrollbars=1,status=0,toolbar=0");
	}
	else window.open(url, "gameWindow", "width=" + width + ", height=" + height + ", menubar=0, toolbar=0");
}

var gameLoadingTime = 5;
var progressbarWidth = 400;
var game, gameWidth, gameHeight, iframeWidht, iframeHeight, objWidth, objHeight, embedWidth, embedHeight;

function showPreroll() {
	if(document.getElementById("preroll")) {
		document.getElementById("preroll").style.display = "";
		timeLeft = gameLoadingTime;
		prerollUpdateTimer = setTimeout('updatePreroll()', 1000);
	}
}
function hidePreroll() {
	clearTimeout(prerollUpdateTimer);
	document.getElementById("preroll").style.display = "none";
}
function updatePreroll() {
	timeLeft--;
	
	var width;	
	if(progressbarWidth) width = (gameLoadingTime - timeLeft) / gameLoadingTime * progressbarWidth;
	else width = 0;
	
	document.getElementById("prerollProgress").style.width = width + "px";
	
	if(timeLeft > 0) prerollUpdateTimer = setTimeout('updatePreroll()', 1000);
	else prerollUpdateTimer = setTimeout('gameLoaded()', 1000);
}
function gameLoaded() {
	document.getElementById("prerollProgressbar").style.display = "none";
	document.getElementById("prerollLoadingText").style.display = "none";
	document.getElementById("prerollSkipText").style.display = "none";
	document.getElementById("prerollReadyText").style.display = "";
	document.getElementById("prerollPlayLink").style.display = "";
}
function hideGame(resize) {
	var obj, embed, iframe;
	
	if(iframe = document.getElementById("gameContainer").getElementsByTagName("iframe")[0]) {
		if(!resize) iframe.style.display = "none";
		iframeWidth = iframe.width;
		iframeHeight = iframe.height;		
		iframe.width = 1;
		iframe.height = 1;
	}
	
	if(obj = document.getElementById("gameContainer").getElementsByTagName("object")[0]) {
		if(!resize) obj.style.display = "none";
		objWidth = obj.width;
		objHeight = obj.height;		
		obj.width = 2;
		obj.height = 2;
	}	
	
	if(embed = document.getElementById("gameContainer").getElementsByTagName("embed")[0]) {
		try {
			if(!resize) embed.style.display = "none";
			embedWidth = embed.width;
			embedHeight = embed.height;		
			embed.width = 2;
			embed.height = 2;
		}
		catch (error) {
		}
	}	
}
function showGame() {
	var obj, embed, iframe;
	
	if(iframe = document.getElementById("gameContainer").getElementsByTagName("iframe")[0]) {
		iframe.width = iframeWidth;
		iframe.height = iframeHeight;
		iframe.style.display == "";
	}
	
	if(obj = document.getElementById("gameContainer").getElementsByTagName("object")[0]) {
		obj.width = objWidth;
		obj.height = objHeight;
		obj.style.display = "";
	}
	
	if(embed = document.getElementById("gameContainer").getElementsByTagName("embed")[0]) {
		try {
			embed.width = embedWidth;
			embed.height = embedHeight;
			embed.style.display = "";
		}
		catch (error) {
		}
	}
}

function LoadGamePictures() {
	var gamePictures = document.getElementsByName("gamePictureLink");
	var img;
	for(var i = 0;i < gamePictures.length;i++) {
		img = gamePictures[i].getElementsByTagName("img");
		if(img.length > 0) img[0].src = img[0].getAttribute("name");
	}
}
