function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("globalmap"));
		map.addControl(new GSmallZoomControl());
		GEvent.addListener(map, "zoomend", function(o,n) {
			// fetch viewport coordinates
			var bounds = map.getBounds();
			var southWest = bounds.getSouthWest();			
			var northEast = bounds.getNorthEast();				
			var blueIcon = new GIcon(G_DEFAULT_ICON);        
			blueIcon.image = "/images/google-icon.png";		blueIcon.iconSize = new GSize(17, 30);			
			markerOptions = { icon:blueIcon };		
	$.getJSON("server_json_map.php?zoom="+n+"&sw="+southWest+"&ne="+northEast,
        function(data){
			$("#spinner").css("display","");
		 var mm = new GMarkerManager(map); 
 			// foreach json item returned mark the map    
          $.each(data.items, function(i,item) {
		  	if(n<=8) {						
		  		var coords = new GLatLng(item.longt,item.lat);
				var marker = new GMarker(coords,markerOptions);				
				var maptext = "<div id=\"maptext\">" + item.count;
				var maptext = maptext + " listings in "+ item.place;
				var maptext = maptext +"<a href=\"search.php?where="+item.place+"\"><br /><br />";
				var maptext = maptext +"View all restaurants in this area</a></div>";
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml(maptext);
				});							
					mm.addMarker(marker, 0, 8);
          } else {
	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 coords = new GLatLng(resultLat,resultLng);
		var marker = new GMarker(coords);	
		var maptext = "<div id=\"maptext\"><strong>" + item.name + "</strong><br />";
		var maptext = maptext+item.town + "<br /><a href=\"listing.php?id="+item.id+"\">View Details</a></div>";
				GEvent.addListener(marker, "click", function() {
					marker.openInfoWindowHtml(maptext);
				});
			mm.addMarker(marker, 9, 17);	
		 }else{
      }
    });  
    
  localSearch.execute(item.postcode+", GB");
		  }
		  // else here  {
		  if(i==data.items.length-1) {
				$("#spinner").css("display","none")
			}
		  });
		  mm.refresh()
        });
			});

      }
map.setCenter(new GLatLng(54.09,-4.29), 5);
    }