function load() 
{
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        var center = new GLatLng(userLat, userLong);
        map.setCenter(center, 15);
        geocoder = new GClientGeocoder();
        var marker = new GMarker(center, {draggable: true});  
        map.addOverlay(marker);
        document.getElementById(tbLatTextId).value = center.lat().toFixed(5);
        document.getElementById(tbLongTextId).value = center.lng().toFixed(5);
 
	  GEvent.addListener(marker, "dragend", function() {
       var point = marker.getPoint();
	      map.panTo(point);
       document.getElementById(tbLatTextId).value = point.lat().toFixed(5);
       document.getElementById(tbLongTextId).value = point.lng().toFixed(5);
 
        });
 
 
	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById(tbLatTextId).value = center.lat().toFixed(5);
	   document.getElementById(tbLongTextId).value = center.lng().toFixed(5);
 
 
	 GEvent.addListener(marker, "dragend", function() {
      var point =marker.getPoint();
	     map.panTo(point);
      document.getElementById(tbLatTextId).value = point.lat().toFixed(5);
	     document.getElementById(tbLongTextId).value = point.lng().toFixed(5);
 
        });
 
        });
 
      }
    }
 
	   function showAddress(address) {
	   var map = new GMap2(document.getElementById("map"));
       map.addControl(new GSmallMapControl());
       map.addControl(new GMapTypeControl());
       if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
		  document.getElementById(tbLatTextId).value = point.lat().toFixed(5);
	   document.getElementById(tbLongTextId).value = point.lng().toFixed(5);
		 map.clearOverlays()
			map.setCenter(point, 14);
   var marker = new GMarker(point, {draggable: true});  
		 map.addOverlay(marker);
 
		GEvent.addListener(marker, "dragend", function() {
      var pt = marker.getPoint();
	     map.panTo(pt);
      document.getElementById(tbLatTextId).value = pt.lat().toFixed(5);
	     document.getElementById(tbLongTextId).value = pt.lng().toFixed(5);
        });
 
 
	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById(tbLatTextId).value = center.lat().toFixed(5);
	   document.getElementById(tbLongTextId).value = center.lng().toFixed(5);
 
	 GEvent.addListener(marker, "dragend", function() {
     var pt = marker.getPoint();
	    map.panTo(pt);
    document.getElementById(tbLatTextId).value = pt.lat().toFixed(5);
	   document.getElementById(tbLongTextId).value = pt.lng().toFixed(5);
        });
 
        });
 
            }
          }
        );
      }
    }


window.onload=load;
window.onunload=GUnload;
