var map;
var mark=new Array();
var html=new Array();
function load() {  

		//clear checkboxes on page load...
		f = document.getElementById('places_form').elements;
		for(a=0;a<f.length;a++){
			f[a].checked = false;
		}
		document.getElementById("route").style.display = 'none';

	  if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));	
		var marker = new Array();
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(35.784503,-78.674812), 14);
		GDownloadUrl("locations.xml", 	function(data, responseCode) {  
										 
										 var xml = GXml.parse(data);
										  
											//all xml locations...
											var markers = xml.documentElement.getElementsByTagName("location");  
											
												//for each location tag...
												for (var i = 0; i < markers.length; i++) {  

													//xml data
													var lat 		= markers[i].getElementsByTagName("lat")[0].firstChild.data;
													var lon 		= markers[i].getElementsByTagName("lon")[0].firstChild.data;
													var building 	= markers[i].getElementsByTagName("building")[0].firstChild.data;
													var street 		= markers[i].getElementsByTagName("street")[0].firstChild.data;
													var city 		= markers[i].getElementsByTagName("city")[0].firstChild.data;
													var phone 		= markers[i].getElementsByTagName("phone")[0].firstChild.data;
													var website		= markers[i].getElementsByTagName("website")[0].firstChild.data;


													
													var point 		= new GLatLng(parseFloat(lat),parseFloat(lon)); 
													mark[i]			= new GMarker(point);
													
													
													mark[i].lid 	= markers[i].getElementsByTagName("lid")[0].firstChild.data;
													
													html[i]		= '<div class="infoWindow"><h3>'+building+'</h3><p>'+street+'<br />'+city+'<br />'+phone+'<br /><a href="'+website+'" style="color:#0000ff;">Visit Website</a></p>';
													html[i]		+= '<p><form action="#" onSubmit="return mapDirections(this);"><label>Get directions from:</label><input type="hidden" name="destination" value="'+street+' @'+lat+','+lon+'"><input type="text" name="addr" size="30" value="enter your address"></form></p></div>';												
													mark[i].bindInfoWindowHtml(html[i]);
												}
										});			
	  }
}	

function checkMarker(location){
	if(location.checked == true){
		for(z=0;z<mark.length;z++){
			if(mark[z].lid == location.value){
					map.addOverlay(mark[z]);
					mark[z].openInfoWindowHtml(html[z]);
			}
		}
	}
	else{
		
		for(z=0;z<mark.length;z++){
			if(mark[z].lid == location.value)	map.removeOverlay(mark[z]);
		}
	
	}

}	

function toggleObj(obj){
	var el = document.getElementById(obj);
	el.style.display = (el.style.display != 'none' ? 'none' : '' );
}

function mapDirections(form){
		map.clearOverlays();
	      	directionsPanel = document.getElementById("route");
			directions = new GDirections(map, directionsPanel);
			directions.load(form.addr.value+" to "+form.destination.value);
			map.closeInfoWindow();
			document.getElementById("route").style.display = 'block';
			return false;
}
