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 isHTTP(url){
	if (url.indexOf("http://")>=0) {
		return true;
	} else {
		return false;
	}	
}





function Verifica(mioform) {

	if (mioform.datepicker.value=='') {
		alert("Attenzione!\nInserire la data di partenza");
		return false;
	}

	if (mioform.datepicker2.value=='') {
		alert("Attenzione!\nInserire la data di rientro");
		return false;
	}

	/*if (mioform.datepicker.value > mioform.datepicker2.value) {
		alert("Attenzione!\nLa data di arrivo e\' successiva alla data di rientro");
		return false;
	}*/

	/*	if (!isLiteral(mioform.nome.value)) {
		alert("Attenzione!\nIl formato del campo nome non e\' corretto.");
		return false;
	}	

	if (mioform.cognome.value=='') {
		alert("Attenzione!\nIl campo cognome e\' obbligatorio");
		return false;
	}
 
		if (!isLiteral(mioform.cognome.value)) {
		alert("Attenzione!\nIl formato del campo cognome non e\' corretto.");
		return false;
	}	

		if (!isLiteral(mioform.citta.value)) {
		alert("Attenzione!\nIl formato del campo citta\' non e\' corretto.");
		return false;
	}	

  		if (!isLiteral(mioform.provincia.value)) {
		alert("Attenzione!\nIl formato del campo provincia\' non e\' corretto.");
		return false;
	}	

   		if (!isLiteral(mioform.provincia.value)) {
		alert("Attenzione!\nIl formato del campo provincia\' non e\' corretto.");
		return false;
	}	


	
	if (!isNumeric(mioform.cap.value)) {
		alert("Attenzione!\nIl formato del campo CAP non e\' corretto.");
		return false;
	}

	if (mioform.telefono.value=='') {
		alert("Attenzione!\nIl campo telefono e\' obbligatorio");
		return false;
	}

 	if (!isNumeric(mioform.telefono.value)) {
		alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
		return false;
	}

  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}
	      
  
  	if (mioform.chk1.checked) {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
	
	}     */
	
	

}

function Prenotazione(mioform) {

	if (mioform.nome.value=='') {
		alert("Attenzione!\nIl campo nome e\' obbligatorio");
		return false;
	}


		if (!isLiteral(mioform.nome.value)) {
		alert("Attenzione!\nIl formato del campo nome non e\' corretto.");
		return false;
	}	

	if (mioform.cognome.value=='') {
		alert("Attenzione!\nIl campo cognome e\' obbligatorio");
		return false;
	}
 
		if (!isLiteral(mioform.cognome.value)) {
		alert("Attenzione!\nIl formato del campo cognome non e\' corretto.");
		return false;
	}	

		if (!isLiteral(mioform.localita.value)) {
		alert("Attenzione!\nIl formato del campo localita\' non e\' corretto.");
		return false;
	}	

  		if (!isLiteral(mioform.provincia.value)) {
		alert("Attenzione!\nIl formato del campo provincia non e\' corretto.");
		return false;
	}	
	if (!isNumeric(mioform.cap.value)) {
		alert("Attenzione!\nIl formato del campo CAP non e\' corretto.");
		return false;
	}

  		if (!isLiteral(mioform.nazione.value)) {
		alert("Attenzione!\nIl formato del campo nazione non e\' corretto.");
		return false;
	}	

	if (mioform.telefono.value=='') {
		alert("Attenzione!\nIl campo telefono e\' obbligatorio");
		return false;
	}

 	if (!isNumeric(mioform.telefono.value)) {
		alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
		return false;
	}

   	if (!isNumeric(mioform.fax.value)) {
		alert("Attenzione!\nIl formato del campo fax non e\' corretto.");
		return false;
	}


  	if (mioform.email.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}
	      
  
  	if (mioform.chk1.checked) {
		return true;	
	} else {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
  }     

}



function Contatto(mioform) {

	if (mioform.nome_contatti.value=='') {
		alert("Attenzione!\nIl campo nome e\' obbligatorio");
		return false;
	}


		if (!isLiteral(mioform.nome_contatti.value)) {
		alert("Attenzione!\nIl formato del campo nome non e\' corretto.");
		return false;
	}	

	if (mioform.cognome_contatti.value=='') {
		alert("Attenzione!\nIl campo cognome e\' obbligatorio");
		return false;
	}
 
		if (!isLiteral(mioform.cognome_contatti.value)) {
		alert("Attenzione!\nIl formato del campo cognome non e\' corretto.");
		return false;
	}	

		if (!isLiteral(mioform.localita_contatti.value)) {
		alert("Attenzione!\nIl formato del campo localita\' non e\' corretto.");
		return false;
	}	

  		if (!isLiteral(mioform.provincia_contatti.value)) {
		alert("Attenzione!\nIl formato del campo provincia non e\' corretto.");
		return false;
	}	
	if (!isNumeric(mioform.cap_contatti.value)) {
		alert("Attenzione!\nIl formato del campo CAP non e\' corretto.");
		return false;
	}

  		if (!isLiteral(mioform.nazione_contatti.value)) {
		alert("Attenzione!\nIl formato del campo nazione non e\' corretto.");
		return false;
	}	

	if (mioform.telefono_contatti.value=='') {
		alert("Attenzione!\nIl campo telefono e\' obbligatorio");
		return false;
	}

 	if (!isNumeric(mioform.telefono_contatti.value)) {
		alert("Attenzione!\nIl formato del campo telefono non e\' corretto.");
		return false;
	}

   	if (!isNumeric(mioform.fax_contatti.value)) {
		alert("Attenzione!\nIl formato del campo fax non e\' corretto.");
		return false;
	}


  	if (mioform.email_contatti.value=='') {
		alert("Attenzione!\nIl campo email e\' obbligatorio");
		return false;
	}

	if (!isEmail(mioform.email_contatti.value)) {
		alert("Attenzione!\nIl formato del campo email non e\' corretto.");
		return false;
	}
	      
  	if (mioform.messaggio_contatti.value=='') {
		alert("Attenzione!\nIl campo messaggio e\' obbligatorio");
		return false;
	}
  
  	if (mioform.chk1.checked) {
		return true;	
	} else {
		alert("Attenzione!\nE' necessario autorizzare il trattamento dei dati personali.");
		return false;	
  }     

}
