Hola:
Ten cuidado con el sangrado de tu código, que por poco iba a decirte que no habías creado el objeto ajax... pero después lo encontré con un sangrado que parecía un condicionante...
Creo que deberías sacar el onreadystatechange de la función donde la has metido... o hacer la llamada antes de la petición, pero no le encuentro mucho sentido tenerlo dentro de esa función... a veces, hacer código modularizado complican innecesariamente la implementación.
Saludos