var lmName = new Array();
var street = new Array();
var addrLn2 = new Array();
var phone = new Array();
var city = new Array();
var state = "CA";
var zip = new Array();
var Lat = new Array();
var Lng = new Array();
var choice;

/* Parse the xml file and load landmark data into a table */
function GetLandMark() {

	choice = document.getElementById("landmark").value;
	
	if (choice != "default") { 
		
		var newTr, newTd, school, url;
		
		var landmarks = xmlDoc.getElementsByTagName(choice);
		var tblHeader  = document.getElementById("infoHeader");
		var tblBody = document.getElementById("infoBody");
		var headCells = tblHeader.getElementsByTagName("td");
		
		while (tblHeader.firstChild) {
			tblHeader.removeChild(tblHeader.firstChild);
		}
		
		newTr = document.createElement("tr");
		
		newTd = document.createElement("td");
		newTd.innerHTML = "Directions";
		newTr.appendChild(newTd);
		
		newTd = document.createElement("td");
		newTd.innerHTML = document.getElementById("landmark")[document.getElementById("landmark").selectedIndex].innerHTML;
		newTr.appendChild(newTd);
		
		newTd = document.createElement("td");
		newTd.innerHTML = "Address & Phone";
		newTr.appendChild(newTd);
		
		if ( choice.indexOf("school") != -1 ) {
			school = true;
			newTd = document.createElement("td");
			newTd.innerHTML = "More Info";
			newTr.appendChild(newTd);
		}
		else {
			school = false;
		}
		
		tblHeader.appendChild(newTr);
		
		//Remove existing rows in the table body
		while (tblBody.firstChild) {
			tblBody.removeChild(tblBody.firstChild);
		}
		
		if (document.all) {
		    if (blnModernIE) {
		        map.clearOverlays();	//Remove existing markers
		        map.addOverlay(home);	//Adds back the home marker
		    }
		} else {
		    map.clearOverlays();	//Remove existing markers
		    map.addOverlay(home);	//Adds back the home marker
		}
	
		for (var i = 0; i < landmarks.length; i++) {
			
			lmName[i] = landmarks[i].getElementsByTagName("name")[0].firstChild.nodeValue;
			url = landmarks[i].getElementsByTagName("url")[0].firstChild.nodeValue;
			street[i] = landmarks[i].getElementsByTagName("street")[0].firstChild.nodeValue;
			city[i] = landmarks[i].getElementsByTagName("city")[0].firstChild.nodeValue;
			zip[i] = landmarks[i].getElementsByTagName("zip")[0].firstChild.nodeValue;
			phone[i] = landmarks[i].getElementsByTagName("phone")[0].firstChild.nodeValue;
			
			newTr = document.createElement("tr");	//Create a new row for each landmark
			
			newTd = document.createElement("td");
			newTd.innerHTML = "<a id=tag" + i + " href='#'><img style='border:none' src='/images/sign.png' /></a>";				//Number the landmark
			newTd.style.textAlign="center";
			newTr.appendChild(newTd);
			
			newTd = document.createElement("td");
			newTd.innerHTML = "<a target='_blank' href=" + url + ">" + lmName[i] + "</a>" + ((school) ? ("<br />(" + landmarks[i].getElementsByTagName("district")[0].firstChild.nodeValue + " S.D.)") : "");
			newTr.appendChild(newTd);
			
			addrLn2[i] = city[i] + ", CA " + zip[i];
			
			newTd = document.createElement("td");
			newTd.innerHTML = street[i] + "<br />" + addrLn2[i] + "<br />" + phone[i];
			newTr.appendChild(newTd);
			
			if (school) { 
				newTd = document.createElement("td");
				newTd.innerHTML = "<a target='_blank' href=" + landmarks[i].getElementsByTagName("moreinfourl")[0].firstChild.nodeValue + ">School Reviews</a>";
				newTr.appendChild(newTd);
			}
			
			tblBody.appendChild(newTr);
			
			document.getElementById("landmarkInfo").style.display="block";
			document.getElementById("tag" + i).onclick = CallDrawRoute;
			
			Lat[i] = landmarks[i].getElementsByTagName("lat")[0].firstChild.nodeValue;
			Lng[i] = landmarks[i].getElementsByTagName("lng")[0].firstChild.nodeValue;

		    if (document.all) {
		        if (blnModernIE) {
		            showAddress(i);
		        }
		    } else {
		        showAddress(i);
		    }
		
		}
	}
	else {	//default option
	
	}
}

/* Place a clickable, numbered marker on the map */
function showAddress(i) {  
				
	var point = new GLatLng(Lat[i],Lng[i]);
	var fName;
	
	switch (choice) {
		case "firestation":
			fName = "fire.png";
			break;
		case "police":
			fName = "police.png";
			break;
		case "hospital":
			fName = "hospital.png";
			break;
		case "mall":
			fName = "mall.png";
			break;
		default:
			fName = "school.png";
	}
	
	var icon = new GIcon();
	icon.image = "/images/" + fName;
	icon.iconSize = new GSize (32, 32);
	icon.iconAnchor = new GPoint(16, 16);
	icon.infoWindowAnchor = new GPoint(32, 1);
	
	var opts = {
		"icon": icon,
		"title": lmName[i],
		"labelText": i+1,
		"labelOffset": new GSize(8, -25),
		"clickable": true
	};
	
	var marker = new LabeledMarker(point, opts);
	//make the marker respond to clicks by displaying banner with landmark's name and address
	GEvent.addListener(marker, "click", function(){this.openInfoWindowHtml(lmName[i] + "<br />" + street[i] + "<br />" + addrLn2[i] + "<br />" + phone[i] + "<br /><a href='#' onclick='DrawRoute("+i+");return false'>Show Route</a><br />");} );
	map.addOverlay(marker);
	
	centerMap();
}

function CallDrawRoute() {
	DrawRoute(this.id.substr(3,1));
}
