var locations;
var markerinfo = [];
var map;

$('document').ready(function() {
  if (GBrowserIsCompatible()) {
     map = new GMap2(document.getElementById("google-map"));
     map.addControl(new GLargeMapControl());
     map.addControl(new GScaleControl());
     map.setCenter(new GLatLng(38.6500, -90.3967), 9);
  }

  $.getJSON("/select_a_school/locations_json", function(json) {
        locations = json;
        for (idx=0; idx<locations.length; idx++) {
            showOneLocation(idx);
        }});
});

function showOneLocation(idx) {
            var curpoint = locations[idx].external_fair_location;

             var point = new GLatLng(curpoint.lat, curpoint.lng); 
             var html = "<b>" + curpoint.name + "</b><br/>";
             html += curpoint.address;
             var directionsLink = '<br/><a href="http://maps.google.com/maps?saddr=&daddr=' + encodeURI(curpoint.address) + '" target ="_blank">Click for Driving Directions</a>';
             html += directionsLink;

             var marker = new GMarker(point);

             info = new Object; 
             info.marker = marker;
             info.bubbleHtml = html;
             info.html= html;
             markerinfo[curpoint.id] = info;


             var id = curpoint.id;
             GEvent.addListener(marker, "click", function() {
                 popWindow(id);
             });
             map.addOverlay(marker);
        }

function popWindow(id) {
   marker = markerinfo[id].marker;
   bubbleHtml = markerinfo[id].bubbleHtml;
   html = markerinfo[id].html;
   marker.openInfoWindowHtml(bubbleHtml);

   var name = "#school-" + id;

    $("#school-list").scrollTo($(name), 400);
}

function showMarker(id) {
    popWindow(id);
    map.setZoom(12);
    map.setCenter(marker);
} 
