// JScript File

/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/

/* from: http://apps.staging.pnionline.com/phillymarketplace/newmonster/querystring.js */ 

function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}

function init() 
{
	// quit if this function has already been called
    if (arguments.callee.done) return;
	
	// flag this function so we don't do the same thing twice
	arguments.callee.done = true;
	
	// kill the timer
	if (_timer) {
		clearInterval(_timer);
		_timer = null;
	}	
	
	for (i = 1;i < 8;i++)
	{
		document.getElementById("rdoSort" + i).disabled=true;
	}
	//alert ( document.getElementById("chkEnrollment").checked );
	document.getElementById("rdoSchoolType2").checked=false;
	document.getElementById("rdoSchoolType3").checked=false;
	document.getElementById("rdoSchoolType4").checked=false;
	document.getElementById("chkEnrollment").checked=false;
	document.getElementById("chkDiversity").checked=false;
	document.getElementById("chkSATPct").checked=false;
	document.getElementById("chkSATMath").checked=false;
	document.getElementById("chkSATVerb").checked=false;
	document.getElementById("chkSATWrite").checked=false;
	document.getElementById("chkAPEnroll").checked=false;
	document.select_search.selLanguages.options[document.forms['select_search'].elements.selLanguages.options.selectedIndex].value = "0";
	document.select_search.selLanguages.options[document.forms['select_search'].elements.selLanguages.options.selectedIndex].text = "--Select--";
	document.select_search.selGirlsSports.options[document.forms['select_search'].elements.selGirlsSports.options.selectedIndex].value = "0";
	document.select_search.selGirlsSports.options[document.forms['select_search'].elements.selGirlsSports.options.selectedIndex].text = "--Select--";
	document.select_search.selBoysSports.options[document.forms['select_search'].elements.selBoysSports.options.selectedIndex].value = "0";
	document.select_search.selBoysSports.options[document.forms['select_search'].elements.selBoysSports.options.selectedIndex].text = "--Select--";
	

	//alert ( document.getElementById("chkEnrollment").checked );
	if (document.getElementById("chkEnrollment").checked==true)
	{
		document.getElementById("rdoSort1").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort1").disabled=true;
	}
	if (document.getElementById("chkDiversity").checked==true)
	{
		document.getElementById("rdoSort2").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort2").disabled=true;
	}
	if (document.getElementById("chkSATPct").checked==true)
	{
		document.getElementById("rdoSort3").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort3").disabled=true;
	}
	if (document.getElementById("chkSATMath").checked==true)
	{
		document.getElementById("rdoSort4").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort4").disabled=true;
	}
	if (document.getElementById("chkSATVerb").checked==true)
	{
		document.getElementById("rdoSort5").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort5").disabled=true;
	}
	if (document.getElementById("chkSATWrite").checked==true)
	{
		document.getElementById("rdoSort6").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort6").disabled=true;
	}
	if (document.getElementById("chkAPEnroll").checked==true)
	{
		document.getElementById("rdoSort7").disabled=false;
	}
	else
	{
		document.getElementById("rdoSort7").disabled=true;
	}
	
	var qs = new Querystring();
	var searchterm = qs.get("searchterm");
	
	if (searchterm != null)
	{
		if (searchterm.length > 0)
		{
			document.getElementById("txtSchoolname").value = searchterm;
			findSchool(searchterm);
		}
	}
};

function createRequest()
{
	var request = null;
	try  {
		request = new XMLHttpRequest();
	}
	catch  (trymicrosoft)  {
		try  {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}  catch  (othermicrosoft) {
			try  {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}  catch (failed) {
				request = null;
			}
		}
	}
	if (request == null)	{
		alert("Error creating 1st request object!")
	} else {
		return request;
	}
}	

function sendRequest(request,url,callback)
{
	request.onreadystatechange = callback;
	request.open("GET", url, true);
	request.send(null);
}

// globally declare all AJAX XMLHttpRequest objects //
var request1 = createRequest();
var request2 = createRequest();
var request3 = createRequest();
var request4 = createRequest();

// globally declare an array for user-selected headers //
var headerList = new Array;

// globally declare a variable for number of user-selected headers //
var numheaders=0;

