//verifica che il valore inserito in input text sia intero numerico intero

function isNumeric(input) {

	var nome = input.name;
	var valore = input.value;
	var the_form = input.form.name;


	if(isNaN(valore)){

		var messaggio = 'Inserire un valore numerico';

		window.alert(messaggio);
		document.forms[the_form].elements[nome].value =  '';
		input.blur();
		return false;


	} else {

		var stringa = valore.toString();

		if(stringa.indexOf('.') > 0){

			var messaggio = 'Inserire un valore numerico intero';

			window.alert(messaggio);
			document.forms[the_form].elements[nome].value =  '';
			input.blur();
			return false;


		}
	}
	return true;
}


//verifica che il valore inserito in input text sia un numero decimale

function isDecimal(input, precisione) {

	var nome = input.name;
	var valore = input.value;
	var the_form = input.form.name;


		var espressione = /^\d+((\,|\.)\d{1,2})?$/ ;
		//var espressione = /^([0-9])+((\,|\.)([0-9]){1,2})?/;

		if (!espressione.test(valore))
		{
			var messaggio = 'Inserire un valore numerico decimale';

			window.alert(messaggio);
			document.forms[the_form].elements[nome].value =  '';
			input.blur();
			return false;
		}

		//effettua l'arrotondamento se precisione è impostato
		if(precisione != ""){
	
			valore = valore.replace(",",".");
			document.forms[the_form].elements[nome].value =  myRound(valore, precisione);
		}

	
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function isEuroNumeric(input) {

	var nome = input.name;
	var valore = input.value;
	var the_form = input.form.name;
	var new_valore = '';
	var decimal = 2;
	var counted = 0;
	var start = false;
	var startLoop = 0;

	if(valore.substr(0,1) == '-') startLoop = 1;
	for (i = startLoop; i < valore.length; i++) {
		if (valore.substr(i,1) == "," || valore.substr(i,1) == ".") {
			new_valore += ".";
			start = true;
		} else {
			new_valore += valore.substr(i,1);
			if(start){counted++;}
			if(counted >= decimal) {break;}
		}
	}

	if(isNaN(new_valore)){

		var messaggio = 'Inserire un valore numerico';
		window.alert(messaggio);
		document.forms[the_form].elements[nome].value =  '';
		input.blur();
		return false;

	}

	document.forms[the_form].elements[nome].value =  new_valore;
	return true;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function myRound(numero, precisione) {

	var numeros = numero.toString();
	var intero = '';
	var decimale = '';
	var i = 0;
	var new_numero = 0;
	var posizione = 'i';
	var resto = '';

	while (i < numeros.length) {

		if(posizione == 'i'){
			if(numeros.substr(i,1) == '.'){
				posizione = 'd';
			} else {
				intero += numeros.substr(i,1);
			}
		} else {
			if(decimale.length < precisione){
				decimale += numeros.substr(i,1);
				resto += 0;
			} else if(decimale.length == precisione){
				decimale += 0;
				if(numeros.substr(i,1) > 4){
					resto += 1;
				}
			}
		}
		i++;
	}
	if(decimale.length > 0) {
		decimale = '.' + decimale;
	}
	resto = '0.' + resto;
	new_numero = intero + decimale;
	new_numero = eval(new_numero) + eval(resto);
	return new_numero;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function check_date(field){

	var checkstr = "0123456789";

	var alphabet = "abcdefghilmnopqrstuvzwxyk";

	var admitted_sep = "/-.,";

	var DateField = field;

	var DateFieldName = field.name;

	var DateForm = field.form.name;

	var Datevalue = "";

	var DateTemp = "";

	var seperator = "/";

	var day;

	var month;

	var year;

	var step = 0;

	var err = 0;

	var i;

	err = 0;

	DateValue = DateField.value;
	/* cancello tutti i dati tranne 0-9 */

	for (i = 0; i < DateValue.length; i++) {

		if (alphabet.indexOf(DateValue.substr(i,1)) >= 0) {

			alert("Inserire una data nel formato mostrato a fianco");
			document.forms[DateForm].elements[DateFieldName].value = '';
			return false;


		}


		if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {

			DateTemp = DateTemp + DateValue.substr(i,1);

		}


		if (admitted_sep.indexOf(DateValue.substr(i,1)) >= 0) {

			if(DateTemp.length == 1) {

				DateTemp = "0" + DateTemp;
			}

			if(DateTemp.length == 3) {

				DateTemp = DateTemp.substr(0,2) + "0" + DateTemp.substr(2,1);
			}

		}

	}

	DateValue = DateTemp;

	/* se l'anno è inserito con 2 valori lo cambio sempre con  20xx */

	if (DateValue.length == 6) {

		DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }

		if (DateValue.length != 8) {

			err = 19;}

			/* anno sbagliato 0000 */

			year = DateValue.substr(4,4);

			if (year == 0) {

				err = 20;

			}

			/* validazione del mese*/

			month = DateValue.substr(2,2);

			if ((month < 1) || (month > 12)) {

				err = 21;

			}

			/* validazione del giorno */

			day = DateValue.substr(0,2);

			if (day < 1) {

				err = 22;

			}

			/* Validazione anno / febbraio / gg */

			if ((year % 4 == 0)) {

				step = 1;

			}

			if ((month == 2) && (step == 1) && (day > 29)) {

				err = 23;

			}

			if ((month == 2) && (step != 1) && (day > 28)) {

				err = 24;

			}

			/* validazione dei mesi */

			if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {

				err = 25;

			}

			if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {

				err = 26;

			}

			/* se è inserito 00 cancello i dati */

			if ((day == 0) && (month == 0) && (year == 00)) {

				err = 0; day = ""; month = ""; year = ""; seperator = "";

			}

			/* Se non ci sono errori inserisco la data (esempio 13.12.2001) */

			if (err == 0) {

				DateField.value = day + seperator + month + seperator + year;
				return true;

			}

			/* Messaggio di errore, avviso di data corretta se err diverso da 0 */

			else {

				alert("La data inserita non è corretta.\n\nI formati supportati sono:\n  - ggmmaa\n  - ggmmaaaa\n  - gg/mm/aa\n  - gg/mm/aaaa\n");

				DateField.select();

				DateField.focus();

				document.forms[DateForm].elements[DateFieldName].value = '';

				return false;

			}

}

//funzione per testare la completezza del form di accesso

function check_log(accesso){


	if( (accesso.user.value.length == 0) || (accesso.psw.value.length == 0)){

		window.alert('Inserire username e password');
		return false;

	} else {

		return true;

	}

}

//funzione per testare la completezza del form di accesso

function check_psw(psw){


	if( (psw.password_uno.value.length == 0) || (psw.password_due.value.length == 0)){

		window.alert('Inserire tutte le informazioni richieste');
		return false;

	} else if (psw.password_uno.value != psw.password_due.value) {

		window.alert('Verificare i valori inseriti in quanto non corrispondono');
		return false;

	} else {

		return true;


	}
}





//verifica del form inserimento nuovo allievo

function check_nuovo(the_form){


	selTarget = the_form.cf.value.toLowerCase();

	cod_fisc = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
	reTrim=/\s+$|^\s+/g;
	analisi = selTarget.toUpperCase();

	if(the_form.Nome.value.length == 0 | the_form.Cognome.value.length == 0 | the_form.cf.value.length == 0) {
		window.alert('Tutti e tre i valori devono essere inseriti obbligatoriamente');
		return false;

	} else if(the_form.cf.value.length != 16){

		window.alert('La lunghezza del codice fiscale deve essere di 16 caratteri');
		return false;

	} else if (analisi.length != 0) {

		codiceF = analisi.replace(reTrim,"");

		if (cod_fisc.test(codiceF) != true) {

			window.alert('Il codice fiscale deve essere nella forma LLLLLLnnLnnLnnnL');

			return false;
		}
	}

	ultimaLetCorretta = get_sedicesimo_cf(selTarget);
	ultimaLetInserita = selTarget.substring(16, 15);
	//alert(ultimaLetCorretta+'-'+ultimaLetInserita);
	//controllo correttezza formale sedicesimo carattere

	if (ultimaLetCorretta != ultimaLetInserita){

		window.alert('Il codice fiscale inserito non è formalmente corretto');
		return false;


	}

	return true;


}

//verifica i campi in formato ora
function chk_ora(the_field){

	if (the_field.value.length == 0) { return true;}

	var separator = ':';
	var alphabet = "abcdefghilmnopqrstuvzwxyk";
	var checkstr = "0123456789";
	var HourTemp = '';
	var ora = '';
	var minuti = '';


	/* cancello tutti i dati tranne 0-9 */

	for (i = 0; i < the_field.value.length; i++) {

		if (alphabet.indexOf(the_field.value.substr(i,1)) >= 0) {

			alert("L\'orario deve essere inserito nel formato oo:mm");
			the_field.value = '';
			return false;


		}


		if (checkstr.indexOf(the_field.value.substr(i,1)) >= 0) {

			HourTemp = HourTemp + the_field.value.substr(i,1);

		}

	}



	if (HourTemp.length == 2 || HourTemp.length == 1) {

		HourTemp = HourTemp + '00';

	}

	if((HourTemp.length != 3) && (HourTemp.length != 4)) {

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.value = '';
		return false;

	}


	if (HourTemp.length == 3){

		ora = HourTemp.substr(0,1);
		minuti = HourTemp.substr(1,2);

	} else {

		ora = HourTemp.substr(0,2);
		minuti = HourTemp.substr(2,2);


	}

	if(ora < 0 || ora > 23) {

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.value = '';
		return false;


	}

	if (minuti < 0 || minuti > 59){

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.value = '';
		return false;


	}

	the_field.value = ora + separator + minuti;
	return true;
}
//inizio
function chk_ora_totale(the_field){

	if (the_field.value.length == 0) { return true;}

	var separator = ':';
	var alphabet = "abcdefghilmnopqrstuvzwxyk";
	var checkstr = "0123456789";
	var HourTemp = '';
	var MinuteTemp = '';
	var ora = '';
	var minuti = '';


	var splittedHour = the_field.value.split(':');
	if(splittedHour[1] == null) splittedHour[1] = '00';
	/* cancello tutti i dati tranne 0-9 */

	for (i = 0; i < splittedHour[0].length; i++) {
		if (alphabet.indexOf(splittedHour[0].substr(i,1)) >= 0) {
			alert("L\'orario deve essere inserito nel formato oo:mm");
			the_field.value = '';
			return false;
		}

		if (checkstr.indexOf(splittedHour[0].substr(i,1)) >= 0) {
			HourTemp = HourTemp + splittedHour[0].substr(i,1);
		}
	}

	for (i = 0; i < splittedHour[1].length; i++) {
		if (alphabet.indexOf(splittedHour[1].substr(i,1)) >= 0) {
			alert("L\'orario deve essere inserito nel formato oo:mm");
			the_field.value = '';
			return false;
		}

		if (checkstr.indexOf(splittedHour[1].substr(i,1)) >= 0) {
			MinuteTemp = MinuteTemp + splittedHour[1].substr(i,1);
		}
	}

	if (MinuteTemp.length == 1) {
		MinuteTemp = '0' + MinuteTemp;
	}


	if(HourTemp < 0) {

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.value = '';
		return false;


	}

	if (MinuteTemp < 0 || MinuteTemp > 59){

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.value = '';
		return false;


	}

	the_field.value = HourTemp + separator + MinuteTemp;
	return true;
}

//fine

//funzione per testare la correttezza del codice fiscale
function check_cf(the_form){

	if(the_form.Nome.value.length == 0 | the_form.Cognome.value.length == 0 | the_form.cf.value.length == 0) {
		window.alert('I valori Nome, Cognome e codice fiscale sono obbligatori');
		return false;
	}
	if(the_form.cf.value.length != 16){
		window.alert('La lunghezza del codice fiscale deve essere di 16 caratteri');
		return false;
	}
	selTarget = the_form.cf.value.toLowerCase();

	cod_fisc = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
	reTrim=/\s+$|^\s+/g;
	analisi = selTarget.toUpperCase();

	if (analisi.length != 0) {
		codiceF = analisi.replace(reTrim,"");
		if (cod_fisc.test(codiceF) != true) {
			gestMessaggio ("Il codice fiscale inserito nel campo " + selTarget + " non e' valido.\n");
			return false;
		}
	}
	ultimaLetCorretta = get_sedicesimo_cf(selTarget);
	ultimaLetInserita = selTarget.substring(16, 15);
	//controllo correttezza formale sedicesimo carattere
	if (ultimaLetCorretta != ultimaLetInserita){

		window.alert('Il codice fiscale inserito non è formalmente corretto');
		return false;


	}


	return true;
}

//ricava il sedicesimo carattere di un cf dati i primi 15

function get_sedicesimo_cf(cf){


	somma = get_let_dispari(cf.charAt(0)) +
	get_let_pari (cf.charAt(1)) +
	get_let_dispari(cf.charAt(2)) +
	get_let_pari (cf.charAt(3)) +
	get_let_dispari(cf.charAt(4)) +
	get_let_pari (cf.charAt(5)) +
	eval(get_num_dispari (cf.charAt(6))) +
	eval(cf.charAt(7)) +
	get_let_dispari(cf.charAt(8)) +
	eval(cf.charAt(9)) +
	eval(get_num_dispari (cf.charAt(10))) +
	get_let_pari (cf.charAt(11)) +
	eval(get_num_dispari (cf.charAt(12))) +
	eval(cf.charAt(13)) +
	eval(get_num_dispari (cf.charAt(14)));




	divisione = somma / 26;
	arrotondamento = Math.floor (divisione);
	modulo = somma - (arrotondamento * 26);

	stringa = "abcdefghijklmnopqrstuvwxyz";
	lastLetter = stringa.substring(modulo , modulo + 1);

	//debug
	//alert('somma = '+somma+'\ndivisione = '+divisione+'\narrotondamento ='+arrotondamento+'\nmodulo = '+modulo+'\nlettera = '+lastLetter);
	return lastLetter;


}

//ritorna il valore assunto da una lettera pari nel calcolo del cf
function get_let_pari (lettera){

	searchString = "abcdefghijklmnopqrstuvwxyz";
	return searchString.indexOf(lettera);


}

//ritorna il valore assunto da una lettera dispari nel calcolo del cf
function get_let_dispari (lettera){

	searchString = "bakplcqdrevosftguhminjwzyx";
	valore = searchString.indexOf(lettera);
	return valore;


}

//ritorna il valore assunto da un numero dispari nel calcolo del cf
function get_num_dispari (numero){

	valori = new Array(1,0,5,7,9,13,15,17,19,21);
	return valori[numero];




}

//	finzione che ABILITA e DISABILITA i campi in base al valore di un campo
function enableDisableField(nome_form, abilita, disabilita){

	for(i=0; i < abilita.length; i++){
		var abilit = abilita[i];
		document.forms[nome_form].elements[abilit].disabled = false;
	}
	for(i=0; i < disabilita.length; i++){
		var disabilit = disabilita[i];
		document.forms[nome_form].elements[disabilit].disabled = true;
	}
}

//funzione per confrontare le date
//ritorna 0 se uguali
//1 se data_uno > data_due
//- 1 se data_uno < data_due
//si attende due date gg/mm/aaaa

function DateCmp (data_uno , data_due ) {

	anno_uno = eval(data_uno.substr(6,4));
	anno_due = eval(data_due.substr(6,4));


	if (anno_uno > anno_due) return 1;
	if (anno_uno < anno_due) return -1;

	mese_uno = eval(data_uno.substr(3,2));
	mese_due = eval(data_due.substr(3,2));

	if (mese_uno > mese_due) return 1;
	if (mese_uno < mese_due) return -1;

	giorno_uno = eval(data_uno.substr(0,2));
	giorno_due = eval(data_due.substr(0,2));

	if (giorno_uno > giorno_due) return 1;
	if (giorno_uno < giorno_due) return -1;

	return 0;



}

//verifica i campi in formato ora
function chk_ora_tot(the_field){

	if (the_field.value.length == 0) { return true;}

	var separator = ':';
	var alphabet = "abcdefghilmnopqrstuvzwxyk";
	var checkstr = "0123456789";
	var HourTemp = '';
	var ora = '';
	var minuti = '';


	/* cancello tutti i dati tranne 0-9 */

	for (i = 0; i < the_field.value.length; i++) {

		if (alphabet.indexOf(the_field.value.substr(i,1)) >= 0) {

			alert("L\'orario deve essere inserito nel formato oo:mm");
			the_field.setAttribute('value','');
			return false;


		}


		if (checkstr.indexOf(the_field.value.substr(i,1)) >= 0) {

			HourTemp = HourTemp + the_field.value.substr(i,1);

		}

	}



	if (HourTemp.length == 2 || HourTemp.length == 1) {

		HourTemp = HourTemp + '00';

	}

	if((HourTemp.length != 3) && (HourTemp.length != 4)&& (HourTemp.length != 5)) {

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.setAttribute('value','');
		return false;

	}


	if (HourTemp.length == 3){

		ora = HourTemp.substr(0,1);
		minuti = HourTemp.substr(1,2);

	} else if(HourTemp.length == 5) {

		ora = HourTemp.substr(0,3);
		minuti = HourTemp.substr(3,2);


	}else {

		ora = HourTemp.substr(0,2);
		minuti = HourTemp.substr(2,2);


	}


	if (minuti < 0 || minuti > 59){

		alert("L\'orario deve essere inserito nel formato oo:mm");
		the_field.setAttribute('value','');
		return false;


	}

	the_field.value = ora + separator + minuti;
	return true;







}

//funzione per la creazione dinamica della lista valori comuni data la provincia
//presuppone che la pagina html ( o altro) contenga delle variabili js così fatte:
//var (sigla provincia) = array con elementi un array per ogni comune array(nome comune, codice, flag residenza (1 se residenza, 0 no)
//riceve come variabili il nome del form su cui agire
//il nome della select da riempire
//la sigla della provincia di riferimento
//il comune eventualmente selezionato
//tipo nascita per nascita, qualsiasi altra cosa pe residenza, domicilio etc...
function crea_comuni(the_form, the_newselect, pr, sel_com, tipo) {

	if (document.getElementById)
	{
		if (pr !="")
		{
			//alert(pr);
			elenco=eval(pr);
			//alert(elenco);
			lunghezza=elenco.length;

			if (!document.getElementById(the_newselect))
			{
				//lasciato questa parte, ma se il campo viene aggiunto dinamicamente non riesco a riceverlo in post
				var newElem = document.createElement("select");
				newElem.id=the_newselect;
				document.getElementById(the_form).appendChild(newElem);
			}
			else
			{
				old_list=document.getElementById(the_newselect).childNodes.length;
				for (i=0;i<old_list;i++)
				{
					old_opt=document.getElementById(the_newselect).childNodes;
					document.getElementById(the_newselect).removeChild(old_opt[0]);
				}
			}
			for (i=0; i<lunghezza; i++)
			{
				if( (tipo == 'nascita') || (elenco[i][2] == 1) ) {
					var newElem1= document.createElement("option");
					newElem1.setAttribute('value',elenco[i][1]);
					var newText1 = document.createTextNode(elenco[i][0]);
					newElem1.appendChild(newText1);
					document.getElementById(the_newselect).appendChild(newElem1);
					if(sel_com != '' && sel_com == elenco[i][1]) {

						newElem1.setAttribute('selected',true);

					}
				}
			}
			document.getElementById(the_newselect).style.display="inline";

		}
		else
		{
			document.getElementById(the_newselect).setAttribute('value' , '');
			document.getElementById(the_newselect).style.display="none";
		}
	}
}
/*
MODIFICATA DA ANDREA TOSI
e' da richiamare anche nelle pagine di gestione
*/
//funzione per la creazione dinamica della lista valori comuni data la provincia
//presuppone che la pagina html ( o altro) contenga delle variabili js così fatte:
//var (sigla provincia) = array con elementi un array per ogni comune array(nome comune, codice, flag residenza (1 se residenza, 0 no)
//riceve come variabili il nome del form su cui agire
//il nome della select da riempire
//la sigla della provincia di riferimento
//il comune eventualmente selezionato
//tipo nascita per nascita, qualsiasi altra cosa pe residenza, domicilio etc...
function crea_comuni_tosi(the_form, the_newselect, pr, sel_com, tipo) {

	form_object=document.forms[the_form];
	select_object=document.forms[the_form].elements[the_newselect];


	if (document)
	{
		if (pr !="")
		{
			//alert(pr);
			elenco=eval(pr);
			//alert(elenco);
			lunghezza=elenco.length;

			if (!select_object)
			{
				//lasciato questa parte, ma se il campo viene aggiunto dinamicamente non riesco a riceverlo in post
				var newElem = document.createElement("select");
				newElem.name=the_newselect;
				form_object.appendChild(newElem);
			}
			else
			{
				old_list=select_object.childNodes.length;
				for (i=0;i<old_list;i++)
				{
					old_opt=select_object.childNodes;
					select_object.removeChild(old_opt[0]);
				}
			}
			for (i=0; i<lunghezza; i++)
			{
				if( (tipo == 'nascita') || (elenco[i][2] == 1) ) {
					var newElem1= document.createElement("option");
					newElem1.setAttribute('value',elenco[i][1]);
					var newText1 = document.createTextNode(elenco[i][0]);
					newElem1.appendChild(newText1);
					select_object.appendChild(newElem1);
					var sup_sel_com = sel_com.toUpperCase();
					if(sel_com != '' && sup_sel_com == elenco[i][1]) {
						newElem1.selected=true;
						//newElem1.setAttribute('selected',true);

					}
				}
			}
			select_object.style.display="inline";

		}
		else
		{
			select_object.setAttribute('value' , '');
			select_object.style.display="none";
			//modificato Nicola Fornaciari: non aggiorna sulla pagina con Mozilla
			if(navigator.appName == 'Netscape') {
				select_object.refresh;
			}
			//document.getElementById(the_newselect).style.display="none";
		}
	}
}
function crea_comuni_tosibis(the_form, the_newselect, pr, sel_com) {

	form_object=document.forms[the_form];
	select_object=document.forms[the_form].elements[the_newselect];


	if (document)
	{
		if (pr !="")
		{
			//alert(pr);
			elenco=comuni[pr];
			//alert(elenco);
			lunghezza=elenco.length;

			if (!select_object)
			{
				//lasciato questa parte, ma se il campo viene aggiunto dinamicamente non riesco a riceverlo in post
				var newElem = document.createElement("select");
				newElem.name=the_newselect;
				form_object.appendChild(newElem);
			}
			else
			{
				old_list=select_object.childNodes.length;
				for (i=0;i<old_list;i++)
				{
					old_opt=select_object.childNodes;
					select_object.removeChild(old_opt[0]);
				}
			}
			var newElem1= document.createElement("option");
			newElem1.setAttribute('value','');
			var newText1 = document.createTextNode('---SELEZIONARE UN VALORE---');
			newElem1.appendChild(newText1);
			select_object.appendChild(newElem1);
			for (i=0; i<lunghezza; i++)
			{
					var newElem1= document.createElement("option");
					newElem1.setAttribute('value',elenco[i][0]);
					var newText1 = document.createTextNode(elenco[i][0]);
					newElem1.appendChild(newText1);
					select_object.appendChild(newElem1);
					var sup_sel_com = sel_com.toUpperCase();
					var sup_compare = elenco[i][0].toUpperCase();
					if(sel_com != '' && sup_sel_com == sup_compare) {
						newElem1.selected=true;
						//newElem1.setAttribute('selected',true);
					}
			}
			select_object.style.display="inline";

		}
		else
		{
			select_object.setAttribute('value' , '');
			select_object.style.display="none";
			//modificato Nicola Fornaciari: non aggiorna sulla pagina con Mozilla
			if(navigator.appName == 'Netscape') {
				select_object.refresh;
			}
			//document.getElementById(the_newselect).style.display="none";
		}
	}
}

//funzione per inibire il doppio submit di un form
function nonDuplicare (the_form) {

	if(the_form.azione.value == 0) {

		var continua = confirm('L\'operazione può richedere alcuni minuti. Non interrompere il caricamento della pagina per il buon esito dell\'operazione. Proseguire?');

		if(continua) {

			the_form.azione.setAttribute('value', 1);
			return true;
		}
		return false;

	} else {

		alert('Troppi click');
		return false;

	}


}

function cambia_paging(the_field, the_max){

	var valore = the_field.value;

	if(! isNumeric(the_field)) {

		return false;

	}

	if(valore > the_max) {

		alert('Il numero massimo di righe per pagina è ' + the_max);
		return false;

	}

	the_field.form.submit();

}

function row_on(the_row){

	colonne = the_row.cells.length;
	for(i=0; i < colonne ; i++) {

		the_row.cells[i].className = 'cellaTabellaOn';

	}

}

function row_out(the_row){

	colonne = the_row.cells.length;
	for(i=0; i < colonne ; i++) {

		the_row.cells[i].className = 'cellaTabella';

	}

}

//confronta due ore(formattazione hh:mm:
//se first > second ritorna 1
//se first = secpnd ritorna 0
//se first < secpnd ritorna -1
function hour_compare(first_h, second_h){

	var orario_uno = first_h.split(':');
	var orario_due = second_h.split(':') ;
	var diff_ore = eval(orario_due[0]) - eval(orario_uno[0]);
	var diff_minuti = eval(orario_due[1]) - eval(orario_uno[1]);

	if(diff_minuti < 0) {

		diff_ore = diff_ore - 1;
		diff_minuti = 60 + diff_minuti;

	}

	if(eval(orario_uno[0]) < eval(orario_due[0])){
		return -1;
	}

	if(eval(orario_uno[0]) > eval(orario_due[0])){
		return 1;
	}

	if(eval(orario_uno[1]) > eval(orario_due[1])){
		return 1;
	}

	if(eval(orario_uno[1]) < eval(orario_due[1])){
		return -1;
	}

	return 0;

}

function chk_anno(the_anno){
	
	if(! isNumeric(the_anno)) {return;}

	if( the_anno.value.length != 4) {
		
		the_anno.value ='';
		alert ('Inserire un valore numerico di 4 cifre');
		
	}
	
}

//controllo messaggio e campi obbligatori
function controllo_schb(modulistica,bando){
	var disp=0;
	var bono=true;
	//cambiare nome form
	var theForm=scheda;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Indirizzo Sede Legale#sl_ind,Cap Sede Legale#sl_cap,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#sl_tel,FAX Sede Legale#sl_fax,Nome Legale Rappresentante#leg_nome,Cognome Legale Rappresentante#leg_cognome,Codice Fiscale Legale Rappresentante#leg_cf,Data di nascita Legale Rappresentante#leg_data,Sesso Legale Rappresentante#leg_sesso,Provincia di nascita Legale Rappresentante#leg_prov,Comune di nascita Legale Rappresentante#leg_com,Telefono Legale Rappresentante#leg_tel,Fax Legale Rappresentante#leg_fax,E-mail Legale Rappresentante#leg_mail,Provincia di residenza Legale Rappresentante#leg_provre,Comune di residenza Legale Rappresentante#leg_comre,Indirizzo residenza Legale Rappresentante#leg_indre,Tipo di documento d'identità Legale Rappresentante#leg_tipodoc,Numero documento d'identità Legale Rappresentante#leg_numdoc,Contributo Richiesto#nuovo_fin,Cofinanziamento#nuovo_cofin,Costo del Lavoro#nuovo_cl";	//,Fatturato#ai_fatturato
	//Data di nascita Legale Rappresentante#leg_data,
	var id=pelenco.split(",");// alert(pelenco);
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}


	if(bando.substring(0,1)!="C"){
  	//regime di aiuti
  	  if (bono==true) { 
  		var pregime= radio('regime'); //alert(pregime);
  		if (pregime)
  		{
    		bono=true;
  		}
  		else
  		{
    		bono=false;
    		alert ("Scegliere il Regime di aiuti");
  		}
	  }
	}
	
	 if(modulistica>5){ 
	//controllo che il COSTO DEI LAVORATORI non sia mai superiore al COFINANZIAMENTO
	  if (bono==true) { 
  		var cofinanziamento= parseFloat(theForm.elements['nuovo_cofin'].value); //alert(cofinanziamento);
  		var costolavoro= parseFloat(theForm.elements['nuovo_cl'].value); //alert(costolavoro);
  		if (costolavoro>cofinanziamento)
  		{
    		bono=false;
    		alert ("Il costo del lavoro non può essere superiore al cofinanziamento");
  		}
	  }
	 }
	
	 //per il bando 13 controllo che il finanziamento sia maggiore di zero
	  if (bono==true) { 
	 		var finanziamento= parseFloat(theForm.elements['nuovo_fin'].value); 
	 		if((bando=='I10S13') && (finanziamento <= 0)){
	 			bono=false;
    			alert ("Il finanziamento deve essere maggiore di zero");
	 		}
	  }
	  
	
	  //controllo deminimis in relazione ai massimali
	  if (bono==true) {
	  	var regime=document.getElementsByName('regime')[1].checked;  
	  	if(regime){

	  		//alert("val-"+document.scheda.elements["ai_spec_deminimis"].options[document.scheda.elements["ai_spec_deminimis"].selectedIndex].value+"-");

	  		var regolamento=document.scheda.elements["ai_spec_deminimis"].options[document.scheda.elements["ai_spec_deminimis"].selectedIndex].value;
	  		var disp_deminimis=parseFloat(document.getElementsByName('disp')[0].value);
	  		
		if(!(isNaN(parseFloat(disp_deminimis)))){
				disp_deminimis = parseFloat(disp_deminimis); 
		}else{bono=false; alert("Specificare la Disponibilità \"De minimis\": inserire un valore e separare i decimali con il punto (0000.00)");}

	  		if(disp_deminimis=="")
	  		{
	  			alert("Specificare la Disponibilità \"De minimis\"");
	  			bono=false;
	  		}else{

	  			if(regolamento=="")
	  			{
	  				alert("Specificare il regolamento comunitario di riferimento");
	  				bono=false;
	  			}else{


	  				switch(regolamento){

	  					case '875/2007':

	  					if(disp_deminimis>parseFloat(30000)){
	  						alert("La disponibilità De minimis ("+ disp_deminimis +") eccede il massimo richiedibile (30000)");
	  						bono=false;
	  					}
	  					break;
	  					case '1535/2007':

	  					if(disp_deminimis>parseFloat(7500)){
	  						alert("La disponibilità De minimis ("+ disp_deminimis +") eccede il massimo richiedibile (7500)");
	  						bono=false;
	  					}
	  					break;
	  					case '1998/2006':

	  					if(disp_deminimis>parseFloat(200000)){
	  						alert("La disponibilità De minimis ("+ disp_deminimis +") eccede il massimo richiedibile (200000)");
	  						bono=false;
	  					}
	  					break;
	  					case '1998/2006 - settore trasporti':

	  					if(disp_deminimis>parseFloat(100000)){
	  						alert("La disponibilità De minimis ("+ disp_deminimis +") eccede il massimo richiedibile (100000)");
	  						bono=false;
	  					}
	  					break;
	  					case 'Comunicaz. UE 2009/C 16/01':

	  					if(disp_deminimis>parseFloat(500000)){
	  						alert("La disponibilità De minimis ("+ disp_deminimis +") eccede il massimo richiedibile (500000)");
	  						bono=false;
	  					}
	  					break;

	  				}
	  			}

	  		}
	  	}

	  }
	  
	  //controlli sul regime 800/2008
	  /*if (bono==true) {
	  	var regime=document.getElementsByName('regime')[0].checked;  
	  	if(regime){

	  		var fatturato=document.getElementsByName('ai_fatturato')[0].value;
	  		var bilancio=document.getElementsByName('ai_totale_bilancio')[0].value; 
	  		var ULA = document.getElementsByName('ai_ULA')[0].value;
	  		
	  		//è possibile inserire anche 0 il fatturato
	  		//if(bando == 'I10S13'){
	  			//if((parseFloat(fatturato) < 0) || (parseFloat(bilancio) <= 0)){ 
	  			//	alert("Il fatturato non deve essere minore di 0 e totale bilancio deve essere maggiore di 0");
	  			//	bono=false;
	  			}
	  		//}else{
	  		
	  		//	if((parseFloat(fatturato) <= 0) || (parseFloat(bilancio) <= 0)){ 
	  		//		alert("I valori fatturato e totale bilancio devono essere maggiori di 0");
	  		//		bono=false;
	  		//	}
	  		//}
	  	
	  			if(parseFloat(fatturato) < 0) { 
	  				alert("Il fatturato non deve essere minore di 0");
	  				bono=false;
	  			}
	  			
	  			if(isNaN(parseFloat(ULA))){
					bono=false; 
					alert("Specificare ULA: inserire un valore e separare i decimali con il punto (0000.00)");
	  			}

	  	
	  	}
	  		
	  }*/
	  
	
	return bono;

}


//controlla valori pulsanti radio

function radio(pvar){
	var bono=false;
	var el=document.getElementsByName(pvar).length; //alert(el);

	for(var i=0;i<el;i++){
		if(document.getElementsByName(pvar)[i].checked){
			bono=true;
		}
		
	}
	return bono;
}

function annulla_scelta_regime(){
		
		var el=document.getElementsByName('regime').length; //alert(el);

		for(var i=0;i<el;i++){
			
			if(document.getElementsByName('regime')[i].checked){

				document.getElementsByName('regime')[i].checked = false;
			
			}
		
		}
		//non fa visualizzare i dati del regime selezionato
		upd_regime('');
}

function disabilita_scelta_regime(){
	
		//non fa visualizzare i dati del regime selezionato
		upd_regime('');
		
		var el=document.getElementsByName('regime').length;
		
		for(var i=0;i<el;i++){
			
				document.getElementsByName('regime')[i].disabled = true;		
		
		}
		
}


function controllo_organico(bando){
	
	var bono=true;
	//cambiare nome form
	var theForm=new_organico;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Regione organico#org_regione,Dipendenti e soci lavoratori Maschi#org_indfm,Dipendenti e soci lavoratori Femmine#org_indff,Collaboratori/Apprendisti Maschi#org_altrom,Collaboratori/Apprendisti Femmine#org_altrof,Destinatari Dipendenti e Soci maschi#org_benm,Destinatari Dipendenti e Soci femmine#org_benf,Dipendenti e Soci lavoratori in ammortizzatori sociali maschi#Lav_amm_M,Dipendenti e Soci lavoratori in ammortizzatori sociali femmine#Lav_amm_f,Destinatari Collaboratori/Apprendisti maschi#Destin_collab_M,Destinatari Collaboratori/Apprendisti femmine#Destin_collab_f,Destinatari Dipendenti e Soci lavoratori in ammortizzatori sociali maschi#Destin_amm_M,Destinatari Dipendenti e Soci lavoratori in ammortizzatori sociali femmine#Destin_amm_f,Collaboratori/Apprendisti in ammortizzatori sociali Maschi#Collab_amm_M,Collaboratori/Apprendisti in ammortizzatori sociali Femmine#Collab_amm_f,Destinatari Collaboratori/ Apprendisti in ammortizzatori sociali Maschi#Collab_dest_M,Destinatari Collaboratori/ Apprendisti in ammortizzatori sociali Femmine#Collab_dest_f,ULA#ula";
	pelenco += ",Lavoratori Agricoli Maschi#agricoliOrganicoM,Lavoratori Agricoli Femmine#agricoliOrganicoF,Destinatari Lavoratori Agricoli Maschi#agricoliOrganicoMDest,Destinatari Lavoratori Agricoli Femmine#agricoliOrganicoFDest,Lavoratori Agricoli in ammortizzatori sociali Maschi#agricoliAmmM,Lavoratori Agricoli in ammortizzatori sociali Femmine#agricoliAmmF,Destinatari Lavoratori Agricoli in ammortizzatori sociali Maschi#agricoliAmmMDest,Destinatari Lavoratori Agricoli in ammortizzatori sociali Femmine#agricoliAmmFDest";
	var id=pelenco.split(","); //alert(pelenco);
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		//
            		alert("Inserire "+ text[i2] + ". Se non presenti, indicare zero.");
            		bono=false;
        		}
  			}	
    	}	
  	}
  	
  	
  	
     	//controllo sul numero di destinatari commentato!
      	/*if(bono==true){
				var totale=parseInt(theForm.elements['org_benm'].value) + parseInt(theForm.elements['org_benf'].value)+parseInt(theForm.elements['Destin_collab_M'].value) + parseInt(theForm.elements['Destin_collab_f'].value)+parseInt(theForm.elements['Destin_amm_M'].value) + parseInt(theForm.elements['Destin_amm_f'].value)
				+ parseInt(theForm.elements['Mobilita_dest_M'].value) + parseInt(theForm.elements['Mobilita_dest_f'].value)+ parseInt(theForm.elements['agricoliOrganicoMDest'].value) + parseInt(theForm.elements['agricoliOrganicoFDest'].value);
				if(totale==0){alert("Il numero dei destinatari deve essere maggiore di zero"); bono=false;}
      	}*/

     	/*
      	if (bono==true) {
      		//controllo su tipo A e B per avviso 11 cod bando I09S11
      		var id_formazione=theForm.elements['id_tipo_formazione'].value;
      		switch (id_formazione){
      			case '12':
      			//var totale=parseInt(theForm.elements['org_benm'].value) + parseInt(theForm.elements['org_benf'].value)+parseInt(theForm.elements['Destin_collab_M'].value) + parseInt(theForm.elements['Destin_collab_f'].value) + parseInt(theForm.elements['Collab_dest_M'].value) + parseInt(theForm.elements['Collab_dest_f'].value);
      			var totale=parseInt(theForm.elements['org_benm'].value) + parseInt(theForm.elements['org_benf'].value)+parseInt(theForm.elements['Destin_collab_M'].value) + parseInt(theForm.elements['Destin_collab_f'].value);
      			if(totale>0){
      				alert("Tutti i destinatari devono essere in ammortizzatori sociali");
      				bono=false;
      			}

      			break;
      			case '13':
      			//proporzione
      			//ammortizzatori + mobilita
      			var tot_destinatari_ammortizzatori=parseInt(theForm.elements['Destin_amm_M'].value) + parseInt(theForm.elements['Destin_amm_f'].value) + parseInt(theForm.elements['Collab_dest_M'].value) + parseInt(theForm.elements['Collab_dest_f'].value) + parseInt(theForm.elements['Mobilita_dest_M'].value) + parseInt(theForm.elements['Mobilita_dest_f'].value); 
      			var totale=parseInt(theForm.elements['org_benm'].value) + parseInt(theForm.elements['org_benf'].value)+parseInt(theForm.elements['Destin_collab_M'].value) + parseInt(theForm.elements['Destin_collab_f'].value)+parseInt(theForm.elements['Destin_amm_M'].value) + parseInt(theForm.elements['Destin_amm_f'].value) + parseInt(theForm.elements['Collab_dest_M'].value) + parseInt(theForm.elements['Collab_dest_f'].value) + parseInt(theForm.elements['Mobilita_dest_M'].value) + parseInt(theForm.elements['Mobilita_dest_f'].value);
      			var percentuale=((tot_destinatari_ammortizzatori/totale)* 100); 
      			if(percentuale<50){
      				alert("Il totale dei destinatari in ammortizzatori sociali o in mobilita' deve essere almeno il 50% dei destinatari totali");
      				//bono=false; NON LO RENDO BLOCCANTE
      			}
      			break;
      		}
      	}*/
     	
      	//controllo che i "derivati" dei 4 totali siano inferiori o uguali al totale della tipologia di riferimento
      	if (bono==true) {
      		var totale=0;
      		var totale_parziale=0;
      		var testo="";
      		var mess="";
      		var esito="";
      		var subDestinatariTotale = 0;
      		var subAmmortizzatoriTotale = 0;
      		
      		
      		var arr  = new Array(
      		//label,totale,voci
      		Array("DIPENDENTI E SOCI LAVORATORI Maschi totali in organico", "org_indfm","org_benm","Lav_amm_M","Destin_amm_M"),
      		Array("DIPENDENTI E SOCI LAVORATORI Maschi di cui in Ammortizzatori Sociali", "Lav_amm_M","Destin_amm_M"),
      		Array("DIPENDENTI E SOCI LAVORATORI Maschi di cui destinatari in Ammortizzatori Sociali", "org_benm","Destin_amm_M"),   
      		   		
      		Array("DIPENDENTI E SOCI LAVORATORI Femmine totali in organico","org_indff","org_benf","Lav_amm_f","Destin_amm_f"),
      		Array("DIPENDENTI E SOCI LAVORATORI Femmine di cui in Ammortizzatori Sociali","Lav_amm_f","Destin_amm_f"),
      		Array("DIPENDENTI E SOCI LAVORATORI Femmine di cui destinatari in Ammortizzatori Sociali", "org_benf","Destin_amm_f"), 
     
			Array("COLLABORATORI/APPRENDISTI Maschi totali in organico","org_altrom","Destin_collab_M","Collab_amm_M","Collab_dest_M"),
			Array("COLLABORATORI/APPRENDISTI Maschi di cui in Ammortizzatori Sociali", "Collab_amm_M","Collab_dest_M"),
      		Array("COLLABORATORI/APPRENDISTI Maschi di cui destinatari in Ammortizzatori Sociali", "Destin_collab_M","Collab_dest_M"),   
      		
			Array("COLLABORATORI/APPRENDISTI Femmine totali in organico","org_altrof","Destin_collab_f","Collab_amm_f","Collab_dest_f"),
			Array("COLLABORATORI/APPRENDISTI Femmine di cui in Ammortizzatori Sociali", "Collab_amm_f","Collab_dest_f"),
      		Array("COLLABORATORI/APPRENDISTI Femmine di cui destinatari in Ammortizzatori Sociali", "Destin_collab_f","Collab_dest_f"),  
      		//--
      		Array("LAVORATORI AGRICOLI Maschi totali in organico", "agricoliOrganicoM","agricoliOrganicoMDest","agricoliAmmM","agricoliAmmMDest"),
      		Array("LAVORATORI AGRICOLI Maschi di cui in Ammortizzatori Sociali", "agricoliAmmM","agricoliAmmMDest"),
      		Array("LAVORATORI AGRICOLI Maschi di cui destinatari in Ammortizzatori Sociali", "agricoliOrganicoMDest","agricoliAmmMDest"),   
      		   		
      		Array("LAVORATORI AGRICOLI Femmine totali in organico","agricoliOrganicoF","agricoliOrganicoFDest","agricoliAmmF","agricoliAmmFDest"),
      		Array("LAVORATORI AGRICOLI Femmine di cui in Ammortizzatori Sociali","agricoliAmmF","agricoliAmmFDest"),
      		Array("LAVORATORI AGRICOLI Femmine di cui destinatari in Ammortizzatori Sociali", "agricoliOrganicoFDest","agricoliAmmFDest"), 
     			
			Array("LAVORATORI IN MOBILITA Maschi","Mobilita_M","Mobilita_dest_M"),
			Array("LAVORATORI IN MOBILITA Femmine","Mobilita_f","Mobilita_dest_f")       
      		);

      		for (var i=0; i<arr.length; i++) {

      			totale_parziale=0;
      			esito="";
      	
      			for (var i2=0; i2<arr[i].length; i2++) {
      				
      			      				
      				switch (parseInt(i2)){
      					case 0:
      					 	testo=arr[i][i2];
      					break;
      					
      					case 1:
      						totale=parseInt(theForm.elements[arr[i][i2]].value); 
      					break;
      					
      					default:

      						totale_parziale=parseInt(theForm.elements[arr[i][i2]].value); 
      					
      						if((parseInt(totale_parziale) > parseInt(totale))&&(esito=="")){
      							esito="No";
      						}
      						
      					break;
      				}
      				
      				
      			}
      			
      			//solo per avviso 16
      			if(bando == 'R11A16'){
      			
	      			//lo faccio solo per il primo valore dell'array per sezione organico (ho tutti i dati)
	      			if(arr[i].length == 5){
	
	      				subDestinatariTotale = parseInt(theForm.elements[arr[i][2]].value); 
	    	  			subAmmortizzatoriTotale = parseInt(theForm.elements[arr[i][3]].value);
	   
		      			if((parseInt(subDestinatariTotale) > parseInt(totale - subAmmortizzatoriTotale)) && (esito=="")) esito = "No";
	      			
	      			} 
      			}    			

      			
      			
				if(esito!=""){	
      				mess+="Attenzione i valori indicati per la tipologia ["+testo+"] sono maggiori del totale di riferimento o non sono coerenti\n";
      			}
      			
      			
     
      			
			}
			if(mess!=""){
						
					bono=false; 
					alert(mess);
			}
      	}
      	
      	//controllo sugli agricoli/ula
      	if (bono==true) {
        		var ula = parseInt(theForm.elements['ula'].value);
      		
      			var totaleAgricoli = parseInt(theForm.elements['agricoliOrganicoM'].value) + parseInt(theForm.elements['agricoliOrganicoF'].value);
				if(ula == 0 && totaleAgricoli > 0){alert("Il numero dei LAVORATORI AGRICOLI DI IMPRESE VERSANTI ALL'INPS TRAMITE DMAG deve essere zero"); bono=false;}
      	}
      
      	
	return bono;
}

