/* 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;
	}	
	
	// capture the querystring parameters //
	var qs = new Querystring();
	var cityID = qs.get("cityID");
	var cityName = qs.get("cityName");
	var highwayName = qs.get("highwayName");
	
	var countyName = qs.get("countyname"); 		// NEW //
	var routeName = qs.get("routename"); 		// NEW //
	var industryID = qs.get("industryID");		// NEW //
	var industryName = qs.get("industryName");	// NEW //
	var alphaID = qs.get("alphaID")				// NEW //
	
	gCountyParam = countyName;					// NEW //
	gRouteParam = routeName;					// NEW //
	gIndustryIDParam = industryID;				// NEW //
	gIndustryParam = industryName;				// NEW //
	
	if ( countyName )
	{
		getCountyTowns(countyName);
	}
	else if ( routeName )
	{
		getCommuterTowns(routeName);	
	}
	else if ( industryID )
	{
		getIndustryJobs(industryID,industryName);
		//alert ( industryID );
	}
	else if ( alphaID )
		{
			getEmployer(alphaID);
		}
    };


/* from: http://apps.staging.pnionline.com/phillymarketplace/newmonster/regional_funcs.js */


var xmlDoc1;
var xmlDoc2;

function getCountyTowns(countyname)
{
	//var baseUrl = "getRegionals.asp?";
	//var param = "countyname=" + countyname + "&request=1&dummy=" + new Date().getTime();
	//url = baseUrl + param;
	//sendRequest(request1,url,updateTowns);
	gCountyParam = countyname;
	
	// READ THE READY-MADE ALL-COUNTY STATIC XML FILE INTO THE PAGE //
	var filename1 = "/includes/allCounties.xml";
	//var filename2 = "xml/employer_srch_by_county/" + countyname + "_e1.xml";
	loadXML(filename1);
	
	// USE AJAX TO CALL THE ASYNCHRONOUS ASP SCRIPT TO CREATE XML FILE OF EMPLOYERS //
	if ( countyname != "allCounties" )
	{
		var baseUrl = "/templates/urlProxy?url=http://aps1.philly.com/classifieds/monster/scripts/getRegionals.asp?";
		var param = "countyname=" + countyname + "&request=1&dummy=" + new Date().getTime();
		url = baseUrl + param;
		sendRequest(request1,url,updateEmployers);
	}
}

function loadXML(filename1)
{
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
		//alert ( "IE Implementation: " + filename1 + " " + filename2 );
		xmlDoc1 = new ActiveXObject("Microsoft.XMLDOM");
		//xmlDoc2 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc1.onreadystatechange = function () {
			if (xmlDoc1.readyState == 4)  updateTowns()
		};
		//xmlDoc2.onreadystatechange = function () {
		//	if (xmlDoc2.readyState == 4)  updateEmployers()
		//};		
		//alert ( callback );
		xmlDoc1.load(filename1);
		//xmlDoc2.load(filename2);
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		//alert ( "Mozilla Implementation: " + filename1 + " " + filename2 );
		xmlDoc1 = document.implementation.createDocument("","",null);
		xmlDoc1.load(filename1);
		xmlDoc1.onload=updateTowns;
		
		//xmlDoc2 = document.implementation.createDocument("","",null);
		//xmlDoc2.load(filename2);
		//xmlDoc2.onload=updateEmployers;
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
}

function updateTowns()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc1.readyState == null) {
	       xmlDoc1.readyState = 4;
		}
	}
	var townNameElements = xmlDoc1.getElementsByTagName("town-name");
	var townIDElements = xmlDoc1.getElementsByTagName("town-id");
	var townHighwayElements = xmlDoc1.getElementsByTagName("highway-name");
	var townNumjobsElements = xmlDoc1.getElementsByTagName("num-jobs");
	if ( gCountyParam == "allCounties" )
	{
		var townCountyElements = xmlDoc1.getElementsByTagName("county-name");
	}
	// ----------------------------------------------------------------- //
	var cityName;
	var cityID;
	var highwayName;
	var numJobs;
	var cityLink;
	var countyName;
	var countyLabel;
	var prevCountyLabel;
	var countyWord;
	
	if ( gCountyParam == "allCounties" ) {
		countyWord = "COUNTIES";
	} else {
		countyWord = "COUNTY";
	}
	cityLink = "";
	countyName = "";
	for ( i = 0; i < townNameElements.length; i++ )
	{
		if ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) 
		{	
			if (townNameElements[i].hasChildNodes() && ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) )
			{
				cityName = townNameElements[i].firstChild.nodeValue;
			}
			if (townIDElements[i].hasChildNodes() && ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) )
			{
				cityID = townIDElements[i].firstChild.nodeValue;
			}
			if (townCountyElements && townCountyElements[i].hasChildNodes() && ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) )
			{
				countyName = townCountyElements[i].firstChild.nodeValue;
			}
			if (townHighwayElements[i].hasChildNodes() && ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) )
			{
				highwayName = townHighwayElements[i].firstChild.nodeValue;
			}				
			if (townNumjobsElements[i].hasChildNodes() && ( townNameElements[i].parentNode.getAttribute('county') == gCountyParam || gCountyParam == "allCounties" ) )
			{
				numJobs = " (" + townNumjobsElements[i].firstChild.nodeValue + " jobs)" + "\n";
			}	
			
			if ( countyName != prevCountyLabel && gCountyParam == "allCounties" )
			{
				countyLabel = "<b>FIND MORE JOBS IN</b> <a href=\"javascript:getCountyTowns('" + countyName + "')\"><b>" + countyName.toUpperCase() + " COUNTY</b></a><br />";
			}  else if ( countyName == prevCountyLabel && gCountyParam != "allCounties" ) {
				countyLabel = "";
			}
			if ( gCountyParam == "allCounties" ) cityLink = ( cityLink + countyLabel );
			cityLink = cityLink + "<a href=\"javascript:getTownJobs('" + cityID + "','" + cityName + "','" + highwayName + "')\">";
			cityLink += cityName + "</a>" + numJobs + "<br>";
			
			prevCountyLabel = countyName;
			countyLabel = "";
		}
	}
	// -- UPDATE THE PAGE -- //
	
	if ( gCountyParam == "allCounties" )
	{ 
		document.getElementById("emp_header").style.display = "none";
		if (document.getElementById("countyname2").hasChildNodes())
		{
			document.getElementById("countyname2").removeChild(document.getElementById("countyname2").firstChild);
		}
	}		

	clearAllResults();
	document.getElementById("jobs_display").innerHTML = "";
	document.getElementById("selected_employers_display").innerHTML = "";
	document.getElementById("nabe_town_display").innerHTML = "";
	document.getElementById("results1").style.display = "inline";	
	
	document.getElementById("town_display").innerHTML = cityLink;
	document.getElementById("town_header").style.display = "inline";
	document.getElementById("results2").style.display = "none";
	document.getElementById("resultsbox").style.height = "350px";
	if (navigator.appName == "Netscape") { 
		document.getElementById("resultsbox").style.width = "675px";
		document.getElementById("resultsbox").style.overflow = "auto";
		document.getElementById("resultsbox").style.padding = "10px";
	}	
	if (document.getElementById("countyname1").hasChildNodes())
	{
		document.getElementById("countyname1").removeChild(document.getElementById("countyname1").firstChild);
	}
	document.getElementById("countyname1").appendChild(document.createTextNode("IN " + gCountyParam.toUpperCase() + " " + countyWord ));	
	
}

