// ##ING_COMMENT V][R
// ##ING_COMMENT Funzione per il Controllo di validità formale di una Mail
function CheckMail2(sValue) {
var bResponse;
var strEmail= new String;
var Email1;
var bolTest;
strEmail=sValue;
bResponse=true;

if (strEmail!="") {
	Email1=/\w{2,}\@\w{2,}\.\w{2,}/g;
	bolTest=Email1.test(strEmail);
	if (!bolTest){
		alert("Indirizzo E-Mail non corretto.");
		bResponse=false;
		}
}

return bResponse;
}


// ##ING_COMMENT V][R
// ##ING_COMMENT Funzione per il Controllo dell'Indirizzo E-Mail

function CheckMail(sValue) {
var strEmail= new String;
var splitmail;
var bResponse;	
var emailpartone= new String;	
var emailparttwo= new String;
var splitafter;	
var contSplit;

strEmail=sValue;
bResponse=true;
contSplit = 0;

if (strEmail.indexOf("@")==-1) {
		bResponse=false;
		}
else {

	splitmail=strEmail.split("@");
	if (splitmail.length!=2) {
		bResponse=false;
		}
	else {
		emailpartone=splitmail[0];
		emailparttwo=splitmail[1];
		if (emailpartone.length<2){
			bResponse=false;
			}
		else if (emailparttwo.indexOf(".")==-1){
			bResponse=false;
			}
		else {
			splitafter=emailparttwo.split(".");
			if (splitafter.length < 2) {
				bResponse=false;
				}
			else {
				
				numbSplit = (splitafter.length);
				
				while((contSplit < numbSplit) && (bResponse==true)){
				
					if (splitafter[contSplit].length < 2){
						bResponse=false;
					}
					contSplit ++;
				}
				
				}	

			}
		}

	}
if (!bResponse)	{
	alert("Indirizzo E-Mail non corretto.");
	}		

return bResponse;
}

// ##ING_COMMENT V][R
// ##ING_COMMENT Funzione per il Controllo di Validità dei Telefoni!
function CheckTelephoneNumber(sValue,bIsMobile,sLabelNonValid) {
var bResponse;	
var numTelefono= new String;
numTelefono=sValue;
bResponse=true;
	if (isNaN(numTelefono))
		{
		alert("Il campo " + sLabelNonValid + " deve essere numerico !");
		bResponse=false;
		}
	else if ((Number(numTelefono)==0) && (numTelefono.length>0))
		{
		alert("Il campo " + sLabelNonValid + " non può contenere tutti '0' !");
		bResponse=false;
		}
	else if ((numTelefono.substring(0,1)=="0") && (bIsMobile))
		{
		alert("Togliere lo '0' dal prefisso del campo " + sLabelNonValid +" !");
		bResponse=false;
		}
	else if ((numTelefono.length!=0) && (numTelefono.substring(0,1)!="0") && (!bIsMobile))
		{
		alert("Inserire lo '0' nel prefisso del campo " + sLabelNonValid +" !");
		bResponse=false;
		}		
	else if ((numTelefono.length>0) && (numTelefono.length<9) && (bIsMobile))
		{
		alert("Il campo " + sLabelNonValid + " deve essere almeno di 9 cifre !");
		bResponse=false;
		}			
return bResponse;
}
// ##ING_COMMENT V][R
// ##ING_COMMENT Funzione per il Controllo Numerico dei dati!
// ##ING_COMMENT Controlla che tutti i parametri passati siano Numeri.
// ##ING_COMMENT Restituisce 0 se il controllo va a buon fine
// ##ING_COMMENT Restituisce un valore != 0 se non va a buon fine indicante l'elemento che non ha
// ##ING_COMMENT passato il controllo.
function CheckIfIsEuroValid(sValue,bCanBeNegative) {
var bResponse;	
	if(isNAN(sValue)) {
		if ((sValue.indexOf("-")==-1) && (sValue.indexOf(",")==-1)){
			alert("Il campo Deposito deve essere un valore numerico.");
			return (false);
			}
		else if ((sValue.indexOf("-")!=-1) && (!bCanBeNegative)){
			alert("Il campo Deposito deve essere un valore NON negativo.");
			return (false);
			}
		}
return (true);
}

