
var refresh1;
var refresh2;
var refresh3;

var game_last_response = '';
var last_uri_submitted = '';

//setInterval ("runCrucial()", 500);

function runCrucial()
{
	//var a;
	//document.getElementById('debug').innerHTML = ajaxQueue;
//	if (ajaxRunning) return false;
	if (document.getElementById('keys').value != "" && last_uri_submitted != document.getElementById('keys').value + document.getElementById('values').value)
	{
		last_uri_submitted = document.getElementById('keys').value + document.getElementById('values').value;
		sendReqQ('retryIfError', 'request.php', document.getElementById('keys').value, document.getElementById('values').value);
	}
}

function toggleRefresh(element, turnBool)
{
	//alert(element);
	if (element == "p1")
	{
		if (turnBool == "1") {
			refresh1 = window.setInterval("sendReqQ('loadPlayer1', 'request.php', 'action,game_id', 'p1,'+document.getElementById('game_id').value)", 2000);
			//alert(refresh1);
		} else {
			alert('clearing ' + refresh1);	
			window.clearInterval(refresh1);		
		}
	}
	else if (element == "p2")
	{
		if (turnBool == "1") {
			refresh2 = window.setInterval("sendReqQ('loadPlayer2', 'request.php', 'action,game_id', 'p2,'+document.getElementById('game_id').value)", 2000);
		} else{
			window.clearInterval(refresh2);		}
		//alert(refresh1);
	}
	else if (element == "a")
	{
		if (turnBool == "1") {
			refresh3 = window.setInterval("sendReqQ('loadAction', 'request.php', 'action,game_id', 'action,'+document.getElementById('game_id').value)", 2000);
		} else{
			window.clearInterval(refresh3);		}
	}
	else if (element == "game")
	{
		if (turnBool == "1") {
			refresh3 = window.setInterval("sendReqQ('showPanel', 'request.php', 'action,game_id', 'game,'+document.getElementById('game_id').value)", 2000);
		} else{
			window.clearInterval(refresh3);		}
	}

}

function listChallengablePlayers()
{
	if(http.readyState == 4){
		if (http.status == 200)
		{
			responseText = http.responseText;
			object = document.getElementById('challengable_players');
			if (object.innerHTML != responseText)
			{
				object.innerHTML = responseText;
			}
		}
		ajaxRunning = false;
	} 
}

function listChallengeMe()
{
	if(http.readyState == 4){
		if (http.status == 200)
		{
			responseText = http.responseText;
			object = document.getElementById('challenge_me');
			if (object.innerHTML != responseText)
			{
				object.innerHTML = responseText;
			}
		}
		ajaxRunning = false;
	} 
}

function loadPlayer1()
{
	if(http.readyState == 4){
		if (http.status == 200)
		{
			//var xmldoc = http.responseXML;
			//var root = xmldoc.getElementsByTagName('root').item(0);
			responseText = http.responseText;
			object = document.getElementById('player1');
			//alert(object);
			//var xmldoc = http.responseXML;
			//document.getElementById('debug').innerHTML = xmldoc.getElementByTagName('html').item(0);
			//document.getElementById('debug').innerHTML = xmldoc.getElementByTagName('html');
			//object.innerHTML = responseText + object.innerHTML;
			//var xmldoc = http.responseXML;
			//document.getElementById('debug').innerHTML = xmldoc.getElementByTagName('html').item(0);
			//document.getElementById('debug').innerHTML = root;
			//var response  = http.responseXML;
			//document.getElementById('debug').innerHTML = responseText.getElementByTagName('html');
			//var message = http.responseXml.getElementsByTagName("html")[0];
			//document.getElementById('debug').innerHTML = "abc"+http.responseXML.getElementByTagName('html').item(0);
			/*var a = responseText.split("<script>",1);
			alert(a[1])
			if (a[1])
			{
				//a = a[0].split("<script>", 1);
				//alert(a[1]);
				//document.getElementById('debug').innerHTML = a[0];
			}*/
			
			if (object.innerHTML != responseText)
			{
				object.innerHTML = responseText;
			}
			ajaxRunning = false;
			
			
			
			
			
			
			
			//alert(http.responseXML);
			return true;
			/*var x = http.responseXML.getElementsByTagName('emperor');
			var newEl = document.createElement('TABLE');
			newEl.setAttribute('cellPadding',5);
			var tmp = document.createElement('TBODY');
			newEl.appendChild(tmp);
			var row = document.createElement('TR');
			for (j=0;j<x[0].childNodes.length;j++)
			{
				if (x[0].childNodes[j].nodeType != 1) continue;
				var container = document.createElement('TH');
				var theData = document.createTextNode(x[0].childNodes[j].nodeName);
				container.appendChild(theData);
				row.appendChild(container);
			}
			tmp.appendChild(row);
			for (i=0;i<x.length;i++)
			{
				var row = document.createElement('TR');
				for (j=0;j<x[i].childNodes.length;j++)
				{
					if (x[i].childNodes[j].nodeType != 1) continue;
					var container = document.createElement('TD');
					var theData = document.createTextNode(x[i].childNodes[j].firstChild.nodeValue);
					container.appendChild(theData);
					row.appendChild(container);
				}
				tmp.appendChild(row);
			}
			document.getElementById('debug').appendChild(newEl);*/
		} 
		
	} 
}

