/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaInvioSMS
   Descrizione         :
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              :
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaInvioSMS(f) {
 if (f.SMSDAINVIARE.value == '0') {
  alert('Non ci sono SMS da inviare!');
  return false;
 } else {
  return true;
 }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaElaboraLevaBacino
   Descrizione         :
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              :
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaElaboraLevaBacino(f) {
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaAggiornaAnagrafe
   Descrizione         :
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              :
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaAggiornaAnagrafe(f) {
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaInvioEmailLevaBacino
   Descrizione         :
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              :
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaInvioEmailLevaBacino(f) {
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaInvioEmailUtentedaOperatore
   Descrizione         :
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              :
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         : <RIVEDERE>
                         pro_cod sulla tabella utente (riscontrato da Roberto Franco)
                         anche se alle attuali versioni non c'è conflitto, infatti
                         supera ha come dati di impianto non modificabile da programma
                         solo i codici da 1 a 4
                         Irriga ha come dati di impianto non modificabile i codici
                         (10 ,20 , 30 ,40)
                         Eventuali evoluzioni:
                         si potrebbe gestire, in evoluzione, su flglookupservice facendo
                         attenzione a salvataggio dei dati preesistenti delle base dati
                         installate.
   ----------------------------------------------------------------------------------------------------- */
function controllaInvioEmailUtentedaOperatore(f) {
 if (!controllaSeDatiModificati(f)) {
  alert('Occorre prima confermare le modifiche effettuate.');
  return false;
 }
 if (f.procod.value != '30' && f.procod.value != '3' && f.procod.value != '2' && f.procod.value != '5') {
  alert('Funzione non abilitata (profilo utente non abilitato).');
  return false;
 }
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaEliminaAlunno
   Descrizione         : verifica dell'abilitazione, per un operatore scolastico, all'eliminazione
                         di un alunno (e' stato inserito da un operatore scolastico o meno)
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Antonio Flaccomio
   Data creazione      :
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */

function controllaEliminaAlunno(f) {
 if (controllaAlunnoAltraScuola(f)) {
	 if (f.ALU_NUMIND.value == "") {
	  	return confermaElimina();
	 } else {
	  alert('E\' possibile eliminare soltanto alunni inseriti da un operatore scolastico.');
	 }
 }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ctrLancioReportListaAlunni
   Descrizione         : controlla obbligatorieta leva scolastica prima di stampare report lista alunni.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Giuseppe Tito
   Data creazione      : 16/07/2006
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ctrLancioReportListaAlunni(f) {
 var nomeReport = "";
 // --- Modifica per il funzionamento con e senza TAM.
 if (document.location.href.indexOf('RepListaAlunni') > 0) {
  nomeReport = "RepListaAlunni";
 }
 if (f.ANNO.value=='') {
  alert("Occorre specificare la leva scolastica!");
  f.ANNO.focus();
  return false;
 }
 return true;
}

function controllaSeCampoModificato(f, i) {
 if (propColonne[i].modificabile && propColonne[i].tipoDati != 'FIL') {
  var tmpElement = f.elements[propColonne[i].nomeCampo];
  var tmpStr = propColonne[i].valoreIniziale;
  if (tmpElement.type=='hidden') {
   // --- I campi nascosti si comportano tutti allo stesso modo;
   //     anche se nei metadati sono definiti come CMB RBU CHB ...
   //     in HTML sono sempre type='Hidden'.
   valore = f.elements[propColonne[i].nomeCampo].value;
   if (propColonne[i].tipoDati == 'CHB') {
    if (valore != tmpStr) {
     return true;
    }
   }
  } else {
   var valore;
   if (propColonne[i].tipoDati != 'RBU')
    valore = f.elements[propColonne[i].nomeCampo].value;
   else
    valore = valoreRadio(f.elements[propColonne[i].nomeCampo]);
   tmpStr = replaceSpecialChar(tmpStr);
   if (valore != tmpStr) {
    // --- Debug
    // --- alert(propColonne[i].nomeCampo +'---'+ valore +'---'+ tmpStr)
    return true;
   }
  }
 }
 return false;
}

function existInArray(array, elemento) {
 for (var i = 0; i < array.length; i++) {
  if (array[i] == elemento) {
   return true;
  }
 }
 return false;
}

/* -----------------------------------------------------------------------------------------------------
 Funzione            : callMap
 Descrizione         : Questa funzione consente l'apertura di una sessione del browser per la cartografia.
 Argomenti di Input  :
 Argomenti di Output :
 Autore              : L.D. Cucinella
 Data creazione      :
 Autore              :
 Data revisione      :
 Annotazioni         : In questa versione è stato forzato il parametro della feature cartografica su cui
                       fare l'accesso (ASSISTRADALI) prescindendo dalla ipotesi di creare un nuovo strumento
                       di navigazione cartografica (specifiche ancora indefinite). Se si volesse utilizzare
                       l'attuale versione si deve configurare opportunamente la parametrizzazione via Url.
                       Per consentire l'accesso al modulo cartografico, mi sembra già esaustivo considerare
                       come punto di accesso direttamente lo stradario visto che il Comune di Palermo è dotato
                       di stradario georeferenziato ed attraverso l'utilizzo di VIA_COD (codice via ufficiale)
                       si riesce ad accedere dirtettamente sull'asse stradale di interesse. In realtà tale
                       chiamata dovrebbe avvenire all'interno delle visure di strumenti urbanistici (attalmente
                       non presenti) quindi spostare il tasto Mappa anche o solo all'interno della visura
                       passando VIA_COD.
----------------------------------------------------------------------------------------------------- */
function callMap(tronco, key) {
 var sURL = '';

 if (tronco == null) {
  // --- Ricavo il codice via e controllo.
  var cod_via = document.getElementById('VIA_COD').value;
  if (cod_via != null && cod_via!='') {
   Console = 'http://mapserver01.comune.palermo.it/maiagis/map/index.asp';
    sURL = Console + '?KEY=' + cod_via + '&Feature=' + 'ASSISTRADALI';
  } else if (cod_via==null) {
   alert('Funzione non disponibile!');
  } else {
   alert('Selezionare un indirizzo!');
  }
 } else {
  // --- Ricavo il codice tronco e controllo.
  if (key != null && key!='') {
   Console = 'http://mapserver01.comune.palermo.it/maiagis/map/index.asp';
   sURL = Console + '?KEY=' + key + '&Feature=' + 'VIARIO_COMPLETO';
  } else {
   alert('Funzione non disponibile!');
  }
 }
 if (sURL != '') {
  WOpen(sURL);
 }
}

function WOpen(theURL) {
 if (typeof(popWindow) != 'object' || popWindow.closed ) {
  popWindow = window.open(theURL, 'PopWindow', 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width=800,height=600');
 } else {
  popWindow.location.href = theURL;
 }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorio
   Descrizione         : Funzione di utilita': passato il nome di un campo e un flag booleano rende il
                         campo obbligatorio o meno.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Antonio Flaccomio
   Data creazione      : 26/02/2007
   Autore              :
   Data revisione      : 25/07/2008 ep Protegge da errori a monte ed evita un errore che
                                       si verifica se il campo non è circondato dal div input-action
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorio(campo, flgOb) {
 var oCampo=document.getElementById(campo);
 if(oCampo==null){
    alert('campoObbligatorio è stato richiamato su un campo inesistente: ' + campo);
    return;
 }
 for (var i=0; i<propColonne.length; i++) {
  if (propColonne[i].nomeCampo == campo) {
   propColonne[i].obbligatorio = flgOb;
   break;
  }
 }
 if (flgOb){
     if (oCampo.parentNode.parentNode.className == 'container-field-not-required' ) {
         oCampo.parentNode.parentNode.className = 'container-field-required';
     }
 } else{
   if (oCampo.parentNode.parentNode.className == 'container-field-required' ) {
       oCampo.parentNode.parentNode.className = 'container-field-not-required';
   }    
 }
 
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : onChangeFuoriComune
   Descrizione         : Iscrizioni: se la scuola e' fuori comune la selezione dal combo delle
                         scuole non e' obbligatoria.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Antonio Flaccomio
   Data creazione      : 26/02/2007
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function onChangeFuoriComune() {
	if (document.getElementById('siglaStato').value == 'M') {
		var flag = document.getElementById("ALU_FLGSCUFUOCOMN").checked;
		campoObbligatorio("SCU_CODFREQUENZA", flag); 
	}
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioAss
   Descrizione         : Funzione di utilita': passato il nome di un campo e un flag booleano rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : campo
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 22/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioAss(campo) {
 	if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio(campo, document.getElementById('ALU_FLGASSISTENZAS').checked);
  }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioIstr
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioIstr() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('ALU_DATINIISTP', document.getElementById('ALU_FLGISTRPARENTALES').checked);
   campoObbligatorio('ALU_DATFINISTP', document.getElementById('ALU_FLGISTRPARENTALES').checked);
  }
}


/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioProsc
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioProsc() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('ALU_DATINIPROSC', document.getElementById('ALU_FLGPROSCIOLTOS').checked);
  }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioDivAb
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioDivAb() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('THA_COD', document.getElementById('ALU_FLGDIVERSABILES').checked);
   campoObbligatorio('THG_COD', document.getElementById('ALU_FLGDIVERSABILES').checked);
  }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioAltraS
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioAltraS() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('INF_DESALTRASCUOLA', document.getElementById('INF_FLGALTRASCUOLA').checked);
  }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioConv
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioConv() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('INF_DESCONVITTO', document.getElementById('INF_FLGCONVITTO').checked);
  }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : campoObbligatorioSemiConv
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function campoObbligatorioSemiConv() {
  if (document.getElementById('siglaStato').value == 'M' || document.getElementById('siglaStato').value == 'I' ) {
   campoObbligatorio('INF_DESSEMICONVITTO', document.getElementById('INF_FLGSEMICONVITTO').checked);
  }
}
/* -----------------------------------------------------------------------------------------------------
   Funzione            : checkCampiObbligatoriAlu
   Descrizione         : Funzione di utilita': rende il
                         campo obbligatorio o meno. 
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 23/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function checkCampiObbligatoriAlu() {
  campoObbligatorioAss('ALU_DESASSISTENZA');
  campoObbligatorioIstr();
  campoObbligatorioProsc();
  campoObbligatorioDivAb();
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : selezioneMRRContatto
   Descrizione         : Selezione di un contatto dalla MRR mediante checkbox (ColonnaMultiSelezioneMRR)
   Argomenti di Input  : 
   Autore              : Antonio Flaccomio
   Data creazione      : 06/12/2007
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function selezioneMRRContatto(on, arrayValori) {
	if (on) {
		opener.document.forms[0].elements['CON_COD'].value = arrayValori['CON_COD'];
		opener.document.forms[0].elements['CON_DESNOMINATIVO'].value = arrayValori['CON_DESNOMINATIVO'];
		opener.aggiungiContatto();
	} else {
		opener.cancellaContattoSingolo(arrayValori['CON_COD']);
	}
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : initSelezioneMRRContatto
   Descrizione         : Inizializzazione di un contatto (checkbox) dalla MRR (ColonnaMultiSelezioneMRR)
   Argomenti di Input  : 
   Autore              : Antonio Flaccomio
   Data creazione      : 06/12/2007
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function initSelezioneMRRContatto(chkbox, arrayValori) {
	var selContatti = opener.document.getElementById('contatti').options;
	for (i = 0; i < selContatti.length; i++) {
		if (selContatti[i].value == arrayValori['CON_COD']) {
			chkbox.checked = 'checked';
			break;
		}
	}
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : selTotaleColonnaMultiSelezioneMRR
   Descrizione         : Selezione/Deselezione dell'intero set visibile (checkbox) dalla MRR (ColonnaMultiSelezioneMRR)
   Argomenti di Input  : 
   Autore              : Antonio Flaccomio
   Data creazione      : 07/12/2007
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function selTotaleColonnaMultiSelezioneMRR(sel, rigaIni) {
	while((chkbox = document.getElementById('chk_mrr_' + rigaIni++)) != null) {
		if ((chkbox.checked == '') == sel) {
			chkbox.click();
		}
	}
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : checkProtocollo
   Descrizione         : Richiesta di conferma per ristampa lettera di comunicazione evasione scolastica
   Argomenti di Input  : 
   Autore              : Aurelio Di Pasquale
   Data creazione      : 25/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function checkProtocollo(f) {
 if (f.ALU_DESNUMPROTOCOLLO.value!=0) {
  return confirm(getMessageDefault('confermaStampa', 'La lettera è già stata stampata. Si conferma la ristampa?'));
 } else {
  return true;
 }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : confermaEliminaOspite
   Descrizione         : Un ospite puo' essere eliminato soltanto se non ancora registrato su 
                         xxx_persona e xxx_profiloutentepa
                         (cio' la registrazione e' temporanea -> UTE_FLGATTIVA = 'R')
   Argomenti di Input  : 
   Autore              : Antonio Flaccomio
   Data creazione      : 25/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function confermaEliminaOspite() {
 for (var i=0; i<propColonne.length; i++) {
  if (propColonne[i].nomeCampo == 'UTE_FLGATTIVA' && propColonne[i].valoreIniziale != 'R') {
   alert('Non si può eliminare un utente già registrato! Cancellazione non effettuata.');
   return;
  }
 }
 return confermaElimina();
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : bloccaCampiAnagrafica
   Descrizione         : blocca i campi anagrafici se valorizzati dal ritorno della MRR
   Argomenti di Input  : 
   Autore              : Giovanni Chiello
   Data creazione      : 25/01/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function bloccaCampiAnagrafica() {
 document.getElementById('ALU_DESCOGNOME').readOnly=true;
 document.getElementById('ALU_DESNOME').readOnly=true;
 document.getElementById('ALU_DESCFISCALE').readOnly=true;
 document.getElementById('ALU_DATNASCITA').readOnly=true;
 document.getElementById('COM_COD').readOnly=true;
 document.getElementById('VIA_COD').readOnly=true;
 document.getElementById('ALU_DESINDIRIZZO').readOnly=true;
 document.getElementById('ALU_NUMCIVICO').readOnly=true;
 document.getElementById('ALU_DESBARRATO').readOnly=true;
 document.getElementById('ALU_DESSCALA').readOnly=true;
 document.getElementById('ALU_DESPIANO').readOnly=true;
 document.getElementById('ALU_DESINTERNO').readOnly=true;
 document.getElementById('ALU_DESCAP').readOnly=true;
 document.getElementById('COM_CODRESIDENZA').readOnly=true;

 document.getElementById('AZIONE_MRR_ALU_DESCFISCALE').style.visibility="hidden";
 document.getElementById('AZIONE_MRR_COM_COD').style.visibility="hidden";
 document.getElementById('AZIONE_MRR_VIA_COD').style.visibility="hidden";
 document.getElementById('AZIONE_CAL_ALU_DATNASCITA').style.visibility="hidden";
 document.getElementById('AZIONE_MRR_COM_CODRESIDENZA').style.visibility="hidden";

 document.getElementById('COM_CODRESIDENZA_DECODIFICATO').value="PALERMO";
 document.getElementById('COM_CODRESIDENZA').value="7303";

 document.getElementById('ALU_DESCOGNOME').className ='readonly';
 document.getElementById('ALU_DESNOME').className ='readonly';
 document.getElementById('ALU_DESCFISCALE').className ='readonly';
 document.getElementById('ALU_DATNASCITA').className ='readonly';
 document.getElementById('COM_COD').className ='readonly';
 document.getElementById('VIA_COD').className ='readonly';
 document.getElementById('ALU_DESINDIRIZZO').className ='readonly';
 document.getElementById('ALU_NUMCIVICO').className ='readonly';
 document.getElementById('ALU_DESBARRATO').className ='readonly';
 document.getElementById('ALU_DESSCALA').className ='readonly';
 document.getElementById('ALU_DESPIANO').className ='readonly';
 document.getElementById('ALU_DESINTERNO').className ='readonly';
 document.getElementById('ALU_DESCAP').className ='readonly';
 document.getElementById('COM_CODRESIDENZA').className ='readonly';
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaAlunnoAltraScuola
   Descrizione         : si controlla se l'alunno frequenta un'altra scuola 
												 e non permette la modifica/eliminazione.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Roberto Franco
   Data creazione      : 15/04/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaAlunnoAltraScuola(f) {
 if (f.CHKPROPRIETAALUNNO==null) {
 	return controllaCampiForm(f);
 }
 if (f.CHKPROPRIETAALUNNO.value == "S") {
	return controllaCampiForm(f);
 } else {
	alert('Attenzione modifica/cancellazione non ammessa perchè l\'alunno frequenta un\'altra scuola.');
	return false;
 }
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ctrLancioEstrazioneAlunni
   Descrizione         : controlla obbligatorieta scuola di appartenenza o di frequenza prima di eseguire l'esport.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Roberto Franco
   Data creazione      : 23/04/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ctrLancioEstrazioneAlunni(f) {
 if (f.SCU_COD.value=='' && f.SCU_CODFREQUENZA.value=='' ) {
  alert("Occorre specificare almeno una scuola! (di appartenenza o di frequenza)");
  f.SCU_COD.focus();
  return false;
 }
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ctrLancioEstrazioneAlunniAmm
   Descrizione         : controlla obbligatorieta scuola di appartenenza o di frequenza o circoscrizione prima di eseguire l'esport.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 21/10/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ctrLancioEstrazioneAlunniAmm(f) {
 if (f.SCU_COD.value=='' && f.SCU_CODFREQUENZA.value=='' && f.CIR_COD.value=='') {
  alert("Occorre specificare almeno una scuola o circoscrizione! (di appartenenza o di frequenza)");
  f.SCU_COD.focus();
  return false;
 }
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ctrLancioEstrazioneEsitiAlunni
   Descrizione         : controlla obbligatorieta scuola prima di eseguire l'esport.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Roberto Franco
   Data creazione      : 23/04/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ctrLancioEstrazioneEsitiAlunni(f) {
 if (f.SCU_COD.value=='') {
  alert("Occorre specificare almeno una scuola!");
  f.SCU_COD.focus();
  return false;
 }
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ctrLancioEstrazioneEsitiAlunni
   Descrizione         : controlla obbligatorieta scuola prima di eseguire l'esport.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Roberto Franco
   Data creazione      : 23/04/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ctrLancioEstrazioneCS(f) {
	alert (document.getElementById('filters[1].fromValue').value);
 if (document.getElementById('filters[1].fromValue').value=='' || document.getElementById('filters[1].toValue').value=='') {
  alert("Occorre specificare un periodo di estrazione!");
  document.getElementById('filters[1].fromValue').focus();
  return false;
 }
 return true;
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : ricercaCodiceMinisteriale
   Descrizione         : Inserendo un codice ministeriale di una scuola, seleziona l'istituto e la
                         scuola corrispondenti
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Giuseppe Tito
   Data creazione      : 04/07/2008
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function ricercaCodiceMinisteriale() {
 var codmin = document.getElementById("SCU_DESCODMINISTERIALE");
 if (codmin.value == "") {
  alert('Inserire il codice ministeriale della scuola e premere nuovamente il bottone.');
  return;
 }
 var istituto = document.getElementById("TSI_COD");
 var scuole = document.getElementById("SCU_CODFREQUENZA"); // aTistituto 
 var pattern = eval('/\\('+codmin.value.toUpperCase()+'\\)/');
 for (var i=0; i < aTistituto.length; i++) {
  if (aTistituto[i].des.search(pattern) != -1) {
   for (var z=0; z < istituto.options.length; z++) {
     if (istituto.options[z].value == aTistituto[i].codMadre) istituto.options[z].selected = true;
   }
   aggiornaCombo(istituto, scuole, aTistituto);
   for (var z=0; z < scuole.options.length; z++) {
     if (scuole.options[z].value == aTistituto[i].cod) scuole.options[z].selected = true;
   }
   aggiornaCombo(scuole, document.getElementById('TSU_COD'), aTscuola);
   return;
  }
 }
 alert('Il codice ministeriale digitato non corrisponde a nessuna scuola presente in archivio.');
}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : openAnteprima
   Descrizione         : mostra l'antemprima dell'articolo del giornale della scuola
   Argomenti di Input  : Articolo
   Argomenti di Output : Nessuno
   Autore              : Aurelio Di Pasquale
   Data creazione      : 26/01/2009
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function openAnteprima(url) {
 var w    = 800;
 var h    = 600;
 var winl = (screen.width - w) / 2;
 var wint = (screen.height - h) / 2;
 var winProps = "height=" + h + ", Width=" + w + ", top= " + wint + ", left= " + winl;
 popWindow = window.open(url, 'popWindow', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no, ' + winProps);
	}

/* -----------------------------------------------------------------------------------------------------
   Funzione            : controllaProvenienzaDatiAnagrafica
   Descrizione         : Controlla la provenienza dei dati anagrafici 
                         Se essi provengono dalla dall'anagrafe non si possono modificare.
   Argomenti di Input  : Nessuno
   Argomenti di Output : Nessuno
   Autore              : Roberto Franco
   Data creazione      : 02/04/2009
   Autore              :
   Data revisione      :
   Annotazioni         :
   ----------------------------------------------------------------------------------------------------- */
function controllaProvenienzaDatiAnagrafica() {
 if (document.getElementById("ANA_NUMIND").value.length > 0) {
  document.getElementById('BON_DESCOGNOMERICHIEDENTE').readOnly = true;
  document.getElementById('BON_DESCOGNOMERICHIEDENTE').className = 'readonly';
  document.getElementById('BON_DESNOMERICHIEDENTE').readOnly = true;
  document.getElementById('BON_DESNOMERICHIEDENTE').className = 'readonly';
  document.getElementById('BON_DATNASCITA').readOnly = true;
  document.getElementById('BON_DATNASCITA').className = 'readonly';
  document.getElementById('BON_DESCOMNASCITA').readOnly = true;
  document.getElementById('BON_DESCOMNASCITA').className = 'readonly';
  document.getElementById('BON_DESCOMRESIDENZA').readOnly = true;
  document.getElementById('BON_DESCOMRESIDENZA').className = 'readonly';
  document.getElementById('BON_DESINDIRIZZO').readOnly = true;
  document.getElementById('BON_DESINDIRIZZO').className = 'readonly';
 } else {
  document.getElementById('BON_DESCOGNOMERICHIEDENTE').readOnly = false;
  document.getElementById('BON_DESCOGNOMERICHIEDENTE').className = '';
  document.getElementById('BON_DESNOMERICHIEDENTE').readOnly = false;
  document.getElementById('BON_DESNOMERICHIEDENTE').className = '';
  document.getElementById('BON_DATNASCITA').readOnly = false;
  document.getElementById('BON_DATNASCITA').className = '';
  document.getElementById('BON_DESCOMNASCITA').readOnly = false;
  document.getElementById('BON_DESCOMNASCITA').className = '';
  document.getElementById('BON_DESCOMRESIDENZA').readOnly = false;
  document.getElementById('BON_DESCOMRESIDENZA').className = '';
  document.getElementById('BON_DESINDIRIZZO').readOnly = false;
  document.getElementById('BON_DESINDIRIZZO').className = '';
 }
}
 
/* -----------------------------------------------------------------------------------------------------
 Funzione            : verificaImportiSpese
 Descrizione         : Controlla gli importi delle spese sostenute e importo ISEE
 Argomenti di Input  : Nessuno
 Argomenti di Output : Nessuno
 Autore              : Francesa Sparacio
 Data creazione      : 27/04/2010
 Autore              :
 Data revisione      :
 Annotazioni         :
 ----------------------------------------------------------------------------------------------------- */
function verificaImportiSpese() {
	if (parseFloat(document.getElementById("BON_NUMSPESESOSTENUTE").value) < 51.64) {
		alert ("L'importo deve essere superiore a 51,64 ");
		document.getElementById("BON_NUMSPESESOSTENUTE").value = '';
		document.getElementById("BON_NUMSPESESOSTENUTE").focus();
	}
	if (parseFloat(document.getElementById("BON_NUMISEE").value) > 10632.94) {
		alert ("L'importo deve essere inferiore a 10.632,94 ");
		document.getElementById("BON_NUMISEE").value = '';
		document.getElementById("BON_NUMISEE").focus();
	}
}
