//-----------------------------------------------------------------------------------------------------------
//--- 
//---
//--- Description: Contiene le funzioni che effettuano i controlli lato client ed inviano i form.
//--- Author: eTT s.r.l. - PM, AF, MF, UG
//--- Edited: 18 June 2003
//---
//--- INDICE
//--- 1. LOGIN
//--- CheckAndSubmitLoginPassword(TheForm): invia il form di login e password [PM, AF, MF, UG, FP, 18 June 2003]
//--- 2. SPI
//--- SuggerisciCF(TheForm): SuggerisciCF se il flag CFcorretto = 0 e sono disponibili i dati necessari, calcola il CF e lo scrive nel campo relativo [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI01(TheForm): controlla ed invia la sezione 1 (Dati anagrafici) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckTitoloDiStudio(degreeName, txtDegree, hdnIdDegree, optDegree, txtAnnoDegree, txtVotoDegree, txtNAnniDegree): controlla la compilazione dei titoli di studio [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI02(TheForm): controlla ed invia la sezione 2 (Dati generali) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI03(TheForm): controlla ed invia la sezione 3 (Formazione scolastica) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckConInfo(sectionName, index, ddmConInfo, optConInfo): controlla il livello di conoscenza [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI04(TheForm): controlla ed invia la sezione 4 (Conoscenze linguistiche ed informatiche) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckEspProf(index, txtQualISTAT, hdnIdQualISTAT, ddmSpecializz, ddmMeseDa, txtAnnoDa, ddmMeseA, txtAnnoA, chkPeriodoInCorso, txtAzienda, hdnIdAzienda, txaNote): controlla le esperienze lavorative [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI05(TheForm): controlla ed invia la sezione 5 (Esperienze professionali) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI06(TheForm): controlla ed invia la sezione 6 (Altre informazioni) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSPI07(TheForm): controlla ed invia la sezione 6 (Disponibiltà ed obiettivi professionali) della SPI [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSpisearch(TheForm): controlla ed invia la pagina di ricerca della SPI per Codice fiscale e/o Cognome e/o Nome [PM, AF, MF, UG, 18 June 2003]
//--- 3. FP
//--- CheckAndSubmitFp01(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della FP [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitFp02(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della FP [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitFp03(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della FP [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitFp04(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della FP [PM, AF, MF, UG, 18 June 2003]
//--- 4. AZIENDE
//--- CheckAndSubmitAzienda(TheForm): controlla ed invia la scheda Azienda [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitSedeOperativa(TheForm): controlla ed invia la scheda Sede Operativa [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitContatto(TheForm): controlla ed invia la scheda Contatto [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitContattosearch(TheForm): controlla ed invia la pagina di ricerca dei Contatti [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitAziendasearch(TheForm): controlla ed invia la pagina di ricerca delle Aziende [PM, AF, MF, UG, 18 June 2003]
//--- CheckAndSubmitContattisearch(TheForm): check ed invio per i contatti [FP, 18 June 2003]
//--- 5. MATCH
//--- CheckAndSubmitMatch02_CPI(TheForm): controlla ed invia la pagina dei risultati della ricerca delle FP, con alcuni nominativi estratti [FP, 18 June 2003]
//--- 6. ESITI
//--- CheckSection_Colloqui(index, optColloquio_0, optColloquio_1, ddmNoColloquio, optEsito_0,  optEsito_1, ddmEsitoNegativo): controlla la sezione "esiti del colloquio" di una persona [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitInsertColloqui(TheForm, sectionNumber): controlla ed invia la pagina contenente gli esiti dei colloqui [PM, MF, UG, AF, 18 June 2003]
//--- 7. IMPORT
//--- CheckAndSubmitImportOnDemand(TheForm): controlla ed invia la pagina di import di una scheda di Netlabor [PM, MF, UG, AF, 18 June 2003]
//--- 8. ADMIN - User
//--- CheckAndSubmitUser(TheForm): controlla ed invia la pagina Utente [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitUsersearch(TheForm): controlla ed invia la pagina di ricerca della scheda Utente [PM, MF, UG, AF, 18 June 2003]
//--- 9. REPORT
//--- CheckAndSubmitReportQual(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li richiesto [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitReportQualDisp(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li disponibili [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitReportQualDispSA(TheForm):  [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitReportAzi(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li disponibili [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitReportSegnalazioni(TheForm): controlla ed invia la pagina contenente il report Segnalazioni richiesto [PM, MF, UG, AF, 18 June 2003]
//--- 10. TUTOR
//--- CheckAndSubmitTutor(TheForm): controlla ed invia la scheda Tutor [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitTutorsearch(TheForm):  [PM, MF, UG, AF, 18 June 2003]
//--- 11. PROGETTI
//--- CheckAndSubmitSelectProgetto(TheForm):  [PM, MF, UG, AF, 18 June 2003]
//--- 12. CORSO
//--- CheckAndSubmitSelectCorso(TheForm):  [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCorso(TheForm): controlla e invia la scheda del corso [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitSearchCorso(TheForm): controlla i campi inseriti nella maschera di ricerca [PM, MF, UG, AF, 18 June 2003]
//--- 13. Chiamata art 16 e Delibera 57/99
//--- CheckAndSubmitCA16_1(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della CA16 [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCA16_2(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della CA16 [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCA16_3(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della CA16 [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCA16_4(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della Chiamata Art16 [PM, MF, UG, AF, 18 June 2003]
//--- 14. CHIAMATA COLLOCAMENTO DISABILI
//--- CheckAndSubmitCollDIS_1(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCollDIS_2(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCollDIS_3(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitCollDIS_4(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della Chiamata Art16  [PM, MF, UG, AF, 18 June 2003]

//--- CheckAndSubmitReportDisponibilita(TheForm): controlla ed invia la ricerca del report disponibilità [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitFormaz01(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della FP [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitFormaz02(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della FP [PM, MF, UG, AF, 18 June 2003]
//--- CheckAndSubmitReportMobilita(TheForm): controlla ed invia la pagina contenente il report Mobilità [LA 21 September 2004]
//--- CheckAndSubmitReportMobilitaInDeroga(TheForm): controlla ed invia la pagina contenente il report Mobilità In Deroga [LA 21 September 2004]


//--------------------------------------------------------------------------------------------------------------------------
		
//======================================================================================================================================
//=== LOGIN
//======================================================================================================================================
//--- CheckAndSubmitLoginPassword(TheForm): invia il form di login e password [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitLoginPassword(TheForm)
{	
	//--- Login ------------------------------------------------------------------------------------------------------------------------
	if (TheForm.txtLogin.value == "")
	{
		alert("Il campo \"Login\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.txtLogin.focus();
		return;
	}
	//--- Password ---------------------------------------------------------------------------------------------------------------------
	if (TheForm.txtPassword.value == "")
	{
		alert("Il campo \"Password\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.txtPassword.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 
//======================================================================================================================================
//=== SPI
//==========================================================================================================================================
//--- SuggerisciCF(TheForm): SuggerisciCF se il flag CFcorretto = 0 e sono disponibili i dati necessari, calcola il CF e lo scrive nel campo relativo [PM, AF, MF, UG, 18 June 2003]
function oldSuggerisciCF(TheForm)
{	var cfCalcolato;
	var sesso;
	var gg, mm, aaaa;
	
	cfCalcolato = "";
	
	//--- Cognome ----------------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtCognome.value)))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Cognome\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.txtCognome.focus();
		return;
	}
	if ((TheForm.txtCognome.value != "") && (TheForm.txtCognome.value.length < 2))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Cognome\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtCognome.focus();
		return;
	}
	//--- Nome -------------------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtNome.value)))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Nome\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.txtNome.focus();
		return;
	}
	if ((TheForm.txtNome.value != "") && (TheForm.txtNome.value.length < 2))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Nome\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtNome.focus();
		return;
	}
	//--- Data di nascita --------------------------------------------------------------------------------------------------------------
	gg = TheForm.ddmGiornoNascita.selectedIndex;
	mm = TheForm.ddmMeseNascita.selectedIndex;
	aaaa = TheForm.txtAnnoNascita.value;	
	if (!(VerificaData(gg,mm,aaaa)))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Data di nascita\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.ddmGiornoNascita.focus();
		return;
	}
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("Impossibile calcolare il codice fiscale.\nLa data inserita nel campo \"Data di nascita\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoNascita.focus();
		return;
	}
	//--- Luogo di nascita -------------------------------------------------------------------------------------------------------------
	if (TheForm.hdnCodLuogoNascita.value == "")
	{
		alert("Impossibile calcolare il codice fiscale.\nI campi della sezione \"Luogo di nascita\" non sono stati compilati o\nnon sono stati compilati correttamente; utilizzare il tasto \"Cerca\",\ngrazie.");
		TheForm.txtLuogoNascita.value = "";
		TheForm.txtProvLuogoNascita.value = "";
		TheForm.txtLuogoNascita.focus();
		return;
	}
	//--- Sesso ------------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optSesso))
	{
		alert("Impossibile calcolare il codice fiscale.\nIl campo \"Sesso\" non è stato compilato.\n\nCompilarlo, grazie.");
		TheForm.optSesso[0].focus();
		return;
	}	
	if (TheForm.optSesso[0].checked)
	{	sesso = "F"; }
	else
	{	sesso = "M"; }
	cfCalcolato = y2kIncrocio(TheForm.txtCognome.value, TheForm.txtNome.value, gg, mm, aaaa, TheForm.hdnCodLuogoNascita.value, sesso);
	TheForm.txtCodiceFiscale.value = cfCalcolato.toUpperCase();
	TheForm.hdnCodFiscCorretto.value = "0";
}

