document.write(i);
That should show you why it isn't working, and the solution is to use this instead.
document.write(r_text[[B]Math.floor([/B]r_text.length*Math.random()[B])[/B]]);
EDIT: I totally missed the Math.floor() when I read that the first time. It works fine for me like that, provided that you have all the values filled in.
As a side note, it would be easier for you to declare your array using JSON.
var r_text = ["no. 1", "no. 2", "no. 3" /* etc. */];