JavaScript sortTable
function sortCol(cId) {
return function compareTRs(tr1, tr2) {
var value1 = tr1.cells[cId].firstChild.nodeValue;
var value2 = tr2.cells[cId].firstChild.nodeValue;
return value1.localeCompare(value2);
};
}
function sortTable(tableId, cId) {
var t = document.getElementById(tableId);
var body = t.tBodies[0];
var rows = body.rows;
var arrRows = new Array;
for (var i = 0; i < rows.length; i++) {
arrRows[i] = rows[i];
}
if (t.sortCol == cId)
arrRows.reverse();
else
arrRows.sort(sortCol(cId));
var fragment = document.createDocumentFragment();
for (var i = 0; i < arrRows.length; i++) {
fragment.appendChild(arrRows[i]);
}
body.appendChild(fragment);
t.sortCol = cId;
}