OK ben, here's an idea: Write a new function called: GoPlay() In this function you call the Play(#) function and pass it two parameters, the # of the hidden item to play and how long it takes to play. [code] var PlayMe = 0; var Delay = new Array(size); // size = number of items to play var ID; // To ID the timeout. Delay[0] = 2000; // 2 seconds . . . Delay[size+1] = 0; // Tells it we're done function GoPlay() { play(PlayMe, Delay[PlayMe]); ++PlayMe; // To get the next one to play. } [/code] Now, you play function will need to change like this: [code] function play(sound, delay) { document.embeds[sound].play(); if(delay == 0) { clearTimeout(ID); // We're done playing things, clear the timeout. } else { ID = setTimeout("PlayMe();", delay); } } [/code]