( function($) {
	/* define private methods for plugin here */

	/* define jQuery extensions here */
	
	/* define element extensions here */
	$.widget('buxwatch.submitbutton', {
		_init: function() {
			var self = this;
			var el = $(self.element);
			var options = this.options;
			var form = el.attr('href') ? $(el.attr('href')) : $('#'+options.form);
			el.bind(options.event,function(event) {
				event.preventDefault();
				if(!el.hasClass('disabled')) {
					if(options.ajax) {
						form.ajaxSubmit();
					} else {
						form.submit();
					}
				} else {
					return false;
				}
			});
			el.data(self.widgetName+'-enabled',true);
		},
		destroy: function() {
			var self = this;
			var el = $(self.element);
			var options = this.options;
			el.unbind('click');
			el.data(self.widgetName+'-enabled', false);
		},
		disable: function() {
			var self = this;
			var el = $(self.element);
			var options = this.options;
			el.unbind('click').removeClass('enabled').addClass('disabled');
			el.click(function(){ return false; });
		},
		enable: function() {
			var self = this;
			var el = $(self.element);
			var options = this.options;
			var form = el.attr('href') ? $(el.attr('href')) : $('#'+options.form);
			el.unbind('click').removeClass('disabled').addClass('enabled');
			el.click(function(event) {
				event.preventDefault();
				if(options.ajax) {
					form.ajaxSubmit();
				} else {
					form.submit();
				}
			});
		},
		enabled: function() {
			return this.element.data(this.widgetName+'-enabled');
		}
	});
	
	$.buxwatch.submitbutton.defaults = {
		event: 'click',
		ajax: false
	};

	/* define page load initialization here */

})(jQuery);