function controllo_schc(soggettoProponente){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda_c;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale,Nome Legale Rappresentante#nome_rapp_legale,Cognome Legale Rappresentante#cognome_rapp_legale,Codice Fiscale Legale Rappresentante#cf_rapp_legale,Data di nascita Legale Rappresentante#dataNascita_rapp_legale,Sesso Legale Rappresentante#Sesso_rapp_legale";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
  	if(soggettoProponente == '7'){
  		//controllo accreditamento

  		if (bono==true) {


  			var contCertificazione = 0;

  			var accreditamentoRegioneitaliana=document.getElementsByName('accr_reg_italiana')[0].value;
  			var accreditamentoRegioneitalianaDomanda=document.getElementsByName('accr_data_domanda')[0].value;
  			var accreditamentoRegioneitalianaDal=document.getElementsByName('accr_data')[0].value;
  			var accreditamentoPressoFoncoop=document.getElementsByName('accr_data_coop')[0].value;

  			if((accreditamentoRegioneitaliana != "")&&(accreditamentoRegioneitalianaDal != "")) contCertificazione++;

  			if(accreditamentoRegioneitalianaDomanda != "") contCertificazione++;

  			if(accreditamentoPressoFoncoop != "") contCertificazione++;


  			if(parseInt(contCertificazione) == 0){
  				bono=false;
  				alert('Inserire almeno un Accreditamento');
  			}


  		}
  	}
	
	return bono;
	
}

