// Creates a Google map of HFHC affiliates.  Requires a <div> with
// an ID of "map" to be present on the page that calls this routine.
// @auther Steven Alhadef based off the Google Maps API 2
function loadTheMap() {
  if (GBrowserIsCompatible()) {
    // Create the basic map
    var map = new GMap2(document.getElementById("map"));
    map.enableDoubleClickZoom();
    map.enableContinuousZoom();
    map.enableScrollWheelZoom();
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(39.036252959636606, -105.53466796875), 7);

    // Overrride default icon with Habitat logo
    var habitatIcon = new GIcon();
    habitatIcon.image = "media/icon_habitat.jpg";
    habitatIcon.iconSize = new GSize(24, 22);
    habitatIcon.iconAnchor = new GPoint(12, 11);
    habitatIcon.infoWindowAnchor = new GPoint(12, 1);

    // Add markers
    var point = new GLatLng(40.306284, -105.079073);
    var address = "Berthoud Habitat ReStore<br/>349 Massachusetts Ave.<br/>Berthoud, CO 80513</br>(970) 532-2870";
    var email = "thriftstore@berthoudhabitat.org";
    var info = "http://www.berthoudhabitat.org/ThriftStore.htm";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.692236, -105.35789);
    var address = "Blue Spruce Habitat ReStore<br/>1232 Bergen Parkway <br/>Evergreen, CO 80439<br/>(303) 674-1127";
    var email = "";
    var info = "http://www.bluesprucerestore.org";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(38.843271,-106.132408);
    var address = "Chaffee County ReStore<br/>215 1/2 Tabor St.<br/>Buena Vista, CO 81211<br/>(719) 395-0482";
    var email = "";
    var info = "http://www.chaffeehabitat.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.644825, -106.949501);
    var address = "Eagle and Lake Counties ReStore<br/>500 Trail Gulch Rd<br/>Gypsum, CO 81637<br/>(970) 524-0669<br/>";
    var email = "";
    var info = "http://www.habitateaglelake.org/Restore.htm";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.910102, -105.061142);
    var address = "Flatirons Habitat ReStore<br/>6900 W. 117th<br/>Broomfield, CO 80020<br/>(303) 404-2008";
    var email = "info@flatironsthrift.com";
    var info = "http://www.flatironshabitat.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(38.443258, -105.235333);
    var address = "Fremont County Re-Store<br/>915 B Main Street<br/>Canon City, CO 81212<br/>(719) 275-1787";
    var email = "";
    var info = "http://www.geocities.com/fremonthfh/index.html";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(40.532459, -105.115278);
    var address = "Fort Collins Habitat Home Supply Store<br/>4001 South Taft Hill Road<br/>Fort Collins, CO 80526<br/>(970) 223-9909";
    var email = "";
    var info = "http://www.freewebs.com/gahfhrestore";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(40.390456, -104.707196);
    var address = "Greeley Area Habitat for Humanity Home Improvement Restore<br/>1750 Greeley Mall<br/>Greeley, CO 80631<br/>(970) 352-1404";
    var email = "";
    var info = "http://www.greeleyrestore.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(37.269989, -107.880313);
    var address = "La Plata Habitat ReStore<br/>600 East Second Avenue<br/>Durango, CO 81301<br/>(970) 382-9931";
    var email = "";
    var info = "http://www.habitatdurango.org/restore/art.php";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(40.446098, -105.077341);
    var address = "Loveland Habitat Thrift Store<br/>5250 N. Garfield Ave. (N Hwy 287)<br/>Loveland, CO 80538<br/>(970) 669-7343";
    var email = "";
    var info = "http://www.freewebs.com/lovehabitatauto/habitatthriftstore.htm";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.077629, -108.500454);
    var address = "Mesa County Habitat Home Store<br/>2936 North Avenue, #D<br/>Grand Junction, CO 81504<br/>(970) 263-0858";
    var email = "";
    var info = "http://www.hfhmesa.org/restore/index.php";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.717685, -105.002925);
    var address = "Metro Denver Home Improvement Outlet<br/>70 Rio Grande Blvd<br/>Denver, CO 80223<br/>(303) 722-5863 or 5864";
    var email = "";
    var info = "http://www.habitatoutlet.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.784631, -105.116308);
    var address = "Metro Denver Home Improvement Outlet<br/>10625 W. I-70 Frontage Road<br/>Wheat Ridge, CO 80033<br/>(303) 421-5300";
    var email = "";
    var info = "http://www.habitatoutlet.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(38.482049, -107.881129);
    var address = "Montrose County ReStore<br/>311 North 4th St<br/>Montrose, CO 81401<br/>(970) 252-9304";
    var email = "restorehfhm@montrose.net";
    var info = "http://www.habitatcolorado.org/Montrose/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(38.827874, -104.818175);
    var address = "Pikes Peak Habitat ReStore<br/>411 S. Wahsatch Ave.<br/>Colorado Springs, CO 80932<br/>(719) 667-0840";
    var email = "";
    var info = "http://www.habitatrestorepp.com/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(38.228438, -104.643647);
    var address = "Pueblo ReStore<br/>2313 S. Prairie Ave<br/>Pueblo, CO 81005-3826<br/>(719) 543-0702";
    var email = "pueblorestore@yahoo.com";
    var info = "http://www.habitatcolorado.org/Pueblo/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(39.457381, -107.261798);
    var address = "Roaring Fork Valley ReStore<br/>0062 County Road 113 Warehouse G 6-9 (mile marker 8 off of Hwy 82)<br/>Carbondale, CO 81623<br/>(970) 963-8555";
    var email = "restore.habitatrfv@gmail.com";
    var info = "http://www.habitatroaringfork.org/";
    addMarkerToMap(map, point, habitatIcon, address, email, info);

    var point = new GLatLng(40.153436,-105.11489);
    var address = "St. Vrain ReStore <br/>1351 Sherman Drive<br/>Longmont, CO  80501<br/>(303) 776-3334";
    var email = "restoreinfo@stvrainhfh.org";
    var info = "http://www.stvrainhfh.org/BodyStyle.asp?mmid=105";
    addMarkerToMap(map, point, habitatIcon, address, email, info);
  }
}

// Adds a marker at the given point on the given map.  An info window
// displaying the given name, url, and info is also linked to the marker.
function addMarkerToMap(map, point, icon, address, email, info) {
    // Create text for info window
    var text = "<p><b>" + address + "</b></p>";
    text = text + "<p><a href=\"mailto:" + email + "\">" + email +"</a></p>";
    text = text + "<p><a href=\"" + info + "\">" + info +"</a></p>";

    // Create a marker with info window
    //var marker = new GMarker(point, {icon: icon});
    var marker = new GMarker(point, {icon: icon, draggable: false});
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(text);
    });

    // Positional debugging code - keep commented out unless debugging map
    //GEvent.addListener(marker, "dragend", function() {
    //  marker.openInfoWindowHtml(name + "<br/><br/>" + marker.getPoint().toString());
    //});

    // Add markers to map
    map.addOverlay(marker);
}