Ciao a tutti sto creando una pagina che per funzionare necessit� di un ajax che al suo interno ha un ciclo che richiama sempre la stessa funzione.

Il codice � questo:

codice:
function loadRighe(riga,sessione) {
    for (i=1; i<riga; i++) {     
        /*alert('pippo');*/
        RichiestaOpen2(i,sessione);
        $("#add_serv_"+i).hide();
    }
}

var XMLHTTP;

function RichiestaOpen2(riga_attuale, Sessione)
{    
        var url = "/include/select-new-serv.asp?id=" + riga_attuale + "&s=" + Sessione;
        XMLHTTP = RicavaBrowser(function() {CambioStatoOpen(riga_attuale)});
        XMLHTTP.open("GET", url, true);
        XMLHTTP.send(null);
}

function CambioStatoOpen(Iniziale)
{
    if (XMLHTTP.readyState == 4)
    {
        var Q = document.getElementById("new_serv_"+Iniziale);
        Q.innerHTML = XMLHTTP.responseText;
    }
}

function RicavaBrowser(QualeBrowser)
{
    if (navigator.userAgent.indexOf("MSIE") != (-1))
    {
        var Classe = "Msxml2.XMLHTTP";
        if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
        {
            Classe = "Microsoft.XMLHTTP";
        } 
        try
        {
            OggettoXMLHTTP = new ActiveXObject(Classe);
            OggettoXMLHTTP.onreadystatechange = QualeBrowser;
            return OggettoXMLHTTP;
        }
        catch(e)
        {
            alert("Errore: l'ActiveX non verr� eseguito!");
        }
    }
    else if (navigator.userAgent.indexOf("Mozilla") != (-1))
    {
        OggettoXMLHTTP = new XMLHttpRequest();
        OggettoXMLHTTP.onload = QualeBrowser;
        OggettoXMLHTTP.onerror = QualeBrowser;
        return OggettoXMLHTTP;
    }
    else
    {
        alert("L'esempio non funziona con altri browser!");
    }
}
E una chiamata di esempio potrebbe essere questa:

codice:
loadRighe('3','s')
con questo codice sopra viene chiamata la funzione "loadRighe" la quale ha al suo interno il ciclo for che, secondo la chiamata sopra, � eseguito 2 volte e quindi dovrebbe essere chiamata la funzione "RichiestaOpen2" per 2 volte.
La funzione "RichiestaOpen2" ne chiama a sua volta altre che alla fine hanno il compito di inserire codice html dentro a due id html ovvero gli id "new_serv_1" e "new_serv_2".
Sintatticamente � tutto scritto correttamente e ho guardato facendo debug le variabili sono tutte passate correttamente.
Il problema � che a volte funziona e a volte no, a volte vedo nel caso specifico il codice dentro ai 2 id (rarissimamente) e a volte ne vedo solo uno (quasi sempre).
Non capendo il perch� ho messo un alert alla chiamata (che sopra � commentato) e con l'alert magicamente tutto funziona come se fosse un problema di tempo di esecuzione o roba del genere, come se le eseguisse troppo velocemente e forse XMLHTTP non riuscisse a gestire le chiamate velocemente..... boh...
sapete aiutarmi a risolvere il problema?
grazie a tutti