<?xml version="1.0"  encoding="iso-8859-2" ?> 
<Module>
  <ModulePrefs title="Life" /> 
   <Content type="html"> 
     <![CDATA[ 
<table width="100%" height="100%">
<tr width="100%" height="100%"><td width="100%" height="100%" valing="center">
<center>
<script>
MAXX=20;
MAXY=8;
START_CELLS = 25;
X = '<div style="background-color:#333">&nbsp;&nbsp;&nbsp;</td>';
O = '<div style="background-color:#CCC">&nbsp;&nbsp;&nbsp;</td>';
var cells = new Array(MAXX*MAXY);
</script>
<table border="0" cellpadding="0">
<script>
for (var y=0; y<MAXY; y++)
{
	document.write("<tr>");
	for (var x=0; x<MAXX; x++)	{
		cells[x*MAXX*y+x]=0;
		document.write('<td width="8px" height"8px"><div style="background-color:WHITE" id="field'+(x)+"_"+(y)+'">&nbsp;&nbsp;&nbsp;</td>');
	}
}
//var colors=new Array(MAXX*MAXY);
// for (var i=0; i<(MAXX*MAXY); i++) cell[i]=0;
function fillRandomCells() {
repetedCells=0;
for (var i=0; i<START_CELLS; i++) {	
	x=Math.floor(Math.random()*MAXX);
	y=Math.floor(Math.random()*MAXY);
	fieldName="field"+(x)+"_"+(y);
//	document.getElementById(fieldName).cellValue="X";
//	document.getElementById(fieldName).innerHTML=X;
	cells[MAXX*y+x]=1;
}
}

oCellsCount = 0;
repetedCells = 0;

function cc(x,y) {
 if ((x>=0) && (x<MAXX))
 {
  if ((y>=0) && (y<MAXY)) 
//	return ((document.getElementById("field"+(x)+"_"+(y)).cellValue=="X")?1:0);
	return cells[MAXX*y+x];
 }
 return(0);
}

function nextTurn()
{
	var newCells = new Array(MAXX*MAXY);
	var cellsCount = 0;
	for (var x=0; x<MAXX; x++)
	  for (var y=0; y<MAXY; y++) {
		var count = cc(x-1,y-1)+cc(x,y-1)+cc(x+1,y-1)+
			  cc(x-1,y)+0+cc(x+1,y)+
			  cc(x-1,y+1)+cc(x,y+1)+cc(x+1,y+1);
		var cellLive=(cc(x,y)!=0);
		if (cellLive) cellsCount++;
		var cellNr = MAXX*y+x;
		if ((!cellLive) && (count==3)) newCells[cellNr]=1;
		else if ((cellLive) && ((count>=2) && (count<=3))) newCells[cellNr]=1;
		else newCells[cellNr]=0;
	  }	
	for (var x=0; x<MAXX; x++)
	  for (var y=0; y<MAXY; y++) {
		var cellNr = MAXX*y+x;
		fieldName="field"+(x)+"_"+(y);		
		cells[MAXX*y+x]=newCells[MAXX*y+x];
		//document.getElementById(fieldName).cellValue=cellChar;
		try {
		document.getElementById(fieldName).innerHTML=((newCells[cellNr]==1)?X:O);
		}
		catch (e) { alert(fieldName); }
	  }
	if (cellsCount==0) fillRandomCells();
//	document.getElementById("cells").innerHTML=cellsCount;
	if (cellsCount==oCellsCount) {
		repetedCells++;
		if (repetedCells==10) fillRandomCells();
	}
	oCellsCount=cellsCount;
	setTimeout("nextTurn()",250);
}
fillRandomCells();
nextTurn();
</script>
</table>
<script>
document.write("<font size=1 color='#888888'>(c) 2006-2007 by RMK</font>");
</script>
</td></tr></table>

	
     ]]> 
   </Content> 
</Module>