questo script potrebbe tornare utile a qualcuno...
sposta voci da una select all'altra e li ordina alfabelicamente...

Codice PHP:
<script>
// Due argomenti, sono due frecce, o --> o  <--
function sposta(direzione){
    
j=0;
    
form=document.form1
    
if(direzione=='-->'){
        
partenza=form.prima
        arrivo
=form.seconda
    
}
    else{
        
partenza=form.seconda
        arrivo
=form.prima
    
}

    
non_sel=new Array()
    
sel=new Array()
    
//per ogni opzione di partenza controlla: 
    
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])
        }
    }
    
//per ogni opzione di arrivo
    
for(i=0;i<arrivo.options.length;i++){
        
//aggiungi all'array sel tutti i valori di arrivo
        
sel.push(arrivo.options[i])
    }
    function 
sorting(a,b){
        if(
a.text<b.text)return -1
        
if(a.text>b.text)return 1
        
else return 0
    
}
    
sel.sort(sorting)
    
non_sel.sort(sorting)
    
//azzera le due select
    
partenza.options.length=0;
    
arrivo.options.length=0;
    
//Per ogni valore in non_sel
    
for(i=0;i<non_sel.length;i++){
        
//scrivilo in partenza
        
partenza.options[i]=non_sel[i]
    }
    
//Per ogni valore in sel
    
for(i=0;i<sel.length;i++){
        
//scrivilo in arrivo
        
arrivo.options[i]=sel[i]
    }
}            
</script>

<form name="form1">
<select name="prima" multiple size=7>
<option name="a">a</option>
<option name="c">c</option>
<option name="b">b</option>
</select>
<input type="button" value=">>" onClick="sposta('-->')" ><input type="button" value="<<" onClick="sposta('<--')" >
<select name="seconda" multiple size=7>
<option name="d">d</option>
<option name="e">e</option>
</select>