// globally declare variables for specific user-defined search filters //
var gLanguage;
var gGirlsSport;
var gBoysSport;
var gSchooltype;
var gEnrollField;
var gSortField;
var gSortToggle="";
var gSorted=false;

function fetchSchools(sortVal)
{
	if (navigator.appName == "Microsoft Internet Explorer") { 
		document.getElementById("waitLabel").style.display = "inline";
	}
	var schooltype;
	var enroll_field = "hsenroll_o";
	if (document.getElementById("rdoSchoolType1").checked==true)
	{
		schooltype = "pub"
	}
	else if (document.getElementById("rdoSchoolType2").checked==true)
	{
		schooltype = "priv"
	}
	else if (document.getElementById("rdoSchoolType3").checked==true)
	{
		schooltype = "charter"
	}	
	else if (document.getElementById("rdoSchoolType4").checked==true)
	{
		schooltype = "votech"
		//enroll_field = "fullenroll_f"
	}	
	gEnrollField = enroll_field;
	// -------------------------------------------------------- //
	var enrollment="";
	var diversity="";
	var sat_percent="";
	var sat_math="";
	var sat_verb="";
	var sat_write="";
	var ap_enroll="";
	var sort_field="";

	// -- reset headerList array to empty -- //
	headerList = [];
			
	// -- collect the UI selections and feed our variables accordingly -- //
	if (sortVal!="") 
	{ 
		clearSort(); 			// so that radio button releases control of sort to the clickable sort button
	}
	if (document.getElementById("chkEnrollment").checked==true)
	{
		enrollment = "1";
		numheaders++;
		headerList.push("Total enrollment");
		if (document.getElementById("rdoSort1").checked==true || sortVal=="Total enrollment")
		{
			//sort_field=enroll_field;
			if (gSortToggle=="desc")
			{
				sort_field=enroll_field;
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field=enroll_field + "_desc";
				gSortToggle="desc";			
			}
			gSortField = "Total enrollment";			
		}
	}
	if (document.getElementById("chkDiversity").checked==true)
	{
		diversity = "1";
		numheaders++;
		headerList.push("% diversity");
		if (document.getElementById("rdoSort2").checked==true || sortVal=="% diversity")
		{
			//sort_field="minorities";
			if (gSortToggle=="desc")
			{
				sort_field="minorities";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="minorities_desc";
				gSortToggle="desc";			
			}
			gSortField = "% diversity";
		}		
	}	
	if (document.getElementById("chkSATPct").checked==true)
	{
		sat_percent = "1";
		numheaders++;
		headerList.push("% taking SATs");
		if (document.getElementById("rdoSort3").checked==true || sortVal=="% taking SATs")
		{
			//sort_field="p_sat_f";
			if (gSortToggle=="desc")
			{
				sort_field="p_sat_f";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="p_sat_f_desc";
				gSortToggle="desc";			
			}
			gSortField = "% taking SATs";		
		}		
	}	
	if (document.getElementById("chkSATMath").checked==true)
	{
		sat_math = "1";
		numheaders++;
		headerList.push("SAT<br/>math");
		//alert ( "SATMATH is checked!" );
		if (document.getElementById("rdoSort4").checked==true || sortVal=="SAT<br/>math")
		{
			//sort_field="satmath_f";
			if (gSortToggle=="desc")
			{
				sort_field="satmath_f";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="satmath_f_desc";
				gSortToggle="desc";			
			}
			gSortField = "SAT<br/>math";			
		}		
	}	
	if (document.getElementById("chkSATVerb").checked==true)
	{
		sat_verb = "1";
		numheaders++;
		headerList.push("SAT<br/>verbal");
		if (document.getElementById("rdoSort5").checked==true || sortVal=="SAT<br/>verbal")
		{
			//sort_field="satverb_f";
			if (gSortToggle=="desc")
			{
				sort_field="satverb_f";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="satverb_f_desc";
				gSortToggle="desc";			
			}
			gSortField = "SAT<br/>verbal";				
		}	
	}	
	if (document.getElementById("chkSATWrite").checked==true)
	{
		sat_write = "1";
		numheaders++;
		headerList.push("SAT<br/>writing");
		if (document.getElementById("rdoSort6").checked==true || sortVal=="SAT<br/>writing")
		{
			//sort_field="satwrite_f";
			if (gSortToggle=="desc")
			{
				sort_field="satwrite_f";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="satwrite_f_desc";
				gSortToggle="desc";			
			}
			gSortField = "SAT<br/>writing";
		}		
	}	
	if (document.getElementById("chkAPEnroll").checked==true)
	{
		ap_enroll = "1";
		numheaders++;
		headerList.push("% AP enrollment");
		if (document.getElementById("rdoSort7").checked==true || sortVal=="% AP enrollment")
		{
			//sort_field="ap_enroll";
			if (gSortToggle=="desc")
			{
				sort_field="ap_enroll";
				gSortToggle="";
			}
			else if (gSortToggle=="")
			{
				sort_field="ap_enroll_desc";
				gSortToggle="desc";			
			}
			gSortField = "% AP enrollment";
		}		
	}
	for (ii = 1;ii < 8;ii++)
	{
		if (document.getElementById("rdoSort" + ii).checked==true || sortVal!="")
		{	
			gSorted = true;
			break;
		}
		else
		{
			gSorted = false;
		}
	}	
	if (sortVal=="default") { sort_field==""; }
	// -------------------------------------------------------- //				
	var language = document.select_search.selLanguages.options[document.forms['select_search'].elements.selLanguages.options.selectedIndex].value;
	var girls_spt = document.select_search.selGirlsSports.options[document.forms['select_search'].elements.selGirlsSports.options.selectedIndex].value;
	var boys_spt = document.select_search.selBoysSports.options[document.forms['select_search'].elements.selBoysSports.options.selectedIndex].value;
	
	gLanguage = getFilterCriteria("lang",language)
	gGirlsSport = getFilterCriteria("girls_spt",girls_spt)
	gBoysSport = getFilterCriteria("boys_spt",boys_spt)
	gSchooltype = getFilterCriteria("schooltype",schooltype)
		
	var baseUrl = "scripts/getSelectedSchools.asp?";
	var param = "dummy=" + new Date().getTime();
	param += "&schtype=" + schooltype + "&enrollfield=" + enroll_field;
	param += "&enroll=" + enrollment + "&div=" + diversity + "&sat_pct=" + sat_percent;
	param += "&satmath=" + sat_math + "&satverb=" + sat_verb + "&satwrite=" + sat_write;
	param += "&apenroll=" + ap_enroll + "&lang=" + language + "&gspt=" + girls_spt + "&bspt=" + boys_spt;
	param += "&sort=" + sort_field + "&numheaders=" + numheaders;
	var url = baseUrl + param;
	//alert ( url );
    request4 = createRequest();
    sendRequest(request4,url,showSelectResults);	
}

