Ho un piccolo problema, ma non capisco cosa o dove sbaglio....

Sto lavorando molto con ajax ed è velocissimo, capita però che a volte (credo a causa del provider che ospita il tutto) ci metta 1 o 2 secondi a rispondere.

Onde evitare che gli utenti continuino infinitamente a cliccare perchè non vedo una risposta immediata, ho pensato di visualizzare un'immagine ogni qualvolta ci sia questa benedetta richiesta ajax.
Ho creato un'immagine in un div nascosto (id="attendi"), lo visualizzo prima di lanciare la richiesta ajax, e lo nascondo quando ho la risposta....
Il problema è che non va... l'immagine (mi pare di capire) viene visualizzata e nascosta nello stesso momento in cui lo script di richiesta ajax finisce.
Cosa e/o dove sbaglio ? Consigli o chiarimenti ?

Ho pensato alla fine anche metterci quel
codice:
while(!attendi(1)) { }
ma alla fine non cambia nulla..... bo !!!!!!

Il codice completo (o quasi):

codice:
function leggimessaggio(id,tipo,oggetto,idmitt) {
    while(!attendi(1)) { }
    var ajaxresponse = xmlHttpPost_ajax(id,urlbase+'/ajax/messageread.php');
    if(strpos(ajaxresponse,"ERR->>AJAX ERROR")) alert(ajaxresponse);
    else {
           ... bla bla bla ....
            attendi(0);
    }
}

function attendi(i) {
	if(i==0) document.getElementById("attendi").style.display="none";
	else if(i==1) document.getElementById("attendi").style.display="inline";
	return true;
}
Grazie a chiunqe saprà darmi qualche dritta... sono gia 4 ore che mi ci perdo !!!