Hola,
Yo puse un ejemplo en ajax.tokumasters.com
Código:
var ajax = nuevoAjax();
ajax.open("GET", pagina, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
document.getElementById("cargando").style.visibility = "visible";
}
if (ajax.readyState==4) {
if (ajax.status==200 || ajax.status==304){
miDiv.innerHTML = ajax.responseText;
document.getElementById("cargando").style.visibility = "hidden";
}else if(ajax.status==404){
miDiv.innerHTML = "<h1>ERROR 404</h1><br><b>Pagina No encontrada</b><br><br>";
document.getElementById("cargando").style.visibility = "hidden";
}else{
miDiv.innerHTML = "<h1>ERROR "+ajax.status+"</h1><br><b>"+ajax.statusText+"</b><br><br>";
document.getElementById("cargando").style.visibility = "hidden";
}
delete ajax;
}
}
la funcion nuevoAjax() simplemente te devuelve el xmlhttprequest. Si miras el codigo fuente de la pagina puedes verlo en /js/funciones.js
Hasta Pronto!