<!---

function ToggleAllPagesDisplay(p_sDisplay)
{
	var nPages = g_oDataTable.tBodies.length-1;
	for(var i=nPages;i>=0; i--)
	{
		g_oDataTable.tBodies[i].style.display = p_sDisplay;
		if(g_bNetscape6) g_oDataTable.tBodies[i].parentNode.width = "100%";
	}
}

function ViewAll_Click()
{
	g_oDataTable.PageNumberButton.className = "";
	g_oDataTable.PageNumberButton.disabled = false;

	g_oPreviousPage.disabled = true;
	g_oNextPage.disabled = true;
	
	this.disabled = true;
	this.className = "currentpage";
	
	ToggleAllPagesDisplay(g_sPageDisplayStyle);
	
	g_oDataTable.PageNumberButton = this;

	var nRows = (g_oDataTable.rows.length-2);
	g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing 1 - " + nRows + " of " + nRows;	
}

function NextPage_Click(p_oEvent)
{
	// Hide all of the pages if they are currently displayed
	if(!g_oDataTable.PageNumberButton) ToggleAllPagesDisplay('none');
	
	// Determine the current page number
	var nPageNumber = parseInt(g_oDataTable.PageNumberButton.innerHTML)-1;
	
	// Hide the previous page
	g_oDataTable.tBodies[nPageNumber].style.display = "none";

	// Enable the previous page number button
	g_oDataTable.PageNumberButton.disabled = false;
	g_oDataTable.PageNumberButton.className = "";

	// Display the next page
	nPageNumber++;
	g_oDataTable.tBodies[nPageNumber].style.display = g_sPageDisplayStyle;
	if(g_bNetscape6) g_oDataTable.tBodies[nPageNumber].parentNode.width = "100%";	

	// Cache the current page number button
	g_oDataTable.PageNumberButton = g_aPageNumbers[nPageNumber];

	// Disable the current page number button
	g_oDataTable.PageNumberButton.disabled = true;
	g_oDataTable.PageNumberButton.className = "currentpage";		

	// Determine whether to disable the 'next' button
	if(nPageNumber == g_oDataTable.tBodies.length-1) this.disabled = true;
	
	// Determine whether to enable the 'previous' button
	if(nPageNumber > 0) g_oPreviousPage.disabled = false;
	
	var nPageSize = g_oDataTable.PageSize;
	g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing " + ((nPageSize*nPageNumber)+1) + " - " + ((nPageSize*nPageNumber)+g_oDataTable.tBodies[nPageNumber].rows.length) + " of " + (g_oDataTable.rows.length-2);
}

function PreviousPage_Click(p_oEvent)
{
	// Hide all of the pages if they are currently displayed
	if(!g_oDataTable.PageNumberButton) ToggleAllPagesDisplay('none');
				
	// Determine the current page number
	var nPageNumber = parseInt(g_oDataTable.PageNumberButton.innerHTML)-1;

	// Hide the previous page
	g_oDataTable.tBodies[nPageNumber].style.display = "none";

	// Enable the previous page number button
	g_oDataTable.PageNumberButton.disabled = false;
	g_oDataTable.PageNumberButton.className = "";

	// Display the previous page
	nPageNumber--;
	g_oDataTable.tBodies[nPageNumber].style.display = g_sPageDisplayStyle;
	if(g_bNetscape6) g_oDataTable.tBodies[nPageNumber].parentNode.width = "100%";
	
	// Cache the current page number button
	g_oDataTable.PageNumberButton = g_aPageNumbers[nPageNumber];

	// Disable the current page number button
	g_oDataTable.PageNumberButton.disabled = true;
	g_oDataTable.PageNumberButton.className = "currentpage";				
	
	// Determine whether to enable the 'next' button
	if(nPageNumber < g_oDataTable.tBodies.length-1) g_oNextPage.disabled = false;

	// Determe whether to disabled the 'previous' button
	if(nPageNumber == 0) this.disabled = true;
	
	var nPageSize = g_oDataTable.PageSize;
	g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing " + ((nPageSize*nPageNumber)+1) + " - " + ((nPageSize*nPageNumber)+g_oDataTable.tBodies[nPageNumber].rows.length) + " of " + (g_oDataTable.rows.length-2);	
}

