f = function(d) { //alert(d.join(\"\\n\")); for ( var i = d.length - 1 ; i > 0 ; i-- ) { for ( var j = 0 ; j < d[i].length ; j ) { if ( !d[i][j] && d[i-1][j] ) { var go = true; if ( j > 0 && d[i-1][j-1] ) go = false; if ( j < d[i].length - 1 && d[i-1][j 1] ) go = false; if ( ( j > 0 ) && ( j < d[i].length - 1 ) && d[i][j-1] && d[i][j 1] ) go = false; if ( go ) { d[i][j] = true; d[i-1][j] = false; } } } } //alert(d.join(\"\\n\")); }