(function($)
{
	$.fn.ajaxForm = function(options, dataType)
	{
		return this.filter('form').each(function()
		{
			var form = $(this);
			form.submit(function()
			{
				form.ajaxSubmit(options, dataType);
				return false;
			});
		});
	};
	
	$.fn.ajaxSubmit = function(options, dataType)
	{
		if ($.isFunction(options))
		{
			options = { success: options };
			if (typeof dataType == 'string')
			{
				options.dataType = dataType;
			}
		}
		
		return this.filter('form').each(function()
		{
			var form = $(this);
			var action = form.attr('action');
			var method = form.attr('method');
			var settings = 
			{
				url: action ? action : document.URL,
				type: method,
				data: form.serialize()
			};
			
			settings = $.extend({ }, settings, options);
			$.ajax(settings);
		});
	}
})(jQuery);
