	google.load("maps", "2");
	//define array for custom icons
	var gicons = [];

	//create markers with popup boxes
	function createMarker(point, name, detail, image,icontype ) {
      var marker = new GMarker(point,gicons[icontype]);
      var html = "<h2>" + name + "</h2>" + "<img src='" + image + "' alt='" + name + "' />" + "<p>" + detail + "</p>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html,{maxWidth:240});
      });
      return marker;
    }
	
	function createMarkerHtml(point, html,icontype ) {
      var marker = new GMarker(point,gicons[icontype]);
     // var html = "<h2>" + name + "</h2>" + "<img src='" + image + "' alt='" + name + "' />" + "<p>" + detail + "</p>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html,{maxWidth:240, maxHeight:250,
autoScroll:true});
      });
      return marker;
    }
	
	
	//map for specialist search - XML driven
    function loadMap() {
	
	
      if (GBrowserIsCompatible()) {
		//custom marker icon
		gicons["capio"] = new GIcon(G_DEFAULT_ICON, "/images/design/marker.png");
		
		//add map to element 
        var map = new google.maps.Map2(document.getElementById("map"));
		
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(51.5230470,-0.1667474), 10);
		
		
	   
          var markers = bigMapPins;
		 
          for (var i = 0; i < bigMapPins.length; i++) { 
		
            
           
		    
            var point = new google.maps.LatLng(parseFloat(bigMapPins[i]["lat"]),	   parseFloat(bigMapPins[i]["lng"]));
			//run create marker function with variables from xml file
			var marker = createMarkerHtml(point, bigMapPins[i]["html"], 'capio');
			//load created markers as overlay
             map.addOverlay(marker);
		
          }
		 
      
		
      }
	 
    }
	
	
	
	
	
	
	
	
	//Single pointer map for contact page
    function loadSingleMap(coords) {
		//check of coords are being passed in from the page
		if (coords != undefined){
			var split =coords.split(",");
			var lat = split[0];
			var longi = split[1];
		}
		//default to capio's location if nothing is provided
		else{
			var lat = "51.5230470";
			var longi ="-0.1667474";
		}
		
      if (GBrowserIsCompatible()) {
		//custom marker icon
		var capioIcon = new GIcon(G_DEFAULT_ICON, "/images/design/marker.png");
		//create point from lat and long
		var point = new google.maps.LatLng(lat,longi);
		//add map to element
		var mapContact = new google.maps.Map2(document.getElementById("mapContact"));
		mapContact.addControl(new GSmallMapControl());    
        mapContact.setCenter(point, 15);
		//add marker using capio icon
		var smarker = new GMarker(point,capioIcon);
		//load marker as overlay
        mapContact.addOverlay(smarker);
		}
    }   
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	//Single pointer map for contact page
    function loadConsultantMap(locations,center_lat,center_lng,zoom) {
		
		
		
      if (GBrowserIsCompatible()) { 
		//custom marker icon
		var capioIcon = new GIcon(G_DEFAULT_ICON, "/images/design/marker.png");
	
		var mapContact = new google.maps.Map2(document.getElementById("mapContact"));
		mapContact.setCenter(new GLatLng(center_lat,center_lng),zoom); // this doesn't work, needs a frontender to look at it. It should just set the center of the map, the latitude, longitude and zoom will be calculated by php.  
	
		for(var i=0; i<locations.length; i++){	
			var point = new google.maps.LatLng(locations[i]['lat'],locations[i]['lng']);
			mapContact.addControl(new GSmallMapControl());
			//mapContact.setCenter(point, 15); 
			var smarker = new GMarker(point,capioIcon);
	        mapContact.addOverlay(smarker);		
			}
			
		
	     }
    }
	
	

	//function loadMapResultsCity
	function loadMapResultsCity(pins,city) { 
		bigMapLoaded = true;
	
      if (GBrowserIsCompatible()) {
		//custom marker icon
		gicons["capio"] = new GIcon(G_DEFAULT_ICON, "/images/design/marker.png");
		
		//add map to element 
		
		
		
		
        var map = new google.maps.Map2(document.getElementById("map"));
		
		
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());	   
	    map.setCenter(new GLatLng(51.4,0), 10);
		geocoder = new GClientGeocoder();			
		geocoder.getLatLng(city+', uk',
			function(pnt) { 
				if(pnt){ map.setCenter(pnt, 10);	}
				else{ map.setCenter(new GLatLng(51.5230470,-0.1667474), 10);	}
			}
			);
        
		 
		 // adding the pins to the map
          for (var i = 0; i < pins.length; i++) { 
            var point = new google.maps.LatLng(parseFloat(pins[i]["lat"]),	   parseFloat(pins[i]["lng"]));
			
			
			var marker = createMarkerHtml(point, pins[i]["html"], 'capio');
			
		
			//load created markers as overlay
            map.addOverlay(marker);	
            }
        }
      }
	
	
	
	
	function loadMapResultsPostcode(pins,lat,lng) { 
		bigMapLoaded = true;
	
      if (GBrowserIsCompatible()) {
		//custom marker icon
		gicons["capio"] = new GIcon(G_DEFAULT_ICON, "/images/design/marker.png");
		
		//add map to element 
        var map = new google.maps.Map2(document.getElementById("map"));
		
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(lat,lng), 14);
		
		
	   
         
		 
          for (var i = 0; i < pins.length; i++) { 
		
            var name = pins[i]["name"];
            var detail = pins[i]["detail"];
			var image = pins[i]["image"];           
		    
            var point = new google.maps.LatLng(parseFloat(pins[i]["lat"]),	   parseFloat(pins[i]["lng"]));			
			
			//var marker = createMarker(point, name, detail, image, 'capio');
			var marker = createMarkerHtml(point, pins[i]["html"], 'capio');
			
			//load created markers as overlay
            map.addOverlay(marker);		
          }
		 
      
		
      }
	 
    }
	
	