var check_del_array =new Array('EliUte');

function In_Array(search,array_cmd)
{
  for (i=0;i<array_cmd.length;i++){
    if (array_cmd[i]==search)
      return true;
  }
  return false;
}

/**********************************************/
function SetCmd(Form,cmd,errore)
{
  if (In_Array(cmd,check_del_array) && !confirm('Eliminare l\'elemento selezionato ?'))
    return;

  if (errore!=''){
    alert(errore);
    return;
  }else{    
    Form.cmd.value=cmd;
    Form.submit();
  }
}

/**********************************************/
function SetCmdId(Form,cmd,id)
{
  if (In_Array(cmd,check_del_array) && !confirm('Eliminare l\'elemento selezionato ?'))
    return;

  Form.id.value=id;
  Form.cmd.value=cmd;
  Form.submit();
}

/**********************************************/
function SetOrderBy(Form,cmd,order_by)
{
  Form.cmd.value=cmd;
  Form.order_by.value=order_by;

  Form.submit();
}

/**********************************************/
function SetOrderByRid(Form,cmd,order_by_rid)
{
  Form.cmd.value=cmd;
  Form.order_by_rid.value=order_by_rid;

  Form.submit();
}

/*** PAGINAZIONE *************************************/
function SetOrderByLog(Form,cmd,order_by)
{
  Form.cmd.value=cmd;
  Form.order_by.value=order_by;
  var log_pag_pos=0;
  var logPerPag=document.FormLOG.log_per_pag;
  var new_log_pag = logPerPag.options[logPerPag.selectedIndex].value;
  Form.log_pag_pos.value=log_pag_pos;
  Form.log_per_pag.value=new_log_pag;

  Form.submit();
}
/**********************************************/
function SetLogPerPag(Form,cmd,log_pag_pos,order_by)
{
  var logPerPag=document.FormLOG.log_per_pag;
  var new_log_pag = logPerPag.options[logPerPag.selectedIndex].value;
  Form.cmd.value=cmd;
  Form.log_pag_pos.value=log_pag_pos;
  Form.log_per_pag.value=new_log_pag;
  Form.order_by.value=order_by;
  Form.submit();
}

/**********************************************/
function CambiaPag(logPagPos,Form,cmd,order_by){
  var logPerPag=document.FormLOG.log_per_pag;
  var new_log_pag = logPerPag.options[logPerPag.selectedIndex].value;
  Form.cmd.value=cmd;
  Form.log_pag_pos.value=logPagPos;
  Form.log_per_pag.value=new_log_pag;
  Form.order_by.value=order_by;
  Form.submit();
}





















