function codiceFISCALE(cfins){
   var cf = cfins.toUpperCase();
   var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   if (!cfReg.test(cf))
      return false;
   var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
   var 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;
}

function ControllaPIVA(pi){ 
	if((pi == '') || (pi == '00000000000')) 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;
}


function isLiteral(s) {
	s = s.toLowerCase();
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (((c < 'a') || (c > 'z')) && (c != ' ') && (c != ',') && (c != '.') && (c != '\'') && (c != '/') && (c != '\(') && (c != '\)')) return false;
	}
	return true
}

function isNumeric(s) { 
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c < '0') || (c > '9')) {return false;}
	}
	return true
}

function isAlphaNum(s) {
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((!isLiteral(c)) && (!isNumeric(c))) return false;
	}
	return true
}

function sizeIs(s,n) {
	if (s.length == n) return true; return false
}


function isEmail(s) {
	if (s != '') {	
		var chiocciola,chiocciola2,punto;
		chiocciola = s.indexOf('@');
		chiocciola2 = s.lastIndexOf('@');
		punto = s.lastIndexOf('.'); 
		s = s.toLowerCase();
		if ((chiocciola < 2) || (chiocciola2 != chiocciola) || (punto < chiocciola+4) || (s.length-punto < 3)) 
			return false;
		for (var i = 0; i < s.length; i++) {
			var c = s.charAt(i);
			if ((!isAlphaNum(c)) && (c != '@') && (c != "_")) return false;
		}
		
	}
	return true;
}

function isGGMMAAAA(s) {
	if (minAge == null) var minAge = 0;
	if (!sizeIs(s,10)) return false;
	var GG = s.substr(0,2);	
	var MM = s.substr(3,2);
	var AAAA = s.substr(6,4);
	var lRitorno=false;
	if (MM=="11" || MM=="04" || MM=="06" || MM=="09") lRitorno=(GG<"31");
	else 
		if (MM=="02") lRitorno = ((GG < "29") || ((GG == "29") && (AAAA % 4 == 0) && (AAAA % 400 == 0)));
		else
			lRitorno = (MM<"13" && GG<"32")
	return lRitorno;
}




function visualizzaOggetto(oggetto) {
	if (document.getElementById(oggetto).style.display!='none') {
		document.getElementById(oggetto).style.display = 'none';
	} else {
		document.getElementById(oggetto).style.display = '';		
	}
}



function vedi_riga(valore) {
	if (valore=='1') {
		document.getElementById("riga_gruppo").style.display='';
	} else {
		document.getElementById("riga_gruppo").style.display='none';
	}
}




function verifica_registrazione(mioform) {

	if (mioform.nome.value=='') {
		alert("Attenzione!\rIl campo nome e\' obbligatorio.");
		return false;
	}

	if (mioform.cognome.value=='') {
		alert("Attenzione!\rIl campo cognome e\' obbligatorio.");
		return false;
	}
	
	if (mioform.indirizzo.value=='') {
		alert("Attenzione!\rIl campo indirizzo e\' obbligatorio.");
		return false;
	}
	
	if (mioform.cap.value=='') {
		alert("Attenzione!\rIl campo cap e\' obbligatorio.");
		return false;
	}
	
	if (!isNumeric(mioform.cap.value)) {
		alert("Attenzione!\rIl campo cap e\' di tipo numerico.");
		return false;
	}
	
	if (mioform.citta.value=='') {
		alert("Attenzione!\rIl campo citta\' e\' obbligatorio.");
		return false;
	}
	
	if (mioform.provincia.value=='') {
		alert("Attenzione!\rIl campo provincia e\' obbligatorio.");
		return false;
	}
	
	if (mioform.data_nascita.value!='') {
	
		if (!(isGGMMAAAA(mioform.data_nascita.value))) {
				alert("Attenzione!\rIl formato del campo data di nascita non e\' valido.");
				mioform.data_nascita.select();
				return false
		}
		
	}	
	
	if (mioform.email.value=='') {
		alert("Attenzione!\rIl campo email e\' obbligatorio.");
		return false;
	}
	
	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\rFormato e-mail non valido.");
		return false;
	}
	
	if (!isNumeric(mioform.telefono.value)) {
		alert("Attenzione!\rIl campo telefono e\' di tipo numerico.");
		return false;
	}
	
	if (mioform.nome_utente.value=='') {
		alert("Attenzione!\rIl campo nome utente e\' obbligatorio.");
		return false;
	}
	
	
	if (mioform.autorizzo[0].checked==false){
		alert("Se non si autorizza il trattamento dei dati personali,\rnon e\' possibile completare l\'operazione di registrazione!");
		return false;
	}
	
	
	return true;
}


