    var map;
    var geocoder;
    
	var mapKey = 'ABQIAAAADU0XVQMH6mAqs72ByxAeChSvH0BgGNIaQunK9fWZ33QRFKjwbhSPjAYP5NrwQj3GYlNEA9rKsOdXuw';
	if (window.location.hostname == 'localhost') {
		mapKey = 'ABQIAAAADU0XVQMH6mAqs72ByxAeChSvH0BgGNIaQunK9fWZ33QRFKjwbhSPjAYP5NrwQj3GYlNEA9rKsOdXuw';
	} else if (window.location.hostname == 'ecommdev') {
		mapKey = 'ABQIAAAADU0XVQMH6mAqs72ByxAeChTqH62Zs7wG4vSRDXZcgXp6QgOZYBTtYUiyuhNa3JFBGa_DM_NxaxKACQ';
	} else if (window.location.hostname == 'desktop130') {
		mapKey = 'ABQIAAAADU0XVQMH6mAqs72ByxAeChSveb0MUrkJHZXxfo7_3LKiDjISYRSji-8kVIJFG0YgJBFDkXOGOGAnAg';
	}
	document.write('<'+'script src="http://maps.google.com/maps?file=api&v=2&sensor=true&key='+mapKey+'" type="text/java'+'script"></'+'script>');
	
    window.onload=drawMap;  
    function locatorLoad() {
      if (GBrowserIsCompatible()) {
    	geocoder = new GClientGeocoder();

    	//map = new GMap2(document.getElementById('map'));
    	map = new GMap2(document.getElementById('map'), {size: new GSize(600, 400)});

        var newMapTypes = map.getMapTypes();
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        //map.setCenter(new GLatLng(40, -100), 1);
      }
    }

   function searchStores() { 
	    var isIE4 = (document.all && !document.getElementById) ? true : false;
	    var isIE5 = (document.all && document.getElementById) ? true : false;
	    var isIE = (isIE4||isIE5) ? true : false;

	    var address = document.getElementById('addressInput').value;

	    if (!address || address == 'Enter address or zip code')
	    {
	    	 alert("Please Enter address or zip code");
			 return false;
	    }
			 
		 searchLocations();
   }
   function searchLocations() {
	 var address = document.getElementById('addressInput').value;
	 
	 geocoder = new GClientGeocoder();
	 	 
	 geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       }
       else {
    		 searchLocationsNear(latlng);
       }
     })
   }

   function searchLocationsNear(center) {
	   var radius = document.getElementById('radiusSelect').value;	   
	   var circleRadius = radius*Math.PI/180;
	   
	   document.storeLocator.longitude.value = center.lng() ;
  	   document.storeLocator.latitude.value = center.lat() ;
	   document.storeLocator.submit();
	 
   }

   function drawMap()
   {
	   var redicon = new GIcon();
		 redicon.image = "http://www.satsig.net/maps/mm_20_red.png";
		 redicon.shadow = "http://www.satsig.net/maps/mm_20_shadow.png";
		 redicon.iconSize = new GSize(12, 20);
		 redicon.shadowSize = new GSize(22, 20);
		 redicon.iconAnchor = new GPoint(6, 20);
		 redicon.infoWindowAnchor = new GPoint(5, 1);
		 var bounds = new GLatLngBounds();

		 if(document.storeLocator.addresses)
		 {
		     var sidebar = document.getElementById('sidebar');
	       	 sidebar.innerHTML = '<div style="margin-bottom:10px">Results for <b>'+document.getElementById('addressInput').value+'</b></div>';
			 locatorLoad();	       	

		 if(document.storeLocator.addresses.length)
		 {
		 for (var i=0; i < document.storeLocator.addresses.length; i++)
		 {
	       var name = document.storeLocator.names[i].value;
	       var address = document.storeLocator.addresses[i].value;
	       var distance = parseFloat(document.storeLocator.distance[i].value);
	       var point = new GLatLng(parseFloat(document.storeLocator.lats[i].value)/1000000,parseFloat(document.storeLocator.lags[i].value)/1000000);
	       var marker = createMarker(point, name, address);
	       map.addOverlay(marker);
	       var sidebarEntry = createSidebarEntry(marker, name, address, distance);
	       sidebar.appendChild(sidebarEntry);
	       bounds.extend(point);
		 }
		 }
		 else
		 {
			 var name = document.storeLocator.names.value;
		     var address = document.storeLocator.addresses.value;
		     var distance = parseFloat(document.storeLocator.distance.value);
		     var point = new GLatLng(parseFloat(document.storeLocator.lats.value)/1000000,parseFloat(document.storeLocator.lags.value)/1000000);
		     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);
      var html = '<b>' + name + '</b> <br/>' + address;
      html += '<br /><br /><a href="http://maps.google.com/maps?daddr='+escape(address)+'" target="google">Get Directions</a>';
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createSidebarEntry(marker, name, address, distance) {
        var div = document.createElement('div');
        var html = '<b>' + name + '</b> (' + distance.toFixed(1) + ')<br/>' + address;
        div.innerHTML = html;
        div.style.cursor = 'pointer';
        div.style.marginTop = '20px'; 
        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;
    }