function getFilterCriteria(ftype, fvalue)
{
	if (ftype=="lang")
	{
		if (fvalue=="l_spanish_f")	{ return "Spanish" } 
		else if (fvalue=="l_german_f")	{ return "German"; } 
		else if (fvalue=="l_italian_f")	{ return "Italian"; }
		else if (fvalue=="l_russian_f")	{ return "Russian"; } 
		else if (fvalue=="l_greek_f")	{ return "Greek"; } 
		else if (fvalue=="l_french_f")	{ return "French"; } 
		else if (fvalue=="l_latin_f")	{ return "Latin"; }
		else if (fvalue=="l_japanese_f")	{ return "Japanese"; }
		else if (fvalue=="l_hebrew_f")	{ return "Hebrew"; }
		else if (fvalue=="l_chinese_f")	{ return "Chinese"; } 
		else { return ""; }
	}
	else if (ftype=="girls_spt")
	{
		if (fvalue=="y_gbasket_f")	{ return "Girls' basketball"; } 
		else if (fvalue=="y_gbase_f")	{ return "Girls' softball"; } 
		else if (fvalue=="y_glacrosse_f")	{ return "Girls' lacrosse"; } 
		else if (fvalue=="y_gfield_f")	{ return "Girls' field hockey"; } 
		else if (fvalue=="y_gsoccer_f")	{ return "Girls' soccer"; }
		else if (fvalue=="y_gfootball_f")	{ return "Girls' football"; } 
		else if (fvalue=="y_gice_f")	{ return "Girls' ice hockey"; }
		else { return ""; }
	}
	else if (ftype=="boys_spt")
	{
		if (fvalue=="y_bbasket_f") { return "Boys' basketball"; }
		else if (fvalue=="y_bbase_f") { return "Boys' baseball"; }
		else if (fvalue=="y_blacrosse_f") { return "Boys' lacrosse"; }
		else if (fvalue=="y_bfield_f") { return "Boys' field hockey"; }
		else if (fvalue=="y_bsoccer_f") { return "Boys' soccer"; }
		else if (fvalue=="y_bfootball_f") { return "Boys' football"; }
		else if (fvalue=="y_bice_f") { return "Boys' ice hockey"; }
		else { return ""; }
		
	}
	else if (ftype=="schooltype")
	{
		if (fvalue=="pub")	{ return "Public schools"; }
		else if (fvalue=="priv")	{ return "Private/parochial schools"; }
		else if (fvalue=="charter")	{ return "Charter schools"; }
		else if (fvalue=="votech")	{ return "Vocational-technical schools"; }
		else { return ""; }
	}
}

