﻿        var map;
        var geoXmlKnobstoneTrail = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail.kml");
        var geoXmlTrailheads = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail_Trailheads.kml");
        var geoXmlMileMarkers = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail_Mile_Markers.kml");
        var geoXmlCreekBeds = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail_CreekBeds.kml");
        var geoXmlFoodWaterCache = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail_FoodWaterCache.kml");
        var geoXmlPOI = new GGeoXml("http://joshua.d.hopkins.googlepages.com/Knobstone_Trail_POI.kml");
        var toggleStateKnobstoneTrail = 1;
        var toggleStateTrailheads = 1;
        var toggleStateMileMarkers = 0;
        var toggleStateCreekBeds = 0;
        var toggleStateFoodWaterCache = 0;
        var toggleStatePOI = 0;
        
        function initialize() {
          if (GBrowserIsCompatible()) {
            map = new GMap2(document.getElementById("map")); 
            map.setCenter(new GLatLng(38.60, -85.92), 11);
            map.setMapType(G_SATELLITE_MAP); 
            map.addControl(new GLargeMapControl());
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl()); 
            map.addOverlay(geoXmlKnobstoneTrail);
            map.addOverlay(geoXmlTrailheads);
          }
        }
        
        // (on/off) toggle for trailheads
        function toggleTrailheads() {
          //trailheadList = document.getElementById("trailheadList");
          if (toggleStateTrailheads == 1) {
            map.removeOverlay(geoXmlTrailheads);
            //trailheadList.style.display = "none";
            toggleStateTrailheads = 0;
          } else {
            map.addOverlay(geoXmlTrailheads);
            //trailheadList.style.display = "block";
            toggleStateTrailheads = 1;
          }
        }
        
        // (on/off) toggle for mile markers
        function toggleMileMarkers() {
          if (toggleStateMileMarkers == 1) {
            map.removeOverlay(geoXmlMileMarkers);
            toggleStateMileMarkers = 0;
          } else {
            map.addOverlay(geoXmlMileMarkers);
            toggleStateMileMarkers = 1;
          }
        }
        
        // (on/off) toggle for creek beds
        function toggleCreekBeds() {
          if (toggleStateCreekBeds == 1) {
            map.removeOverlay(geoXmlCreekBeds);
            toggleStateCreekBeds = 0;
          } else {
            map.addOverlay(geoXmlCreekBeds);
            toggleStateCreekBeds = 1;
          }
        }
        
        // (on/off) toggle for food/water cache
        function toggleFoodWaterCache() {
          if (toggleStateFoodWaterCache == 1) {
            map.removeOverlay(geoXmlFoodWaterCache);
            toggleStateFoodWaterCache = 0;
          } else {
            map.addOverlay(geoXmlFoodWaterCache);
            toggleStateFoodWaterCache = 1;
          }
        }
        
        // (on/off) toggle for points of interest
        function togglePOI() {
          if (toggleStatePOI == 1) {
            map.removeOverlay(geoXmlPOI);
            toggleStatePOI = 0;
          } else {
            map.addOverlay(geoXmlPOI);
            toggleStatePOI = 1;
          }
        }
        
        // view for deam lake trailhead
        function viewDeamLake() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.465393, -85.843834));
        }
        
        // view for jackson road trailhead
        function viewJacksonRoad() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.515900, -85.870544));
        }
        
        // view for new chapel trailhead
        function viewNewChapel() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.576290, -85.872978));
        }
        
        // view for leota trailhead
        function viewLeota() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.642628, -85.885735));
        }
        
        // view for elk creek trailhead
        function viewElkCreek() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.649067, -85.950356));
        }
        
        // view for oxley memorial trailhead
        function viewOxleyMemorial() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.682968, -85.975327));
        }
        
        // view for spurgeon hollow trailhead
        function viewSpurgeonHollow() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.713306, -86.043907));
        }
        
        // view for delaney creek trailhead
        function viewDelaneyCreek() {
          if (toggleStateTrailheads == 0) {
            map.addOverlay(geoXmlTrailheads);
            toggleStateTrailheads = 1;
          }
          map.panTo(new GLatLng(38.724579, -86.032501));
        }