function controllo_schd(){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda_d;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale,Nome Legale Rappresentante#nome_rapp_legale,Cognome Legale Rappresentante#cognome_rapp_legale,Codice Fiscale Legale Rappresentante#cf_rapp_legale,Data di nascita Legale Rappresentante#dataNascita_rapp_legale,Sesso Legale Rappresentante#Sesso_rapp_legale,Provincia di nascita Legale Rappresentante#leg_prov,Comune di nascita Legale Rappresentante#leg_com,Tel Legale Rappresentante#tel_rapp_legale,Fax Legale Rappresentante#fax_rapp_legale,E-mail Legale Rappresentante#email_rapp_legale,Provincia di residenza Legale Rappresentante#legr_prov,Comune di residenza Legale Rappresentante#legr_com,Indirizzo Legale Rappresentante#indirizzoRes_rapp_legale";	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
  	
  	//secondo controllo almeno una delle due deve essere valorizzata
	
   if (bono==true) { 
	

	var contCertificazione = 0; 
  	
	var accreditamentoRegioneitaliana=document.getElementsByName('accr_reg_italiana')[0].value;
	var accreditamentoRegioneitalianaDomanda=document.getElementsByName('accr_data_domanda')[0].value;
	var accreditamentoRegioneitalianaDal=document.getElementsByName('accr_data')[0].value;
	var accreditamentoPressoFoncoop=document.getElementsByName('accr_data_coop')[0].value; 
  	
    if((accreditamentoRegioneitaliana != "")&&(accreditamentoRegioneitalianaDal != "")) contCertificazione++;
 
	if(accreditamentoRegioneitalianaDomanda != "") contCertificazione++;
 
    if(accreditamentoPressoFoncoop != "") contCertificazione++;

 
	if(parseInt(contCertificazione) == 0){
		bono=false;
		alert('Inserire almeno un Accreditamento');
	}
  	
 
   }
	
	
	
	return bono;
	
}

