<!-- ********************************************* FUNZIONI SITO ********************************************-->
<!--FUNZIONE PER POPUP NON AL CENTRO SENZA SCROLL NE RESIZABLE-->
function popup(URL, w, h) {
	screenwidth = screen.width;
	screenheight = screen.height;
	finestra=window.open(URL, '', "toolbar=no,directories=no,menubar=no,resizable=no,fullscreen=no,resize=no,scrollbars=no,width="+w+",height="+h); 
    finestra.focus();
    finestra.creator=self
}


<!--FUNZIONE PER POPUP NON AL CENTRO CON SCROLL MA NON RESIZABLE-->
function popupScroll(URL, w, h) {
	screenwidth = screen.width;
	screenheight = screen.height;
	fine=window.open(URL, '', "toolbar=no,directories=no,menubar=no,resizable=no,fullscreen=no,resize=no,scrollbars=yes,width="+w+",height="+h); 
    fine.focus();
    fine.creator=self
}


<!--FUNZIONE PER IL ROLLOVER DELLE IMMAGINI-->
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

	
	
<!--FUNZIONE PER L'INGRANDIMENTO AL CLICK-->
function apri(url_foto,des_foto){
//addr="../Guest/news_ingrandimento.htm?"+url_foto+"&"+escape(des_foto)
addr=url_foto;
alt=150
lar=150
rszb=(document.layers)?1:0;
//props='height='+alt+',width='+lar+',top='+parseInt((screen.availHeight-alt)/2)+',left='+parseInt((screen.availWidth-lar)/2)+',scrollbars=0,resizable='+rszb+',toolbar=0,menubar=0,location=0,status=0';
props='top='+parseInt((screen.availHeight-alt)/2)+',left='+parseInt((screen.availWidth-lar)/2)+',scrollbars=0,resizable='+rszb+',toolbar=0,menubar=0,location=0,status=0';
window.open(addr,'_blank',props);
}


<!--FUNZIONE PER IL REPERIMENTO DELLA GRANDEZZA DELLA FOTO E DELL'APERTURA DELLA POPUP-->
// se vuoi dare dei margini alla foto cambia questi 2 valori
w_add=0; 
h_add=0; 

ww=0; 
hh=0; 
OP=(window.opera)?1:0;
timer=false;

if(location.search) {
addr=location.search.substr(1);
addr=addr.split('&');
document.write('<title>'+unescape(addr[1])+'<\/title>');
}

b_w=function() {return ((window.innerWidth)?window.innerWidth:document.body.clientWidth)}
b_h=function() {return ((window.innerHeight)?window.innerHeight:document.body.clientHeight)}
rsz=function() {self.resizeTo(ww,hh)}

function init() {
ww=b_w()
hh=b_h()
rsz()
ww2=b_w()
hh2=b_h()
w_add+=(ww-ww2)
h_add+=(hh-hh2)
ridimensiona()
}

function ridimensiona(){
	var w_pix=(OP)?document.getElementById('pix').width:document.pix.width
	var h_pix=(OP)?document.getElementById('pix').height:document.pix.height

		if(w_pix>28 && h_pix>30){
			ww=w_pix+w_add
			hh=h_pix+h_add

			y_coord=((screen.availHeight-hh)<0)?0:parseInt((screen.availHeight-hh)/2)
			x_coord=((screen.availWidth-ww)<0)?0:parseInt((screen.availWidth-ww)/2)

			rsz()
			self.moveTo(x_coord,y_coord)
			self.focus()

			if (OP && !timer) {
				w_tmp=b_w(); h_tmp=b_h();				
				timer=setInterval('if(w_tmp!=window.innerWidth || h_tmp!=window.innerHeight){self.location.reload(true)}',1000)
			}		
		}
		else setTimeout('ridimensiona()',1000)
}


