var map = null;
var geocoder = null;

function initialize_map(lon,lat,zoom) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		if (lon == null) {
			map.setCenter(new GLatLng(55.949078, -3.211098), 12);
		}
		else {
			map.setCenter(new GLatLng(lon, lat), zoom);
		}
	}
}

function usePointFromPostcode(postcode) {
  var localSearch = new GlocalSearch();
  localSearch.setSearchCompleteCallback(null, 
    function() {
      if (localSearch.results[0]) {    
        var resultLat = localSearch.results[0].lat;
        var resultLng = localSearch.results[0].lng;
        var point = new GLatLng(resultLat,resultLng);
        set_point(point);
      }else{
        //alert("Postcode not found!");
      }
    }); 
  localSearch.execute(postcode + ", UK");
}

function gmap_map_address(address){
	geocoder = new GClientGeocoder();
	if (geocoder) {
		geocoder.getLatLng(
			address,
			function(point) {
				if (point) {
					set_point(point)
				}
			}
		)
	}
}

function gmap_map_postcode(postcode){
	usePointFromPostcode(postcode);
}

function set_point(point) {
	map.setCenter(point, 14);
	map.setUIToDefault();
	var marker = new GMarker(point);
	map.addOverlay(marker);
}

function set_point_ll(lat,lng) {
	var point = new GLatLng(lat,lng);
	set_point(point);
}