function Ricerca(ricerca){

		if (ricerca.chiave.value==''){
		    alert(' E\' necessario specificare almeno una parola per effettuare la ricerca')			
		    return false;
		}
		
		if (ricerca.chiave.value.length<3){
		    alert(' E\' necessario specificare almeno una parola di tre lettere')			
		    return false;
		}
		
		return true
		
}


function Newsletter(newsletter){

		if (newsletter.email.value==''){
		    alert(' E\' necessario inserire il proprio indirizzo email per effettuare la registrazione')			
		    return false;
		}
		
		if (!isEmail(newsletter.email.value)) {
			alert("Attenzione!\rFormato e-mail non valido.");
			return false;
		}	
		
		return true
		
}

function Mailing(mailing){

		if (mailing.nome.value=='') {
			alert("Attenzione!\rIl campo nome e\' obbligatorio.");
			return false;
		}
	
		if (mailing.cognome.value=='') {
			alert("Attenzione!\rIl campo cognome e\' obbligatorio.");
			return false;
		}

		if (mailing.email.value==''){
		    alert(' E\' necessario inserire il proprio indirizzo email per effettuare la registrazione')			
		    return false;
		}
		
		if (!isEmail(mailing.email.value)) {
			alert("Attenzione!\rFormato e-mail non valido.");
			return false;
		}	
						
		return true
		
}

function Ticker(ticker){

		if (ticker.nome.value=='') {
			alert("Attenzione!\rIl campo nome e\' obbligatorio.");
			return false;
		}
	
		if (ticker.cognome.value=='') {
			alert("Attenzione!\rIl campo cognome e\' obbligatorio.");
			return false;
		}

		if (ticker.email.value==''){
		    alert(' E\' necessario inserire il proprio indirizzo email per effettuare la registrazione')			
		    return false;
		}
		
		if (!isEmail(ticker.email.value)) {
			alert("Attenzione!\rFormato e-mail non valido.");
			return false;
		}	
			
		if (ticker.cap.value=='') {
			alert("Attenzione!\rIl campo CAP e\' obbligatorio.");
			return false;
		}	
		
		if (ticker.citta.value=='') {
			alert("Attenzione!\rIl campo citta\' e\' obbligatorio.");
			return false;
		}		
		
		if (ticker.provincia.value=='') {
			alert("Attenzione!\rIl campo provincia e\' obbligatorio.");
			return false;
		}	
		
		if (ticker.url.value=='') {
			alert("Attenzione!\rIl campo url e\' obbligatorio.");
			return false;
		}	
				
		return true
		
}

			

			
		/* manipolazione del font-size in javascript con uso dei cookie */

		onload=function(){
		size=getCookie("fontsize");             //reperisce il cookie
		if(size!=null) SetFontSize(size);       //setta le impostazioni
		}
		
		function SetFontSize(s){
		document.getElementsByTagName('body')[0].style.fontSize=s;
		setCookie("fontsize",s,30);
		}
		
		function setCookie(name, value, expdays) {   //memorizza il cookie
		var now = new Date();
		var exp = new Date(now.getTime() + (1000*60*60*24*expdays));
		document.cookie = name + "=" + escape(value) + ";" + "expires=" + exp.toGMTString() + ";" + "path=/";
		}
		
		function getCookie(name) {    //restituisce il cookie
		var cname = name + "=";
		var dc = document.cookie;
		if (dc.length > 0) {
		    var start = dc.indexOf(cname);
		    if (start != -1) {
		        start += cname.length;
		        var stop = dc.indexOf(";", start);
		        if (stop == -1) stop = dc.length;
		        return unescape(dc.substring(start,stop));
		        }
		    }
		return null;
		}