ralentango.tablesversion="712:2008-05-01";if(document.getElementsByTagName){$(document).ready(function(){ralentango.decorateSortableTables();console.log("Loaded tables extension "+ralentango.tablesversion)})}ralentango.decorateSortableTables=function(){$("table.sortable").not("[@title]").attr("title","Click on a header to sort by that column");$("table.sortable th, th.sortable").bind("click",function(){return ralentango.handleSortableTableEvent(this)}).each(function(){this.title="Click to sort by "+(this.title?this.title:$(this).textValue()).toLowerCase()})};ralentango.handleSortableTableEvent=function(element){var jQelement=$(element);var jQtable=$(element).parents("table");if(!jQtable.length)return false;var trs=jQtable.get(0).rows;var tl=trs.length;var sortcol=element.cellIndex;var sorttype="";var sorttypes=["alpha","numeric","date"];$.each(sorttypes,function(){if(jQelement.is("."+this))sorttype=this});if(!sorttype)$.each(sorttypes,function(){if(jQtable.is("."+this))sorttype=this});if(!sorttype)sorttype="alpha";var sri=new Array();var sorted=true;for(var row=1;row<tl;row++){sri[row]=row;var kingvalue=sval(row,sortcol);if(kingvalue!=null){for(var top=row;top>1;top--){var topvalue=sval(sri[top-1],sortcol);if(topvalue!=null)if(kingvalue>=topvalue)break;sorted=false;sri[top]=sri[top-1];sri[top-1]=row}}}var parent=trs[1].parentNode;if(sorted)for(row=tl-1;row>0;row--)rmove(row);else for(row=1;row<tl;row++)rmove(row);return false;function sval(row,col){var value=ralentango.nodeTextValue(trs[row].cells[col]);if(value!=null){value=value.toLowerCase();if(sorttype=="numeric")return(value?parseFloat(value):0);if(sorttype=="date")return new Date(value.replace(/([a-zA-Z]+)\s([0-9]{4})/,"$1 1, $2"))}return value}function rmove(row){var nextrow=sri[row];parent.appendChild(trs[nextrow]);for(var i=1;i<tl;i++)if(sri[i]>nextrow)sri[i]--}};
