	var map;
	var geocoder;
	if(google.loader.ClientLocation){
		visitor_lat = google.loader.ClientLocation.latitude;
		visitor_lon = google.loader.ClientLocation.longitude;
		visitor_city = google.loader.ClientLocation.address.city;
		visitor_region = google.loader.ClientLocation.address.region;
		visitor_country = google.loader.ClientLocation.address.country;
		visitor_countrycode = google.loader.ClientLocation.address.country_code;
	}
	else{}
	
   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
	    
       } else {
         searchLocationsNear(latlng);
       }
     });
   }
   
   function searchLocationstwo() {
     var addresstwo = new GLatLng(visitor_lat, visitor_lon);
     geocoder.getLatLng(addresstwo, function(latlng) {
       if (!latlng) {
	    
       } else {
         searchLocationsNear(latlng);
       }
     });
   }   

    function initialize() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
	   /*var center = new GLatLng(37.579413, -83.408203);*/
    	    
	   var addresstwo = new GLatLng(40.686053,-80.569153);
    			 geocoder.getLatLng(addresstwo, function(latlng) {
       	if (!latlng) {
	    
       	} else {
        	 searchLocationsNear_two(latlng);
       	}
    		 });
	   map.setCenter(addresstwo, 5);
	   
	   

      }
    }

   
   function searchLocationsNear(center) {
     var radius = document.getElementById('radiusSelect').value;
     var searchUrl = 'includes/store_locations.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('sidebar');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<div>No results found.</div>';
         map.setCenter(new GLatLng(40.686053,-80.569153), 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 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);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
	   
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
     });
   }   
   
   
   
function searchLocationsNear_two(center) {
     var radius = 10000;
     var searchUrl = 'includes/store_locations.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('sidebar');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<div>No results found.</div>';
         map.setCenter(new GLatLng(40.686053,-80.569153), 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 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);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
	   
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
     });
   }    
   
   
   
   
   
   
	

    function createMarker(point, name, address) {
      var marker = new GMarker(point);
	 function delquote(str){
	 	return (str=str.replace(/["']{1}/gi,""));
	}
	
	 var center = new GLatLng(visitor_lat, visitor_lon);
	 var pointspace = escape(center);
	 
	 var addressspace = address.replace(/\s/g,"%20");
	 var address_filled = document.getElementById('addressInput').value;
	 var pointspace_two = escape(address_filled);
	 

      GEvent.addListener(marker, 'click', function() {
	 if(address_filled == 0){
      	var html = '<strong>' + name + '</strong> <br/>' + address + '<br/> <a href=http://maps.google.com/maps?saddr=' + delquote(pointspace) + '&daddr=' + delquote(addressspace) + ' target=_black>Get Directions</a>';
	 }else{
	 	var html = '<strong>' + name + '</strong> <br/>' + address + '<br/> <a href=http://maps.google.com/maps?saddr=' + delquote(pointspace_two) + '&daddr=' + delquote(addressspace) + ' target=_blank>Get Directions</a>';
	 }	 
        marker.openInfoWindowHtml(html);
      });
      return marker;
	 
    }

    function createSidebarEntry(marker, name, address, distance) {
      var div = document.createElement('div');
      var html = '<strong>' + name + '</strong> (' + distance.toFixed(1) + ')<br/>' + address;
      div.innerHTML = html;
      div.style.cursor = 'pointer';
      div.style.marginBottom = '5px'; 
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#eee';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#fff';
      });
      return div;
    }