var map = null;
var geocoder = null;
var optionsXML = null;
function loadMap(latitude, longitude, zoomFactor, mapId) {
  	if (GBrowserIsCompatible()) {
	    map = new GMap2(document.getElementById(mapId));
		map.addControl(new GSmallMapControl());
//		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		map.setCenter(new GLatLng(latitude, longitude), zoomFactor);
	}
}
function loadMapSmall(latitude, longitude, zoomFactor, mapId) {
  	if (GBrowserIsCompatible()) {
	    map = new GMap2(document.getElementById(mapId));
		map.addControl(new GSmallMapControl());
//		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		map.setCenter(new GLatLng(latitude, longitude), zoomFactor);
	}
}
function centerMap(address) {
   if (geocoder) {
   	geocoder.getLatLng (address,
   	function(point) {
    	if (!point) {
    		alert(address + " not found");
   			} else {
    			map.setCenter(point, 9);
//				map.setMapType(G_HYBRID_MAP); 
   			}
   		}
   	);
   }
}
function newMarkerOld (title, latitude, longitude, telephone, displayAddress, lastMarker) {
   	if (geocoder) {
		var GPoint =  new GLatLng (latitude, longitude);
 		var marker = new GMarker(GPoint);
//		var markerHTML = '<h2>' + title + '</h2>\n';
//		markerHTML += '<p><strong>Address:</strong><br />\n' + displayAddress + '</p>\n';
//		markerHTML += '<p><strong>Tel:  </strong>' + telephone + '</p>\n';
//		GEvent.addListener(marker, "click", function() {
//			marker.openInfoWindowHtml(markerHTML);
//		});
		map.addOverlay(marker);
	}
	return true;
}
function newMarker (title, latitude, longitude, telephone, displayAddress, lastMarker, zoomFlag) {
	var point = new GPoint (parseFloat (longitude), parseFloat (latitude));
	var marker = new GMarker(point);
	var markerHTML = '<h2>' + title + '</h2>\n';
	markerHTML += '<p><strong>Address:</strong><br />\n' + displayAddress + '</p>\n';
//	markerHTML += '<p><strong>Tel:  </strong>' + telephone + '</p>\n';
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(markerHTML);
	});
	map.addOverlay(marker);
	if (zoomFlag) {
		marker.openInfoWindowHtml(markerHTML);
	}
}
function newMarkerNoText (latitude, longitude) {
	var point = new GPoint (parseFloat (longitude), parseFloat (latitude));
	var marker = new GMarker(point);
	map.addOverlay(marker);
}
function centerPoint (title, latitude, longitude, telephone, displayAddress, lastMarker) {
	var GPoint =  new GLatLng (latitude, longitude);
	map.setCenter(GPoint, 15);
	map.clearOverlays();
	newMarker (title, latitude, longitude, telephone, displayAddress, lastMarker, true);
}
function getDirections () {
	var theForm = document.getElementById("DirectionsForm");
	map.clearOverlays();
	var directionsDiv = document.getElementById("directions");
	directionsDiv.innerHTML = "<p>Please wait...</p>\n";
	var fromTo = theForm.Origin.value + " to 511 Gainsborough Road, London, ON";
    var directions = new GDirections(map, directionsDiv);
	directionsDiv.innerHTML = "";
    directions.load(fromTo);
	return false;
}