//--- CheckAndSubmitSPI01(TheForm): controlla ed invia la sezione 1 (Dati anagrafici) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI01(TheForm)
{	
	//--- Cognome ----------------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtCognome.value)))
	{
		alert("Il campo \"Cognome\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtCognome.focus();
		return;
	}
	if ((TheForm.txtCognome.value != "") && (TheForm.txtCognome.value.length < 2))
	{
		alert("Il campo \"Cognome\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtCognome.focus();
		return;
	}
	//--- Nome -------------------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtNome.value)))
	{
		alert("Il campo \"Nome\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtNome.focus();
		return;
	}
	if ((TheForm.txtNome.value != "") && (TheForm.txtNome.value.length < 2))
	{
		alert("Il campo \"Nome\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtNome.focus();
		return;
	}
	//--- Data di nascita --------------------------------------------------------------------------------------------------------------
	gg = TheForm.ddmGiornoNascita.selectedIndex;
	mm = TheForm.ddmMeseNascita.selectedIndex;
	aaaa = TheForm.txtAnnoNascita.value;	
	if (!(VerificaData(gg,mm,aaaa)))
	{
		alert("Il campo \"Data di nascita\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.ddmGiornoNascita.focus();
		return;
	}
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Data di nascita\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoNascita.focus();
		return;
	}
	//--- Luogo di nascita -------------------------------------------------------------------------------------------------------------
	if (((TheForm.txtLuogoNascita.value != "") || (TheForm.txtProvLuogoNascita.value != "")) && (TheForm.hdnIdLuogoNascita.value == ""))
	{
		alert("Per compilare i campi della sezione \"Luogo di nascita\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLuogoNascita.value = "";
		TheForm.txtProvLuogoNascita.value = "";
		TheForm.txtLuogoNascita.focus();
		return;
	}
	if ((TheForm.hdnIdLuogoNascita.value == "") && (TheForm.txtLuogoNascita.value == ""))
	{
		alert("I campi della sezione \"Luogo di nascita\" sono obbligatori.\n\nCompilarli utilizzando il tasto \"Cerca\", grazie.");
		TheForm.txtLuogoNascita.focus();
		return;
	}
	//--- Sesso ------------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optSesso))
	{
		alert("Il campo \"Sesso\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optSesso[0].focus();
		return;
	}	
	//--- Cittadinanza -----------------------------------------------------------------------------------------------------------------
	if (!CheckDDM(TheForm.ddmCittadinanza.selectedIndex))
	{
		alert("Il campo \"Cittadinanza\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmCittadinanza.focus();
		return;
	}
	//--- Permesso di soggiorno --------------------------------------------------------------------------------------------------------
	gg = TheForm.ddmGiornoSoggiorno.selectedIndex;
	mm = TheForm.ddmMeseSoggiorno.selectedIndex;
	aaaa = TheForm.txtAnnoSoggiorno.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Permesso di soggiorno - scadenza\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoSoggiorno.focus();
		return;
	}
	//--- Stato Civile -----------------------------------------------------------------------------------------------------------------
	/*if (!CheckDDM(TheForm.ddmStatoCivile.selectedIndex))
	{
		alert("Il campo \"Stato civile\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmStatoCivile.focus();
		return;
	}*/
	//--- Persone a carico -------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtPersoneCarico.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPersoneCarico.value)) || (TheForm.txtPersoneCarico.value < 1)))
	{
		alert("Il campo \"Persone a carico - N°\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtPersoneCarico.focus();
		return;
	}
	//--- Codice Fiscale ---------------------------------------------------------------------------------------------------------------
	if (!CheckBlankIncrocio(TheForm.txtCodiceFiscale.value))
	{
		alert("Il campo \"Codice fiscale\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtCodiceFiscale.focus();
		return;
	}
	if (!CheckCFIncrocio(TheForm.txtCodiceFiscale.value))
	{
		alert("Il codice fiscale inserito non è formalmente corretto.\n\nCorreggerlo, grazie.");
		TheForm.txtCodiceFiscale.focus();
		return;
	}
	//alert(TheForm.hdnCodFiscCorretto.value)
	if (TheForm.hdnCodFiscCorretto.value == "0")
	{	//alert("Controllo CF");
		var sesso;
		if (TheForm.optSesso[0].checked)
		{	sesso = "F"; }
		else
		{	sesso = "M"; }
		cfCalcolato = y2kIncrocio(TheForm.txtCognome.value, TheForm.txtNome.value, TheForm.ddmGiornoNascita.selectedIndex, TheForm.ddmMeseNascita.selectedIndex, TheForm.txtAnnoNascita.value, TheForm.hdnCodLuogoNascita.value, sesso);
		cfInserito = TheForm.txtCodiceFiscale.value;
		cfInserito = cfInserito.toUpperCase();
		if (cfCalcolato != cfInserito)
		{	var msg;
		
			msg = "Il codice fiscale calcolato (D.M. del 12 marzo 1974) a partire dai dati inseriti nei campi:\n";
			msg += "    -  \"Cognome\"\n";
			msg += "    -  \"Nome\"\n";
			msg += "    -  \"Data di nascita\"\n";
			msg += "    -  \"Luogo di nascita\"\n";
			msg += "    -  \"Sesso\"\n";
			msg += "vale\n";
			msg += "         [" + cfCalcolato + "]\ne risulta quindi differente da quanto inserito nel campo \"Codice fiscale\" che vale:\n";
			msg += "         [" + cfInserito + "].\n\n";
			msg += "Si suggerisce di controllare la correttezza dei dati sopra elencati ed in particolare di\n";
			msg += "verificare che corrispondano a quanto riportato sulla tessera rilasciata dal Ministero\n";
			msg += "delle Finanze.\n\n";
			msg += "Se si desidera confermare la correttezza dei dati inseriti, premere \"OK\".\n";
			msg += "Se invece si desidera correggere i dati inseriti, premere \"Annulla/Cancel\".";
			if (!confirm(msg))
			{
				TheForm.txtCodiceFiscale.value = "";
				TheForm.txtCodiceFiscale.focus();
				return;
			}
			else
			{
				TheForm.hdnCodFiscCorretto.value = "1";
			}
		}
		else
		{
			TheForm.hdnCodFiscCorretto.value = "1";
		}
	}
	else
	{
	}
	//--- Residenza --------------------------------------------------------------------------------------------------------------------
	if (!CheckIndirizzo(TheForm.txtLocalitaResid.value, TheForm.txtProvResid.value, TheForm.txtViaResid.value, TheForm.txtNumeroResid.value, TheForm.txtCapResid.value))
	{
		alert("Tutti i campi della sezione \"Residenza\", fatta eccezione\nper il campo \"N°\", sono obbligatori.\nCompilarli correttamente, usando per i campi \"Località\"\ne \"Prov.\" il tasto \"Cerca\".\n\nGrazie.");
		TheForm.txtLocalitaResid.focus();
		return;
	}
	if ((TheForm.hdnIdLocalitaResid.value == "") && (TheForm.txtLocalitaResid.value != ""))
	{
		alert("Per compilare il campo \"Località\" della sezione \"Residenza\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLocalitaResid.value="";
		TheForm.txtProvResid.value="";
		TheForm.txtCapResid.value="";
		TheForm.txtLocalitaResid.focus();
		return;
	}
	//--- CAP ### DA FARE ###
	//--- Domicilio --------------------------------------------------------------------------------------------------------------------
	if (!CheckIndirizzo(TheForm.txtLocalitaDomicilio.value, TheForm.txtProvDomicilio.value, TheForm.txtViaDomicilio.value, TheForm.txtNumeroDomicilio.value, TheForm.txtCapDomicilio.value))
	{
		alert("Tutti i campi della sezione \"Domicilio\", fatta eccezione\nper il campo \"N°\", sono obbligatori.\nCompilarli correttamente, usando per i campi \"Località\"\ne \"Prov.\" il tasto \"Cerca\".\n\nGrazie.");
		TheForm.txtLocalitaDomicilio.focus();
		return;
	}
	if ((TheForm.hdnIdLocalitaDomicilio.value == "") && (TheForm.txtLocalitaDomicilio.value != ""))
	{
		alert("Per compilare il campo \"Località\" della sezione \"Domicilio\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLocalitaDomicilio.value="";
		TheForm.txtProvDomicilio.value="";
		TheForm.txtCapDomicilio.value="";
		TheForm.txtLocalitaDomicilio.focus();
		return;
	}
	//--- CAP ### DA FARE ###
	//--- Recapiti telefonici ----------------------------------------------------------------------------------------------------------
	// Tel. 1 e 2 = numeri telefonici ### DA FARE ###
	//--- E-mail -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEmail.value != "") && (!CheckMailIncrocio(TheForm.txtEmail.value)))
	{
		alert("L'indirizzo inserito nel campo \"E-mail\" non è valido.\n\nCorreggerlo, grazie.");
		TheForm.txtEmail.focus();
		return;
	}
	//--- Centro l'Impiego -------------------------------------------------------------------------------------------------------------
/*	gg = TheForm.ddmGiornoCPI.selectedIndex;
	mm = TheForm.ddmMeseCPI.selectedIndex;
	aaaa = TheForm.txtAnnoCPI.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		//alert("La data di iscrizione al Centro per l'Impiego\nindicata non è corretta.\n\nCorreggerla, grazie.");
		alert("La data di anzianità indicata non è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoCPI.focus();
		return;
	}
*/	
	//--- Stato lavorativo attuale -----------------------------------------------------------------------------------------------------
	/*if (!CheckDDM(TheForm.ddmStatoLav_.selectedIndex))
	{
		alert("Il campo \"Stato lavorativo attuale\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmStatoLav_.focus();
		return;
	}*/

	//@ UGO 19-02-2003
	//--- Categoria D.LG.  D.Lgs. 181/00 - 297/02 -----------------------------------------------------------------------------------------------------
/*	gg = TheForm.ddmGiornoCat181.selectedIndex;
	mm = TheForm.ddmMeseCat181.selectedIndex;
	aaaa = TheForm.txtAnnoCat181.value;

	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Categoria D.Lgs. 181/00 - 297/02 - Data di iscrizione\"\nnon è corretta.\n\nCorreggerla, grazie.");
//		TheForm.ddmGiornoCat181.selectedIndex=0;
//		TheForm.ddmMeseCat181.selectedIndex=0;
//		TheForm.txtAnnoCat181.value="";    			
		TheForm.ddmGiornoCat181.focus(); 
		return;
	}
*/
/*	if ((TheForm.ddmCat181.selectedIndex == 0) && (VerificaData(gg, mm, aaaa)))
	{
		alert("I dati inseriti sono incongruenti: è stato compilato il campo\n\"Categoria D.Lgs. 181/00 - 297/02 - Data di iscrizione\" ma non è stata\nselezionata nessuna categoria nel campo Categoria D.Lgs. 181/00 - 297/02.\n\nCorreggere, grazie.");
		TheForm.ddmCat181.focus();
		return;
	}

	if (!(TheForm.ddmCat181.selectedIndex == 0) && (!(VerificaData(gg, mm, aaaa))))
	{
		alert("I dati inseriti sono incongruenti: è stato compilato il campo\n\"Categoria D.Lgs. 181/00 - 297/02\" ma non è stata\nselezionata nessuna data di iscrizione.\n\nCorreggere, grazie.");
		TheForm.ddmGiornoCat181.focus();
		return;
	}
	//@ UGO 19-02-2003

	//--- Disponibilità immediata al lavoro --------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optDispLav))
	{
		alert("Il campo \"Disponibilità immediata al lavoro\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optDispLav[0].focus();
		return;
	}
	//--- Anno 
	if ((TheForm.txtAnnoDispLav.value != "") && ((!CheckIntPosIncrocio(TheForm.txtAnnoDispLav.value)) || (TheForm.txtAnnoDispLav.value < 2000) || (TheForm.txtAnnoDispLav.value > 2100)))
	{
		alert("Il campo \"Non disponibile fino a - anno\" deve contenere un numero\ncompreso tra 2000 e 2100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtAnnoDispLav.focus();
		return;
	}
	//--- Se "No": incongruenze
	if ((TheForm.optDispLav[0].checked) && ((TheForm.ddmMeseDispLav.selectedIndex > 0) || (TheForm.txtAnnoDispLav.value != "")))
	{
		alert("I dati inseriti sono incongruenti: è stata indicata disponibilità immediata al lavoro\ned è stato compilato il periodo di non disponibilità.\n\nCorreggere, grazie.");
		TheForm.ddmMeseDispLav.focus();
		return;
	}
	if ((TheForm.optDispLav[0].checked) &&  (TheForm.ddmMotivoDispLav.selectedIndex > 0))
	{
		alert("I dati inseriti sono incongruenti: è stata indicata disponibilità immediata al lavoro\ned è stato compilato il motivo di non disponibilità.\n\nCorreggere, grazie.");
		TheForm.ddmMotivoDispLav.focus();
		return;
	}
*/	
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;	
	TheForm.submit();
} 

//--- CheckTitoloDiStudio(degreeName, txtDegree, hdnIdDegree, optDegree, txtAnnoDegree, txtVotoDegree, txtNAnniDegree): controlla la compilazione dei titoli di studio [PM, AF, MF, UG, 18 June 2003]
function CheckTitoloDiStudio(degreeName, txtDegree, hdnIdDegree, optDegree, txtAnnoDegree, txtVotoDegree, txtNAnniDegree)
		{	//--- Titolo di studio
			if ((hdnIdDegree.value == "") && (txtDegree.value != ""))
			{
				alert("Per compilare il campo \"" + degreeName + "\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
				txtDegree.value="";
				txtDegree.focus();
				return (0);
			}
			//--- Conseguito/non conseguito
			if ((hdnIdDegree.value != "") && (!(optDegree[0].checked)) && (!(optDegree[1].checked)))
			{
				alert("Indicare se il titolo di studio di tipo\n--- \"" + degreeName + "\" ---\nè stato conseguito o meno, selezionando un'opzione, grazie.");
				optDegree[0].focus();
				return (0);
			}
			if ((hdnIdDegree.value == "") && ((optDegree[0].checked) || (optDegree[1].checked)))
			{
				alert("I dati inseriti sono incongruenti: non è stato indicato nessun titolo di studio di tipo\n--- \"" + degreeName + "\" ---\nma è stata selezionata l'opzione \"Conseguito\"/\"Non conseguito\".\n\nCorreggere, grazie.");
				optDegree[0].checked = false;
				optDegree[1].checked = false;
				txtDegree.focus();
				return (0);
			}
			// Anno di conseguimento = numero ### DA FARE ###
			// N° anni seguiti = numero ### DA FARE ###
			// Voti: tutti numeri (fatta eccezione per la laurea per cui vale 110L), maturità max 100, laurea max 110 (110L) ### DA FARE ###
			// Coerenza sezione "conseguito" ### DA FARE ###
			// Coerenza sezione "non conseguito" ### DA FARE ###
			return (1);
		}
		
//--- CheckAndSubmitSPI02(TheForm): controlla ed invia la sezione 2 (Dati generali) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI02(TheForm)
{
	//--- Utenti svantaggiati (L.68/99) -----------------------------------------------------------------------------------------------------------------
	if (TheForm.ddmCategorieProtette1_.selectedIndex>0)
	{
		if ( (TheForm.txtPercentuale.value < 1) || (TheForm.txtPercentuale.value > 100))
		{
			alert("Il campo \"Percentuale/categoria\" deve contenere un numero\nmaggiore o uguale a uno e minore o uguale a 100.\n\nCompilare il campo in modo corretto, consultando eventualmente\nil suggerimento, grazie.");
			TheForm.txtPercentuale.focus();
			return;
		}
	}
	//--- Agevolazioni -----------------------------------------------------------------------------------------------------------------
	gg = TheForm.ddmAgevolazioniGG.selectedIndex;
	mm = TheForm.ddmAgevolazioniMM.selectedIndex;
	aaaa = TheForm.txtAgevolazioniAA.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Agevolazioni - Termine dell'agevolazione\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmAgevolazioniGG.selectedIndex=0;
		TheForm.ddmAgevolazioniMM.selectedIndex=0;
		TheForm.txtAgevolazioniAA.value="";
		TheForm.ddmAgevolazioniGG.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni_.selectedIndex == 0) && (VerificaData(gg, mm, aaaa)))
	{
		alert("I dati inseriti sono incongruenti: è stato compilato il campo\n\"Agevolazioni - Termine dell'agevolazione\" ma non è stata\nselezionata nessuna voce.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni_.focus();
		return;
	}
	TheForm.salva.disabled=true;
	TheForm.submit();
} 

//--- CheckAndSubmitSPI03(TheForm): controlla ed invia la sezione 3 (Formazione scolastica) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI03(TheForm)
{	
	//--- Obbligo scolastico -----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optObblScolastico))
	{
		alert("Il campo \"Obbligo scolastico\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optObblScolastico[0].focus();
		return;
	}
	//--- Obbligo formativo ------------------------------------------------------------------------------------------------------------
	/*
	if (!CheckDDM(TheForm.ddmObblFormativo.selectedIndex))
	{
		alert("Il campo \"Obbligo Formativo\" è obbligatorio.\nSelezionare una voce, grazie.");
		TheForm.ddmObblFormativo.focus();
		return;
	}
	*/
	//--- Licenza elementare -----------------------------------------------------------------------------------------------------------
	/*if (!CheckRadio(TheForm.optElementari))
	{
		alert("Il campo \"Licenza elementare\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optElementari[0].focus();
		return;
	}*/
	//--- Licenza media -----------------------------------------------------------------------------------------------------------
	if ((TheForm.optElementari[1].checked) && ((TheForm.optMedie[0].checked)))
	{
		alert("I dati inseriti sono incongruenti: è stato indicato che è\nstata conseguita la licenza media e che non è stata\nconseguita la licenza elementare.\n\nCorreggere, grazie.");
		TheForm.optElementari[0].focus();
		return;
	}
	//--- Qualifica professionale ------------------------------------------------------------------------------------------------------
	if (!(CheckTitoloDiStudio("Qualifica professionale", TheForm.txtQualProf, TheForm.hdnIdQualProf, TheForm.optQualProf, TheForm.txtAnnoQualProf, TheForm.txtVotoQualProf, TheForm.txtNAnniQualProf)))
	{	return; }
	
	//--- Diploma di scuola superiore ------------------------------------------------------------------------------------------------------
	if (!(CheckTitoloDiStudio("Diploma di scuola superiore", TheForm.txtMaturita, TheForm.hdnIdMaturita, TheForm.optMaturita, TheForm.txtAnnoMaturita, TheForm.txtVotoMaturita, TheForm.txtNAnniMaturita)))
	{	return; }
	//--- Diploma di laurea breve o di scuola diretta a fini speciali ------------------------------------------------------------------------------------------------------
	if (!(CheckTitoloDiStudio("Diploma di laurea breve o di scuola diretta a fini speciali", TheForm.txtDiplUniv, TheForm.hdnIdDiplUniv, TheForm.optDiplUniv, TheForm.txtAnnoDiplUniv, TheForm.txtVotoDiplUniv, TheForm.txtNAnniDiplUniv)))
	{	return; }
	//--- Laurea o accademia ------------------------------------------------------------------------------------------------------
	if (!(CheckTitoloDiStudio("Laurea o accademia", TheForm.txtLaurea, TheForm.hdnIdLaurea, TheForm.optLaurea, TheForm.txtAnnoLaurea, TheForm.txtVotoLaurea, TheForm.txtNAnniLaurea)))
	{	return; }
	//--- Note  ------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNoteFormaz.value != "") && (TheForm.txaNoteFormaz.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNoteFormaz.focus();
		return;
	}
		// Coerenza  ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;
	TheForm.submit();
}

//--- CheckConInfo(sectionName, index, ddmConInfo, optConInfo): controlla il livello di conoscenza [PM, AF, MF, UG, 18 June 2003]
function CheckConInfo(sectionName, index, ddmConInfo, optConInfo)
{
	//--- Ddm senza opt
	if ((ddmConInfo.selectedIndex > 0) && (!((optConInfo[0].checked) || (optConInfo[1].checked))))
	{
		alert("--- Sezione \"" + sectionName + "\" - sez. " + index + " ---\n\nIndicare il grado di conoscenza della voce selezionata\nselezionando un\'opzione, grazie.");
		optConInfo[0].focus();
		return (0);
	}
	//--- Opt senza ddm
	if ((ddmConInfo.selectedIndex == 0) && ((optConInfo[0].checked) || (optConInfo[1].checked)))
	{
		alert("--- Sezione \"" + sectionName + "\" - sez. " + index + " ---\n\nI dati inseriti sono incongruenti: non è stata selezionata nessuna voce\nma ne è stato indicato il grado di conoscenza.\n\nCorreggere, grazie.");
		optConInfo[0].checked = false;
		optConInfo[1].checked = false;
		ddmConInfo.focus();
		return (0);
	}
	return (1);
}	
			
//--- CheckAndSubmitSPI04(TheForm): controlla ed invia la sezione 4 (Conoscenze linguistiche ed informatiche) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI04(TheForm)
{	
	//--- Conoscenze linguistiche ------------------------------------------------------------------------------------------------------
	/* --- Commentato per compatibilità con NL
	if (!((TheForm.ddmConItaliano.selectedIndex == 5)||(TheForm.ddmConInglese.selectedIndex == 5)||(TheForm.ddmConFrancese.selectedIndex == 5)||(TheForm.ddmConTedesco.selectedIndex == 5)||(TheForm.ddmConSpagnolo.selectedIndex == 5)||(TheForm.ddmConArabo.selectedIndex == 5)||(TheForm.ddmConAltraLingua.selectedIndex == 5)))
	{
		alert("Indicare almeno una lingua come \"madrelingua\", grazie.");
		TheForm.ddmConItaliano.focus();
		return;
	}
	*/
	
	//@ UGO 24-02-2003
	
	
	//--- Conoscenze informatiche ------------------------------------------------------------------------------------------------------
	//--- Office automation
	if (!(CheckConInfo("Office Automation", 1, TheForm.ddmInform_AUT1, TheForm.optConInform_AUT1))) 
	{	return; }
	if (!(CheckConInfo("Office Automation", 2, TheForm.ddmInform_AUT2, TheForm.optConInform_AUT2))) 
	{	return; }
	if (!(CheckConInfo("Office Automation", 3, TheForm.ddmInform_AUT3, TheForm.optConInform_AUT3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Sistemi operativi e reti
	if (!(CheckConInfo("Sistemi operativi e reti", 1, TheForm.ddmInform_SOP1, TheForm.optConInform_SOP1))) 
	{	return; }
	if (!(CheckConInfo("Sistemi operativi e reti", 2, TheForm.ddmInform_SOP2, TheForm.optConInform_SOP2))) 
	{	return; }
	if (!(CheckConInfo("Sistemi operativi e reti", 3, TheForm.ddmInform_SOP3, TheForm.optConInform_SOP3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Linguaggi di programmazione
	if (!(CheckConInfo("Linguaggi di programmazione", 1, TheForm.ddmInform_PRG1, TheForm.optConInform_PRG1))) 
	{	return; }
	if (!(CheckConInfo("Linguaggi di programmazione", 2, TheForm.ddmInform_PRG2, TheForm.optConInform_PRG2))) 
	{	return; }
	if (!(CheckConInfo("Linguaggi di programmazione", 3, TheForm.ddmInform_PRG3, TheForm.optConInform_PRG3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Grafica
	if (!(CheckConInfo("Grafica", 1, TheForm.ddmInform_GRA1, TheForm.optConInform_GRA1))) 
	{	return; }
	if (!(CheckConInfo("Grafica", 2, TheForm.ddmInform_GRA2, TheForm.optConInform_GRA2))) 
	{	return; }
	if (!(CheckConInfo("Grafica", 3, TheForm.ddmInform_GRA3, TheForm.optConInform_GRA3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Web
	if (!(CheckConInfo("Web", 1, TheForm.ddmInform_WEB1, TheForm.optConInform_WEB1))) 
	{	return; }
	if (!(CheckConInfo("Web", 2, TheForm.ddmInform_WEB2, TheForm.optConInform_WEB2))) 
	{	return; }
	if (!(CheckConInfo("Web", 3, TheForm.ddmInform_WEB3, TheForm.optConInform_WEB3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Altro
	if (!(CheckConInfo("Altro", 1, TheForm.ddmInform_ALT1, TheForm.optConInform_ALT1))) 
	{	return; }
	if (!(CheckConInfo("Altro", 2, TheForm.ddmInform_ALT2, TheForm.optConInform_ALT2))) 
	{	return; }
	if (!(CheckConInfo("Altro", 3, TheForm.ddmInform_ALT3, TheForm.optConInform_ALT3))) 
	{	return; }
	// tre ddm differenti, compilazione ordinata ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;	
	TheForm.submit();
}
 
//--- CheckEspProf(index, txtQualISTAT, hdnIdQualISTAT, ddmSpecializz, ddmMeseDa, txtAnnoDa, ddmMeseA, txtAnnoA, chkPeriodoInCorso, txtAzienda, hdnIdAzienda, txaNote): controlla le esperienze lavorative [PM, AF, MF, UG, 18 June 2003]
/*function CheckEspProf(index, txtQualISTAT, hdnIdQualISTAT, ddmSpecializz, ddmMeseDa, txtAnnoDa, ddmMeseA, txtAnnoA, chkPeriodoInCorso, txtAzienda, hdnIdAzienda, txaNote)
{
	//--- Incongruenza: altre voci compilate se Qualifica non è compilata ### DA FARE ###
	//--- Qualifica professionale		
	if ((txtQualISTAT.value != "") && (hdnIdQualISTAT.value == ""))
	{
		alert("Per compilare il campo \"Qualifica professionale - sez. " + index + "\" è obbligatorio\nutilizzare i tasti \"Cerca\" o \"Cerca voce\", grazie.");
		txtQualISTAT.focus();
		return (0);
	}
	//--- Azienda
	if ((txtAzienda.value != "") && (hdnIdAzienda.value == ""))
	{
		alert("Per compilare il campo \"Azienda - sez. " + index + "\" è obbligatorio\nutilizzare il tasto \"Cerca voce\", grazie.");
		txtAzienda.focus();
		return (0);
	}
	//--- Periodo 
	if ((txtAnnoDa.value != "") && ((!CheckIntPosIncrocio(txtAnnoDa.value)) || (txtAnnoDa.value < 1950) || ((txtAnnoDa.value > 2100))))
	{
		alert("Il campo \"Periodo - Dal ... anno - sez. " + index + "\" deve contenere un numero\nmaggiore o uguale a 1950 e non superiore a 2100.\n\nCompilare il campo in modo corretto, grazie.");
		txtAnnoDa.focus();
		return (0);
	}
	if ((txtAnnoA.value != "") && ((!CheckIntPosIncrocio(txtAnnoA.value)) || (txtAnnoA.value < 1950) || ((txtAnnoA.value > 2100))))
	{
		alert("Il campo \"Periodo - Al ... anno - sez. " + index + "\" deve contenere un numero\nmaggiore o uguale a 1950 e non superiore a 2100.\n\nCompilare il campo in modo corretto, grazie.");
		txtAnnoA.focus();
		return (0);
	}
	if ((txtAnnoDa.value == "") && (ddmMeseDa.selectedIndex > 0))
	{
			alert("I dati inseriti sono incongruenti: è stato indicato il mese del periodo \"Dal - sez. " + index + "\"\nma non il corrispondente anno.\n\nCorreggere, grazie.");
			ddmMeseDa.focus();
		return (0);
	}
	if ((txtAnnoA.value == "") && (ddmMeseA.selectedIndex > 0))
	{
			alert("I dati inseriti sono incongruenti: è stato indicato il mese del periodo \"Al - sez. " + index + "\"\nma non il corrispondente anno.\n\nCorreggere, grazie.");
			ddmMeseA.focus();
		return (0);
	}
	if ((txtAnnoDa.value == "") && (txtAnnoA.value != ""))
	{
			alert("I dati inseriti sono incongruenti: è stato indicato il periodo \"Al - sez. " + index + "\" e non\nil corrispondente periodo \"Dal - sez. " + index + "\".\n\nCorreggere, grazie.");
			txtAnnoDa.focus();
		return (0);
	}

	//@ UGO 25-02-2003
	if (((txtAnnoDa.value != "") && (txtAnnoA.value == "")) && (!(chkPeriodoInCorso.checked)))
	{
			alert("I dati inseriti sono incongruenti: è stato indicato il periodo \"Dal - sez. " + index + "\" e non\nil corrispondente periodo \"Al - sez. " + index + "\" oppure il campo \"In corso - sez. " + index + "\".\n\nCorreggere, grazie.");
			txtAnnoA.focus();
		return (0);
	}

	//@ UGO 25-02-2003

	if ((txtAnnoDa.value != "") && (txtAnnoA.value != "") && (txtAnnoDa.value > txtAnnoA.value))
	{
			alert("I dati inseriti sono incongruenti: il periodo \"Dal - sez. " + index + "\" è più recente\ndel periodo \"Al - sez. " + index + "\".\n\nCorreggere, grazie.");
			txtAnnoDa.focus();
		return (0);
	}
	if ((txtAnnoDa.value != "") && (txtAnnoA.value != "") && (txtAnnoDa.value == txtAnnoA.value) && (ddmMeseDa.selectedIndex > ddmMeseA.selectedIndex))
	{
			alert("I dati inseriti sono incongruenti: il periodo \"Dal - sez. " + index + "\" è più recente\ndel periodo \"Al - sez. " + index + "\".\n\nCorreggere, grazie.");
			ddmMeseDa.focus();
		return (0);
	}
	if ((chkPeriodoInCorso.checked) && (txtAnnoA.value != ""))
	{
			alert("I dati inseriti sono incongruenti: è stato compilato il periodo \"Al - sez. " + index + "\"\ned è stato selezionato il campo \"In corso - sez. " + index + "\".\n\nCorreggere, grazie.");
			chkPeriodoInCorso.focus();
		return (0);
	}
	//--- Note
	if ((txaNote.value != "") && (txaNote.value.length > 250))
	{
		alert("Il campo \"Note - sez. " + index + "\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		txaNote.focus();
		return (0);
	}
	return(1);
}
*/
//--- CheckAndSubmitSPI05(TheForm): controlla ed invia la sezione 5 (Esperienze professionali) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI05(TheForm)
{	
/*
	//--- Nessuna esperienza professionale ----------------------------------------------------------------------------------------------
	if ((!(TheForm.chkNoEspProf.checked)) && ((TheForm.txtQualISTAT[0].value == "") && (TheForm.txtQualISTAT[1].value == "") && (TheForm.txtQualISTAT[2].value == "") && (TheForm.txtQualISTAT[3].value == "") && (TheForm.txtQualISTAT[4].value == "") && (TheForm.txtQualISTAT[5].value == "") && (TheForm.txtQualISTAT[6].value == "") && (TheForm.txtQualISTAT[7].value == "")))
	{
	  alert("Se non si ha nessuna esperienza professionale, è obbligatorio\nselezionare il campo \"Nessuna esperienza professionale\", \ngrazie");
	  TheForm.chkNoEspProf.focus();
	  return;
	}
	 if ((TheForm.chkNoEspProf.checked) && ((TheForm.txtQualISTAT[0].value != "") || (TheForm.txtQualISTAT[1].value != "") || (TheForm.txtQualISTAT[2].value != "") || (TheForm.txtQualISTAT[3].value != "") || (TheForm.txtQualISTAT[4].value != "") || (TheForm.txtQualISTAT[5].value != "") || (TheForm.txtQualISTAT[6].value != "") || (TheForm.txtQualISTAT[7].value != "")))
	{
	  alert("I dati inseriti sono incongruenti: è stato selezionato\nil campo \"Nessuna esperienza professionale\" ma è\nstata indicata una esperienza pregressa.\n\nCorreggere, grazie.");
	  TheForm.chkNoEspProf.focus();
	  return;
	}
	//--- Esperienze professionali -----------------------------------------------------------------------------------------------------	
	var i;
	var isOk = true;
	
	for (i=0; i<8; i++)
	{
		if (!(CheckEspProf((i+1), TheForm.txtQualISTAT[i], TheForm.hdnIdQualISTAT[i], TheForm.ddmSpecializz[i], TheForm.ddmMeseDa[i], TheForm.txtAnnoDa[i], TheForm.ddmMeseA[i], TheForm.txtAnnoA[i], TheForm.chkPeriodoInCorso[i], TheForm.txtAzienda[i], TheForm.hdnIdAzienda[i], TheForm.txaNoteEspProf[i])))
		{
			isOk = false;
			break;
		}
	}
*/
	isOk = true;
	if (!isOk) return;
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;	
	TheForm.submit();
} 

//--- CheckAndSubmitSPI06(TheForm): controlla ed invia la sezione 6 (Altre informazioni) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI06(TheForm)
{	
	//--- Patenti ----------------------------------------------------------------------------------------------------------------------
	/*if (!CheckRadio(TheForm.chkPatenti))
	{
		alert("Se non si hanno patenti di guida, selezionare\nla voce \"Nessuna patente\", grazie.");
		TheForm.chkPatenti[10].focus();
		return;
	}
	if ((TheForm.chkPatenti[10].checked) && ((TheForm.chkPatenti[0].checked)||(TheForm.chkPatenti[1].checked)||(TheForm.chkPatenti[2].checked)||(TheForm.chkPatenti[3].checked)||(TheForm.chkPatenti[4].checked)||(TheForm.chkPatenti[5].checked)||(TheForm.chkPatenti[6].checked)||(TheForm.chkPatenti[7].checked)||(TheForm.chkPatenti[8].checked)||(TheForm.chkPatenti[9].checked)))
	{
		alert("I dati inseriti sono incongruenti: è stata selezionata la voce \"Nessuna patente\"\ned è stata selezionata almeno un'altra voce della sezione \"Patenti di guida\".\n\nCorreggere, grazie.");
		TheForm.chkPatenti[10].focus();
		return;
	}*/
	//--- Mezzo proprio ----------------------------------------------------------------------------------------------------------------
	/*if (!CheckRadio(TheForm.optMezzoProprio))
	{
		alert("Il campo \"Mezzo proprio\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optMezzoProprio[0].focus();
		return;
	}*/
	//--- Abilitazioni -----------------------------------------------------------------------------------------------------------------
	// tre voci diverse ### DA FARE ###
	//--- Patentini e/o brevetti -----------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaPatentini.value != "") && (TheForm.txaPatentini.value.length > 250))
	{
		alert("Il campo \"Patentini e/o brevetti\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaPatentini.focus();
		return;
	}
	if (!(IsDateEmpty(TheForm.ddmGGDataSpettacolo.selectedIndex, TheForm.ddmMMDataSpettacolo.selectedIndex, TheForm.txtAADataSpettacolo.value)) && (TheForm.optSpettacolo[1].checked==true))
	{
		alert("La \"Data di iscrizione alla lista spettacolo\" non può essere inserita se il lavoratore non è \"Iscritto alla lista spettacolo\".\n\nCorreggere, grazie.");
		TheForm.ddmGGDataSpettacolo.focus();
		return;
	}
		//... Note relazione conclusiva del
	if (!(IsDateEmpty(TheForm.selGiornoDataRelazione.selectedIndex, TheForm.selMeseDataRelazione.selectedIndex, TheForm.txtAnnoDataRelazione.value)) && (IsDateNotValid(TheForm.selGiornoDataRelazione.selectedIndex, TheForm.selMeseDataRelazione.selectedIndex, TheForm.txtAnnoDataRelazione.value)))
	{
		alert("La data inserita nel campo \"Note relazione conclusiva del\" non è valida.\n\nCorreggerla, grazie.");
		TheForm.selGiornoDataRelazione.focus();
		return;
	}
	if (!(IsDateEmpty(TheForm.selGiornoDataRelazione.selectedIndex, TheForm.selMeseDataRelazione.selectedIndex, TheForm.txtAnnoDataRelazione.value)) 
	&& IsOptChkArrayEmpty(TheForm.optComp))
	{
		alert("Se si compila il campo \"Note relazione conclusiva del\" è obbligatorio selezionare una delle opzioni di compatibilità, grazie.");
		TheForm.optComp[0].focus();
		return;
	}
	//... Temporaneamente non compatibile
	if (TheForm.optComp[1].checked==true) 
	{
			if (IsDateEmpty(TheForm.selGiornoDataComp.selectedIndex, TheForm.selMeseDataComp.selectedIndex, TheForm.txtAnnoDataComp.value))
			{
				alert("Selezionando l\'opzione \"Temporaneamente non compatibile\" è obbligatorio\ncompilare la data relativa, grazie.");
				TheForm.selGiornoDataComp.focus();
				return;
			}
			if (!(IsDateEmpty(TheForm.selGiornoDataComp.selectedIndex, TheForm.selMeseDataComp.selectedIndex, TheForm.txtAnnoDataComp.value)) && (IsDateNotValid(TheForm.selGiornoDataComp.selectedIndex, TheForm.selMeseDataComp.selectedIndex, TheForm.txtAnnoDataComp.value)))
			{
				alert("La data inserita nel campo \"Temporaneamente non compatibile\" non è valida.\n\nCorreggerla, grazie.");
				TheForm.selGiornoDataComp.focus();
				return;
			}
	}
	//--- Militare ---------------------------------------------------------------------------------------------------------------------
	/*if (TheForm.hdnSesso.value == "M")
	{
		if (!CheckRadio(TheForm.optMilitare))
		{
			alert("Il campo \"Assolvimento obblighi militari\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
			TheForm.optMilitare[0].focus();
			return;
		}
	}
	else
	{
		if (CheckRadio(TheForm.optMilitare))
		{
			alert("I dati inseriti sono incongruenti: nella scheda 1 si è indicato \"Sesso\" uguale a \"F\" e\nnella scheda corrente si è compilato il campo \"Assolvimento obblighi militari\".\n\nCorreggere, grazie.");
			TheForm.optMilitare[0].checked = false;
			TheForm.optMilitare[1].checked = false;
			TheForm.optMilitare[0].focus();
			return;
		}
	} */
	// percentuale coerente con il tipo di invalidità ### DA FARE ###
	// percentuale compilata se e solo se è compilata l'invalidità ### DA FARE ###
	//--- Non segnalare a -----------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNonSegnalare.value != "") && (TheForm.txaNonSegnalare.value.length > 250))
	{
		alert("Il campo \"Non segnalare a\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNonSegnalare.focus();
		return;
	}
	//--- Note -----------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 750)) //@LA(7024)
	{
		alert("Il campo \"Note\" non può contenere più di 750 caratteri.\n\nCorreggerlo, grazie."); //@LA(7024)
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;	
	TheForm.submit();
} 		

//--- CheckAndSubmitSPI07(TheForm): controlla ed invia la sezione 6 (Disponibiltà ed obiettivi professionali) della SPI [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSPI07(TheForm)
{	
	//... Disponibilità a &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;......
	//--- Disponibilità immediata al lavoro --------------------------------------------------------------------------------------------
	// @@MF 19/01/2004 -- commentata disp immediata al lavoro dalla SPI
/*	if (!CheckRadio(TheForm.optDispLav))
	{
		alert("Il campo \"Disponibilità immediata al lavoro\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optDispLav[0].focus();
		return;
	}
	//--- Data disponibilità -------------------------------------------------------------------------------------------------------------
	var gg, mm, aaaa;
	
	gg = TheForm.ddmGiornoDispLav.selectedIndex;
	mm = TheForm.ddmMeseDispLav.selectedIndex;
	aaaa = TheForm.txtAnnoDispLav.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Non disponibile fino a\" \nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoDispLav.focus();
		return;
	}
	//--- Anno 
	if ((TheForm.txtAnnoDispLav.value != "") && ((!CheckIntPosIncrocio(TheForm.txtAnnoDispLav.value)) || (TheForm.txtAnnoDispLav.value < 2000) || (TheForm.txtAnnoDispLav.value > 2100)))
	{
		alert("Il campo \"Non disponibile fino a - anno\" deve contenere un numero\ncompreso tra 2000 e 2100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtAnnoDispLav.focus();
		return;
	}
	//--- Se "No": incongruenze
	if ((TheForm.optDispLav[0].checked) && ((TheForm.ddmGiornoDispLav.selectedIndex > 0) || (TheForm.ddmMeseDispLav.selectedIndex > 0) || (TheForm.txtAnnoDispLav.value != "")))
	{
		alert("I dati inseriti sono incongruenti: è stata indicata disponibilità immediata al lavoro\ned è stato compilato il periodo di non disponibilità.\n\nCorreggere, grazie.");
		TheForm.ddmMeseDispLav.focus();
		return;
	}
	if ((TheForm.optDispLav[0].checked) &&  (TheForm.ddmMotivoDispLav.selectedIndex > 0))
	{
		alert("I dati inseriti sono incongruenti: è stata indicata disponibilità immediata al lavoro\ned è stato compilato il motivo di non disponibilità.\n\nCorreggere, grazie.");
		TheForm.ddmMotivoDispLav.focus();
		return;
	}*/	
/*  commerntato il 14/01/2004 @@MF - inserita tutta la data	
	if   (((TheForm.ddmMeseDispLav.selectedIndex > 0) && (TheForm.txtAnnoDispLav.value == "")) || ((TheForm.ddmMeseDispLav.selectedIndex == 0) && (TheForm.txtAnnoDispLav.value != "")))
	{
		alert("Compilare tutti e due i campi relativi al periodo di\nnon disponibilità immediata al lavoro - mese e anno - \ncorrettamente, grazie.");
		TheForm.ddmMeseDispLav.focus();
		return;
	}
// @@MF 19/01/2004 -- commentata disp immediata al lavoro dalla SPI		
*/	//--- Lavoro con turni -------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optTurni))
	{
		alert("Il campo \"Lavoro con turni\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optTurni[0].focus();
		return;
	}
	//--- Lavoro festivo ---------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optFestivo))
	{
		alert("Il campo \"Lavoro festivo\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optFestivo[0].focus();
		return;
	}
	//--- Lavoro notturno --------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optNotturno))
	{
		alert("Il campo \"Lavoro notturno\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optNotturno[0].focus();
		return;
	}
	//--- Lavoro a domicilio -----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optDomicilio))
	{
		alert("Il campo \"Lavoro a domicilio\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optDomicilio[0].focus();
		return;
	}
	//--- Lavoro occasionale -----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optOccasionale))
	{
		alert("Il campo \"Lavoro occasionale\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optOccasionale[0].focus();
		return;
	}
	//--- Lavoro stagionale ------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optStagionale))
	{
		alert("Il campo \"Lavoro stagionale\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optStagionale[0].focus();
		return;
    }
    //@DR (22402)
    if (!CheckRadio(TheForm.optAccessorio)) {
        alert("Il campo \"Lavoro accessorio\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
        TheForm.optAccessorio[0].focus();
        return;
    }
    //fine @DR (22402)
	//--- Trasferimenti ----------------------------------------------------------------------------------------------------------------
	if (!CheckDDM(TheForm.ddmTrasferimenti.selectedIndex))
	{
		alert("Il campo \"Trasferimenti\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmTrasferimenti.focus();
		return;
	}
	//--- Trasferte --------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optTrasferte))
	{
		alert("Il campo \"Trasferte\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optTrasferte[0].focus();
		return;
	}
	//--- Telelavoro -------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optTelelavoro))
	{
		alert("Il campo \"Telelavoro\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optTelelavoro[0].focus();
		return;
	}
	
	//--- Corsi di formazione ----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optFormazione))
	{
		alert("Il campo \"Corsi di formazione\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optFormazione[0].focus();
		return;
	}
	
		//--- Luigi, 31/8/05 Controlli sulla coerenza del Radio con la presenza / assenza di preferenze nei ddm
		if (((TheForm.ddmFormazione1.selectedIndex > 0) || (TheForm.ddmFormazione2.selectedIndex > 0) || (TheForm.ddmFormazione3.selectedIndex > 0)) && (!(TheForm.optFormazione[0].checked)))
		{
			alert("Se si compila una preferenza di settore di formazione, è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Corsi di formazione\", grazie.");
			TheForm.optFormazione[0].focus();
			return;
		}
	
	//--- Tirocini ---------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optTirocini))
	{
		alert("Il campo \"Tirocini\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optTirocini[0].focus();
		return;
	}
	//--- Lavoro autonomo --------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optAutonomo))
	{
		alert("Il campo \"Lavoro autonomo\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optAutonomo[0].focus();
		return;
	}
	//--- Creazione di impresa ---------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optImpresa))
	{
		alert("Il campo \"Creazione di impresa\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optImpresa[0].focus();
		return;
	}
	//... Disponibilità contrattuali &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	//--- Tempo indeterminato ----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optIndeterm))
	{
		alert("Il campo \"Tempo indeterminato\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optIndeterm[0].focus();
		return;
	}
	//--- Tempo determinato ------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optDeterm))
	{
		alert("Il campo \"Tempo determinato\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optDeterm[0].focus();
		return;
	}
	//--- Full time --------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optFullTime))
	{
		alert("Il campo \"Full time\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optFullTime[0].focus();
		return;
	}
	//--- Part time --------------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optPartTime))
	{
		alert("Il campo \"Part time\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}
	
	if ((TheForm.ddmFasciaOraria.selectedIndex > 0) && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - Fascia oraria\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}
	if ((TheForm.txtPartTimeNOre.value != "") && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - N° ore\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}

	if ((TheForm.txtPartTimeNOre.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPartTimeNOre.value)) || (TheForm.txtPartTimeNOre.value < 1) || ((TheForm.txtPartTimeNOre.value > 32))))
	{
		alert("Il campo \"Part time - N° ore\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 32.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtPartTimeNOre.focus();
		return;
	}	
	//--- Lavoro interinale ------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optLavInterinale))
	{
		alert("Il campo \"Lavoro interinale\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optLavInterinale[0].focus();
		return;
	}
	//--- Contratti atipici ------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optContrAtipici))
	{
		alert("Il campo \"Contratti atipici\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optContrAtipici[0].focus();
		return;
	}
	//--- Formazione e lavoro ----------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optFormazLavoro))
	{
		alert("Il campo \"Formazione e lavoro\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optFormazLavoro[0].focus();
		return;
	}
	//--- Apprendistato ----------------------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optApprendistato))
	{
		alert("Il campo \"Apprendistato\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optApprendistato[0].focus();
		return;
	}
	//--- Art. 16 L. 56/87 (Enti Pubblici) ---------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optArt16))
	{
		alert("Il campo \"Art. 16 L. 56/87 (Enti Pubblici)\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optArt16[0].focus();
		return;
    }
    //@DR (22402)
    if (!CheckRadio(TheForm.optContrCollaborazione)) {
        alert("Il campo \"Contratti collaborazione\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
        TheForm.optContrCollaborazione[0].focus();
        return;
    }
    if (!CheckRadio(TheForm.optOrarioSpezzato)) {
        alert("Il campo \"Orario spezzato\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
        TheForm.optOrarioSpezzato[0].focus();
        return;
    }
    //fine @DR (22402)
    
	//--- Settori di interesse ---------------------------------------------------------------------------------------------------------
	//@LR 17.2.2005	
//	if ((TheForm.txtSettInteresse1.value != "")  && (TheForm.hdnIdSettInteresse1.value == ""))
//	{
//		alert("Per compilare il campo \"Settore di interesse 1\" è obbligatorio\nutilizzare i tasti \"Cerca\" o \"Cerca voce\", grazie.");
//		TheForm.txtSettInteresse1.value = "";
//		TheForm.txtSettInteresse1.focus();
//		return;
//	}
//	if ((TheForm.txtSettInteresse1.value == "") && ((TheForm.hdnIdSettInteresse1.value == "")))
//	{
//		alert("Il campo \"Settore di interesse 1\" è obbligatorio.\nCompilarlo utilizzando i tasti \"Cerca\" o \"Cerca voce\",\ngrazie.");
//		TheForm.txtSettInteresse1.focus();
//		return;
//	}
//	if ((TheForm.txtSettInteresse2.value != "")  && (TheForm.hdnIdSettInteresse2.value == ""))
//	{
//		alert("Per compilare il campo \"Settore di interesse 2\" è obbligatorio\nutilizzare i tasti \"Cerca\" o \"Cerca voce\", grazie.");
//		TheForm.txtSettInteresse2.value = "";
//		TheForm.txtSettInteresse2.focus();
//		return;
//	}
//	if ((TheForm.txtSettInteresse3.value != "")  && (TheForm.hdnIdSettInteresse3.value == ""))
//	{
//		alert("Per compilare il campo \"Settore di interesse 3\" è obbligatorio\nutilizzare i tasti \"Cerca\" o \"Cerca voce\", grazie.");
//		TheForm.txtSettInteresse3.value = "";
//		TheForm.txtSettInteresse3.focus();
//		return;
//	}
	// I tre settori di interesse devono contenere voci diverse l'una dall'altra ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;	
	TheForm.submit();
} 

function CheckAndSubmitLingua(TheForm)
	{	
	    //@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
		if((TheForm.ddmLingua.selectedIndex == 0)||(((TheForm.ddmLivelloLettura.selectedIndex == 0)&&(TheForm.ddmLivelloEspressione.selectedIndex == 0)&&(TheForm.ddmLivelloScrittura.selectedIndex == 0))))
		{
			alert("Compilare tutti i campi obbligatori contrassegnati da *, grazie.");
			return;
		}
		else
		{	
			TheForm.hdnStep.value = "save"
			TheForm.submit();
			return;
		}
	}

//======================================================================================================================================
//--- CheckAndSubmitSpisearch(TheForm): controlla ed invia la pagina di ricerca della SPI per Codice fiscale e/o Cognome e/o Nome [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSpisearch(TheForm)
{	
	 if ((TheForm.txtCodiceFiscale.value == "")  && (TheForm.txtCognome.value == "")) 
	 {
		alert("Impossibile eseguire la ricerca: i campi \"Codice fiscale\" e\n\"Cognome\" sono entrambi vuoti.\n\nPer eseguire la ricerca, compilare correttamente almeno\nuno dei due campi.");
		TheForm.txtCodiceFiscale.focus();
		return;
	 } 
	if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length < 2))
	{
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Codice fiscale\".");
		TheForm.txtCodiceFiscale.focus();
		return;
	 }
	if ((TheForm.txtCognome.value != "") && (TheForm.txtCognome.value.length < 2))
	{
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Cognome\".");
		TheForm.txtCognome.focus();
		return;
	 } 
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}  
//======================================================================================================================================
//=== FP - Ricerca di figure professionali
//======================================================================================================================================		
//--- CheckAndSubmitFp01(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della FP [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitFp01(TheForm, userType, tipologia, nomeSito)
{	
	if ((userType == 2 || userType == 1)  && tipologia == 1) // CPI
	{
		if ((TheForm.txtAzienda.value != "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Per compilare il campo \"Azienda richiedente\"\nè obbligatorio utilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
		if (TheForm.hdnIdAzienda.value == "")
		{
			if (!(confirm("Il campo \"Azienda richiedente\" non è stato compilato.\n\nSi desidera fare una richiesta interna?")))
			{
				TheForm.txtAzienda.focus();
				return;
			}
			else
			{
				TheForm.hdnIdAzienda.value = "0";
			}
		}
	}
	else if (userType == 4 && tipologia == 1) // Consulente
	{
		if ((TheForm.txtAzienda.value == "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Il campo \"Azienda richiedente\" è obbligatorio.\nUtilizzare il tasto \"Cerca voce\" per selezionarla,\ngrazie.");
			TheForm.txtAzienda.focus();
			return;
		}
		if ((TheForm.txtAzienda.value != "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Per compilare il campo \"Ente richiedente\" è obbligatorio\nutilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
	}
	else if (userType != 5 && tipologia == 2)
	{
		if ((TheForm.txtAzienda.value == "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Il campo \"Ente richiedente\" è obbligatorio.\nUtilizzare il tasto \"Cerca voce\" per selezionarlo,\ngrazie.");
			TheForm.txtAzienda.focus();
			return;
		}
		if ((TheForm.txtAzienda.value != "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Per compilare il campo \"Ente richiedente\" è obbligatorio\nutilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
	}
	//-----CPI=========================================================================================================================
	if (tipologia == 2)	
	{
		/* SPS id 311, Commentato LA 21 November 2005
		if (TheForm.ddmCPI_.value == "")
		{
			alert("Il campo \"CPI\" è obbligatorio compilarlo,\ngrazie.");
			TheForm.ddmCPI_.focus();
			return;
		}
		*/
	}
	//--- Data di scadenza -------------------------------------------------------------------------------------------------------------
	if (tipologia == 2)	
	{
		if (TheForm.ddmGiornoScadenza.selectedIndex == 0 && TheForm.ddmMeseScadenza.selectedIndex==0 && TheForm.txtAnnoScadenza.value== "")
		{
			alert("Il campo \"Scadenza della richiesta\" è obbligatorio compilarlo,\ngrazie.");
			TheForm.ddmGiornoScadenza.focus();
			return;
		}
    }

    //@DR (24160)
    if (tipologia == 1) {
        if (TheForm.ddmGiornoScadenza.selectedIndex == 0 && TheForm.ddmMeseScadenza.selectedIndex == 0 && TheForm.txtAnnoScadenza.value == "") {
            alert("Il campo \"Scadenza della richiesta\" è obbligatorio compilarlo,\ngrazie.");
            TheForm.ddmGiornoScadenza.focus();
            return;
        }
    }
	//fine @DR (24160)
	
	if (tipologia==1 || tipologia==2)
	{
		var gg, mm, aaaa;
		gg = TheForm.ddmGiornoScadenza.selectedIndex;
		mm = TheForm.ddmMeseScadenza.selectedIndex;
		aaaa = TheForm.txtAnnoScadenza.value;
		if (!(VerificaDataOK(gg,mm,aaaa)))
		{
			alert("La data inserita nel campo \"Scadenza della richiesta\"\nnon è corretta.\n\nCorreggerla, grazie.");
			TheForm.ddmGiornoScadenza.focus();
			return;
		}
	}
	//--- Numero lavoratori ------------------------------------------------------------------------------------------------------------
	if (TheForm.txtNLavoratori.value == "")
	{
		alert("Il campo \"N° lavoratori\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	if ((!CheckIntPosIncrocio(TheForm.txtNLavoratori.value)) || (TheForm.txtNLavoratori.value < 0))
	{
		alert("Il campo \"N° lavoratori\" deve contenere un numero\nmaggiore o uguale a zero.\nIndicando zero, la ricerca esporrà come valore \"NON DEFINITO\".\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	//--- Sede di lavoro ---------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdLocalitaSedeLavoro.value == "") && (TheForm.txtLocalitaSedeLavoro.value != ""))
	{
		alert("Per compilare il campo \"Sede di lavoro\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtLocalitaSedeLavoro.value="";
		TheForm.txtLocalitaSedeLavoro.focus();
		return;
	}
	//--- Qualifica professionale e Titolo di Studio----------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdTitoloStudio.value != "") || (TheForm.hdnIdQualISTAT.value != "") || (TheForm.txtQualISTAT.value != "") || (TheForm.txtTitoloStudio.value != ""))
	{
		if ((TheForm.txtQualISTAT.value != "") || (TheForm.hdnIdQualISTAT.value != ""))
		{
			//--- Qualifica professionale ------------------------------------------------------------------------------------------------------
			if ((TheForm.txtQualISTAT.value != "") && (TheForm.hdnIdQualISTAT.value == ""))
			{
				alert("Per compilare il campo \"Qualifica professionale\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
				TheForm.txtQualISTAT.focus();
				return;
			}
			if (TheForm.hdnIdQualISTAT.value == "") 
			{
				alert("Il campo \"Qualifica professionale\" è obbligatorio.\n\nCompilarlo utilizzando i tasti \"Cerca\" o \"Cerca voce\", grazie.");
				TheForm.txtQualISTAT.focus();
				return;
			}
			//--- Se è compilata la qualifica professionale, deve essere selezionato almeno uno tra "Interessato a " e "Esp. pregressa"
			if (tipologia != 2)
			{
				if (!((TheForm.chkInteressatoA.checked) || (TheForm.chkEsperAutocertif.checked) || (TheForm.chkQualifica.checked)))
				{
					message = "Selezionare almeno una voce relativa alla \"Qualifica professionale\" " ;
					alert(message);
					TheForm.chkInteressatoA.focus();
					return;
				}
				//--- Esperienza pregressa e campi associati
				if ((TheForm.chkEsperAutocertif.checked == false) && ((TheForm.ddmDurataMesi.selectedIndex > 0) || (TheForm.txtDurataAnni.value != "")))
				{
					alert("I dati inseriti sono incongruenti: per compilare la sezione \"Durata minima\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
					TheForm.chkEsperAutocertif.focus();
					return;
				}
				if ((TheForm.chkEsperAutocertif.checked == false) && (TheForm.txtNumAnni.value != ""))
				{
					alert("I dati inseriti sono incongruenti: per compilare la sezione \"Svolta negli ultimi ... anni\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
					TheForm.chkEsperAutocertif.focus();
					return;
				}
				//--- Anni durata: numero
				if ((TheForm.txtDurataAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurataAnni.value)) || (TheForm.txtDurataAnni.value < 1)))
				{
					alert("Il campo \"Durata minima - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
					TheForm.txtDurataAnni.focus();
					return;
				}
				//--- Anni recenti: numero
				if ((TheForm.txtNumAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtNumAnni.value)) || (TheForm.txtNumAnni.value < 1)))
				{
					alert("Il campo \"Svolta negli ultimi - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
					TheForm.txtNumAnni.focus();
					return;
				}
			}
		}
		if (tipologia == 2) 
		{
			//--- CCNL ---------------------------------------------------------------------------------------------------------------------------
			if (!(IsStringEmpty(TheForm.txtCCNL_.value)) && (IsStringEmpty(TheForm.hdnCCNL_.value)))
			{
				alert("Il campo \"CCNL\" non è stato compilato correttamente.\nCompilarlo utilizzando il tasto \"Cerca voce\",\ngrazie.");
				TheForm.txtCCNL_.focus();
				return;
			}
			//--- N° ore contratto
			if ((TheForm.txtOreContratto.value!="") && (!(IsPositiveNumberInteger(TheForm.txtOreContratto.value))))
			{
				alert("Il campo \"N° ore contratto\" può contenere solo numeri interi non negativi.\n\nCorreggerlo, grazie.");
				TheForm.txtOreContratto.focus();
				return;
			}
		}
		if ((TheForm.hdnIdTitoloStudio.value != "") || (TheForm.txtTitoloStudio.value != ""))
		{
			//--- Titolo di studio -------------------------------------------------------------------------------------------------------------
			if ((TheForm.hdnIdTitoloStudio.value == "") && (TheForm.txtTitoloStudio.value != ""))
			{
				alert("Per compilare il campo \"Titolo di studio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
				TheForm.txtTitoloStudio.value="";
				TheForm.txtTitoloStudio.focus();
				return;
			}
		}
	}
	else
	{
		alert("I campi \"Qualifica professionale e/o Titolo di studio\" sono obbligatori.\n\nCompilarne almeno uno, grazie.");
		TheForm.txtQualISTAT.focus();
		return;
    }
    //@DR (22402)
    if (tipologia == 1) {
        //--- Descrizione figura professionale -----------------------------------------------------------------------------------------------------------------------
        if (TheForm.txaDescrFP.value == "") {
            alert("Il campo \"Descrizione figura professionale\" è obbligatorio.\n\nInserirlo, grazie.");
            TheForm.txaDescrFP.focus();
            return;
        }
    }
    //fine @DR (22402)
	//--- Età --------------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEtaMin.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMin.value)) || (TheForm.txtEtaMin.value < 1) || ((TheForm.txtEtaMin.value > 99))))
	{
		alert("Il campo \"Età - minima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMin.focus();
		return;
	}
	if ((TheForm.txtEtaMax.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMax.value)) || (TheForm.txtEtaMax.value < 1) || ((TheForm.txtEtaMax.value > 99))))
	{
		alert("Il campo \"Età - massima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
	if ((TheForm.txtEtaMin.value != "") && (TheForm.txtEtaMax.value != "") && (TheForm.txtEtaMax.value <= TheForm.txtEtaMin.value))
	{
		alert("I dati inseriti sono incongruenti: il campo \"Età - massima\" deve contenere\nun numero maggiore del numero indicato nel campo \"Età - minima\".\n\nCorreggere, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
	if (tipologia==1)
	{
		//--- Sede di lavoro e domicilio ---------------------------------------------------------------------------------------------------	
		// Controllo compilazione della sede di lavoro se è selezionato città o provincia del domicilio
		var radioSelected = false;
		{
			if (((TheForm.optDomicilio[0].checked) || (TheForm.optDomicilio[2].checked)) && (TheForm.hdnIdLocalitaSedeLavoro.value == ""))
			{
				alert("Se si seleziona l\'opzione \"Città\" o \"Provincia\" del campo \"Domicilio\",\nè obbligatorio compilare il campo \"Sede di lavoro\".\n\nGrazie.");
				TheForm.txtLocalitaSedeLavoro.focus();
				return;
			}
		}
		//--- Controllo compilazione del campo comune solo se è selezionato provincia del domicilio
		if ((TheForm.hdnIdLocalitaResid.value != "") && (!(TheForm.optDomicilio[2].checked)))
		{
			alert("Se si compila il campo \"Comune\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Provincia\".\n\nGrazie.");
			TheForm.optDomicilio[2].focus();
			return;
		}
		//--- Comune
		if ((TheForm.hdnIdLocalitaResid.value == "") && (TheForm.txtLocalitaResid.value != ""))
		{
			alert("Per compilare il campo \"Comune\" della sezione \"Domicilio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
			TheForm.txtLocalitaResid.value="";
			TheForm.txtLocalitaResid.focus();
			return;
		}
		if (!(TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex > 0))
		{
			alert("Se si seleziona una voce del menu a discesa relativo alla \"Circoscrizione\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Circoscrizione\".\n\nGrazie.");
			TheForm.txtLocalitaResid.value = ""
			TheForm.ddmCircoscrizione.focus();
			return;
		}	
		if ((TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex == 0))
		{
			alert("Se si seleziona l'opzione \"Circoscrizione\" della sezione \"Domicilio\", è obbligatorio\n selezionare una voce nel menu a discesa relativo, grazie.");
			TheForm.ddmCircoscrizione.focus();
			return;
		}
    }

    //@DR (24160)
    if (tipologia == 1) {
        CheckQualifiche(0, 0, nomeSito, 0, 0);
        if (IsStringEmpty(TheForm.hdnIdQualSel.value) && (!(IsStringEmpty(TheForm.hdnIdQualISTAT.value)))) {
            TheForm.hdnIdQualSel.value = TheForm.hdnIdQualISTAT.value;
        }
        if (!(IsStringEmpty(TheForm.hdnIdQualSel.value)) && (IsStringEmpty(TheForm.hdnIdQualISTAT.value))) {
            TheForm.hdnIdQualSel.value = TheForm.hdnIdQualISTAT.value;
        }
    }
    //fine @DR (24160)
	
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	
	TheForm.submit();
} 

//--- CheckAndSubmitFp02(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della FP [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitFp02(TheForm)
{	
	//--- Corretta compilazione della conoscenza delle lingue
	//--- prima lingua
	//@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
	if ((TheForm.ddmLivelloLettura1.value != 0) || (TheForm.ddmLivelloScrittura1.value != 0) || (TheForm.ddmLivelloParlato1.value != 0))
		{
			if (TheForm.ddmPrimaLingua.value == 0)
				{
				    //@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
					alert ("E' stato compilato il livello di conoscenza senza specificare la prima lingua.\nCorreggere, grazie.");
					TheForm.ddmPrimaLingua.focus();
					return;
				}
		}
	//--- seconda lingua	
	//@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
	if ((TheForm.ddmLivelloLettura2.value != 0) || (TheForm.ddmLivelloScrittura2.value != 0) || (TheForm.ddmLivelloParlato2.value != 0))
		{
			if (TheForm.ddmSecondaLingua.value == 0)
				{
				    //@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
					alert ("E' stato compilato il livello di conoscenza senza specificare la seconda lingua.\nCorreggere, grazie.");
					TheForm.ddmSecondaLingua.focus();
					return;
				}
		}
	//--- terza lingua
	//@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
	if ((TheForm.ddmLivelloLettura3.value != 0) || (TheForm.ddmLivelloScrittura3.value != 0) || (TheForm.ddmLivelloParlato3.value != 0))
		{
			if (TheForm.ddmTerzaLingua.value == 0)
				{
				    //@DR (23097) Aggiornamenti Standard CO - Elimino gestione madrelingua
					alert ("E' stato compilato il livello di conoscenza senza specificare la terza lingua.\nCorreggere, grazie.");
					TheForm.ddmTerzaLingua.focus();
					return;
				}
		}
	//--- Altri controlli --------------------------------------------------------------------------------------------------------------
	// Conoscenze informatiche: compilazione ordinata, due o più tendine non devono contenere lo stesso valore ### DA FARE ###
	
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
		
	TheForm.submit();
} 

//--- CheckAndSubmitFp03(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della FP [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitFp03(TheForm, tipologia)
{	
	if (tipologia == 2){
		if ( (!(CheckRadio(TheForm.chkIndeterm))) && (!(CheckRadio(TheForm.chkDeterm))) )
		{
			alert("Selezionare almeno un\'opzione tra \"Tempo indeterminato\"\ne \"Tempo determinato\", grazie.");
			TheForm.chkDeterm.focus();
			return;
		}
		if ( (!(CheckRadio(TheForm.chkFullTime))) && (!(CheckRadio(TheForm.chkPartTime))) )
		{
			alert("Selezionare almeno un\'opzione tra \"Full time\"\ne \"Part time\", grazie.");
			TheForm.chkPartTime.focus();
			return;
		}
		gg = TheForm.selGiornoDataTDDal.selectedIndex;
		mm = TheForm.selMeseDataTDDal.selectedIndex;
		aaaa = TheForm.txtAnnoDataTDDal.value;
		ggA = TheForm.selGiornoDataTDAl.selectedIndex;
		mmA = TheForm.selMeseDataTDAl.selectedIndex;
		aaaaA = TheForm.txtAnnoDataTDAl.value;
		if (TheForm.chkDeterm.checked)
		{
			// --- Data Dal ---
			if (!(VerificaDataOK(gg,mm,aaaa)))
			{
				alert("La data inserita nel campo \"Tempo determinato - Dal\"\nnon è corretta.\n\nCorreggerla, grazie.");
				TheForm.selGiornoDataTDDal.focus();
				return;
			}
			// --- Data Al ---
			if (!(VerificaDataOK(ggA,mmA,aaaaA)))
			{
				alert("La data inserita nel campo \"Tempo determinato - Al\"\nnon è corretta.\n\nCorreggerla, grazie.");
				TheForm.selGiornoDataTDAl.focus();
				return;
			}
			if (VerificaData(gg,mm,aaaa) && (!(VerificaData(ggA,mmA,aaaaA))))
			{
				alert("Se si compila il campo \"Tempo determinato - Dal\"\nè obbligatorio compilare il campo \"Tempo determinato - Al\", grazie");
				TheForm.selGiornoDataTDAl.focus();
				return;
			}
			if (!(VerificaData(gg,mm,aaaa)) && (VerificaData(ggA,mmA,aaaaA)))
			{
				alert("Se si compila il campo \"Tempo determinato - Al\"\nè obbligatorio compilare il campo \"Tempo determinato - Dal\", grazie");
				TheForm.selGiornoDataTDDal.focus();
				return;
			}
			if ((IsDateGreaterThan(gg,mm,aaaa,ggA,mmA,aaaaA)))
			{
				alert("I dati inseriti sono incongruenti: il periodo \"Dal\" è più recente\ndel periodo \"Al\".\n\nCorreggere, grazie.");
				TheForm.txtAnnoDataTDDal.focus();
				return;
			}
			// --- Durata ---
			if ((TheForm.txtDurataTD.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurataTD.value)) || (TheForm.txtDurataTD.value < 1)))
				{
					alert("Il campo \"Tempo determinato - Durata\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
					TheForm.txtDurataTD.focus();
					return;
				}
		}
		else if ((VerificaData(gg,mm,aaaa)) || (VerificaData(ggA,mmA,aaaaA)) || (TheForm.txtDurataTD.value != ""))
		{
			alert ("Se si compilano i campi \"Dal\", \"Al\" o \"Durata\" selezionare\nil campo \"Tempo determinato\", grazie");
			TheForm.txtDurataTD.focus();
			return;
		}
		// --- Fascia ---
		if ((!(TheForm.chkPartTime.checked)) && (TheForm.ddmFasciaOraria.selectedIndex > 0))
		{
			alert("Se si compila il campo \"Part time - Fascia oraria\", è obbligatorio\nselezionare il campo \"Part time\", grazie.");
			TheForm.ddmFasciaOraria.focus();
			return;
		}
		// --- N° ore ---
		if ((TheForm.txtPartTimeNOre.value != "") && (!(TheForm.chkPartTime.checked)))
		{
			alert("Se si compila il campo \"Part time - N° ore\", è obbligatorio\nselezionare il campo \"Part time\", grazie.");
			TheForm.ddmFasciaOraria.focus();
			return;
		}
		if ((TheForm.txtPartTimeNOre.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPartTimeNOre.value)) || (TheForm.txtPartTimeNOre.value < 1) || ((TheForm.txtPartTimeNOre.value > 32))))
		{
			alert("Il campo \"Part time - N° ore\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 32.\n\nCompilare il campo in modo corretto, grazie.");
			TheForm.txtPartTimeNOre.focus();
			return;
		}
	}
	else
	{
	    //@DR (23664)
	    if ((TheForm.txtDurataContratto.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurataContratto.value)) || (TheForm.txtDurataContratto.value < 1))) {
	        alert("Il campo \"Durata contratto\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
	        TheForm.txtDurataContratto.focus();
	        return;
	    }
	    //fine @DR (23664)
	    
		//--- Part time --------------------------------------------------------------------------------------------------------------------
		if ((TheForm.ddmFasciaOraria.selectedIndex > 0) && (!(TheForm.optPartTime[0].checked)))
		{
			alert("Se si compila il campo \"Part time - Fascia oraria\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
			TheForm.optPartTime[0].focus();
			return;
		}
		if ((TheForm.txtPartTimeNOre.value != "") && (!(TheForm.optPartTime[0].checked)))
		{
			alert("Se si compila il campo \"Part time - N° ore\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");

			TheForm.optPartTime[0].focus();
			return;
		}
	
		if ((TheForm.txtPartTimeNOre.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPartTimeNOre.value)) || (TheForm.txtPartTimeNOre.value < 1) || ((TheForm.txtPartTimeNOre.value > 32))))
		{
			alert("Il campo \"Part time - N° ore\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 32.\n\nCompilare il campo in modo corretto, grazie.");
			TheForm.txtPartTimeNOre.focus();
			return;
		}
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
		
	TheForm.submit();
}
 
//--- CheckAndSubmitFp04(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della FP [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitFp04(TheForm, tipologia)
{	
	//--- Agevolazioni -----------------------------------------------------------------------------------------------------------------
	//--- Compilazione ordinata
	/*if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni2.selectedIndex > 0))
	{
		alert("E' stata selezionata la seconda opzione della sezione\n\"Agevolazioni\" senza selezionare la prima.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni2.selectedIndex;
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione \"Agevolazioni\"\nsenza selezionare la prima e la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione\n\"Agevolazioni\" senza selezionare la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	//--- Due voci uguali
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni2.selectedIndex))
	{
		alert("La seconda opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex)) 
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni2.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex))
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla seconda.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}*/
	if (tipologia==1){
	//--- Testo da ricercare -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtricerca_note.value != "") && (TheForm.txtricerca_note.value.length < 3 )) 
	{
		alert("Nel campo \"Testo da ricercare\" è obbligatorio inserire almeno tre caratteri.\n\nInserirli, grazie.");
		TheForm.txtricerca_note.focus();
		return;
	}
	}
	//--- Note -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 4000))
	{
		alert("Il campo \"Note\" non può contenere più di 4000 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
    }
    //@DR (22402)
    if (tipologia == 1) {
        //--- Offerta anonima -----------------------------------------------------------------------------------------------------------------------	
        if (!CheckRadio(TheForm.optAnonima)) {
            alert("Il campo \"Offerta anonima\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
            TheForm.optAnonima[0].focus();
            return;
        }
        //--- Offerta pubblica -----------------------------------------------------------------------------------------------------------------------	
        if (!CheckRadio(TheForm.optPubblica)) {
            alert("Il campo \"Offerta pubblica\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
            TheForm.optPubblica[0].focus();
            return;
        }
    }
    //fine @DR (22402)
	
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
		
	TheForm.submit();
}

//======================================================================================================================================
//=== Azienda
//=========================================================================================================================================
//--- CheckAndSubmitAzienda(TheForm): controlla ed invia la scheda Azienda [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitAzienda(TheForm)
{	
	//--- Ragione sociale --------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtDenominazione.value)))
	{
		alert("Il campo \"Ragione sociale\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	//--- Codice Fiscale ----------------------------------------------------------------------------------------------------------------
	if (!CheckBlankIncrocio(TheForm.txtCodiceFiscale.value))
	{
		alert("Il campo \"Codice fiscale\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtCodiceFiscale.focus();
		return;
	}
	 if ((TheForm.txtCodiceFiscale.value != "") && (!((CheckCFIncrocio(TheForm.txtCodiceFiscale.value) != 0) || (CheckPIVAIncrocio(TheForm.txtCodiceFiscale.value) != 0))))
	 {
		alert("Il codice fiscale inserito non è formalmtipologia corretto.\n\nCorreggerlo, grazie.");
		TheForm.txtCodiceFiscale.focus();
		return;
	 }
	//--- Partita IVA ------------------------------------------------------------------------------------------------------------------
	if (!CheckBlankIncrocio(TheForm.txtPartitaIVA.value))
	{
		alert("Il campo \"Partita IVA\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtPartitaIVA.focus();
		return;
	}
	 if ((TheForm.txtPartitaIVA.value != "") && (CheckPIVAIncrocio(TheForm.txtPartitaIVA.value) == 0))
	 {
		alert("La partita IVA inserita non è formalmtipologia corretta.\n\nCorreggerla, grazie.");
		TheForm.txtPartitaIVA.focus();
		return;
	 }
	//--- Codice attività (ATECO 91) ---------------------------------------------------------------------------------------------------
	if (((TheForm.txtAttivita.value != "") || (TheForm.txtCodAttivita.value != "")) && (TheForm.hdnIdAttivita.value == ""))
	{
		alert("Per compilare i campi della sezione \"Codice attività (ATECO)\"\nè obbligatorio utilizzare i tasti \"Cerca\" o \"Cerca voce\", grazie."); //@Eb (14210) - ATECO91 => ATECO
		TheForm.txtCodAttivita.value="";
		TheForm.txtAttivita.value="";
		TheForm.txtCodAttivita.focus();
		return;
	}
	if ((TheForm.hdnIdAttivita.value == ""))
	{
		alert("I campi della sezione \"Codice attività (ATECO)\" sono obbligatori.\n\nCompilarli utilizzando i tasti \"Cerca\" o \"Cerca voce\", grazie.");//@Eb (14210) - ATECO91 => ATECO
		TheForm.txtCodAttivita.value="";
		TheForm.txtAttivita.value="";
		TheForm.txtCodAttivita.focus();
		return;
	}
	//--- Classe di ampiezza ---------------------------------------------------------------------------------------------------
	if (!CheckRadio(TheForm.optClasseAmp))
	{
		alert("Il campo \"Classe di ampiezza\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optClasseAmp[0].focus();
		return;
	}
	//--- Note -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.salva.disabled=true;
	TheForm.submit();
} 

//--- CheckAndSubmitSedeOperativa(TheForm): controlla ed invia la scheda Sede Operativa [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitSedeOperativa(TheForm)
{	
	//--- Denominazione ----------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtDenominazione.value)))
	{
		alert("Il campo \"Denominazione\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	if (TheForm.txtDenominazione.value.length < 2)
	{
		alert("Il campo \"Ragione sociale\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	//--- Sede ----------------------------------------------------------------------------------------------------------------
	if (!CheckIndirizzo(TheForm.txtLocalitaSedeOperativa.value, TheForm.txtProvSedeOperativa.value, TheForm.txtViaSedeOperativa.value, TheForm.txtNumeroSedeOperativa.value, TheForm.txtCapSedeOperativa.value))
	{
		alert("Tutti i campi della sezione \"Sede\", fatta eccezione per\nil campo \"N°\", sono obbligatori.\nCompilarli correttamtipologia, usando per i campi \"Località\"\ne \"Prov.\" il tasto \"Cerca\".\n\nGrazie.");
		TheForm.txtLocalitaSedeOperativa.focus();
		return;
	}
	if ((TheForm.hdnIdLocalitaSedeOperativa.value == "") && ((TheForm.txtLocalitaSedeOperativa.value != "")))
	{
		alert("Per compilare il campo \"Località\" della sezione \"Sede\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLocalitaSedeOperativa.value="";
		TheForm.txtProvSedeOperativa.value="";
		TheForm.txtCapSedeOperativa.value="";
		TheForm.txtLocalitaSedeOperativa.focus();
		return;
	}
	//--- CAP
	//--- Recapiti telefonici ----------------------------------------------------------------------------------------------------------
	//--- Telefono 
	if (!(CheckBlankIncrocio(TheForm.txtTel.value)))
	{
		alert("Il campo \"Recapiti telefonici - Tel.\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtTel.focus();
		return;
	}
	//--- Telefono = numero telefonico
	//--- Fax = numero telefonico
	//--- E-mail -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEmail.value != "") && (!CheckMailIncrocio(TheForm.txtEmail.value)))
	{
		alert("L'indirizzo inserito nel campo \"E-mail\" non è valido.\n\nCorreggerlo, grazie.");
		TheForm.txtEmail.focus();
		return;
	}
	//--- CPI --------------------------------------------------------------------------------------------------------------------------
	if (!CheckDDM(TheForm.ddmSedeCPI.selectedIndex))
	{
		alert("Il campo \"Centro per l'Impiego\" è obbligatorio.\n\nSelezionare il Centro per l\'Impiego di riferimento,\ngrazie.");
		TheForm.ddmSedeCPI.focus();
		return;
	}
	//--- Note -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;
	TheForm.submit();
} 

//--- CheckAndSubmitContatto(TheForm): controlla ed invia la scheda Contatto [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitContatto(TheForm)
{	
	//--- Denominazione ----------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtDenominazione.value)))
	{
		alert("Il campo \"Denominazione\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	if (TheForm.txtDenominazione.value.length < 2)
	{
		alert("Il campo \"Denominazione\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	//--- Sede -------------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtLocalitaSedeOperativa.value != "") && (TheForm.hdnIdLocalitaSedeOperativa.value == ""))
	{
		alert("Per compilare il campo \"Località\" della sezione \"Sede\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLocalitaSedeOperativa.value="";
		TheForm.txtProvSedeOperativa.value="";
		TheForm.txtCapSedeOperativa.value="";
		TheForm.txtLocalitaSedeOperativa.focus();
		return;
	}
	//--- Recapiti telefonici ----------------------------------------------------------------------------------------------------------
	//--- Telefono = numero telefonico
	//--- Fax = numero telefonico
	//--- E-mail -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEmail.value != "") && (!CheckMailIncrocio(TheForm.txtEmail.value)))
	{
		alert("L'indirizzo inserito nel campo \"E-mail\" non è valido.\n\nCorreggerlo, grazie.");
		TheForm.txtEmail.focus();
		return;
	}
	//--- Note -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 
//======================================================================================================================================
//--- CheckAndSubmitContattosearch(TheForm): controlla ed invia la pagina di ricerca dei Contatti [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitContattosearch(TheForm)
{	//--- Campi vuoti	 
	if ((TheForm.txtDenominazione.value == "") && (TheForm.txtIndirizzo.value == "") && (TheForm.txtLocalita.value == ""))
	{
		alert("Impossibile eseguire la ricerca: i campi \"Denominazione\",\n\"Indirizzo\", \"Località\" sono vuoti.\n\nPer eseguire la ricerca, compilare (anche parzialmtipologia)\nalmeno uno dei tre campi.");
		TheForm.txtDenominazione.focus();
		return;
	 } 
	if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
	{
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
		TheForm.txtDenominazione.focus();
		return;
	 } 
	if ((TheForm.txtIndirizzo.value != "") && (TheForm.txtIndirizzo.value.length < 2))
	{
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Indirizzo\".");
		TheForm.txtIndirizzo.focus();
		return;
	 }
	if ((TheForm.txtLocalita.value != "") && (TheForm.txtLocalita.value.length < 2)) 
	{
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Località\".");
		TheForm.txtLocalita.focus();
		return;
	 } 
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}  

//--- CheckAndSubmitAziendasearch(TheForm): controlla ed invia la pagina di ricerca delle Aziende [PM, AF, MF, UG, 18 June 2003]
function CheckAndSubmitAziendasearch(TheForm)
{	//--- Tipo di scheda	 
	if ((!(TheForm.optTipoScheda[0].checked)) && (!(TheForm.optTipoScheda[1].checked)) && (!(TheForm.optTipoScheda[2].checked))) 
	 {
		alert("Impossibile eseguire la ricerca: il campo \"Tipo di scheda\" è vuoto.\n\nSelezionare una delle opzioni.");
		TheForm.optTipoScheda[0].focus();
		return;
	 } 
	//--- Azienda
	if (TheForm.optTipoScheda[0].checked == true)
	{
		if ((TheForm.txtDenominazione.value == "") && (TheForm.txtCodiceFiscale.value == "") && (TheForm.txtPIVA.value == ""))
		{
			alert("Impossibile eseguire la ricerca: i campi \"Denominazione\",\n\"Codice fiscale\", \"Partita IVA\" sono vuoti.\n\nPer eseguire la ricerca, compilare correttamente almeno\nuno dei tre campi.");
			TheForm.txtDenominazione.focus();
			return;
		 } 
		if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
			TheForm.txtDenominazione.focus();
			return;
		 } 
		if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length < 3))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno tre caratteri\nnel campo \"Codice fiscale\".");
			TheForm.txtCodiceFiscale.focus();
			return;
		 }
		if ((TheForm.txtPIVA.value != "") && (TheForm.txtPIVA.value.length < 3))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno tre caratteri\nnel campo \"Partita IVA\".");
			TheForm.txtPIVA.focus();
			return;
		 } 
	}
	//--- Sede operativa
	if (TheForm.optTipoScheda[1].checked == true)
	{	
		if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
			TheForm.txtDenominazione.focus();
			return;
		 } 
		if (TheForm.txtCodiceFiscale.value != "")
		{
			alert("Impossibile eseguire la ricerca: il campo \"Codice fiscale\"\nnon è vuoto.\n\n\Cancellarlo, grazie.");
			TheForm.txtCodiceFiscale.focus();
			return;
		 }
		if (TheForm.txtPIVA.value != "") 
		{
			alert("Impossibile eseguire la ricerca: il campo \"Partita IVA\"\nnon è vuoto.\n\n\Cancellarlo, grazie.");
			TheForm.txtPIVA.focus();
			return;
		 } 
	} 
	//--- Contatto
	if (TheForm.optTipoScheda[2].checked == true)
	{	
		if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
			TheForm.txtDenominazione.focus();
			return;
		 } 
		if (TheForm.txtCodiceFiscale.value != "")
		{
			alert("Impossibile eseguire la ricerca: il campo \"Codice fiscale\"\nnon è vuoto.\n\n\Cancellarlo, grazie.");
			TheForm.txtCodiceFiscale.focus();
			return;
		 }
		if (TheForm.txtPIVA.value != "") 
		{
			alert("Impossibile eseguire la ricerca: il campo \"Partita IVA\"\nnon è vuoto.\n\n\Cancellarlo, grazie.");
			TheForm.txtPIVA.focus();
			return;
		 } 
	} 
	//--- Controlli superati ---------------------------
	TheForm.submit();
}

//--- CheckAndSubmitContattisearch(TheForm): check ed invio per i contatti [FP, 18 June 2003]
function CheckAndSubmitContattisearch(TheForm)
{
	//--- Contatto
		//  @@ UGO 16/06 
		if ((TheForm.txtDenominazione.value == ""))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
			TheForm.txtDenominazione.focus();
			return;
		 } 
		 //  ## UGO 16/06 
		if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
		{
			alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
			TheForm.txtDenominazione.focus();
			return;
		 } 
	//--- Controlli superati ---------------------------
	TheForm.submit();
}
//======================================================================================================================================
//=== fpMatch
//===========================================================================================================================================
//--- CheckAndSubmitMatch02_CPI(TheForm): controlla ed invia la pagina dei risultati della ricerca delle FP, con alcuni nominativi estratti [FP, 18 June 2003]
function CheckAndSubmitMatch02_CPI(TheForm, alt, SiglaProvincia)
{	var noSelected;
	var i;

	i= 1;
	noSelected = true;
	while ((noSelected) && (i < TheForm.chkSelected.length))
	{
		if (TheForm.chkSelected[i].checked) 
			{
			    noSelected = false; 
			}
		i++;
	}
	if (noSelected) 
	{
		if (alt==0){
		alert("Impossibile comporre le risposte per l'azienda richiedente:\nnon è stato selezionato nessun nominativo.\n\nSelezionarne almeno uno, grazie.");
		}
		else if (alt==1){
		alert("Impossibile inviare un SMS:\nnon è stato selezionato nessun nominativo.\n\nSelezionarne almeno uno, grazie.");
		}
		return;
	 }
	else
	{

	    if (SiglaProvincia == "MT") TheForm.action = "../fpMatch/fpMatch02Cpi.asp?step=seleziona&componi=1"; 
		TheForm.componirisposta.disabled=true;
		TheForm.submit(); 
	}
}

//@Eb (22160) aggiunta funzione
function CheckAndSubmitMatch02_Mail(TheForm, alt, SiglaProvincia) {
    var noSelected;
    var i;

    i = 1;
    noSelected = true;
    while ((noSelected) && (i < TheForm.chkSelected.length)) {
        if (TheForm.chkSelected[i].checked) {
            noSelected = false;
        }
        i++;
    }
    if (noSelected) {
        if (alt == 0) {
            alert("Impossibile inviare l'e-mail per l'azienda richiedente:\nnon è stato selezionato nessun nominativo.\n\nSelezionarne almeno uno, grazie.");
        }
        else if (alt == 1) {
        alert("Impossibile inviare l'e-mail:\nnon è stato selezionato nessun nominativo.\n\nSelezionarne almeno uno, grazie.");
        }
        return;
    }
    else {
        TheForm.hdnEmail.value = 1;
        TheForm.submit();
    }
} 
//======================================================================================================================================
//=== ESITI - Colloqui
//======================================================================================================================================
//--- CheckSection_Colloqui(index, optColloquio_0, optColloquio_1, ddmNoColloquio, optEsito_0,  optEsito_1, ddmEsitoNegativo): controlla la sezione "esiti del colloquio" di una persona [PM, MF, UG, AF, 18 June 2003]
function CheckSection_Colloqui(index, optColloquio_0, optColloquio_1, ddmNoColloquio, optEsito_0,  optEsito_1, ddmEsitoNegativo)
{	
	if ((optColloquio_0.checked == false) && ((optEsito_0.checked == true ) || (optEsito_1.checked == true ))) 
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nE' stato indicato l'esito del colloquio senza aver compilato\nil campo \"Colloquio sostenuto\".\n\nCorreggere, grazie.");
		optColloquio_0.focus();
		return 0;
	}
	if ((optColloquio_0.checked == true) && ((optEsito_0.checked == false) && (optEsito_1.checked == false)))
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nSe il colloquio è stato sostenuto, indicarne l'esito.");
		optEsito_0.focus();
		return 0;
	}
	if ((optColloquio_0.checked == true) && (ddmNoColloquio.selectedIndex > 0))
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nI dati inseriti sono incongruenti: è stato indicato che\nil colloquio è stato sostenuto ed è stato compilato il\nmotivo per cui non lo è stato.\n\nCorreggere, grazie.");
		ddmNoColloquio.focus();
		return 0;
	}
	if ((optColloquio_0.checked == true) && (optEsito_0.checked == true) && (ddmEsitoNegativo.selectedIndex > 0))
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nI dati inseriti sono incongruenti: è stato indicato che\nil colloquio è stato sostenuto con esito positivo ed è\nstato compilato il motivo per cui ha avuto esito\nnegativo.\n\nCorreggere, grazie.");
		ddmEsitoNegativo.focus();
		return 0;
	}
	if ((optColloquio_1.checked == true) && (ddmNoColloquio.value == 0)) 
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nSe il colloquio non è stato sostenuto,\nspecificare il motivo.");
		ddmNoColloquio.focus();
		return 0;
	}
	if ((optEsito_1.checked == true) && (ddmEsitoNegativo.value == 0)) 
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nSe l'esito del colloquio è stato negativo,\nspecificarne il motivo.");
		ddmEsitoNegativo.focus();
		return 0;
	}
	if ((optColloquio_1.checked == true) && ((optEsito_0.checked == true) || (optEsito_1.checked == true)))
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nI dati inseriti sono incongruenti: è stato indicato che\nil colloquio non è stato sostenuto ed è stato compilato\nl'esito del colloquio.\n\nCorreggere, grazie.");
		optColloquio_0.focus();
		return 0;
	}
	if ((optColloquio_1.checked == true) && (ddmEsitoNegativo.selectedIndex > 0))
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nI dati inseriti sono incongruenti: è stato indicato che il colloquio\nnon è stato sostenuto ed è stato compilato il motivo per cui ha\navuto esito negativo.\n\nCorreggere, grazie.");
		ddmEsitoNegativo.focus();
		return 0;
	}	
	//--- Controlli superati ---------------------------
	return 1;
}

//--- CheckAndSubmitInsertColloqui(TheForm, sectionNumber): controlla ed invia la pagina contenente gli esiti dei colloqui [PM, MF, UG, AF, 18 June 2003]
function ___CheckAndSubmitInsertColloqui(TheForm, sectionNumber)
{	
	var sectionIndex;

	for (sectionIndex = 0; sectionIndex < sectionNumber; sectionIndex++)
	{
//		TheForm.elements[indexelements].propertyName == "TheForm.optColloquio_"+sectionIndex+"[0].checked"

		/** La sezione "Esito dei colloqui" contiene:
		0. campo hidden id della scheda
		1. campo hidden modo della scheda
		
		Per ogni persona: 
			0. campo hidden id della persona
			1. option colloquio sostenuto
			2. option colloquio non sostenuto
			3. ddm motivo colloquio non sostenuto
			4. option esito colloquio positivo
			5. option esito colloquio negativo
			6. ddm motivo esito colloquio negativo
			7. campo note
		**/		
		if (!(CheckSection_Colloqui(sectionIndex, TheForm.elements[(sectionIndex*8)+3], TheForm.elements[(sectionIndex*8)+4], TheForm.elements[(sectionIndex*8)+5], TheForm.elements[(sectionIndex*8)+6], TheForm.elements[(sectionIndex*8)+7], TheForm.elements[(sectionIndex*8)+8]))) return;
	}
	//--- Controlli superati ---------------------------
	TheForm.submit();
}
//======================================================================================================================================
//=== IMPORT
//======================================================================================================================================
//--- CheckAndSubmitImportOnDemand(TheForm): controlla ed invia la pagina di import di una scheda di Netlabor [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitImportOnDemand(TheForm,userType)
{	//--- Tipo di scheda ---------------------------------------------------------------------------------------------------------------
	TheForm.txtCodiceFiscale.value = trim(TheForm.txtCodiceFiscale.value);
	TheForm.txtRagioneSociale.value = trim(TheForm.txtRagioneSociale.value);	

	if (userType != 1)
	{
			if ((TheForm.optTipoScheda[0].checked == false) && (TheForm.optTipoScheda[1].checked == false))
			{
				alert("Impossibile eseguire l'import: il campo \"Tipo di scheda\" è vuoto.\n\nSelezionare una delle due opzioni.");
				TheForm.optTipoScheda[0].focus();
				return;
			}
		//--- Lavoratore -------------------------------------------------------------------------------------------------------------------
		if (TheForm.optTipoScheda[0].checked == true)
		{	
			if (TheForm.txtCodiceFiscale.value == "")

			{
				alert("Impossibile eseguire l'import: il campo \"Codice Fiscale\" è vuoto.\n\nInserire il codice fiscale (per intero o in parte) del lavoratore di\ninteresse.");
				TheForm.txtCodiceFiscale.focus();
				return;
			} 
			if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length < 3))
			{
				alert("Impossibile eseguire la ricerca.\n\nInserire almeno tre caratteri\nnel campo \"Codice fiscale\".");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
		 	if ((TheForm.txtCodiceFiscale.value.length == 16) && (CheckCFIncrocio(TheForm.txtCodiceFiscale.value) == 0))
		 	{
				alert("Impossibile eseguire l'import: il codice fiscale inserito\nnon è formalmente corretto.\n\nCorreggerlo o indicarne solo una parte, grazie.");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
			if (TheForm.txtRagioneSociale.value != "") 
			{
				alert("Impossibile eseguire l'import: il campo \"Ragione sociale\"\nnon è vuoto.\n\n\Cancellarlo, grazie.");
				TheForm.txtRagioneSociale.focus();
				return;
			 } 
		}
		//--- Azienda ----------------------------------------------------------------------------------------------------------------------
		if (TheForm.optTipoScheda[1].checked == true)
		{
		 	if ((TheForm.txtCodiceFiscale.value == "")  && (TheForm.txtRagioneSociale.value == "")) 
		 	{
				alert("Impossibile eseguire la ricerca: i campi \"Codice fiscale/Partita IVA\" e\n\"Ragione sociale\" sono entrambi vuoti.\n\nPer eseguire la ricerca, compilare (per intero o in parte) almeno uno\ndei due campi.");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	} 
			if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length < 3))
			{
				alert("Impossibile eseguire la ricerca.\n\nInserire almeno tre caratteri nel campo\n\"Codice fiscale/Partita IVA\".");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
		    /* PM 20.11.2003 Il controllo è superfluo 
			//	if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length >= 11) && (!((CheckCFIncrocio(TheForm.txtCodiceFiscale.value) != 0) || (CheckPIVAIncrocio(TheForm.txtCodiceFiscale.value) != 0))))
	    	if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length != 11))
		 	{
				alert("Impossibile eseguire l'import: il dato inserito nel campo \"Codice fiscale/Partita IVA\"\nnon è formalmente corretto.\n\nCorreggerlo o indicarne solo una parte, grazie.");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
			*/
		 	if ((TheForm.txtRagioneSociale.value != "") && (TheForm.txtRagioneSociale.value.length < 2))
			{
				alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Ragione sociale\".");
				TheForm.txtRagioneSociale.focus();
				return;
			 } 	
		}
	}
	else
	{
		 	if ((TheForm.txtCodiceFiscale.value == "")  && (TheForm.txtRagioneSociale.value == "")) 
		 	{
				alert("Impossibile eseguire la ricerca: i campi \"Codice fiscale/Partita IVA\" e\n\"Ragione sociale\" sono entrambi vuoti.\n\nPer eseguire la ricerca, compilare (per intero o in parte) almeno uno\ndei due campi.");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	} 
			if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length < 3))
			{
				alert("Impossibile eseguire la ricerca.\n\nInserire almeno tre caratteri nel campo\n\"Codice fiscale/Partita IVA\".");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
		 	/* PM 20.11.2003 Il controllo è superfluo 
			//if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length >= 11) && (!((CheckCFIncrocio(TheForm.txtCodiceFiscale.value) != 0) || (CheckPIVAIncrocio(TheForm.txtCodiceFiscale.value) != 0))))
			if ((TheForm.txtCodiceFiscale.value != "") && (TheForm.txtCodiceFiscale.value.length != 11))
		 	{
				alert("Impossibile eseguire l'import: il dato inserito nel campo \"Codice fiscale/Partita IVA\"\nnon è formalmente corretto.\n\nCorreggerlo o indicarne solo una parte, grazie.");
				TheForm.txtCodiceFiscale.focus();
				return;
		 	}
			*/
		 	if ((TheForm.txtRagioneSociale.value != "") && (TheForm.txtRagioneSociale.value.length < 2))
			{
				alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Ragione sociale\".");
				TheForm.txtRagioneSociale.focus();
				return;
			 } 	
	}
	//--- Archivio NL ------------------------------------------------------------------------------------------------------------------
	/*if (TheForm.ddmSedeCPI.selectedIndex <= 0) 
	{
		alert("Impossibile eseguire l'import: il campo \"Archivio del CPI di ...\" è vuoto.\n\nSelezionare l'archivio di origine, grazie.");
		TheForm.ddmSedeCPI.focus();
		return;
	}*/
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}  		
  		
//======================================================================================================================================
//=== ADMIN - USER
//======================================================================================================================================
//--- CheckAndSubmitUser(TheForm): controlla ed invia la pagina Utente [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitUser(TheForm)
{	
	//--- Login ------------------------------------------------------------------------------------------------------------------------
	if (TheForm.txtLogin.value == "")
	{
		alert("Il campo \"Login\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtLogin.focus();
		return;
	}
	if ((TheForm.txtLogin.value != "") && (TheForm.txtLogin.value.length <= 2))
	{
		alert("Il campo \"Login\" deve contenere almeno\ntre caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtLogin.focus();
		return;
	}
	//--- Password ---------------------------------------------------------------------------------------------------------------------
	if (TheForm.txtPassword.value == "")
	{
		alert("Il campo \"Password\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtPassword.focus();
		return;
	}
	if ((TheForm.txtPassword.value != "") && (TheForm.txtPassword.value.length <= 2))
	{
		alert("Il campo \"Password\" deve contenere almeno\ntre caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtPassword.focus();
		return;
	}
	//--- Tipo -------------------------------------------------------------------------------------------------------------------------
	var tipoUtente
	tipoUtente = TheForm.ddmUtenti[TheForm.ddmUtenti.selectedIndex].value
	if (tipoUtente == 0)
	{
		alert("Il campo \"Tipo\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmUtenti.focus();
		return;
	}
	//--- Gruppo -----------------------------------------------------------------------------------------------------------------------
	if ((tipoUtente==1) && ((TheForm.txtGruppo.value != "") || (TheForm.hdnIdGruppo.value != "")))// Cittadino
	{
		alert("Per il tipo \"Cittadino\" non va specificato\nnessun gruppo.")
		TheForm.txtGruppo.value = ''
		TheForm.hdnIdGruppo.value = '';
		return;
	}
	if ((tipoUtente==4) && ((TheForm.txtGruppo.value != "") || (TheForm.hdnIdGruppo.value != "")))// Cittadino
	{
		alert("Per il tipo \"Amministratore\" non va specificato\nessun gruppo.")
		TheForm.txtGruppo.value = ''
		TheForm.hdnIdGruppo.value = '';
		return;
	}	
	if ((TheForm.hdnIdGruppo.value == "") && ((TheForm.txtGruppo.value != "")))
	{
		alert("Per compilare il campo \"Gruppo\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.")
		TheForm.txtGruppo.value = "";
		return;
	}	
	if (((tipoUtente == 2) || (tipoUtente == 5)) && ((TheForm.hdnIdGruppo.value == "")))
	{
		alert("Il campo \"Gruppo\" è obbligatorio per il tipo selezionato.\n\nCompilarlo usando i tasti \"Cerca\" o \"Cerca voce\", grazie.")
		return;
	}
	//--- Descrizione -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaDescrizione.value != "") && (TheForm.txaDescrizione.value.length > 100))
	{
		alert("Il campo \"Descrizione\" non può contenere più di 100 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaDescrizione.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}

//--- CheckAndSubmitUsersearch(TheForm): controlla ed invia la pagina di ricerca della scheda Utente [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitUsersearch(TheForm)
{	//--- Login ------------------------------------------------------------------------------------------------------------------------
	 if ((TheForm.txtLogin.value == "") && (TheForm.ddmUtenti.selectedIndex == 0) && (TheForm.txtGruppo.value == "")) 
	 {
		alert("Impossibile eseguire la ricerca: i campi \"Login\", \"Tipo\"\ne \"Gruppo\" sono vuoti.\n\nPer eseguire la ricerca, compilarne correttamente\nalmeno uno.");
		TheForm.txtLogin.focus();
		return;
	 } 
	 if ((TheForm.txtLogin.value != "") && (TheForm.txtLogin.value.length < 2))
	 {
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Login\".");
		TheForm.txtLogin.focus();
		return;
	 } 
	 //--- Gruppo ----------------------------------------------------------------------------------------------------------------------
	 var tipoUtente
	 tipoUtente = TheForm.ddmUtenti[TheForm.ddmUtenti.selectedIndex].value
	
	if ((TheForm.hdnIdGruppo.value == "") && ((TheForm.txtGruppo.value != "")))
	{
		alert("Per compilare il campo \"Gruppo\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.")
		TheForm.txtGruppo.value = "";
		return;
	}	

	 if ((tipoUtente==1) && ((TheForm.txtGruppo.value != "") || (TheForm.hdnIdGruppo.value != "")))// Cittadino
	 {
		alert("Per il tipo \"Cittadino\" non è possibile specificare\nnessun gruppo.")
		TheForm.txtGruppo.value = ''
		TheForm.hdnIdGruppo.value = '';
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}  

//======================================================================================================================================
//=== REPORT
//======================================================================================================================================
//--- CheckAndSubmitReportQual(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li richiesto [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportQual(TheForm)
{	
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
	//--- Data 'Dal' ----------------------------------	
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
	//---Data 'Al' ----------------------------------	
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	
	if (TheForm.txtNum.value == "")
	{
		alert('Non è stato specificato alcun numero di voci da visualizzare.\n\nIndicarlo, grazie.');
		TheForm.txtNum.focus();
		return;
	}
	//---Numero di voci ------------------------------
	if ((!CheckIntPosIncrocio(TheForm.txtNum.value)) || (TheForm.txtNum.value < 1))
	{
		alert('Il valore che indica il numero di voci massimo visualizzabile deve essere un numero maggiore o\nuguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
		TheForm.txtNum.focus();
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.submit();
}
function CheckAndSubmitReportStaOcc (TheForm)
{
	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

function CheckAndSubmitReportNAP(TheForm)
{
	if (TheForm.ddmGiornoAl == undefined) {
		if (TheForm.ddmAnnoAl.value == 0) {
			alert('Nel campo \"Anno\" non è stato specificato alcun valore.\nSi prega di inserire un anno, grazie.');
			TheForm.ddmAnnoAl.focus();
			return;
		}
	} else {
		ggA = TheForm.ddmGiornoAl.selectedIndex;
		mmA = TheForm.ddmMeseAl.selectedIndex;
		aaaaA = TheForm.txtAnnoAl.value;
				
		if (!(VerificaData(ggA,mmA,aaaaA)))
		{
			alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
			TheForm.ddmGiornoAl.focus();
			return;
		}
		if (!(VerificaDataOK(ggA,mmA,aaaaA)))
		{
			alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
			TheForm.ddmGiornoAl.focus();
			return;
		}
		if (TheForm.ddmGiornoDal != undefined) {
			ggD = TheForm.ddmGiornoDal.selectedIndex;
			mmD = TheForm.ddmMeseDal.selectedIndex;
			aaaaD = TheForm.txtAnnoDal.value;	
			if (!(VerificaData(ggD,mmD,aaaaD)))
			{
				alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			if (!(VerificaDataOK(ggD,mmD,aaaaD)))
			{
				alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			if (IsDateGreaterThan(ggD, mmD, aaaaD, ggA, mmA, aaaaA)) {
				alert ("La data specificata nel campo \"Dal\" è posteriore a quella\nspecificata nel campo \"Al\"");
				TheForm.ddmGiornoDal.focus();				
				return;
			}
			
		}
	}
	
	if (!CheckDDM(TheForm.ddmCpiCompetenza.selectedIndex))
	{
		alert("Il campo \"Competenza CPI\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmCpiCompetenza.focus();
		return;
	}
	/*if (TheForm.ddmSesso != undefined)
	{
		if (!CheckDDM(TheForm.ddmSesso.selectedIndex))
		{
			alert("Il campo \"Sesso\" è obbligatorio.\n\nSelezionare una voce, grazie.");
			TheForm.ddmSesso.focus();
			return;
		}
	}*/
	
	
	TheForm.submit();	
}
//function CheckAndSubmitReportStamob(TheForm)
function CheckAndSubmitReportStamob(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
		
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.submit();
}
//function CheckAndSubmitReportStamob2(TheForm)
function CheckAndSubmitReportStamob2(TheForm)
{

	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.submit();
}

//--- CheckAndSubmitReportOML(TheForm): controlla ed invia la pagina contenente il report OML [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportOML(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;

	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}

	//---CPI di Riferimento ----------------------------------
	/*
	if (!CheckDDM(TheForm.ddmCpiCompetenza.selectedIndex))
	{
		alert("Il campo \"Competenza CPI\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmCpiCompetenza.focus();
		return;
	}*/
	
	//--- Controlli superati ---------------------------
	TheForm.submit();	
}
//--- CheckAndSubmitReportOML(TheForm): controlla ed invia la pagina contenente il report OML [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportOML_st_doppio(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
		
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}

	//---CPI di Riferimento ----------------------------------
	/*
	if (!CheckDDM(TheForm.ddmCpiCompetenza.selectedIndex))
	{
		alert("Il campo \"Competenza CPI\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmCpiCompetenza.focus();
		return;
	}*/
	
	//--- Controlli superati ---------------------------
	TheForm.submit();	
}
//--- CheckAndSubmitReportOML(TheForm): controlla ed invia la pagina contenente il report OML [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportOML_st(TheForm)
{
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Report al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Report al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.reportExcel.disabled = false;
		return;
	}

	//---CPI di Riferimento ----------------------------------
	/*
	if (!CheckDDM(TheForm.ddmCpiCompetenza.selectedIndex))
	{
		alert("Il campo \"Competenza CPI\" è obbligatorio.\n\nSelezionare una voce, grazie.");
		TheForm.ddmCpiCompetenza.focus();
		return;
	}*/
	
	//--- Controlli superati ---------------------------
	TheForm.submit();	
}
//--- CheckAndSubmitReportReportAdempimentiAziconv (TheForm)
function CheckAndSubmitReportReportAdempimentiAziconv (TheForm)
{
	if (IsOptChkArrayEmpty(TheForm.optPeriodo))
		{
			alert ("Selezionare almeno una voce nel campo \"Seleziona per\".\n\nGrazie.")
			return;
		}
	
	if (TheForm.optPeriodo[0].checked)
	{
		var gg, mm, aaaa, ggAl, mmAl, aaaaAl;
		gg = TheForm.ddmGiornoDal.selectedIndex;
		mm = TheForm.ddmMeseDal.selectedIndex;
		aaaa = TheForm.ddmAnnoDal.value;
		ggAl = TheForm.ddmGiornoAl.selectedIndex;
		mmAl = TheForm.ddmMeseAl.selectedIndex;
		aaaaAl = TheForm.ddmAnnoAl.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmGiornoDal,0)) && !(IsDdmEmpty(TheForm.ddmMeseDal,0)) && !(IsDdmEmpty(TheForm.ddmAnnoDal,0)) && !(IsDdmEmpty(TheForm.ddmGiornoAl,0)) && !(IsDdmEmpty(TheForm.ddmMeseAl,0)) && !(IsDdmEmpty(TheForm.ddmAnnoAl,0)))
			{
				if ((IsDateNotValid(gg, mm, aaaa)) || (aaaa < 1900))
				{
					alert('La data \"dal\" nel campo \"periodo\" è errata o incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoDal.focus();
					return;
				}
				
				if ((IsDateNotValid(ggAl, mmAl, aaaaAl)) || (aaaaAl < 1900))
				{
					alert('La data \"al\" nel campo \"periodo\" è errata o incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoAl.focus();
					return;
				}
			}
		else
			{
				alert('Inserire tutte e due le date nel campo \"periodo dal ... al ...\" .\nGrazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
		if (IsDateGreaterThan(gg,mm,aaaa,ggAl,mmAl,aaaaAl))
					{
						alert ("La data di inizio specificata nel campo \"dal\" è successiva a quella inserita nel campo \"al\".\nCorreggerla, grazie.")
						TheForm.ddmGiornoDal.focus();
						return;
					}
	}
	
	if (TheForm.optPeriodo[1].checked)
	{
		if ((IsDdmEmpty(TheForm.ddmMesi,0)) || (IsDdmEmpty(TheForm.ddmAnnoM,0)))
		{
			alert ("La data specificata nel campo \"mese\" non è completa.\nCorreggerla, grazie.")
			TheForm.ddmMesi.focus();
			return;
		}
	}
	
	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}
//--- CheckAndSubmitReportQualDisp(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li disponibili [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportQualDisp(TheForm)
{
//---Numero di voci ------------------------------
	/*
	if ((!CheckIntPosIncrocio(TheForm.txtNum.value)) || (TheForm.txtNum.value < 1))
	{
		alert('Il valore che indica il numero di voci massimo visualizzabile\ndeve essere un numero maggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
		TheForm.txtNum.focus();
		return;
	}
	*/
	//
	if((!IsStringEmpty(TheForm.hdnCodComune_DIS.value) || !IsStringEmpty(TheForm.txtComune_DIS.value)) && IsStringEmpty(TheForm.hdnComune_DIS.value))
	{
		alert("Per inserire il comune di domicilio usare il tasto \"Cerca voce\", grazie.");
		TheForm.txtComune_DIS.focus();
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}
		
//--- CheckAndSubmitReportQualDispSA(TheForm):  [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportQualDispSA(TheForm)
{
//---Numero di voci ------------------------------
	if ((!CheckIntPosIncrocio(TheForm.txtNum.value)) || (TheForm.txtNum.value < 1))
	{
		alert('Il valore che indica il numero di voci massimo visualizzabile\ndeve essere un numero maggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
		TheForm.txtNum.focus();
		return;
	}
	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}
				
//--- CheckAndSubmitReportAzi(TheForm): controlla ed invia la pagina contenente il report qualifiche p.li disponibili [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportAzi(TheForm)
{
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
	//--- Data 'Dal' ----------------------------------	
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
	//---Data 'Al' ----------------------------------	
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}

	//@ UGO 19-02-2003
	dd_1 = TheForm.ddmGiornoDal.selectedIndex;
	mm_1 = TheForm.ddmMeseDal.selectedIndex;
	yyyy_1 = TheForm.txtAnnoDal.value;
	
	dd_2 = TheForm.ddmGiornoAl.selectedIndex;
	mm_2 = TheForm.ddmMeseAl.selectedIndex;
	yyyy_2 = TheForm.txtAnnoAl.value;
				
	if ((IsDateGreaterThan(dd_1, mm_1, yyyy_1, dd_2, mm_2, yyyy_2)))
	{
			alert("I dati inseriti sono incongruenti: il periodo \"dal\" è più recente\ndel periodo \"al\".\n\nCorreggere, grazie.");
			TheForm.txtAnnoDal.focus();
		return;
	
	}

/*
	if ((TheForm.txtAnnoDal.value != "") && (TheForm.txtAnnoAl.value != "") && (TheForm.txtAnnoDal.value > TheForm.txtAnnoAl.value))
	{
			alert("I dati inseriti sono incongruenti: il periodo \"dal\" è più recente\ndel periodo \"al\".\n\nCorreggere, grazie.");
			TheForm.txtAnnoDal.focus();
		return;
	}					
	
	if ((TheForm.txtAnnoDal.value != "") && (TheForm.txtAnnoAl.value != "") && (TheForm.txtAnnoDal.value == TheForm.txtAnnoAl.value) && (TheForm.ddmMeseDal.selectedIndex > TheForm.ddmMeseAl.selectedIndex))
	{
			alert("I dati inseriti sono incongruenti: il periodo \"dal\" è più recente\ndel periodo \"al\".\n\nCorreggere, grazie.");
			TheForm.ddmMeseDal.focus();
		return;
	}
*/
	//@ UGO 19-02-2003
	
	//---Azienda o Ateco91----------------------------------
	
	if ((TheForm.hdnIdAziendaRep.value == "") && (TheForm.hdnIdAttivita.value == ""))
	{
		alert("Attenzione! Selezionare, utilizzando la ricerca, l'Azienda o il Codice Attività \nper la/il quale si vuole effettuare la ricerca, grazie.")
		TheForm.txtAziendaRep.focus();
		return;			
	}
	
	if ((!(TheForm.hdnIdAziendaRep.value == "")) && (!(TheForm.hdnIdAttivita.value == "")))
	{
		alert("Attenzione! Sono stati selezionati sia l'Azienda che il Codice Attività.\nSelezionare solo uno dei due, grazie.")
		TheForm.txtAziendaRep.value="";
		TheForm.hdnIdAziendaRep.value="";
		TheForm.txtCodAttivita.value="";
		TheForm.txtAttivita.value="";
		TheForm.hdnIdAttivita.value = "";
		TheForm.txtAziendaRep.focus();
		return;			
	}
	
	//if (TheForm.hdnIdAziendaRep.value == "")
	//{
	//	alert("Il campo \"Azienda\" non è stato compilato o non è stato compilato correttamente.\n\nCompilarlo utilizzando la ricerca, grazie.")
		
		//	TheForm.txtAziendaRep.focus();
		//	return;
		
	//}
	// Controllo Codice attività (ATECO 91) e controllo sull'uso della procedura "Cerca" e "Cerca voce"
	//if ((TheForm.hdnIdAttivita.value == ""))
	//{
		//alert('I campi del \"Codice attività\" sono obbligatori.\nSi prega di compilarli utilizzando i tasti \n\"Cerca - Codice Attività\" o \"Cerca voce - Codice Attività\",\ngrazie.');
		//TheForm.txtCodAttivita.value="";
		//TheForm.txtAttivita.value="";
		//TheForm.txtCodAttivita.focus();
		//return;
	//}
	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}
		
//--- CheckAndSubmitReportSegnalazioni(TheForm): controlla ed invia la pagina contenente il report Segnalazioni richiesto [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportSegnalazioni(TheForm)
{
	if ((TheForm.optSegnalazioni[0].checked==false) && (TheForm.optSegnalazioni[1].checked==false) && (TheForm.optSegnalazioni[2].checked==false))
		{
			alert("Non è stata selezionata alcuna opzione.\n\nSpecificare per quale categoria si vuole visualizzare il report, grazie.");
				TheForm.optSegnalazioni[0].focus();
				return;	
		}
		
	if ((TheForm.optSegnalazioni[0].checked)) 
	{			
		//---Azienda----------------------------------
		if (TheForm.hdnIdAziendaRep.value == "")
		{
			alert("Il campo \"Azienda\" non è stato compilato o non è stato compilato correttamente.\n\nCompilarlo utilizzando la ricerca, grazie.");
			
				TheForm.txtAziendaRep.focus();
				return;	
		}
	}
	
	if (TheForm.optSegnalazioni[2].checked)  
	{
		if (!TheForm.txtNum2.value == "") 
		{
			//---Numero di voci ------------------------------
			if ((!CheckIntPosIncrocio(TheForm.txtNum2.value)) || (TheForm.txtNum2.value < 1))
			{
				alert('Il valore che indica il numero di voci massimo visualizzabile\ndeve essere un numero maggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
				TheForm.txtNum2.focus();
				return;
			}
		}
	}

	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

function CheckAndSubmitReportAziConv(TheForm)
{
	var giornoPrimaDel, mesePrimaDel, annoPrimaDel, giornoDopoIl, meseDopoIl, annoDopoIl;
	giornoPrimaDel = TheForm.ddmGGDataPrimaDel.selectedIndex;
	mesePrimaDel = TheForm.ddmMMDataPrimaDel.selectedIndex;
	annoPrimaDel = TheForm.txtAADataPrimaDel.value;
	giornoDopoIl = TheForm.ddmGGDataDopoIl.selectedIndex;
	meseDopoIl = TheForm.ddmMMDataDopoIl.selectedIndex;
	annoDopoIl = TheForm.txtAADataDopoIl.value;
	
	if ((!IsDdmEmpty(TheForm.ddmGGDataPrimaDel, 0))||(!IsDdmEmpty(TheForm.ddmMMDataPrimaDel, 0))||(!IsStringEmpty(annoPrimaDel)))
	{
		if (!(VerificaDataOK(giornoPrimaDel,mesePrimaDel,annoPrimaDel))||(annoPrimaDel <= 1900))
		{
			alert('La data specificata nel campo \"Dal:\" non è corretta.\nSi prega di compilare in modo completo e corretto, grazie.');
			TheForm.ddmGGDataPrimaDel.focus();
			return;
		}
	}
	
	if ((!IsDdmEmpty(giornoDopoIl, 0))||(!IsDdmEmpty(meseDopoIl, 0))||(!IsStringEmpty(annoDopoIl))||(annoDopoIl <= 1900))
	{
		if (!(VerificaDataOK(giornoDopoIl,meseDopoIl,annoDopoIl)))
		{
			alert('La data specificata nel campo \"Al:\" non è corretta.\nSi prega di compilare in modo completo e corretto, grazie.');
			TheForm.ddmGGDataDopoIl.focus();
			return;
		}
	}
	
	if ((!IsDdmEmpty(giornoPrimaDel, 0))&&(!IsDdmEmpty(mesePrimaDel, 0))&&(!IsStringEmpty(annoPrimaDel))&&(!IsDdmEmpty(giornoDopoIl, 0))&&(!IsDdmEmpty(meseDopoIl, 0))&&(!IsStringEmpty(annoDopoIl)))
	{
		if (IsDateGreaterThan(giornoPrimaDel,mesePrimaDel,annoPrimaDel,giornoDopoIl,meseDopoIl,annoDopoIl))
			{
				alert ("La data \"Dal:\" nel campo \"Data convenzione\" è successiva a quella inserita nel campo \"Al:\".\nCorreggerla, grazie.")
				TheForm.ddmGGDataDopoIl.focus();
				return;
			}
	}

	//--- Controlli superati ---------------------------
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}
		
		//*** CheckAndSubmitReportQual controlla ed invia la pagina contenente il report qualifiche p.li richiesto
	/*	function CheckAndSubmitReportQual(TheForm)
		{	
			ggD = TheForm.ddmGiornoDal.selectedIndex;
			mmD = TheForm.ddmMeseDal.selectedIndex;
			aaaaD = TheForm.txtAnnoDal.value;
			//--- Data 'Dal' ----------------------------------	
			if (!(VerificaData(ggD,mmD,aaaaD)))
			{
				alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nInserire una data, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
			if (!(VerificaDataOK(ggD,mmD,aaaaD)))
			{
				alert('La data specificata nel campo \"Dal\" non è corretta.\nCompilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
			ggA = TheForm.ddmGiornoAl.selectedIndex;
			mmA = TheForm.ddmMeseAl.selectedIndex;
			aaaaA = TheForm.txtAnnoAl.value;
			//---Data 'Al' ----------------------------------	
			if (!(VerificaData(ggA,mmA,aaaaA)))
			{
				alert('Nel campo \"Al\" non è stata specificata alcuna data.\nInserire una data, grazie.');
				TheForm.ddmGiornoAl.focus();
				return;
			}
			if (!(VerificaDataOK(ggA,mmA,aaaaA)))
			{
				alert('La data specificata nel campo \"Al\" non è corretta.\nCompilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoAl.focus();
				return;
			}
			
			if (TheForm.txtNum.value == "")
			{
				alert('Non è stato specificato alcun numero di voci da visualizzare.\n\nIndicarlo, grazie.');
				TheForm.txtNum.focus();
				return;
			}
			//---Numero di voci ------------------------------
			if ((!CheckIntPosIncrocio(TheForm.txtNum.value)) || (TheForm.txtNum.value < 1))
			{
				alert('Il valore che indica il numero di voci massimo visualizzabile deve essere un numero maggiore o\nuguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
				TheForm.txtNum.focus();
				return;
			}
			
			
			//--- Controlli superati ---------------------------
			TheForm.submit();
			
		}
		
		
		//*** CheckAndSubmitReportQualDisp controlla ed invia la pagina contenente il report qualifiche p.li?????A?????d??A?? disponibili
		function CheckAndSubmitReportQualDisp(TheForm)
		{
		//---Numero di voci ------------------------------
			if ((!CheckIntPosIncrocio(TheForm.txtNum.value)) || (TheForm.txtNum.value < 1))
			{
				alert('Il valore che indica il numero di voci massimo visualizzabile\ndeve essere un numero maggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.');
				TheForm.txtNum.focus();
				return;
			}
			
			
			//--- Controlli superati ---------------------------
			TheForm.submit();
		
		}
		
		//*** CheckAndSubmitReportQualDisp controlla ed invia la pagina contenente il report qualifiche p.li disponibili
		function CheckAndSubmitReportAzi(TheForm)
		{
			ggD = TheForm.ddmGiornoDal.selectedIndex;
			mmD = TheForm.ddmMeseDal.selectedIndex;
			aaaaD = TheForm.txtAnnoDal.value;
			//--- Data 'Dal' ----------------------------------	
			if (!(VerificaData(ggD,mmD,aaaaD)))
			{
				alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nInserire una data, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
			if (!(VerificaDataOK(ggD,mmD,aaaaD)))
			{
				alert('La data specificata nel campo \"Dal\" non è corretta.\nCompilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
			ggA = TheForm.ddmGiornoAl.selectedIndex;
			mmA = TheForm.ddmMeseAl.selectedIndex;
			aaaaA = TheForm.txtAnnoAl.value;
			//---Data 'Al' ----------------------------------	
			if (!(VerificaData(ggA,mmA,aaaaA)))
			{
				alert('Nel campo \"Al\" non è stata specificata alcuna data.\nInserire una data, grazie.');
				TheForm.ddmGiornoAl.focus();
				return;
			}
			if (!(VerificaDataOK(ggA,mmA,aaaaA)))
			{
				alert('La data specificata nel campo \"Al\" non è corretta.\nCompilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoAl.focus();
				return;
			}
			//---Azienda----------------------------------
			if (TheForm.hdnIdAziendaRep.value == "")
			{
				alert("Il campo \"Azienda\" non è stato compilato o non è stato compilato correttamente.\n\nCompilarlo utilizzando la ricerca, grazie.")
				
					TheForm.txtAziendaRep.focus();
					return;
				
			}
			//--- Controlli superati ---------------------------
			TheForm.submit();
		}*/
		
		
//======================================================================================================================================
//=== TUTOR 
//======================================================================================================================================
//--- CheckAndSubmitTutor(TheForm): controlla ed invia la scheda Tutor [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitTutor(TheForm)
{	
	//--- Denominazione ----------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtDenominazione.value)))
	{
		alert("Il campo \"Denominazione\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	if (TheForm.txtDenominazione.value.length < 2)
	{
		alert("Il campo \"Denominazione\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	//--- Tipologia ----------------------------------------------------------------------------------------------------------------
	if (!(CheckBlankIncrocio(TheForm.txtTipologia.value)))
	{
		alert("Il campo \"Tipologia\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtTipologia.focus();
		return;
	}
	if (TheForm.txtTipologia.value.length < 2)
	{
		alert("Il campo \"Tipologia\" deve contenere almeno\ndue caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtTipologia.focus();
		return;
	}
	//--- Sede ----------------------------------------------------------------------------------------------------------------
	if (!CheckIndirizzo(TheForm.txtLocalitaTutor.value, TheForm.txtProvTutor.value, TheForm.txtViaTutor.value, TheForm.txtNumeroTutor.value, TheForm.txtCapTutor.value))
	{
		alert("Tutti i campi della sezione \"Indirizzo\", fatta eccezione per\nil campo \"N°\", sono obbligatori.\nCompilarli correttamente, usando per i campi \"Località\"\ne \"Prov.\" il tasto \"Cerca\".\n\nGrazie.");
		TheForm.txtLocalitaTutor.focus();
		return;
	}
	if ((TheForm.hdnIdLocalitaTutor.value == "") && ((TheForm.txtLocalitaTutor.value != "")))
	{
		alert("Per compilare il campo \"Località\" della sezione \"Indirizzo\" è obbligatorio\nutilizzare il tasto \"Cerca\", grazie.");
		TheForm.txtLocalitaTutor.value="";
		TheForm.txtProvSedeTutor.value="";
		TheForm.txtCapSedeTutor.value="";
		TheForm.txtLocalitaTutor.focus();
		return;
	}
	//--- CAP
	//--- Recapiti telefonici ----------------------------------------------------------------------------------------------------------
	//--- Telefono 
	if (!(CheckBlankIncrocio(TheForm.txtTel.value)))
	{
		alert("Il campo \"Recapiti telefonici - Tel.\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtTel.focus();
		return;
	}
	//--- Telefono = numero telefonico
	//--- Fax = numero telefonico
	//--- E-mail -----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtMIUR.value != "") && (!CheckMailIncrocio(TheForm.txtMIUR.value)))
	{
		alert("L'indirizzo inserito nel campo \"E-mail intranet (MIUR)\" non è valido.\n\nCorreggerlo, grazie.");
		TheForm.txtMIUR.focus();
		return;
	}
	if ((TheForm.txtMail.value != "") && (!CheckMailIncrocio(TheForm.txtMail.value)))
	{
		alert("L'indirizzo inserito nel campo \"E-mail internet\" non è valido.\n\nCorreggerlo, grazie.");
		TheForm.txtMail.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitTutorsearch(TheForm):  [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitTutorsearch(TheForm)
{
	 if ((TheForm.txtDenominazione.value == "") && (TheForm.txtTipologia.value == "")) 
	 {
		alert("Impossibile eseguire la ricerca: i campi \"Denominazione\"\ne \"Tipologia\" sono entrambi vuoti.\n\nPer eseguire la ricerca, compilare correttamente\nalmeno uno dei due.");
		TheForm.txtDenominazione.focus();
		return;
	 } 
	 if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 2))
	 {
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Denominazione\".");
		TheForm.txtDenominazione.focus();
		return;
	 }
	 if ((TheForm.txtTipologia.value != "") && (TheForm.txtTipologia.value.length < 2))
	 {
		alert("Impossibile eseguire la ricerca.\n\nInserire almeno due caratteri\nnel campo \"Tipologia\".");
		TheForm.txtTipologia.focus();
		return;
	 } 

	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}
//======================================================================================================================================
//=== Progetti
//======================================================================================================================================
//--- CheckAndSubmitSelectProgetto(TheForm):  [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitSelectProgetto(TheForm)
{	
	if (!CheckRadio(TheForm.optIdTipo))
	{
		alert("Il campo \"Tipologia dei piani d'azione\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		TheForm.optIdTipo[0].focus();
		return;
	}
	if (TheForm.optIdTipo[0].checked==true && TheForm.ddmprogetti0.value=="0")
	{
		alert("E\' obbligatorio selezionare una voce del menu corrispondente\nall'opzione selezionata, grazie.");
		TheForm.ddmprogetti0.focus();
		return;
	}
	if (TheForm.optIdTipo[2].checked==true && TheForm.ddmprogetti2.value=="0")
	{
		alert("E\' obbligatorio selezionare una voce del men&ugrave selezionato, grazie.");
		TheForm.ddmprogetti2.focus();
		return;
	}
	if (TheForm.optIdTipo[3].checked==true && TheForm.ddmprogetti3.value=="0")
	{
		alert("E\' obbligatorio selezionare una voce del men&ugrave selezionato, grazie.");
		TheForm.ddmprogetti3.focus();
		return;
	}
	if (TheForm.optIdTipo[1].checked==true)
	{
		alert("Funzionalità non disponibile nella versione demo.\n\nSelezionare l'opzione \"Formazione\".");
		TheForm.optIdTipo[0].focus();
		return;
	}
	if (TheForm.optIdTipo[2].checked==true)
	{
		alert("Funzionalità non disponibile nella versione demo.\n\nSelezionare l'opzione \"Formazione\".");
		TheForm.optIdTipo[0].focus();
		return;
	}
	if (TheForm.optIdTipo[3].checked==true)
	{
		alert("Funzionalità non disponibile nella versione demo.\n\nSelezionare l'opzione \"Formazione\".");
		TheForm.optIdTipo[0].focus();
		return;
	}
	if (TheForm.optIdTipo[4].checked==true)
	{
		alert("Funzionalità non disponibile nella versione demo.\n\nSelezionare l'opzione \"Formazione\".");
		TheForm.optIdTipo[0].focus();
		return;
	}
	if (TheForm.optIdTipo[5].checked==true)
	{
		alert("Funzionalità non disponibile nella versione demo.\n\nSelezionare l'opzione \"Formazione\".");
		TheForm.optIdTipo[0].focus();
		return;
	}
/*
	//--- Controllo per la Versione Dimostrativa FROSINONE LAVORO-----------------------------------------------------------------
	if ((TheForm.optIdTipo[1].checked) || (TheForm.optIdTipo[2].checked) || (TheForm.optIdTipo[3].checked) || (TheForm.optIdTipo[4].checked) || (TheForm.optIdTipo[6].checked) || (TheForm.optIdTipo[7].checked) || (TheForm.optIdTipo[8].checked))
	{
		alert("Opzione non valida nella versione dimostrativa.\nI corsi disponibili sono:\n\n - Corso Curriculare Diurno Istruzione\n - Corso IFTS\n");
		TheForm.optIdTipo[1].focus();
		return;
	}
*/
	TheForm.avanti.disabled=true;
	TheForm.submit();
} 
//======================================================================================================================================
//=== CORSO
//======================================================================================================================================
//--- CheckAndSubmitSelectCorso(TheForm):  [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitSelectCorso(TheForm)
{	
	if (!CheckRadio(TheForm.optIdTipo))
	{
		alert("Il campo \"Corso\" è obbligatorio.\n\nSelezionare un\'opzione, grazie.");
		//TheForm.optIdTipo[0].focus();
		return;
	}

/*
	//--- Controllo per la Versione Dimostrativa FROSINONE LAVORO-----------------------------------------------------------------
	if ((TheForm.optIdTipo[1].checked) || (TheForm.optIdTipo[2].checked) || (TheForm.optIdTipo[3].checked) || (TheForm.optIdTipo[4].checked) || (TheForm.optIdTipo[6].checked) || (TheForm.optIdTipo[7].checked) || (TheForm.optIdTipo[8].checked))
	{
		alert("Opzione non valida nella versione dimostrativa.\nI corsi disponibili sono:\n\n - Corso Curriculare Diurno Istruzione\n - Corso IFTS\n");
		TheForm.optIdTipo[1].focus();
		return;
	}
*/
	TheForm.avanti.disabled=true;
	TheForm.submit();
} 

//--- CheckAndSubmitCorso(TheForm): controlla e invia la scheda del corso [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCorso(TheForm)
{	
	var tipoCorso = TheForm.hdnIdTipo.value; //recupero l'id tipo corso
	var msgDenominazione;
	var msgDurata;
	var msgTitolo;

	switch (tipoCorso)
	{
		case "1":	msgDenominazione = "Denominazione corso/indirizzo studio"; msgDurata = "Durata anni"; msgTitolo = "Titolo rilasciato"; break;	// Corso Curriculare Diurno Istuzione
		case "2":	msgDenominazione = "Denominazione corso studio"; msgDurata = "Durata in ore"; msgTitolo = "Titolo rilasciato"; break;   // Corso Curriculare Diurno Formazione Professionale
		case "3":	msgDenominazione = "Denominazione corso/indirizzo studio"; msgDurata = "Durata anni"; msgTitolo = "Titolo rilasciato"; break;  // Corso Serale (SIRIO)
		case "4":	msgDenominazione = "Denominazione corso/indirizzo studio"; msgDurata = "Durata anni"; msgTitolo = "Titolo rilasciato"; break;  // Corso CTP EDA 
		case "5":	msgDenominazione = "Denominazione corso"; msgDurata = "Durata ore"; msgTitolo = "Attestato rilasciato"; break;  // Attività Collegate al Centro EDA
		case "6":	msgDenominazione = "Denominazione corso/indirizzo studio"; msgDurata = "Durata ore"; msgTitolo = "Titolo rilasciato"; break;  // Corso IFTS
		case "7":	msgDenominazione = "Settore"; msgDurata = "Durata ore"; break;  // Corso Apprendistato
		case "8":	msgDenominazione = "Denominazione corso"; msgDurata = "Durata ore"; msgTitolo = "Titolo rilasciato"; break;  // Corso FSE (Ob. 3)
		case "9":	msgDenominazione = "Denominazione corso"; msgDurata = "Durata ore"; msgTitolo = "Titolo rilasciato"; break;  // Corso ECDL
		case "10":  msgDenominazione = "Denominazione corso studio"; msgDurata = "Durata ore"; msgTitolo = "Titolo rilasciato"; break;  // 
	}
	
	//alert("Denom: " + msgDenominazione +"\nDurata: "+ msgDurata + "\nTitolo: " + msgTitolo )
	//--- Campo Denominazione Corso obbligatorio e maggiore di 3 caratteri
	if (TheForm.txtDenominazione.value == "")
	{
		alert("Il campo \"" + msgDenominazione + "\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length < 3))
	{
		alert("Il campo \"" + msgDenominazione + "\" deve contenere almeno\ntre caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}

	//--- Campo Tipolivello obbligatorio
	if (TheForm.hdnIdTipo.value == 2)
	{
		if (TheForm.ddmLivelloCorsi.value <= 0)
		{
			alert("Il campo \"Livello corsi\" è obbligatorio.\n\nCompilarlo, grazie.");
			TheForm.ddmLivelloCorsi.focus();
			return;	
		}	
	}	
	
	//--- Campo Durata Corso obbligatorio e valore intero
	if (TheForm.txtDurata.value == "")
	{
		alert("Il campo \"" + msgDurata + "\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtDurata.focus();
		return;
	}
	if ((!CheckIntPosIncrocio(TheForm.txtDurata.value)) || (TheForm.txtDurata.value < 1))
	{	
		alert("Il campo \"" + msgDurata + "\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtDurata.focus();
		return;
	}
	
	//--- Campo Titolo Corso obbligatorio e maggiore di 3 caratteri
	if (TheForm.hdnIdTipo.value != 7) // se il corso NON è apprendistato controlla anche il campo Titolo Corso
	{
		if (TheForm.txtTitolo.value == "")
		{
			alert("Il campo \"" + msgTitolo + "\" è obbligatorio.\n\nCompilarlo, grazie.");
			TheForm.txtTitolo.focus();
			return;
		}
		if ((TheForm.txtTitolo.value != "") && (TheForm.txtTitolo.value.length < 3))
		{
			alert("Il campo \"" + msgTitolo + "\" deve contenere almeno\ntre caratteri.\n\nCorreggerlo, grazie.");
			TheForm.txtTitolo.focus();
			return;
		}
	}
	
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.salva.disabled=true;
	TheForm.submit();
} 

//--- CheckAndSubmitSearchCorso(TheForm): controlla i campi inseriti nella maschera di ricerca [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitSearchCorso(TheForm)
{
	//--- Campo Denominazione Corso se compilato maggiore di 3 caratteri
	if ((TheForm.txtDenominazione.value != "") && (TheForm.txtDenominazione.value.length <= 2))
	{
		alert("Il campo \"Denominazione\" deve contenere almeno\ntre caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txtDenominazione.focus();
		return;
	}
	//--- Campo Durata Corso se compilato deve valore intero
	if ((TheForm.txtDurata.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurata.value)) || (TheForm.txtDurata.value < 1 )))
	{
		alert("Il campo \"Durata\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtDurata.focus();
		return;
	}
	//--- Coerenza tra Campo Durata e Tipo Durata
/*	if (CheckRadio(TheForm.optTipoDurata) && (TheForm.txtDurata.value == ""))
	{
		alert("Se il campo \"Tipo Durata\" è selezionato, il campo \"Durata\"\ndeve contenere un numero.\n\nCompilare il campo in modo corretto, grazie.");
		var i
		for (i = 0; i< TheForm.optTipoDurata.length; i++)
		{
			TheForm.optTipoDurata[i].checked = false;
		}
		TheForm.txtDurata.focus();		
		return;
	}
*/
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
}
//======================================================================================================================================
//=== Chiamata art 16 e Delibera 57/99 
//======================================================================================================================================		
//--- CheckAndSubmitCA16_1(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della CA16 [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCA16_1(TheForm, userType)
{	
	//--- Azienda ----------------------------------------------------------------------------------------------------------------------
	if (userType == 3) // CPI
	{
		if ((TheForm.txtAzienda.value != "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Per compilare il campo \"Azienda richiedente\"\nè obbligatorio utilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
		if (TheForm.hdnIdAzienda.value == "")
		{
			if (!(confirm("Il campo \"Azienda richiedente\" non è stato compilato.\n\nSi desidera fare una richiesta interna?")))
			{
				TheForm.txtAzienda.focus();
				return;
			}
			else
			{
				TheForm.hdnIdAzienda.value = "0";
			}
		}
	}
	//--- Data di scadenza -------------------------------------------------------------------------------------------------------------
	var gg, mm, aaaa;
	
	gg = TheForm.ddmGiornoScadenza.selectedIndex;
	mm = TheForm.ddmMeseScadenza.selectedIndex;
	aaaa = TheForm.txtAnnoScadenza.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Scadenza della richiesta\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoScadenza.focus();
		return;
	}
	//--- Numero lavoratori ------------------------------------------------------------------------------------------------------------
	if (TheForm.txtNLavoratori.value == "")
	{
		alert("Il campo \"N° lavoratori\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtNLavoratori.focus()//====;
		return;
	}
	if ((!CheckIntPosIncrocio(TheForm.txtNLavoratori.value)) || (TheForm.txtNLavoratori.value < 1))
	{
		alert("Il campo \"N° lavoratori\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	//--- Sede di lavoro ---------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdLocalitaSedeLavoro.value == "") && (TheForm.txtLocalitaSedeLavoro.value != ""))
	{
		alert("Per compilare il campo \"Sede di lavoro\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtLocalitaSedeLavoro.value="";
		TheForm.txtLocalitaSedeLavoro.focus();
		return;
	}
	//--- Qualifica professionale ------------------------------------------------------------------------------------------------------
	if ((TheForm.txtQualISTAT.value != "") && (TheForm.hdnIdQualISTAT.value == ""))
	{
		alert("Per compilare il campo \"Qualifica professionale\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	if (TheForm.hdnIdQualISTAT.value == "") 
	{
		alert("Il campo \"Qualifica professionale\" è obbligatorio.\n\nCompilarlo utilizzando i tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	//--- Se è compilata la qualifica professionale, deve essere selezionato almeno uno tra "Interessato a " e "Esp. pregressa"
	if (!((TheForm.chkInteressatoA.checked) || (TheForm.chkEsperAutocertif.checked)))
	{
		message = "Selezionare, nel campo \"Qualifica professionale\", la voce \"Interessato a\" \n";
		message += "e/o la voce \"Esperienza pregressa\", grazie.";
		alert(message);
		TheForm.chkInteressatoA.focus();
		return;
	}
	//--- Esperienza pregressa e campi associati
	if ((TheForm.chkEsperAutocertif.checked == false) && ((TheForm.ddmDurataMesi.selectedIndex > 0) || (TheForm.txtDurataAnni.value != "")))
	{
		alert("I dati inseriti sono incongruenti: per compilare la sezione \"Durata minima\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
		TheForm.chkEsperAutocertif.focus();
		return;
	}
	if ((TheForm.chkEsperAutocertif.checked == false) && (TheForm.txtNumAnni.value != ""))
	{
		alert("I dati inseriti sono incongruenti: per compilare la sezione \"Svolta negli ultimi ... anni\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
		TheForm.chkEsperAutocertif.focus();
		return;
	}
	//--- Anni durata: numero
	if ((TheForm.txtDurataAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurataAnni.value)) || (TheForm.txtDurataAnni.value < 1)))
	{
		alert("Il campo \"Durata minima - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtDurataAnni.focus();
		return;
	}
	//--- Anni recenti: numero
	if ((TheForm.txtNumAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtNumAnni.value)) || (TheForm.txtNumAnni.value < 1)))
	{
		alert("Il campo \"Svolta negli ultimi - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNumAnni.focus();
		return;
	}
	//--- Titolo di studio -------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdTitoloStudio.value == "") && (TheForm.txtTitoloStudio.value != ""))
	{
		alert("Per compilare il campo \"Titolo di studio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtTitoloStudio.value="";
		TheForm.txtTitoloStudio.focus();
		return;
	}
	//--- Età --------------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEtaMin.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMin.value)) || (TheForm.txtEtaMin.value < 1) || ((TheForm.txtEtaMin.value > 99))))
	{
		alert("Il campo \"Età - minima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMin.focus();
		return;
	}
	if ((TheForm.txtEtaMax.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMax.value)) || (TheForm.txtEtaMax.value < 1) || ((TheForm.txtEtaMax.value > 99))))
	{
		alert("Il campo \"Età - massima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
	if ((TheForm.txtEtaMin.value != "") && (TheForm.txtEtaMax.value != "") && (TheForm.txtEtaMax.value <= TheForm.txtEtaMin.value))
	{
		alert("I dati inseriti sono incongruenti: il campo \"Età - massima\" deve contenere\nun numero maggiore del numero indicato nel campo \"Età - minima\".\n\nCorreggere, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
 	//--- Sede di lavoro e domicilio ---------------------------------------------------------------------------------------------------	
	// Controllo compilazione della sede di lavoro se è selezionato città o provincia del domicilio
	var radioSelected = false;
	{
		if (((TheForm.optDomicilio[0].checked) || (TheForm.optDomicilio[2].checked)) && (TheForm.hdnIdLocalitaSedeLavoro.value == ""))
		{
			alert("Se si seleziona l\'opzione \"Città\" o \"Provincia\" del campo \"Domicilio\",\nè obbligatorio compilare il campo \"Sede di lavoro\".\n\nGrazie.");
			TheForm.txtLocalitaSedeLavoro.focus();
			return;
		}
	}
	//--- Controllo compilazione del campo comune solo se è selezionato provincia del domicilio
	if ((TheForm.hdnIdLocalitaResid.value != "") && (!(TheForm.optDomicilio[2].checked)))
	{
		alert("Se si compila il campo \"Comune\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Provincia\".\n\nGrazie.");
		TheForm.optDomicilio[2].focus();
		return;
	}
	//--- Comune
	if ((TheForm.hdnIdLocalitaResid.value == "") && (TheForm.txtLocalitaResid.value != ""))
	{
		alert("Per compilare il campo \"Comune\" della sezione \"Domicilio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtLocalitaResid.value="";
		TheForm.txtLocalitaResid.focus();
		return;
	}
		if (!(TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex > 0))
	{
		alert("Se si seleziona una voce del menu a discesa relativo alla \"Circoscrizione\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Circoscrizione\".\n\nGrazie.");
		TheForm.txtLocalitaResid.value = ""
		TheForm.ddmCircoscrizione.focus();
		return;
	}

		
		if ((TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex == 0))
	{
		alert("Se si seleziona l'opzione \"Circoscrizione\" della sezione \"Domicilio\", è obbligatorio\n selezionare una voce nel menu a discesa relativo, grazie.");
		TheForm.ddmCircoscrizione.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCA16_2(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della CA16 [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCA16_2(TheForm)
{	
	//--- Campi obbligatori ------------------------------------------------------------------------------------------------------------
	// ---
	//--- Altri controlli --------------------------------------------------------------------------------------------------------------
	// Conoscenze informatiche: compilazione ordinata, due o più tendine non devono contenere lo stesso valore ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCA16_3(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della CA16 [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCA16_3(TheForm)
{	
	//--- Part time --------------------------------------------------------------------------------------------------------------------
	if ((TheForm.ddmFasciaOraria.selectedIndex > 0) && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - Fascia oraria\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}
	if ((TheForm.txtPartTimeNOre.value != "") && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - N° ore\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}

	if ((TheForm.txtPartTimeNOre.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPartTimeNOre.value)) || (TheForm.txtPartTimeNOre.value < 1) || ((TheForm.txtPartTimeNOre.value > 32))))
	{
		alert("Il campo \"Part time - N° ore\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 32.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtPartTimeNOre.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCA16_4(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della Chiamata Art16 [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCA16_4(TheForm)
{	
	//--- Agevolazioni -----------------------------------------------------------------------------------------------------------------
	//--- Compilazione ordinata
	if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni2.selectedIndex > 0))
	{
		alert("E' stata selezionata la seconda opzione della sezione\n\"Agevolazioni\" senza selezionare la prima.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni2.selectedIndex;
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione \"Agevolazioni\"\nsenza selezionare la prima e la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione\n\"Agevolazioni\" senza selezionare la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	//--- Due voci uguali
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni2.selectedIndex))
	{
		alert("La seconda opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex)) 
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni2.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex))
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla seconda.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}
	//--- Note ----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//======================================================================================================================================
//=== ESITI - AVVIAMENTI A SELEZIONE
//======================================================================================================================================
//--- CheckSection_ColloquiArt16(index, optEsito_0,  optEsito_1): controlla la sezione "esiti" di un avviamento a selezione [MF 20 July 2004]
function CheckSection_ColloquiArt16(index, optEsito_0,  optEsito_1)
{	
	if ((optEsito_0.checked == false) && (optEsito_1.checked == false)) 
	{
		alert("--- Nominativo N° " + (index+1) + " ---\n\nNon è stata indicata l'idoneità del lavoratore.\n\nCompletare la compilazione, grazie.");
		optEsito_0.focus();
		return 0;
	}
	//--- Controlli superati ---------------------------
	return 1;
}
//======================================================================================================================================
//=== CHIAMATA COLLOCAMENTO DISABILI
//======================================================================================================================================		
//--- CheckAndSubmitCollDIS_1(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCollDIS_1(TheForm, userType)
{	

	//--- Azienda ----------------------------------------------------------------------------------------------------------------------
	if (userType == 3) // CPI
	{
		if ((TheForm.txtAzienda.value != "") && (TheForm.hdnIdAzienda.value == ""))
		{
			alert("Per compilare il campo \"Azienda richiedente\"\nè obbligatorio utilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
		if (TheForm.hdnIdAzienda.value == "")
		{
			if (!(confirm("Il campo \"Azienda richiedente\" non è stato compilato.\n\nSi desidera fare una richiesta interna?")))
			{
				TheForm.txtAzienda.focus();
				return;
			}
			else
			{
				TheForm.hdnIdAzienda.value = "0";
			}
		}
	}
	//--- Data di scadenza -------------------------------------------------------------------------------------------------------------
	var gg, mm, aaaa;
	
	gg = TheForm.ddmGiornoScadenza.selectedIndex;
	mm = TheForm.ddmMeseScadenza.selectedIndex;
	aaaa = TheForm.txtAnnoScadenza.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Scadenza della richiesta\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoScadenza.focus();
		return;
	}
	//--- Numero lavoratori ------------------------------------------------------------------------------------------------------------
	if (TheForm.txtNLavoratori.value == "")
	{
		alert("Il campo \"N° lavoratori\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtNLavoratori.focus()//====;
		return;
	}
	if ((!CheckIntPosIncrocio(TheForm.txtNLavoratori.value)) || (TheForm.txtNLavoratori.value < 1))
	{
		alert("Il campo \"N° lavoratori\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	//--- Sede di lavoro ---------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdLocalitaSedeLavoro.value == "") && (TheForm.txtLocalitaSedeLavoro.value != ""))
	{
		alert("Per compilare il campo \"Sede di lavoro\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtLocalitaSedeLavoro.value="";
		TheForm.txtLocalitaSedeLavoro.focus();
		return;
	}
	//--- Qualifica professionale ------------------------------------------------------------------------------------------------------
	if ((TheForm.txtQualISTAT.value != "") && (TheForm.hdnIdQualISTAT.value == ""))
	{
		alert("Per compilare il campo \"Qualifica professionale\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	if (TheForm.hdnIdQualISTAT.value == "") 
	{
		alert("Il campo \"Qualifica professionale\" è obbligatorio.\n\nCompilarlo utilizzando i tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	//--- Se è compilata la qualifica professionale, deve essere selezionato almeno uno tra "Interessato a " e "Esp. pregressa"
	if (!((TheForm.chkInteressatoA.checked) || (TheForm.chkEsperAutocertif.checked)))
	{
		message = "Selezionare, nel campo \"Qualifica professionale\", la voce \"Interessato a\" \n";
		message += "e/o la voce \"Esperienza pregressa\", grazie.";
		alert(message);
		TheForm.chkInteressatoA.focus();
		return;
	}
	//--- Esperienza pregressa e campi associati
	if ((TheForm.chkEsperAutocertif.checked == false) && ((TheForm.ddmDurataMesi.selectedIndex > 0) || (TheForm.txtDurataAnni.value != "")))
	{
		alert("I dati inseriti sono incongruenti: per compilare la sezione \"Durata minima\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
		TheForm.chkEsperAutocertif.focus();
		return;
	}
	if ((TheForm.chkEsperAutocertif.checked == false) && (TheForm.txtNumAnni.value != ""))
	{
		alert("I dati inseriti sono incongruenti: per compilare la sezione \"Svolta negli ultimi ... anni\"\noccorre selezionare l'opzione \"Esperienza pregressa\".\n\nCorreggere, grazie.");
		TheForm.chkEsperAutocertif.focus();
		return;
	}
	//--- Anni durata: numero
	if ((TheForm.txtDurataAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtDurataAnni.value)) || (TheForm.txtDurataAnni.value < 1)))
	{
		alert("Il campo \"Durata minima - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtDurataAnni.focus();
		return;
	}
	//--- Anni recenti: numero
	if ((TheForm.txtNumAnni.value != "") && ((!CheckIntPosIncrocio(TheForm.txtNumAnni.value)) || (TheForm.txtNumAnni.value < 1)))
	{
		alert("Il campo \"Svolta negli ultimi - anni\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNumAnni.focus();
		return;
	}
	//--- Titolo di studio -------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdTitoloStudio.value == "") && (TheForm.txtTitoloStudio.value != ""))
	{
		alert("Per compilare il campo \"Titolo di studio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtTitoloStudio.value="";
		TheForm.txtTitoloStudio.focus();
		return;
	}
	//--- Età --------------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEtaMin.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMin.value)) || (TheForm.txtEtaMin.value < 1) || ((TheForm.txtEtaMin.value > 99))))
	{
		alert("Il campo \"Età - minima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMin.focus();
		return;
	}
	if ((TheForm.txtEtaMax.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMax.value)) || (TheForm.txtEtaMax.value < 1) || ((TheForm.txtEtaMax.value > 99))))
	{
		alert("Il campo \"Età - massima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}

	if ((TheForm.txtEtaMin.value != "") && (TheForm.txtEtaMax.value != "") && (TheForm.txtEtaMax.value <= TheForm.txtEtaMin.value))
	{
		alert("I dati inseriti sono incongruenti: il campo \"Età - massima\" deve contenere\nun numero maggiore del numero indicato nel campo \"Età - minima\".\n\nCorreggere, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
 	//--- Sede di lavoro e domicilio ---------------------------------------------------------------------------------------------------	
	// Controllo compilazione della sede di lavoro se è selezionato città o provincia del domicilio
	var radioSelected = false;
	{
		if (((TheForm.optDomicilio[0].checked) || (TheForm.optDomicilio[2].checked)) && (TheForm.hdnIdLocalitaSedeLavoro.value == ""))
		{
			alert("Se si seleziona l\'opzione \"Città\" o \"Provincia\" del campo \"Domicilio\",\nè obbligatorio compilare il campo \"Sede di lavoro\".\n\nGrazie.");
			TheForm.txtLocalitaSedeLavoro.focus();
			return;
		}
	}
	//--- Controllo compilazione del campo comune solo se è selezionato provincia del domicilio
	if ((TheForm.hdnIdLocalitaResid.value != "") && (!(TheForm.optDomicilio[2].checked)))
	{
		alert("Se si compila il campo \"Comune\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Provincia\".\n\nGrazie.");
		TheForm.optDomicilio[2].focus();
		return;
	}
	//--- Comune
	if ((TheForm.hdnIdLocalitaResid.value == "") && (TheForm.txtLocalitaResid.value != ""))
	{
		alert("Per compilare il campo \"Comune\" della sezione \"Domicilio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtLocalitaResid.value="";
		TheForm.txtLocalitaResid.focus();
		return;
	}
		if (!(TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex > 0))
	{
		alert("Se si seleziona una voce del menu a discesa relativo alla \"Circoscrizione\" del campo \"Domicilio\",\nè obbligatorio selezionare l'opzione \"Circoscrizione\".\n\nGrazie.");
		TheForm.txtLocalitaResid.value = ""
		TheForm.ddmCircoscrizione.focus();
		return;
	}

		
		if ((TheForm.optDomicilio[1].checked) && (TheForm.ddmCircoscrizione.selectedIndex == 0))
	{
		alert("Se si seleziona l'opzione \"Circoscrizione\" della sezione \"Domicilio\", è obbligatorio\n selezionare una voce nel menu a discesa relativo, grazie.");
		TheForm.ddmCircoscrizione.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCollDIS_2(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCollDIS_2(TheForm)
{	
	//--- Campi obbligatori ------------------------------------------------------------------------------------------------------------
	// ---
	//--- Altri controlli --------------------------------------------------------------------------------------------------------------
	// Conoscenze informatiche: compilazione ordinata, due o più tendine non devono contenere lo stesso valore ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCollDIS_3(TheForm): controlla ed invia la sezione 3 (Disponibilità ed obiettivi professionali) della Collocamento disabili [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCollDIS_3(TheForm)
{	
	//--- Part time --------------------------------------------------------------------------------------------------------------------
	if ((TheForm.ddmFasciaOraria.selectedIndex > 0) && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - Fascia oraria\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}
	if ((TheForm.txtPartTimeNOre.value != "") && (!(TheForm.optPartTime[0].checked)))
	{
		alert("Se si compila il campo \"Part time - N° ore\", è obbligatorio selezionare\nl'\opzione \"Sì\" nel campo \"Part time\", grazie.");
		TheForm.optPartTime[0].focus();
		return;
	}

	if ((TheForm.txtPartTimeNOre.value != "") && ((!CheckIntPosIncrocio(TheForm.txtPartTimeNOre.value)) || (TheForm.txtPartTimeNOre.value < 1) || ((TheForm.txtPartTimeNOre.value > 32))))
	{
		alert("Il campo \"Part time - N° ore\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 32.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtPartTimeNOre.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitCollDIS_4(TheForm): controlla ed invia la sezione 4 (Altre informazioni) della Chiamata Art16  [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitCollDIS_4(TheForm)
{	
	//--- Agevolazioni -----------------------------------------------------------------------------------------------------------------
	//--- Compilazione ordinata
	if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni2.selectedIndex > 0))
	{
		alert("E' stata selezionata la seconda opzione della sezione\n\"Agevolazioni\" senza selezionare la prima.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni2.selectedIndex;
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione \"Agevolazioni\"\nsenza selezionare la prima e la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni1.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni1.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == 0) && (TheForm.ddmAgevolazioni3.selectedIndex > 0))
	{
		alert("E' stata selezionata la terza opzione della sezione\n\"Agevolazioni\" senza selezionare la seconda.\n\nCompilare la sezione in modo ordinato, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = TheForm.ddmAgevolazioni3.selectedIndex;
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	//--- Due voci uguali
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni2.selectedIndex))
	{
		alert("La seconda opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni2.selectedIndex = 0;
		TheForm.ddmAgevolazioni2.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni1.selectedIndex > 0) && (TheForm.ddmAgevolazioni1.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex)) 
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla prima.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}
	if ((TheForm.ddmAgevolazioni2.selectedIndex > 0) && (TheForm.ddmAgevolazioni2.selectedIndex == TheForm.ddmAgevolazioni3.selectedIndex))
	{
		alert("La terza opzione selezionata nella sezione \"Agevolazioni\"\nè uguale alla seconda.\n\nCorreggere, grazie.");
		TheForm.ddmAgevolazioni3.selectedIndex = 0;
		TheForm.ddmAgevolazioni3.focus();
		return;
	}
	//--- Note ----------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txaNote.value != "") && (TheForm.txaNote.value.length > 250))
	{
		alert("Il campo \"Note\" non può contenere più di 250 caratteri.\n\nCorreggerlo, grazie.");
		TheForm.txaNote.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitReportDisponibilita(TheForm): controlla ed invia la ricerca del report disponibilità [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitReportDisponibilita(TheForm)
{
	if (TheForm.optTurni[0].checked==false && TheForm.optTurni[1].checked==false && 
		TheForm.optFestivo[0].checked==false && TheForm.optFestivo[1].checked==false && 
		TheForm.optNotturno[0].checked==false && TheForm.optNotturno[1].checked==false && 
		TheForm.optDomicilio[0].checked==false && TheForm.optDomicilio[1].checked==false &&
		TheForm.optOccasionale[0].checked==false && TheForm.optOccasionale[1].checked==false &&
		TheForm.optStagionale[0].checked==false && TheForm.optStagionale[1].checked==false &&
		TheForm.optTrasferte[0].checked==false && TheForm.optTrasferte[1].checked==false &&
		TheForm.optTelelavoro[0].checked==false && TheForm.optTelelavoro[1].checked==false &&
		TheForm.optFormazione[0].checked==false && TheForm.optFormazione[1].checked==false &&
		TheForm.optTirocini[0].checked==false && TheForm.optTirocini[1].checked==false &&
		TheForm.optAutonomo[0].checked==false && TheForm.optAutonomo[1].checked==false &&
		TheForm.optImpresa[0].checked==false && TheForm.optImpresa[1].checked==false &&
		TheForm.optIndeterm[0].checked==false && TheForm.optIndeterm[1].checked==false &&
		TheForm.optDeterm[0].checked==false && TheForm.optDeterm[1].checked==false &&
		TheForm.optLavInterinale[0].checked==false && TheForm.optLavInterinale[1].checked==false &&
		TheForm.optContrAtipici[0].checked==false && TheForm.optContrAtipici[1].checked==false &&
		TheForm.optFormazLavoro[0].checked==false && TheForm.optFormazLavoro[1].checked==false &&
		TheForm.optApprendistato[0].checked==false && TheForm.optApprendistato[1].checked==false &&
		TheForm.optFullTime[0].checked==false && TheForm.optFullTime[1].checked==false &&
		TheForm.optPartTime[0].checked==false && TheForm.optPartTime[1].checked==false &&
		TheForm.optArt16[0].checked==false && TheForm.optArt16[1].checked==false &&
		TheForm.ddmTrasferimenti_.value=="" && TheForm.ddmCpiCompetenza.value==0 && TheForm.hdnComune_DIS.value=="")
		{
		alert ("E' necessario selezionare almeno una voce");
		}
	else
		{
		TheForm.visualizzareport.disabled = true;
		TheForm.action="viewReportdisponibilita.asp";
		TheForm.submit();	
		}
}
//--- CheckAndSubmitReportDisabili(TheForm): controlla ed invia la ricerca del report Disabili con qualifica acquisita [MB 1/09/2005]
function CheckAndSubmitReportDisabili(TheForm)
{
if ((IsStringEmpty(TheForm.txtCodQualifica91.value)) && (IsStringEmpty(TheForm.txtQualifica91.value))) 
	{
		alert("Specificare una qualifica, grazie.");
		TheForm.txtQualifica91.focus();
		return;
	} 
else 
	{
		if (IsStringEmpty(TheForm.hdnIdQualifica91.value)) 
		{
			alert("Per inserire una qualifica utilizzare il tasto \"Cerca\" o \"Cerca voce\", grazie."); 
			TheForm.txtQualifica91.focus();
			return;
		}
	}
//--- Controlli superati...		
	TheForm.visualizzareport.disabled = true;
	TheForm.action = "viewReportDisabiliQualifica.asp?hdnVis=elenco"
	TheForm.submit();
}


//--- Controlli inserimento di una preferenza di settore formativo per cui fare ricerca

function CheckAndSubmitReportDisponibilitaFormativa(TheForm)
{
	if (IsDdmEmpty(TheForm.ddmFormazione,0))
	{
		alert("Specificare un settore di formazione, grazie.");
		TheForm.ddmFormazione.focus();
		return;
	} 
	else 
	{//--- Controlli superati...		
	TheForm.submit("viewReportFormazione.asp");
	}
}



//--- CheckAndSubmitReportQualificheAcquisite(TheForm): controlla ed invia la ricerca del report "Qualifiche acquisite" [MB 1/09/2005]
function CheckAndSubmitReportQualificheAcquisite(TheForm)
{
if ((IsStringEmpty(TheForm.txtCodQualifica91.value)) && (IsStringEmpty(TheForm.txtQualifica91.value))) 
	{
		alert("Specificare una qualifica, grazie.");
		TheForm.txtQualifica91.focus();
		return;
	} 
else 
	{
		if (IsStringEmpty(TheForm.hdnIdQualifica91.value)) 
		{
			alert("Per inserire una qualifica utilizzare il tasto \"Cerca\" o \"Cerca voce\", grazie."); 
			TheForm.txtQualifica91.focus();
			return;
		}
	}
//--- Controlli superati...		
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//--- CheckAndSubmitReportQualificheAcquisite(TheForm): controlla ed invia la ricerca del report "Qualifiche acquisite" [MB 1/09/2005]
function CheckAndSubmitReportSILUS(TheForm)
{
	var giornoDa, meseDa, annoDa, giornoA, meseA, annoA;
	giornoDa = TheForm.ddmGGDataDal.selectedIndex;
	meseDa = TheForm.ddmMMDataDal.selectedIndex;
	annoDa = TheForm.txtAADataDal.value;
	giornoA = TheForm.ddmGGDataAl.selectedIndex;
	meseA = TheForm.ddmMMDataAl.selectedIndex;
	annoA = TheForm.txtAADataAl.value;
	// Data dal/al
//@SS 05.09.23 controlli campi obbligatori: dal, al, ente
	/*if (IsDdmEmpty(TheForm.ddmEnteCapodarco,0))
	{
		alert("Specificare un ente, grazie.");
		TheForm.ddmEnteCapodarco.focus();
		return;
	} */
	if (!(VerificaData(giornoDa,meseDa,annoDa)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGGDataDal.focus();
		return;
	}	
	if (!(VerificaData(giornoA,meseA,annoA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.txtAADataAl.focus();
		return;
	}	
//@SS 05.09.23 

	if ( (giornoDa != 0) || (meseDa != 0) || (annoDa != "") || (giornoA != 0) || (meseA != 0)  || (annoA != ""))
	{
		if ((!IsDateNotValid(giornoDa, meseDa, annoDa)) && (!IsDateNotValid(giornoA, meseA, annoA)))
		{
			if (IsDateGreaterThan(giornoDa,meseDa,annoDa,giornoA,meseA,annoA))
					{
						alert ("La data \"dal\" nel campo \"Data di presa in carico\" è successiva a quella inserita nel campo \"al\".\nCorreggerla, grazie.")
						TheForm.ddmGGDataDal.focus();
						return;
					}
		}
		else
		{
			alert("Le date nel campo \"Data di presa in carico\" sono errate o incomplete.\nCorreggerle, grazie!");
			return;
		}
	}
		/*if ((!IsStringEmpty(annoDa)) && (IsYearNotValid(annoDa)))
		{
			alert("Il campo \"Data di presa in carico - Dal\" deve contenere un anno valido, a quattro cifre.\n\nCompilare il campo in modo corretto, grazie.");
			TheForm.txtAADataDal.focus();
			return;
		}
		if ((!IsStringEmpty(annoA)) && (IsYearNotValid(annoA)))
		{
			alert("Il campo \"Data di presa in carico - al\" deve contenere un anno valido, a quattro cifre.\n\nCompilare il campo in modo corretto, grazie.");
			TheForm.txtAADataAl.focus();
			return;
		}*/
//--- Controlli superati...		
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//--- CheckAndSubmitReportQualificheAcquisite(TheForm): controlla ed invia la ricerca del report "Qualifiche acquisite" [MB 1/09/2005]
function CheckAndSubmitReportImpieghiTemp(TheForm)
{
	var selAttivati, selCessati
	selAttivati = 0;
	selCessati = 0;
	
	if (IsOptChkArrayEmpty(TheForm.optPeriodo) && IsOptChkArrayEmpty(TheForm.optCESSPeriodo) && (TheForm.chkInCorso.checked == false))
		{
			alert ("Selezionare almeno una voce nel campo \"Attivati\" o \"Cessati\".\n\nGrazie.")
			return;
		}
	
	if (TheForm.optPeriodo[0].checked)
	{
		selAttivati = 1
		var gg, mm, aaaa;
		gg = TheForm.ddmGiornoDel.selectedIndex;
		mm = TheForm.ddmMeseDel.selectedIndex;
		aaaa = TheForm.txtAnnoDel.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmGiornoDel,0)) && !(IsDdmEmpty(TheForm.ddmMeseDel,0)) && !(aaaa == ""))
			{
				if ((IsDateNotValid(gg, mm, aaaa)) || (aaaa < 1900))
				{
					alert('La data \"Prima del\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoDel.focus();
					return;
				}
				
			}
		else
			{
				alert('Inserire una data nel campo \"Attivati prima del\".\nGrazie.');
				TheForm.ddmGiornoDel.focus();
				return;
			}	
		
	}
	
	if (TheForm.optPeriodo[1].checked)
	{
		selAttivati = 2
		var gg, mm, aaaa;
		gg = TheForm.ddmGiornoIl.selectedIndex;
		mm = TheForm.ddmMeseIl.selectedIndex;
		aaaa = TheForm.txtAnnoIl.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmGiornoIl,0)) && !(IsDdmEmpty(TheForm.ddmMeseIl,0)) && !(aaaa == ""))
			{
				if ((IsDateNotValid(gg, mm, aaaa)) || (aaaa < 1900))
				{
					alert('La data \"Dopo il\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoIl.focus();
					return;
				}
			}
		else
			{
				alert('Inserire una data nel campo \"Attivati dopo il\" .\nGrazie.');
				TheForm.ddmGiornoIl.focus();
				return;
			}	
		
	}
	
	if (TheForm.optPeriodo[2].checked)
	{
		selAttivati = 3
		var gg, mm, aaaa, ggAl, mmAl, aaaaAl;
		gg = TheForm.ddmGiornoDal.selectedIndex;
		mm = TheForm.ddmMeseDal.selectedIndex;
		aaaa = TheForm.txtAnnoDal.value;
		ggAl = TheForm.ddmGiornoAl.selectedIndex;
		mmAl = TheForm.ddmMeseAl.selectedIndex;
		aaaaAl = TheForm.txtAnnoAl.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmGiornoDal,0)) && !(IsDdmEmpty(TheForm.ddmMeseDal,0)) && !(aaaa == "") && !(IsDdmEmpty(TheForm.ddmGiornoAl,0)) && !(IsDdmEmpty(TheForm.ddmMeseAl,0)) && !(aaaaAl == ""))
			{
				if ((IsDateNotValid(gg, mm, aaaa)) || (aaaa < 1900))
				{
					alert('La data \"dal\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoDal.focus();
					return;
				}
				
				if ((IsDateNotValid(ggAl, mmAl, aaaaAl)) || (aaaaAl < 1900))
				{
					alert('La data \"Al\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmGiornoAl.focus();
					return;
				}
			}
		else
			{
				alert('Inserire tutte e due le date nel campo \"Attivati dal ... al ...\" .\nGrazie.');
				TheForm.ddmGiornoDal.focus();
				return;
			}
			
		if (IsDateGreaterThan(gg,mm,aaaa,ggAl,mmAl,aaaaAl))
					{
						alert ("La data di inizio specificata nel campo \"Attivati\" è successiva a quella inserita nel campo \"al\".\nCorreggerla, grazie.")
						TheForm.ddmGiornoDal.focus();
						return;
					}
	}
					
	 //Cessati
	 
	 if (TheForm.optCESSPeriodo[0].checked)
	{
		selCessati = 1
		var ggCES, mmCES, aaaaCES;
		ggCES = TheForm.ddmCESSGiornoDel.selectedIndex;
		mmCES = TheForm.ddmCESSMeseDel.selectedIndex;
		aaaaCES = TheForm.txtCESSAnnoDel.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmCESSGiornoDel,0)) && !(IsDdmEmpty(TheForm.ddmCESSMeseDel,0)) && !(aaaaCES == ""))
			{
				if ((IsDateNotValid(ggCES, mmCES, aaaaCES)) || (aaaaCES < 1900))
				{
					alert('La data \"Prima del\" nel campo \"Cessati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmCESSGiornoDel.focus();
					return;
				}
				
			}
		else
			{
				alert('Inserire una data nel campo \"Cessati prima del\".\nGrazie.');
				TheForm.ddmCESSGiornoDel.focus();
				return;
			}	
		
	}
	
	if (TheForm.optCESSPeriodo[1].checked)
	{
		selCessati = 2
		var ggCES, mmCES, aaaaCES;
		ggCES = TheForm.ddmCESSGiornoIl.selectedIndex;
		mmCES = TheForm.ddmCESSMeseIl.selectedIndex;
		aaaaCES = TheForm.txtCESSAnnoIl.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmCESSGiornoIl,0)) && !(IsDdmEmpty(TheForm.ddmCESSMeseIl,0)) && !(aaaaCES == ""))
			{
				if ((IsDateNotValid(ggCES, mmCES, aaaaCES)) || (aaaaCES < 1900))
				{
					alert('La data \"Dopo il\" nel campo \"Cessati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmCESSGiornoIl.focus();
					return;
				}
			}
		else
			{
				alert('Inserire una data nel campo \"Cessati dopo il\" .\nGrazie.');
				TheForm.ddmCESSGiornoIl.focus();
				return;
			}	
		
	}
	
	if (TheForm.optCESSPeriodo[2].checked)
	{
		selCessati = 3
		var ggCES, mmCES, aaaaCES, ggCESAl, mmCESAl, aaaaCESAl;
		ggCES = TheForm.ddmCESSGiornoDal.selectedIndex;
		mmCES = TheForm.ddmCESSMeseDal.selectedIndex;
		aaaaCES = TheForm.txtCESSAnnoDal.value;
		ggCESAl = TheForm.ddmCESSGiornoAl.selectedIndex;
		mmCESAl = TheForm.ddmCESSMeseAl.selectedIndex;
		aaaaCESAl = TheForm.txtCESSAnnoAl.value;
		
		
		if (!(IsDdmEmpty(TheForm.ddmCESSGiornoDal,0)) && !(IsDdmEmpty(TheForm.ddmCESSMeseDal,0)) && !(aaaaCES == "") && !(IsDdmEmpty(TheForm.ddmCESSGiornoAl,0)) && !(IsDdmEmpty(TheForm.ddmCESSMeseAl,0)) && !(aaaaCESAl == ""))
			{
				if ((IsDateNotValid(ggCES, mmCES, aaaaCES)) || (aaaaCES < 1900))
				{
					alert('La data \"dal\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmCESSGiornoDal.focus();
					return;
				}
				
				if ((IsDateNotValid(ggCESAl, mmCESAl, aaaaCESAl)) || (aaaaCESAl < 1900))
				{
					alert('La data \"Al\" nel campo \"Attivati\" è errata od incompleta.\nSi prega di correggerla, grazie.');
					TheForm.ddmCESSGiornoAl.focus();
					return;
				}
			}
		else
			{
				alert('Inserire tutte e due le date nel campo \"Cessati dal ... al ...\" .\nGrazie.');
				TheForm.ddmCESSGiornoDal.focus();
				return;
			}
			
		if (IsDateGreaterThan(ggCES,mmCES,aaaaCES,ggCESAl,mmCESAl,aaaaCESAl))
			{
				alert ("La data di inizio specificata nel campo \"Cessati\" è successiva a quella inserita nel campo \"al\".\nCorreggerla, grazie.")
				TheForm.ddmCESSGiornoDal.focus();
				return;
			}	
		
	}
	
	if ((selAttivati > 0) && (selCessati > 0))
	{
		if ((selAttivati != 3) && (selCessati != 3))
		{
			if (IsDateGreaterThan(gg,mm,aaaa,ggCES,mmCES,aaaaCES))
				{
					alert ("La data specificata nel campo \"Attivati\" è successiva a quella inserita nel campo \"Cessati\".\nCorreggerla, grazie.")
					return;
				}
		}
		else
		{
			if (IsDateGreaterThan(ggAl,mmAl,aaaaAl,ggCES,mmCES,aaaaCES))
				{
					alert ("La data specificata nel campo \"Attivati\" è successiva a quella inserita nel campo \"Cessati\".\nCorreggerla, grazie.")
					return;
				}
		}
		
	}
	
//--- Controlli superati...		
	TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//---CheckAndSubmitElencoConsulenti(TheForm)
function CheckAndSubmitElencoConsulenti(TheForm)
{
	if (!IsStringEmpty(TheForm.txtConsulente_.value) && IsStringEmpty(TheForm.hdnConsulente_.value))
	{
		alert("Attenzione!\nPer selezionare un consulente utilizzare il tasto \"Cerca voce\", grazie.");
		TheForm.txtConsulente_.focus();
		return;
	}
	
//--- Controlli superati... 
	TheForm.visualizzareport.disabled = true; 
	TheForm.submit()
}

//======================================================================================================================================
//=== FP - Ricerca di figure professionali
//======================================================================================================================================		
//--- CheckAndSubmitFormaz01(TheForm, userType): controlla ed invia la sezione 1 (Dati generali) della FP [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitFormaz01(TheForm, userType)
{	
	//--- Ente ----------------------------------------------------------------------------------------------------------------------
	if (userType == 2) // CPI
	{
		if ((TheForm.txtEnte.value != "") && (TheForm.hdnIdEnte.value == ""))
		{
			alert("Per compilare il campo \"Ente richiedente\"\nè obbligatorio utilizzare il tasto \"Cerca voce\",\ngrazie.");
			TheForm.txtAzienda.value="";
			TheForm.txtAzienda.focus();
			return;
		}
		if (TheForm.hdnIdEnte.value == "")
		{
			if (!(confirm("Il campo \"Ente richiedente\" non è stato compilato.\n\nSi desidera fare una richiesta interna?")))
			{
				TheForm.txtEnte.focus();
				return;
			}
			else
			{
				TheForm.hdnIdEnte.value = "0";
			}
		}
	}
	//--- Data di scadenza -------------------------------------------------------------------------------------------------------------
	var gg, mm, aaaa;
	
	gg = TheForm.ddmGiornoScadenza.selectedIndex;
	mm = TheForm.ddmMeseScadenza.selectedIndex;
	aaaa = TheForm.txtAnnoScadenza.value;	
	if (!(VerificaDataOK(gg,mm,aaaa)))
	{
		alert("La data inserita nel campo \"Scadenza della richiesta\"\nnon è corretta.\n\nCorreggerla, grazie.");
		TheForm.ddmGiornoScadenza.focus();
		return;
	}
	//--- Numero utenti ------------------------------------------------------------------------------------------------------------
	if (TheForm.txtNLavoratori.value == "")
	{
		alert("Il campo \"N° soggetti\" è obbligatorio.\n\nCompilarlo, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	if ((!CheckIntPosIncrocio(TheForm.txtNLavoratori.value)) || (TheForm.txtNLavoratori.value < 1))
	{
		alert("Il campo \"N° soggetti\" deve contenere un numero\nmaggiore o uguale a uno.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtNLavoratori.focus();
		return;
	}
	//--- Qualifica professionale ------------------------------------------------------------------------------------------------------
	if ((TheForm.txtQualISTAT.value != "") && (TheForm.hdnIdQualISTAT.value == ""))
	{
		alert("Per compilare il campo \"Qualifica professionale\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	if (TheForm.hdnIdQualISTAT.value == "") 
	{
		alert("Il campo \"Qualifica d\'ingresso\" è obbligatorio.\n\nCompilarlo utilizzando i tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtQualISTAT.focus();
		return;
	}
	//--- Se è compilata la qualifica d ingresso, deve essere selezionato almeno uno tra "Interessato a " e "Esp. pregressa"
	if (!((TheForm.chkInteressatoA.checked) || (TheForm.chkEsperAutocertif.checked)))
	{
		message = "Selezionare, nel campo \"Qualifica d\'ingresso\", la voce \"Disponibilità ad interventi formativi\" \n";
		message += "e/o la voce \"Propedeuticità\", grazie.";
		alert(message);
		TheForm.chkInteressatoA.focus();
		return;
	}
	//--- Titolo di studio -------------------------------------------------------------------------------------------------------------
	if ((TheForm.hdnIdTitoloStudio.value == "") && (TheForm.txtTitoloStudio.value != ""))
	{
		alert("Per compilare il campo \"Titolo di studio\" è obbligatorio utilizzare\ni tasti \"Cerca\" o \"Cerca voce\", grazie.");
		TheForm.txtTitoloStudio.value="";
		TheForm.txtTitoloStudio.focus();
		return;
	}
	//--- Età --------------------------------------------------------------------------------------------------------------------------
	if ((TheForm.txtEtaMin.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMin.value)) || (TheForm.txtEtaMin.value < 1) || ((TheForm.txtEtaMin.value > 99))))
	{
		alert("Il campo \"Età - minima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMin.focus();
		return;
	}
	if ((TheForm.txtEtaMax.value != "") && ((!CheckIntPosIncrocio(TheForm.txtEtaMax.value)) || (TheForm.txtEtaMax.value < 1) || ((TheForm.txtEtaMax.value > 99))))
	{
		alert("Il campo \"Età - massima\" deve contenere un numero\nmaggiore o uguale a uno e non superiore a 100.\n\nCompilare il campo in modo corretto, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
	if ((TheForm.txtEtaMin.value != "") && (TheForm.txtEtaMax.value != "") && (TheForm.txtEtaMax.value <= TheForm.txtEtaMin.value))
	{
		alert("I dati inseriti sono incongruenti: il campo \"Età - massima\" deve contenere\nun numero maggiore del numero indicato nel campo \"Età - minima\".\n\nCorreggere, grazie.");
		TheForm.txtEtaMax.focus();
		return;
	}
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//--- CheckAndSubmitFormaz02(TheForm): controlla ed invia la sezione 2 (Conoscenze linguistiche ed informatiche) della FP [PM, MF, UG, AF, 18 June 2003]
function CheckAndSubmitFormaz02(TheForm)
{	
	//--- Campi obbligatori ------------------------------------------------------------------------------------------------------------
	// ---
	//--- Altri controlli --------------------------------------------------------------------------------------------------------------
	// Conoscenze informatiche: compilazione ordinata, due o più tendine non devono contenere lo stesso valore ### DA FARE ###
	//--- Controlli superati -----------------------------------------------------------------------------------------------------------
	TheForm.submit();
} 

//======================================================================================================================================
//=== Varie - Mobilità
//======================================================================================================================================		
//--- CheckAndSubmitReportMobilita(TheForm): controlla ed invia la pagina contenente il report Mobilità [LA 21 September 2004]
function CheckAndSubmitReportMobilita(TheForm)
{
	ggD = TheForm.ddmGiornoDalAttiva.selectedIndex;
	mmD = TheForm.ddmMeseDalAttiva.selectedIndex;
	aaaaD = TheForm.txtAnnoDalAttiva.value;
	
	//--- Data 'Dal' ----------------------------------	
		/*
		if (!(VerificaData(ggD,mmD,aaaaD)))
		{
			alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
			TheForm.ddmGiornoDalAttiva.focus();
			TheForm.visualizzareport.disabled=false;			
			return;
		}
		*/
		if (!(VerificaDataOK(ggD,mmD,aaaaD)))
		{
			alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
			TheForm.ddmGiornoDalAttiva.focus();
			TheForm.visualizzareport.disabled=false;
			return;
		}
		
		ggA = TheForm.ddmGiornoAlAttiva.selectedIndex;
		mmA = TheForm.ddmMeseAlAttiva.selectedIndex;
		aaaaA = TheForm.txtAnnoAlAttiva.value;
		//---Data 'Al' ----------------------------------
		/*	
		if (!(VerificaData(ggA,mmA,aaaaA)))
		{
			alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
			TheForm.ddmGiornoAlAttiva.focus();
			TheForm.visualizzareport.disabled=false;
			return;
		}
		*/
		if (!(VerificaDataOK(ggA,mmA,aaaaA)))
		{
			alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
			TheForm.ddmGiornoAlAttiva.focus();
			TheForm.visualizzareport.disabled=false;
			return;
		}
	
		//@ UGO 19-02-2003
		/*
		dd_1 = TheForm.ddmGiornoDalAttiva.selectedIndex;
		mm_1 = TheForm.ddmMeseDalAttiva.selectedIndex;
		yyyy_1 = TheForm.txtAnnoDalAttiva.value;
		
		dd_2 = TheForm.ddmGiornoAlAttiva.selectedIndex;
		mm_2 = TheForm.ddmMeseAlAttiva.selectedIndex;
		yyyy_2 = TheForm.txtAnnoAlAttiva.value;

		if ((IsDateGreaterThan(dd_1, mm_1, yyyy_1, dd_2, mm_2, yyyy_2)))
		{
				alert("I dati inseriti sono incongruenti: il periodo \"dal\" è più recente\ndel periodo \"al\".\n\nCorreggere, grazie.");
				TheForm.txtAnnoDalAttiva.focus();
				TheForm.visualizzareport.disabled=false;
			return;
		}
		*/
		//@LA(2187) controllo date Cessazione
		if (TheForm.mobilita[1].checked == true)
		{
			ggCD = TheForm.ddmGiornoDal.selectedIndex;
			mmCD = TheForm.ddmMeseDal.selectedIndex;
			aaaaCD = TheForm.txtAnnoDal.value;
			ggCA = TheForm.ddmGiornoAl.selectedIndex;
			mmCA = TheForm.ddmMeseAl.selectedIndex;
			aaaaCA = TheForm.txtAnnoAl.value;
						
			if (!(VerificaDataOK(ggCD,mmCD,aaaaCD)))
			{
				alert('La data specificata nel campo \"Cancellate - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoDal.focus();
				TheForm.visualizzareport.disabled=false;
				return;
			}			
			if (!(VerificaDataOK(ggCA,mmCA,aaaaCA)))
			{
				alert('La data specificata nel campo \"Cancellate - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
				TheForm.ddmGiornoAl.focus();
				TheForm.visualizzareport.disabled=false;
				return;
			}						
		}
	
	//@LA(2622)
	ggDI = TheForm.ddmGiornoDalInserimento.selectedIndex;
	mmDI = TheForm.ddmMeseDalInserimento.selectedIndex;
	aaaaDI = TheForm.txtAnnoDalInserimento.value;
	ggAI = TheForm.ddmGiornoAlInserimento.selectedIndex;
	mmAI = TheForm.ddmMeseAlInserimento.selectedIndex;
	aaaaAI = TheForm.txtAnnoAlInserimento.value;
						
	if (!(VerificaDataOK(ggDI,mmDI,aaaaDI)))
	{
		alert('La data specificata nel campo \"Data delibera inserimento - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDalInserimento.focus();
		TheForm.visualizzareport.disabled=false;
		return;
	}			
	if (!(VerificaDataOK(ggAI,mmAI,aaaaAI)))
	{
		alert('La data specificata nel campo \"Data delibera inserimento - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAlInserimento.focus();
		TheForm.visualizzareport.disabled=false;
		return;
	}						
	
	ggDC = TheForm.ddmGiornoDalCancellazione.selectedIndex;
	mmDC = TheForm.ddmMeseDalCancellazione.selectedIndex;
	aaaaDC = TheForm.txtAnnoDalCancellazione.value;
	ggAC = TheForm.ddmGiornoAlCancellazione.selectedIndex;
	mmAC = TheForm.ddmMeseAlCancellazione.selectedIndex;
	aaaaAC = TheForm.txtAnnoAlCancellazione.value;
						
	if (!(VerificaDataOK(ggDC,mmDC,aaaaDC)))
	{
		alert('La data specificata nel campo \"Data delibera cancellazione - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDalCancellazione.focus();
		TheForm.visualizzareport.disabled=false;
		return;
	}			
	if (!(VerificaDataOK(ggAC,mmAC,aaaaAC)))
	{
		alert('La data specificata nel campo \"Data delibera cancellazione - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAlCancellazione.focus();
		TheForm.visualizzareport.disabled=false;
		return;
	}						

	
//--- Controlli superati ---------------------------
TheForm.submit();
}

//@Eb(24619)
function CheckAndSubmitReportMobilitaInDeroga(TheForm) {

    //@LA(2187) controllo date Cessazione
    if (TheForm.mobilita[1].checked == true) {
        ggCD = TheForm.ddmGiornoDal.selectedIndex;
        mmCD = TheForm.ddmMeseDal.selectedIndex;
        aaaaCD = TheForm.txtAnnoDal.value;
        ggCA = TheForm.ddmGiornoAl.selectedIndex;
        mmCA = TheForm.ddmMeseAl.selectedIndex;
        aaaaCA = TheForm.txtAnnoAl.value;

        if (!(VerificaDataOK(ggCD, mmCD, aaaaCD))) {
            alert('La data specificata nel campo \"Cancellate - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
            TheForm.ddmGiornoDal.focus();
            TheForm.visualizzareport.disabled = false;
            return;
        }
        if (!(VerificaDataOK(ggCA, mmCA, aaaaCA))) {
            alert('La data specificata nel campo \"Cancellate - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
            TheForm.ddmGiornoAl.focus();
            TheForm.visualizzareport.disabled = false;
            return;
        }
    }

    //@LA(2622)
    ggDI = TheForm.ddmGiornoDalInserimento.selectedIndex;
    mmDI = TheForm.ddmMeseDalInserimento.selectedIndex;
    aaaaDI = TheForm.txtAnnoDalInserimento.value;
    ggAI = TheForm.ddmGiornoAlInserimento.selectedIndex;
    mmAI = TheForm.ddmMeseAlInserimento.selectedIndex;
    aaaaAI = TheForm.txtAnnoAlInserimento.value;

    if (!(VerificaDataOK(ggDI, mmDI, aaaaDI))) {
        alert('La data specificata nel campo \"Data delibera inserimento - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
        TheForm.ddmGiornoDalInserimento.focus();
        TheForm.visualizzareport.disabled = false;
        return;
    }
    if (!(VerificaDataOK(ggAI, mmAI, aaaaAI))) {
        alert('La data specificata nel campo \"Data delibera inserimento - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
        TheForm.ddmGiornoAlInserimento.focus();
        TheForm.visualizzareport.disabled = false;
        return;
    }

    ggDC = TheForm.ddmGiornoDalCancellazione.selectedIndex;
    mmDC = TheForm.ddmMeseDalCancellazione.selectedIndex;
    aaaaDC = TheForm.txtAnnoDalCancellazione.value;
    ggAC = TheForm.ddmGiornoAlCancellazione.selectedIndex;
    mmAC = TheForm.ddmMeseAlCancellazione.selectedIndex;
    aaaaAC = TheForm.txtAnnoAlCancellazione.value;

    if (!(VerificaDataOK(ggDC, mmDC, aaaaDC))) {
        alert('La data specificata nel campo \"Data delibera cancellazione - Dal\"  non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
        TheForm.ddmGiornoDalCancellazione.focus();
        TheForm.visualizzareport.disabled = false;
        return;
    }
    if (!(VerificaDataOK(ggAC, mmAC, aaaaAC))) {
        alert('La data specificata nel campo \"Data delibera cancellazione - Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
        TheForm.ddmGiornoAlCancellazione.focus();
        TheForm.visualizzareport.disabled = false;
        return;
    }

    //--- Controlli superati ---------------------------
    TheForm.submit();
}
	
function VisualizzaDate()
{
	if (TheForm.optPeriodo[0].checked)
	{
		divPrima.style.visibility = 'visible';
	}
	else
	{
		TheForm.ddmGiornoDel.selectedIndex = 0
		TheForm.ddmMeseDel.selectedIndex = 0
		TheForm.txtAnnoDel.value = ""
		divPrima.style.visibility = 'hidden';
	}
	
	if (TheForm.optPeriodo[1].checked)
	{
		divDopo.style.visibility = 'visible';
	}
	else
	{
		TheForm.ddmGiornoIl.selectedIndex = 0
		TheForm.ddmMeseIl.selectedIndex = 0
		TheForm.txtAnnoIl.value = ""
		divDopo.style.visibility = 'hidden';
	}
	
	if (TheForm.optPeriodo[2].checked)
	{
		divDalAl.style.visibility = 'visible';
	}
	else
	{
		TheForm.ddmGiornoDal.selectedIndex = 0
		TheForm.ddmMeseDal.selectedIndex = 0
		TheForm.txtAnnoDal.value = ""
		TheForm.ddmGiornoAl.selectedIndex = 0
		TheForm.ddmMeseAl.selectedIndex = 0
		TheForm.txtAnnoAl.value = ""
		divDalAl.style.visibility = 'hidden';
	}
	
	if (TheForm.optCESSPeriodo[0].checked)
	{
		divPrimaCESS.style.visibility = 'visible';
		TheForm.chkInCorso.checked = false;
	}
	else
	{
		TheForm.ddmCESSGiornoDel.selectedIndex = 0
		TheForm.ddmCESSMeseDel.selectedIndex = 0
		TheForm.txtCESSAnnoDel.value = ""
		divPrimaCESS.style.visibility = 'hidden';
	}
	
	if (TheForm.optCESSPeriodo[1].checked)
	{
		divDopoCESS.style.visibility = 'visible';
		TheForm.chkInCorso.checked = false;
	}
	else
	{
		TheForm.ddmCESSGiornoIl.selectedIndex = 0
		TheForm.ddmCESSMeseIl.selectedIndex = 0
		TheForm.txtCESSAnnoIl.value = ""
		divDopoCESS.style.visibility = 'hidden';
	}
	
	if (TheForm.optCESSPeriodo[2].checked)
	{
		divDalAlCESS.style.visibility = 'visible';
		TheForm.chkInCorso.checked = false;
	}
	else
	{
		TheForm.ddmCESSGiornoDal.selectedIndex = 0
		TheForm.ddmCESSMeseDal.selectedIndex = 0
		TheForm.txtCESSAnnoDal.value = ""
		TheForm.ddmCESSGiornoAl.selectedIndex = 0
		TheForm.ddmCESSMeseAl.selectedIndex = 0
		TheForm.txtCESSAnnoAl.value = ""
		divDalAlCESS.style.visibility = 'hidden';
	}
	
}

//--- CheckAndSubmitReportMobTITD(TheForm)
function CheckAndSubmitReportMobTITD(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
		
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.visualizzareport.disabled = false;		
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.visualizzareport.disabled = false;		
		return;
	}
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.visualizzareport.disabled = false;
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		TheForm.visualizzareport.disabled = false;		
		return;
	}
	//--- Controlli superati ---------------------------
	//TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//--- CheckAndSubmitReportMobTITD(TheForm)
function CheckAndSubmitReportMobData(TheForm)
{

	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
	ggDa = TheForm.ddmGiornoDal.selectedIndex;
	mmDa = TheForm.ddmMeseDal.selectedIndex;
	aaaaDa = TheForm.txtAnnoDal.value;

	if (!(VerificaData(ggDa,mmDa,aaaaDa)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	if (!(VerificaDataOK(ggDa,mmDa,aaaaDa)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
				
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	//@LA(2628)
	//if (TheForm.fine[0].checked == true)
	//{
	//	TheForm.action = "viewReportMobDataFine.asp";
	//} else {
	//	TheForm.action = "viewReportMobDataFineInd.asp";
	//}
	//--- Controlli superati ---------------------------
	//TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//--- CheckAndSubmitReportColloqui(TheForm)
function CheckAndSubmitReportColloqui(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
		
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		//TheForm.visualizzareport.disabled = false;
		return;
	}
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		//TheForm.visualizzareport.disabled = false;		
		return;
	}
	//--- Controlli superati ---------------------------
	//TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

//--- CheckAndSubmitReportLavMobIscr(TheForm)
function CheckAndSubmitReportLavMobIscr(TheForm)
{
	//--- Data 'Dal' ----------------------------------
	ggD = TheForm.ddmGiornoDal.selectedIndex;
	mmD = TheForm.ddmMeseDal.selectedIndex;
	aaaaD = TheForm.txtAnnoDal.value;
		
	if (!(VerificaData(ggD,mmD,aaaaD)))
	{
		alert('Nel campo \"Dal\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoDal.focus();
		return;
	}
	
	if (!(VerificaDataOK(ggD,mmD,aaaaD)))
	{
		alert('La data specificata nel campo \"Dal\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoDal.focus();
		TheForm.visualizzareport.disabled = false;
		return;
	}
	
	//---Data 'Al' ----------------------------------
	ggA = TheForm.ddmGiornoAl.selectedIndex;
	mmA = TheForm.ddmMeseAl.selectedIndex;
	aaaaA = TheForm.txtAnnoAl.value;
			
	if (!(VerificaData(ggA,mmA,aaaaA)))
	{
		alert('Nel campo \"Al\" non è stata specificata alcuna data.\nSi prega di inserire una data, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	if (!(VerificaDataOK(ggA,mmA,aaaaA)))
	{
		alert('La data specificata nel campo \"Al\" non è corretta.\nSi prega di compilare in modo completo\n e corretto, grazie.');
		TheForm.ddmGiornoAl.focus();
		return;
	}
	//--- Controlli superati ---------------------------
	//TheForm.visualizzareport.disabled = true;
	TheForm.submit();
}

