Ho bisogno di aiuto per questo scriptino figlio di ajax (posso dirvi anche chi è sua mamma ma rischio una censura)

var voce
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
if (nano == "£") {
var t = xmlHttp.responseText.toString()
voce = new Array(t)
} else{
document.getElementById(nano).innerHTML=xmlHttp.re sponseText
}
}
}

E' preso dal sito del w3c e l'ho modificato per fare in modo che l'xmlHttp.responseText venga messo dentro ad un oggetto che ha ID = nano (nano è una variabile pubblica) oppure che, se nano è uguale a £, vada a riempire una var di tipo array (voce) dichiarata fuori dalla funzione...

ebbene: se gli faccio modificare l'innerHTML dell'oggetto nano funziona tranquillamente, nell'altro caso invece t viene valorizzata correttamente (se lo visualizzo con un alert vedo "a","b","c,"d"....) ma dentro all'array non sembra volerci andare... la Javascript Console del FF mi mostra l'errore "voce has no properties" in tutti i punti della pagina html in cui voglio fargli scrivere i valori degli item di voce con la scrittura
document.write(voce[0]) .....

il contenuto dell'xmlHTTP viene valorizzato quando lo chiamo sull'onload della pagina (quindi, presumo, prima che sie elaborato il resto della pagina dove ho i richiami agli item dell'array).... sbaglio io sicuramente ma non capisco dove....
abbiate pazienza: sono un nerd sia di JS che di AJAX!