<!--FUNZIONE PER LA STAMPA DELLA SCHEDA NEWS-->
function stampa_popup(ident) {
var testo = "<html><head><title>"+document.title+"</title>";
testo += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">";
testo += "<link href=\"../css/Style.css\" rel=\"stylesheet\" type=\"text/css\">";
testo += "</head>"
testo += "<body>"
testo += "<table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
testo += "<tr>"
testo += "<td width=\"450\"><img src=\"../images/istituzionale/news_stampa_logo.gif\" width=\"200\" height=\"46\"></td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\"><hr width=\"450\" size=\"1\" noshade></td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\">&nbsp;</td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\" align=\"center\">" + document.getElementById('livello1').innerHTML + "</td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\">&nbsp;</td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\"><hr width=\"450\" size=\"1\" noshade></td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\" align=\"center\" class=\"sitoTestoBlu\"><b>Fontenergia S.p.A.</b><br>";
testo += "<table border=0 cellpadding=0 cellspacing=0>";
testo += "<tr>";
testo += "<td class=\"sitoTestoBlu\">";
testo += "Sede Amministrativa<br>";
testo += "Via Grandi, 39<br>";
testo += "41033 Concordia s/S (MO)<br>";
testo += "tel. +39 0535/616111 <br> fax. +39 0535/616300";
testo += "</td>";
testo += "<td class=\"sitoTestoBlu\">";
testo += "Sede Legale<br>";
testo += "Via Progresso, 35<br>";
testo += "08045 Lanusei (NU)<br>";
testo += "tel. 0782.48.00.34 <br> fax. 0782.48.09.47";
testo += "</td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td colspan=2 class=\"sitoTestoBlu\" align=center>Internet: www.fontenergia.it - E-mail: info@fontenergia.it</td>";
testo += "</tr>";
testo += "</Table>";
testo += "</td>";
testo += "</tr>";
testo += "<tr>";
testo += "<td width=\"450\"><hr width=\"450\" size=\"1\" noshade></td>";
testo += "</tr>";
testo += "</table>";
testo += "</body>";
testo += "</html>";
var ident_finestra = window.open("","finestra_stampa","height=10,width=10");
ident_finestra.document.open();
ident_finestra.document.write(testo);
ident_finestra.document.close();
if(ident) {
ident_finestra.print();
ident_finestra.close();  

}
}

<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI DENTRO AL CAMPO TESTO DI RICERCA-->
function validaCercaParola() {

frm=document.formCercaParola;
lunghezza=frm.cerca.value.length; 
valore=frm.cerca.value; 

if (frm.cerca.value ==''){ 
alert ("Attenzione! Inserire almeno una chiave di ricerca");
return false; 
}
else if (lunghezza<3)  
{
alert("Attenzione! Inserire una chiave di ricerca di almeno 3 caratteri");
return false; 
}
else
frm.submit()
}

<!--FUNZIONE DI CONTROLLO DELLA LUNGHEZZA E DELLA CORRETTA FORMA DELLA DATA-->
function isDate(str) { 
	spz = str.split("/"); 
	dat = new Date(spz[2], spz[1]-1, spz[0]); 
	if	( 
		dat.getFullYear() == parseFloat(spz[2]) &&
		dat.getMonth() == (parseFloat(spz[1])-1) &&
		dat.getDate() == parseFloat(spz[0]) 
		) {
			return dat;
	}
	return false;
} 

<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI DENTRO AL CAMPO TESTO DI RICERCA-->
function validaCercaIntervaloData() {

frm=document.formCercaIntervData; 


if (frm.data_inizio.value ==''){ 
alert ("Attenzione! Inserire la data d'inizio");
return false; 
}

if (frm.data_fine.value ==''){ 
alert ("Attenzione! Inserire la data di fine");
return false; 
}

}


<!-- ******************************************* FINE FUNZIONI SITO *****************************************-->



<!-- ******************************************* FUNZIONI GESTIONE ******************************************-->
<!--ARCHIVIA NEWS-->
function ArchiviaNews(url){ 
	if (confirm("Sei sicuro di voler archiviare la news?")) 
	window.location = url
}


<!--CONFERMA DI ELIMINAZIONE DA DB DELLA NEWS-->
function EliminaNews(url){ 
	if (confirm("Sei sicuro di voler eliminare definitivamente la news?")) 
	window.location = url
}


