var intGame = 0;
var intPanel = new Array(40);
var intStack = new Array(40);
var intGameTID = -1;
var intCount = 0;
var intMiss = 0;
var intTime = 0;
var strColor = new Array("#ff0000", "#ff8000", "#ffff00", "#00ff00", "#0000ff");

function clickPanel(intID)
{
	if (intGame != 1) return false;
	if (intID < 30) return false;
	if (intPanel[intID] == 0)
	{
		intPanel[intMiss + 35] = 1;
		intMiss++;
		showPanel();
	}
	if (intMiss == 5)
	{
		intGameTID = clearInterval(intGameTID);
		intGame = 0;
		alert("ゲーム オーバーです。 5 回ミスしてしまいました！");
		return false;
	}
	intPanel[intID] = 0;
	if (showPanel())
	{
		intGameTID = clearInterval(intGameTID);
		intGame = 0;
		alert("ゲーム クリアです。 おめでとうございます！");
	}
	return true;
}

function movePanel()
{
	var i = 0;
	for (i = 30; i < 35; i++) if (intPanel[i] == 1)
	{
		intPanel[intMiss + 35] = 1;
		intMiss++;
	}
	for (i = 29; i >= 0; i--) intPanel[i + 5] = intPanel[i];
	for (i = 0; i < 5; i++) intPanel[i] = 0;
	intCount++;
	setPanel();
	showPanel();
	if (intMiss == 5)
	{
		intGameTID = clearInterval(intGameTID);
		intGame = 0;
		alert("ゲーム オーバーです。 5 回ミスしてしまいました！");
		return false;
	}
	if (intCount % 10 == 0)
	{
		intGameTID = clearInterval(intGameTID);
		intTime = Math.floor(intTime * 0.95);
		intGameTID = setInterval("movePanel()", intTime);
	}
	return true;
}

function setPanel()
{
	if (intCount >= 200) return false;
	intPanel[Math.floor(Math.random() * 5)] = 1;
	return true;
}

function showPanel()
{
	var i = 0;
	var j = 1;
	for (i = 0; i < 40; i++)
	{
		if (intPanel[i] != intStack[i]) if (intPanel[i] == 0) document.getElementById("divPanel" + i).style.backgroundColor = "#000000"; else document.getElementById("divPanel" + i).style.backgroundColor = strColor[i % 5];
		if (i < 35 && 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;
	intGameTID = clearInterval(intGameTID);
	intGame = 2;
	for (i = 0; i < 40; i++)
	{
		intPanel[i] = 0;
		intStack[i] = -1;
	}
	intCount = 0;
	intMiss = 0;
	intTime = 1000;
	setPanel();
	showPanel();
	intGame = 1;
	alert("ゲームをスタートします。");
	intGameTID = setInterval("movePanel()", intTime);
}

