Hola Aldo y Javi:
La verdad es que las páginas tienen 2 cosas a cargar: el contenido de texto es lo primero y activa el evento load tanto del body como del objeto window, pero luego falta el resto de elementos, sobre todo los "multimedia", que pueden tener una forma difícil de chequeo

... las imágenes son elementos fáciles de controlar, ya que también tienen su evento load, y a la vez un atributo especial "complete" que ayuda a controlar que se han cargado.
Código:
function cargando() {
todas = true;
for (var i = 0, total = document.images.length; i < total; i ++)
todas = todas && document.images[i].complete;
if (todas) document.images.cargando.style.visibility = "hidden";
else setTimeout("cargando()", 100);
}
function ini() {
document.images.cargando.style.visibility = "visible";
cargando();
}
window.onload = ini;
Si tecleé bien, con este código y una imagen name="cargando" con el dibujito y posición que quieras se haría lo que quieres... pero con elementos multimedia como midis o mp3's sería bastante más complejo.
Tengo una página que precarga mp3's con la ayuda de ajax, pero no estoy seguro de que funcione bien:
Música en la web (creo que te lo comenté en el foro ajax

)
Saludos