	function SetOddEven (sTableId)
	{
		var oTRList, oTR, lCount, oTRs
		if (sTableId != null)
			oTRs = document.getElementById(sTableId).getElementsByTagName("tr");
		else
			oTRs = document.getElementsByTagName("tr");
		oTRList = new Enumerator(oTRs)
		lCount = 1
			
		for(;!oTRList.atEnd();oTRList.moveNext())
		{
			oTR = oTRList.item();
			if (oTR.parentElement.tagName == "TBODY")
			{
				if (lCount % 2 == 1)
					oTR.className = "table-row-odd"
				else
					oTR.className = "table-row-even"
					
				lCount = lCount + 1
			}
		}		
	}

	var g_sDirection = "-"; 
	var g_sDataType = "number";
	var g_sPreviousFieldName = "";
	var g_sPreviousDirection = "+";
	var g_sPreviousYear = ""; 
	
	function SortBy(sFieldName, sYear)
	{	
		if (sYear == null)
			sYear = g_sPreviousYear;
			
		// if new year clear previous sorts.
		if (sYear != g_sPreviousYear)
		{
			g_sPreviousFieldName = "";
			g_sPreviousDirection = "";
		}
		
		
		// Set Direction and Data Type based on the previous field and direction.
		if (sFieldName == "last-name")
		{
			if (sFieldName == g_sPreviousFieldName)
			{
				if (g_sPreviousDirection == "+")
					g_sDirection = "-";
				else	
					g_sDirection = "+";
			}
			else
				g_sDirection = "+";
				
			g_sDataType = "string";
		}
		else
		{
			if (sFieldName == g_sPreviousFieldName)
			{
				if (g_sPreviousDirection == "+")
					g_sDirection = "-";
				else	
					g_sDirection = "+";
			}
			else
				g_sDirection = "-";

			g_sDataType = "number";
		}
		
		g_sPreviousFieldName = sFieldName;
		g_sPreviousDirection = g_sDirection;
		
		var sOrderBy = g_sDirection + g_sDataType + "(" + sFieldName + ")";
		
		// Sort the data
		var oDataXML = new ActiveXObject("MSXML.DOMDocument");
		var oTotalDataXSL = new ActiveXObject("MSXML.DOMDocument");
		var oSortDataXSL = new ActiveXObject("MSXML.DOMDocument");
		// Load XML
		try
		{
			oDataXML = document.getElementById("JumpData" + sYear).XMLDocument;
			oTotalDataXSL.loadXML(document.getElementById("league-total").XMLDocument.xml);
			oSortDataXSL.loadXML(document.getElementById("league-sort").XMLDocument.xml.replace("ReplaceMe", sOrderBy));
		}
		catch(oErr)
		{
			alert(oErr.description);
			return;
		}

		oTotalDataXSL.async = "false";
		oSortDataXSL.async = "false";
		
		oDataXML.loadXML(oDataXML.documentElement.transformNode(oTotalDataXSL));
		var sHTML = oDataXML.documentElement.transformNode(oSortDataXSL);
		document.getElementById ("jumpleague").innerHTML = sHTML;
		document.getElementById ("year").innerHTML = sYear;
		g_sPreviousYear = sYear;
		
		SetOddEven('jumpleague');
	}
