var n;
var h = 50;

var p = new Array();
var a = new Array();

function Start(m)
{
	n = m;
	document.getElementById('divApplet').innerHTML = '<table id=tblFire cellpadding=0 cellspacing=0></table>';
	for (var y = 0; y < h; y++)
	{
		var r = document.getElementById('tblFire').insertRow(y);
		for (var x = 0; x < 42+n; x++)
		{
			r.insertCell(x);
		}
	}
	for (var y = 0; y < h + 2; y++)
	{
		a[y] = new Array();
		for (var x = 0; x < 44; x++)
		{
			a[y][x] = 0;
		}
	}
	for (var i = 0; i < 128; i++)
	{
		var c = 5 * i;
		p[i] = 'rgb(' + (c > 255 ? 255: c)
			+ ',' + (c < 190 ? 0 : c > 445 ? 255 : c - 190)
			+ ',' + (c < 380 ? 0 : c > 635 ? 255 : c - 380)
			+ ')';
	}
	Step();
}

function Step()
{
	var ay0 = a[0];
	var ay1 = a[1];
	var ay2;
	for (var y = 0; y < h; y++)
	{
		var r = document.getElementById('tblFire').rows[y];
		ay2 = a[y+2];
		ay1[0] = ay1[42];
		ay1[43] = ay1[1];
		var i = 43;
		while (--i > 0)
		{
			var c = ((ay1[i-1] + ay1[i] + ay1[i+1] + ay2[i]) >> 2) - 2;
			r.cells[i-1].style.backgroundColor = p[ay0[i] = (c < 0 ? 0 : c)];
		}
		while (i < n)
		{
			r.cells[i+42].style.backgroundColor = r.cells[i].style.backgroundColor;
			i++;
		}
		ay0 = ay1;
		ay1 = ay2;
	}
	ay2 = a[h-1];
	for (var x = 1; x <= 42; x++)
	{
		var c = ((ay2[x-1] + ay2[x+1]) >> 1) + Math.floor(Math.random() * 80) - 36;
		ay0[x] = ay1[x] = (c < 0 ? 0 : c > 130 ? 130 : c);
	}
	window.setTimeout('Step()', 50);
}