function getWidth(numheaders)
{
	if (numheaders==7)
	{
		return "23"
	}
	else if (numheaders==6)
	{
		return "28"
	}
	else if (numheaders==5)
	{
		return "30"
	}	
	else if (numheaders==4)
	{
		return "31"
	}
	else if (numheaders==3)
	{
		return "31"
	}	
	else if (numheaders==2)
	{
		return "36"
	}
	else if (numheaders==1)
	{
		return "60"
	}
	else
	{
		return "0"
	}
}	

function clearSort()
{
	for (i = 1;i < 8;i++)
	{
		document.getElementById("rdoSort" + i).checked = false;
	}
}

function pressDown(thisButton)
{
	document.getElementbyId(thisButton.id).style.borderStyle="inset";
}

function pressUp(thisButton)
{
	document.getElementbyId(thisButton.id).style.borderStyle="outset";
}

function showSelectResults()
{
	if (request4.readyState == 4)
	{
		if (request4.status == 200)
		{	
			xmlDoc4 = request4.responseXML;
			var hsIDElements = xmlDoc4.getElementsByTagName("hs-id");
			var hsNameElements = xmlDoc4.getElementsByTagName("hs-name");
			var hsAddrElements = xmlDoc4.getElementsByTagName("hs-addr");
			var hsCityElements = xmlDoc4.getElementsByTagName("hs-city");
			var hsEnrollElements;
			var hsDiversityElements;
			var hsSATPctElements;
			var hsSATMathElements;
			var hsSATVerbalElements;
			var hsSATWriteElements;
			var hsAPEnrollElements;
			var hsID;
			var hsName = "";
			var hsAddr = "";
			var hsCity = "";
			var hsEnroll = "";
			var hsDiversity = "";
			var hsSATPct = "";
			var hsSATMath = "";
			var hsSATVerb = "";
			var hsSATWrite = "";
			var hsAPEnroll = "";
			var hsDisplay = "";
			var arrowDef="";
			var arrowDir;
			var arrowDefFound=false;
			
			if (gSortToggle=="desc")
			{
				arrowDir="<img src=\"images/up_arrow.gif\" border=\"0\">";
			}
			else if (gSortToggle=="" && gSortField!="")
			{
				arrowDir="<img src=\"images/down_arrow.gif\" border=\"0\">";
			}
			// -- blank the results label and hourglass -- //
			document.getElementById("results-label").innerHTML = "";
			document.getElementById("waitLabel").style.display = "none";
			
			if (document.getElementById("chkEnrollment").checked==true)	
			{
				hsEnrollElements = xmlDoc4.getElementsByTagName(gEnrollField);
			}
			if (document.getElementById("chkDiversity").checked==true)	 
			{
				hsDiversityElements = xmlDoc4.getElementsByTagName("div");
			}
			if (document.getElementById("chkSATPct").checked==true)	 
			{
				hsSATPctElements = xmlDoc4.getElementsByTagName("p_sat_f");
			}				
			if (document.getElementById("chkSATMath").checked==true)	 
			{
				hsSATMathElements = xmlDoc4.getElementsByTagName("satmath_f");
			}				
			if (document.getElementById("chkSATVerb").checked==true)	 
			{
				hsSATVerbalElements = xmlDoc4.getElementsByTagName("satverb_f");
			}
			if (document.getElementById("chkSATWrite").checked==true)	 
			{
				hsSATWriteElements = xmlDoc4.getElementsByTagName("satwrite_f");
			}							
			if (document.getElementById("chkAPEnroll").checked==true)	 
			{
				hsAPEnrollElements = xmlDoc4.getElementsByTagName("ap_enroll");
			}				
			// -- create the HTML for the headers
			var tableDef = "<table width=\"630px\" cellspacing=\"2\" cellpadding=\"2\" style=\"border:1px solid #ccc;\">";
			var tblHeader = "<th class=\"resultsheader\" style=\"width:" + getWidth(numheaders) + "%;cursor:pointer\" title=\"Sort this column\" onmousedown=\"this.className='alt-resultsheader1'\" onmouseout=\"this.className='alt-resultsheader2'\" onclick=\"javascript:fetchSchools('default')\">HIGH SCHOOLS</th>";
					
			for (n = 0;n < headerList.length; n++)
			{
				if (headerList[n].toString() == gSortField && arrowDefFound==false && gSorted==true)
				{
					// -- header definition with the up/down arrow -- //
					arrowDef = "&nbsp;<span id=\"arrow-def" + (n+1) + "\">" + arrowDir + "</span>";
					arrowDefFound = true;
					tblHeader += "<th id=\"header" + n + "\" class=\"resultsheader\" style=\"cursor:pointer\" title=\"Sort this column\" onmousedown=\"this.className='alt-resultsheader1'\" onmouseout=\"this.className='alt-resultsheader2'\" onclick=\"javascript:fetchSchools('" + headerList[n].toString() + "')\">" + headerList[n].toString() + arrowDef + "</th>";
				}
				else
				{
					// -- header definition without the up/down arrow -- //
					tblHeader += "<th id=\"header" + n + "\" class=\"resultsheader\" style=\"cursor:pointer\" title=\"Sort this column\" onmousedown=\"this.className='alt-resultsheader1'\" onmouseout=\"this.className='alt-resultsheader2'\" onclick=\"javascript:fetchSchools('" + headerList[n].toString() + "')\">" + headerList[n].toString() + "</th>";
				}					
			}
			// -- clear any previous content from each of the 8 result div containers -- //
			for (z = 1;z < 8;z++)
			{
				if (document.getElementById("select-results-" + z + "col").hasChildNodes())
				{
			   	document.getElementById("select-results-" + z + "col").removeChild(document.getElementById("select-results-" + z + "col").firstChild);
				}
			}
			if (hsIDElements.length > 0)
			{
			    for ( i = 0; i < hsIDElements.length; i++ )
			    {
			        if (hsIDElements[i].hasChildNodes())
			        {
				        hsID = hsIDElements[i].firstChild.nodeValue;
			        }			
			        if (hsNameElements[i].hasChildNodes())
			        {
				        hsName = hsNameElements[i].firstChild.nodeValue;
			        }	
			        if (hsAddrElements[i].hasChildNodes())
			        {
				        hsAddr = hsAddrElements[i].firstChild.nodeValue;
			        }
			        if (hsCityElements[i].hasChildNodes())
			        {
				        hsCity = hsCityElements[i].firstChild.nodeValue;
			        }
			        if (hsEnrollElements && hsEnrollElements[i].hasChildNodes())
			        {
				        hsEnroll = hsEnrollElements[i].firstChild.nodeValue;
			        }
			        if (hsDiversityElements && hsDiversityElements[i].hasChildNodes())
			        {
				        hsDiversity = hsDiversityElements[i].firstChild.nodeValue;
			        }	
			        if (hsSATPctElements && hsSATPctElements[i].hasChildNodes())
			        {
				        hsSATPct = hsSATPctElements[i].firstChild.nodeValue;
			        }
			        if (hsSATMathElements && hsSATMathElements[i].hasChildNodes())
			        {
				        hsSATMath = hsSATMathElements[i].firstChild.nodeValue;
			        }
			        if (hsSATVerbalElements && hsSATVerbalElements[i].hasChildNodes())
			        {
				        hsSATVerb = hsSATVerbalElements[i].firstChild.nodeValue;
			        }
			        if (hsSATWriteElements && hsSATWriteElements[i].hasChildNodes())
			        {
				        hsSATWrite = hsSATWriteElements[i].firstChild.nodeValue;
			        }
			        if (hsAPEnrollElements && hsAPEnrollElements[i].hasChildNodes())
			        {
				        hsAPEnroll = hsAPEnrollElements[i].firstChild.nodeValue;
			        }
			        hsDisplay = hsDisplay + "<tr><td class=\"resultsformat\" style=\"width:" + getWidth(numheaders) + "%\">";
			        hsDisplay += "<a href=\"" + serverName + "publichighschools.aspx?hsID=" + hsID + "\">";
			        hsDisplay += "<b>" + hsName + "</b></a>&nbsp;";
			        hsDisplay += "<br/>" + hsAddr + " " + hsCity + "</td>";
					if (hsEnroll.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsEnroll + "</td>";
					}
					if (hsDiversity.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsDiversity + "</td>";
					}
					if (hsSATPct.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsSATPct + "</td>";
					}
					if (hsSATMath.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsSATMath + "</td>";
					}
					if (hsSATVerb.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsSATVerb + "</td>";
					}
					if (hsSATWrite.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsSATWrite + "</td>";
					}
					if (hsAPEnroll.length>0) { 
						hsDisplay += "<td class=\"resultsformat\">" + hsAPEnroll + "</td>";
					}
					hsDisplay += "</tr>";
			    }
			}
			else
			{
			    hsDisplay = hsDisplay + tableDef + "&nbsp;<font color=\"red\"><b>No high schools match your search criteria.</b></font>";
			}
			// ----- initialize all divs to "display:none" before unveiling only the div selected by the user ---- //
			for (jj = 1;jj < 8;jj++)
			{
				document.getElementById("select-results-" + jj + "col").style.display = "none";
			}
			document.getElementById("select-results-" + numheaders + "col").style.display = "block";
			document.getElementById("select-results-" + numheaders + "col").innerHTML = tableDef + tblHeader + hsDisplay + "</table>";
			document.getElementById("results-label").style.display = "block";
			document.getElementById("results-label").innerHTML = "&nbsp;<b>RESULTS FOUND:</b> " + gSchooltype;
			document.getElementById("basic-search-results").style.display = "none";
			numheaders=0;
			if (gLanguage.length>0)
			{
				document.getElementById("results-label").innerHTML += " offering " + gLanguage;
			}
			if (gGirlsSport.length>0)
			{
				document.getElementById("results-label").innerHTML += ", " + gGirlsSport;
			}
			if (gBoysSport.length>0)
			{
				document.getElementById("results-label").innerHTML += ", " + gBoysSport;
			}
			document.getElementById("results-label").innerHTML += " (" + hsIDElements.length + " records).";	
        }
    }
}


