function validateCodiceUtente(numval) { 
  for (var i=0;i<numval.length;i++){
   cmp="ABCDEFGHJKILMNOPQRSTUVWXYZabcdefghjkilmnopqrstuvwxyz-_0123456789."
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validatealfanum(numval) { 
  for (var i=0;i<numval.length;i++){
   cmp="ABCDEFGHJKILMNOPQRSTUVWXYZabcdefghjkilmnopqrstuvwxyz- 0123456789òàùèéì'[]()?,.:;!"
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validatelettere(numval) { 
  for (var i=0;i<numval.length;i++){
   cmp="ABCDEFGHJKILMNOPQRSTUVWXYZabcdefghjkilmnopqrstuvwxyz "
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validateanno(numval){
  for (var i=0;i<numval.length;i++){
   cmp="0123456789-/\\ "
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
}; 

function validateore(numval){
  for (var i=0;i<numval.length;i++){
   cmp="0123456789."
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validatenumeri(numval){
  for (var i=0;i<numval.length;i++){
   cmp="0123456789"
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validatetel(numval){
  for (var i=0;i<numval.length;i++){
   cmp="0123456789 -.\\/"
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function validateemail(emailad) { 
/* Notes: 
'exclude' checks 5 conditions: 
a) characters that should not be in the address 
b) characters that should not be at the start 
c) & d) characters that shouldn't be together 
e) there's not more than one '@' 
'check' checks there's at least one '@', later followed by at least one '.'
'checkend' checks the address ends with a period followed by 2 or 3 alpha characters 
*/

var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/; 
var check=/@[\w\-]+\./; 
var checkend=/\.[a-zA-Z]{2,3}$/; 
if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1))
{  return true;}
else
{
return false;
} 
} 

function validatedata(numval){
  str=numval;
  lungh=str.length;
	if (lungh!=10)
   { return true;};

  gg=numval.substring(0,2);
  for (var i=0;i<2;i++){
   cmp="0123456789"
   tst=gg.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }

   mm=numval.substring(3,5);
  for (var i=0;i<2;i++){
   cmp="0123456789"
   tst=mm.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }

  aaaa=numval.substring(6,11);
  for (var i=0;i<4;i++){
   cmp="0123456789"
   tst=aaaa.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }

   cmp="/"
   tst=numval.substring(2,3)
   if (cmp.indexOf(tst)<0){
    return true;
   }

   cmp="/"
   tst=numval.substring(5,6)
   if (cmp.indexOf(tst)<0){
    return true;
   }

	if (((aaaa%400==0)&&(mm=="02"))||((aaaa%4==0)&&(aaaa%100!=0)&&(mm=="02"))) Chkmese=29;
	else
	{
		if (mm == "02") Chkmese=28;
		else
		{
			if ((mm == "04")||(mm == "06")||(mm == "09")||(mm == "11")) Chkmese=30;
			else Chkmese=31;
		}
	}
	if ((gg>Chkmese)||(gg<1))
	{
		return true;
	}

	return false;
}; 

function validateweb(numval) { 
  for (var i=0;i<numval.length;i++){
   cmp="ABCDEFGHJKILMNOPQRSTUVWXYZabcdefghjkilmnopqrstuvwxyz0123456789\.-_"
   tst=numval.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    return true;
   }
  }
  return false;
};

function ControllaCF(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 "";
}
