var google_maps_active_count = 0;

function multipoint_googlemaps(params) {
  Event.observe(window, "load", function() {
    if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById(params.id));
      google_maps_active_count++;

      GEvent.addListener(map, "load", function(){
        google_maps_active_count--;
      });

      var center_latlng = new GLatLng(params.center_gpoint.latitude, params.center_gpoint.longitude);
      map.setCenter(center_latlng, params.zoom);

      map.addControl(new GSmallZoomControl());

      var first = false;
      params.gpoints.each(function(gpoint, index){
        var latlng = new GLatLng(gpoint.latitude, gpoint.longitude);
        var marker = new GMarker(latlng);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(gpoint.balloon_html);
        });
        if (first == false) {
          first = true
          if (params.balloon_display) {
            marker.openInfoWindowHtml(gpoint.balloon_html);
          }
        }
        map.addOverlay(marker);
      });
    }
  }, false);
}

/*
 * jQuery Disable On Submit Plugin
 * http://www.evanbot.com/article/jquery-disable-on-submit-plugin/13
 *
 * Copyright (c) 2009 Evan Byrne (http://www.evanbot.com)
 */
jQuery.fn.disableOnSubmit = function(disableList){
  if (disableList == null) {
    var $list = "input[type=submit],input[type=button],input[type=reset],button";
  } else {
    var $list = disableList;
  }

  // Makes sure button is enabled at start
  jQuery(this).find($list).removeAttr("disabled");

  jQuery(this).submit(function(){jQuery(this).find($list).attr("disabled","disabled");});
  return this;
};