// ##ING_COMMENT Alfonso Fantauzzo
// ##ING_COMMENT Questa funzione ha le medesime caratteristiche 
// ##ING_COMMENT dell'istruzione trim di visual basic.

function trim(inputString) {	
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue;
}


// ##ING_COMMENT Alfonso Fantauzzo 
// ##ING_COMMENT Funzione per il controllo della validità della data
// ##ING_COMMENT accetta in ingresso tre parametri
// ##ING_COMMENT sYear  (aaaa):  (ad esempio 2001)
// ##ING_COMMENT sMonth (mm)  :  (ad esempio 02) 
// ##ING_COMMENT sDay   (dd)  :  (ad esempio 01)

function ValidaData(sYear,sMonth,sDay){	
	
	var sCheckDataNascita =  new Date(sMonth + "/" +  sDay + "/" + sYear);

	if (sMonth!="02"){
		if (sCheckDataNascita.getMonth()!= sMonth-1) {
			return false;
		}
	}else{
		if (((sYear % 4 == 0) && (sYear % 100 != 0)) || (sYear % 400 == 0)){
			if (sDay >29){
				return false;
			}
		}else{
			if (sDay >28){
				return false;
			}
		}
	}
	return true;
}
// ##ING_COMMENT Alfonso Fantauzzo
// ##ING_COMMENT Funzione per l'eliminazione dei caratteri non consentiti
// ##ING_COMMENT all'interno di una textbox, accetta in ingresso una stringa.
function Erase_Forbidden_Char(myStr){

var iCont;
var MyChr;
var bckMyChr;
var newStr;
var reEc;
var re;
var numbChar;

	numbChar = 0;
	MyChr = "";
	bckMyChr ="";

	iCont=0;
	newStr = "";

	numbChar = myStr.length - 1;

	for ( iCont = 0; iCont <= numbChar ; iCont++) {

		bckMyChr = myStr.substr(iCont,1);
		var iChar = bckMyChr.charCodeAt(0);

	if ((iChar >= 97 && iChar <= 122)||(iChar >= 48 && iChar <= 57)||(iChar >= 65 && iChar <= 90) || (iChar == 32) || (iChar == 45)){
		bckMyChr=bckMyChr;
	}else{
		
		switch (iChar){

			case 224:
				bckMyChr = bckMyChr;
				break;
			case 232:
				bckMyChr = bckMyChr;
				break;
										
			case 233:
				bckMyChr = bckMyChr;
				break;

			case 236:
				bckMyChr = bckMyChr;
				break;

			case 242:
				bckMyChr = bckMyChr;
				break;
	
			case 249:
				bckMyChr = bckMyChr;
				break;						
							
			case 192:
				bckMyChr = bckMyChr;
				break;

			case 200:
				bckMyChr = bckMyChr;
				break;
					
			case 201:
				bckMyChr = bckMyChr;
				break;

			case 204:
				bckMyChr = bckMyChr;
				break;
		
			case 210:
				bckMyChr = bckMyChr;
				break;
			
			case 217:
				bckMyChr = bckMyChr;
				break;
					
			case 63:
				bckMyChr = bckMyChr;
				break;
						
			case 8364:
				bckMyChr = bckMyChr;
				break;
									
			case 128:
				bckMyChr = bckMyChr;
				break;			
									
			case 33:
				bckMyChr = bckMyChr;
				break;
				
			case 39:
				bckMyChr = bckMyChr;
				break;
				
			case 46:
				bckMyChr = bckMyChr;
				break;
			
			case 44:
				bckMyChr = bckMyChr;
				break;
				
			case 47:
				bckMyChr = bckMyChr;
				break;
				
			case 92:
				bckMyChr = bckMyChr;
				break;
			
			case 64:
				bckMyChr = bckMyChr;
				break;

			case 36:
				bckMyChr = bckMyChr;
				break;
 					
			case 163:
				bckMyChr = bckMyChr;
				break;
				
			case 38:
				bckMyChr = bckMyChr;
				break;
				
			case 95:
				bckMyChr = bckMyChr;
				break;	
			
			//##ING_COMMENT PI 8057 possibilità di inserire il carattere "-" nei campi contenenti
			//##ING_COMMENT un indirizzo e-mail, per gli altri campi il carattere viene eliminato
			//##ING_COMMENT 11/03/2002 Giuseppe Benedetto
			//##ING_COMMENT 15/10/2003 Carmine De Marco: il carattere "-" deve essere sempre presente
			// ##ING_COMMENT /*case 45:
			// ##ING_COMMENT 	if (TestAtCharacter(myStr)==true)
			// ##ING_COMMENT 	{
			// ##ING_COMMENT 		bckMyChr = bckMyChr;
			// ##ING_COMMENT 		break;			
			// ##ING_COMMENT 	}*/
				
			default:											
				bckMyChr ="";
				break;
		}
		
		
	  }	
	newStr = newStr + bckMyChr;
	}
	
	myStr = newStr;
	return myStr;
}


