// Louisville Kentucky Trails Using Google Maps GeoCode

function louisvilleTrails() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(38.5, -85.759), 6);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());

    // Create a base icon for all of our markers that specifies the
    // shadow, icon dimensions, etc.
    var baseIcon = new GIcon(G_DEFAULT_ICON);
    baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);

    // Creates a marker whose info window displays the letter corresponding
    // to the given index.
    function createMarker(point, index) {
      // Create a lettered icon for this point using our icon class
      var letter = String.fromCharCode("A".charCodeAt(0) + index);
      var letteredIcon = new GIcon(baseIcon);
      letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

      // Set up our GMarkerOptions object
      markerOptions = { icon:letteredIcon };
      var marker = new GMarker(point, markerOptions);

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<h1>Marker " + letter + "</h1>");		// default = ("Marker <b>" + letter + "</b>");
      });
      return marker;
    }
	
	// Creates a tailMarkers whose info window displays the trail description
    function createTrailMarker(point, title, desc) {
      // Create a lettered icon for this point using our icon class
      //var letter = String.fromCharCode("A".charCodeAt(0) + index);
      var letteredIcon = new GIcon(baseIcon);
      letteredIcon.image = "http://www.google.com/mapfiles/marker" + title + ".png";

      // Set up our GMarkerOptions object
      markerOptions = { icon:letteredIcon };
      var marker = new GMarker(point, markerOptions);

      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(desc);		// default = ("Marker <b>" + letter + "</b>");
      });
      return marker;
    }

    // Add 10 markers to the map at random locations
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var lngSpan = northEast.lng() - southWest.lng();
    var latSpan = northEast.lat() - southWest.lat();
      var waverly = new GLatLng(38.130742, -85.829058);
	  var waverlyDesc = "<h1>Waverly Park</h1> <p1>- Epic Single & Double Track - Best Cross Country In Louisville Area</p1>";
      map.addOverlay(createTrailMarker(waverly, "W", waverlyDesc));
	  
	  var cherokee = new GLatLng(38.240405, -85.698938);
	  var cherokeeDesc = "<h1>Cherokee Park</h1> <p1>- Fun Fast Easy Flow - Trails to Shred in the City of Louisville</p1>";
      map.addOverlay(createTrailMarker(cherokee, "C", cherokeeDesc));
	  
	  var duffield = new GLatLng(37.991614, -85.945959);
	  var duffieldDesc = "<h1>Fort Duffield</h1> <p1>- Civil War Memorial & Jumps Stunts Fast Downhill, Great Cross Country Loop</p1>";
      map.addOverlay(createTrailMarker(duffield, "D", duffieldDesc));
	  
	  var briarHill = new GLatLng(38.323057, -85.515046);
	  var briarHillDesc = "<h1>Briar Hill</h1> <p1>- Neighborhood Trails, Technical Loops</p1>";
      map.addOverlay(createTrailMarker(briarHill, "B", briarHillDesc));
	  
	  var brownCounty = new GLatLng(39.143641, -86.226711);
	  var brownCountyDesc = "<h1>Brown County State Park</h1> <p1>- Miles of Fun PumpTrack Style Flowy Trails + Technical Loop</p1>";
      map.addOverlay(createTrailMarker(brownCounty, "A", brownCountyDesc));
	  
	  var windrock = new GLatLng(36.076061, -84.334002);
	  var windrockDesc = "<h1>Windrock TN</h1> <p1>- Pro DH Lines, Hucks & Shred, 3000 FT Vertical</p1>";
      map.addOverlay(createTrailMarker(windrock, "X", windrockDesc));
	  
	  var snowshoe = new GLatLng(38.411368, -79.996693);
	  var snowshoeDesc = "<h1>Snowshoe WV</h1> <p1>- East Coast Resort, Bit of everything</p1>";
      map.addOverlay(createTrailMarker(snowshoe, "Y", snowshoeDesc));
	  
	  var rays = new GLatLng(41.454790, -81.751795);
	  var raysDesc = "<h1>Rays OH</h1> <p1>- Indoor Mountain Bike Park</p1>";
      map.addOverlay(createTrailMarker(rays, "R", raysDesc));
	  
	  var capitalView = new GLatLng(38.178529, -84.869784);
	  var capitalViewDesc = "<h1>CapitalView</h1> <p1>- Fun Bowl Rides, good assortment of trails</p1>";
      map.addOverlay(createTrailMarker(capitalView, "F", capitalViewDesc));
  }
}