Acá mi versión:
http://jsfiddle.net/sg2Ja/2/
Derivada de marlanga.
Caracteristicas:
--> Selección aleatoria de elementos
--> No se repiten consecutivamente elementos
--> Se muestran todos los elementos antes de volver a comenzar a la aleatoriedad de los elementos