/**
 * AjaxSubmit Plugin
 *
 * Copyright (c) 2009 Schnürer & Company (schnuerer-company.com)
 *
 * @autor		Vadim Justus
 * @company		Schnürer & Company
 * @copyright	2009 - Schnürer & Company
 */
(function($) {

	$.fn.ajaxSubmit = function(fn1, fn2, options) {

		var defaults = {
			type: 'POST',
			dataType: 'html',
			urlAbweichung: 2,
			ajaxPath: 'ajaxHtml/ajax.php5',
			btnTextReplace: 'wird gespeichert...'
		}
		var options = $.extend(defaults, options);

		return this.each(function() {
			var form = $(this);
			var btn = $(this).children('input[type=submit]');
			var action = form.attr('action');
			action = action.split('?');
			var getData = action[1];
			
			var urlParts = action[0];
			urlParts = urlParts.split('/');
			var x = urlParts.length - options.urlAbweichung;
			var ajaxURL = '';
			for(var i=0; i<x; i++) {
				ajaxURL += urlParts[i] + '/';
			}
			ajaxURL += options.ajaxPath + '?' + getData;
			
			btn.click(function(){
				var btnText = $(this).attr('value');
				$(this).attr('value', options.btnTextReplace);
				
				var postData = getData + '&' + form.serialize();
				
				$.ajax({
					type: options.type,
					url: ajaxURL,
					dataType: options.dataType,
					data: postData,
					success: function(msg) {
						fn1(msg);
					},
					error: function(ret) {
						fn2(ret);
					}
				});
				
				$(this).attr('value', btnText);
				
				return false;
			})
		});
	};
})(jQuery);