function PageNumber_Click()
{
	var nPageNumber;
	
	// Hide the current page
	if(g_oDataTable.PageNumberButton.innerHTML == "All") ToggleAllPagesDisplay("none");
	else
	{
		nPageNumber = parseInt(g_oDataTable.PageNumberButton.innerHTML)-1;
		g_oDataTable.tBodies[nPageNumber].style.display = "none";
	}

	g_oDataTable.PageNumberButton.className = "";
	g_oDataTable.PageNumberButton.disabled = false;
	
	// Display the next page
	nPageNumber = parseInt(this.innerHTML)-1;
	g_oDataTable.tBodies[nPageNumber].style.display = g_sPageDisplayStyle;
	if(g_bNetscape6) g_oDataTable.tBodies[nPageNumber].parentNode.width = "100%";
	
	// Cache the current page number button
	g_oDataTable.PageNumberButton = this;
	
	// Disable the current page number button
	this.className = "currentpage";
	this.disabled = true;

	// Syncronize the 'previous' and 'next' buttons
	g_oPreviousPage.disabled = (nPageNumber == 0) ? true : false;
	g_oNextPage.disabled = (nPageNumber == g_oDataTable.tBodies.length-1) ? true : false;
	
	var nPageSize = g_oDataTable.PageSize;
	g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing " + ((nPageSize*nPageNumber)+1) + " - " + ((nPageSize*nPageNumber)+g_oDataTable.tBodies[nPageNumber].rows.length) + " of " + (g_oDataTable.rows.length-2);
}

function TH_Click()
{
	if(g_oDataTable.OrderBy.value == this.id) g_oDataTable.SortDirection.value = (g_oDataTable.SortDirection.value == "asc") ? "desc" : "asc";
	else
	{	
		g_oDataTable.SortDirection.value = "asc";
		g_oDataTable.OrderBy.value = this.id;
	}
	document.forms[0].submit();
}

function DataTable_Init()
{
	// Create a global reference to the DataTable			
	g_oDataTable = document.getElementById("datatable");

	// Assign an onclick handler to each TH in the DataTable
	var aHeaderCells = g_oDataTable.tHead.rows[0].cells;
	var nHeaderCells = aHeaderCells.length-1;
	for(var i=nHeaderCells; i >= 0; i--) if(aHeaderCells[i].className != '') aHeaderCells[i].onclick = TH_Click;
	
	// Create an array of all of the checkboxes that represent a row in the DataTable
	var aRows = document.getElementsByName("row");

	// Make the hidden form fields for ordering, sorting and paging properties of the DataTable		
	var aDataTableFields = document.getElementById("datatablefields").getElementsByTagName("input");
	g_oDataTable.OrderBy = aDataTableFields[0];
	g_oDataTable.SortDirection =  aDataTableFields[1];
	g_oDataTable.PageSize = aDataTableFields[2].value;

	// Set the text in the footer
	if(g_oDataTable.tBodies.length > 1) g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing 1 - " + g_oDataTable.tBodies[0].rows.length + " of " + (g_oDataTable.rows.length-2);	
	else g_oDataTable.tFoot.rows[0].cells[0].innerHTML = "Showing 1 - " + g_oDataTable.tBodies[0].rows.length;

	if(document.getElementById("paging"))
	{
		g_bNetscape6 = navigator.userAgent.toLowerCase().indexOf("netscape6/6.0") != -1 ? true : false;
		
		// Determine the value to use when setting the display property
		g_sPageDisplayStyle = document.all ? 'block' : 'table-row-group';

		// Assign an onclick event handler to the 'next page' button
		g_oNextPage = document.getElementById("nextpage");
		g_oNextPage.onclick = NextPage_Click;
		
		// Assign on onclick event handler to the 'previous page' button
		g_oPreviousPage = document.getElementById("previouspage");
		g_oPreviousPage.onclick = PreviousPage_Click;
		g_oPreviousPage.disabled = true;

		// Assign on onclick event handler to the 'view all' button
		g_oViewAll = document.getElementById("viewall");
		g_oViewAll.onclick = ViewAll_Click;

		// Get a collection of all of the 'page number' buttons
		g_aPageNumbers = document.getElementsByName("pagenumber");
		
		// Cache a reference to the current 'page number' button on the DataTable object
		g_oDataTable.PageNumberButton = g_aPageNumbers[0];
		g_oDataTable.PageNumberButton.disabled = true;
		g_oDataTable.PageNumberButton.className = "currentpage";
		
		var nPageNumbers = g_aPageNumbers.length-1;
		for(var i=nPageNumbers; i>=0; i--) g_aPageNumbers[i].onclick = PageNumber_Click;
	}
}

-->