var loading = "<img src='img/ajax-loader.gif' alt='loading...'>";

function sendGet(url, data, ref_id, load_id) {

	var req = new Request.HTML({
		url:url,
		method: 'get',
		data:data,
		onRequest: function() {
			if(!load_id) document.getElementById(ref_id).innerHTML = loading;
			else document.getElementById(load_id).innerHTML = loading;
		},
		onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			document.getElementById(ref_id).innerHTML = responseHTML;
			if(!(!load_id) && load_id!=ref_id) document.getElementById(load_id).innerHTML = '';
		}
	}).send();
}

/* per GET che non restituiscono niente */
function sendGetAction(url, data) {

	var req = new Request.HTML({
		url:url,
		method: 'get',
		data:data,							
		onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
		}
	}).send();
}

/*
load_id: 'nome_div'	=> dove viene stampato il caricamento
script: true => stampa il js (posso quindi prelevare a posteriori i parametri)
callback: 'nome_funzione' => funzione js da eseguire alla fine
*/
function sendPost(url, data, ref_id, load_id, script, callback, params) {

	var req = new Request.HTML({
		evalScripts:!script,
		url:url,
		method: 'post',
		data:data,
		onRequest: function() {
			if(load_id) document.getElementById(load_id).innerHTML = loading;
		},
		onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			document.getElementById(ref_id).innerHTML = responseHTML;
			if(script) eval(responseJavaScript);
			if((load_id) && load_id!=ref_id) document.getElementById(load_id).innerHTML = '';
			if(callback) callback(params);
		}
	}).send();
}

/* per POST che non restituiscono niente */
function sendPostAction(url, data, callback, params) {

	var req = new Request.HTML({
		url:url,
		method: 'post',
		data:data,							
		onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			if(callback) callback(params);
		}
	}).send();
}