// ##ING_COMMENT Alfonso Fantauzzo
// ##ING_COMMENT Funzione per la ricerca delle proprietà value nei textbox

function CheckChar(){
var sStr;
var iCont;
var sType;
var sValue;

// ##ING_COMMENT /*	iCont = 0;
// ##ING_COMMENT 	sType = "";
// ##ING_COMMENT 	sValue = "";
// ##ING_COMMENT 	sStr = "";

// ##ING_COMMENT 	sStr = document.getElementsByTagName("input");

// ##ING_COMMENT 	if (sStr.length >= 1) {

// ##ING_COMMENT 		for (iCont=0 ; iCont <= sStr.length -1 ; iCont ++){

// ##ING_COMMENT 			sType = sStr[iCont].type;
// ##ING_COMMENT 			sType = trim(sType);
// ##ING_COMMENT 			sValue = sStr[iCont].value;
// ##ING_COMMENT 			sValue = trim(sValue);

// ##ING_COMMENT 			if ((sType == "text") || (sType == "TEXT")) {
// ##ING_COMMENT 				if (sValue != ""){
// ##ING_COMMENT 					sStr[iCont].value = Erase_Forbidden_Char(sValue);
// ##ING_COMMENT 				}
// ##ING_COMMENT 			}
// ##ING_COMMENT 		}
// ##ING_COMMENT 	}*/

	return true;
}

function TestAtCharacter(Str)
{
	var SearchString;
	var r
	SearchString = /@/g;
	r = SearchString.test(Str); 
	return (r);
}



function check_numeroCivico(InputString)
{    
   if(InputString.length!=0)
   {     
       for(var i=0;i<InputString.length;i++)
       {     
         var chr=InputString.charCodeAt(i);
           // ##ING_COMMENT alert (InputString.charAt(i))
           if (!((chr >= 97 && chr <= 122)||(chr >= 47 && chr <= 57)||(chr >= 65 && chr <= 90) || (chr == 32) || (chr == 45) || (chr == 92)))
           {
             // ##ING_COMMENT alert (chr);
             alert('Il numero civico accetta solo caratteri alfanumerici'); 
            return false;          
           }
       }  
    } 
     return true; 
}   

function check_Cap(InputString)
{    
   if(InputString.length!=0)
   {     
       for(var i=0;i<InputString.length+1;i++)
       {     
         var chr=InputString.charCodeAt(i)  
           if((chr < 48) || (chr >57))
           {
             alert('Il CAP accetta solo caratteri numerici'); 
            return false;          
           }     
       }  
     return true;
     }
}   

function isNumerico(inputStr) {
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.substring(i, i + 1)
		if (oneChar < "0" || oneChar > "9") {
             // ##ING_COMMENT			alert("Inserire solo numeri.")
			return false;
		}
	}
	return true;
}
