/*
 * Created on August 15, 2005
 *
 * Use an HTTP Request to get information that is
 * stored in the database.
 * 
 * The file "getListings.php" returns an xml file
 * containing information about the locations.
 */
function requestListings()
{
	var get_url="/website/power_lines/getListings.php";
	
	if(!bIsIE)
		get_url="/website/power_lines/getListings.php";
		
	if(arguments[0]=="type")
		get_url = get_url + "?location_type=" + arguments[1];
	else
	{
		if(arguments[0])
		{
			get_url = get_url + "?" + arguments[0];
		}
	}
	
	var request = GXmlHttp.create();
	request.open("GET", get_url, true);

	request.onreadystatechange = function() {
	  if (request.readyState == 4) {
	  		//alert(request.responseText);
	  		if(bIsIE)
				processListings(GXml.parse(request.responseText));
			else
				processListings_netscape(GXml.parse(request.responseText));
	  }
	}

	request.send(null);		
}

/*
 * Parse the file returned from the HTTP
 * request and create overlays for each location
 * 
 * @param xmlData	file requested 
 *
 * IMPORTANT: Internet Explorer ONLY  
 */
function processListings(xmlData)
{
	var listings = xmlData.getElementsByTagName("listing");	
//	alert(listings.length);		
	var info;
	var marker = new Array(0);	
			
	for (var i = 0; i < listings.length; i++) {
		var id = parseInt(listings[i].childNodes[0].text);
		var latitude = parseFloat(listings[i].childNodes[1].text);
		var longitude = parseFloat(listings[i].childNodes[2].text);
		var company_name = listings[i].childNodes[3].text;
		var address = listings[i].childNodes[4].text;
		var csz = listings[i].childNodes[5].text;
		var coords = listings[i].childNodes[6].text;
		var webaddress = listings[i].childNodes[7].text;
		var phone = listings[i].childNodes[8].text;
		var html = listings[i].childNodes[9].text;
		var generic_name_id = listings[i].childNodes[10].text;

		info = new Array(id, company_name, address, csz, latitude, longitude, coords, webaddress, phone, html);
		marker[i] = new LandMarker(new GLatLng(latitude, longitude), info, generic_name_id);	


		//alert(generic_name_id);

	}
}

/*
 * Parse the file returned from the HTTP
 * request and create overlays for each location
 * 
 * @param xmlData	file requested 
 *
 * IMPORTANT: Netscape/Firefox browsers
 */	
function processListings_netscape(xmlData)
{
	var listings = xmlData.getElementsByTagName("listing");			

	var info;
	var marker = new Array(0);		
		
		
	for (var i = 0; i < listings.length; i++) {

		//alert(listings[i].getElementsByTagName("latitude")[0].firstChild.nodeValue);
		var id = listings[i].getElementsByTagName("id")[0].firstChild.nodeValue;
		var latitude = listings[i].getElementsByTagName("latitude")[0].firstChild.nodeValue;
		var longitude = listings[i].getElementsByTagName("longitude")[0].firstChild.nodeValue;
		var company_name = listings[i].getElementsByTagName("company_name")[0].firstChild.nodeValue;
		var address = listings[i].getElementsByTagName("address")[0].firstChild.nodeValue;
		var csz = listings[i].getElementsByTagName("csz")[0].firstChild.nodeValue;
		var coords = listings[i].getElementsByTagName("coords")[0].firstChild.nodeValue;
		var webaddress = listings[i].getElementsByTagName("web-address")[0].firstChild.nodeValue;
		var phone = listings[i].getElementsByTagName("phone")[0].firstChild.nodeValue;
		var html = listings[i].getElementsByTagName("HTML_TAG")[0].firstChild.nodeValue;
		var generic_name_id = listings[i].getElementsByTagName("generic_name_id")[0].firstChild.nodeValue;
		
		info = new Array(id, company_name, address, csz, latitude, longitude, coords, webaddress, phone, html);
		marker[i] = new LandMarker(new GLatLng(latitude, longitude), info, generic_name_id);	
/*		
		if(coords == 0)
		{
			//alert("ADDING MARKER");
			info = new Array(id, company_name, address, csz, latitude, longitude);
			marker[i] = new ctMarker(new GPoint(longitude, latitude), info);	
		}
		else
		{
			info = new Array(id, company_name, address, csz, latitude, longitude, coords);
			marker[i] = new LandMarker(info);			
		}
*/
	}


}
