function GetHTTPObject()
{
	if (window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else
	{
		alert(noajax);
		return null;
	}
}

var httpObject = null;

function searchgames(tagsword)
{
	var tag = document.thesearchform.thetag.value;
	tag = tag.replace(/ /g, "-");
	var wheretogo = "/" + tagsword + "/" + tag;
	document.thesearchform.method = "post";
	document.thesearchform.action = wheretogo;
	document.thesearchform.submit();
}

function searchSetOutput()
{
	if(httpObject.readyState == 4)
	{
		document.getElementById('pagecontent').innerHTML = httpObject.responseText;
	}
}

function showSearchContent(content, thetag, page, counter1, counter2)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var topost = "showwhat="+escape(content)+"&thetag="+thetag+"&page="+page+"&counter1="+counter1+"&counter2="+counter2;
		httpObject.open("POST", "/php/search.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = searchSetOutput;
	}
}

function showImage(event, imagenr, catname, numgames, langid)
{
	var x = document.documentElement.scrollLeft + event.clientX + 10;
	var y = document.documentElement.scrollTop + event.clientY - 45;
	document.getElementById('catimageholder').style.left = x + "px";
	document.getElementById('catimageholder').style.top = y + "px";
	document.getElementById('catimageholder').style.display = "block";
	document.getElementById('catimageholder').innerHTML = "<img style='background-image: url(/img/catimg/" + imagenr + ".gif); background-repeat: no-repeat; background-position: 3px 3px;' src='/pics/catframe-" + langid + ".png' alt='" + catname +"' />";
	document.getElementById('catimageholdertext').style.left = (x+18) + "px";
	document.getElementById('catimageholdertext').style.top = (y+106) + "px";
	document.getElementById('catimageholdertext').style.display = "block";
	document.getElementById('catimageholdertext').innerHTML = catname;
	document.getElementById('catimageholdernumsubcats').style.top = (y+121) + "px";
	document.getElementById('catimageholdernumsubcats').style.display = "block";
	if (numgames<10)
	{
		document.getElementById('catimageholdernumsubcats').style.fontSize = "11px";
		document.getElementById('catimageholdernumsubcats').style.paddingTop = "0px";
		document.getElementById('catimageholdernumsubcats').style.left = (x+127) + "px";
	}
	else if (numgames>=100)
	{
		document.getElementById('catimageholdernumsubcats').style.fontSize = "8px";
		document.getElementById('catimageholdernumsubcats').style.paddingTop = "2px";
		document.getElementById('catimageholdernumsubcats').style.left = (x+127) + "px";
	}

	else
	{
		document.getElementById('catimageholdernumsubcats').style.fontSize = "11px";
		document.getElementById('catimageholdernumsubcats').style.paddingTop = "0px";
		document.getElementById('catimageholdernumsubcats').style.left = (x+128) + "px";
	}
	document.getElementById('catimageholdernumsubcats').innerHTML = numgames;
}

function hideImage()
{
	document.getElementById('catimageholder').style.display = "none";
	document.getElementById('catimageholdertext').style.display = "none";
	document.getElementById('catimageholdernumsubcats').style.display = "none";
}

var xZoomStart = 0;
var xMouseStart = 0;
var newHeight = 0;
var newWidth = 0;

function mousePosition(ev)
{
	ev = ev || window.event;
	if (ev.pageX)
	{
		return {x:ev.pageX};
	}
	return {x:ev.clientX + document.body.scrollLeft - document.body.clientLeft};
}

function zoomStart(ev)
{
	var mousePos = mousePosition(ev);
	xMouseStart = mousePos.x;
	xZoomStart = document.getElementById('zoomtool').offsetLeft - document.getElementById('zoommiddle').offsetLeft;
	document.onmousemove = zoomMove;
	document.onmouseup = zoomStop;
	if(document.all)
	{
		ev.cancelBubble = true;
		ev = false;
	}
	else
	{
		ev.preventDefault();
	}
}

