/*
 * Popup extension to L.Marker, adding openPopup & bindPopup methods. 
 */

L.Marker.include({
	openPopup: function() {
		this._popup.setLatLng(this._latlng);
		this._map.openPopup(this._popup);
		
		return this;
	},
	
	closePopup: function() {
		if (this._popup) {
			this._popup._close();
		}
		return this;
	},
	
	bindPopup: function(content, options) {
		options = L.Util.extend({offset: this.options.icon.popupAnchor}, options);
		
		if (!this._popup) {
			this.on('click', this.openPopup, this);
		}

		this._popup = new L.Popup(options);
		this._popup.setContent(content);

		return this;
	},

	unbindPopup: function() {
		if (this._popup) {
			this._popup = null;
			this.off('click', this.openPopup);
		}
		return this;
	}
});