// JavaScript Document
function load(lat,lng) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"));
		if (lat==0.000000) {
			map.setCenter(new GLatLng(45.393836,-122.78422), 15);
		} else {
			map.setCenter(new GLatLng(lat,lng), 15);	
		}
		var marker = new GMarker(new GLatLng(lat,lng));
		map.addControl(new GSmallMapControl());
		map.addOverlay(marker);
	}
}

var bounds = new GLatLngBounds(); // track each map point to fit within a boundary
var markers = []; // Each point has a marker with info
// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.
var baseIcon = new GIcon(G_DEFAULT_ICON);
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
// Creates a marker whose info window displays the letter corresponding
// to the given index.
function createMarker(point, index, company_name) {  
	// Create a lettered icon for this point using our icon class  
	var letter = String.fromCharCode("A".charCodeAt(0) + index);  
	var letteredIcon = new GIcon(baseIcon);  
	letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";  
	// Set up our GMarkerOptions object  
	markerOptions = { icon:letteredIcon };  
	var marker = new GMarker(point, markerOptions); 
	markers[index] = marker; // Array for each marker
	GEvent.addListener(marker, "click", function() {    
		marker.openInfoWindowHtml(company_name + "</b>");  
	}
	);  
	return marker;
}

function load_markers(lat,lng,company) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map")); // Create a map
		map.addControl(new GSmallMapControl()); // Add small controls
		if (lat[0]==0.000000) { // No latitude points
			map.setCenter(new GLatLng(45.393836,-122.78422), 15); // Tualatin
		} else {
			map.setCenter(new GLatLng(lat[0],lng[0]), 15); // Center 1st point
		}
		for (i=0; i < lat.length; i++) { // Each map point
			var point = new GLatLng(lat[i],lng[i]); // This point
			var marker = new GMarker(point); // This marker
			map.addOverlay(createMarker(point,i,company[i])); // Marker with company name
			bounds.extend(point); // Track bounds to zoom when all done
		}
		if (i==1) { /* Only one map point */
			map.setCenter(new GLatLng(lat[0],lng[0]), 15); // Center 1st point
		} else { /* More than one map point */
			map.setZoom(map.getBoundsZoomLevel(bounds)); // Zoom to fit all points
			map.setCenter(bounds.getCenter()); // Center within bounds
		}
	}
}

function thisIcon(index) {
	markers[index].openInfoWindowHtml(company[index]); // Display company name
}