/* Originally by Stuart Langridge. * Modifications by Cognizo Technologies, Inc. */ var ST_SORT_COLUMN; var ST_SORT_IN_PAIRS = 0; /* Find all tables with class="sortable" and make them sortable. */ function st_init() { if (!document.getElementsByTagName) { return; } tabels = document.getElementsByTagName('table'); for (var i = 0; i < tabels.length; i++) { var table = tabels[i]; if ((' ' + table.className + ' ').indexOf('notsortable') != -1) { /* Do nothing. */ } else if ((' ' + table.className + ' ').indexOf('sortablepair') != -1) { st_makeSortable(table, true); } else if ((' ' + table.className + ' ').indexOf('sortable') != -1) { st_makeSortable(table, false); } } } /* Make a table sortable. */ function st_makeSortable(table, sortInPairs) { if (table.rows && table.rows.length > 0) { var headerRow = table.rows[0]; } if (!headerRow) { return; } /* We do have a first row. It is probably the header, so we will make each * heading clickable. */ for (var i = 0; i < headerRow.cells.length; i++) { var cell = headerRow.cells[i]; var text = st_getInnerText(cell); if (sortInPairs) { var sortInPairsString = 'true'; } else { var sortInPairsString = 'false'; } cell.innerHTML = '' + text + '   '; } } function st_getInnerText(element) { if (typeof(element) == 'string' || typeof(element) == 'undefined') { return element; } if (element.innerText) { return element.innerText; } var textString = ''; var childNodes = element.childNodes; for (var i = 0; i < childNodes.length; i++) { switch (childNodes[i].nodeType) { case 1: /* ELEMENT_NODE */ textString += st_getInnerText(childNodes[i]); break; case 3: /* TEXT_NODE */ textString += childNodes[i].nodeValue; break; } } return textString; } function st_resortTable(link, cellID, sortInPairs) { for (var i = 0; i < link.childNodes.length; i++) { if (link.childNodes[i].tagName && link.childNodes[i].tagName.toLowerCase() == 'span') { var span = link.childNodes[i]; break; } } var td = link.parentNode; var table = st_getParent(td, 'table'); /* Safari compatability. */ var column = cellID || td.cellIndex; if (table.rows.length <= 1) { return; } /* Determine how to sort the data based on the first cell's contents. */ var firstCellText = st_getInnerText(table.rows[1].cells[column]); var firstCellHtml = table.rows[1].cells[column].innerHTML; if (firstCellText.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d\s*$/) || firstCellText.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)) { var sortFunc = st_sort_date; } else if (firstCellHtml.indexOf('')); var var2 = bb.substring(bb.indexOf('')); return (eval('' + var1 + '-' + var2)); } function st_sort_numeric(a, b) { if (ST_SORT_IN_PAIRS) { aa = parseFloat(st_getInnerText(a[0].cells[ST_SORT_COLUMN])); bb = parseFloat(st_getInnerText(b[0].cells[ST_SORT_COLUMN])); } else { aa = parseFloat(st_getInnerText(a.cells[ST_SORT_COLUMN])); bb = parseFloat(st_getInnerText(b.cells[ST_SORT_COLUMN])); } if (isNaN(aa)) { aa = 0; } if (isNaN(bb)) { bb = 0; } return (aa - bb); } function st_sort_caseinsensitive(a, b) { if (ST_SORT_IN_PAIRS) { aa = st_getInnerText(a[0].cells[ST_SORT_COLUMN]).toLowerCase(); bb = st_getInnerText(b[0].cells[ST_SORT_COLUMN]).toLowerCase(); } else { aa = st_getInnerText(a.cells[ST_SORT_COLUMN]).toLowerCase(); bb = st_getInnerText(b.cells[ST_SORT_COLUMN]).toLowerCase(); } if (aa == bb) { return 0; } if (aa < bb) { return -1; } return 1; } function st_sort_default(a, b) { if (ST_SORT_IN_PAIRS) { aa = st_getInnerText(a[0].cells[ST_SORT_COLUMN]); bb = st_getInnerText(b[0].cells[ST_SORT_COLUMN]); } else { aa = st_getInnerText(a.cells[ST_SORT_COLUMN]); bb = st_getInnerText(b.cells[ST_SORT_COLUMN]); } if (aa == bb) { return 0; } if (aa < bb) { return -1; } return 1; } addEvent(window, 'load', st_init, true); addEvent(window, 'unload', EventCache.flush, false);