//JAVASCRIPT DOCUMENT
//DICHIARAZIONE OGGETTI E MESSAGGI DI ERRORE
var XHR; // OGGETTO XMLHTTPREQUEST
// MESSAGGI RELATIVI AL FORM
var form_msgs = new Array('Inserisci valore','Caratteri non validi','Valore numerico','Valore con virgola','Caricamento dati in corso...','Caricamento dati riuscito','Caricamento dati completato','Spazi non consentiti');
// MESSAGGI DI ERRORE
var error_msgs = new Array('Si &egrave; verificato un errore nell\'invio o nella ricezione dei dati','Errore del database','Password errata','Utente inesistente','Utente Non Inserito','Utente non attivo','Utente non autorizzato','Errore generico','Email non inserita','Email non valida','Richiesto valore numerico','Lista da caricare','Lista cancellata');
// MESSAGGI ERRORE VERIFICA USER
var error_user = new Array('Il nome utente scelto esiste gi&aacute;','Non si è inserito nessun utente','Nome utente troppo corto');
// MESSAGGI ERRORE VERIFICA PASSWORD
var error_pass = new Array('Password uguale alla precedente','Nessuna password inserita','Password troppo corta','Le password non coincidono');
// MESSAGGIO DI ACCESSO CONSENTITO
var ok_msg = new Array('Accesso consentito...\nAttendere Prego!!','Logout in corso... Attendere Prego!!');
// ESPRESSIONI REGOLARI PER IL CONTROLLO DEI VALORI DEI CAMPI DI INPUT                                                            
var regexps = new Array(new RegExp("^[a-zA-Z]+$","i"),new RegExp("^[0-9\-\(\) ]+$","i"),new RegExp("^[-+]?[0-9]*\.?[0-9]+$","i"), new RegExp("^[a-zA-Z0-9\-\(\) !=$@]+$","i"), new RegExp("^[a-zA-Z0-9]+$","i"));
//ERRORI DI AJAX
var ajax_error = new Array('ERRORE - Timeout nel caricamento dei dati!','ERRORE - Errore nel codice dei dati','ERRORE - Errore nel caricamento dei dati');
//FUNZIONE DI STOP DELLA RICHIESTA AJAX
//FUNZIONE PER LANCIARE LE ACTION DEL SITO
function action(tipo,azione,parametro_valore,sForm,idDiv,sPagina){
  //IMPOSTO LA PAGINA DA CHIAMARE
  sPagina=typeof(sPagina)!='undefined'?sPagina:'script/action-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"debug";
  // MOSTRO LA BARRA DI CARICAMENTO
	$("#loader").css('display','block');
	// NASCONDO IL MESSAGGIO DI ERRORE
	$("#sms").css('display','none');
	var parametri = '';
	if(tipo=='get'){
	 sTipo = "GET";
	 if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = 'action=' + azione + '' + parametri;
    }else{
      parametri = 'action=' + azione;
    }
  }
  else if(tipo=='post'){
    sTipo = "POST";
    if(sForm!=""){
      var campi = $('#' + sForm + '').serialize();
  	  parametri = 'action=' + azione + '&' + campi;
  	}else{
      parametri = 'action=' + azione;
    }
	  if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = parametri + '' + parametri;
    }
  }
	XHR = $.ajax({
	 type: sTipo,
	 url: sPagina,
	 data: parametri,
	 dataType: "text",
	 timeout: 7000,
	 cache: false,
	 success: function(data){
    $("#loader").css('display','none');
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[5]);
	  if(data=='db error'){
			$("#sms").css('display','block');
			$("#sms").html(error_msgs[1])
		}else{
      if(navigator.appName!=='Microsoft Internet Explorer'){
        $('#'+idDiv).css('display','block');
        $('#'+idDiv).html(data);
//         $('span').corner("CC:#D1D1D1");
//           EvalJS(idDiv);
      }else{
          var nav=navigator.appVersion;
          if(nav.indexOf("MSIE 8.0")){
            $('#'+idDiv).css('display','block');
            $('#'+idDiv).html(data);
            $('span').corner("CC:#D1D1D1");
//             EvalJS(idDiv);
          }else{
            obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
//         $('span').corner("CC:#D1D1D1");
//         EvalJS(idDiv);
          }
      }
    }
  },
  error: function(XMLHttpRequest, textStatus, errorThrown){
    switch(textStatus){
      case "timeout":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[0]);
		    $("#loader").css('display','none');
        break;
      case "parsererror":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[1]);
		    $("#loader").css('display','none');
        break;
      case "error":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[2]);
		    $("#loader").css('display','none');
        break;    
    }//end switch
  },
  beforeSend: function(XMLHttpRequest){
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[4]);
  },
  complete: function(XMLHttpRequest,stat){
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[6]);
  }
 });
}
//FUNZIONE PER LANCIARE I COMANDI DI REGISTRAZIONE
function action_rec(tipo,azione,parametro_valore,sForm,idDiv){
  //IMPOSTO LA PAGINA DA CHIAMARE
  sPagina = 'script/registra-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"debug";
  // MOSTRO LA BARRA DI CARICAMENTO
	$("#loader").css('display','block');
	// NASCONDO IL MESSAGGIO DI ERRORE
	$("#sms").css('display','none');
	var parametri = '';
	if(tipo=='get'){
	 var sTipo = "GET";
	 if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = 'action=' + azione + '' + parametri;
    }else{
      parametri = 'action=' + azione;
    }
  }else if(tipo=='post'){
    var sTipo = "POST";
    var campi = $('#' + sForm + '').serialize();
	  parametri = 'action=' + azione + '&' + campi;
	  if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = parametri + '' + parametri;
    }
  }
	XHR = $.ajax({
	 type: sTipo,
	 url: sPagina,
	 data: parametri,
	 dataType: "text",
	 timeout: 5000,
	 cache: false,
	 success: function(data){
	   if (window.console) console.log('[POST] ' + data);
    $("#loader").css('display','none');
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[5]);
		  if(data=='db error'){
				$("#sms").css('display','block');
				$("#sms").html(error_msgs[1])
			}else{
        if(navigator.appName!=='Microsoft Internet Explorer'){
          $('#'+idDiv).css('display','block');
          $('#'+idDiv).html(data);
//           $('span').corner("CC:#D1D1D1");
//           EvalJS(idDiv);
        }else{
          obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
//           $('span').corner("CC:#D1D1D1");
//           EvalJS(idDiv);
        }
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){		
      switch(textStatus){
        case "timeout":
          $("#sms").css('display','block');
  		    $("#sms").html(ajax_error[0]);
  		    $("#loader").css('display','none');
          break;
        case "parsererror":
          $("#sms").css('display','block');
  		    $("#sms").html(ajax_error[1]);
  		    $("#loader").css('display','none');
          break;
        case "error":
          $("#sms").css('display','block');
  		    $("#sms").html(ajax_error[2]);
  		    $("#loader").css('display','none');
          break;    
      }//end switch
    },
    beforeSend: function(XMLHttpRequest){
      $("#sms").css('display','block');
  		$("#sms").html(form_msgs[4]);
    },
    complete: function(XMLHttpRequest,stat){
      $("#sms").css('display','block');
  		$("#sms").html(form_msgs[6]);
    }
  });  
}
//FUNZIONE PER LANCIARE I COMANDI DI CANCELLAZIONE --MODIFICARE--
function action_del(tipo,azione,parametro_valore,sForm,idDiv){
  //IMPOSTO LA PAGINA DA CHIAMARE
  sPagina = 'script/delete-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"area_admin";
  // MOSTRO LA BARRA DI CARICAMENTO
	$("#loader").css('display','block');
	// NASCONDO IL MESSAGGIO DI ERRORE
	$("#sms").css('display','block');
	var parametri = '';
	if(tipo=='get'){
	 sTipo = "GET";
	 if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = 'action=' + azione + '' + parametri;
    }else{
      parametri = 'action=' + azione;
    }
  }else if(tipo=='post'){
    sTipo = "POST";
    var campi = $('#' + sForm + '').serialize();
	  parametri = 'action=' + azione + '&' + campi;
  }
	XHR = $.ajax({
	 type: sTipo,
	 url: sPagina,
	 data: parametri,
	 dataType: "text",
	 timeout: 5000,
	 cache: false,
	 success: function(data){
    $("#loader").css('display','none');
		  if(data=='db error'){
				$("#sms").css('display','block');
				$("#sms").html(error_msgs[1])
			}else{
        if(navigator.appName!=='Microsoft Internet Explorer'){
          $('#'+idDiv).css('display','block');
          $('#'+idDiv).html(data);
          EvalJS(idDiv);
        }else{
          obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
          EvalJS(idDiv);
        }
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){		
      $("#sms").css('display','block');
			$("#sms").html(error_msgs[0]);
			setTimeout(function (){
      	$("#loader").css('display','none');
      	// NASCONDO IL MESSAGGIO DI ERRORE
      	$("#sms").css('display','none');
      },3000);
    }
  });
}
function question(tipo,azione,parametro_valore,sForm,idDiv,sPagina){
  //IMPOSTO LA PAGINA DA CHIAMARE
  sPagina=typeof(sPagina)!='undefined'?sPagina:'script/question-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"debug";
  // MOSTRO LA BARRA DI CARICAMENTO
	$("#loader").css('display','block');
	// NASCONDO IL MESSAGGIO DI ERRORE
	$("#sms").css('display','none');
	var parametri = '';
	if(tipo=='get'){
	 sTipo = "GET";
	 if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = 'action=' + azione + '' + parametri;
    }else{
      parametri = 'action=' + azione;
    }
  }
  else if(tipo=='post'){
    sTipo = "POST";
    if(sForm!=""){
      var campi = $('#' + sForm + '').serialize();
  	  parametri = 'action=' + azione + '&' + campi;
  	}else{
      parametri = 'action=' + azione;
    }
	  if(parametro_valore!=''){
      var pv = parametro_valore.split(';');
      for(var param in pv){
        nome_p = pv[param].substr(0,pv[param].indexOf("_"));
        valo_p = pv[param].substr(pv[param].indexOf("_")+1);
        parametri = parametri + '&' + nome_p + '=' + valo_p;
      }
      parametri = parametri + '' + parametri;
    }
  }
	XHR = $.ajax({
	 type: sTipo,
	 url: sPagina,
	 data: parametri,
	 dataType: "text",
	 timeout: 7000,
	 cache: false,
	 success: function(data){
    $("#loader").css('display','none');
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[5]);
	  if(data=='db error'){
			$("#sms").css('display','block');
			$("#sms").html(error_msgs[1])
		}else{
      if(navigator.appName!=='Microsoft Internet Explorer'){
        $('#'+idDiv).css('display','block');
        $('#'+idDiv).html(data);
//         $('span').corner("CC:#D1D1D1");
//           EvalJS(idDiv);
      }else{
//           var nav=navigator.appVersion;
//           if(nav.indexOf("MSIE 8.0")){
//             $('#'+idDiv).css('display','block');
//             $('#'+idDiv).html(data);
//             $('span').corner("CC:#D1D1D1");
// //             EvalJS(idDiv);
//           }else{
            obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
//         $('span').corner("CC:#D1D1D1");
//         EvalJS(idDiv);
//           }
      }
    }
  },
  error: function(XMLHttpRequest, textStatus, errorThrown){
    switch(textStatus){
      case "timeout":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[0]);
		    $("#loader").css('display','none');
        break;
      case "parsererror":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[1]);
		    $("#loader").css('display','none');
        break;
      case "error":
        $("#sms").css('display','block');
		    $("#sms").html(ajax_error[2]);
		    $("#loader").css('display','none');
        break;    
    }//end switch
  },
  beforeSend: function(XMLHttpRequest){
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[4]);
  },
  complete: function(XMLHttpRequest,stat){
    $("#sms").css('display','block');
		$("#sms").html(form_msgs[6]);
  }
 });
}
