function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

/*
function load() {
  if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(38.30000, -92.50000), 7);
  }
}
*/

//<![CDATA[
		   
var gmarkers = [];
var points = [];
var htmls = [];
var j = 0;
var sidebar_html = "";
var select_html = '<select onChange="handleSelected(this)">' +
				'<option selected> - Select a camp - </option>';

var map = null;
var geocoder = null;
var icon =  null;

function load() {

	if (GBrowserIsCompatible()) {

		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(30.00000, -92.50000), 7);
    // 38.3, -92.5
		map.addControl(new GLargeMapControl());
		map.addControl(new GOverviewMapControl());

		icon = new GIcon();
		icon.image = "./images/maps/flag.png";
		icon.shadow = "./images/maps/shadow50.png";
		icon.iconSize = new GSize(20, 36);
		icon.shadowSize = new GSize(37, 34);
		icon.iconAnchor = new GPoint(10, 36);
		icon.infoWindowAnchor = new GPoint(5, 1);

		var bounds = new GLatLngBounds();

		GDownloadUrl("map_camps.xml", function(data) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
										parseFloat(markers[i].getAttribute("lng")));

				var a = markers[i].getAttribute("camp");
				var b = markers[i].getAttribute("num");
				var c = markers[i].getAttribute("area");
				var d = markers[i].getAttribute("domain");
				
				map.addOverlay(createMarker(point, a, b, c, d));
				bounds.extend(point);

			}
			map.setZoom(map.getBoundsZoomLevel(bounds));
			var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2;
			var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2;
			map.setCenter(new GLatLng(clat,clng));			

			select_html += '</select>';
			document.getElementById("mapnav").innerHTML = select_html;
			geocoder = new GClientGeocoder();
		});			
	}
}

function createMarker(point, a, b, c, d) {
	var marker = new GMarker(point, icon);
	var t = '<img src="./images/maps/medal.gif" width="53" height="64" align="left" /><div class="map"><b>' + c + '</b><br>' + a + ' Camp No. ' + b + 
		'</div><br><br><a href="' + d + '" target="_blank" class="map">' + d + '</a>';
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(t);
	});

	gmarkers[j] = marker;
	points[j] = point;
	htmls[j] = t;
	sidebar_html += '<a href="javascript:myclick(' + j + ')">' + a + '</a><br>';
	select_html += '<option> ' + a + ' Camp No. ' + b + '</option>';
	j++;
	return marker;
}

function handleSelected(opt) {
	var i = opt.selectedIndex - 1; 
	if (i > -1) {
		map.setCenter(points[i], 8);
		GEvent.trigger(gmarkers[i],"click");
	}
	else {
		map.closeInfoWindow();
	}
}

function myclick(i) {
	gmarkers[i].openInfoWindowHtml(htmls[i]);
}
    
function ShowAddress() {
	var address = MM_findObj("address").value;
  if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  alert(address + " not found");
		} else {
		  map.setCenter(point, 10);
		  var marker = new GMarker(point);
		  map.addOverlay(marker);
		}
	  }
	);
  }
}

//]]>
