Saludos.
 
Tengo un select múltiple en el cual puedo mover los registros de abajo hacia arriba y al contrario. 
El problema ocurre cuando subiendo un registro, llega hasta el inicio del select, si vuelvo a intertar subirlo, me da un error de JS. 
Este es el script:  
Código:
 function moveup(list) {
    var daflag = false
        for (var i = 0; i <= list.options.length-1; i++) {
                if (list[i].selected) {
                      list.insertBefore(list[i],list[i-1]);
                }
        }
}
  Así que tengo que validar que la posición a la que quiero subir el registro no es la número 1. Intente con algo así:  
Código:
 function moveup(list) {
     var daflag = false
         for (var i = 0; i <= list.options.length-1; i++) {
                 if (list[i-1]>0) {
                    if (list[i].selected) {
                      list.insertBefore(list[i],list[i-1]);
                     }
                }
         }
 }
  Pero evidentemente no sirve así. 
Alguna idea ?? 
Gracias