    var map;
    var AreaAttractionsGeoXML; 
    var OutdoorActivitiesGeoXML; 
    var DiningPlacesGeoXML; 
    var HospitalsGeoXML; 
    var TransportationGeoXML; 

    // initialize state variables
    var AreaAttractionsToggleState = 0;
    var OutdoorActivitiesToggleState = 0;
    var DiningPlacesToggleState = 0;
    var HospitalsToggleState = 0;
    var TransportationToggleState = 0;

    function initialize_google_map(default_map)
    {
      if (GBrowserIsCompatible())
      {
        // initialize KML overlay 
        AreaAttractionsGeoXML = new GGeoXml("http://www.albuquerquebedandbreakfasts.com/google-maps/areaattractions.kml");
        OutdoorActivitiesGeoXML = new GGeoXml("http://www.albuquerquebedandbreakfasts.com/google-maps/outdooractivities.kml");
        DiningPlacesGeoXML = new GGeoXml("http://www.albuquerquebedandbreakfasts.com/google-maps/diningplaces.kml");
        HospitalsGeoXML = new GGeoXml("http://www.albuquerquebedandbreakfasts.com/google-maps/hospitals.kml");
        TransportationGeoXML = new GGeoXml("http://www.albuquerquebedandbreakfasts.com/google-maps/transportation.kml");

        // initialize map and add the default area attractions overlay
        map = new GMap2(document.getElementById("map_canvas")); 
        map.setCenter(new GLatLng(35.047619, -106.617912), 11); 
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());

        switch(default_map)
        {
          case 0:
          {
            AreaAttractionsToggleState = 1;
            map.addOverlay(AreaAttractionsGeoXML);
            break;
          }
          case 1:
          {
            OutdoorActivitiesToggleState = 1;
            map.addOverlay(OutdoorActivitiesGeoXML);
            break;
          }
          case 2:
          {
            DiningPlacesToggleState = 1;
            map.addOverlay(DiningPlacesGeoXML);
            break;
          }
          case 3:
          {
            HospitalsToggleState = 1;
            map.addOverlay(HospitalsGeoXML);
            break;
          }
          case 4:
          {
            TransportationToggleState = 1;
            map.addOverlay(TransportationGeoXML);
            break;
          }
        }  // end of switch
      }
    } 

    function TurnOnAreaAttractions()
    {
      if(0 == AreaAttractionsToggleState)
      {
        map.addOverlay(AreaAttractionsGeoXML);
        AreaAttractionsToggleState = 1;
      }
    }

    function TurnOffAreaAttractions()
    {
      if(1 == AreaAttractionsToggleState)
      {
        map.removeOverlay(AreaAttractionsGeoXML);
        AreaAttractionsToggleState = 0;
      }
    }

    function TurnOnOutdoorActivities()
    {
      if(0 == OutdoorActivitiesToggleState)
      {
        map.addOverlay(OutdoorActivitiesGeoXML);
        OutdoorActivitiesToggleState = 1;
      }
    }

    function TurnOffOutdoorActivities()
    {
      if(1 == OutdoorActivitiesToggleState)
      {
        map.removeOverlay(OutdoorActivitiesGeoXML);
        OutdoorActivitiesToggleState = 0;
      }
    }

    function TurnOnDiningPlaces()
    {
      if(0 == DiningPlacesToggleState)
      {
        map.addOverlay(DiningPlacesGeoXML);
        DiningPlacesToggleState = 1;
      }
    }

    function TurnOffDiningPlaces()
    {
      if(1 == DiningPlacesToggleState)
      {
        map.removeOverlay(DiningPlacesGeoXML);
        DiningPlacesToggleState = 0;
      }
    }

    function TurnOnHospitals()
    {
      if(0 == HospitalsToggleState)
      {
        map.addOverlay(HospitalsGeoXML);
        HospitalsToggleState = 1;
      }
    }

    function TurnOffHospitals()
    {
      if(1 == HospitalsToggleState)
      {
        map.removeOverlay(HospitalsGeoXML);
        HospitalsToggleState = 0;
      }
    }

    function TurnOnTransportation()
    {
      if(0 == TransportationToggleState)
      {
        map.addOverlay(TransportationGeoXML);
        TransportationToggleState = 1;
      }
    }

    function TurnOffTransportation()
    {
      if(1 == TransportationToggleState)
      {
        map.removeOverlay(TransportationGeoXML);
        TransportationToggleState = 0;
      }
    }

