Hallo CJay,
du solltest dir die Abläufe bei einem asynchronen http-Request noch einmal verdeutlichen. Mir hat das Studium dieser Seite https://developer.mozilla.org/de/docs/AJAX/Einführung sehr geholfen. Zu deinem Code: die setTimeout-Aufrufe sind überflüssig, wenn nicht sogar falsch.
Gruß, Jürgen