function controllo_schk(){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda_d;
	//controllo campi obbligatori
	//Descrizione#campo
	//var pelenco="Ragione Sociale#ragione_sociale,Codice Fiscale#cf_org,Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale,Nome Legale Rappresentante#nome_rapp_legale,Cognome Legale Rappresentante#cognome_rapp_legale,Codice Fiscale Legale Rappresentante#cf_rapp_legale,Data di nascita Legale Rappresentante#dataNascita_rapp_legale,Provincia di nascita Legale Rappresentante#leg_prov,Comune di nascita Legale Rappresentante#leg_com,Tel Legale Rappresentante#tel_rapp_legale,Fax Legale Rappresentante#fax_rapp_legale,E-mail Legale Rappresentante#email_rapp_legale,Provincia di residenza Legale Rappresentante#legr_prov,Comune di residenza Legale Rappresentante#legr_com,Indirizzo Legale Rappresentante#indirizzoRes_rapp_legale";	
	var pelenco="Ragione Sociale#ragione_sociale,Codice Fiscale#cf_org,Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale";	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
  	//secondo controllo almeno una delle 4 deve essere valorizzata
	
   if (bono==true) { 

  	
	 var contCertificazione = 0; 
  	
	 var accreditamentoRegioneitaliana=document.getElementsByName('accr_reg_italiana')[0].value;
	 var accreditamentoRegioneitalianaDomanda=document.getElementsByName('accr_data_domanda')[0].value;
	 var accreditamentoRegioneitalianaDal=document.getElementsByName('accr_data')[0].value;
	 var accreditamentoPressoFoncoop=document.getElementsByName('accr_data_coop')[0].value; 
  	
    if((accreditamentoRegioneitaliana != "")&&(accreditamentoRegioneitalianaDal != "")) contCertificazione++;
 
	if(accreditamentoRegioneitalianaDomanda != "") contCertificazione++;
 
 
    if(accreditamentoPressoFoncoop != "") contCertificazione++;

  	
	var pvar = 'accr_certificazione';
  	var el=document.getElementsByName(pvar).length; 

	for(var i=0;i<el;i++){
		if(document.getElementsByName(pvar)[i].checked){
			var rad_val = document.getElementsByName(pvar)[i].value; 
			if(rad_val == 'Si') contCertificazione++;
		
		}
	}
    
	var pvar = 'accr_istitutoRicerca';
  	var el=document.getElementsByName(pvar).length; 

	for(var i=0;i<el;i++){
		if(document.getElementsByName(pvar)[i].checked){
			var rad_val = document.getElementsByName(pvar)[i].value; 
			if(rad_val == 'Si') contCertificazione++;
		
		}
	}
	
	if(parseInt(contCertificazione) == 0){
		bono=false;
		alert('Inserire almeno un Accreditamento');
	}
   
 
   }

	
	return bono;
	
}

