    //<![CDATA[
    var map;
    var geocoder;
	//gmarkers[i] = marker;

    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,-88.162265), 7);
      }
    }
	
	function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
	    map.addControl(new GMapTypeControl());
	    map.setCenter(new GLatLng(40,-88.162265), 7);
        GDownloadUrl("http://www.cimico.net/locator/gen_full_xml.php", 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 = '<p><strong>No results found.</strong><p>';
         return;
       }
          for (var i = 0; i < markers.length; i++) {
            //var latlng = 
			var lat = parseFloat(markers[i].getAttribute("lat"));
            var lng = parseFloat(markers[i].getAttribute("lng"));
            var point = new GLatLng(lat,lng);
			var AgencyName = markers[i].getAttribute('AgencyName');
         var address = markers[i].getAttribute('address') + '<br />';
		 if (markers[i].getAttribute('box') !="") {var box = markers[i].getAttribute('box') + '<br />';} else {var box = "";}
		 var City = markers[i].getAttribute('City') + ', ';
		 var State = markers[i].getAttribute('State') + ' ';
		 var Zip = markers[i].getAttribute('Zip') + '<br />';
		 if (markers[i].getAttribute('Phone1') !="") {var Phone1 = markers[i].getAttribute('Phone1') + '<br />';} else {var Phone1 = "";}
		 if (markers[i].getAttribute('Phone2') !="") {var Phone2 = markers[i].getAttribute('Phone2') + '<br />';} else {var Phone2 = "";}
		 if (markers[i].getAttribute('Fax1') !="") {var Fax1 = markers[i].getAttribute('Fax1') + '<em> fax</em><br />';} else {var Fax1 = "";}
		 if (markers[i].getAttribute('EMail') !="") {var EMail = '<a href="mailto:' + markers[i].getAttribute('EMail') + '">' + markers[i].getAttribute('EMail') + '</a><br />';} else {var EMail = "";}
		 var directions = '<a href="http://maps.google.com/maps?q=' + markers[i].getAttribute('address') + ', ' + markers[i].getAttribute('City') + ', ' + markers[i].getAttribute('State') + '" target="_blank">Get driving directions</a>'
         var distance = "";
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
         
         var marker = createMarker(point, AgencyName, address, box, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, AgencyName, address, box, distance, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions);
         sidebar.appendChild(sidebarEntry);
         //bounds.extend(point);
       }
       map.addOverlay(marker);
 		//bounds.extend(center);
 		//map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
 		var Icon = new GIcon();
	      //Icon.image = "http://www.chatauquapatrons.com/images/arrow.png";
	      //Icon.iconSize = new GSize(20, 34);
	      //Icon.shadow = "../images/arrowshadow.png";
	      //Icon.shadowSize = new GSize(36, 34);
	      //Icon.iconAnchor = new GPoint(5, 34);
	      //Icon.infoWindowAnchor = new GPoint(5, 2);
     });
      }
    }

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' Please enter an valid address.');
       } else {
         searchLocationsNear(latlng);
       }
     });
   }

   function searchLocationsNear(center) {
     var radius = document.getElementById('radiusSelect').value;
     var searchUrl = 'http://www.cimico.net/locator/gen_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 sidebar = document.getElementById('sidebar');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = '<p><strong>No results found.</strong><br /><br /><a href="http://www.cimico.net/locator/">Click here</a> for a complete listing of agents.</p>';
         map.setCenter(new GLatLng(40, -100), 4);
         return;
       }
      
	   var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var AgencyName = markers[i].getAttribute('AgencyName');
         var address = markers[i].getAttribute('address') + '<br />';
		  if (markers[i].getAttribute('box') !="") {var box = markers[i].getAttribute('box') + '<br />';} else {var box = "";}
		 var City = markers[i].getAttribute('City') + ', ';
		 var State = markers[i].getAttribute('State') + ' ';
		 var Zip = markers[i].getAttribute('Zip') + '<br />';
		 if (markers[i].getAttribute('Phone1') !="") {var Phone1 = markers[i].getAttribute('Phone1') + '<br />';} else {var Phone1 = "";}
		 if (markers[i].getAttribute('Phone2') !="") {var Phone2 = markers[i].getAttribute('Phone2') + '<br />';} else {var Phone2 = "";}
		 if (markers[i].getAttribute('Fax1') !="") {var Fax1 = markers[i].getAttribute('Fax1') + '<em> fax</em><br />';} else {var Fax1 = "";}
		 if (markers[i].getAttribute('EMail') !="") {var EMail = '<a href="mailto:' + markers[i].getAttribute('EMail') + '">' + markers[i].getAttribute('EMail') + '</a><br />';} else {var EMail = "";}
		 var directions = '<a href="http://maps.google.com/maps?f=d&source=s_d&saddr=' + document.getElementById('addressInput').value + '&daddr=' + markers[i].getAttribute('address') + ', ' + markers[i].getAttribute('City') + ', ' + markers[i].getAttribute('State') + '" target="_blank">Get driving directions</a>'
         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, AgencyName, address, box, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, AgencyName, address, box, distance, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
       map.addOverlay(createCenterMarker(center, document.getElementById('addressInput').value, "", "", ""));
 		bounds.extend(center);
 		map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
 		var Icon = new GIcon();
	      //Icon.image = "http://www.chatauquapatrons.com/images/arrow.png";
	      //Icon.iconSize = new GSize(20, 34);
	      //Icon.shadow = "../images/arrowshadow.png";
	      //Icon.shadowSize = new GSize(36, 34);
	      //Icon.iconAnchor = new GPoint(5, 34);
	      //Icon.infoWindowAnchor = new GPoint(5, 2);
     });
   }


    function createMarker(point, AgencyName, address, box, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions) {
	  //var custIcon = new GIcon(G_DEFAULT_ICON);
		//custIcon.iconSize = new GSize(39, 34);
		//custIcon.shadowSize = new GSize(0, 0);
		//custIcon.iconAnchor = new GPoint(0, 0);
		//var myIcons = [];
		//myIcons['mlocation'] = new GIcon(custIcon, 'http://www.chautauquapatrons.com/images/arrow.png');
		//var marker = new GMarker(point, { icon: myIcons['mlocation']});
	  var marker = new GMarker(point);
	  
      //var html = '<b>' + AgencyName + '</b> <br/>' + address;
	  var html = '<p style="margin-top:1px; width:250px; height:150px;"><font style="color:#002060; font-size:12px;"><b>' + AgencyName + '</b></font> <font style="color:#000; font-size:12px; padding:5px;"><br/>' + address + box + City + State + Zip + Phone1 +  Phone2 + Fax1 + EMail + directions + '<br /></font>';
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
	
	function createCenterMarker (point, name) {
		var custIcon = new GIcon(G_DEFAULT_ICON);
		custIcon.iconSize = new GSize(39, 34);
		custIcon.shadowSize = new GSize(0, 0);
		custIcon.iconAnchor = new GPoint(0, 0);
		var myIcons = [];
		myIcons['mlocation'] = new GIcon(custIcon, 'http://www.cimico.net/images/arrow.png');
		var marker = new GMarker(point, { icon: myIcons['mlocation']});
    	var html = '<p><font style="color:#002060; font-size:12px;"><b>Your address:</b></font><br />' + name;
    	GEvent.addListener(marker, 'click', function() {
    		marker.openInfoWindowHtml(html);
	    });
	    
	    return marker;
    }


    function createSidebarEntry(marker, AgencyName, address, box, distance, City, State, Zip, Phone1, Phone2, Fax1, EMail, directions) {
      var div = document.createElement('div');
	  if (distance !="") {var html = '<p style="margin-top:1px"><font style="color:#002060; font-size:12px;"><b>' + AgencyName + '</b></font> (' + distance.toFixed(1) + ')<br/>' + address + City + State + Zip + Phone1 + Phone2 + Fax1 + EMail + directions;} else {var html = '<p style="margin-top:1px"><font style="color:#002060; font-size:12px;"><b>' + AgencyName + '</b></font><font style="color:#000; font-size:12px;"><br />' + address + City + State + Zip + Phone1 + Phone2 + Fax1 + EMail + directions + '<br /></font>';}
      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;
    }
    //]]>