function loadPlayer2()
{
	if(http.readyState == 4){
		if (http.status == 200)
		{
			responseText = http.responseText;
			object = document.getElementById('player2');
			//alert(object);
			//document.getElementById(objectId).innerHTML = responseText + document.getElementById(objectId).innerHTML;
			if (object.innerHTML != responseText)
			{
				object.innerHTML = responseText;
			}
		}
		ajaxRunning = false;
	} 
}

function loadAction()
{
	if(http.readyState == 4){
		if (http.status == 200)
		{
			responseText = http.responseText;
			object = document.getElementById('action');
			//alert(object);
			//document.getElementById(objectId).innerHTML = responseText + document.getElementById(objectId).innerHTML;
			//alert(object.innerHTML);
			if (object.innerHTML != responseText)
			{
				object.innerHTML = responseText;
				//alert(document.getElementById('runMe').innerHTML);
				//eval(document.getElementById('runMe').innerHTML);
			}
			ajaxRunning = false;
			
			/*var a = responseText.split("</script>",1);
			
			if (a[0])
			{
				//a = a[0].split("<script>", 1);
				//alert(a[0]);
				//document.getElementById('debug').innerHTML = a[0];
			}*/
			/*var a = responseText.split("111",1);
			alert(a[1])
			if (a[1])
			{
				//a = a[0].split("<script>", 1);
				//alert(a[1]);
				//document.getElementById('debug').innerHTML = a[0];
			}*/
			
		} 
		
	} 
}

function showPanel()
{
	try
	{
		if(http.readyState == 4){
			if (http.status == 200)
			{
				responseText = http.responseText;
				object = document.getElementById('game');
				//alert(object);
				//document.getElementById(objectId).innerHTML = responseText + document.getElementById(objectId).innerHTML;
				if (game_last_response != responseText)
				{
					object.innerHTML = responseText;
					game_last_response = responseText;
				}
			}
			ajaxRunning = false;
		} 
	}
	catch(e)
	{
		//alert(e);
		ajaxRunning = false;
	}
}

function nothing()
{
	try
	{
		if(http.readyState == 4){
			if (http.status == 200)
			{
				responseText = http.responseText;
				//object = document.getElementById('debug');
				//alert(object);
				//document.getElementById(objectId).innerHTML = responseText + document.getElementById(objectId).innerHTML;
				document.getElementById('debug').innerHTML = responseText;
				//if (object.innerHTML != responseText)
				//{
					//object.innerHTML = responseText;
				//}
				//alert(responseText);
				
			}
			ajaxRunning = false;
		} 
	}
	catch(e)
	{
		//alert(e);
		ajaxRunning = false;
	}
}

function retryIfError()
{
	try
	{
		if(http.readyState == 4){
			if (http.status == 200)
			{
				responseText = http.responseText;
				//object = document.getElementById('debug');
				//alert(object);
				//document.getElementById(objectId).innerHTML = responseText + document.getElementById(objectId).innerHTML;
				//if (object.innerHTML != responseText)
				//{
					//object.innerHTML = responseText;
				//}
				//alert(responseText);
				document.getElementById('keys').value = "";
				document.getElementById('values').value = "";
				last_uri_submitted = '';
			}
			/*else
			{
				alert('retrying...');
			}*/
			ajaxRunning = false;
			last_uri_submitted = '';
			
		} 
		}
	catch(e)
	{
		//alert(e);
		ajaxRunning = false;
	}
}

function action(keys, values)
{
//alert(values);
	document.getElementById('keys').value = keys + ",game_id";
	document.getElementById('values').value = values + "," + document.getElementById('game_id').value;
	last_uri_submitted = '';
	document.getElementById('status_loading').style.visibility = "visible";
	
	//alert(document.getElementById('keys').value);
	//alert(document.getElementById('values').value);
	//sendReqQ('nothing', 'request.php', 'game_id,'+keys, document.getElementById('game_id').value+','+values);
}

function displayProgress()
{
	if (document.getElementById('keys').value != "")
	{
		object = document.getElementById('status_loading');
		//object.innerHTML = object.visibility + "loading";
		object.style.visibility = "visible";
	}
}

function checkQueue()
{
	try
	{
		if(http.readyState == 4){
			if (http.status == 200)
			{
				responseText = http.responseText;
				//document.getElementById('debug').innerHTML = responseText;
				if (responseText > 0)
				{
					window.location = "index.php?do=loadGame&id="+responseText;
				}
				
			}
			ajaxRunning = false;
		} 
	}
	catch(e)
	{
		//alert(e);
		ajaxRunning = false;
	}
}