//<![CDATA[
    var map;
    var geocoder;

    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
		map.enableScrollWheelZoom();
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(54.162434,-3.669434), 5);
      }
    }

	function createMarker(point, name, address, distance, phone) {
      var marker = new GMarker(point);
      var html = '<p style="text-align: left;"><b>' + name + '<\/b><br /><small>(' + distance.toFixed(1) + ' miles)</small><br/>';
	  var addressArray = address.split(", ");
		if(addressArray)
		{
			for ( var q in addressArray )
			{
			   html += addressArray[q] + '<br />';
			}
		}
	  html += '<br />Telephone: '+phone+'<\/p><p><a href="http://maps.google.co.uk/maps?saddr='+document.getElementById('addressInput').value+'&daddr='+address+' ('+name+')" target="_blank">Get Directions<\/a><\/p>';
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
	
	function createSidebarEntry(marker, name, address, distance, display_type) {
      var div = document.createElement('div');
      var html = '<div style="float: left; width: 369px; margin: 2px; border: 1px solid #ccc;"><p><b>' + name + '<\/b> ';
	  //if (display_type==1) html += '*';
	  html += ' (' + distance.toFixed(1) + ' miles)<\/p>';
	  div.innerHTML = html;
      div.style.cursor = 'pointer';
      div.style.color = '#041F54';
      div.style.marginBottom = '5px'; 
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#fff';
        div.style.color = '#999';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#eee';
        div.style.color = '#041F54';
      });
      return div;
    }
	
   function searchLocationsNear(center) {
     //var radius = document.getElementById('radiusSelect').value;
     var searchUrl = '/wp-content/themes/BCSanitan/phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng();// + '&radius=' + radius;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var sidebar = document.getElementById('mapsidebar');
       sidebar.innerHTML = '';
       if (markers.length === 0) {
         sidebar.innerHTML = 'No results found.';
         map.setCenter(new GLatLng(54.162434,-3.669434), 5);
         return;
       }

       var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var name = markers[i].getAttribute('name');
         var address = markers[i].getAttribute('address');
         var phone = markers[i].getAttribute('telephone');
         var display_type = markers[i].getAttribute('display_type');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
         
         var marker = createMarker(point, name, address, distance, phone);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance, display_type);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
       map.setCenter(bounds.getCenter(), (map.getBoundsZoomLevel(bounds)-1));
     });
   }

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
	 address += ', UK';
     //address += document.getElementById('countryInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng);
		 pageTracker._trackPageview("/find-a-retailer/search/"+address); 
       }
     });
   }
    //]]>