var intGame = 0;
var intPanel = new Array(25);
var intStack = new Array(25);

function changePanel(intID)
{
	if (getPanel(intID, 0, -1)) changePanelNext(intID, 0, -1);
	if (getPanel(intID, -1, 0)) changePanelNext(intID, -1, 0);
	if (getPanel(intID, 0, 0)) changePanelNext(intID, 0, 0);
	if (getPanel(intID, 1, 0)) changePanelNext(intID, 1, 0);
	if (getPanel(intID, 0, 1)) changePanelNext(intID, 0, 1);
	return true;
}

function changePanelNext(intID, intX, intY)
{
	var i = intID + intX + intY * 5;
	intPanel[i] = 1 - intPanel[i];
	return true;
}

function clickPanel(intID)
{
	if (intGame != 1) return false;
	if (changePanel(intID)) if (showPanel())
	{
		intGame = 0;
		alert("ゲーム クリアです。 おめでとうございます！");
	}
	return true;
}

function getPanel(intID, intX, intY)
{
	if (intID % 5 + intX < 0) return false;
	if (intID % 5 + intX > 4) return false;
	if (Math.floor(intID / 5) + intY < 0) return false;
	if (Math.floor(intID / 5) + intY > 4) return false;
	return true;
}

function showPanel()
{
	var i = 0;
	var j = 1;
	for (i = 0; i < 25; i++)
	{
		if (intPanel[i] != intStack[i]) if (intPanel[i] == 0) document.getElementById("divPanel" + i).style.backgroundColor = "#000000"; else document.getElementById("divPanel" + i).style.backgroundColor = "#ff0000";
		if (intPanel[i] != 0) j = 0;
		intStack[i] = intPanel[i];
	}
	return j == 1;
}

function startGame()
{
	if (!blnLoadComplete)
	{
		alert("ページの読み込みが完了するまで、しばらくお待ちください。");
		return false;
	}
	if (intGame == 2) return false;
	var i = 0;
	if (intGame == 1) if (!confirm("現在のゲームを中断して、再スタートしますか？")) return true;
	intGame = 2;
	for (i = 0; i < 25; i++)
	{
		intPanel[i] = 0;
		intStack[i] = -1;
	}
	for (i = 0; i < 10; i++) changePanel(Math.floor(Math.random() * 25) % 25);
	showPanel();
	intGame = 1;
	alert("ゲームをスタートします。");
}

