function default_values (defaults, received){
	for(val in defaults){
		if(received[val] == undefined) { 
			if (defaults[val] != undefined) {
				received[val] = defaults[val];
			} else {
				received[val] = undefined;
			}
		}
	}
	return received;
}

function send_change(the_params){
	params = default_values(
		{
			method:		'get',
			url:		'/Admin-Orders/receive_change',
			fields:		{}
		},	
		the_params
	);	
	
	if(params.loading != undefined) $(params.loading).style.display = 'inline';
	if(params.custom_before != undefined) eval(custom_before + '()');
	
	new Ajax.Request(params.url,
	{
		method:			params.method,
		parameters:		params.fields,
		onSuccess: function(transport){
			//var response = transport.responseText || '';		  
			if(params.blink != undefined) 	new Effect.Highlight(
									  			params.blink,
							    				{duration: 0.5}
											);
			
			if(params.loading != undefined) $(params.loading).style.display = 'none';
			if(params.focus != undefined) $(params.focus).blur();
			
			if (params.custom_after != undefined) {
				 Try.these(
				    function() { window[params.custom_after](transport.responseText) },
				    function() { eval(params.custom_after) }
				 ) || false;
			}	
			
		},
		onFailure: function(transport){ alert("Something went wrong:\n" + transport.responseText) }
	});
}