/**
 * @file
 * GMap Markers
 * GMap API version -- No manager
 */

/*global Drupal, GMarker */

// Replace to override marker creation
Drupal.gmap.factory.marker = function (opts) {
  return new google.maps.Marker(opts);
};

Drupal.gmap.addHandler('gmap', function (elem) {
  var obj = this;

  obj.bind('addmarker', function (marker) {
	if ( !obj.map.markers ) obj.map.markers = new Array();
    marker.marker.setMap(obj.map);
	obj.map.markers.push( marker.marker );
  });

  obj.bind('delmarker', function (marker) {
    marker.marker.setMap(null);
  });

  obj.bind('clearmarkers', function () {
    // @@@ Maybe don't nuke ALL overlays?
	if ( obj.map.markers ) {
		for(var i=0; i < obj.map.markers.length; i++){
			obj.map.markers[i].setMap(null);
		}
	}
  });
});