function findSchool(strInput)
{
	if (strInput.length==0)
	{
		alert("Please enter a search term.");
		document.getElementById("txtSchoolname").focus();
	}
	else
	{
		for (z = 1;z < 8;z++)
		{
			if (document.getElementById("select-results-" + z + "col").hasChildNodes())
			{
		   	document.getElementById("select-results-" + z + "col").removeChild(document.getElementById("select-results-" + z + "col").firstChild);
			}
			document.getElementById("results-label").innerHTML = "";
		}
	    gSearchTerm = strInput;
		var baseUrl = "scripts/getSchoolDistricts.asp?";
		var param = "searchterm=" + strInput + "&dummy=" + new Date().getTime();
		var url = baseUrl + param;
		
	    request1 = createRequest();
	    sendRequest(request1,url + "&request=district",updateDistrictResults);
		
		request2 = createRequest();
		sendRequest(request2,url + "&request=highschool",updateHighSchoolResults); 
		
		request3 = createRequest();
		sendRequest(request3,url + "&request=gradeschool",updateGradeSchoolResults);
	}
}

var xmlDoc1;
var xmlDoc2;
var xmlDoc3;
var xmlDoc4;
var gSearchTerm;
var serverName = "http://aps1.philly.com/reportcard/aspx/";
var safari_found = navigator.appVersion.indexOf("Safari");