function updateEmployers()
{
	//if (navigator.appName == "Netscape") 
	//{
	//  if (xmlDoc2.readyState == null) {
	//       xmlDoc2.readyState = 4;
	//	}
	//}
	if (request1.readyState == 4)
	{
		if (request1.status == 200)
		{		
			xmlDoc2 = request1.responseXML;
			var empNameElements = xmlDoc2.getElementsByTagName("company-name");
			var empCityElements = xmlDoc2.getElementsByTagName("company-city");
			var empStateElements = xmlDoc2.getElementsByTagName("company-state");
			var empNumjobsElements = xmlDoc2.getElementsByTagName("num-jobs");
			// ----------------------------------------------------------------- //
			var empName;
			var empCity;
			var empStateName;
			var numJobs;
			var empNumJobs;
			var empLink;
			var jobsword;
			var sid;
			var re;
	
			empLink = "";
			re = / /g;
			for ( i = 0; i < empNameElements.length; i++ )
			{
				if (empNameElements[i].hasChildNodes())
				{
					empName = empNameElements[i].firstChild.nodeValue;
				}
				if (empCityElements[i].hasChildNodes())
				{
					empCity = empCityElements[i].firstChild.nodeValue;
				}
				if (empStateElements[i].hasChildNodes())
				{
					empStateName = empStateElements[i].firstChild.nodeValue;
					if ( empStateName == "NJ" )
					{ sid = "54" }
					else if ( empStateName == "PA" )
					{ sid = "72" }
					else if ( empStateName == "DE" )
					{ sid = "19" }					
				}
				if (empNumjobsElements[i].hasChildNodes())
				{
					numJobs = empNumjobsElements[i].firstChild.nodeValue;
					if ( parseInt(numJobs) > 1 )
					{ jobsword = "jobs"; }
					else
					{ jobsword = "job";	}	
					empNumJobs = " (" + numJobs + " " + jobsword + ")" + "\n";					
				}	
				empLink = empLink + "<a href=\"http://jobsearch.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + empName.replace(re,"+") + ")\">";
				empLink += empName + " / " + empCity + ", " + empStateName + "</a>" + empNumJobs + "<br>";
			}
			request1 = createRequest();
			document.getElementById("top_employers_display").innerHTML = empLink;
			if ( gCountyParam != "allCounties" )	{	
				document.getElementById("emp_header").style.display = "inline";
				if (document.getElementById("countyname2").hasChildNodes())
				{
					document.getElementById("countyname2").removeChild(document.getElementById("countyname2").firstChild);
				}
			}	
			document.getElementById("countyname2").appendChild(document.createTextNode("IN " + gCountyParam.toUpperCase() + " COUNTY"));
		}
	}
}


function clearAllResults()
{
	document.getElementById("town_display").innerHTML = "";
	document.getElementById("top_employers_display").innerHTML = "";
	document.getElementById("job_class_display").innerHTML = "";
	document.getElementById("industry_emp_display").innerHTML = "";	
	document.getElementById("employers_display").innerHTML = "";
	
	document.getElementById("town_header").style.display = "none";
	document.getElementById("emp_header").style.display = "none";
	document.getElementById("industry_class_header").style.display = "none";
	document.getElementById("industry_emp_header").style.display = "none";	
	document.getElementById("employers_header").style.display = "none";	

	if (document.getElementById("countyname1").hasChildNodes())
	{
		document.getElementById("countyname1").removeChild(document.getElementById("countyname1").firstChild);
	}
	if (document.getElementById("countyname2").hasChildNodes())
	{
		document.getElementById("countyname2").removeChild(document.getElementById("countyname2").firstChild);
	}
	if (document.getElementById("jobclassname1").hasChildNodes())
	{
		document.getElementById("jobclassname1").removeChild(document.getElementById("jobclassname1").firstChild);
	}
	if (document.getElementById("jobclassname2").hasChildNodes())
	{
		document.getElementById("jobclassname2").removeChild(document.getElementById("jobclassname2").firstChild);
	}		
	if (document.getElementById("jobname1").hasChildNodes())
	{
		document.getElementById("jobname1").removeChild(document.getElementById("jobname1").firstChild);
	}
	if (document.getElementById("employers_header").hasChildNodes())
	{
		document.getElementById("employers_header").removeChild(document.getElementById("employers_header").firstChild);
	}						
}

