//
// Google Maps JavaScripts
// by Robert K. Foster
// Windjammer Company LLC
// www.thewindjammer.com
//
// Created Tue, Sep 14, 2009
// Updated Sun-11-Oct-2009
//

/*
var defaultLat = 41.667788 ;
var defaultLon = -70.445566 ;
*/

var defaultLat = 41.792055 ;
var defaultLon = -70.771179 ;
var defaultZoom = 9 ;

var map ;
var mapRecall ;
var form ;

var pointLat ;
var pointLon ;


function initialize(htmltext) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas")) ;
		map.setCenter(new GLatLng(defaultLat,defaultLon), defaultZoom) ;
		map.setUIToDefault() ;
	}
	// display a warning if the browser was not compatible
	else {
		alert("Sorry, the Google Maps API is not compatible with this browser");
	}
}


function showAlert(message) {
	alert('Alert: ' + message + '.');
}


function getLetterFromNumber(count) {
	var letter = String.fromCharCode("A".charCodeAt(0) + (parseInt(count) - 1)) ;
	return letter ;
}


function createCustomMarker(count) {
	var baseIcon = new GIcon(G_DEFAULT_ICON) ;
	var letteredIcon = new GIcon(baseIcon) ;
	letteredIcon.image = "http://www.google.com/mapfiles/marker" + getLetterFromNumber(count) + ".png" ;
	markerOptions = {icon:letteredIcon} ;
	return markerOptions ;
}


function createMarker(point,html,count) {
	var marker = new GMarker(point, createCustomMarker(count));
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}


function makeAPoint(pointLat,pointLon,htmltext, count) {
	var point = new GLatLng(pointLat,pointLon) ;
	var marker = createMarker(point,htmltext,count) ;
	map.addOverlay(marker) ;
	return marker;
}


function getDetails(marker,htmltext) {
	marker.openInfoWindowHtml(htmltext);
}


function recenterIt() {
	map.setCenter(new GLatLng(defaultLat,defaultLon)) ;
}


function goToThis(form) {
	var lat = form.Latitude.value;
	var lon = form.Longitude.value;
	var zoom = parseInt(form.ZoomValue.value);

	var point = new GLatLng(lat,lon);
	var htmltext = '<div class="marker">Your Selected Location<br />Latitude: ' + lat + '<br />Longitude: ' + lon + '<\/div>' ;
	var marker = createMarker(point,htmltext) ;

	map.addOverlay(marker);
	map.panTo(point);
	map.setCenter(point, zoom) ;
}


function zoomToThis(form) {
	var zoom = parseInt(form.ZoomValue.value);
	map.setZoom(zoom) ;
}

