//<![CDATA[

var map;
var geocoder = new GClientGeocoder();
var locationsArray = new Array(
   "17630 Juniper Path, Lakeville, MN 55044",
   "1600 Annapolis Lane North, Plymouth, MN 55441",
   "1955 County Road B2, Roseville, MN 55113",
   "9700 Hudson Road, Woodbury, MN 55125",
   "4725 Decker Road, Duluth, MN 55811",
   "701 Ladybird Lane, Burnsville, MN 55337");
var totalMarkers=0;
	
// Creates a marker at the given point with the given number label
function createMarker(point, label, argIsSingle) {
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(label);
	});
	return marker;
}

function fillPoints(argAddress, argPoint, argIsSingle) {
	var returnMarker;
	// document.getElementById("addressPoints").value = (document.getElementById("addressPoints").value + argAddress + "\n" + argPoint + "\n\n");
	
	totalMarkers++;
	
	var label = '<h4>Address</h4>' + argAddress + '<br><br><a href="http://maps.google.com/maps?f=d&daddr='+argAddress+'" target="_blank">Click to Get Directions</a>';
	
	returnMarker = createMarker(argPoint, label, argIsSingle);
	map.addOverlay(returnMarker);
	
	if (argIsSingle == true) {
		returnMarker.openInfoWindowHtml(label);
	}
	return returnMarker;
}

function addressToPoint(argAddress, argIsSingle) {
	geocoder.getLatLng(argAddress,
		function(point) {
			var marker;
			if (!point) {
				// do something?
			} else {
				if (argIsSingle == true) {
					map.setCenter(point, 11);
				}
				
				marker = fillPoints(argAddress, point, argIsSingle);
			}
		}
	);
}

function gMapLoad(argLocationSelected) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("gMap"));
		map.addControl(new GLargeMapControl());
		//map.addControl(new GOverviewMapControl());
		
		
		if (argLocationSelected <= locationsArray.length && argLocationSelected > 0) {
			argLocationSelected--;
			addressToPoint(locationsArray[argLocationSelected],true);
		} else {
			map.setCenter(new GLatLng(46.2, -92.5), 6);
			
			for (i=0;i<locationsArray.length;i++) {
				addressToPoint(locationsArray[i]);
			}
		}
	} else {
		// do nothing!
	}
}
//]]

/*

function showAddress(address) {
	geocoder.getLatLng(address,
		function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				marker.openInfoWindowHtml(address);
			}
		}
	);
}

*/
