function Puzzle(div, dim) { this.div = div; this.cellSize = div.offsetWidth / dim; this.empty = dim * dim - 1; var item = {}; for (var i = 0, n = dim * dim; i < n; i++) { var newItem = new PuzzlePiece(this, i, dim, i == n - 1); item[i] = newItem; div.appendChild(newItem.div); } }