<!--CONFERMA DI ELIMINAZIONE DA DB DEL LINK ***** AGGIUNGI *****-->
function EliminaLink(url){ 
	if (confirm("Sei sicuro di voler eliminare il link?")) 
	window.location = url
	return false;
} 


<!--NASCONDI NEWS-->
function NascondiNews(url){ 
	if (confirm("Sei sicuro di voler rendere visibile la news?")) 
	window.location = url
}


<!--CONFERMA DI ELIMINAZIONE DA DB DELL'ALLEGATO ***** AGGIUNGI ***** // ***** MODIFICA *****-->
function EliminaAllegato(url){ 
	if (confirm("Sei sicuro di voler eliminare l' allegato?")) 
	window.location = url
	return false;
} 


<!--CONFERMA DI RIPRISTINO DA DB DELLA NEWS PER LA CPL ***** GENERALE *****-->
function RipristinaNews(url){ 
	if (confirm("La news verrà ripristinata")) 
	window.location = url
	return false;
}


<!--CONFERMA DI ELIMINAZIONE DA DB DELLA FOTO **** MODIFICA *****-->
function EliminaFoto(url){ 
	if (confirm("Sei sicuro di voler eliminare definitivamente la foto?")) 
	window.location = url
	return false;
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS TITOLO ITALIANO ***** GENERALE *****-->
function TitoloIt() {
str=String(formNews.it_titolo.value);
var Lunghezza =str.length;
formNews.it_car_titolo.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.it_titolo.select(); }
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS ABSTRACT ITALIANO ***** GENERALE *****-->
function AbstractIt() {
str=String(formNews.it_abstract.value);
var Lunghezza =str.length;
formNews.it_car_abstract.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.it_abstract.select(); }
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS KEYWORDS ITALIANO ***** GENERALE *****-->
function KeyIt() {
str=String(formNews.it_keywords.value);
var Lunghezza =str.length;
formNews.it_car_key.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.it_keywords.select(); }
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS TITOLO INGLESE ***** GENERALE *****-->
function TitoloEn() {
str=String(formNews.en_titolo.value);
var Lunghezza =str.length;
formNews.en_car_titolo.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.en_titolo.select(); }
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS ABSTRACT INGLESE ***** GENERALE *****-->
function AbstractEn() {
str=String(formNews.en_abstract.value);
var Lunghezza =str.length;
formNews.en_car_abstract.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.en_abstract.select(); }
}


<!--FUNZIONE DI CONTROLLO NUMERO CARATTERI NEWS KEYWORDS INGLESE ***** GENERALE *****-->
function KeyEn() {
str=String(formNews.en_keywords.value);
var Lunghezza =str.length;
formNews.en_car_key.value=Lunghezza
if (str.length>250) { alert('AL MASSIMO 250 CARATTERI!'); formNews.en_keywords.select(); }
}


<!--FUNZIONE LA FORMATTAZIONE DEL TESTO DELLE NEWS ***** GENERALE *****-->
function AddFormatCaratteriIt(formattazione) 
{ 
txtdaformattare=prompt('Inserire il testo da porre fra <'+formattazione+'> Testo </'+formattazione+'>:'); 
txt="<"+formattazione+">"+txtdaformattare+"</"+formattazione+">"; 
document.formNews.it_testo.value+=txt; 
} 

function AddFormatAllineamIt(formattazione) 
{ 
txtdaformattare=prompt('Inserire il testo da porre fra <'+formattazione+'> Testo </'+formattazione+'>:'); 
txt="<div aling="+formattazione+">"+txtdaformattare+"</div>"; 
document.formNews.it_testo.value+=txt; 
} 

function AddFormatCaratteriEn(formattazione) 
{ 
txtdaformattare=prompt('Inserire il testo da porre fra <'+formattazione+'> Testo </'+formattazione+'>:'); 
txt="<"+formattazione+">"+txtdaformattare+"</"+formattazione+">"; 
document.formNews.en_testo.value+=txt; 
} 

function AddFormatAllineamEn(formattazione) 
{ 
txtdaformattare=prompt('Inserire il testo da porre fra <'+formattazione+'> Testo </'+formattazione+'>:'); 
txt="<div aling="+formattazione+">"+txtdaformattare+"</div>"; 
document.formNews.en_testo.value+=txt; 
} 