/**********************************************/
/*            VALIDAZIONE UTENTI              */
/**********************************************/
function ValidateUtenteAnagrafica(Form)
{
  var errore='';
  
  // -------------------------------------------------------------------------------  Campi anagrafica
  
  // 5 e 6 sono utenti finali P.F e P.G.
  if(Form.id_categoria_anagrafica.value==5 || Form.id_categoria_anagrafica.value==6){
    if (trim(Form.codice_fiscale.value)==""){
      errore+='\nIndicare il codice fiscale dell\'intestatario del contratto.';
    }else{
        if (Form.id_categoria_anagrafica.value == 5) {
            errore += CFChk(Form.codice_fiscale.value);
        }
    }
  }
  if (Form.id_categoria_anagrafica.value == 6) {
    if (trim(Form.ragione_sociale.value) == "") {
        errore += '\nIndicare la ragione sociale.';
    }
    if (trim(Form.partita_iva.value) == "") {
        errore += '\nIndicare la partita iva della Societa\'.';
    }else{
        errore+=PIVAChk(Form.partita_iva.value);
    }
  }
  
  if (trim(Form.telefono.value)==""){
    errore+='\nIndicare un recapito telefonico.';
  }else{
    if (isNaN(trim(Form.telefono.value))){
        errore+='\nRecapito telefonico non valido. Sono ammessi solo numeri';
    }
  }
  if (trim(Form.cellulare.value)!=""){
    if (isNaN(trim(Form.cellulare.value))){
        errore+='\nAltro recapito telefonico non valido. Sono ammessi solo numeri';
    }
  }
  if (trim(Form.indirizzo.value)==""){
    errore+='\nIndicare l\' indirizzo.';
  }
  if (trim(Form.citta.value)==""){
    errore+='\nIndicare la citta\'.';
  }
  if (trim(Form.cap.value)==""){
    errore+='\nIndicare il cap.';
  }else{
    errore+=NUMChk(Form.cap.value,'CAP');
  }
  if (trim(Form.sigla_provincia.value)==""){
    errore+='\nIndicare la sigla provincia.';
  }
  
  if (trim(Form.indirizzo_utilizzo.value)=="" && trim(Form.citta_utilizzo.value)=="" && trim(Form.cap_utilizzo.value)=="" && trim(Form.sigla_provincia_utilizzo.value)==""){
    errore+='';
  }else{
    if (trim(Form.indirizzo_utilizzo.value)=="" || trim(Form.citta_utilizzo.value)=="" || trim(Form.cap_utilizzo.value)=="" || trim(Form.sigla_provincia_utilizzo.value)==""){
      errore+='\nAttenzione: indicare l\'indirizzo di utilizzo completando tutti i campi, altrimenti lasciare tutti i campi vuoti.';
    }
    errore+=NUMChk(Form.cap_utilizzo.value,'CAP utilizzo');
  }
  
  if (trim(Form.cognome.value)==""){
    errore+='\nIndicare il cognome della persona di riferimento.';
  }
  if (trim(Form.nome.value)==""){
    errore+='\nIndicare il nome della persona di riferimento.';
  }
  if (trim(Form.email.value)==""){
    errore+='\nIndicare un indirizzo email valido.';
  }else{
    errore+=test_email(trim(Form.email.value));
  }
  
  
  if(Form.id_categoria_anagrafica.value==5 || Form.id_categoria_anagrafica.value==6){
    if (Form.id_accesso.value == 0) {
        errore += '\nIndicare l\'accesso Wimax da associare all\'anagrafica.';
    }
    if (Form.sel_accesso_txt.value != Form.accesso_txt.value) {
        errore += '\nL\'accesso Wimax indicato a mano e\' diverso da quello selezionato.';
    }
    
    if(Form.n_documento.value==""){
      errore+='\nIndicare numero del documento d\'identita\'.';
    }
    
    
    /* se chi inserisce e' agente o politec e' obbligatorio il RID*/
    if(Form.anag_parent.value!='Rivenditore'){
      
      /* controllo se scelto di pagare con RID */
      if (Form.id_tipo_pagamento.value=="1"){
        if (trim(Form.iban.value)==""){
          errore+='\nIndicare il codice iban.';
        }else{
          errore+=IBANChk(Form.iban.value);
        }
        if (Form.intestatario.value==0){
          errore+='\nIndicare l\'intestatario del conto di addebito.';
        }
        if (trim(Form.codice_fiscale_iban.value) == "") {
            errore += '\nIndicare il codice fiscale dell\'intestatario del conto corrente.';
        }else{
            errore += CFChk(Form.codice_fiscale_iban.value);
        }
      }
    }
    
    /* Profilo accesso wimax */
    if (Form.id_profilo.value==0){
      errore+='\nIndicare il profilo dell\'accesso Wimax.';
    }
    
    for (var i = 0; i < Form.OPZIONE_Servizio.length; i++) {
        if (Form.OPZIONE_Servizio[i].checked) {
            var rad_val = Form.OPZIONE_Servizio[i].value;
        }
    }
    if (rad_val == 0) {
        /* Selezione dell'opzione "Servizio" OBBLIGATORIA */
        errore += '\nIndicare almeno una opzione dal gruppo "Servizio".';
    }
    
  }
  /*
  if (Form.caparra.value!=''){
    var caparra_new = Form.caparra.value.replace(/,/, ".");
    var caparra_massimo = Form.caparra_max.value.replace(/,/, ".");
    if(parseFloat(Form.caparra.value)<0 || parseFloat(caparra_new)>parseFloat(caparra_massimo)){
      errore+='\nIndicare un importo valido per la caparra. Non e\' possibile indicare un importo negativo o superiore ai '+Form.caparra_max.value+' euro proposti.';
    }
    errore+=NUMChk(Form.caparra.value,'caparra');
  }
  */

  if(Form.cf_corretto.value!='S'){
      errore+='\nVerificare il codice fiscale dell\'intestario del contratto.';
  }
  if(Form.email_corretta.value!='S'){
      errore+='\nVerificare l\'indirizzo email.';
  }
  if(Form.iban_corretto.value!='S'){
      errore+='\nVerificare il codice iban.';
  }

  return errore;
}


