var map;
var geocoder = null;
var addressMarker;



    function load() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(54, -4.1), 5);
        map.setMapType(G_HYBRID_MAP);
		map.enableContinuousZoom();
		map.enableDoubleClickZoom();
        geocoder = new GClientGeocoder();

      }
    }

    function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              if (addressMarker) {
                map.removeOverlay(addressMarker);
              }
              addressMarker = new GMarker(point, {icon:G_DEFAULT_ICON, draggable: true});

			  addressMarker.enableDragging();

              map.setCenter(point, 15);
              map.addOverlay(addressMarker);

			GEvent.addListener(addressMarker, "drag", function(){
										document.getElementById("glat").value=addressMarker.getPoint().lat();
										document.getElementById("glng").value=addressMarker.getPoint().lng();
										document.getElementById("spot_gzoom").value=map.getZoom();
										})
							
			var glat = document.getElementById("glat");
			var glng = document.getElementById("glng");

			glat.value = point.lat();
			glng.value = point.lng();
            }
          }
        );
      }
    }



function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addUnLoadEvent(func) {
	var oldonunload = window.onunload;
	if (typeof window.onunload != 'function') {
	  window.onunload = func;
	} else {
	  window.onunload = function() {
	    oldonunload();
	    func();
	  }
	}
}

addLoadEvent(load);
addUnLoadEvent(GUnload)