var tab = new Array(10);
var tmp = new Array(10);
	
for (i=0;i<10;i++) {
	tab[i] = new Array(10);
	tmp[i] = new Array(10);
}

function randomTab() {
	for (var y=0;y<10;y++) {
		for (var x=0;x<10;x++) {
			tmp[x][y] = 0;
			
			e = document.getElementById('c' + y + '' + x );
			
			if ( Math.floor(Math.random()*10) > 5 ) {
				tab[x][y] = 1;
				e.style.background = '#888';
			} else {
				tab[x][y] = 0;
				e.style.background = 'white';
			}
		}
	}
	
	setTimeout('nextStep()', 1000);		
}


function neighbours(x0, y0) {
	x1 = ( x0-1 < 0 ) ? 0 : x0-1;
	x2 = ( x0+1 > 9 ) ? 9 : x0+1;
	y1 = ( y0-1 < 0 ) ? 0 : y0-1;
	y2 = ( y0+1 > 9 ) ? 9 : y0+1;

	var n = 0;
	for (var y=y1;y<=y2;y++) {
		for (var x=x1;x<=x2;x++) {
			if ( x == x0 && y == y0 )
				continue;
			
			if ( tab[x][y] == 1 )
				n++;
		}
	}

	return n;
}


function nextStep() {
	for (var y=0;y<10;y++) {
		for (var x=0;x<10;x++) {

			e = document.getElementById('c' + y + '' + x );
		
			var n = neighbours(x, y);
			
			if ( tab[x][y] == 0 && n == 3 ) {
				tmp[x][y] = 1;
			} 
			
			if ( tab[x][y] == 1 ) {
				if ( n == 2 || n == 3 )
					tmp[x][y] = 1;
				else
					tmp[x][y] = 0;
			}

			if ( tmp[x][y] == 1 )
				e.style.background = '#888';
			else
				e.style.background = 'white';
		}
	}
	
	for (y=0;y<10;y++) {
		for (x=0;x<10;x++) {
			tab[x][y] = tmp[x][y];
		}
	}
	
	setTimeout('nextStep()', 1000);
}
