function submitAjaxRedirectForm( options, theEl )
{
	if( options.form != null )
		var request	= jQuery(options.form).attr('action')||'http://'+document.domain+'/';
	else if( options.link != null )
		var request	= jQuery(theEl).attr('href')||'http://'+document.domain+'/';
	else
		var request = 'http://'+document.domain+'/';
	var domain_replace = request.match(/^https?:\/\/(.+?)\//)[1]||document.domain;
	request	= request.replace(domain_replace, document.domain);
	
	try {
		var opts	= {
			url:	request,
			type:	"POST",
			dataType:	'html',
			complete: function() {
				if(opts.iframe == true) {
					var redirect = (opts.redirect_url != '') ? opts.redirect_url : jQuery(opts.form).find("input[@name='"+opts.redirect_var+"']").val();
					if( opts.refresh == true )
						setTimeout(function() {window.location.reload();}, opts.redirect_timer);
					else if( redirect != '' && options.no_redirect == false )
						setTimeout(function() { window.location = redirect}, opts.redirect_timer);
				}
			},
			success:	function(data, textStatus) {
				if( opts.iframe == true && opts.link != null) {
					jQuery("body").append("<iframe src='"+request+"' id='ajax_redirect_iframe' style='display:none;' width='0px' height='0px'></iframe>");
					data = jQuery('iframe#ajax_redirect_iframe').contents();
				}
				
				if( typeof(formPostProcessAll) != 'undefined' )
					formPostProcessAll(jQuery(opts.form||opts.link), data, opts.message_display_id);
				
				var error = jQuery(data).find(opts.error_search).html();
				var message = (opts.message != null) ? opts.message : jQuery(data).find(opts.message_id).html();
				if( error != null ) {
					var display = '';
					jQuery(error).replaceWith( jQuery(error).html().replace(/<\/?[^>]+>/gi, '') ).each(function( n,i ) {
						display += jQuery.trim(jQuery(i).text()) + "\n";
					});
					alert(display);
					return false;
				}
				
				if( typeof(formPostProcess) != 'undefined' && formPostProcess(jQuery(opts.form||opts.link), message, error) == false )
					return false;
				
				if( opts.message_display_id != null && typeof formPostProcessAll == "undefined" ) {
					jQuery(opts.message_display_id).empty();
					jQuery(opts.message_display_id).html(message);
				}
				
				if( typeof(formPostProcessJSON) != 'undefined' && formPostProcessJSON(jQuery(opts.form||opts.link), data) == false)
					return false;
				
				var redirect = (opts.redirect_url != '') ? opts.redirect_url : jQuery(opts.form).find("input[@name='"+opts.redirect_var+"']").val();
				if( opts.refresh == true )
					setTimeout(function() {window.location.reload(true);}, opts.redirect_timer);
				else if( redirect != '' && options.no_redirect == false )
					setTimeout(function() { window.location = redirect}, opts.redirect_timer);
			}
		};
		
		jQuery.extend(opts, options);
		
		if( opts.form != null )
			jQuery(opts.form).bind('submit', function() {jQuery(opts.form).ajaxSubmit(opts); return false;});
		else if( opts.link != null )
			jQuery(opts.link).bind('click', function() {
				opts = jQuery.extend(opts, {url: jQuery(this).attr('href')});
				jQuery.ajax(opts); return false;
			});
	} catch(postE) {
		console.log(postE);
	}
	return false;
}
