<html>
<body>
Клик.
<table id='music'>
 <tr><td>1</td></tr>
 <tr><td>2</td></tr>
 <tr id="play"><td>play</td></tr>
 <tr><td>кplay</td></tr>
 <tr><td>3</td></tr>
 <tr><td>4</td></tr>
 <tr><td>5</td></tr>
 <tr><td>6</td></tr>
 <tr><td>7</td></tr>
 <tr><td>8</td></tr>
 <tr><td>9</td></tr>
 <tr><td>10</td></tr>
 <tr><td>11</td></tr>
 <tr><td>12</td></tr>
</table>
<script>
window.onclick = function(){
   var d = document,
   table = d.getElementById('music'),
   fragment = d.createDocumentFragment(),
   tr = table.rows,
   arr = [], i , j;
   
   table=tr[0].parentNode; //ибо tbody итп
   
   i=d.getElementById('play').rowIndex;
  
   fragment.appendChild(tr[i]);
   fragment.appendChild(tr[i]);
   
   i=j=tr.length;
   
   if('v'=='\v') while(i--) arr.push(tr[i]); //ie<9
   else arr=arr.slice.call(tr);
   table.insertBefore( fragment, tr[0] )
  
   return function(){
     i=j;
     arr.sort(function(){return .5-Math.random()})  
     while(i--) table.appendChild( arr[i] )
   }
 }();
</script>
</body>
</html>
Если я правильно понял. Вообще подгонять скрипт под вёрстку нехорошо. Надо работать сразу над тем и над другим, только тогда будет и красиво и быстро.