Works best in Chrome, for some reason firefox does not randomize the array very well.
And the code for interested people
xhjs.window.onload(function () {
var screen_size = xhjs.window.get_size();
var screen_centre = new Array(screen_size[0] / 2, screen_size[1] / 2);
var xmax = Math.ceil(screen_size[0] / 20);
var ymax = Math.ceil(screen_size[1] / 20);
var logo_radius = Math.min(screen_size[0], screen_size[1]) / 2.5;
var triangle_radius = logo_radius * 0.4;
var i, x, y, bx, by, dx, dy, mdy, mdx, ts, R, row, box, boxes, r, g, b, interval;
document.body.style.overflow = 'hidden';
document.body.style.margin = '0px';
document.body.style.padding = '0px';
boxes = new Array();
for (y = 0; y < ymax; ++y) {
row = xhjs.create('div');
row.style.cssFloat = 'left';
row.style.width = '100%';
row.style.height = '20px';
for (x = 0; x < xmax; ++x) {
box = xhjs.create('div');
box.style.visibility = 'hidden';
box.style.cssFloat = 'left';
box.style.width = '20px';
box.style.height = '20px';
xhjs.append(row, box);
boxes[boxes.length] = box;
}
xhjs.append(document.body, row);
}
for (i = 0; i < boxes.length; ++i){
bx = boxes.offsetLeft + 10;
by = boxes.offsetTop + 10;
mdx = dx = screen_centre[0] - bx;
mdy = dy = screen_centre[1] - by;
if (mdx < 0) mdx *= -1;
if (mdy < 0) mdy *= -1;
ts = 0.6 * dx;
R = Math.sqrt(Math.pow(mdx, 2) + Math.pow(mdy, 2));
if (by > (screen_centre[1] - ts - triangle_radius) && by < (screen_centre[1] + ts + triangle_radius) && bx > screen_centre[0] - triangle_radius) {
r = Math.round(Math.random() * 80) + 170;
g = Math.round(Math.random() * 80) + 170;
b = Math.round(Math.random() * 80) + 170;
} else if (R < logo_radius) {
r = Math.round(Math.random() * 100) + 100;
g = Math.round(Math.random() * 80);
b = Math.round(Math.random() * 80);
} else {
r = Math.round(Math.random() * 220);
g = Math.round(Math.random() * 255);
b = Math.round(Math.random() * 255);
}
boxes.style.backgroundColor = 'rgb(' + r + ', ' + g + ', ' + b + ')';
}
boxes.sort(function () {
return Math.round(5 - (Math.random() * 10));
});
interval = setInterval(function () {
if (boxes.length === 0) {
clearInterval(interval);
} else {
boxes.pop().style.visibility = 'visible';
}
}, 5);
});