function zoomMove(ev)
{
	ev = ev || window.event;
	var mousePos = mousePosition(ev);
	newX = xZoomStart + mousePos.x - xMouseStart;
	if (newX < 0)
	{ newX = 0; }
	if (newX > 248)
	{ newX = 248; }
	document.getElementById('zoomtool').style.left = newX + 'px';
	newX = Math.round(newX/10)*10;
	newHeight = startHeight * (newX/124);
	newWidth = startWidth * (newX/124);
	if (newWidth>804)
	{
		var extraWidth=newWidth-804;
		extraWidth = (extraWidth/2);
		document.getElementById('gamebox').style.left = (-extraWidth) + "px";
	}
	else
	{
		document.getElementById('gamebox').style.left = (-10) + "px";
	}
	document.getElementById('gamebox').style.height = newHeight + 'px';
	document.getElementById('gamebox').style.width = newWidth + 'px';
	return false;
	if (document.all)
	{
		ev.cancelBubble = true;
		ev = false;
	}
	else
	{
		ev.preventDefault();
	}
}

function zoomStop()
{
	document.onmousemove = null;
	document.onmouseup   = null;
}

var oldnamecont = "";

function showName()
{
	if(httpObject.readyState == 4)
	{
		var texttoshow = httpObject.responseText;
		var activenumber = texttoshow.slice(-1);
		texttoshow = texttoshow.slice(0, -1);
		document.getElementById('namecontainer').innerHTML = texttoshow;
		changeGameTab('my', activenumber);
		if (texttoshow==alreadyexist || texttoshow==maxusers)
		{
			setTimeout("document.getElementById('namecontainer').innerHTML = oldnamecont", 2000);
		}
	}
}

function showAddGameBox(gameid)
{
	if (document.getElementById('zoom'))
	{
		var gameheight = document.getElementById('gamebox').style.height;
		var gamewidth = document.getElementById('gamebox').style.width;
		if (parseInt(gamewidth)>513)
		{
			var scalefactor = (513/parseInt(gamewidth));
			var newheight = (parseInt(gameheight)*scalefactor);
			document.getElementById('gamebox').style.height = newheight + "px";
			document.getElementById('gamebox').style.width = 513 + "px";
		}
	}
	else
	{
		document.getElementById('gamebox').style.visibility = "hidden";
	}
	document.getElementById('addtomygames').style.display = 'block';
	document.getElementById('show').style.display = 'none';
	document.getElementById('hide').style.display = 'block';
}

function hideAddGameBox(gameheight, gamewidth)
{
	if (document.getElementById('zoom'))
	{
		document.getElementById('gamebox').style.height = gameheight + 'px';
		document.getElementById('gamebox').style.width = gamewidth + 'px';
	}
	else
	{
		document.getElementById('gamebox').style.visibility = "visible";
	}
	document.getElementById('addtomygames').style.display = 'none';
	document.getElementById('show').style.display = 'block';
	document.getElementById('hide').style.display = 'none';
	document.getElementById('thenewname').value = '';
}

function addName(thename, gameid, whattodo)
{
	if (whattodo=="add")
	{
		httpObject = GetHTTPObject();
		if (httpObject != null)
		{
			oldnamecont = document.getElementById('namecontainer').innerHTML;
			if (thename=="")
			{
				thename = document.getElementById('thenewname').value;
				document.getElementById('thenewname').value = '';
			}
			var topost = "thename="+thename+"&gameid="+gameid+"&whattodo="+whattodo;
			httpObject.open("POST", "/php/addtomygames.php", true);
			httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
			httpObject.send(topost);
			httpObject.onreadystatechange = showName;
		}
	}
	else
	{
		if (confirm(whattodo))
		{
			httpObject = GetHTTPObject();
			if (httpObject != null)
			{
				var topost = "thename="+thename+"&gameid="+gameid+"&whattodo="+whattodo;
				httpObject.open("POST", "/php/addtomygames.php", true);
				httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
				httpObject.send(topost);
				httpObject.onreadystatechange = showName;
			}
		}
	}
}

function addGame(user, gameid, whattodo)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var topost = "user="+user+"&gameid="+gameid+"&whattodo="+whattodo;
		httpObject.open("POST", "/php/addtomygames.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = showName;
	}
}

function showTab()
{
	if(httpObject.readyState == 4)
	{
		document.getElementById('flikar').innerHTML = httpObject.responseText;
	}
}

function changeTab(whattab, whosegames)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var topost = "tab="+whattab+"&whosegames="+whosegames;
		httpObject.open("POST", "/php/flikar.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = showTab;
	}
}