/* from: http://apps.staging.pnionline.com/phillymarketplace/newmonster/ajax.js */

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);
}

var request1 = createRequest();
var request2 = createRequest();
var request3 = createRequest();
var gCountyParam = "";
var gRouteParam = "";
var gIndustryParam = "";
var gIndustryIDParam = "";
var gTownParam = "";
var gHighwayParam = "";
var gAlphaParam = "";


/* from: http://apps.staging.pnionline.com/phillymarketplace/newmonster/commuter_funcs.js  */


var xmlDoc3;
var xmlDoc4;

function getCommuterTowns(routeName)
{
	//var baseUrl = "getCommuterRoutes.asp?";
	//var param = "routeName=" + routeName + "&request=1&dummy=" + new Date().getTime();
	//url = baseUrl + param;
	//sendRequest(request1,url,updateCommuterRoutes);
	gRouteParam = routeName;
	
	var filename1 = "http://apps.staging.pnionline.com/phillymarketplace/newmonster/xml/town_srch_by_commute/" + routeName.replace("/","_") + ".xml";
	//var filename1 = "xml/allCommuterRoutes.xml";
	var filename2 = "http://apps.staging.pnionline.com/phillymarketplace/newmonster/xml/employer_srch_by_commute/" + routeName.replace("/","_") + " employers.xml";
	loadXML2(filename1,filename2);	
}

function loadXML2(filename1,filename2)
{
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc3 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc4 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc3.onreadystatechange = function () {
			if (xmlDoc3.readyState == 4)  updateCommuterRoutes()
		};
		xmlDoc4.onreadystatechange = function () {
			if (xmlDoc4.readyState == 4)  updateRouteEmployers()
		};		
		//alert ( callback );
		xmlDoc3.load(filename1);
		xmlDoc4.load(filename2);
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc3 = document.implementation.createDocument("","",null);
		xmlDoc3.onload=updateCommuterRoutes;
		xmlDoc3.load(filename1);
		
		xmlDoc4 = document.implementation.createDocument("","",null);
		xmlDoc4.onload=updateRouteEmployers;
		xmlDoc4.load(filename2);		
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
}

//function requestTopRouteEmployers(gRouteParam)
//{
//	var baseUrl = "getCommuterRoutes.asp?";
//	var param = "routeName=" + gRouteParam + "&request=2&dummy=" + new Date().getTime();
//	url = baseUrl + param;
//	sendRequest(request2,url,updateRouteEmployers);
//}

function updateCommuterRoutes()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc3.readyState == null) {
	       xmlDoc3.readyState = 4;
		}
	}
	var townNameElements = xmlDoc3.getElementsByTagName("town-name");
	var townIDElements = xmlDoc3.getElementsByTagName("town-id");
	var townStateNameElements = xmlDoc3.getElementsByTagName("state-name");
	var townHighwayElements = xmlDoc3.getElementsByTagName("highway-name");
	var townNumjobsElements = xmlDoc3.getElementsByTagName("num-jobs");
	// ----------------------------------------------------------------- //
	var cityName;
	var cityID;
	var highwayName;
	var stateName;
	var numJobs;
	var cityLink;
	var parentHighway;
			
	cityLink = "";
	for ( i = 0; i < townNameElements.length; i++ )
	{
		if (townNameElements[i].hasChildNodes())
		{
			cityName = townNameElements[i].firstChild.nodeValue;
		}
		if (townIDElements[i].hasChildNodes())
		{
			cityID = townIDElements[i].firstChild.nodeValue;
		}
		if (townStateNameElements[i].hasChildNodes())
		{
			stateName = townStateNameElements[i].firstChild.nodeValue;
		}				
		if (townHighwayElements[i].hasChildNodes())
		{
			highwayName = townHighwayElements[i].firstChild.nodeValue;
		}
		if (townNumjobsElements[i].hasChildNodes())
		{
			numJobs = " (" + townNumjobsElements[i].firstChild.nodeValue + " jobs)";
		}	
		cityLink += "<a href=\"javascript:getTownJobs('" + cityID + "','" + cityName + "','" + highwayName + "')\">" + cityName + numJobs + "</a>" + "<br />";
		//cityLink += cityName + "</a>" + numJobs + "<br>";

	}
	request1 = createRequest();
	// -- UPDATE THE PAGE -- /
	
	clearAllResults();	
	if (navigator.appName == "Netscape") { 
		document.getElementById("resultsbox").style.width = "675px";
		document.getElementById("resultsbox").style.overflow = "auto";
		document.getElementById("resultsbox").style.padding = "10px";
	}	
	//document.getElementById("jobs_display").innerHTML = "";
	//document.getElementById("selected_employers_display").innerHTML = "";
	//document.getElementById("nabe_town_display").innerHTML = "";
	document.getElementById("results2").style.display = "none";
	document.getElementById("results1").style.display = "inline";	
	document.getElementById("town_display").innerHTML = cityLink;
	document.getElementById("town_header").style.display = "inline";
			
	if (document.getElementById("countyname1").hasChildNodes())
	{
		document.getElementById("countyname1").removeChild(document.getElementById("countyname1").firstChild);
	}
	document.getElementById("countyname1").appendChild(document.createTextNode("ALONG " + gRouteParam.toUpperCase()));		
}

