var Life = {
  init: function(options){
    this.width = options.width;
    this.height = options.height;
    this.el = document.getElementById(options.el);
    this.el.innerHTML = 'tada';
    this.tick = 0;
    this.blankboard = {};
    for(var y = 0; y < this.height; ++y){
      this.blankboard[y] = {};
    }
    
    this.cells = this.blankboard;
    for(var c = 0; c < options.cells.length; ++c){
        var cell = options.cells[c];
        this.cells[cell[1]][cell[0]] = true;
    }
    console.log(this.cells);
    this.time = options.time;
    this.drawBoard();
    this.cycle();
  },
  
  setTimeout: function(){
    setTimeout('Life.cycle();', this.time);
  },
  
  drawBoard: function(){
    var board = document.createElement('table');
    for(var x = 0; x < this.width; ++x){
      var tr = document.createElement('tr');
      for(var y = 0; y < this.height; ++y){
        var td = document.createElement('td');
        td.setAttribute('id','x'+x+'y'+y);
        td.style.width = '1em';
        td.style.height = '1em';
        td.style.overflow = 'hidden';
        td.style.border = '1px solid #333';
        td.innerHTML = '&nbsp;';
        tr.appendChild(td);
      }
      board.appendChild(tr);
    }
    this.el.innerHTML = '';
    this.el.appendChild(board);
  },
  
  draw: function(){
    for(var x = 0; x < this.width; ++x)
      for(var y = 0; y < this.height; ++y)
        document.getElementById('x'+x+'y'+y).style.backgroundColor = this.cells[y][x] ? 'black' : 'white';
  },
  
  cycle: function(){
    this.tick++;

    var newboard = this.blankboard;
    for(var x = 0; x < this.width; ++x){
      for(var y = 0; y < this.height; ++y){
      }
    }
    this.draw();
    this.setTimeout();
  }
};

