function insAtTop(par,child)
{
	if(par.childNodes.length) par.insertBefore(child, par.childNodes[0]);
	else par.appendChild(child);
}

function stripHTML(oldString) {

return oldString.replace(/<[^>]*>/g, "");
}

function compareRows(a,b)
{
	if (a.sortKey == '')
	{
		a.sortKey = '-1';
	}
	if (b.sortKey == '')
	{
		b.sortKey = '-1';
	}
	a.sortKey = stripHTML(a.sortKey);
	b.sortKey = stripHTML(b.sortKey);
	if (a.sortKey == '')
	{
		a.sortKey = '-1';
	}
	if (b.sortKey == '')
	{
		b.sortKey = '-1';
	}
	if(a.sortKey==b.sortKey)return 0;
	return (parseFloat(a.sortKey) < parseFloat(b.sortKey)) ? g_order : -g_order;	
}
function sortTable(tableNo, colNo, ord)
{
	var table, rows, nR, bs, i, j, temp;
	g_order=ord;
	g_colNo=colNo;
	table=document.getElementById('main_table');
	rows=new Array();
	nR=0;
	bs=table.tBodies;
	for(i=0; i<bs.length; ++i)for(j=0; j<bs[i].rows.length; ++j)
	{
		rows[nR]=bs[i].rows[j];
		temp=rows[nR].cells[g_colNo];
		if(temp) rows[nR].sortKey=temp.innerHTML;
		else rows[nR].sortKey="";
		++nR;
	}
rows.sort(compareRows);
for (i=0; i < rows.length; ++i)insAtTop(table.tBodies[0], rows[i]);
shadeTable('main_table');
}

function sortTableWrapper(tableNo, colNo)
//For switching between ascending and descending with just one link
{
	if (sortArrayOrder[tableNo][colNo])
	{
		sortArrayOrder[tableNo][colNo] = sortArrayOrder[tableNo][colNo] * (-1);
	}
	else
	{
		sortArrayOrder[tableNo][colNo] = -1;
	}
	sortTable(tableNo, colNo, sortArrayOrder[tableNo][colNo]);
}

function shadeTable(tableName)
{
	tableBody = document.getElementById(tableName).tBodies[0];
	//alert(tableBody.rows.length);
	for(k=0; k<tableBody.rows.length; ++k)
	{
		if ((k % 2) == 1)
		{
			//alert('odd');
			document.getElementById(tableName).tBodies[0].rows[k].className = 'odd';
		}
		else
		{
			//alert('even');
			tableBody.rows[k].className = 'even';
		}
	}
}

var sortArrayOrder = new Array();
sortArrayOrder[1] = new Array();