function updateRouteEmployers()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc4.readyState == null) {
	       xmlDoc4.readyState = 4;
		}
	}
	var empNameElements = xmlDoc4.getElementsByTagName("company-name");
	var empCityElements = xmlDoc4.getElementsByTagName("company-city");
	var empStateElements = xmlDoc4.getElementsByTagName("company-state");
	var empNumjobsElements = xmlDoc4.getElementsByTagName("num-jobs");
	// ----------------------------------------------------------------- //
	var empName;
	var empCity;
	var empStateName;
	var numJobs;
	var empNumJobs;
	var jobsword;
	var empLink;
	var sid;
	var re;
			
	empLink = "";
	re = / /g;
	for ( i = 0; i < empNameElements.length; i++ )
	{
		if (empNameElements[i].hasChildNodes())
		{
			empName = empNameElements[i].firstChild.nodeValue;
		}
		if (empCityElements[i].hasChildNodes())
		{
			empCity = empCityElements[i].firstChild.nodeValue;
		}
		if (empStateElements[i].hasChildNodes())
		{
			empStateName = empStateElements[i].firstChild.nodeValue;
			if ( empStateName == "NJ" )
			{ sid = "54" }
			else if ( empStateName == "PA" )
			{ sid = "72" }
			else if ( empStateName == "DE" )
			{ sid = "19" }					
		}
		if (empNumjobsElements[i].hasChildNodes())
		{
			numJobs = empNumjobsElements[i].firstChild.nodeValue;
			if ( parseInt(numJobs) > 1 )
			{ jobsword = "jobs"; }
			else
			{ jobsword = "job";	}					
			empNumJobs = " (" + numJobs + " " + jobsword + ")" + "\n";
		}	
		empLink = empLink + "<a href=\"http://philly.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + empName.replace(re,"+") + ")\">";
		empLink += empName + " / " + empCity + ", " + empStateName + "</a>" + empNumJobs + "<br>";
	}
	request2 = createRequest();
	// -- UPDATE THE PAGE -- //
	document.getElementById("top_employers_display").innerHTML = empLink;
	document.getElementById("emp_header").style.display = "inline";
			
	if (document.getElementById("countyname2").hasChildNodes())
	{
		document.getElementById("countyname2").removeChild(document.getElementById("countyname2").firstChild);
	}
	document.getElementById("countyname2").appendChild(document.createTextNode("ALONG " + gRouteParam.toUpperCase()));			
}

function getAdjacentText ( highway )
{
	if ( highway == "I - 476" )
	{
		return " parentHighway == \"I - 276\" || parentHighway == \"I - 76\" || parentHighway == \"I - 95\" || parentHighway == \"Rte 202\" ";
	}
	else if ( highway == "I - 276" )
	{
		return "parentHighway == \"I - 476\" || parentHighway == \"Rte 73\" || parentHighway == \"Rte 202\" ";
	}
	else if ( highway == "I - 295" )
	{
		return "parentHighway == \"NJ Turnpike\" || parentHighway == \"Rte 130\" || parentHighway == \"Rte 322/NJ\" || parentHighway == \"Rte 38\" || parentHighway == \"Rte 42\" || parentHighway == \"Rte 70\" || parentHighway == \"Rte 73/NJ\" ";
	}
	else if ( highway == "I - 76" )
	{
		return "parentHighway == \"I - 276\" || parentHighway == \"I - 476\" || parentHighway == \"Rte 202\" || parentHighway == \"Rte 422\" ";
	}		
	else if ( highway == "I - 76/NJ")
	{
		return "parentHighway == \"I - 295\" || parentHighway == \Rte 42\" ";
	}
	else if ( highway == "I - 95" )
	{
		return "parentHighway == \"I - 76\" ";
	}
	else if ( highway == "I - 95/N" )
	{
		return "parentHighway == \"I - 276\" ";
	}		
	else if ( highway == "I - 95/S" )
	{
		return "parentHighway == \"I - 476\" || parentHighway == \Rte 322\" ";
	}
	else if ( highway == "NJ Turnpike" )
	{
		return "parentHighway == \"I - 295\" || parentHighway == \"Rte 130\" || parentHighway == \"Rte 42\" || parentHighway == \"Rte 73/NJ\" ";
	}		
	else if ( highway == "Rte 130" )
	{
		return "parentHighway == \"I - 295\" || parentHighway == \"NJ Turnpike\" ";
	}		
	else if ( highway == "Rte 202" )
	{
		return "parentHighway == \"I - 476\" || parentHighway == \"I - 76\" || parentHighway == \"Rte 73\" ";
	}		
	else if ( highway == "Rte 309" )
	{
		//alert ( "parentHighway == \"I - 276\" || parentHighway == \"I - 476\" || parentHighway == \"Rte 202\" || parentHighway == \"Rte 73\" " );
		return "parentHighway == \"I - 276\" || parentHighway == \"I - 476\" || parentHighway == \"Rte 202\" || parentHighway == \"Rte 73\" ";
	}		
	else if ( highway == "Rte 322")
	{
		return "parentHighway == \"Rte 202\" ";
	}		
	else if ( highway == "Rte 322/NJ" )
	{
		return "parentHighway == \"Rte 47\" ";
	}		
	else if ( highway == "Rte 38" )
	{
		return "parentHighway == \"I - 295\" || parentHighway == \Rte 70\" || parentHighway == \"Rte 73/NJ\" ";
	}
	else if ( highway == "Rte 42" )
	{
		return "parentHighway == \"Rte 47\" || parentHighway == \"Rte 322/NJ\" ";
	}			
	else if ( highway == "Rte 422" )
	{
		return "parentHighway == \"I - 276\" || parentHighway == \"I - 76\" || parentHighway == \"Rte 202\" ";
	}		
	else if ( highway == "Rte 47" )
	{
		return "parentHighway == \"Rte 322/NJ\" || parentHighway == \"Rte 42\" ";
	}		
	else if ( highway == "Rte 70" )
	{
		return "parentHighway == \"Rte 38\" || parentHighway == \"Rte 73/NJ\" ";
	}		
	else if ( highway == "Rte 73" )
	{
		return "parentHighway == \"I - 276\" || parentHighway == \"I - 476\" || parentHighway == \"Rte 202\" ";
	}
	else if ( highway == "Rte 73/NJ" )
	{
		return "parentHighway == \"NJ Turnpike\" || parentHighway == \"I - 295\" || parentHighway == \"Rte 70\" ";
	}
	else
	{
		return "";
	}	
}

