te recomiendo:
http://librosweb.es/ajax/index.html
además el código que posteaste tiene algunas cosas extras que para hacer un AJAX básico no non estrictamente necesarias, por lo menos no le veo sentido usar un timeout para eliminar el
onreadystatechange, además de no saber que hace y donde está la función
data_callback