$(function() {
  
  function activate_map() {
    spots = $('.map-info').map(function() {
      latlng = new google.maps.LatLng($(this).find('.latitude')[0].innerHTML, $(this).find('.longitude')[0].innerHTML);
      title = $(this).find('.map_title').html();
      return ({latlng: latlng, title: title, id: this.id});
    });
    
    var myOptions = {
      zoom: 10,
      center: spots[0].latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map"), myOptions);

    spots.each(function(i, spot) {
      var marker = new google.maps.Marker({
          position: spot.latlng,
          map: map,
          title: spot.title
      });  
      var info_window = new google.maps.InfoWindow({ content: marker.title });
      google.maps.event.addListener(marker, 'click', function() {
        info_window.open(map, marker);
      });  
    });
  }
  
  $('#show-map').click(function() {
    $('#map-outer').slideToggle('fast');
    if ($('#map').size() == 0) {
      $('#map-outer').append('<div id="map"></div>');
      activate_map();
    }
    return(false);
  });

});
