I think you are missing the point of the example. Of course, you can output all three pages at once, but the example file doesn't do that. If you look at the code closely, you'll see it only returns one page at a time, depending on the query string parameters. I could have gone through the trouble of creating a database to store this information instead of throwing it into the PHP file, but I felt the example would be more succinct this way.
To answer your earlier question, the new DIV element is created as soon as the responseText is assigned to the loading area DIV using innerHTML. The returned text contains the definition of the DIV, which becomes a DOM object when passed into innerHTML. Then, you need to retrieve a pointer to that new DOM object (which was just created, so is no longer null).
You could just directly create the new DIV element, but this is a more elegant solution to ensure proper formatting.
Nicholas C. Zakas
Author, Professional JavaScript for Web Developers (ISBN 0764579088)
http://www.nczonline.net/