var map = null;
var geocoder = null;
var gmarkers = [];
var htmls = [];
var to_htmls = [];
var from_htmls = [];
var i=0;

function load() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
	geocoder = new GClientGeocoder();
	gmarkers = [];
	htmls = [];
	to_htmls = [];
	from_htmls = [];
	i=0;
	map.addControl(new GLargeMapControl());
    map.addControl(new GOverviewMapControl());  
	map.addControl(new GMapTypeControl());
   }
}
// A function to create the marker and set up the event window
function createMarker(map, point,name,html) {
	var marker = new GMarker(point);  
	// The info window version with the "to here" form open
	to_htmls[i] = html + '<br>Directions: <b>To here</b> - <a href="javascript:fromhere(' + i + ')">From here</a>' +
	   '<br>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
	   '<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
	   '<INPUT value="Get Directions" TYPE="SUBMIT">' +
	   '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() + 
			  // "(" + name + ")" + 
	   '"/>';
	// The info window version with the "to here" form open
	from_htmls[i] = html + '<br>Directions: <a href="javascript:tohere(' + i + ')">To here</a> - <b>From here</b>' +
	   '<br>End address:<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
	   '<input type="text" SIZE=40 MAXLENGTH=40 name="daddr" id="daddr" value="" /><br>' +
	   '<INPUT value="Get Directions" TYPE="SUBMIT">' +
	   '<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() +
			  // "(" + name + ")" + 
	   '"/>';
	// The inactive version of the direction info
	html = html + '<br>Directions: <a href="javascript:tohere('+i+')">To here</a> - <a href="javascript:fromhere('+i+')">From here</a>';

	GEvent.addListener(marker, "click", function() {
	  marker.openInfoWindowHtml(html);
	});
	
	gmarkers[i] = marker;
	htmls[i] = html;	
	map.addOverlay(marker);
	marker.openInfoWindowHtml(html);
	return marker;
}
 // functions that open the directions forms
      function tohere(i) {
        gmarkers[i].openInfoWindowHtml(to_htmls[i]);
      }
      function fromhere(i) {
        gmarkers[i].openInfoWindowHtml(from_htmls[i]);
      }
function createAddress(geo, address, image) {
	 
  var html = "<div class='frontImg' style='z-index:-999;'></div><div class='mapPopUp'>"+address;
  if(image != ''){
	  html += "<img align='center' src='"+image+"'>";
  }
  html += "</div>";
  geocoder.getLatLng(
    geo,
    function(point) {
      if (!point) {
        alert(geo + " not found");
      } else {
        map.setCenter(point, 13);        	
		var marker = createMarker(map, point,'Address Information',html);		
        
 
      }
    }
  );
}

function goToAddress(geo){
	geocoder.getLatLng(
    geo,
    function(point) {
      if (!point) {
        alert(geo + " not found");
      } else {
        map.setCenter(point, 13);    
      }
    }
  );
}

