/* VERSION = $Id$ $Rev: 70027 $ $Date: 2009-09-04 11:13:41 -0700 (Fri, 04 Sep 2009) $ */

var createMap = function(point, mapId, messages) {
	var latlng = new google.maps.LatLng(point.latitude, point.longitude);
	var map = new google.maps.Map(document.getElementById(mapId),  {
		zoom: 13,
		center: latlng,
		mapTypeControl: true,
		mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
		mapTypeId: google.maps.MapTypeId.ROADMAP
	});
	
	var marker = new google.maps.Marker({
			position: latlng, 
			map: map, 
			title:point.address
		});
  
	var infowindow = new google.maps.InfoWindow({
			content: makeInfoWindow(point.address, messages),
			size: new google.maps.Size(50,50)
		});
	infowindow.open(map, marker);

	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map, marker);
	});
	
	/*fixes bug in the google api that causes map to be gray when
	display:none/block the parent div*/
	setTimeout(function(){google.maps.event.trigger(map, 'resize')}, 0 );
	
};

var makeInfoWindow = function(address, messages) {
	var addressText = document.createTextNode(address);
	var toHere = document.createTextNode(messages.toHere);
	
	var boxParent = document.createElement("div");
		boxParent.className = "mapInfoWindow";
	var 	form = document.createElement("form");
		form.action = "http://maps.google.com/maps";
		form.method = "get";
		form.target = "_blank";
		form.id = "googleDirectionsForm";
		form.name = "googleDirectionsForm";
	var inputLink = document.createElement("a");
		inputLink.href = "javascript:;";
		inputLink.onclick = function(){document.getElementById("googleDirectionsForm").submit()};
	var inputHidden = document.createElement("input");
		inputHidden.type = "hidden";
		inputHidden.name = "daddr";
		inputHidden.value = address;
	
	inputLink.appendChild(toHere);
	form.appendChild(inputLink);
	form.appendChild(inputHidden);
	boxParent.appendChild(addressText);
	boxParent.appendChild(form);

	return boxParent;
};