function updateDistrictResults()
{    
	if (request1.readyState == 4)
	{
		if (request1.status == 200)
		{	
			xmlDoc1 = request1.responseXML;
			var districtIDElements = xmlDoc1.getElementsByTagName("dist-id");
			var districtNameElements = xmlDoc1.getElementsByTagName("dist-name");
			var districtAddrElements = xmlDoc1.getElementsByTagName("dist-addr");
			var districtCityElements = xmlDoc1.getElementsByTagName("dist-city");

			var districtID;
			var districtName = "";
			var districtAddr = "";
			var districtCity = "";
			var whatClass;
			if ( safari_found != -1 )
			{
				whatClass = "resultsborder2";
			}
			else
			{
				whatClass = "resultsborder";
			}
			var districtDisplay = "<div id=\"district-header\">&nbsp;PROFILES OF SCHOOL DISTRICTS RESEMBLING ... " + gSearchTerm.toUpperCase() + "</div><div class=" + whatClass + ">";
					
			if (document.getElementById("district-search-results").hasChildNodes())
			{
			   document.getElementById("district-search-results").removeChild(document.getElementById("district-search-results").firstChild);
			}
			if (districtNameElements.length > 0)
			{
			    for ( i = 0; i < districtNameElements.length; i++ )
			    {
			        if (districtIDElements[i].hasChildNodes())
			        {
				        districtID = districtIDElements[i].firstChild.nodeValue;
			        }			
			        if (districtNameElements[i].hasChildNodes())
			        {
				        districtName = districtNameElements[i].firstChild.nodeValue;
			        }	
			        if (districtAddrElements[i].hasChildNodes())
			        {
				        districtAddr = districtAddrElements[i].firstChild.nodeValue;
			        }
			        if (districtCityElements[i].hasChildNodes())
			        {
				        districtCity = districtCityElements[i].firstChild.nodeValue;
			        }
			        districtDisplay = districtDisplay + "<div id=\"district-display\">";
			        districtDisplay += "&nbsp;<a href=\"" + serverName + "districts2.aspx?distID=" + districtID + "\">";
			        districtDisplay += "<b>" + districtName + "</b></a>&nbsp;";
			        districtDisplay += districtAddr + " " + districtCity + "</div>";
			    }
			}
			else
			{
			    districtDisplay = districtDisplay + "<div id=\"district-display\">";
			    districtDisplay += "&nbsp;<b>No school districts match your search term.</b></div>";
			}
			document.getElementById("basic-search-results").style.display = "block";
			document.getElementById("district-search-results").innerHTML = districtDisplay + "</div><div class=\"divclear\"></div>";
        }
    }
}

