<!-- sorter.js
//
var tabDoc=document;
var _tabSha=null;
var _tabLast=null;
var _tabMode=true;
var _tabDa=false;
function _tabCreateArray(cell)
{
var rw=cell.parentElement.parentElement.rows;
var _tabl=rw.length;
var _tabS=new Array(_tabl-1);
var _tmp=null;
_tabSha=new Array(_tabl-1);
if (!isNaN(Date.parse(rw.item(1).cells.item(cell.cellIndex).innerText))) _tabDa=true;
for (var i=1;i<_tabl;i++)
 _tabSha[i-1]=i;
for (var i=1;i<_tabl;i++)
{
_tabS[i-1]=rw.item(i).cells.item(cell.cellIndex).innerText;
}
_tabBubbleSort(_tabS);
}
function _tabBubbleSort(array)
{
var ar=array;
var sh=_tabSha;
rest=array.length;
for (var i=rest-1;i>=0;i--)
{
for (var j=0;j<=i;j++)
{
if (_tabDa){
if (Date.parse(ar[j+1])<Date.parse(ar[j]))
{
var temp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=temp;
var temp=sh[j];
sh[j]=sh[j+1];
sh[j+1]=temp;
}
}
else
{
if (ar[j+1]<ar[j])
{
var temp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=temp;
var temp=sh[j];
sh[j]=sh[j+1];
sh[j+1]=temp;
}
}
}
}
}
function _tabBuildRows(obj)
{
var rows = obj.parentElement.parentElement.rows;
var tb=obj.parentElement.parentElement;
var ci=rows.item(0).cells.length;
var tdO=null;
var trA=new Array(_tabSha.length);
var trO=null;
if (tb.rows.length>0)
{
for (var i=0;i<_tabSha.length;i++)
{
tr=tabDoc.createElement("TR");
for (var y=(ci-1);y>=0;y--)
{
td=tabDoc.createElement("td");
tr.insertBefore(td,tdO);
//td.className='listCell';
//td.className=rows.item(_tabSha[i]).cells.item(y).className;
td.innerText=rows.item(_tabSha[i]).cells.item(y).innerText;
tdO=td;
}
tdO=null;
trA[i]=tr;
}
_tabDeleteRows(tb);
if (_tabMode)
{
for (var i=trA.length-1;i>=0;i--)
{
tb.insertBefore(trA[i],trO);
trO=trA[i];
}
}
else
{
for (var i=0;i<trA.length;i++)
{
tb.insertBefore(trA[i],trO);
trO=trA[i];
}
}
}
_tabSha=null;
_tabDa=false;
}
function _tabDeleteRows(tb)
{
for (var i=tb.rows.length-1;i>0;i--)
tb.deleteRow(i);
}
function _tabSort(obj)
{
if (_tabLast==obj)
_tabMode=!(_tabMode);
_tabCreateArray(obj);
_tabBuildRows(obj);
_tabLast=obj;
return _tabMode;
}
//
//-->
