function num_format(word, num) {
	if(num != 1)
		word = word + 's';
	return num + ' ' + word;
}
function update_clock() {
    var elem = document.getElementById('clock');
	if(elem == null)
		return;
    var d = new Date();
    d = d.getTime();
    var dt = 1183165200 - Math.floor(d/1000);
    if(dt < 0)
        elem.innerHTML = 'Behold the era of iPhone';
    else
        elem.innerHTML = num_format('day',Math.floor(dt/86400)) + ', ' + num_format('hour',Math.floor((dt%86400)/3600)) + ', ' + num_format('minute',Math.floor((dt%3600)/60)) + ', ' + num_format('second',(dt%60)) + '.';
}
setInterval('update_clock()',1000);

var movetime = null;
var gametime = null;
var move = null;
var game = null;
var lost = null;
var player = null;

function end_turn() {
	if(lost[0] || lost[1])
		return;
	if(move[player] > 0)
		game[player] += move[player];
	move[player] = movetime;
	show_player(player);
	if(player == 0)
		player = 1;
	else
		player = 0;
}

function tick() {
	if(lost[0] || lost[1])
		return;
	move[player]--;
	if(move[player] < 0)
		game[player]--;
	check_lost(player);
	show_player(player);
}

function check_lost(player) {
	if(game[player] <= 0) {
		game[player] = 0;
		lost[player] = true;
	}
}

function show_player(player) {
	var m = $('move' + player);
	m.innerHTML = move[player];
	if(move[player] <= 0)
		addElementClass(m, 'error');
	else
		removeElementClass(m, 'error');
	var g = $('game' + player);
	g.innerHTML = game[player];
	if(game[player] <= 0)
		addElementClass(g, 'error');
	else
		removeElementClass(g, 'error');
}

function init_chess(mt, gt) {
	movetime = mt;
	gametime = gt;
	move = [ movetime, movetime ];
	game = [ gametime, gametime ];
	lost = [ false, false ];
	player = 0;
	show_player(0);
	show_player(1);
	setInterval('tick()',1000);
}