<!--FUNZIONE DI SCRITTURA DELLA DESCRIZIONE DEL LINK ***** GENERALE *****-->
function DescrizioneLink() {
if (/http:/.test(document.formAggiungiLink.url_link.value)) { 
alert("Attenzione! Eliminare il prefisso http:// dall' indirizzo del link");
return false;
} 

lin=String(formAggiungiLink.url_link.value);
formAggiungiLink.it_descr_link.value=lin
formAggiungiLink.en_descr_link.value=lin

}


<!--FUNZIONE DI VALIDAZIONE DELL'INSERIMENTO/MODIFCA NEWS ***** AGGIUNGI ***** // ***** MODIFICA *****-->
function validaNews() {
frm=document.formNews;

if (frm.data_inizio.value != '' && frm.data_inizio.value.length!=10) { 
alert("Attenzione! Inserire la data di inizio validità news nel formato gg/mm/aaaa. Es --> 01/01/2004") 
return false;
}

if (frm.data_fine.value != '' && frm.data_fine.value.length!=10) { 
alert("Attenzione! Inserire la data di fine validità news nel formato gg/mm/aaaa. Es --> 01/01/2004") 
return false;
}

if (frm.mail.value !='')  {
mail = frm.mail.value; 
b = mail.indexOf("@"); 
c = mail.lastIndexOf("."); 

if (b<3 || c<(b+4) || c>(mail.length-3)) { 
alert("Attenzione! Inserire un indirizzo e-mail valido"); 
return false; 
}
}

}


<!--FUNZIONE DI VALIDAZIONE DELL'INSERIMENTO/MODIFCA DEGLI ALLEGATI ***** AGGIUNGI ***** // ***** MODIFICA *****-->
function validaAllegato() {
frm=document.formAggiungiAllegati;

if (frm.it_descr_allegato.value =='') { 
alert("Attenzione! Inserire la descrizione dell'allegato in italiano") 
return false;
}

if (frm.en_descr_allegato.value =='') { 
alert("Attenzione! Inserire la descrizione dell'allegato in inglese") 
return false;
}

}


<!--CONFERMA DI ELIMINAZIONE DA DB DELLA PAGINA INDICIZZATA-->
function EliminaPagina(url){ 
	if (confirm("Sei sicuro di voler eliminare definitivamente l'indicizzazione della pagina scelta?")) 
	window.location = url
}
<!-- **************************************** FINE FUNZIONI GESTIONE ****************************************-->


<!-- ********************************************* FUNZIONI ISOLUTIONS ********************************************-->
function resetCbo(cbo)
{
	var Totale = cbo.options.length;
    for (i=0; i< Totale; i++)
	{
		cbo.options[0] = null;
	}
	var oOption = document.createElement("OPTION");
	cbo.options.add(oOption);
	//Compatibilita IE4
	//oOption.innerText = "Attendere l\'aggiornamento...";
	oOption.value = "";
}

<!--FUNZIONE PER APERTURA POP-UP CALENDARIO-->
function fn_OpenCalendar(nomeInput)
{
	url="../Controls/Calendar.aspx?formname= frmMain." + nomeInput
	calendar_window=window.open(url,'calendar_window','width=220,height=200');
	calendar_window.focus()
}
<!-- FUNZIONI PER IL MENU SECONDARIO -->

function fnOpenMenu() {
	//window.document.all("divMenu").style.visibility = 'visible';
	document.all("ChiSiamo").src = '../images/Testata_ChiSiamo.gif'
	document.all("CosaFacciamo").src = '../images/Testata_CosaFacciamo.gif'
	document.all("Missione").src = '../images/Testata_Missione.gif'
}

function fnCloseMenu() {
	//window.document.all("divMenu").style.visibility = 'hidden';
	document.all("ChiSiamo").src = '../images/Spazio.gif'
	document.all("CosaFacciamo").src = '../images/Spazio.gif'
	document.all("Missione").src = '../images/Spazio.gif'
}