function controllo_organismi(){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda_d;
	//controllo campi obbligatori
	/*//Descrizione#campo
	var pelenco="Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale,Nome Legale Rappresentante#nome_rapp_legale,Cognome Legale Rappresentante#cognome_rapp_legale,Codice Fiscale Legale Rappresentante#cf_rapp_legale,Data di nascita Legale Rappresentante#dataNascita_rapp_legale,Sesso Legale Rappresentante#Sesso_rapp_legale,Provincia di nascita Legale Rappresentante#leg_prov,Comune di nascita Legale Rappresentante#leg_com,Tel Legale Rappresentante#tel_rapp_legale,Fax Legale Rappresentante#fax_rapp_legale,E-mail Legale Rappresentante#email_rapp_legale,Provincia di residenza Legale Rappresentante#legr_prov,Comune di residenza Legale Rappresentante#legr_com,Indirizzo Legale Rappresentante#indirizzoRes_rapp_legale";	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}*/
  	/*
  	//secondo controllo almeno una delle due deve essere valorizzata
	
   if (bono==true) { 

	var contCertificazione = 0; 
  	
	var accreditamentoRegioneitaliana=document.getElementsByName('accr_reg_italiana')[0].value;
	var accreditamentoRegioneitalianaDomanda=document.getElementsByName('accr_data_domanda')[0].value;
	var accreditamentoRegioneitalianaDal=document.getElementsByName('accr_data')[0].value;
	var accreditamentoPressoFoncoop=document.getElementsByName('accr_data_coop')[0].value; 
  	
    if((accreditamentoRegioneitaliana != "")&&(accreditamentoRegioneitalianaDal != "")) contCertificazione++;
 
	if(accreditamentoRegioneitalianaDomanda != "") contCertificazione++;
 
    if(accreditamentoPressoFoncoop != "") contCertificazione++;

 
	if(parseInt(contCertificazione) == 0){
		bono=false;
		alert('Inserire almeno un Accreditamento');
	}
  	
 
   }
	
	*/
	
	return bono;
	
}


