function SubmitButton(elt) {
	var self = this;
	self.$elt = elt;

	self.Init = function () {
	    self.$elt.click(self.HandleClick);
	    self.isMobile = function () { return self.$elt.data('button') !== undefined; };
	    self.$elt.bind('post-success', self.PostSubmit);
	};

	self.HandleClick = function () {
	    self.$elt.attr('disabled', 'disabled');
	    self.$elt.addClass('ui-submitbutton-spinning');
	    if (self.isMobile()) {
	        self.$elt.data('button').refresh();
	    }

	    self.$elt.trigger("FormSubmit", self.$elt.data('action'));
	};

	self.PostSubmit = function () {
	    self.$elt.removeClass('ui-submitbutton-spinning');
	    self.$elt.removeAttr('disabled');
	    if (self.isMobile()) {
	        self.$elt.data('button').refresh();
	    }
	};
};

$.fn.SubmitButton = function(elt) {
	$(this).each(function(i, ele) {
		var $elt = $(ele);
		if($elt.data('object')) return;
		$elt.data('object', new SubmitButton($elt));
		$elt.data('object').Init();
	});
	
	return this;
};
