//**********************************************************//
// Controlla che il carattere sia una lettera o un intero        //
//**********************************************************//
function isLetter (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c
<= "Z"))  || ((c >= "0") && (c <= "9")) )
}


//**********************************************************//
// Controlla la numericità del campo			            //
//**********************************************************//
function numeroDecimale(field) {
	
if (!isBlank(field))
{

	  s = field.value;
	  
	  RefString="1234567890";
	  var numChar = "";
	  for (var i=0; (i <= s.length);)
	  {
		numChar = s.charAt(i);	   	  
		if ((RefString.indexOf (numChar, 0)!=-1) 
	 		|| (s.charAt(i)==",")) {
				i++; 
			} else { 
				alert("Inserire un valore numerico."); 
				field.focus(); 
				return false;
			}
	  } 
	  return true;
}
}


//**********************************************************//
//															//
//		isInteger(field) - return true or false				//
//															//
//	Funzione che controlla che il valore del campo del form //
//	HTML <field> sia un valore numerico	intero				//
//															//
//**********************************************************//

function isInteger (field){
	var valid = "0123456789";
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
			ok = "no";
	}
	if (ok == "no") {
		//alert("Valore non valido! Per questo campo sono ammessi solo numeri interi!");
		field.focus();
		field.select();
		return false;
   	}
	else return true;
}



//**********************************************************//
//															//
//		isEmpty(field) - return true or false				//
//															//
//	Funzione che controlla se il campo di input <field> e'	//
//	vuoto													//
//															//
//**********************************************************//

function isEmpty (field)
{
	if (field.value.length == 0)
		return true;
  else
		return false;
}

//**********************************************************//
//															//
//	isBlank(field) - return true se solo spazi              // 
//                   or false se non solo spazi				//
//															//
//	Funzione che controlla se il campo di input <field> e'	//
//	pieno solo di spazi										//
//															//
//**********************************************************//

function isBlank (field)
{
	var mflag=true;
	for (var i=0; i<field.value.length; i++) {
	if (field.value.charAt(i) != " ")
		mflag = false;
	}
	return mflag;
}



//**********************************************************//
//															//
//	isAlfabetic(field) - return "OK", "VUOTO" or "ERRATO"	//
//															//
//	Funzione per il controllo della validita' della campo   //
//	alfabetico dove <field> e' il campo del form HTML		//
//	sono ammessi anche gli spazi  							//
//															//
//**********************************************************//
function isAlfabetic(field) {
	var reAlfabetic = /^[a-zA-Z\d\s\-\_\:\.\,\'\/]+$/

	if (field.value == "") return false;
    else {
       if(reAlfabetic.test(field.value)) return true;
       else return false;
    }
}


//**********************************************************//
//															//
//		isEmail(field) - return "OK", "VUOTO" or "ERRATO"	//
//															//
//	Funzione per il controllo della validita' della mail	//
//	dove <field> e' il campo del form HTML					//
//															//
//**********************************************************//

function isEmail (field) {
	var reEmail = /^.+\@.+\..+$/

	if (field.value == "") return false;
    else {
       if(reEmail.test(field.value)) return true;
       else return false;
    }
}


//**********************************************************//
//															//
//		UCase(field) - return void							//
//															//
//	Funzione che trasforma il campo del form HTML <field>   //
//	in maiuscolo											//
//															//
//**********************************************************//

function UCase(obj) {
	var valore = new String (obj.value);
	obj.value = valore.toUpperCase();
	return;
}

//**********************************************************//
//															//
//		isDigit(field) - return true or false				//
//															//
//	Funzione che controlla che il valore del campo del form //
//	HTML <field> sia un valore numerico						//
//															//
//**********************************************************//

function isDigit (field){
	var valid = "0123456789.";
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
			ok = "no";
	}
	if (ok == "no") {
		//alert("Valore non valido! Per questo campo sono ammessi solo numeri!");
		field.focus();
		field.select();
		return false;
   	}
	else return true;
}




// --------------------------------------------------------------------------
// Rimuove gli spazi iniziali dalla nostra stringa
// --------------------------------------------------------------------------
function LTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(0)) != -1) {
    // We have a string with leading blank(s)...

    var j=0, i = s.length;

    // Iterate from the far left of string until we
    // don't have any more whitespace...
    while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
    j++;


    // Get the substring from the first non-whitespace
    // character to the end of the string...
    s = s.substring(j, i);
  }

  return s;
}

// --------------------------------------------------------------------------
// Rimuove gli spazi finali dalla nostra stringa
// --------------------------------------------------------------------------
function RTrim(str)
{
  var whitespace = new String(" \t\n\r");

  var s = new String(str);

  if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
    // We have a string with trailing blank(s)...

    var i = s.length - 1;       // Get length of string

    // Iterate from the far right of string until we
    // don't have any more whitespace...
    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
      i--;

    // Get the substring from the front of the string to
    // where the last non-whitespace character is...
    s = s.substring(0, i+1);
  }

  return s;
}

// --------------------------------------------------------------------------
// Rimuove gli spazi iniziali e finali dalla nostra stringa
// --------------------------------------------------------------------------
function Trim(str)
{
  return RTrim(LTrim(str));
}



// --------------------------------------------------------------------------
//															
//	isCodiceFiscale(field)- return "OK","VUOTO" or "ERRATO"	
//															
//	Funzione che controlla che il valore del campo del form 
//	HTML <field> sia un codice fiscale valido				
//															
// --------------------------------------------------------------------------	
function isCodiceFiscale(obj)
{
	var nTempNum;
	var nAppoNum;
	var i;
	var szTempCodFisc;
	var szLastChar;
	var szValued;
	var szInValued;

	szCodFisc = obj.value;

	if (szCodFisc.length<16) {
		return false;
	} else {
		if (szCodFisc == "") {
			return false;
		} else {
			szCodFisc =szCodFisc.toUpperCase();
			szLastChar = szCodFisc.substr(szCodFisc.length - 1,1);
			szTempCodFisc =szCodFisc.substr(0,szCodFisc.length - 1);
			nTempNum = 0;
			i = 0;
	
			while (true) {
				szValued="B1A0KKPPLLC2QQD3RRE4VVOOSSF5TTG6UUH7MMI8NNJ9WWZZYYXX";
				// I DISPARI
				szInValued=szTempCodFisc.substr(i,1);
				nAppoNum = szValued.search(szInValued);
				nTempNum = nTempNum + (nAppoNum &  0x7FFE) / 2;
				i = i + 1;
				if (i>15)
					break;
				szValued="A0B1C2D3E4F5G6H7I8J9KKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ";
				// I PARI
				szInValued=szTempCodFisc.substr(i,1);
				nAppoNum = szValued.search(szInValued);
				nTempNum =  nTempNum + (nAppoNum &  0x7FFE) / 2;
				i = i + 1;
			}
			nTempNum = nTempNum % 26; //mod
			szValued="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
			szValued= szValued.substr(nTempNum, 1);
			if (szValued==szLastChar) {
				return true;
			} else {
				return false;
			}	
		}
	}
}



// --------------------------------------------------------------------------
//															
//	isLengthOk(field, len)- return "OK","ERRATO"	
//															
//	Funzione che controlla che il valore del campo del form 
//	HTML <field> sia almeno lungo quanto indicato nel secondo
//  parametro della funzione
//															
// --------------------------------------------------------------------------	
function isLengthOk(field, len)
{
	if (field.value.length < len) {
		return false;
	} else {
		return true;
	}
}

// EOF


