	var average_rating = 0;
	var voted = 0;
	var default_game_width = 0;
	var default_game_height = 0;
	var open_game = 0;
	var open_image = 0;
	var videoStatus = false;
	var alternativeGameStarted = false;

	function setRateImage(id) {
		if (voted == 0) {
			for (var i=1; i<=id; i++) {
				var image = document.getElementById("ratingImage"+i);
				image.src = "http://www.spillxl.com/images/rate1.gif";
			}
			for (i=5; i>id; i--) {
				var image = document.getElementById("ratingImage"+i);
				image.src = "http://www.spillxl.com/images/rate0.gif";
			}
		}
	}

	function setStickRateText(id, gameid) {
		if (voted == 0) {
			var outURL = "http://www.spillxl.com/includes/vote.php?do=vote&rating="+(id*2)+"&gameid="+gameid;
			window.hiddenframe.location.href = outURL;

			document.getElementById("yourRatingDiv").innerHTML = "Vurdering:";
			setRateImage(average_rating);

			voted = 1;
		}
	}

	function showGame(pl, fpl) {
		if (open_game == 0) {
			if (pl == undefined) {
				pl = false;
			}
			if (fpl == undefined) {
				fpl = false;
			}
			if (document.getElementById("adContainer") != undefined) {
				document.getElementById("adContainer").style.display = "none";
				document.getElementById("adContainer").style.visibility = "hidden";
				document.getElementById("adContainer").style.position = "absolute";
				document.getElementById("adContainer").style.top = "0px";
				document.getElementById("adContainer").style.left = "0px";
				document.getElementById("adContainer").style.width = "0px";
				document.getElementById("adContainer").style.height = "0px";
			}
			if (document.getElementById("customImage") != undefined) {
				document.getElementById("customImage").style.display = "none";
				document.getElementById("customImage").style.visibility = "hidden";
				document.getElementById("customImage").style.position = "absolute";
				document.getElementById("customImage").style.top = "0px";
				document.getElementById("customImage").style.left = "0px";
				document.getElementById("customImage").style.width = "0px";
				document.getElementById("customImage").style.height = "0px";
			}
			if (document.getElementById("textadframe") != undefined) {
				document.getElementById("textadframe").style.visibility = "visible";
			}
			if (document.getElementById("bottombannerframe") != undefined) {
				document.getElementById("bottombannerframe").style.visibility = "visible";
			}
			if (document.getElementById("bannerRight") != undefined) {
				document.getElementById("bannerRight").style.visibility = "visible";
			}
			if (document.getElementById("gamePlayerContainer") != undefined) {
				document.getElementById("gamePlayerContainer").style.visibility = "visible";
				document.getElementById("gamePlayerContainer").style.display = "block";
				document.getElementById("gamePlayerContainer").style.marginTop = "0px";
				document.getElementById("gamePlayerContainer").style.width = "100%";
				document.getElementById("gamePlayerContainer").style.height = "100%";

				if (document.getElementById("gameSource") == undefined) {
					$("gamePlayerContainer").empty();

					var iframe = new Element("iframe");
					iframe.set({
						"id": "gameSource",
						"name": "gameSource",
						"src": game_url,
						"height": "100%",
						"width": "100%",
						"scrolling": "no",
						"frameborder": "0",
						"allowTransparency": "true"

					}).injectInside(
						$("gamePlayerContainer")
					);
				}
			}
			if ((pl == true || fpl == true) && document.getElementById("gameContainer") != undefined) {
				document.getElementById("gameContainer").className = "gameContainerStyling";
				document.getElementById("gameContainer").style.width = default_game_width+"px";
				document.getElementById("gameContainer").style.height = default_game_height+"px";
			}

			open_game = 1;
			open_image = 1;
		}
	}

	function hideGame(fpl) {
		if (fpl == undefined) {
			fpl = false;
		}
		var pl = false;

		var preloaderWidth = parseInt(450);
		var preloaderHeight = parseInt(375);
		var containerWidth = parseInt(document.getElementById("gameContainer").style.width);
		var containerHeight = parseInt(document.getElementById("gameContainer").style.height);
		var containerPadding = 10;
		var borderWidth = 1;

		var containerSize = $("gameContainer").getSize();

		if (document.getElementById("adContainer") != undefined) {
			document.getElementById("adContainer").style.visibility = "visible";
			document.getElementById("adContainer").style.width = preloaderWidth;
			document.getElementById("adContainer").style.height = preloaderHeight;
			if(/MSIE 8/.test(navigator.userAgent) || /MSIE 7/.test(navigator.userAgent)) {
				document.getElementById("adContainer").style.height = "auto";
			}
		}
		if (document.getElementById("textadframe") != undefined) {
			document.getElementById("textadframe").style.visibility = "hidden";
		}
		if (document.getElementById("bottombannerframe") != undefined) {
			document.getElementById("bottombannerframe").style.visibility = "hidden";
		}
		if (document.getElementById("bannerRight") != undefined) {
			setTimeout('document.getElementById("bannerRight").style.visibility = "hidden";', 500);
		}
		if (document.getElementById("gamePlayerContainer") != undefined) {
			document.getElementById("gamePlayerContainer").style.visibility = "visible";
			document.getElementById("gamePlayerContainer").style.display = "block";
		}
		if (document.getElementById("customImage") != undefined) {
			document.getElementById("customImage").style.visibility = "hidden";
			document.getElementById("customImage").style.width = "0px";
			document.getElementById("customImage").style.height = "0px";
		}

		var preloaderSize = $("adContainer").getSize();
		var buttonHeight = 21; // forced close:21px; forward to game: 19px;
		var extraHeight = (preloaderSize.y-preloaderHeight)+buttonHeight+2; // 2px for border

		if (fpl == true && preloaderWidth >= (containerWidth-(containerPadding*2))) {
			fpl = false;
			pl = true;
		}

		if (fpl == true && (preloaderHeight+extraHeight) >= (containerHeight-(containerPadding*2))) {
			fpl = false;
			pl = true;
		}

		if ((fpl == false || pl == true) && document.getElementById("gameContainer") != undefined) {
			if (pl == false) {
				document.getElementById("gameContainer").className = "";
			}
			document.getElementById("gameContainer").style.width = (preloaderWidth + ((containerPadding*2)*2) + (borderWidth*2)) + "px";
			document.getElementById("gameContainer").style.height = (preloaderHeight + (containerPadding*2) + extraHeight) + "px";
		}
		open_game = 0;
	}

	function showImage() {
		if (open_image == 0) {
			if (document.getElementById("adContainer") != undefined) {
				document.getElementById("adContainer").style.visibility = "hidden";
				document.getElementById("adContainer").style.position = "absolute";
				document.getElementById("adContainer").style.top = "0px";
				document.getElementById("adContainer").style.left = "0px";
				document.getElementById("adContainer").style.width = "0px";
				document.getElementById("adContainer").style.height = "0px";
			}
			if (document.getElementById("textadframe") != undefined) {
				document.getElementById("textadframe").style.visibility = "visible";
			}
			if (document.getElementById("bottombannerframe") != undefined) {
				document.getElementById("bottombannerframe").style.visibility = "visible";
			}
			if (document.getElementById("bannerRight") != undefined) {
				document.getElementById("bannerRight").style.visibility = "visible";
			}
			if (document.getElementById("customImage") != undefined) {
				document.getElementById("customImage").style.visibility = "visible";
				document.getElementById("customImage").style.width = "100%";
				document.getElementById("customImage").style.height = "100%";
			}
			setDivDimensions('gameBoxImageCustom');
			open_image = 1;
		}
	}

	function resizeGame(change_width,change_height) {
		if (default_game_width < 350 || default_game_height < 300) {
			if (document.getElementById("gameContainer") != undefined) {
				document.getElementById("gameContainer").style.width = change_width+"px";
				document.getElementById("gameContainer").style.height = change_height+"px";
			}
		}
	}

	function setDivDimensions(image) {
		if (document.getElementById(image) != undefined && document.getElementById("gameContainer") != undefined) {
			document.getElementById("gameContainer").style.width = document.getElementById(image).width+"px";
			document.getElementById("gameContainer").style.height = document.getElementById(image).height+"px";
		}
	}

	function setLoadingBar(total, pl, fpl) {
		var x = 0, stepsPerSecond = 5;
		total = total*stepsPerSecond; // we are doing multiple steps a second
		var step = 100/total;
		loadingBarProgress(pl, fpl, x, step, stepsPerSecond);
	}

	function loadingBarProgress(pl, fpl, x, step, stepsPerSecond) {

		if (x < 100) {
			x = x + step;
			var percentage = parseInt(x); // remove comma parts

			if (percentage > 100) {
				percentage = 100;
			}
			$("loadprogress").set("text", percentage);
			$("gameLoadingBarProgress").setStyle("width", x + "%");

			timeouts["progressTimeout"] = setTimeout('loadingBarProgress(' + pl + ', ' + fpl + ', ' + x + ', ' + step + ', ' + stepsPerSecond + ')', (1000/stepsPerSecond));

		} else {
			if (!videoStatus && !alternativeGameStarted) {
				showGame(pl, fpl);
			}
		}
	}

	function endAdvertisement() {
		closeAdvertisement();
	}

	function PrepareBigAd() {
	    videoStatus = true;
	}

	function ForwardToGame(pl) {
		if (pl == undefined) {
			pl = false;
		}
		showGame(pl);
		alternativeGameStarted = true;
	}

	function showButton() {
	    if (!videoStatus) {
			if ($("forwardButton")) {
				$("forwardButton").setStyles({
					"visibility":"visible",
					"display":"inline"
				});
			}
	    }
	}

	function showCloseButton() {
	    if (!videoStatus && !alternativeGameStarted) {
			var closeButton = $("closeButton");
			if ($("closeButton")) {

				var closeLink = $("closeButton").getElement("a");
				closeLink.addEvent("click", function(e){
					e.stop();
					closeAdvertisement();
				});
				$("closeButton").setStyles({
					"visibility":"visible",
					"display":"block"
				});
			}
	    }
	}

	function closeAdvertisement() {
		var preloadClosedImage = new Element("div").setProperty("id","preloadClosedImage").addClass("preload_banner").wraps("closeTarget");
		preloadClosedImage.addClass("preload_banner_450x375");
		$("closeButton").fade("out");
		$("closeTarget").fade("out");
		clearTimeout(timeouts["endAdvertisement"]);
	}

	function setTextCounter(amount, pl, fpl) {

		if ( document.getElementById("plcounter") != undefined ) {

			textCounterProgress(amount, pl, fpl);

		} else {

			timeouts["progressTimeout"] = setTimeout("showGame(" + pl + "," + fpl + ")", (amount * 1000));
		}
	}

	function textCounterProgress(amount, pl, fpl) {

		if ( amount > 0 ) {

			document.getElementById("plcounter").innerHTML = amount;

			timeouts["progressTimeout"] = setTimeout("textCounterProgress(" + (amount-1) + "," + pl + "," + fpl + ")", 1000);

		} else if (!videoStatus && !alternativeGameStarted) {

			showGame(pl, fpl);
		}
	}
