				
				/*
				*
				*		If you need to make the processing message smaller do something like this:
				*			
				*			$.extend($.blockUI.defaults.elementMessageCSS, { width: '100px' });
				*
				*		Also, the messsage uses h7 so that can be set in the css accordingly
				*
				*		To override the style of the error message, change the style for the div with this class: rv_submit_remote_error
				*
				*/
				
				$.blockUI.defaults.elementMessage = '<h7>Processing...</h7>';
				
				function rv_before_submit_remote(formData, jqForm, options){
				
					if(typeof jqForm[0].onsubmit_converted == 'function' && !jqForm[0].onsubmit_converted(jqForm[0])){
						return false;
					}
				
					// Hide the error
					var remote_status_div_id	=	jqForm[0].id+'__submit_remote_status';
					$('#'+remote_status_div_id).hide();
					
					if(rv_validate_required_fields(jqForm[0])){
						$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#ccc', border: '1px solid #000', cursor: 'default', textAlign: 'center' });
						jqForm.block( 0, { border: '3px solid #a00', margin: 0 } ); 
						return true;
					} else {
						return false;
					}
				}
				
				function rv_submit_remote_response(responseXML, statusText, jqForm){
					var remote_status_div_id	=	jqForm[0].id+'__submit_remote_status';
					var responseStatus			=	$('status', responseXML).text(); 
					var redirectLocation		=	$('redirect_location', responseXML).text(); 
					var tracking				=	$('tracking', responseXML).text(); 
					var errorText				=	$('status_text', responseXML).text();
					
					if( $.trim( $('error_text', responseXML).text() ) ){
						errorText				=	$('error_text', responseXML).text();
					}
					
					if($.trim(tracking) != ''){
						$(document.body).append(tracking);
					}
					
					if(
						statusText == 'success'
						&& (
							responseStatus == 'success'
							|| responseStatus == 'sorry'
						) && redirectLocation
					){
			
						if(redirectLocation.match(/confirmationid:/i)){
							var redirectLocationArray	=	redirectLocation.split(':');
							$.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#fff', border: '1px solid #000',  cursor: 'default', textAlign: 'center'});
							jqForm.unblock(); 
							jqForm.block($('#'+redirectLocationArray[1])[0],{ border: 'none', margin: 'auto', cursor: 'default' }); 
						} else {	
							window.location.href	=	redirectLocation;
						}
					} else {
						$('#'+remote_status_div_id).html(errorText).show();
						jqForm.unblock();
					}
				}
				
				function rv_process_conversion( FormOBJ ){
				
					if(!FormOBJ.id){
						var uniqueID	=	new UUID();
						$(FormOBJ).attr('id',uniqueID);
					}
					
					var ResetThisForm	=	false;
					if(FormOBJ.className.match(/autoreset/i)){
						ResetThisForm	=	true;
					}
					
					//*
					if(FormOBJ.onsubmit){
						FormOBJ.onsubmit_converted	= FormOBJ.onsubmit;
						FormOBJ.onsubmit	=	null;
					}
					// */
					
					$(FormOBJ).prepend('<input type="hidden" name="rv_submit_remote_initialized" value="true" >');
					$(FormOBJ).prepend('<div id="'+FormOBJ.id+'__submit_remote_status" style="display: none; padding: 5px; font-weight: bold; border: 2px solid #a00; background-color: #cbb; font-size: 13px; margin: 7px;" class="rv_submit_remote_error" ></div>');
					$(FormOBJ).ajaxForm({
						beforeSubmit: 	rv_before_submit_remote,
						success: 		rv_submit_remote_response,
						dataType:		'xml',
						resetForm:		ResetThisForm,
						semantic: 		true
					});
				
				}
				
				function rv_dynamic_convert_init(){
					
					$('form.rv_submit_remote').each(function(i){
					
						rv_process_conversion( this );
						
					});
					
				}
				
				function rv_dynamic_covert_form_by_id( formID ){
					
					$('#'+formID).each(function(i){
					
						rv_process_conversion( this );
						
					});
				
				}
				
				
				$(document).ready(function(){
					rv_dynamic_convert_init();
				});