cambiar <audio> src con javascript

Tengo varios archivos de audio que deseo transmitir en función de las selecciones del usuario. ¿Cómo puedo hacer eso? Esto es lo que tengo hasta ahora y no parece funcionar.

* ACTUALIZACIÓN: Hice algunos cambios y ahora se dice queaudio.load(); No es una función. ¿Alguien puede decirme por qué es eso? El Código se actualiza para reflejar los cambios.

JavaScript:

function updateSource(){ 
    var audio = document.getElementById('oggSource');
    audio.src = 
        'audio/ogg/' + 
        document.getElementById('song1').getAttribute('data-value');
    audio.load();
}

HTML:

<audio id="audio" controls="controls">
    <source id="oggSource" src="" type="audio/ogg"></source>
    <source id="mp3Source" type="audio/mp3"></source>
        Your browser does not support the audio format.
</audio>

<ul style="list-style: none">
    <li>Sunday May 27, 2012
        <ul style="display: none">
            <li id="song1" data-value="song1.ogg">
                <button onclick="updateSource();">Item1</button>
            </li>
            <li>Item2</li>
            <li>Item3</li>
        </ul>
    </li>
</ul>

Item2 yItem3 Querré reproducir un archivo de audio diferente cuando se haga clic en ellos.

Respuestas a la pregunta(6)

Su respuesta a la pregunta