<html> <head> <meta name="description" content="Sortowanie tabeli w JavaScript"> <meta name="kategoria" content="Gości"> <meta name="author" content="BlaTek"> <meta name="email" content="blatek@25.pl"> <meta name="www" content="http://blatek.25.pl"> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <script type="text/javascript"> function exPL(x){ return x.toLowerCase().replace(/[ąęśćółńżź]/g,function(s){ return(s=='ą'?'a':s=='ę'?'e':s=='ś'?'s':s=='ć'?'c': s=='ó'?'o':s=='ł'?'l':s=='ń'?'n':s=='ź'?'z':'zż')+'ż'}) } var Sekcja,Wiersze,Tablica_Wierszy=[] function initSort(){ if(!document.getElementById)return Sekcja=document.getElementById('Sort_id') Wiersze=Sekcja.getElementsByTagName('tr') for(var i=0;i<Wiersze.length;i++) Tablica_Wierszy[i]=Wiersze[i].cloneNode(true) } function Sortuj(x){ if(!document.getElementById||!Wiersze)return Tablica_Wierszy.sort(function(A,B,a,b){ a=A.getElementsByTagName('td')[x].innerHTML b=B.getElementsByTagName('td')[x].innerHTML a=exPL(a);b=exPL(b) return a>b?1:a<b?-1:0 } ) while(Wiersze.length) Sekcja.removeChild(Wiersze[0]) for(var i=0;i<Tablica_Wierszy.length;i++) Sekcja.appendChild(Tablica_Wierszy[i]) } </script> </head> <body onload="initSort()"> <p> </p> <table border="1"> <tbody> </tbody> <tbody id="Sort_id"> </tbody> </table> </body> </html>
działą perfekcyjnie jednak ustawia tylko w kolejności alfabetycznej: a b c d..
czy mozecie mi go przerobić aby by ustawial też odwrotnie czyli od tyłu alfabetu:

może być na zasadzie 2 linka albo powtórne kliknięcie powoduje segregowanie odwrotne.
głównym wymaganiem jest aby działało dla tabel napisanych w formacie jak wyżej.
ja dopisałem coś takiego:
function Sortujz(x){ if(!document.getElementById||!Wiersze)return Tablica_Wierszy.sort(function(Z,Y,z,y){ z=A.getElementsByTagName('td')[x].innerHTML y=B.getElementsByTagName('td')[x].innerHTML z=exPL(z);y=exPL(y) return z>y?1:z<y?-1:0 } )
i dałem linki w postaci:
jednak wtedy nie działa żadne sortowanie

z góry dzieki i czekam na efekty waszych pomysłów.