/* From: http://apps.staging.pnionline.com/phillymarketplace/newmonster/industry_funcs.js */

var xmlDoc5;
var xmlDoc6;

function getIndustryJobs(industryID, industryName)
{
	//var baseUrl = "getIndustries.asp?";
	//var param = "industryID=" + industryID + "&request=2&dummy=" + new Date().getTime();
	//url = baseUrl + param;
	//sendRequest(request2,url,updateIndustryClassifications);
	var filename1 = "/includes/industryclass_" + industryID + ".xml";
	var filename2 = "/includes/industryemployers_" + industryID + ".xml";
	loadXML3(filename1,filename2);	
	
	gIndustryParam = industryName;
	gIndustryIDParam = industryID;
	//
	clearAllResults();
	document.getElementById("jobs_display").innerHTML = "";
	document.getElementById("selected_employers_display").innerHTML = "";
	document.getElementById("nabe_town_display").innerHTML = "";
	document.getElementById("results1").style.display = "inline";	
	document.getElementById("results2").style.display = "none";		
}

function loadXML3(filename1,filename2)
{
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc5 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc6 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc5.onreadystatechange = function () {
			if (xmlDoc5.readyState == 4)  updateIndustryClassifications()
		};
		xmlDoc6.onreadystatechange = function () {
			if (xmlDoc6.readyState == 4)  updateIndustryEmployers()
		};		
		//alert ( callback );
		xmlDoc5.load(filename1);
		xmlDoc6.load(filename2);
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc5 = document.implementation.createDocument("","",null);
		xmlDoc5.load(filename1);
		xmlDoc5.onload=updateIndustryClassifications;
		
		xmlDoc6 = document.implementation.createDocument("","",null);
		xmlDoc6.load(filename2);
		xmlDoc6.onload=updateIndustryEmployers;
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
}


function updateIndustryClassifications()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc5.readyState == null) {
	       xmlDoc5.readyState = 4;
		}
	}
	var classNameElements = xmlDoc5.getElementsByTagName("class-name");
	var classIDElements = xmlDoc5.getElementsByTagName("class-id");
	var classStateNameElements = xmlDoc5.getElementsByTagName("state-name");
	var classNumJobsElements = xmlDoc5.getElementsByTagName("num-jobs");
	// ----------------------------------------------------------------- //
	var className;
	var classID;
	var stateName;
	var numJobs;
	var jobsword;
	var sid;

	jobClassLink = "";
	for ( i = 0; i < classNameElements.length; i++ )
	{
		if (classNameElements[i].hasChildNodes())
		{
			className = classNameElements[i].firstChild.nodeValue;
		}
		if (classIDElements[i].hasChildNodes())
		{
			classID = classIDElements[i].firstChild.nodeValue;
		}
		if (classStateNameElements[i].hasChildNodes())
		{
			stateName = classStateNameElements[i].firstChild.nodeValue;
			if ( stateName == "NJ" )
			{ sid = "54" }
			else if ( stateName == "PA" )
			{ sid = "72" }
			else if ( stateName == "DE" )
			{ sid = "19" }						
		}				
		if (classNumJobsElements[i].hasChildNodes())
		{
			numJobs = classNumJobsElements[i].firstChild.nodeValue;
			if ( parseInt(numJobs) > 1 )
			{ jobsword = "jobs"; }
			else
			{ jobsword = "job";	}
		}				
		jobClassLink = jobClassLink + "<a href=\"http://philly.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + className.replace(" ","+") + "')\">";
		jobClassLink += className + "&nbsp;(" + stateName + ")</a> " + numJobs + " " + jobsword + "<br>";				
	}
	request2 = createRequest();
	document.getElementById("job_class_display").innerHTML = jobClassLink;
	document.getElementById("results2").style.display = "none";
	document.getElementById("nabe_results").style.display = "none";
	
    // -- UPDATE THE PAGE -- //
	document.getElementById("town_display").innerHTML = "";
	document.getElementById("industry_class_header").style.display = "inline";
	if (document.getElementById("jobclassname1").hasChildNodes())
	{
		document.getElementById("jobclassname1").removeChild(document.getElementById("jobclassname1").firstChild);
	}
	document.getElementById("jobclassname1").appendChild(document.createTextNode(gIndustryParam.toUpperCase()));		
}

