// inserire l'include nel tag head:
//
//
// Nel tag form mettere: validate="validate"
//
// ________________________________________ validazione campi form
var _e3Validate = function(){}
_e3Validate.prototype.validate_findobj = function(n, d) { //v4.0
var p,i,x;
if(!d) d=document;
if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document;
n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n];
for (i=0;!x&&imaxLength)) {
errors+="- " + name + " troppo lungo, max " + maxLength + " caratteri.\n";
}
switch (type) {
//eMail
case 'email': {
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
if (!filter.test(field.value)) errors+="- " + name + " non e\' indirizzo e-mail.\n";
break;}
//Numero Intero
case 'int': {
//N.B. parseInt("1.2abc") Returns 1.2
var valueAux=parseInt(field.value);
if (isNaN(valueAux) || (valueAux+""!=field.value)) errors+="- " + name + " non e\' un numero.\n";
if ((isNaN(minValue)) || (isNaN(maxValue))) break;
if ((field.valuemaxValue)) errors+="- " + name + " deve essere compreso tra " + minValue + " e " + maxValue + ".\n";
break;}
//Numero Reale
case 'real': {
//N.B. parseFloat("1.2abc") Returns 1.2
//var valueAux=parseFloat(field.value);
//if (isNaN(valueAux) || (valueAux+""!=field.value))
var filter = /(^-?\d\d*\,\d*$)|(^-?\d\d*$)|(^-?\,\d\d*$)/;
if (!filter.test(field.value))
errors+="- " + name + " non e\' un numero.\n";
else
// field.value=parseFloat(field.value); //parseFloat("1.2abc") // Returns 1.2.
if ((isNaN(minValue)) || (isNaN(maxValue))) break;
if ((field.valuemaxValue)) errors+="- " + name + " deve essere compreso tra " + minValue + " e " + maxValue + ".\n";
break;}
//Data/Ora
case 'datetime': {
if (isNaN(Date.parse(field.value))) errors+="- " + name + " non e\' una data.\n";
break;}
}
//Mostra errori
if (errors)
alert(errors);
//Ritorna true se tutto ok
return (errors == '');
}
_e3Validate.prototype.validate_form = function(form)
{
var i;
var elem;
var Operazione;
var isValid;
//Esegue la validazione solo durante Avanti,Indietro e Salva
elem=form.elements["Operazione"];
if (typeof(elem)!="undefined") {
Operazione=parseInt(elem.value);
if (!isNaN(Operazione)) {
if ((Operazione!=10) && (Operazione!=20) && (Operazione!=30))
return true;
}
}
//Se uguale a Avanti,Indietro o Salva valida campi
for (i=0;i