function controllo_partner_sogg(){
	
	var bono=true;
	//cambiare nome form
	var theForm=partner_form;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Denominazione/Ragione sociale dell'Organismo di formazione#ragione_sociale,Funzione svolta#check_sogg_terzo,Forma Giuridica#cod_forma_giuridica,Indirizzo Sede Legale#sede_leg_indir,Cap Sede Legale#cap,Provincia Sede Legale#sl_prov,Comune Sede Legale#cod_citta,Telefono Sede Legale#tel,FAX Sede Legale#fax,Nome Legale Rappresentante#leg_rappr_nome,Cognome Legale Rappresentante#leg_rappr_cognome,Codice Fiscale Legale Rappresentante#leg_rappr_cf,Data di nascita Legale Rappresentante#leg_rappr_data_nas,Costo complessivo delle attività gestite dal Soggetto#importo_gestito";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
	
	return bono;
	
}


function controllo_membri_ati(){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda_d;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Indirizzo Sede Legale#ind_sede_legale,Cap Sede Legale#cap_legale,Provincia Sede Legale#sl_prov,Comune Sede Legale#sl_com,Telefono Sede Legale#tel_legale,FAX Sede Legale#fax_legale,Nome Legale Rappresentante#nome_rapp_legale,Cognome Legale Rappresentante#cognome_rapp_legale,Codice Fiscale Legale Rappresentante#cf_rapp_legale,Data di nascita Legale Rappresentante#dataNascita_rapp_legale";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
	
	return bono;
	
}

