
//document.getElementById("center").style.display = 'none';

//netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserRead');

var rootdomain="http://"+window.location.hostname+"/pokersquare/";
var noclicky = false;

function ajaxload(url, parameters, containerid, callback)
{
	var page_request = false;
	var clbk = callback;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest();
	else if (window.ActiveXObject)
	{ // if IE
		try
		{
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e)
		{
			try
			{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
		}
	}
	else
		return false;
	
	// Only send post data if needed.
	if(parameters != null)
	{
		page_request.open('POST', rootdomain + url, true);
		page_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		page_request.setRequestHeader("Content-length", parameters.length);
		page_request.setRequestHeader("Connection", "close");

		page_request.onreadystatechange=function()
			{
					if(containerid == 'wswordlist')
							loadwordlist(page_request);
					else
							loadpage(page_request, containerid);

				if(callback != null)
				{
					if (page_request.readyState == 4)
					{
							callback(page_request, containerid);
				}
				}
			}
	}
	else
	{
		page_request.open('GET', rootdomain + url, false);
	}

	page_request.send("");
	
	if(callback != null)
	{
		callback(page_request, containerid);
	}
}

function ev_getElementByName(elName)
{
	// all elements ID and NAME are kept the same and unique
	var el = null;
	if (document.getElementById)
	{
		el = document.getElementById(elName);
	}
	else
	{
		// Pocket IE: getElementById is not available
		// Walk through all forms and elements
		for (var j=0; j<document.forms.length; j++)
		{
			if (document.forms[j].name == elName)
			{
				el = document.forms[j];
				break;

			}

			for (var i=0;i<document.forms[j].elements.length;i++)
			{
				if (document.forms[j].elements[i].name == elName)
				{
					el = document.forms[j].elements[i];
					break;
				}
			}
		}
	}

	return el;
}

function loadpage(page_request, containerid)
{
	if (page_request.readyState == 4)
	{
		if(containerid != null)
		{
			document.getElementById(containerid).innerHTML=page_request.responseText;
			noclicky = false;
		}
	}
}

function ajaxpost(url, formname, containerid, callback)
{
	var fields = new Array();

	if(formname)
	{
		var ajax = formname;
	}
	//loop through form elements and retrieve field NAMEs and Values
	for (var x = 0; x < eval("document."+ajax+".elements.length"); x++)
	{
		// join them into a string.
		eval("fields.push(document."+ajax+".elements[x].name+'='+document."+ajax+".elements[x].value)");
	}
	var sendf = fields.join('&');

	ajaxload(url,sendf,containerid,callback);
}

// Timer events
var stimecount = 0;
var wltimecount = 0;
var putimecount = 0;

function loadgameboard(req, containerid)
{

	if (req.readyState == 4 && req.status==200)
	{
		var cardid = '';
		var cardrank = 0;
		var cardsuit = 0;

		for(n = 1; n <= 25; n++)
		{
			cardid = "cp"+n;
			psgb[n-1] = req.responseXML.getElementsByTagName(cardid)[0].firstChild.data;

			if(psgb[n-1] > 0)
			{
				cardrank = ranks.charAt((psgb[n-1] - 1) % 13);
				cardsuit = suits.charAt((psgb[n-1] - 1) / 13);
				if(document.getElementById)
				{
					place = document.getElementById('c'+n+'img');
					place.src = eval("card" + cardrank + cardsuit + ".src");
				}
				else
				{				
					eval("c"+n+"img").src = eval("card" + cardrank + cardsuit + ".src");
				}
			}
			else
			{
				if(document.getElementById)
				{	
					place = document.getElementById('c'+n+'img');
					place.src = cp.src;
				}
				else
				{
					eval("c"+n+"img").src = cp.src;
				}
			}
		}
	}
}

function publish(req, containerid)
{
	//document.getElementById(containerid).innerHTML='<img class="psnc" id="psnci" src="gfx/cardplace.gif" alt="psnc" />'; //req.responseText;
	eval(containerid).innerHTML=req.responseText;
	//alert("inpub");
	noclicky = false;
}

function getscore()
{
	if(stimecount == 0) return;
	stimecount-=1;
	ajaxload('wsscore.php',null,'wsscore', publish);
	setTimeout('getscore()', 2000);
}

function publishscore(req, containerid)
{
	var score = req.responseXML.getElementsByTagName("score")[0].firstChild.data;

	var num1 = score.charAt(0);
	var num2 = score.charAt(1);
	var num3 = score.charAt(2);

	if(document.getElementById)
	{
		sbs1i = document.getElementById('sbs1i');
		sbs2i = document.getElementById('sbs2i');
		sbs3i = document.getElementById('sbs3i');
	}

	sbs1i.src = blnk.src;
	sbs2i.src = blnk.src;
	sbs3i.src = blnk.src;

	if(num1 == 0)
	{
		/* 2 digits or less */
		if(num2 == 0)
		{
			/* single digit */
			sbs3i.src = eval("tile" + num3 + ".src");
		}
		else
		{
			/* 2 digits */
			sbs2i.src = eval("tile" + num2 + ".src");
			sbs3i.src = eval("tile" + num3 + ".src");
		}
		
	}
	else
	{
		/* 3 digits */
		sbs1i.src = eval("tile" + num1 + ".src");
		sbs2i.src = eval("tile" + num2 + ".src");
		sbs3i.src = eval("tile" + num3 + ".src");
	}
}

function publishag(req, containerid)
{
	var gamesactive = req.responseXML.getElementsByTagName("active")[0].firstChild.data;

	if(gamesactive == 1)
	{
		document.getElementById(containerid).innerHTML = gamesactive + " Game Active";
	}
	else
	{
		document.getElementById(containerid).innerHTML = gamesactive + " Games Active";
	}
}

function pupubscore(req, containerid)
{
	nltrout(req, containerid);
	noclicky = false;
	ajaxload('psscore.php',null,null, publishscore);
}

function pupubwl(req, containerid)
{
		//document.getElementById(containerid).innerHTML=req.responseText;
	nltrout(req, containerid);
	noclicky = false;
	//ajaxload('/php/wswl.php',null,'wswordlist', pupubscore);
}

function playupdate()
{
	ajaxload('psgnc.php',null,'wsnextletter', pupubscore);
}

function starttimers()
{
	refreshboard();
	setTimeout('playupdate()', 50);
}

var ranks = "a23456789tjqk";
var suits = "schd";
var psgb = new Array();
var psgameover = 1;

function ltrout(req, containerid)
{
	var letterxml = req.responseXML.getElementsByTagName("card");
	if(letterxml.length > 0)
	{
		var card = req.responseXML.getElementsByTagName("card")[0].firstChild.data;
		var cardrank = ranks.charAt((card - 1) % 13);
		var cardsuit = suits.charAt((card - 1) / 13);
		//eval(containerid+"img").src = eval("card" + cardrank + cardsuit + ".src");
		if(document.getElementById)
		{
			place = document.getElementById(containerid+"img");
			place.src = eval("card" + cardrank + cardsuit + ".src");
		}
		else
		{
			eval(containerid+"img").src = eval("card" + cardrank + cardsuit + ".src");
		}
	}
}

function nltrout(req, containerid)
{
	var gameover = req.responseXML.getElementsByTagName("gameover");

	//eval(containerid+'.innerHTML=req.responseText;');
	if(gameover.length > 0)
	{
		if(document.getElementById)
		{
			psnci = document.getElementById('psnci');
		}

		psnci.src = ng.src; //eval("tile" + letter + ".src");
		psgameover = 1;
	}
	else
	{
		psgameover = 0;
		var card = req.responseXML.getElementsByTagName("card")[0].firstChild.data;
		var cardrank = ranks.charAt((card - 1) % 13);
		var cardsuit = suits.charAt((card - 1) / 13);
		if(document.getElementById)
		{
			psnci = document.getElementById('psnci');
		} 
		psnci.src = eval("card" + cardrank + cardsuit).src;
	}
}

var ltrpos = 0;
function test()
{
	ajaxload('pspc.php?p='+ltrpos,null,'c'+ltrpos, ltrout);
	playupdate();
}

function placecard(pos)
{
	if(noclicky == true) return;
	noclicky = true;
	if(psgameover == 1) {alert("Game Over"); return;}

	if(document.getElementById)
	{
		place = document.getElementById('c'+pos+'img');
		psnci = document.getElementById('psnci');
		place.src = psnci.src;
	}
	else
	{
		eval('c'+pos+'img').src = psnci.src;
	}

	//document.getElementById('c'+pos+'img').onclick='';
	psnci.src = cb.src;
	//ajaxload('/php/wspl.php?p='+pos,null,'p'+pos, ltrout);
	//playupdate();
	ltrpos = pos;
	//ajaxload('pspc.php?p='+ltrpos,null,'c'+ltrpos, ltrout);
	//playupdate();
	setTimeout(test, 50);
}

function refcard(ref, containerid)
{
	publish(ref, containerid);
	//setTimeout(refscore, 50);
	ajaxload('psgnc.php',null, null, refscore);
}

function refscore(ref, containerid)
{
	nltrout(ref, containerid);
	ajaxload('psscore.php',null,'wsscore', publishscore);
	sng=0;
}

function refreshboard()
{
	//document.getElementById("wscenter").style.display = "none";
	//ajaxload('psgame.php', null, 'wscenter', refcard); //eublish);
	//pssst.innerHTML='';
	ajaxload('psgb.php', null, null, loadgameboard);
//	ajaxload('psgame.php', null, 'pssst', refcard); //publish);
	//setTimeout(refcard, 50);
	ajaxload('psgnc.php',null, null, nltrout);
	ajaxload('psscore.php',null,'wsscore', publishscore);
	//ajaxload('psag.php', null, 'gactive', publishag);
	//document.getElementById("wscenter").style.display = "";
}

function refboard(ref, containerid)
{
	//document.getElementById("wscenter").style.display = "none";
	ajaxload('psgame.php', null, 'wscenter', refcard); //publish);
//	ajaxload('psgnc.php',null, null, nltrout);
//	ajaxload('psscore.php',null,'wsscore', publishscore);
	//ajaxload('psag.php', null, 'gactive', publishag);
	//document.getElementById("wscenter").style.display = "";
}

function gameofday()
{
	ajaxload('pssetgod.php', null, null, null);

	refreshboard();

	document.getElementById("wswordlist").innerHTML = '';
}

function gameofdayinfo()
{
	ajaxload('psgod.php', null, 'wscenter', publish);
}

var sng = 0;
function startnewgame()
{
	
	ajaxload('psng.php',null,null, null);
	//setTimeout(refreshboard, 50);
	refreshboard();
}

function confirmnewgame(req, containerid)
{
	var gameover = req.responseXML.getElementsByTagName("gameover")[0].firstChild.data;

	if(gameover == 'true')
	{
		startnewgame();
	}
	else
	{
		 alert("You must complete the current game before starting a new one.");
	}
}

function confirmgd(req, containerid)
{
	var gameover = req.responseXML.getElementsByTagName("gameover")[0].firstChild.data;

	if(gameover == 'true')
	{
		gameofday();
	}
	else
	{
		alert("You must complete the current game before starting a new one.");
	}
}

function checkgameover()
{
	ajaxload('pschgo.php', null, null, confirmnewgame);
	//startnewgame();
}

function chgogod()
{
	ajaxload('pschgo.php', null, null, confirmgd);
}

function howtoplay()
{
	// Bring up a how to play panel in place of the gameboard.
	ajaxload('pshtp.php', null, 'wscenter', publish);
}

function highscores()
{
	ajaxload('pshs.php', null, 'wscenter', publish);
}

function wsstats()
{
	ajaxload('psstat.php', null, 'wscenter', publish);
}

function wspstats()
{
	ajaxload('pspstat.php', null, 'wscenter', publish);
}