function updateHighSchoolResults()
{
	if (request2.readyState == 4)
	{
		if (request2.status == 200)
		{	
			xmlDoc2 = request2.responseXML;
			var hsIDElements = xmlDoc2.getElementsByTagName("hs-id");
			var hsNameElements = xmlDoc2.getElementsByTagName("hs-name");
			var hsCityElements = xmlDoc2.getElementsByTagName("hs-city");
			var hsCountyElements = xmlDoc2.getElementsByTagName("hs-county");
			
			var hsID;
			var hsName = "";
			var hsCity = "";
			var hsCounty = "";
			var whatClass;
			if ( safari_found != -1 )
			{
				whatClass = "resultsborder2";
			}
			else
			{
				whatClass = "resultsborder";
			}			
			var hsDisplay = "<div id=\"hs-header\">&nbsp;PROFILES OF HIGH SCHOOLS RESEMBLING ... " + gSearchTerm.toUpperCase() + "</div><div class=" + whatClass + ">";
					
			if (document.getElementById("highschool-search-results").hasChildNodes())
			{
			   document.getElementById("highschool-search-results").removeChild(document.getElementById("highschool-search-results").firstChild);
			}
			if (hsNameElements.length > 0)
			{
			    for ( i = 0; i < hsNameElements.length; i++ )
			    {
			        if (hsIDElements[i].hasChildNodes())
			        {
				        hsID = hsIDElements[i].firstChild.nodeValue;
			        }			
			        if (hsNameElements[i].hasChildNodes())
			        {
				        hsName = hsNameElements[i].firstChild.nodeValue;
			        }	
			        if (hsCityElements[i].hasChildNodes())
			        {
				        hsCity = hsCityElements[i].firstChild.nodeValue;
			        }
			        if (hsCountyElements[i].hasChildNodes())
			        {
				        hsCounty = hsCountyElements[i].firstChild.nodeValue;
			        }			        
			        hsDisplay = hsDisplay + "<div id=\"highschool-display\">";
			        hsDisplay += "&nbsp;<a href=\"" + serverName + "publichighschools.aspx?hsid=" + hsID + "\">";
			        hsDisplay += "<b>" + hsName + "</b></a>&nbsp;";
			        hsDisplay += hsCity + " (" + hsCounty + " County)</div>";
			    }
			}
			else
			{
			    hsDisplay = hsDisplay + "<div id=\"highschool-display\">";
			    hsDisplay += "&nbsp;<b>No high schools match your search term.</b></div>";
			}
			document.getElementById("highschool-search-results").innerHTML = hsDisplay + "</div><div class=\"divclear\"></div>";
        }
    }
}