function updateIndustryEmployers()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc6.readyState == null) {
	       xmlDoc6.readyState = 4;
		}
	}
	var empNameElements = xmlDoc6.getElementsByTagName("company-name");
	var empCityElements = xmlDoc6.getElementsByTagName("company-city");
	var empStateElements = xmlDoc6.getElementsByTagName("company-state");
	var empNumjobsElements = xmlDoc6.getElementsByTagName("num-jobs");
	// ----------------------------------------------------------------- //
	var empName;
	var empCity;
	var empStateName;
	var numJobs;
	var empNumJobs;
	var jobsword;
	var empLink;
	var sid;
	var re;
			
	empLink = "";
	re = / /g;
	for ( i = 0; i < empNameElements.length; i++ )
	{
		if (empNameElements[i].hasChildNodes())
		{
			empName = empNameElements[i].firstChild.nodeValue;
		}
		if (empCityElements[i].hasChildNodes())
		{
			empCity = empCityElements[i].firstChild.nodeValue;
		}
		if (empStateElements[i].hasChildNodes())
		{
			empStateName = empStateElements[i].firstChild.nodeValue;
			if ( empStateName == "NJ" )
			{ sid = "54" }
			else if ( empStateName == "PA" )
			{ sid = "72" }
			else if ( empStateName == "DE" )
			{ sid = "19" }	
		}
		if (empNumjobsElements[i].hasChildNodes())
		{
			numJobs = empNumjobsElements[i].firstChild.nodeValue
			if ( parseInt(numJobs) > 1 )
			{ jobsword = "jobs"; }
			else
			{ jobsword = "job";	}
			empNumJobs = " (" + numJobs + " " + jobsword + ")" + "\n";
		}	
		empLink = empLink + "<a href=\"http://philly.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + empName.replace(re,"+") + ")\">";
		empLink += empName + " / " + empCity + ", " + empStateName +"</a>" + empNumJobs + "<br>";
	}
	request3 = createRequest();
    // -- UPDATE THE PAGE -- //
	document.getElementById("industry_emp_display").innerHTML = empLink;
	document.getElementById("industry_emp_header").style.display = "inline";
	if (document.getElementById("jobclassname2").hasChildNodes())
	{
		document.getElementById("jobclassname2").removeChild(document.getElementById("jobclassname2").firstChild);
	}
	document.getElementById("jobclassname2").appendChild(document.createTextNode(gIndustryParam.toUpperCase()));				
}


/* from: http://apps.staging.pnionline.com/phillymarketplace/newmonster/employer_funcs.js */


var xmlDoc7;
var useNumeric;

function getEmployer(alphaID)
{
	gAlphaParam = alphaID;
	//var baseUrl = "getEmployers.asp?";
	//var param = "alphaID=" + alphaID + "&dummy=" + new Date().getTime();
	//url = baseUrl + param;
	//sendRequest(request1,url,updateAlphabeticalEmployers);
	//var filename = "xml/employers_" + alphaID + ".xml";
	var filename;
	if ( isNaN(alphaID) )
	{
		filename = "/includes/employers_all_by_alphabet.xml";
		useNumeric = false;
	}
	else
	{
		filename = "/includes/employers_all_by_numerics.xml";
		useNumeric = true;
	}
	loadXML4(filename);	
}

function loadXML4(filename)
{
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
		xmlDoc7 = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc7.onreadystatechange = function () {
			if (xmlDoc7.readyState == 4)  updateAlphabeticalEmployers()
		};
		//alert ( callback );
		xmlDoc7.load(filename);
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc7 = document.implementation.createDocument("","",null);
		xmlDoc7.onload=updateAlphabeticalEmployers;
		xmlDoc7.load(filename);
	}
	else
	{
		alert('Your browser cannot handle this script');
	}
}


function updateAlphabeticalEmployers()
{
	if (navigator.appName == "Netscape") 
	{
	   if (xmlDoc7.readyState == null) {
	       xmlDoc7.readyState = 4;
		}
	}
	var empNameElements = xmlDoc7.getElementsByTagName("company-name");
	var empCityElements = xmlDoc7.getElementsByTagName("company-city");
	var empStateElements = xmlDoc7.getElementsByTagName("company-state");
	var empNumjobsElements = xmlDoc7.getElementsByTagName("num-jobs");
	// ----------------------------------------------------------------- //
	var empName;
	var empCity;
	var empStateName;
	var sid;
	var numJobs;
	var empNumJobs;
	var jobsword;
	var empLink;
	var re;
			
	empLink = "";
	re = / /g;
	for ( i = 0; i < empNameElements.length; i++ )
	{
		if ( empNameElements[i].parentNode.getAttribute('alpha') == gAlphaParam || useNumeric == true )
		{
			if (empNameElements[i].hasChildNodes() && ( empNameElements[i].parentNode.getAttribute('alpha') == gAlphaParam || useNumeric == true ) )
			{
				empName = empNameElements[i].firstChild.nodeValue;
			}
			if (empCityElements[i].hasChildNodes() && ( empNameElements[i].parentNode.getAttribute('alpha') == gAlphaParam || useNumeric == true ) )
			{
				empCity = empCityElements[i].firstChild.nodeValue;
			}
			if (empStateElements[i].hasChildNodes() && ( empNameElements[i].parentNode.getAttribute('alpha') == gAlphaParam || useNumeric == true ) )
			{
				empStateName = empStateElements[i].firstChild.nodeValue;
				if ( empStateName == "NJ" )
				{ sid = "54" }
				else if ( empStateName == "PA" )
				{ sid = "72" }
				else if ( empStateName == "DE" )
				{ sid = "19" }
			}
			if (empNumjobsElements[i].hasChildNodes() && ( empNameElements[i].parentNode.getAttribute('alpha') == gAlphaParam || useNumeric == true ) )
			{
				numJobs = empNumjobsElements[i].firstChild.nodeValue;
				if ( parseInt(numJobs) > 1 )
				{ jobsword = "jobs"; }
				else
				{ jobsword = "job";	}				
				empNumJobs = " (" + numJobs + " " + jobsword + ")" + "\n";
			}	
			empLink = empLink + "<a href=\"http://philly.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + empName.replace(re,"+") + ")\">";
			empLink += empName + " / " + empCity + ", " + empStateName + "</a>" + empNumJobs + "<br>";
		}
	}
	request1 = createRequest();
    // -- UPDATE THE PAGE -- //
	if (navigator.appName == "Netscape") { 
		document.getElementById("resultsbox").style.width = "675px";
		document.getElementById("resultsbox").style.overflow = "auto";
		document.getElementById("resultsbox").style.padding = "10px";
	}		
	clearAllResults();
	document.getElementById("nabe_results").style.display = "none";
	document.getElementById("jobs_display").innerHTML = "";
	document.getElementById("selected_employers_display").innerHTML = "";
	document.getElementById("nabe_town_display").innerHTML = "";
	document.getElementById("results1").style.display = "inline";	
	document.getElementById("results2").style.display = "none";		
	
	document.getElementById("employers_display").innerHTML = empLink;
	document.getElementById("employers_header").style.display = "inline";
	if (document.getElementById("employers_header").hasChildNodes())
	{
		document.getElementById("employers_header").removeChild(document.getElementById("employers_header").firstChild);
	}
	document.getElementById("employers_header").appendChild(document.createTextNode("EMPLOYER NAME"));				
}


