Grazie per la risposta,
si blocca nel senso che esegue solo per i=0.
non metto text e value perchè:
[/CODE]
for(i=0;i<partenza.options.length;i++){
//se è selezionata, mettila nell'array sel
if(partenza.options[i].selected){
partenza.options[i].selected=false
sel.push(partenza.options[i])
}
//altrimenti non è selezionata, quindi mettila nell'array non_sel
else{
non_sel.push(partenza.options[i])
}
}
[/CODE]

in questo modo mette nell'array gli elementi selezionati, credo sia value che text. E con:
codice:
for(i=0;i<sel.length;i++){ 
//scrivilo in arrivo 
arrivo.options[i]=sel[i] 
}
riporta nella select gli elementi selezionati.

se eseguo tutto il codice funziona, se eseguo in modo personalizzato, ovvero lasciando invariata la prima select non funziona. Adesso provo a specificare i campi text e value.