//Javascript Document
//Dichiarazione oggetti e messaggi di errore
var XHR; // oggetto XMLHttpRequest
// messaggi relativi al form
var form_msgs = new Array('Inserisci un valore','Alcuni caratteri non sono validi');
// 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','Lista Nozze Cancellata','Lista Nozze Chiusa','Errore generico','Email non inserita','Email non valida','Richiesto valore numerico','Lista Nozze<br>da Caricare.<br>Riprovare in un altro momento','Inserire una quota superiore al valore minimo!','Agenzia non on-line.');
// messaggi errore verifica user
var error_user = new Array('Il nome utente scelto esiste già','Non si è inserito nessun utente');
// messaggio di accesso consentito
var ok_msg = new Array('Accesso consentito... Attendere Prego!!','Logout in corso... Attendere Prego!!','Download file completato correttamente.');
// 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("^[a-zA-Z0-9\-\(\)& ]+$","i"));
//Funzione di STOP della richiesta AJAX
//Funzione per lanciare le action del sito
function action(tipo,azione,parametro_valore,sForm,idDiv)
{
  if($('#descrizione').tinymce())
//   if ($('textarea.tinymce')) //tinyMCE.get('descrizione'))
  { 
	 $('#descrizione').tinymce().hide(); //.execCommand('mceRemoveControl', false, 'descrizione');
	}
  //Imposto la pagina da chiamare
  sPagina = 'components/ajax/action-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"area_admin";
//  alert('az: '+azione+'\npv: '+parametro_valore+'\ndiv: '+idDiv);
  // Mostro la barra di caricamento
	$("#loader").css('display','block');
	// Nascondo il messaggio di errore
	$("#errors").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 = "GET";
    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')
			{
				$("#errors").css('display','block');
				$("#errors").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)
    {		
      $("#errors").css('display','block');
			$("#errors").html(error_msgs[0]);
    }
  });
}
//funzione per lanciare i comandi di registrazione
function action_rec(tipo,azione,parametro_valore,sForm,idDiv)
{
  //Imposto la pagina da chiamare
  sPagina = 'components/ajax/registra-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"area_admin";
  // Mostro la barra di caricamento
	$("#loader").css('display','block');
	// Nascondo il messaggio di errore
	$("#errors").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')
			{
				$("#errors").css('display','block');
				$("#errors").html(error_msgs[1])
			}else{
        if(navigator.appName!=='Microsoft Internet Explorer')
        {
          $('#'+idDiv).css('display','block');
          $('#'+idDiv).html(data);
          //$.superbox();
          EvalJS(idDiv);
        }else{
          obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
          //$.superbox();
          EvalJS(idDiv);
        }
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {		
      $("#errors").css('display','block');
			$("#errors").html(error_msgs[0]);
    }
  });
}
//funzione per lanciare i comandi di cancellazione --MODIFICARE--
function action_del(tipo,azione,parametro_valore,sForm,idDiv)
{
  //Imposto la pagina da chiamare
  sPagina = 'components/ajax/delete-ajax.php';
  idDiv=typeof(idDiv)!='undefined'?idDiv:"area_admin";
  // Mostro la barra di caricamento
	$("#loader").css('display','block');
	// Nascondo il messaggio di errore
	$("#errors").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 = "GET";
    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')
			{
				$("#errors").css('display','block');
				$("#errors").html(error_msgs[1])
			}else{
        if(navigator.appName!=='Microsoft Internet Explorer')
        {
          $('#'+idDiv).css('display','block');
          $('#'+idDiv).html(data);
          //$.superbox();
          EvalJS(idDiv);
        }else{
          obj = eval("document.getElementById(\"" + idDiv + "\")").innerHTML=data;
          //$.superbox();
          EvalJS(idDiv);
        }
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {		
      $("#errors").css('display','block');
			$("#errors").html(error_msgs[0]);
    }
  });
}
