var map;var geocoder;function load(){if(GBrowserIsCompatible()){geocoder=new GClientGeocoder();map=new GMap2(document.getElementById('map'));map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(40,-100),13);icon=new GIcon();icon.image="http://www.forcefactor.com/retail2/images/store_locator/marker.png";icon.shadow="http://www.forcefactor.com/retail2/images/store_locator/marker_shadow.png";icon.iconSize=new GSize(56,38);icon.shadowSize=new GSize(61,37);icon.iconAnchor=new GPoint(5,5);icon.infoWindowAnchor=new GPoint(27,40);locateStores()}}function locateStores(){var address=document.getElementById('zip_code').value;geocoder.getLatLng(address,function(latlng){if(!latlng){document.getElementById('locations').innerHTML='<strong>No results found.</strong>'}else{locateStoresNear(latlng)}})}function locateStoresNear(center){var radius=document.getElementById('radiusSelect').value;var searchUrl='http://www.forcefactor.com/retail2/inc/handlers/store_locator.xml.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 locations=document.getElementById('locations');locations.innerHTML='';if(markers.length==0){locations.innerHTML='<strong>No results found.</strong>';map.setCenter(new GLatLng(40,-100),13);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 address_2=markers[i].getAttribute('city')+', '+markers[i].getAttribute('state')+' '+markers[i].getAttribute('zip_code');var phone_number=markers[i].getAttribute('phone_number');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,address_2,phone_number);map.addOverlay(marker);if(i<8){var locationsEntry=createLocationsEntry(marker,name,address,distance,address_2,phone_number);locations.appendChild(locationsEntry)}bounds.extend(point)}map.setCenter(center,12)})}function createMarker(point,name,address,address_2,phone_number){var marker=new GMarker(point,{icon:icon});var html='<span class="marker"><b>'+name+'</b> <br/>'+address+'<br/>'+address_2+'<br/>'+phone_number+'</span>';GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(html)});return marker}function createLocationsEntry(marker,name,address,distance,address_2,phone_number){var div=document.createElement('div');var html='<span class="location"><b>'+name+'</b> - '+distance.toFixed(1)+' mile(s)<br/>'+address+'<br/>'+address_2+'<br/>'+phone_number+'</span>';div.innerHTML=html;GEvent.addDomListener(div,'click',function(){GEvent.trigger(marker,'click')});return div}