function changeGameTab(whattab, whosegames)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var topost = "tab="+whattab+"&gamename="+gamename+"&whosegames="+whosegames;
		httpObject.open("POST", "/php/gameflikar.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = showTab;
	}
}

function showVote()
{
	if(httpObject.readyState == 4)
	{
		document.getElementById('ratingbox').innerHTML = httpObject.responseText;
		if (document.getElementById('totalratings').innerHTML==alreadyvoted)
		{
			setTimeout("document.getElementById('totalratings').innerHTML='"+totalratings+"'", 1500);
		}
		else
		{
			totalratings = document.getElementById('totalratings').innerHTML;
		}
	}
	else
	{
		document.getElementById('ratingbox').innerHTML = "<center><img src='/pics/ajax-loading.gif' alt='Loading' /></center>";
	}
}

function doVote(gameid, vote)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var topost = "gameid="+escape(gameid)+"&vote="+escape(vote);
		httpObject.open("POST", "/php/vote.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = showVote;
	}
}

function showResult() {
	if(httpObject.readyState == 4) {
		document.getElementById('refer').innerHTML = httpObject.responseText;
	}
}

function referaFriend() {
	var yourname = document.refer.yourname.value;
	var youremail = document.refer.youremail.value;
	var email = document.refer.email.value;
	if (yourname=="") {
		alert(nvalidname);
	}
	else if (youremail=="") {
		alert(nvalidmail);
	}
	else if (email=="") {
		alert(nvalidmail);
	}
	else {
		httpObject = GetHTTPObject();
		if (httpObject != null) {
			var topost = "yourname="+yourname+"&youremail="+youremail+"&email="+email;
			httpObject.open("POST", "/php/refer.php", true);
			httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
			httpObject.send(topost);
			httpObject.onreadystatechange = showResult;
		}
	}
}

function textFocus() {
	if (document.refer.email.style.color=="grey") {
		document.refer.email.style.color = "black";
		document.refer.email.value = "";
	}
}

function showmenu()
{
	document.getElementById('menubutton').innerHTML = '<img src="/pics/menu-hoover.gif" alt="Drop-Down Menu" />';
	document.getElementById('menudiv').style.display = 'block';
}

function hidemenu(event)
{
	if (document.getElementById('menudiv').style.display == 'block')
	{
		mouseX = event.clientX;
		mouseY = event.clientY;
		leftedge = document.getElementById('menudiv').offsetLeft + 1;
		rightedge = leftedge + document.getElementById('menudiv').offsetWidth - 1;
		topedge = document.getElementById('menudiv').offsetTop - 18;
		bottomedge = topedge + document.getElementById('menudiv').offsetHeight + 18;
		if (mouseX >= rightedge || mouseX <= leftedge || mouseY >= bottomedge || mouseY <= topedge)
		{
			document.getElementById('menubutton').innerHTML = '<img src="/pics/menu-standard.gif" alt="Drop-Down Menu" />';
			document.getElementById('menudiv').style.display = 'none';
		}
	}
}

function AddToMyGames(gameid, gamename, foldername, currentsixth, pageaddress)
{
	lagringstid=(1000*60*60*24*90);
	var datum = new Date();
	datum.setTime(datum.getTime() + lagringstid);
	datum=datum.toGMTString();
	datumsnutt="expires=" + datum + "; ";
	thecookie = document.cookie;
	thecookie = thecookie.split("; ");
	cookielength = thecookie.length;
	var counter = 0;
	var mygames = new Array();
	for (i = 0; i < cookielength; i++)
	{
		mygameid = thecookie[i].split("=");
		mygameid = mygameid[1];
		if (isFinite(escape(mygameid)))
		{
			mygames[counter] = mygameid;
			counter = counter + 1;
		}
	}
	numberofgamestosave = mygames.length;
	if (numberofgamestosave>29)
	{
		numberofgamestosave = 29;
	}
	for (i = 0; i < numberofgamestosave; i++)
	{
		mygameid = mygames[i];
		a = i + 1;
		document.cookie = "GameID[" + a + "]=" + mygameid + "; " + datumsnutt + "path=/; domain=." + pageaddress + ";";
	}
	document.cookie = "GameID[0]=" + escape(gameid) + "; " + datumsnutt + "path=/; domain=." + pageaddress + ";";
	document.getElementById('h1textright').innerHTML = "<a onclick=\"DeleteFromMyGames('" + gameid + "', '" + gamename + "', '" + foldername + "', '" + currentsixth + "', '" + pageaddress + "');\" style=\"cursor: pointer;\"><img src=\"/pics/mygamesdelete.png\" alt=\"-\" /></a>";
	var filename = gamename.toLowerCase();
	filename = filename.replace(/ /g, "-");
	document.getElementById('mygames' + gameid).innerHTML = "<div class='GameContainer'><div class='GameImage'><a href='/" + foldername + "/" + filename + ".htm' title='" + gamename + "'><img src='/img/" + gameid + ".gif'></a></div><div class='GameHeading'><a href='/" + foldername + "/" + gamename + ".htm' title='" + gamename + "'>" + gamename + "</a></div></div>";
	document.getElementById('mygames' + gameid).style.display = "block";
	if (document.getElementById('mygames' + currentsixth))
	{ document.getElementById('mygames' + currentsixth).style.display = "none"; }
}

