var imagesLoaded = new Array();
var imagesTotal = 1;
function setImagesTotal(number) {
	imagesTotal = number;
}

var addLoadingCount = 0;
function addLoading(whichImage) {
	imagesLoaded[addLoadingCount] = whichImage;
	addLoadingCount++;
}

function checkLoading() {
	imagesLoadedNumber = 0;
	for(i=0;i<imagesTotal;i++) if (imagesLoaded[i].complete) imagesLoadedNumber++;
	document.getElementById("loadingText").innerHTML = "VD-Productions.com..."+Math.round(imagesLoadedNumber/imagesTotal*100)+"%";
	if (imagesLoadedNumber < imagesTotal) setTimeout("checkLoading()",10);
}

function setInnerHTML(who, text) {
	document.getElementById(who).innerHTML = text;
}

function leaveComment(address) {
	window.open(address,"_blank","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, width=400, height=215");
}

function showComment(name, comment) {
	document.getElementById("showComment").innerHTML = "<b>"+name+": </b>"+comment;
	document.getElementById("showComment").style.visibility = "visible";
}

function hideComment() {
	document.getElementById("showComment").style.visibility = "hidden";
}

var loadingOpacity = 100;
function hideLoading() {
	if (loadingOpacity <= 0) {
		document.getElementById("loadingScreen").style.visibility="hidden";
	}
	else {
		loadingOpacity -= 10;
		setTimeout("hideLoading()",50);
		if (navigator.appName == "Microsoft Internet Explorer")
			document.getElementById("loadingScreen").filters.alpha.opacity = loadingOpacity;
		else
			document.getElementById("loadingScreen").style.opacity = (loadingOpacity/100);
	}
}

var setOpacity = 0;
var screenshotTimeout;
var dontShow = false;
function showScreenshot(whatSrc, genre, players, size, license, rating) {
	if (!dontShow) {
		if (setOpacity < 100) {
			setOpacity += 10;
			clearTimeout(screenshotTimeout);
			screenshotTimeout = setTimeout("showScreenshot()",50);
			if (navigator.appName == "Microsoft Internet Explorer")
				document.getElementById("screenshot").filters.alpha.opacity = setOpacity;
			else
				document.getElementById("screenshot").style.opacity = (setOpacity/100);
		}
		
		if (whatSrc != players) {
			document.getElementById("screenshot").style.backgroundImage = "url("+whatSrc+")";
			document.getElementById("screenshot").style.visibility="visible";
			
			if (players != null) {
				document.getElementById("scrnGenre").innerHTML = "<b>Genre:</b> "+genre;
				document.getElementById("scrnPlayers").innerHTML = "<b>Players:</b> "+players;
				document.getElementById("scrnSize").innerHTML = "<b>Size:</b> "+size;
				document.getElementById("scrnLicense").innerHTML = "<b>License:</b> "+license;
			}
			else {
				document.getElementById("scrnGenre").innerHTML = "<b>"+genre+"</b>";
				document.getElementById("scrnPlayers").innerHTML = "";
				document.getElementById("scrnSize").innerHTML = "";
				document.getElementById("scrnLicense").innerHTML = "";
			}
		}
	}
}

function hideScreenshot() {
	if (setOpacity > 0) {
		setOpacity -= 20;
		clearTimeout(screenshotTimeout);
		screenshotTimeout = setTimeout("hideScreenshot()",50);
		if (navigator.appName == "Microsoft Internet Explorer")
			document.getElementById("screenshot").filters.alpha.opacity = setOpacity;
		else
			document.getElementById("screenshot").style.opacity = (setOpacity/100);
	}
	else
		document.getElementById("screenshot").style.visibility="hidden";
}

function timeDisableScreenshot(time) {
	dontShow = true;
	setTimeout("dontShow = false", time);
}

function mousePointer() {
	document.body.style.cursor="pointer";
}

function mouseCrosshair() {
	document.body.style.cursor="crosshair";
}

function mouseAuto() {
	document.body.style.cursor="auto";
}

function setColor(id, color) {
	lastColor = document.getElementById(id).style.backgroundColor;
	document.getElementById(id).style.backgroundColor=color;
}


