Random array function buggy

(as2/cs3)
I put this script into my fla before the movie starts. mcName equals a frame label, mcText equals dynamic text shown inside a movieclip, and url is the link on each movieclip. So it’s supposed to load a random frame and highlight the name on that frame, and it works 90% percent of the time, but sometimes it seems it doesn’t read the array or something because it brings up the first frame and no name is selected, but the names at least show up, which I don’t get. Could it be the order I’m calling the events? Any idea what might be causing it…?

Someone on this forum helped me write this code, whats the “length-1” mean?

var randomInd= Math.round(Math.random()*myArray_array.length-1);

my trace shows this on the unselected frame:

7
undefined
[type Function]
7

myArray_contact=[{contactName:"billcramer", contactText:"BILL CRAMER", url:"mailto:bill@billcramer.com"},
{contactName:"adriennewatts", contactText:"ADRIENNE WATTS", url:"mailto:adrienne@wonderfulmachine.com"},
{contactName:"neilbinkley", contactText:"NEIL BINKLEY", url:"mailto:neil@wonderfulmachine.com"},
{contactName:"jessdudley", contactText:"JESS DUDLEY", url:"mailto:jess@wonderfulmachine.com"},
{contactName:"emilyvonfange", contactText:"EMILY VON FANGE", url:"http://www.evfdigital.com"},
{contactName:"alixmiller", contactText:"ALIX MILLER", url:"mailto:alix@wonderfulmachine.com"},
{contactName:"peterclark", contactText:"PETER CLARK", url:"mailto:peter@wonderfulmachine.com"}];

function initButts() {
    var randomInd=Math.round(Math.random()*myArray_contact.length);
    var myFirstRandomPerson=myArray_contact[randomInd].contactName;
    doHighlight(this[myFirstRandomPerson]);
    
    trace(myArray_contact.length);
    trace(myFirstRandomPerson);
    trace(doHighlight);
    trace(randomInd);
    
    for (var i = 0; i<myArray_contact.length; i++) {
        var myMc = this[myArray_contact*.contactName];
        myMc.fade.person.text = myArray_contact*.contactText;
        myMc.myRoot = this;
        myMc.index = i;
        myFirstRandomPerson;
        myMc.onRollOver = function() {
            this.myRoot.doHighlight(this);
        }; 
        myMc.onRelease = function() {
            getURL(this.myRoot.myArray_contact[this.index].url, "_blank");
            myFirstRandomPerson;
            
        };
    }
}

function doHighlight(mc){
    for (var i = 0; i<myArray_contact.length; i++) {
        if(myArray_contact*.contactName == mc._name){
            this[myArray_contact*.contactName].fade.person.textColor = 0x777777;
            gotoAndStop(myArray_contact*.contactName);
        }else{
            this[myArray_contact*.contactName].fade.person.textColor = 0xffffff;

        }
    }
}
initButts();