/* http://apps.staging.pnionline.com/phillymarketplace/newmonster/localjob_funcs.js */

function getTownJobs(cityID, cityName, highwayName)
{
	gTownParam = cityName;
	gHighwayParam = highwayName;

	document.getElementById("results2").style.display = "inline";	
	// -- clear the top results box and render it invisible -- //
	document.getElementById("results1").style.display = "none";	
	clearAllResults();
	document.getElementById("jobs_display").innerHTML = "";
	document.getElementById("selected_employers_display").innerHTML = "";
	document.getElementById("nabe_town_display").innerHTML = "";
	// -- end clearing operation -- //
	
	var baseUrl = "http://apps.staging.pnionline.com/phillymarketplace/newmonster/getTownJobs.asp?";
	var param = "cityID=" + cityID + "&request=1&dummy=" + new Date().getTime();
	var url = baseUrl + param;
	sendRequest(request1,url,displayJobsInTowns);
	
	var baseUrl2 = "http://apps.staging.pnionline.com/phillymarketplace/newmonster/getAreaEmployers.asp?";
	var param2 = "cityID=" + cityID + "&highwayName=" + gHighwayParam + "&request=1&dummy=" + new Date().getTime();
	var url2 = baseUrl2 + param2;
	sendRequest(request2,url2,displayAreaEmployers);	
	
	var baseUrl3 = "http://apps.staging.pnionline.com/phillymarketplace/newmonster/getNeighboringTowns.asp?";
	var param3 = "cityID=" + cityID + "&highwayName=" + highwayName + "&dummy=" + new Date().getTime();
	var url3 = baseUrl3 + param3;
	sendRequest(request3,url3,displayNeighboringTowns);
}

function displayJobsInTowns()
{
	if (request1.readyState == 4)
	{
		if (request1.status == 200)
		{		
			var xmlDoc = request1.responseXML;
			var companyNameElements = xmlDoc.getElementsByTagName("company-name");
			var jobIDElements = xmlDoc.getElementsByTagName("job-id");
			var jobClassElements = xmlDoc.getElementsByTagName("classification-name");
			var jobPostDateElements = xmlDoc.getElementsByTagName("posting-date");
			// ----------------------------------------------------------------- //
			var companyName;
			var jobID;
			var classificationName;
			var postDate;
			var jobLink;
			var dateString;
			var timeString;
			var postDateArray;
			var postYr;
			var postMo;
			var postDy;
			var postHr;
			var postMn;
			var postSec;
			var monsterParam;
			
			jobLink = "";
			for ( i = 0; i < companyNameElements.length; i++ )
			{
				if (companyNameElements[i].hasChildNodes())
				{
					companyName = companyNameElements[i].firstChild.nodeValue;
				}
				if (jobIDElements[i].hasChildNodes())
				{
					jobID = jobIDElements[i].firstChild.nodeValue;
				}
				if (jobClassElements[i].hasChildNodes())
				{
					classificationName = jobClassElements[i].firstChild.nodeValue;
				}
				if (jobPostDateElements[i].hasChildNodes())
				{
					postDate = jobPostDateElements[i].firstChild.nodeValue;
					postDateArray = postDate.split("T");
					dateString = postDateArray[0];
					timeString = postDateArray[1];
					postYr = dateString.substring(0,4);
					postMo = dateString.substring(5,7);
					postDy = dateString.substring(8,10);
					postHr = timeString.substring(0,2);
					postMn = timeString.substring(3,5);
					postSec = timeString.substring(6,8);
				}		
				monsterParam = "&AVSDM=" + postYr + "%2D" + postMo + "%2D" + postDy + "+" + postHr + "%3A" + postMn + "%3A" + postSec + "&Logo=0&col=dltc&ct=na&lid=585,374,532,533,581,29332,703&sort=dt&vw=b&tm=3d";
				jobLink = jobLink + "<a href=\"http://philly.monster.com/getjob.asp?JobID=" + jobID + monsterParam + ")\">";
				jobLink += classificationName + "</a>" + "<br />" + companyName + "<hr noshade size=1 />";
			}
			request1 = createRequest();
			// -- UPDATE THE PAGE -- //
			
			document.getElementById("results2").style.display = "inline";	
			// -- clear the top results box and render it invisible -- //
			document.getElementById("results1").style.display = "none";				
	
			document.getElementById("jobs_display").innerHTML = jobLink;
			document.getElementById("job_header").style.display = "inline";
			document.getElementById("nabe_results").style.display = "inline";
			if (document.getElementById("jobname1").hasChildNodes())
			{
				document.getElementById("jobname1").removeChild(document.getElementById("jobname1").firstChild);
			}
			document.getElementById("jobname1").appendChild(document.createTextNode("JOBS IN " + gTownParam.toUpperCase()));			
		}
	}
}

