var TYPO3 = TYPO3 || {}; TYPO3.tea = {}; TYPO3.tea.makeSortable = function (table) { var th = table.tHead, i; th && (th = th.rows[0]) && (th = th.cells); if (th) i = th.length; else return; while (--i >= 0) (function (i) { var dir = 1; th[i].addEventListener("click", function () { TYPO3.tea.sortTable(table, i, (dir = 1 - dir)); }); })(i); }; TYPO3.tea.sortTable = function (table, col, reverse) { var tb = table.tBodies[0], tr = Array.prototype.slice.call(tb.rows, 0), i; reverse = -(+reverse || -1); tr = tr.sort(function (a, b) { return ( reverse * a.cells[col].textContent .trim() .localeCompare(b.cells[col].textContent.trim()) ); }); for (i = 0; i < tr.length; ++i) tb.appendChild(tr[i]); }; document.addEventListener("DOMContentLoaded", function () { var t = document.querySelectorAll(".tx-tea table"), i = t.length; while (--i >= 0) { TYPO3.tea.makeSortable(t[i]); } });