var state = new Object()
state.pogingen = 0
state.fout = 0
state.pressed = new Array()
var kleurGekozenLetter

function press(key, state)
{
	if (state.playing)
	{
		if (!inArray(key.value, state.pressed))
		{
			state.pressed[state.pogingen++] = key.value
			if (!goodGuess(key.value, state) && key.style.color != kleurGekozenLetter)
			{
				if (state.fout < 6)
				{
					document.galg.src = 'galg' + ++state.fout + '.gif'
				}
				else
				{
					document.galg.src = 'galg_lost.gif'
					state.getoond = state.woord
					einde(state)
				}
			}
			else
			{
				if (state.woord == state.getoond)
				{
					document.galg.src = 'galg_won.gif'
					einde(state)
				}
			}
			document.formulier.woord.value = state.getoond
			key.style.color = '#d3d3d3'
			kleurGekozenLetter = key.style.color
		}
	}
}

function refresh()
{
	f = document.formulier
	location.href = 'http://' + location.hostname + location.pathname + '?gebrTaal=' + f.gebrTaal.value + '&taalKeuze=' + f.taalKeuze.value
}

function inArray(a, value)
{
	for (var i = 0; i < a.length; i++)
	{
		if (a[i] == value)
		{
			return true
		}
	}
	return false
}

function isEquiv(tLetter, wLetter)
{
	if (tLetter == wLetter)
	{
		return true
	}
	switch (tLetter)
	{
		case "A": return "ÀÁÂÃÄÅ".indexOf(wLetter) != -1
		case "C": return wLetter == "Ç"
		case "E": return "ÈÉÊË".indexOf(wLetter) != -1
		case "I": return "ÌÍÎÏ".indexOf(wLetter) != -1
		case "N": return wLetter == "Ñ"
		case "O": return "ÒÓÔÕÖ".indexOf(wLetter) != -1
		case "U": return "ÙÚÛÜ".indexOf(wLetter) != -1
		case "Ι": return wLetter == "Ϊ"
		case "Υ": return wLetter == "Ϋ"
		default: return false
	}  
}

function goodGuess(letter, state)
{
	var vGetoond = state.getoond
	state.getoond = ''
	var r = false
	for (var i = 0; i < state.woord.length; i++)
	{
		if (isEquiv(letter, state.woord.substr(i, 1)))
		{
			state.getoond += state.woord.substr(i, 1)
			r = true
		}
		else
		{
			state.getoond += vGetoond.substr(i, 1)
		}
	}
	return r
}

function toonTijd(state)
{
	document.formulier.klok.value = fmtTijd(state.tijd)
	state.tijd = state.tijd - 500
	if (state.tijd <= 0)
	{
		document.galg.src = 'galg_lost.gif'
		document.formulier.woord.value = state.woord
		einde(state)
	}
}

function fmtTijd(tijd)
{
	var min = Math.floor(tijd / 60000)
	var sec = Math.floor((tijd - min * 60000) / 1000)
	return min + ':' + (sec > 9  ? sec : '0' + sec)
}

function einde(state)
{
	clearInterval(state.intervalId)
	state.playing = false
}