function fnTrapKD(btn)
{
	if (document.all)
	{
        if (event.keyCode == 13)
		{ 
			event.returnValue=false;
			event.cancel = true;
			btn.click();
        }
	}
}

<!-- ********************************************* DATA ********************************************-->
			function isNumeric(paramValue){
				var i;
				
				for (i = 0; i < paramValue.length; i++) {
					if (isNaN(parseFloat(paramValue.charAt(i)))) return false;
				}
				
				return true;
			}
			
			function DateDiff(unita,data1,data2) {
				//date: formato data JavaScript; se non la passo diventa data odierna
				//unita: per ora solo Day e Secondi
				var divisore;
				
				switch(String(unita).toUpperCase()) {
					case "D": {
						divisore=1000*60*60*24;
						break;
					}
					case "S": {
						divisore=1000;
						break;
					}
					default: {
						return "Non implementato";
						break;
					}
				} //switch per datediff
				data1 = ((String(data1) == "undefined") || (data1 == "")) ? new Date() : new
				Date(data1);
				data2 = ((String(data2) == "undefined") || (data2 == "")) ? new Date() : new
				Date(data2);
				return Math.round((data1.getTime() - data2.getTime()) / divisore);
			}

			function CheckOra(Ora)
			{
				if (Ora == "")return true;
				if (Ora.indexOf(":") == -1 ) return false;
				var ArrayData2 = Ora.split(":");

				if (!isNumeric(ArrayData2[0])) return false;
				if (!isNumeric(ArrayData2[1])) return false;
				if (!((ArrayData2[0] < 23) && (ArrayData2[0] > -1))) return false;
				if (!((ArrayData2[1] < 59) && (ArrayData2[1] > -1))) return false;

				return true;
			}
						
			function CheckDataOra(strData)
			{
				if( strData.indexOf(" ") == -1 ) return false;
				var ArrayData = strData.split(" ");
				if (!CheckData(ArrayData[0])) return false;
				if (ArrayData.length == 1 && strData.length == 10) return true
				if (ArrayData.length == 1 && strData.length != 10) return false
				var Ora = ArrayData[1];
				
				return CheckOra(Ora);
			}

			function CheckData(strData)
			{
				//La stringa di input deve essere nel formato Giorno/Mese/Anno
				if (strData == "") return false;
				if (strData.length < 6 || strData.length > 10) return false;
				//Compatibilita IE4
				//if (strData.search("/") == -1) return false;
				
				if( strData.indexOf("/") == -1 ) return false;
				var ArrayData = strData.split("/");
				if (!isNumeric(ArrayData[0])) return false;
				if (!isNumeric(ArrayData[1])) return false;
				if (!isNumeric(ArrayData[2])) return false;

				var Giorno, Mese, Anno;
				
				Giorno = parseFloat(ArrayData[0]);
				Mese = parseFloat(ArrayData[1]);
				Anno = parseFloat(ArrayData[2]);

				//Se ho passato l'anno di due cifre metto le altre due (sempre 2000)
				if (Anno.toString().length == 1) Anno = parseFloat("200" + Anno.toString());
				if (Anno.toString().length == 2) Anno = parseFloat("20" + Anno.toString());
				
				switch (Mese) {
					case 1:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 3:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 5:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 7:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 8:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 10:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 12:
						if (!((Giorno <= 31) && (Giorno > 0))) return false;
						break;
					case 2:
						var DaysInMonth = DateDiff("D", new Date(Anno, 2, 1), new Date(Anno, 1, 1));
						if ((!(Giorno <= DaysInMonth)) && Giorno > 0) return false;
						break;
					case 11: 
						if (!((Giorno <= 30) && (Giorno > 0))) return false;
						break;
					case 4:
						if (!((Giorno <= 30) && (Giorno > 0))) return false;
						break;
					case 6: 
						if (!((Giorno <= 30) && (Giorno > 0))) return false;
						break;
					case 9:
						if (!((Giorno <= 30) && (Giorno > 0))) return false;
						break;
					default:
						return false;
						break;
				}
				
				return true;
			}
