function setDataType(cValue) { // THIS FUNCTION CONVERTS DATES AND NUMBERS FOR PROPER ARRAY // SORTING WHEN IN THE SORT FUNCTION var isDate = new Date(cValue); if (isDate == "NaN") { if (isNaN(cValue)) { // THE VALUE IS A STRING, MAKE ALL CHARACTERS IN // STRING UPPER CASE TO ASSURE PROPER A-Z SORT cValue = cValue.toUpperCase(); return cValue; } else { // VALUE IS A NUMBER, TO PREVENT STRING SORTING OF A NUMBER // ADD AN ADDITIONAL DIGIT THAT IS THE + TO THE LENGTH OF // THE NUMBER WHEN IT IS A STRING var myNum; myNum = String.fromCharCode(48 + cValue.length) + cValue; return myNum; } } else { // VALUE TO SORT IS A DATE, REMOVE ALL OF THE PUNCTUATION AND // AND RETURN THE STRING NUMBER //BUG - STRING AND NOT NUMERICAL SORT ..... // ( 1 - 10 - 11 - 2 - 3 - 4 - 41 - 5 etc.) var myDate = new String(); myDate = isDate.getFullYear() + " " ; myDate = myDate + isDate.getMonth() + " "; myDate = myDate + isDate.getDate(); + " "; myDate = myDate + isDate.getHours(); + " "; myDate = myDate + isDate.getMinutes(); + " "; myDate = myDate + isDate.getSeconds(); //myDate = String.fromCharCode(48 + myDate.length) + myDate; return myDate ; } } function dimension (name_str, n0, n1) { var numDimens = dimension.arguments.length - 1; var code = name_str + " = new Array();"; eval (code); //alert("rows=="+n0+" cols=="+n1); for (var i = 0; i < n0; i++) // first index is 0 //for (var i = 1; i <= n0; i++) // first index is 1 { var newName = name_str + "[" + i + "]"; if (numDimens > 1) { code = "dimension ('" + newName + "'"; for (var j = 2; j <= numDimens; j++) code += ", " + dimension.arguments[j]; code += ");"; eval (code); } } } function sortTable(col, tableToSort) { //alert(1); var iCurCell = col + tableToSort.cols; var totalRows = tableToSort.rows.length; var bSort = 0; var colArray = new Array(); var oldIndex = new Array(); var indexArray = new Array(); var bArray = new Array(); var newRow; var newCell; var i; var c; var j; // ** POPULATE THE ARRAY colArray WITH CONTENTS OF THE COLUMN SELECTED dimension ("tableArray", totalRows-1, tableToSort.cols); for (i=1; i < tableToSort.rows.length; i++) { colArray[i - 1] = setDataType(tableToSort.cells(iCurCell).innerText); for (c=0; c