/* Modification of sorttable.js * http://www.kryogenix.org/code/browser/sorttable/ * Original code by Stuart Langridge, November 2003 * Modified by Andy Edmonds, December 2003 * Added alternateRowColors to color alternating rows * Modified by caspar.dk, November 2004 * Added cookie-memory to remember most recent sorting * Released at http://netfactory.dk/technology/markup/javascript/ */ addEvent(window, "load", sortables_init); var SORT_COLUMN_INDEX; function sortables_init() { // Find all tables with class sortable and make them sortable if (!document.getElementsByTagName) return; tbls = document.getElementsByTagName("table"); for (ti=0;ti 0) { var firstRow = table.rows[0]; } if (!firstRow) return; // We have a first row: assume it's the header, and make its contents clickable links for (var i=0;i   '; if(cookie_index==i) { sort_elm = cell.getElementsByTagName("A")[0]; } } if(sort_elm) { if(cookie_direction==1) { ts_resortTable(sort_elm); ts_resortTable(sort_elm); } else { ts_resortTable(sort_elm); } } } function ts_getInnerText(el) { if (typeof el == "string") return el; if (typeof el == "undefined") { return el }; if (el.innerText) return el.innerText; //Not needed but it is faster var str = ""; var cs = el.childNodes; var l = cs.length; for (var i = 0; i < l; i++) { switch (cs[i].nodeType) { case 1: //ELEMENT_NODE str += ts_getInnerText(cs[i]); break; case 3: //TEXT_NODE str += cs[i].nodeValue; break; } } return str; } function ts_resortTable(lnk) { // get the span var span; for (var ci=0;ci-1) { slut = cookie.indexOf("; ",start+searchString.length); tsCookie = cookie.substring(start+searchString.length,slut); return tsCookie; /* tsCookie = tsCookie.split("%2C"); if(tsCookie.length > 0) { return tsCookie[0]; } */ } } function ts_get_cookie_index(table_id) { var cvalue = ts_get_cookie(table_id); if(cvalue) { cvalue = cvalue.split("%2C"); if(cvalue.length > 0) { return cvalue[0]; } } } function ts_get_cookie_direction(table_id) { var cvalue = ts_get_cookie(table_id); if(cvalue) { cvalue = cvalue.split("%2C"); if(cvalue.length > 0) { return cvalue[1]; } } } function ts_set_cookie(table_id, cvalue) { var d = new Date(); d.setDate(d.getDate() + 365); var cookie_string = "ts_" + table_id + "=" + escape(cvalue); cookie_string += "; expires=" + d.toGMTString(); document.cookie = cookie_string; }