rem: for(var i = 0; i < 8; i++) { var card = this.stacks[i].lastChild; 
add: for(var i = 0; i != 8; i++) { var card = this.piles[i].lastChild; 
context:   autoplayMove: function() {    for(var i = 0; i < 8; i++) {      var card = this.stacks[i].lastChild;      if(!card) continue;      var row = this.rows[card.row];      var f, c, ok, target = null;      if(card.rowNum===0) {        // we want to move it to an empty space, but only if there are no stray cards in the row        // (otherwise we should leave the user to choose which specific cards to put in the spaces)        ok = true;        for(c = 0; ok && c != 8; c++) {          f = row[c];          if(f.hasChildNodes()) { if(f.firstChild.number!=f.baseNumber) ok = false; }          else if(!target) target = f;        }      } else {        // find where to move |card| to, and check that the other foundation on the row for the        // same suit has reached at least the same height        ok = false;        for(c = 0; !target && c != 8; c++) {          if(this.canMoveTo(card, row[c])) target = row[c];        }        for(c = 0; !ok && c != 8; c++) {          f = row[c];          var last = f.lastChild;          if(f!=target && f.baseCardInPlace() && last.isSameSuit(card)              && last.rowNum>=card.rowNum-1) ok = true;        }      }      if(ok && target) return this.moveTo(card, target);    }    return false;  },
meta: 3385	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3385/15f3df693ddf02fb9ee6a2662189220868368b23/mod3.js/buggy/mod3.js