/*
Funzione di stampa messaggi in debug su console firefox - se attiva
*/
function debugX(mex) {
try {
console.debug(mex);
}
catch(e) {
//Console non attiva o browser non supportato
}
}
/*
Funzione generica di richiamo ajax
*/
function ajaxCall(dataToSend, url, mex, out) {
var esito = false;
mex.html("...richiesta in corso...");
$.ajax({
success : function(msg){
switch(msg.substring(0,4)) {
case "#OK|":
mex.html(" ");
out.html(msg.substring(4));
esito = true;
break
case "#RD|":
mex.html("Caricamento...");
out.html("");
esito = true;
break
case "#ND|":
mex.html("<<<Posti non disponibili
Verifica disponibilità su altri gruppi>>>");
try { //Presente solo sulle alcune pagine
aggiornaSelect(msg.substring(4));
}
catch(e) {}
esito = false;
break;
case "#NV|":
mex.html("<<<Dati non validi
ricontrollare i campi>>>");
if (out.attr("id") != mex.attr("id")) { //Aggiornare il contenitore con il response (dettaglio campi)
out.html(msg.substring(4)); //Inserisce il dettaglio campi in "out"
}
else {
mex.html(mex.html() + "
" + msg.substring(4)); //Accoda il dettaglio campi in "mex"
}
esito = false;
break;
case "#DB|":
mex.html("<<<Impossibile leggere/scrivere i dati
riprovare più tardi>>>");
esito = false;
break;
default:
mex.html("<<<Errore generico>>>");
debugX(msg);
esito = false;
}
},
error : function (xhr, ajaxOptions){
mex.html("<<<Errore generico>>>");
debugX(xhr.status + " - " + xhr.responseText);
esito = false;
},
type: "POST",
data: dataToSend,
url: url,
async: false
});
return esito;
}