	//Global variables
	var strXSLFileName,strXMLFileName;
	var objXMLDoc, objXSLDoc, objXSLTemplate;
	var currentSortDirection = "ascending";
	var currentSortCol = "";
	var CurrentFilter = "";


	//HARDCODED VALUES-------------------
  	   strXMLFileName="XML/Links.xml";	// XML Data
	   strXSLFileName="XML/Render.xsl"; // XSL to build table
	//---------------------------------
	
	window.onload=DoInit;
	
	
function DoInit()
{
	objXMLDoc = new ActiveXObject("MSXML2.DomDocument");
	objXMLDoc.async = false;
	// This is necessary to use XPath in selectSingleNode and selectNodes methods
	// For backwards compatibility, XSL Patterns are default.
	objXMLDoc.setProperty("SelectionLanguage", "XPath");
	objXMLDoc.resolveExternals = false;
	objXMLDoc.validateOnParse = false;
	objXMLDoc.load(strXMLFileName);

	objXSLDoc = new ActiveXObject("MSXML2.FreeThreadedDomDocument");
	objXSLDoc.async = false;
	objXSLDoc.resolveExternals = false;
	objXMLDoc.validateOnParse = false;
	objXSLDoc.load(strXSLFileName);
        objXSLTemplate = new ActiveXObject("MSXML2.XSLTemplate");
	objXSLTemplate.stylesheet = objXSLDoc;




	renderData('Name');
}
function renderData(strSort)
{
	var objXSLProcessor;
	objXSLProcessor = objXSLTemplate.createProcessor();
	objXSLProcessor.input = objXMLDoc;

	// Toggle the sort direction only if necessary
	if (strSort == currentSortCol)
	{
		//strSort is CurrentSortCol
		if (currentSortDirection =="ascending")
		{
			currentSortDirection = "descending";
		}
		else
		{
			currentSortDirection = "ascending";
		}
	}
	else
	{
		//strSort is NOT CurrentSortCol
		currentSortCol = strSort;
		currentSortDirection = currentSortDirection;
	}
	//Process Params
	// Set the Tract filter
	var x=document.getElementById("filter1");
	CurrentFilter = (x.value);

	objXSLProcessor.addParameter("sortBy",strSort);
	objXSLProcessor.addParameter("direction",currentSortDirection);
	objXSLProcessor.addParameter("filter",CurrentFilter);
	
	objXSLProcessor.transform();
	document.getElementById('Results').innerHTML = objXSLProcessor.output;
}

function toggleDirection(strSort)
{
	if (strSort == currentSortCol)
	{
		//alert("strSort is CurrentSortCol");
		if (currentSortDirection =="descending")
		{
			currentSortDirection = "ascending";
		}
		else
		{
			currentSortDirection = "descending";
		}
	}
	else
	{
		//alert("strSort is NOT CurrentSortCol");
		currentSortCol = strSort;
		currentSortDirection = currentSortDirection;
	}
}
	
