    //<![CDATA[
			
		var map;
		var geocoder;
		var localSearch = new GlocalSearch();
		var alClinicName = new Array();
		var alClinicAddress = new Array();
		var alClinicURL = new Array();

		var callbackMapCounter = 0;
		var alMaps = new Array();
		
		function load(address, mapName, clinicName, clinicAddress, clinicURL)
		{
			if (GBrowserIsCompatible())
			{		
				//Load up the popupwindow info
				alClinicName.push(clinicName);
				alClinicAddress.push(clinicAddress);
				alClinicURL.push(clinicURL);				

				//Create a new instance of the map and geo coder objects
			    var newMap = new GMap(document.getElementById(mapName));		       
			    geocoder = new GClientGeocoder();					
			
				// Add the navigation cotrols to the map.
			    newMap.addControl(new GSmallMapControl());
			    newMap.addControl(new GMapTypeControl());
			    
			    // Add the new map to the maps array
			    alMaps.push(newMap);				
				
				// Get the location details and add to the map.					
				usePointFromPostcode(address.toString(), addToMap);
			}
		}

		function usePointFromPostcode(postcode, callbackFunction) 
		{
			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);
						callbackFunction(point);
					}
					else
					{
						//alert("Postcode not found!");
					}
				}
			);	
				
			localSearch.execute(postcode + ", UK");
		}

		function addToMap(point)
		{
			var marker;	
			var place;
			var baseIcon = new GIcon();			
				
			// Set the new icon options.			
			baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			baseIcon.iconSize = new GSize(20, 34);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			baseIcon.infoShadowAnchor = new GPoint(18, 25);
			baseIcon.image = "images/markers/marker.png";
			
			
			// Set up our GMarkerOptions object
			var markerTitle = "Clinic " + (callbackMapCounter+1) + ": " + alClinicName[callbackMapCounter];
			markerOptions = { icon:baseIcon, title: markerTitle};	
				
			// Create a marker and pass it the above options
			marker = new GMarker(point, markerOptions);
				
						
			// Add a new event handler on marker click to display bubble
			GEvent.addListener(marker, "click", function()
			{				
				var item = parseInt(marker.getTitle().substring(7,9))-1;
				marker.openInfoWindowHtml("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"200\"><tr><td><span style=\"font-size:8pt; font-weight:bold;\" >" + alClinicName[item] + "</span></td></tr><tr><td style=\"border-top:1px solid #28C0E6; padding-top:5px;\"><span style=\"font-size:8pt; font-weight:bold;\" >Address: </span><span style=\"font-size:7pt;\" >" + alClinicAddress[item] + "</span><br><span style=\"font-size:8pt; font-weight:bold;\" >Phone: </span><span style=\"font-size:7pt;\" >0845 680 0615</span></td></tr><tr><td style=\"padding-top:5px;\"><a href=" + alClinicURL[item] + ">" + alClinicName[item] + "</a></td></tr></table>");
			}
			);
			
			// Center the map on this point
			alMaps[callbackMapCounter].setCenter(point, 15);				

	
			// Add the marker to map
			alMaps[callbackMapCounter].addOverlay(marker);
			
			// increment callbackmapcounter
			callbackMapCounter++;
		}

		

    //]]>