ho finito di leggere la guida e tratta di parecchie cose utili. Il problema è che non tratta la cosa che mi interessava.
Fondamentalmente il problema è questo:
le funzione che crea l'oggetto della chiamata (req) è su un file, chiamato ajax.js e in un altro file, chiamato script.js viene chiamata la suddetta funzione.
Nel file script.js viene anche definita una funzione da eseguire ogniqualvolta cambi lo stato della chiamata ajax e, nel caso in cui vengano fatte 2 chiamate ajax, saranno definite due diverse funzioni chiamate al "onreadystatechnge" dell'oggetto.
Il problema a questo punto è che le funzioni chiamate al "onreadystatechnge" non hanno accesso all'oggetto ajax poiche viene creato all'interno della funzione definita nel file ajax.js.
Mettendo come globale l'oggetto ajax, quando vengono fatte 2 chiamate in contemporane succede che vengono entrambe eseguite correttamente ma solo una delle due funzioni al "onreadystatechnge" esegue correttamente.