/**********************************************/
function ValidateUtente(Form)
{
  var errore='';
  if (trim(Form.userid.value)==''){
    errore='E\' necessario specificare la userid.';
  }
  if (trim(Form.password.value)==""){
    errore+='\nE\' necessario specificare la password.';
  }
  if (trim(Form.ref.value)==""){
    errore+='\nE\' necessario specificare il riferimento per l\'utente.';
  }
  return errore;
}

/**********************************************/
function ValidateAnagrafica(Form)
{
  var errore='';
  
  if(Form.id_categoria_anagrafica.value==5 || Form.id_categoria_anagrafica.value==6){
    if (trim(Form.codice_fiscale.value)==""){
    	errore+='\nIndicare il codice fiscale dell\'intestario del contratto.';
    }else{
        if (Form.id_categoria_anagrafica.value == 5) {
            errore += CFChk(Form.codice_fiscale.value);
        }
    }
  }
  if (Form.id_categoria_anagrafica.value == 6) {
    if (trim(Form.ragione_sociale.value) == "") {
        errore += '\nIndicare la ragione sociale.';
    }
    if (trim(Form.partita_iva.value) == "") {
        errore += '\nIndicare la partita iva della Societa\'.';
    }else{
        errore += PIVAChk(Form.partita_iva.value);
    }
  }
  
  if(Form.id_categoria_anagrafica.value==5){  /* se viene inserito un utente finale  persona fisica*/
    if(Form.n_documento.value==""){
      errore+='\nIndicare numero del documento d\'identita\'.';
    }
  }
  
  if (trim(Form.telefono.value)==""){
    errore+='\nIndicare un recapito telefonico.';
  }else{
    if (isNaN(trim(Form.telefono.value))){
        errore+='\nRecapito telefonico non valido. Sono ammessi solo numeri';
    }
  }
  
  if (trim(Form.indirizzo.value)==""){
    errore+='\nIndicare l\' indirizzo.';
  }
  if (trim(Form.citta.value)==""){
    errore+='\nIndicare la citta\'.';
  }
  if (trim(Form.cap.value)==""){
    errore+='\nIndicare il cap.';
  }else{
    errore+=NUMChk(Form.cap.value,'CAP');
  }
  if (trim(Form.sigla_provincia.value)==""){
    errore+='\nIndicare la sigla provincia.';
  }
  
  if (trim(Form.indirizzo_utilizzo.value)=="" && trim(Form.citta_utilizzo.value)=="" && trim(Form.cap_utilizzo.value)=="" && trim(Form.sigla_provincia_utilizzo.value)==""){
    errore+='';
  }else{
    if (trim(Form.indirizzo_utilizzo.value)=="" || trim(Form.citta_utilizzo.value)=="" || trim(Form.cap_utilizzo.value)=="" || trim(Form.sigla_provincia_utilizzo.value)==""){
      errore+='\nAttenzione: indicare l\'indirizzo di utilizzo completando tutti i campi, altrimenti lasciare tutti i campi vuoti.';
    }
    errore+=NUMChk(Form.cap_utilizzo.value,'CAP utilizzo');
  }
  
  if(Form.cf_corretto.value!='S'){
      errore+='\nVerificare il codice fiscale.';
  }
  if(Form.email_corretta.value!='S'){
      errore+='\nVerificare l\'indirizzo email.';
  }
  
  return errore;
}


/**********************************************/
function ValidateAccount(Form)
{
  var errore='';
  
  if (Form.id_accesso.value==0){
    errore+='Indicare l\'accesso Wimax da associare all\'anagrafica.';
  }
  if (Form.sel_accesso_txt.value!=Form.accesso_txt.value){
    errore+='\nL\'accesso Wimax indicato a mano e\' diverso da quello selezionato.';
  }
  if (Form.id_profilo.value==0){
    errore+='\nIndicare il profilo dell\'accesso Wimax.';
  }
  
  for (var i = 0; i < Form.OPZIONE_Servizio.length; i++) {
    if (Form.OPZIONE_Servizio[i].checked) {
        var rad_val = Form.OPZIONE_Servizio[i].value;
    }
  }
  if (rad_val == 0) {
    /* Selezione dell'opzione "Servizio" OBBLIGATORIA */
    errore += '\nIndicare almeno una opzione dal gruppo "Servizio".';
  }
  /*
  if (Form.caparra.value!=''){
    var caparra_new = Form.caparra.value.replace(/,/, ".");
    var caparra_massimo = Form.caparra_max.value.replace(/,/, ".");
    if(parseFloat(Form.caparra.value)<0 || parseFloat(caparra_new)>parseFloat(caparra_massimo)){
      errore+='\nIndicare un importo valido per la caparra. Non e\' possibile indicare un importo negativo o superiore ai '+Form.caparra_max.value+' euro proposti.';
    }
    errore+=NUMChk(Form.caparra.value,'caparra');
  }
  */
  return errore;
}



