var CRUNCH_LATITUDE = 42.37531137899929;
var CRUNCH_LONGITUDE = -71.06372237205505;
//var CRUNCH_SHADOW_IMG = "http://www.google.com/mapfiles/shadow50.png";
//var CRUNCH_MARKER_IMG = "http://www.google.com/mapfiles/markerC.png";
var CRUNCH_MARKER_IMG = "/contact-us/media/crunch-is-here.png";
var CRUNCH_MARKER_WIDTH = 146;
var CRUNCH_MARKER_HEIGHT = 40;
var CRUNCH_SHADOW_IMG = "/contact-us/media/crunch-is-here-shadow.png";
var CRUNCH_SHADOW_WIDTH = 170;
var CRUNCH_SHADOW_HEIGHT = 40;
var CRUNCH_ADDRESS_DEST = "1 thompson sq, charlestown, ma, 02129";
var CRUNCH_CONTAINER_ID = "mainContent";

function loadCrunchMap() {
    if (GBrowserIsCompatible()) {
	//Set background color to black for loading with no image. Otherwise it looks like a mistake
	var element = document.getElementById("mainContent");
	if (element){
	    element.style.backgroundImage = "none";
	    element.style.backgroundColor = "#000";
	}

        var map = new GMap2(document.getElementById(CRUNCH_CONTAINER_ID));

        var coords = new GLatLng(CRUNCH_LATITUDE, CRUNCH_LONGITUDE);
        map.setCenter(coords, 13);
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setMapType(G_SATELLITE_MAP);
        
        var baseIcon = new GIcon();
        baseIcon.shadow = CRUNCH_SHADOW_IMG;
        baseIcon.iconSize = new GSize(CRUNCH_MARKER_WIDTH, CRUNCH_MARKER_HEIGHT);
        baseIcon.shadowSize = new GSize(CRUNCH_SHADOW_WIDTH, CRUNCH_SHADOW_HEIGHT);
        baseIcon.iconAnchor = new GPoint(CRUNCH_SHADOW_WIDTH / 2, CRUNCH_SHADOW_HEIGHT);
        baseIcon.infoWindowAnchor = new GPoint(CRUNCH_MARKER_WIDTH, CRUNCH_MARKER_HEIGHT / 2);
        baseIcon.infoShadowAnchor = new GPoint(CRUNCH_MARKER_WIDTH, CRUNCH_MARKER_HEIGHT / 2);

        var letteredIcon = new GIcon(baseIcon);
        letteredIcon.image = CRUNCH_MARKER_IMG;

        markerOptions = { icon:letteredIcon };
        var marker = new GMarker(coords, markerOptions);

        GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml('<form action="http://maps.google.com/maps" method="get">' +
                                      '<p>Get directions from:<br />' + 
                                      '<input type="text" name="saddr" id="saddr" value="" />' +
				      '<input type="submit" value="Go" />' +
				      '<input type="hidden" name="daddr" value="' + CRUNCH_ADDRESS_DEST + '" />' +
				      '<input type="hidden" name="hl" value="en" /></p>' +
				      '</form>');
        });
        map.addOverlay(marker);
    }
}

function addEvent(obj, type, func){ 
    if (obj.addEventListener){ 
        obj.addEventListener(type, func, false); 
	return true; 
    } 
    else if (obj.attachEvent){ 
	return obj.attachEvent("on" + type, func); 
    } 
    else { 
	return false; 
    } 
}

addEvent(window, 'load', loadCrunchMap);
addEvent(window, 'unload', GUnload);

