function ajax_block( URL, targetID, overwrite, animate ){
	var container_DOM = $('#'+targetID);
	container_DOM.find('.hidden:first').removeClass('hidden');
	$.ajax({
		url: URL,
		type: 'GET',
		success: function (data, textStatus){
			if(overwrite){
				container_DOM.html(data);
			}
			else
			{
				container_DOM.append(data);
			}
			if(animate)
			{
				container_DOM.fadeTo('normal',0).fadeTo('normal',1);
			}
		},// end success
		error: function (XMLHttpRequest, textStatus, errorThrown) {
				container_DOM.html( textStatus + ": <br>")
				.append(XMLHttpRequest.responseText);
		}// end error
		
	});// end $.ajax, remeber the last comma
};// end ajax_block

function ajax_form( formID, method, overwrite, inner_response) {
	var form_DOM = $('#'+formID);
	var dom_submit = form_DOM.find(':submit');
	dom_submit.attr("disabled","disabled");
	if(inner_response)
	{
		var response_DOM = form_DOM.find('.response_container');
	}
	else
	{
		var response_DOM = form_DOM.closest('.response_container');
	}
	var loading_DOM = form_DOM.find('.hidden:first');
	loading_DOM.removeClass('hidden'); // reach loading div and show it
	$.ajax({
		url: form_DOM.attr("action"),
		type: method,
		data: form_DOM.serialize() + '&caller=ajax',
		success: function (data, textStatus){
			if(overwrite==0){response_DOM.append(data);} // append
			else if(overwrite==1){response_DOM.html(data);} // overwite
			else{response_DOM.prepend(data);} // prepend			
		},// end success								
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			response_DOM.append( textStatus + ": <br>");
			if(overwrite==0){response_DOM.append(XMLHttpRequest.responseText);} // append
			else if(overwrite==1){response_DOM.html(XMLHttpRequest.responseText);} // overwite
			else{response_DOM.prepend(XMLHttpRequest.responseText);} // prepend			
		},// end error
		complete: function (XMLHttpRequest, textStatus, errorThrown) {
			loading_DOM.addClass('hidden'); // hide loading
			dom_submit.removeAttr("disabled");
			response_DOM.fadeTo('normal',0).fadeTo('normal',1);
		}// end complete
	});// end ajax, remeber the last comma
}; // end ajax_form
