
/* - table_sorter.js - */
// http://community.fpg.unc.edu/portal_javascripts/table_sorter.js?original=1
function sortable(a){if(a.charAt(4)!='-'&&a.charAt(7)!='-'&&!isNaN(parseFloat(a)))
return parseFloat(a);return a.toLowerCase()}
function sort(){var name=jq(this).text();var table=jq(this).parents('table:first');var tbody=table.find('tbody:first');var reverse=table.attr('sorted')==name;jq(this).parent().find('th:not(.nosort) img.sortdirection').attr('src',portal_url+'/arrowBlank.gif');jq(this).children('img.sortdirection').attr('src',portal_url+(reverse?'/arrowDown.gif':'/arrowUp.gif'));var index=jq(this).parent().children('th').index(this);var data=[];tbody.find('tr').each(function(){var cells=jq(this).children('td');data.push([sortable(cells.slice(index,index+1).text()),sortable(cells.slice(1,2).text()),sortable(cells.slice(0,1).text()),this])});if(data.length){data.sort();if(reverse) data.reverse();table.attr('sorted',reverse?'':name);tbody.append(jq.map(data, function(a){return a[3]}));tbody.find('tr').removeClass('odd').removeClass('even').filter(':odd').addClass('even').end().filter(':even').addClass('odd')}}
jq(function(){var blankarrow=jq('<img>').attr('src',portal_url+'/arrowBlank.gif').attr('width',6).attr('height',9).addClass('sortdirection');jq('table.listing:not(.nosort) thead th:not(.nosort)').append(blankarrow.clone()).css('cursor','pointer').click(sort).slice(0,1).find('img.sortdirection').attr('src',portal_url+'/arrowUp.gif')});
