/*************************************************
Numpad ©Copyright 2007 - bezumie.com, All Rights Reserved
Numpad, ©Copyright 2007 - bezumie.com, Âñè÷êè ïðàâà çàïàçåíè
**************************************************/
var gameIsOver = true;
var score;
var currentKey;

function SetCookie(name, value, expires, path, domain, secure){
	var today = new Date();
	today.setTime(today.getTime());
	if (expires) expires = expires * 1000 * 60 * 60 * 24;
	else expires = 0;
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name + "=" + escape(value) +
	((expires) ? ";expires=" + expires_date.toGMTString() : "") +
	((path) ? ";path=" + path : "") + 
	((domain) ? ";domain=" + domain : "") +
	((secure) ? ";secure" : "");
}

function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name, DefaultVal) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break; 
	}
	return DefaultVal;
}

function rand(a, b) {
	return Math.floor(Math.random() * (b - a + 1) + a);
}

function init(){
	gameIsOver = true;
	document.getElementById('click2play').style.display = 'block';
	document.getElementById('gameOver1').style.display = 'none';
	document.getElementById('gameOver2').style.display = 'none';
	window.document.onkeydown = keyPress;
}

function startGame(){
	for (var i = 1; i <=9; i++) hideKey(i);
	document.getElementById('click2play').style.display = 'none';
	document.getElementById('gameOver1').style.display = 'none';
	document.getElementById('gameOver2').style.display = 'none';
	gameIsOver = false;
	currentKey = 0;
	score = 0;
	showScore(score);
	setTimeout("loop()", 1000);
}

function loop(){
	if (gameIsOver) return ;
	if (currentKey){
		gameOver(2);
		return;
	}
	currentKey = rand(1, 9);
	showKey(currentKey);
	setTimeout("loop()", 1000 - (score * 10));
}

function keyPress(e){
	var ch;
	var ctrl=false;
	if (e) { // Netscape/Firefox/Opera
		ch=e.which;
		ctrl=((e.ctrlKey) || (e.metaKey) || (e.altKey) || (e.modifiers));
	}
	else if (window.event) { // IE  
		ch=window.event.keyCode;
		ctrl= ((window.event.ctrlKey) || (window.event.altKey) || (window.event.metaKey));
	}
	else return true;
	if (ctrl) return true;
	if (gameIsOver){
		if (ch == 32) startGame();
		return ;
	}
	
	switch (ch){
		case 97:
		case 49:
		case 35: pressed(1); break;
		case 98:
		case 50:
		case 40: pressed(2); break;
		case 99:
		case 51:
		case 34: pressed(3); break;
		case 100:
		case 52:
		case 37: pressed(4); break;
		case 101:
		case 53:
		case 12: pressed(5); break;
		case 102:
		case 54:
		case 39: pressed(6); break;
		case 103:
		case 55:
		case 36: pressed(7); break;
		case 104:
		case 56:
		case 38: pressed(8); break;
		case 105:
		case 57:
		case 33: pressed(9); break;
	}
}

function pressed(num){
	if (num == currentKey){
		currentKey = 0;
		hideKey(num);
		score++;
		showScore(score);
	}
	else{
		gameOver(1);
	}
}

function showKey(num){
	document.getElementById('t_' + num).style.display = 'block';
}

function hideKey(num){
	document.getElementById('t_' + num).style.display = 'none';
}

function gameOver(type){
	gameIsOver = true;
	document.getElementById('gameOver' + type).style.display = 'block';
	var ts = GetCookie('numpad_topScore', 0);
	if (score > ts) {
		SetCookie('numpad_topScore', score);
		document.getElementById('top').innerHTML = score;
	}
}

function showScore(sc){
	score = sc;
	document.getElementById('score').innerHTML = score;
}