function updateGradeSchoolResults()
{
	if (request3.readyState == 4)
	{
		if (request3.status == 200)
		{	
			xmlDoc3 = request3.responseXML;
			var gsIDElements = xmlDoc3.getElementsByTagName("gs-id");
			var gsNameElements = xmlDoc3.getElementsByTagName("gs-name");
			var gsDistrictElements = xmlDoc3.getElementsByTagName("gs-district");
			var gsCountyElements = xmlDoc3.getElementsByTagName("gs-county");
			var gsGradeElements = xmlDoc3.getElementsByTagName("gs-grade");
			
			var gsID;
			var gsName = "";
			var gsDistrict = "";
			var hsCountyy = "";
			var gsGrade = "";
			var whatClass;
			if ( safari_found != -1 )
			{
				whatClass = "resultsborder2";
			}
			else
			{
				whatClass = "resultsborder";
			}				
			var gsDisplay = "<div id=\"gradeschool-header\">&nbsp;TEST-SCORE RESULTS FOR GRADE SCHOOLS RESEMBLING ... " + gSearchTerm.toUpperCase() + "</div><div class=" + whatClass + ">";
					
			if (document.getElementById("gradeschool-search-results").hasChildNodes())
			{
			   document.getElementById("gradeschool-search-results").removeChild(document.getElementById("gradeschool-search-results").firstChild);
			}
			if (gsNameElements.length > 0)
			{
			    for ( i = 0; i < gsNameElements.length; i++ )
			    {
			        if (gsIDElements[i].hasChildNodes())
			        {
				        gsID = gsIDElements[i].firstChild.nodeValue;
			        }			
			        if (gsNameElements[i].hasChildNodes())
			        {
				        gsName = gsNameElements[i].firstChild.nodeValue;
			        }	
			        if (gsDistrictElements[i].hasChildNodes())
			        {
				        gsDistrict = gsDistrictElements[i].firstChild.nodeValue;
			        }
			        if (gsCountyElements[i].hasChildNodes())
			        {
				        gsCounty = gsCountyElements[i].firstChild.nodeValue;
			        }
			        if (gsGradeElements[i].hasChildNodes())
			        {
				        gsGrade = gsGradeElements[i].firstChild.nodeValue;
			        }			        
			        gsDisplay = gsDisplay + "<div id=\"gradeschool-display\">";
			        gsDisplay += "&nbsp;<a href=\"" + serverName + "testscores.aspx?id=" + gsID + "&inq_school=" + gsName + "&grade=" + gsGrade + "\">";
			        gsDisplay += "<b>" + gsName + "</b></a>&nbsp;";
			        gsDisplay += gsDistrict + " (" + gsCounty + " County) " + gsGrade + "th-grade scores</div>";
			    }
			}
			else
			{
			    gsDisplay = gsDisplay + "<div id=\"gradeschool-display\">";
			    gsDisplay += "&nbsp;<b>No grade schools match your search term.</b></div>";
			}
			document.getElementById("gradeschool-search-results").innerHTML = gsDisplay + "</div><div class=\"divclear\"></div>";
        }
    }
}