Your comments

I'm beginning to think that sayAudio won't work for what I'm doing too. sigh.

When I have 2 or more instances of an avatar needing to be overlayed on a page, the overlay javascript command controls both instances identically and only 1 audio file is spoken for both instances. So, does anybody know how to assign an ID or something to a particular avatar embed code so that the javascript overlay command affects only the overlay it is intended to?
Ok I read the TTS API notes and it seems that sayText will only work after a scene is fully loaded. So since my avatar is only supposed to open and close based on pressing the '?' button, I don't think sayText will work for my application. So I guess it's sayAudio or nothing at all.
I cannot get my overlaid avatar to say something different using javascript. Nothing I do with sayAudio or sayText influences the avatar. It just keeps on saying the same thing. I probably have my code structured incorrectly. I just need to see an example of code that opens an overlay, and passes either a sayAudio or sayText command along with the overlay call.

Also, I do not want it minimized. I only want the avatar to appear when a button is clicked, and then disappear when the audio is finished.
I think the most ideal solution would be to use the sayText command and just add my text into the code for each button. My problem is that I am unsure how the javascript call should be structured to invoke an overlaid avatar, and pass either the text to be spoken thru the sayText command, or just call an audio with the sayAudio command.
Thanks Gil. I thought of that. But the problem I encounter is that there are multiple "?" buttons on each page and the overlay command from one button seems to interfere with the others on the page too.