/**********************************************/
function ValidateRiferimento(Form)
{
  var errore='';
  if (trim(Form.riferimento.value)==""){
    errore='E\' necessario specificare il riferimento.';
  }

  return errore;
}



/**********************************************/
function ValidateRid(Form)
{
  var errore='';
  
  if (trim(Form.intestatario.value)==""){
    errore+='E\' necessario specificare l\'intestatario.';
  }
  if (trim(Form.iban.value)==""){
    errore+='\nE\' necessario specificare l\'iban.';
  }else{
    errore+=IBANChk(Form.iban.value);
    /*errore+=IBANChk_Poste(Form.iban.value);*/
  }
  if(Form.iban_corretto.value!='S'){
      errore+='\nVerificare il codice iban.';
  }
  if (trim(Form.codice_fiscale_iban.value) == "") {
      errore += '\nIndicare il codice fiscale dell\'intestatario del conto corrente.';
  }else{
      errore += CFChk(Form.codice_fiscale_iban.value);
  }
  return errore;
}


/**********************************************/
function ValidateProfilo(Form)
{
  var errore='';
  
  if (trim(Form.nome.value)==""){
    errore+='E\' necessario specificare il nome.';
  }
  if (trim(Form.costo_mensile.value)==""){
    errore+='\nE\' necessario specificare il costo mensile.';
  }
  if (trim(Form.banda_download.value)==""){
    errore+='\nE\' necessario specificare la banda download.';
  }
  if (trim(Form.banda_upload.value)==""){
    errore+='\nE\' necessario specificare la banda upload.';
  }
  if (trim(Form.banda_canale_voip.value)==""){
    errore+='\nE\' necessario specificare la banda canale voip.';
  }

  return errore;
}



/**********************************************/
function ValidateOpzione(Form)
{
  var errore='';
  
  if (trim(Form.descrizione.value)==""){
    errore+='E\' necessario specificare il nome.';
  }
  if (trim(Form.costo.value)==""){
    errore+='\nE\' necessario specificare il costo.';
  }
  if (trim(Form.valore.value)==""){
    errore+='\nE\' necessario specificare il campo descrizione/valore';
  }

  return errore;
}



/**********************************************/
function ValidateAccesso(Form)
{
  var errore='';
  if (trim(Form.userid.value)==""){
    errore='E\' necessario specificare la userid.';
  }
  if (trim(Form.password.value)==""){
    errore+='\nE\' necessario specificare la password.';
  }

  return errore;
}


/**********************************************/
function ValidateUpload(Form)
{
  var errore='';
  if (trim(Form.upload.value)==""){
    errore='E\' necessario selezionare un file da caricare.';
  }

  return errore;
}

/**********************************************/
function ValidateCpe(Form)
{
  var errore='';
  if (trim(Form.serial_number.value)==""){
    errore='E\' necessario specificare il serial number.';
  }
  return errore;
}

/**********************************************/
function ValidateContattiClienti(Form)
{
  var errore='';
  if (trim(Form.ragione_sociale.value)==""){
	  errore += 'Indicare il nominativo del cliente.';
  }  
  if (trim(Form.email.value)==""){
    errore+='\nIndicare un indirizzo email valido.';
  }else{
    errore+=test_email(trim(Form.email.value));
  }
  if (trim(Form.telefono.value)==""){
    errore+='\nIndicare un recapito telefonico valido.';
  }else{
    if (isNaN(trim(Form.telefono.value))){
      errore+='\nRecapito telefonico non valido. Sono ammessi solo numeri.';
    }
  }
  if (trim(Form.citta.value)==""){
    errore+='\nIndicare il comune dove si intende utilizzare il Servizio Wimax.';
  }
  if (trim(Form.operatore.value)==""){
    errore+='\nIndicare l\'operatore che registra la segnalazione.';
  }
  if (trim(Form.note.value)==""){
    errore+='\nIndicare una nota per la segnalazione.';
  }
  return errore;
}


