/* *****************************************************************************
 * Custom Behaviors (Low Pro)
 * ***************************************************************************** */

// Sub classes the low pro remote form
// adds functionality to show / hide a spinner
var SpinnerForm = Behavior.create(Remote.Form, {
	initialize: function($super, prefix) {
		this.spinner = $(prefix + '_spinner');
		this.submit  = $(prefix + '_submit');
		$super({ onComplete: this._changeSpinner.bind(this) });
	},
	onsubmit: function($super) {
		this._changeSpinner();
		return $super();
	},
	_changeSpinner: function() {
		this.spinner.toggle();
		this.spinner.visible() ? this.submit.disable() : this.submit.enable();
	}
});