function y2k(number){
	return (number < 1000) ? number + 1900 : number;
}
function AX_verifyForm(){
	pass = true;
	var i = 0;
	while (i < arrField.length){
		var num = i;
		var fieldName = eval('nf.'+arrField[i][0]);
		if (arrField[i][2] == 't'){//CAMPO TESTO GENERICO
			if (arrField[i][3] != null){//CARATTERI MINIMI
				if (fieldName.value.length < arrField[i][3]){
					pass = false;
					break;
				}
				if (arrField[i][4] != null){//CARATTERI MASSIMI
					if (fieldName.value.length > arrField[i][4]){
						pass = false;
						break;
					}
				}
			} else if (fieldName.value == ''){
				pass = false;
				break;
			}
		} else if (arrField[i][2] == 'ext'){
			var extension = fieldName.value;
			extension = extension.substring(extension.lastIndexOf('.')+1);
			extension = extension.toLowerCase();
			var extcontrol = arrField[i][3];
			var arrcontrol = extcontrol.split(',');
			if (arrcontrol.length > 0){
				var verify = false;
				for(k=0;k<arrcontrol.length;k++){
					if(arrcontrol[k] == extension){
						verify = true;
					}
				}
				if(!verify){
					pass = false;
					break;
				}
			} else {
				if(extcontrol != extension){
					pass = false;
					break;
				}
			}
		} else if (arrField[i][2] == 'tt'){//CAMPO TESTO UGUALE AD UN'ALTRO
			fieldLike = eval('nameform.'+arrField[i][3]);
			if (fieldName.value != fieldLike.value){
				pass = false;
				break;
			}
		} else if (arrField[i][2] == 'n'){//CAMPO TESTO NUMERICO
			if ((fieldName.value == '')||(isNaN(fieldName.value))){
				pass = false;
				break;
			}
		} else if (arrField[i][2] == 'd'){//CAMPO TESTO DATA
			var data = fieldName.value;
			if((data != '')||(arrField[i][3] == null)||(arrField[i][3] == '1')){
				if (data == ''){
					pass = false;
					break;
				}
				var arrData = new Array();
				arrData = data.split("/");
				var gg = arrData[0];
				var mm = arrData[1];
				var yyyy = '20' + arrData[2];
				var today = new Date();
				mm = ((!mm) ? today.getMonth():mm-1);
				yyyy = ((!yyyy) ? y2k(today.getYear()):yyyy);
				if (!gg) return false;
				var test = new Date(yyyy,mm,gg);
				if ((y2k(test.getYear()) != yyyy) || (test.getMonth() != mm) || (test.getDate() != gg))
				{
					pass = false;
					break;
				}
			}
		} else if (arrField[i][2] == 'e'){//CAMPO TESTO EMAIL
			email = fieldName.value;
			sPattern= /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
			if (!sPattern.test(email)){
				pass = false;
				break;
			}
		} else if (arrField[i][2] == 'rc'){//CAMPO CHECKBOX O RADIO BUTTON
			var tempValue = '';
			if (fieldName.length > 1){
				for (x=0; x<fieldName.length; x++){
					if (fieldName[x].checked){tempValue = fieldName[x].value;}
				}
			} else {
				if (fieldName.checked){tempValue = fieldName.value;}
			}
			if (tempValue == ''){
				pass = false;
				var num = i;
				break;
			}
		} else if (arrField[i][2] == 's'){//CAMPO SELECT
			var selectValue = fieldName.options[fieldName.selectedIndex].value;
			if (selectValue == ''){
				pass = false;
				break;
			}
		}
		i++;
	}
	if (pass){
		return true;
	} else {
		mess += '\n- '+ arrField[i][1];
		alert (mess);
		if (arrField[i][2] != 'rc'){fieldName.focus();}
		return false;
	}	
}