<!--
//***************************************************************************
//Controlli Generici
//***************************************************************************
function isEuro(str){
	var Punto=/^(.+),(.+)$/ ;
	var matchArray=str.match(Punto) ;
	if (matchArray==null) {
		return false;
	}
	var p1=matchArray[1] ;
	var p2=matchArray[2];
	if ((p2.length==2) && (isNumeric(p1)) && (isNumeric(p2)))
		return true;

	return false;
}

function isNumeric(str){
	var myExp=/^[0-9]*$/i;
	
	return myExp.test(str);
}
function isNumericEuro(str){
	var myExp=/^[0-9,\\.]*$/i;
	
	return myExp.test(str);
}

function isEmail (emailStr) {
	// Formato user@domain e separazione di username e dominio
	var emailPat=/^(.+)@(.+)$/ ;
	// Pattern per ritrovare i caratteri speciali (non consentiti)
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" ;
	// Caratteri consentiti in username o domainname
	var validChars="\[^\\s" + specialChars + "\]" ;
	// Username contenente spazi
	var quotedUser="(\"[^\"]*\")" ;
	// domainName costituito da un indirizzo IP
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/ ;
	// Unità 'atomo' ovvero una serie di caratteri non speciali
	var atom=validChars + '+' ;
	// Una 'word' dell'username. L'username può essere costituito da più 'word'
	// separate da .
	var word="(" + atom + "|" + quotedUser + ")" ;
	// Struttura dell'username
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$") ;
	// Dominio sombolico
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$") ;

	// Controllo della sintassi username@domain e separazione dell'username dal
	// domain
	var matchArray=emailStr.match(emailPat) ;
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1] ;
	var domain=matchArray[2];
	
	// User valido.
	if (user.match(userPat)==null) {
	    return false;
	}
	
	// Indirizzo IP valido (nel caso in cui il domain sia un IP.
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return false;
		    }
	    }
	    return true;
	}
	
	// Domain è un nome simbolico
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
	    return false;
	}
	
	// controllo sulla parte terminale del domain.
	// Spezzo il domain in 'atomi'
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if ((domArr[domArr.length-1].length<2) || 
	    (domArr[domArr.length-1].length>5)) {
	   return false;
	}
	
	// Parte terminale del dominio preceduta da un host name.
	if (len<2) {
	   return false;
	}
	
	return true;
}

function isDate(dd,mm,yy) {
	if (dd<=0) return false;
	if (mm<=0) return false;
	if (yy<=0) return false;
	if ((dd==31) && ((mm==4) || (mm==6) || (mm==9) || (mm==11)))
	  return false;
	if (mm==2) {
		if (dd>29) return false;
		if (dd==29) {
			y1 = yy/4;
			y2 = Math.floor(y1);
			if (y1!=y2) return false;
		} 
	}
	return true;
}

//***************************************************************************
//Controlli combinati 
//***************************************************************************

function ControlloDate(d1,m1,a1,e1,d2,m2,a2,e2) {
	var err = 0;
//	e1.src="images/Valid.gif";
//	e2.src="images/Valid.gif";

	if (!(isDate(d1,m1,a1))) {
		err=1;
//		e1.src="images/NotValid.gif";
	}
	if (!(isDate(d2,m2,a2))) {
		err=1;
//		e2.src="images/NotValid.gif";
	}
	
	if (err==1) return err;
	
	if (parseInt(a1)>parseInt(a2)) {
		err=1;
//		e1.src="images/NotValid.gif";
//		e2.src="images/NotValid.gif";
	}
	else {
		if (a1==a2) {
			if (parseInt(m1)>parseInt(m2)) {
				err=1;
//				e1.src="images/NotValid.gif";
//				e2.src="images/NotValid.gif";
			}
			else {
				if (m1==m2) {
					if (parseInt(d1)>=parseInt(d2)) {
						err=1;
//						e1.src="images/NotValid.gif";
//						e2.src="images/NotValid.gif";
					}
				}
			}
			
		}
	}

	return err;
}

function ControlloObbligatorio(e,imge) {
	var err=0;
	if (e.value.length==0) {
		err=1;
		imge.src="images/NotValid.gif";
	}
	else {
		imge.src="images/Valid.gif";
	}
	return err;
}

function ControlloEmail(e,imge) {
	var err=0;
	if (!(isEmail(e.value))) 
	{
		err=1;
		imge.src="images/NotValid.gif";
	}
	return err;
}

function ControlloNumerico(e,imge,minimo) {
	var err=0;
	if (!(isNumeric(e.value))) 
	{
		err=1;
		imge.src="images/NotValid.gif";
	}
	else {
		if (e.value<minimo) {
			err=1;
			imge.src="images/NotValid.gif";
		}
	}
	return err;
}
function ControlloImporto2(e,imge) {
	var err=0;
	if (!(isNumericEuro(e.value))) 
	{
		err=1;
		imge.src="images/NotValid.gif";
	}
	return err;
}

function ControlloImporto(e,imge) {
	var err=0;
	if (!(isEuro(e.value))) 
	{
		err=1;
		imge.src="images/NotValid.gif";
	}
	return err;
}
-->