function displayAreaEmployers()
{
	if (request2.readyState == 4)
	{
		if (request2.status == 200)
		{			
			var xmlDoc = request2.responseXML;
			var empNameElements = xmlDoc.getElementsByTagName("company-name");
			var empCityElements = xmlDoc.getElementsByTagName("company-city");
			var empStateElements = xmlDoc.getElementsByTagName("company-state");
			var empNumJobsElements = xmlDoc.getElementsByTagName("num-jobs");
			//var empPostDateElements = xmlDoc.getElementsByTagName("posting-date");
			// ----------------------------------------------------------------- //
			var empName;
			var empCity;
			var empStateName;
			var numJobs;
			var empLink;
			var sid;
			var re;
			var footer;
					
			
			empLink = "";
			for ( i = 0; i < empNameElements.length; i++ )
			{
				if (empNameElements[i].hasChildNodes())
				{
					empName = empNameElements[i].firstChild.nodeValue;
				}
				if (empCityElements[i].hasChildNodes())
				{
					empCity = empCityElements[i].firstChild.nodeValue;
				}
				if (empStateElements[i].hasChildNodes())
				{
					empStateName = empStateElements[i].firstChild.nodeValue;
					if ( empStateName == "NJ" )
					{ sid = "54" }
					else if ( empStateName == "PA" )
					{ sid = "72" }
					else if ( empStateName == "DE" )
					{ sid = "19" }						
				}
				if (empNumJobsElements[i].hasChildNodes())
				{
					numJobs = empNumJobsElements[i].firstChild.nodeValue;
					if ( parseInt(numJobs) > 1 )
					{ jobsword = "jobs"; }
					else
					{ jobsword = "job";	}						
				}
				re = / /g;
				
				empLink = empLink + "<a href=\"http://philly.monster.com/Search.asp?cy=US&sid="+sid+"&q=" + empName.replace(re,"+") + ")\">";
				empLink += empName + "</a>&nbsp;"  + empCity + ", " + empStateName +  " (" + numJobs + "&nbsp;" + jobsword + ")<br />";
				footer = "<p style=\"margin:10px 0px 0px 0px;\" /><center>(Determined by number of jobs currently posted)</center>";
			}
			request2 = createRequest();
		    // -- UPDATE THE PAGE -- //
			document.getElementById("selected_employers_display").innerHTML = empLink + footer;
			document.getElementById("job_emp_header").style.display = "inline";
			if (document.getElementById("job_emp_header").hasChildNodes())
			{
				document.getElementById("job_emp_header").removeChild(document.getElementById("job_emp_header").firstChild);
			}
			document.getElementById("job_emp_header").appendChild(document.createTextNode("TOP EMPLOYERS IN TOWNS NEAR " + gTownParam.toUpperCase()));				
		}
	}
}


function displayNeighboringTowns()
{
	if (request3.readyState == 4)
	{
		if (request3.status == 200)
		{			
			var xmlDoc = request3.responseXML;
			var townNameElements = xmlDoc.getElementsByTagName("town-name");
			var townIDElements = xmlDoc.getElementsByTagName("town-id");
			var townHighwayElements = xmlDoc.getElementsByTagName("highway-name");
			var townZipcodeElements = xmlDoc.getElementsByTagName("town-zipcode");
			// ----------------------------------------------------------------- //
			var cityName;
			var cityID;
			var highwayName;
			var zipcode;
			var numJobs;
			var cityLink;
			
			cityLink = "";
			for ( i = 0; i < townNameElements.length; i++ )
			{
				if (townNameElements[i].hasChildNodes())
				{
					cityName = townNameElements[i].firstChild.nodeValue;
				}
				if (townIDElements[i].hasChildNodes())
				{
					cityID = townIDElements[i].firstChild.nodeValue;
				}
				if (townHighwayElements[i].hasChildNodes())
				{
					highwayName = townHighwayElements[i].firstChild.nodeValue;
				}
				if (townZipcodeElements[i].hasChildNodes())
				{
					zipcode = "&nbsp;(Zip Code:" + townZipcodeElements[i].firstChild.nodeValue + ")&nbsp;&nbsp;";
				}				
				cityLink = cityLink + "<a href=\"javascript:getTownJobs('" + cityID + "','" + cityName + "','" + highwayName + "')\">";
				cityLink += cityName + "</a>" + zipcode;
			}
			cityLink += "<p style=\"margin:5px 0px 0px 0px;\" /><b>More jobs along</b>&nbsp;<a href=\"javascript:getCommuterTowns('" + highwayName + "')\">" + highwayName + "</a>  ";
			cityLink += "<p style=\"margin:5px 0px 0px 0px;\" /><b>More jobs in these counties: </b>";
			if ( gCountyParam != "Bucks" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Bucks')\">BUCKS</a>  ";
			if ( gCountyParam != "Burlington" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Burlington')\">BURLINGTON</a>  ";
			if ( gCountyParam != "Camden" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Camden')\">CAMDEN</a>  ";
			if ( gCountyParam != "Chester" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Chester')\">CHESTER</a>  ";
			if ( gCountyParam != "Delaware" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Delaware')\">DELAWARE</a>  ";
			if ( gCountyParam != "Gloucester" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Gloucester')\">GLOUCESTER</a>  ";
			if ( gCountyParam != "Montgomery" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Montgomery')\">MONTGOMERY</a>  ";
			if ( gCountyParam != "Philadelphia" ) cityLink += "&nbsp;<a href=\"javascript:getCountyTowns('Philadelphia')\">PHILADELPHIA</a>  ";
			// reset the request object; //
			request3 = createRequest();
			// -- UPDATE THE PAGE -- /
			document.getElementById("nabe_results").style.display = "inline";
			document.getElementById("nabe_town_display").innerHTML = cityLink;
		}
	}
}