var finished = false;
var last = 0;
var flagPosition = new Array();
var flagTimeout;
function dropFlag() {
	zeroFlagPositions();
	dropFlagLoop();
}

function dropFlagLoop() {
	for(i=1;i<32;i++) {
		if (document.getElementById("flag"+i) == null) {
			last = i-1;
			break;
		}
		
		if (flagPosition[i] < i*30) flagPosition[i] += 10;
		else if (i == last) finished = true;
		
		document.getElementById("flag"+i).style.top = 115+flagPosition[i]+"px";
	}
	
	if (!finished) {
		clearTimeout(flagTimeout);
		flagTimeout = setTimeout("dropFlagLoop()",75);
	}
}

function zeroFlagPositions() {
	for(i=0;i<32;i++) flagPosition[i] = 0;
	finished = false;
}


var cloudX = new Array(-100, 350, 850);
var cloudY = new Array(100, 200, 350);
var cloudSpeed = 250;
function moveCloud(timePassed) {
	if (timePassed == null) {
		for(i=0;i<3;i++) {
			document.getElementById("cloud"+i).style.backgroundPosition = cloudX[i]+"px"+" "+cloudY[i]+"px";
			
			cloudX[i] += 1;
			
			if (cloudX[i] > screen.width+200) cloudX[i] = -375;
		}
	}
	else {
		for(i=0;i<3;i++) {
			cloudX[i] = (cloudX[i]+timePassed*1000/cloudSpeed)%(screen.width+200);
		
			document.getElementById("cloud"+i).style.backgroundPosition = cloudX[i]+"px"+" "+cloudY[i]+"px";
		}
	}
	
	setTimeout("moveCloud()",cloudSpeed);
}


// JS AJAX Scripts

var xmlHttp;
var storeAtElement;
var AJAXReady = true;
function doAJAX(file, storeAt) {
	if (!AJAXReady) {
		setTimeout("doAJAX('"+file+"', '"+storeAt+"')", 50);
	}
	else {	
		AJAXReady = false;
		xmlHttp = GetXmlHttpObject();
		
		if (xmlHttp == null) {
			alert ("Your browser does not support AJAX! I'm afraid this website requires AJAX to function correctly, so go get it working!");
			return;
		} 
		
		var url = file;
		
		if (url.indexOf("?") == -1)
			url = url+"?sid="+Math.random();
		else
			url = url+"&sid="+Math.random();
		
		storeAtElement = storeAt;
		
		if (storeAt.indexOf("MENY") != -1) {
			xmlHttp.onreadystatechange = stateChangedMeny;
		}
		else {
			xmlHttp.onreadystatechange = stateChanged;
		}
	
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
}

function stateChangedMeny() {
	if (xmlHttp.readyState==4) {
		var response = xmlHttp.responseText;
		if (storeAtElement != "NONE") {
			document.getElementById("flagDiv").innerHTML = response.slice(0,response.indexOf("</meny>"));
			if (storeAtElement.indexOf("+") == -1)
				document.getElementById("mainDiv").innerHTML = response.slice(response.indexOf("</meny>"));
			else
				document.getElementById("mainDiv").innerHTML += response.slice(response.indexOf("</meny>"));
		}
		
		zeroFlagPositions();
		dropFlag();
		
		AJAXReady = true;
	}
}

function stateChanged() {
	if (xmlHttp.readyState==4) {
		var response = xmlHttp.responseText;
		if (storeAtElement != "NONE") {
			if (storeAtElement == "flagDiv")
				document.getElementById(storeAtElement).innerHTML = response.slice(0,response.indexOf("</meny>"));
			else {
				if (storeAtElement.indexOf("+") == -1)
					if (response.indexOf("</meny>") != -1)
						document.getElementById(storeAtElement).innerHTML = response.slice(response.indexOf("</meny>"));
					else
						document.getElementById(storeAtElement).innerHTML = response;
				else {
					storeAtElement.replace("+","");
					if (response.indexOf("</meny>") != -1)
						document.getElementById(storeAtElement).innerHTML += response.slice(response.indexOf("</meny>"));
					else
						document.getElementById(storeAtElement).innerHTML += response
				}
			}
		}
		
		AJAXReady = true;
	}
}
	
function GetXmlHttpObject() {
	var xmlHttp = null;
	
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}