function DeleteFromMyGames(gameid, gamename, foldername, currentseventhid, pageaddress)
{
	lagringstid=(1000*60*60*24*90);
	var datum = new Date();
	datum.setTime(datum.getTime() + lagringstid);
	datum=datum.toGMTString();
	datumsnutt="expires=" + datum + ";";
	thecookie = document.cookie;
	thecookie = thecookie.split("; ");
	cookielength = thecookie.length;
	var counter = 0;
	var mygames = new Array();
	for (i = 0; i < cookielength; i++)
	{
		mygameid = thecookie[i].split("=");
		mygameid = mygameid[1];
		if (isFinite(mygameid))
		{
			mygames[counter] = mygameid;
			counter = counter + 1;
		}
	}
	numberofgames = mygames.length;
	gamefound = 0;
	for (i = 0; i < numberofgames; i++)
	{
		mygameid = mygames[i];
		if (gamefound==0)
		{
			if (mygameid==escape(gameid))
			{
				document.cookie = "GameID[" + i + "]=" + mygameid + "; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=." + pageaddress + ";";
				gamefound = 1;
				a = i + 1;
				if (mygames[a])
				{
					nxtgameid = mygames[a];
					document.cookie = "GameID[" + a + "]=" + mygames[a] + "; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=." + pageaddress + ";";
					document.cookie = "GameID[" + i + "]=" + nxtgameid + "; " + datumsnutt + "path=/; domain=." + pageaddress + ";";
				}
			}
		}
		else
		{
			a = i + 1;
			if (mygames[a])
			{
				nxtgameid = mygames[a];
				document.cookie = "GameID[" + a + "]=" + mygames[a] + "; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=." + pageaddress + ";";
				document.cookie = "GameID[" + i + "]=" + nxtgameid + "; " + datumsnutt + "path=/; domain=." + pageaddress + ";";
			}
		}
	}
	document.getElementById('h1textright').innerHTML = "<a onclick=\"AddToMyGames('" + gameid + "', '" + gamename + "', '" + foldername + "', '" + currentseventhid + "', '" + pageaddress + "');\" style=\"cursor: pointer;\"><img src=\/pics/mygames.png\" alt=\"+\" /></a>";
	document.getElementById('mygames' + gameid).innerHTML = "";
	document.getElementById('mygames' + gameid).style.display = "none";
	if (document.getElementById('mygames' + currentseventhid))
	{ document.getElementById('mygames' + currentseventhid).style.display = "block"; }
}

function mgShowContent()
{
	if(httpObject.readyState == 4)
	{
		document.getElementById('pagecontent').innerHTML = httpObject.responseText;
	}
}

function mgShowGames(page, gameid, whichselect)
{
	httpObject = GetHTTPObject();
	if (httpObject != null)
	{
		var user = document.getElementById('nameselecter').value;
		if (document.getElementById('orderby'))
		{
			if (whichselect==1)
			{
				var order = document.getElementById('orderby').value;
			}
			else
			{
				var order = document.getElementById('orderbybottom').value;
			}
		}
		else
		{
			var order = "date";
		}
		var topost = "user="+escape(user)+"&page="+escape(page)+"&order="+escape(order)+"&delete="+escape(gameid);
		httpObject.open("POST", "/php/mygames.php", true);
		httpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
		httpObject.send(topost);
		httpObject.onreadystatechange = mgShowContent;
	}
}