function controllo_scha(pcont,parametroUlteriore){

	var bono=true;

	if(pcont==0){
		alert("Inserire Tipo piano formativo concertato");
		//bono=false;
	}
	
	var theForm=scheda_A;
	//Descrizione#campo
	var pelenco="Soggetto proponente#soggetto_proponente,Tipologia di piano#tipologia_piano,Regione interessata#regione_s";

	var id=pelenco.split(","); 
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#"); 
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
  	if (bono==true) { ///,Descrizione Percorso Formativo#descrizionePercorsoFormativo
  		if(parametroUlteriore=='I10S13'){
	 		var finanziamento= parseFloat(); 
	 		if(theForm.elements['descrizionePercorsoFormativo'].value == ""){
	 			bono=false;
    			alert ("Inserire Descrizione Percorso Formativo");
	 		}
  		}	
	  }

  	/*if (bono==true) { 
  		if(parametroUlteriore[0]=='R'){
  			return confirm("Sei sicuro della tipologia di piano selezionata?");
  		}
  	}*/
  	
	return bono;
}

function controllo_anagrafica_sch_m3(){
	
	var bono=true;
	//cambiare nome form
	var theForm=scheda;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Regolamento comunitario di riferimento#regime,Anno inizio dichiarazione#anno1_deminimis,Anno fine dichiarazione#anno2_deminimis";
	
	var id=pelenco.split(","); 
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#"); 
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	

	return bono;
	
}

function controllo_deminimis_sch_m3(){
	
	var bono=true;
	//cambiare nome form
	var theForm=edita_aiuti;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Soggetto concedente l'aiuto#soggetto,Data concessione(gg/mm/aaaa)#datac,Importo sovvenzione#importo,Normativa di riferimento#normativa";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
	
	return bono;
	
}




function controllo_assunzioni(){
	
	var bono=true;
	//cambiare nome form
	var theForm = AssunzioniScheda;
	
	var id_formazione = theForm.elements['Id_tipo_formazione'].value;

	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Nome#Nome,Cognome#Cognome,Cittadinanza#Cittadinanza,Codice Fiscale#Codice_fiscale,Provincia di Nascita#Prov_nascita,Comune di Nascita#Com_nascita,Data di Nascita#Data_nascita,Titolo di Studio#Titolo_studio,Tipologia contrattuale#Cond_occ,CCNL#CCNL,Livello di inquadramento#liv_inq,Data Inizio Contratto (gg/mm/aaaa)#dataInizioContratto";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
  	
  	//sesso
  	if (bono==true) { 
  		var sesso = radio('sesso'); 
  		if(sesso){
    		bono=true;
  		}else{
    		bono=false;
    		alert ("Inserire Sesso");
  		}
	 }

	//solo per contratto a tempo determinato
	if (bono==true) { 
		if(id_formazione == 17){
			if(theForm.elements['dataFineContratto'].value == ""){
	 			bono=false;
    			alert ("Inserire Data Fine Contratto (gg/mm/aaaa)");
	 		}
		}
	
	}
	 
	//Assunzione ai sensi della L. 68/99
  	/*if (bono==true) { 
  		var sess_novnove = radio('sess_novnove'); 
  		if (sess_novnove){
    		bono=true;
  		}else{
    		bono=false;
    		alert ("Inserire Assunzione ai sensi della L. 68/99");
  		}
	 }*/
	 
	 
	
	
	return bono;
	
}



function ControllaCF_00(cf)
{
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return '';
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return "La lunghezza del codice fiscale non è\n"
		+"corretta: il codice fiscale dovrebbe essere lungo\n"
		+"esattamente 16 caratteri.\n";
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return "Il codice fiscale contiene un carattere non valido `" +
				cf.charAt(i) +
				"'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
	s = 0;
	for( i = 1; i <= 13; i += 2 )
		s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	for( i = 0; i <= 14; i += 2 )
		s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
	if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
		return "Il codice fiscale non è corretto:\n"+
			"il codice di controllo non corrisponde.\n";
	return "";
}


