Random loading song? AS2/XML

—EDIT I originally built this in Flash 8, then moved the files over to CS4—

Hi, I have a list component where I’ve loaded song files through xml and everything is working great.

I have now been trying to figure out how to make it play one of the 8 files randomly when it starts playing, instead of it always starting with a specified track (currently track one obviously). So each time a visitor comes to the site it is a different song.

I found a few things on math for AS3 but nothing has worked for this AS2 code that I have tried so far. What am I missing?

this._lockroot = true; 
//make textfields autosize 
album_txt.autoSize = "left"; 
artist_txt.autoSize = "left"; 
title_txt.autoSize = "left"; 
//create sound object 
var songInterval:Number; 
var amountLoaded:Number; 
var mySound:Sound; 
var nextTrack:Number; 

//this will contain all the track details from the xml file 
var tracks_array:Array = new Array(); 
var totalTracks:Number; 

//create the XML object and populate with track details 
var jukebox_xml:XML = new XML(); 
jukebox_xml.ignoreWhite = true; 
var RootNode:XMLNode; 

jukebox_xml.onLoad = function(success:Boolean) { 
    if (success) { 
    RootNode = this.firstChild; 
    totalTracks = RootNode.childNodes.length; 
    populateTracksArray(); 
    } else { 
    trace("error loading xml file"); 
    } 
}; 
jukebox_xml.load("tracks.xml"); 

function populateTracksArray():Void{ 
    for(var i:Number=0; i < totalTracks;i++){ 
        tracks_array* = RootNode.childNodes*; 
        tracks_array*.source = RootNode.childNodes*.attributes.source; 
        tracks_array*.artist = RootNode.childNodes*.attributes.artist; 
        tracks_array*.album = RootNode.childNodes*.attributes.album; 
        tracks_array*.title = RootNode.childNodes*.attributes.title; 
        } 


//play first track  
        playTrack(tracks_array[0].source,tracks_array[0].artist,tracks_array[0].album,tracks_array[0].title,true); 
//populate list component with song titles 
        populateList(); 
} 

function playTrack(source, artist, album, title, stream):Void{ 
        artist_txt.text = artist; 
        album_txt.text = album; 
        title_txt.text = title; 
        mySound = new Sound(); 
         
        mySound.onSoundComplete = function():Void{ 
             
//----LETS NEXT SONG PLAY---------  
    if(continous_comp.selected){ 
            if(list_comp.selectedIndex < (totalTracks -1)){ 
    list_comp.selectedIndex +=1; 
    }else{ 
        list_comp.selectedIndex = 0; 
    } 
    playTrack(tracks_array[list_comp.selectedIndex].source,tracks_array[list_comp.selectedIndex].artist,tracks_array[list_comp.selectedIndex].album,tracks_array[list_comp.selectedIndex].title, true); 
    } 
            } 
     
        mySound.loadSound(source,stream); 
        clearInterval(songInterval); 
        songInterval = setInterval(songProgress,100); 
} 

function populateList():Void{ 
    for(var i:Number=0; i<totalTracks;i++){ 
     list_comp.addItem(tracks_array*.title,tracks_array*.source); 
     } 
     _root.list_comp.selectedIndex = 0; 
} 

//--------create a listener for the list component------------ 
var compListener:Object = new Object(); 
list_comp.addEventListener("change", compListener); 

compListener.change = function(info:Object):Void{ 
 playTrack(info.target.value,tracks_array[list_comp.selectedIndex].artist,tracks_array[list_comp.selectedIndex].album,tracks_array[list_comp.selectedIndex].title, true); 
}