<!-- ********************************************* CODICE FISCALE ********************************************-->
		function Trim(stringa)
		{
			reTrim=/\s+$|^\s+/g;
			return stringa.replace(reTrim,"");
		}

		function CheckCF(strCodice)
		{
			var re = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
			
			strCodice = Trim(strCodice.toUpperCase());
			
			if (re.test(strCodice)) {
				return ControllaCF(strCodice)
			}else{
				return false
			}
		}
		
		function ControllaCF(cf)
		{
			var validi, i, s, set1, set2, setpari, setdisp;
			
			if( cf == '' )  return false;
			
			cf = cf.toUpperCase();
			
			if( cf.length != 16 ) return false;
				
			validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
			
			for( i = 0; i < 16; i++ ){
				if( validi.indexOf( cf.charAt(i) ) == -1 ) return false;
			}
			
			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 false;
					
			return true;
		}
		
<!-- ********************************************* PARTITA IVA ********************************************-->
		function CheckPIVA(pi)
		{
			if( pi == '' )  return false;
			
			if( pi.length != 11 ) return false;
			
			validi = "0123456789";
			
			for( i = 0; i < 11; i++ ){
				if( validi.indexOf( pi.charAt(i) ) == -1 ) return false;
			}
			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 false;
			
			return true;
		}

		<!-- ********************************************* BBAN ********************************************-->
		// Funzione per calcolare la somma di controllo delle posizioni dispari BBAN
		dispari = new Array(1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,14,16,10,22,25,24,23)

		// Argomento: stringa BBAN da verificare
		// Restituisce true se il codice è corretto e false se è errato
		// Dà un messaggio popup per commentare l'errore o indicare l'esattezza del BBAN
		function BBANChk(b)
		{
			// Controllo della lunghezza
			if (b.length != 23)
			{
				alert("Errore durante il controllo delle coordinate bancarie: lunghezza diversa da 23 caratteri");
				return false;
			}

			// Ciclo tra caratteri della stringa
			for (i = 0, s = 0; i < b.length; i++)
			{
				// Estrae il prossimo carattere c
				c = b.charCodeAt(i);

				// Calcola il codice k da 0 a 25
				if (48 <= c && c <= 57) // per cifra 0-9
				{
				if (i == 0)
				{
					alert("Errore durante il controllo delle coordinate bancarie: il codice CIN non può contenere cifre");
					return false;
				}
				k = c - 48;
				}
				else if (65 <= c && c <= 90) // per lettera A-Z
				{
				if (1 <= i && i <= 10)
				{
					alert("Errore durante il controllo delle coordinate bancarie: ABI e CAB non possono contenere lettere");
					return false;
				}
				k = c - 65;
				}
				else
				{
				alert("Errore durante il controllo delle coordinate bancarie: sono ammesse solo cifre e lettere maiuscole");
				return false;
				}

				// Calcola la somma di controllo s e il codice di controllo CIN
				if (i == 0) // codice di controllo
				kcin = k;
				else if (i % 2 == 0) // posizione pari
				s = s + k;
				else // posizione dispari
				s = s + dispari[k];
			}

			// Il resto della divisione deve coincidere con il codice di controllo
			if (s%26 != kcin)
			{
				alert("Errore durante il controllo delle coordinate bancarie: Codice controllo errato");
				return false;
			}

			// Fine del controllo
			return true;
		}

		function Padding(obj)
		{
			var s = new String(obj.value);
			var pad = new String("");
			var numZeroMancanti = 0;
			var maxlen = obj.maxLength;
			var i;
			
			if (s.length > 0 && s.length < maxlen) {
				numZeroMancanti = maxlen - s.length;
				for (i = 0; i < numZeroMancanti; i++) {
					pad += "0";
				}
				s = pad + s;
				obj.value = s;
			}
		}

        	function fnTrapKD(btn)
		{
        		if (document.all)
			{
				if (event.keyCode == 13)
				{
					event.returnValue=false;
//alert("4");
//					event.cancelBubble = true;
//alert("5");
					btn.click();
				}
			}
		}
<!-- ********************************************* FINE FUNZIONI ISOLUTIONS ********************************************-->