/**** TICKET **********************************/
/**********************************************/
function ValidateStatoTicket(Form)
{
  var errore='';
  if (Form.nome.value=="")
     errore='E\' necessario specificare il nome';
  if (Form.ordine.value=="")
     errore+='\nE\' necessario specificare l\'ordine di visualizzazione';

  return errore;
}

function ValidateNewTicket(Form)
{
  var errore='';
  if (trim(Form.oggetto.value)=="")
     errore='E\' necessario specificare l\'oggetto';
  if (Form.id_riferimento_anagrafica.value==0)
     errore+='\nE\' necessario specificare il referente del cliente';
  if (trim(Form.firma_nota.value)=="")
     errore+='\nE\' necessario specificare il referente della nota';
  if (trim(Form.testo.value)=="")
     errore+='\nE\' necessario specificare le note';

  return errore;
}

function ValidateTicket(Form)
{
  var errore='';
  if (trim(Form.oggetto.value)=="")
     errore='E\' necessario specificare l\'oggetto';

  return errore;
}


function ValidateNotaTicket(Form)
{
  var errore='';
  if (Form.id_riferimento_anagrafica.value==0)
     errore='E\' necessario specificare il referente del cliente';
  if (trim(Form.firma_nota.value)=="")
     errore+='\nE\' necessario specificare il referente della nota';
  if (trim(Form.note.value)=="")
     errore+='\nE\' necessario specificare le note';

  return errore;
}



/**** VOIP **********************************/
/**********************************************/
function ValidateVoip(Form)
{
    var errore='';
    if (Form.id_utente.value==0)
	    errore='Attenzione: l\'anagrafica non e\' stata selezionata correttamente. Ripetere la procedura.';
    if (Form.numero.value=="")
	    errore+='\n Indicare il numero Voip';
    if (Form.password.value=="")
	    errore+='\n Indicare la password';
    /*
    if (Form.id_cpe.value==0)
	    errore+='\n Specificare una cpe di riferimento';
	*/

	return errore;
}