function ControllaPIVA_00(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 )
		return "La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n";
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
		return "La partita IVA non è valida:\n";
	return '';
}


function verifica_cf_pi(campo,desc)
{ 
	//document.scheda.leg_cf.focus();	
	cod = campo.value;
	//campo.focus(); 
	if( cod == '' )
		err = "Inserire Codice Fiscale "+ desc +"\n";
	else if( cod.length == 16 )
		err = ControllaCF_00(cod);
	else if( cod.length == 11 )
		err = ControllaPIVA_00(cod);
	else
		err = "Il codice introdotto non è valido:\n\n" +
			"  - un codice fiscale deve essere lungo 16 caratteri;\n\n" +
			"  - una partita IVA deve essere lunga 11 caratteri.\n";

	if( err > '' ){
		alert("VALORE ERRATO\n\n" + err);
		campo.value="";
	}

}



//funzione per testare la completezza del form di modifica file disp
function check_dati_inps(form){

	
	var bono=true;

	var theForm=form;
//,Data_ade
	var pelenco="CF,Disp,Aderente";
	
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
		
  				checkStr = theForm.elements["n_"+id[i]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ id[i]);
            		bono=false;
        		}

      	}  
  	}
	

	return bono;
	
}

//funzione di controllo obbligatorietà campi per la sezione "date avvio attività"
function controllo_conv_date(effettuacontrolli){
	
	var bono=true;

	if(effettuacontrolli==1){	
		//cambiare nome form
		var theForm=dett_progetto;
		//controllo campi obbligatori
		//Descrizione#campo
		var validita_data;
		var pelenco="Data avvio sotto propria responsabilità (gg/mm/aaaa)#A_data_inizio_responsabilita,Data comunicazione di avvio (gg/mm/aaaa)#A_data_com_avvio,Data ammissibilità del piano (gg/mm/aaaa)#A_data_ammisibilita_piano";

		var id=pelenco.split(","); //alert(pelenco);
		
		for(var i = 0; i < id.length; i++)
		{
			if (bono==true) {
				var text = id[i].split("#");

				for(var i2 = 0; i2 < text.length-1; i2++)
				{
					//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
					checkStr = theForm.elements[text[i2+1]].value;
					checkStr=checkStr.replace(/\s+$|^\s+/g,"");
					//controllo il formato data
					validita_data =check_date(theForm.elements[text[i2+1]]);
					if(validita_data == false){
							checkStr="";
					}
				
					if(checkStr=="")
					{
						alert("Inserire "+ text[i2]);
						bono=false;
					}
				}

			}
		}
	}
	
	return bono;
	
}


function controllo_schf4(){
	
	var bono=true;
	//cambiare nome form
	var theForm=edita_voucher;
	//controllo campi obbligatori
	//Descrizione#campo
	var pelenco="Nome#mobilitaNome,Cognome#mobilitaCognome,Codice Fiscale#mobilitaCodiceFiscale,Data di nascita#mobilitaDataDiNascita,Provincia di Nascita#mobilitaProvinciaDiNascita,Comune di Nascita#mobilitaComuneDiNascita,Cittadinanza#cittadinanza,Titolo di studio#titoloDiStudio,Anno di assunzione#annoDiAssunzione,Tipologia Contrattuale#tipologiaContrattuale,CNEL#contrattoCollettivoDiRiferimento,Inquadramento#inquadramento,Regione sede di lavoro#regioneSedeDiLavoro,Costo#costo,Costo finanziato dal piano#costo_finanziato";
	pelenco = pelenco + ",Descrizione voucher#descrizione,Ente erogatore#erogatore,Tematica formativa#tematica,Durata frequenza#durata,Periodo frequenza dal (gg/mm/aaaa)#periodoFrequenzaDal,Periodo frequenza al (gg/mm/aaaa)#periodoFrequenzaAl,Regione di frequenza#regioneDiFrequenza,Ore fuori orario di lavoro#oreFuoriOrario,Ore in orario di lavoro ma fuori produzione#oreFuoriProduzione";
	var id=pelenco.split(","); //alert(pelenco);
	
  	for(var i = 0; i < id.length; i++)
  	{
    	if (bono==true) { 
			var text = id[i].split("#");
			
			for(var i2 = 0; i2 < text.length-1; i2++)
  			{
  				//alert(text[i2]+" : -"+text[i2+1]+"-valore:"+theForm.elements[text[i2+1]].value+"<-");
  				checkStr = theForm.elements[text[i2+1]].value; 
        		checkStr=checkStr.replace(/\s+$|^\s+/g,"");
       
       			 if(checkStr=="")
        		{
            		alert("Inserire "+ text[i2]);
            		bono=false;
        		}
  			}	
			
      	}  
  	}
	
  	//sesso
  	  if (bono==true) { 
  		var pregime= radio('mobilitaSesso'); 
  		if (pregime)
  		{
    		bono=true;
  		}
  		else
  		{
    		bono=false;
    		alert ("Selezionare il sesso");
  		}
	  }
	  //,Presente su catalogo regionale#catalogo
	   if (bono==true) { 
  		var pregime= radio('catalogo'); 
  		if (pregime)
  		{
    		bono=true;
  		}
  		else
  		{
    		bono=false;
    		alert ("Selezionare Presente su catalogo regionale");
  		}
	  }
	  //legge
  	  if (bono==true) { 
  		var pregime= radio('legge68_99'); 
  		if (pregime)
  		{
    		bono=true;
  		}
  		else
  		{
    		bono=false;
    		alert ("Selezionare la legge");
  		}
	  }
	  
	  
	  
	
	return bono;
	
}



   function getControlloCodiceFiscale(cf){
   	var url = "../common/tema/AtecoSettori.php";
    var what = "setSettori(req.responseText)"; 
      InviaDati("cf="+cf,url,what);
    } 
    
    
	/*Richiesta HttpRequest (AJAX)
     *Verifico i due casi per la compatibilità tra browser
     *INPUT: macro=codiceMacro
     *codiceMacro viene passato dalla funzione javascript durante onChange
    */
    function InviaDati(data,url,what){
      // istanziamo l'oggetto XMLHttpRequest
      if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = PocessaDati;
        req.open('POST', url, true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.send(data);
      }
      // controlliamo la versione di ActiveX
      else if (window.ActiveXObject) {
        req = new ActiveXObject('Microsoft.XMLHTTP')
        if (req){
          req.onreadystatechange = PocessaDati;
          req.open('POST', url, true);
          req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
          req.send(data);
        }
      }
    } 
    
        function PocessaDati(){
      // monitoriamo lo stato dell'invio
      if (req.readyState == 4){
        // restituiamo lo stato della richiesta
        if (req.status == 200) {
          eval(what);
        }else{
          alert('Problema nella gestione dei dati: ' +
          req.responseText);
        }
      }
    } 

//controlla estensione del file
function uploadfile(){
	
	var bono=true;
	var theForm=excel_partecipanti;

	var filename = theForm.elements['excel_aziende'].value;
	filename = filename.substring((filename.length)-3).toLowerCase();
	if(filename!="xls"){
		alert('Il file caricato non è un file excel');
		bono=false;
	}
		
	return bono;
}
//cambia
function cambiaFormaGiuridica(){
	
	var vociDaVisualizzare = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24);
	
	var input = document.getElementById("check_sogg_terzo");
	
	var tipo = input[input.selectedIndex].value;
	
	var selectBox = document.getElementById("cod_forma_giuridica");
	
	//selectBox.options[0].selected = true;
	
	if(tipo == 'P') vociDaVisualizzare = new Array(21,22);
	
	
	for (var i=0, option; option = selectBox.options[i]; i++) {
		
	
		if(vociDaVisualizzare.inArray(i))option.disabled = false;
	
		else option.disabled = true;
		
		
	}

}
//controlla se il valore è nell' array

Array.prototype.inArray = function (value)
{
 var i;
 for (i=0; i < this.length; i++)
 {
 if (this[i] == value)
 {
 return true;
 }
 }
 return false;
};

/////////
function controllaOre(input){

			var ore = input.value;

			if(ore != ''){
				
				//controllo che sia un decimale
				var isDecimalTest = isDecimal(input, 1);
				
				if(isDecimalTest){

					ore = ore.replace(/,/, '.')

					if (ore.split(".").length>2 || ore.search(/[0-9]/)==-1 ||(ore.split(".").length==2 && ore.split(".")[1]!=5)){ 
							alert('Attenzione: formattazione ora non corretto');
							return false;		
					}

				}else return false;
			}

}