/**** DATE *************************************/
function SetStyleDate(data)
{
  data.setMonthNames('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
  data.setDayHeaders('D','L','M','M','G','V','S');
  data.setWeekStartDay(1);
  data.setTodayText("Oggi");
}

function DisabilitaPreDal(y, m, d)
{
  var date_data_dal = new Date(y, m-1, d-1);
  cal_data_al.addDisabledDates(null,formatDate(date_data_dal,"yyyy-MM-dd"));
  if (d<10){
    d='0'+d;
  }
  if (m<10){
    m='0'+m;
  }
  document.ricerca.data_dal.value=d+'/'+m+'/'+y;
}

function DisabilitaPostAl(y, m, d)
{
  var date_data_al = new Date(y, m-1, d+1);
  cal_data_dal.addDisabledDates(formatDate(date_data_al,"yyyy-MM-dd"),null);
  if (d<10){
    d='0'+d;
  }
  if (m<10){
    m='0'+m;
  }
  document.ricerca.data_al.value=d+'/'+m+'/'+y;
}





/**** CAMBIO PASSWORD *************************/
function ValidateNewPwd(Form)
{
  var errore='';
  if (trim(Form.oldpwd.value)=='')
    errore='E\' necessario indicare la vecchia password';
  if (trim(Form.newpwd.value)=='')
    errore+='\n E\' necessario indicare la nuova password';
  if (trim(Form.cnfnewpwd.value)=='')
    errore+='\n E\' necessario confermare la vecchia password';
  if (trim(Form.cnfnewpwd.value) != trim(Form.newpwd.value))
    errore+='\n E\' necessario che la nuova password e la sua conferma coincidano';

	return errore;
}







/**** TRIM *************************************/
function trim(stringa){
    while (stringa.substring(0,1) == ' '){
        stringa = stringa.substring(1, stringa.length);
    }
    while (stringa.substring(stringa.length-1, stringa.length) == ' '){
        stringa = stringa.substring(0,stringa.length-1);
    }
    return stringa;
}


function wait(msecs)
{
  var start = new Date().getTime();
  var cur = start
  while(cur - start < msecs)
  { 
    cur = new Date().getTime();
  }
}



/*** CONTROLLO IBAN *************************/
function IBANChk_Poste(b) 
{
    b = b.toUpperCase();
    
    if (b.length > 10){
	    abi = b.substring(5,10);
	    if (abi == '07601'){
	      alert('IBAN: l\'ABI indicato e\' di Poste Italiane, non valido per il servizio RID. Indicare, se possibile, un C/C bancario.');
	      return '';
	    }else{
	      return '';
	    }
    }else{
    	return '';
    }
}


function IBANChk(b) 
{
    
    b = b.toUpperCase();
    
    abi = b.substring(5,10);
    if (abi == '07601'){
        alert('IBAN: l\'ABI indicato e\' di Poste Italiane, non valido per il servizio RID. Indicare, se possibile, un C/C bancario.');
        return '';
    }else{
      if (b.length < 27) {  return "\nIBAN: Lunghezza minore di 27 caratteri"; } 
      s = b.substring(4) + b.substring(0, 4); 
      for (i = 0, r = 0; i < s.length; i++ ) 
      { 
            c = s.charCodeAt(i); 
            if (48 <= c && c <= 57) 
            { 
                    if (i == s.length-4 || i == s.length-3) { return "\nIBAN: Posizioni 1 e 2 non possono contenere cifre"; } 
                    k = c - 48; 
            } 
            else if (65 <= c && c <= 90) 
            { 
                    if (i == s.length-2 || i == s.length-1) { return "\nIBAN: Posizioni 3 e 4 non possono contenere lettere"; } 
                    k = c - 55; 
            } 
            else { return "\nIBAN: Sono ammesse solo cifre e lettere maiuscole"; } 
            if (k > 9) 
                    r = (100 * r + k) % 97; 
            else 
                    r = (10 * r + k) % 97; 
      } 
      if (r != 1) { return "\nIBAN: Codice di controllo errato"; }
      return '';
    }
} 

/*** CONTROLLO CF *************************/
function CFChk(cf)
{
   cod=cf.toLowerCase();
   if (cod.length!=16)
      return "\nCODICE FISCALE: Lunghezza errata. Correggere con 16 caratteri";
   else
   {
      lettere=cod.substr(0,6)+cod.substr(8,1)+cod.substr(11,1)+cod.substr(15);
      numeri=cod.substr(6,2)+cod.substr(9,2)+cod.substr(12,3);
      for (i=0;i<10;i++)
         if (lettere.charCodeAt(i)<97 || lettere.charCodeAt(i)>122)
            return "\nCODICE FISCALE: Codice non valido";
      for (i=0;i<8;i++)
         if (numeri.charCodeAt(i)<48 || numeri.charCodeAt(i)>57)
            return "\nCODICE FISCALE: Codice non valido";
   }
   return '';
}

/*** CONTROLLO PIVA *************************/
function PIVAChk(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 )
		return "\nPARTITA IVA: Lunghezza errata. Correggere con 11 caratteri numerici";
	var validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "\nPARTITA IVA: Contiene caratteri non validi";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "\nPARTITA IVA: Il codice di controllo non corrisponde";
	
  return '';
}


/*** CONTROLLO CAMPI NUMERICI ******************/
function NUMChk(n,cosa)
{
  for( i = 0; i < n.length; i++)
  {
    if(isNaN(n.charAt(i))){
      if(cosa=='caparra' && (n.charAt(i)==',' || n.charAt(i)=='.')){
        /* non e' errore */
      }else{
        return '\nIl campo '+cosa+' contiene caratteri non validi';
      }
    }
  }
  return '';
}


/*** CONTROLLO EMAIL ******************/
function test_email(str)
{
  var re=/^([0-9A-Za-z][-_.0-9A-Za-z]*[0-9A-Za-z])+@([0-9A-Za-z][-_.0-9A-Za-z]*[0-9A-Za-z]+\.)+[a-zA-Z]{2,4}$/;

  if (re.test([str])){
    return '';
  }else{
    return '\nIndirizzo email non valido.';
  }
}




/*** SELEZIONA TUTTI/NESSUNO CHECKBOX **********/
function SelectAll()
{
  var node_list = document.getElementsByTagName('input');

  for (var i = 0; i < node_list.length; i++) {
    var node = node_list[i];
    if (node.getAttribute('type') == 'checkbox') {
      node.checked=true;
    }
  }
}

function DeselectAll()
{
  var node_list = document.getElementsByTagName('input');

  for (var i = 0; i < node_list.length; i++) {
    var node = node_list[i];
    if (node.getAttribute('type') == 'checkbox') {
      node.checked=false;
    }
  }
}


