<!--//
	
	/*****************************************************************************************************
	 *                 	              Form Validator ("controllaform")                                   *
	 *                                                                                                   *
	 *****************************************************************************************************/
	
	function controllaform(obj, blReturnValue) {
		var ERRORE = ""
		
		for (key=0;key<obj.length;key++) {
			if (obj[key].name.toUpperCase().indexOf("CMP") >= 0 && obj[key].disabled == false) ERRORE += isCompulsory(obj[key]);//campo obbligatorio
			if (obj[key].name.toUpperCase().indexOf("EML") >= 0 && obj[key].value != "") ERRORE += isEmail(obj[key]);//campo email
			if (obj[key].name.toUpperCase().indexOf("DTE") >= 0 && obj[key].value != "") ERRORE += isData(obj[key]);//campo data
			if (obj[key].name.toUpperCase().indexOf("NMB") >= 0 && obj[key].value != "") ERRORE += isNumber(obj[key]);//campo numerico
			if (obj[key].name.toUpperCase().indexOf("CCP") >= 0 && obj[key].value != "") ERRORE += isCap(obj[key]);//campo CAP
			if (obj[key].name.toUpperCase().indexOf("TCL") >= 0 && obj[key].value != "") ERRORE += isCell(obj[key]);//campo cellulare
		}
		
		if (blReturnValue == false){
			if (ERRORE == "") return true;
		
			alert("ATTENZIONE!\n" + ERRORE + "\n\nControllare il contenuto del form.");
			return false;
		}
		else{
			return ERRORE;
		}
		
	}
	
	function trimstr(str){
		while (str != (tmpstr=str.replace(/ +/,""))){
			str = tmpstr;
		}
		return str;
	}
	
	function FieldName(obj){
		var x = obj.name;
		x = x.replace("CMP", "");
		x = x.replace("NMB", "");
		x = x.replace("DTE", "");
		x = x.replace("CRC", "");
		x = x.replace("HDN", "");
		x = x.replace("EML", "");
		x = x.replace("CCP", "");
		x = x.charAt(0).toUpperCase() + x.substring(1, x.length);
		return x;
	}
		
	function isCompulsory(obj){
		if ((obj.type=="text"||obj.type=="textarea"||obj.type=="password") && obj.value=='') return "\n- Il campo '"+FieldName(obj)+"' è obbligatorio.\n";
		if (obj.type.toLowerCase().charAt(0)=="s" && obj.selectedIndex==0) return "\n- Nel menu '"+FieldName(obj)+"' è obbligatorio selezionare qualcosa.\n";
		return "";
	}
	
	function isData(obj){
		var val = trimstr(obj.value);
		obj.value=val;
		if (val.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)==null) return "\n- Il Formato della data nel campo " + FieldName(obj) + " non è corretto.\n";
		if ((e = parseInt(val.substring(6,10)))<1753 || e > 10000) return "\n- L'anno nel campo " + FieldName(obj) + " deve essere compreso tra 1753 e 9999.\n";
		bis = 0;
		if (e % 4 == 0) bis++;
		if ((e = parseInt(val.substring(3,5)))<0 || e >12) return "\n- Il mese nel campo " + FieldName(obj) + " non è valido.\n";
		maxg=31;
		if (e == 4 || e == 6|| e == 9|| e == 11) maxg--;
		if (e == 2) maxg = 28 + bis;
		if ((e = parseInt(val.substring(0,2)))<0 || e >maxg) return "\n- La data inserita nel campo " + FieldName(obj) + " non esiste!\n";
		return "";
	}
	
	function isNumber(obj){
		var val = trimstr(obj.value);
		obj.value=val;
		if (val=="") return "";
		if (val.match(/^[0-9]*$/)==null && val!="") return "\n- Il Numero nel campo "+FieldName(obj)+" non è corretto.\n";
		return "";
	}

		
	function isEmail(obj) {
		var email = obj.value;	
		if ((tmpint = email.indexOf ('@',0)) == -1)
			return "\n- La chiocciola @ non è stata inserita nel campo '" + FieldName(obj) + "''.\n";
		if (tmpint==0)
			return "\n- L'indirizzo E-mail del campo " + FieldName(obj) + "' non può iniziare con il simbolo '@'.\n";
		if ((tmpint2 = email.indexOf ('.',tmpint)) == -1) 
			return "\n- Nel campo '" + FieldName(obj) + "' è' necessario inserire un punto dopo la chiocciola @.\n";
		if (tmpint2-tmpint==1)
			return "\n- La sequenza di simboli '@.' non può appartenere all''indirizzo Email del campo '" + FieldName(obj) + "'.\n";
		if (tmpint2 == email.length-1)
			return "\n- L'indirizzo E-mail del campo '" + FieldName(obj) + "' non può finire con il simbolo '.'\n";		
		return "";
	}
	
	function isCap(obj){
		var cap = trimstr(obj.value);
		obj.value = cap;
		if(cap.match(/^[0-9]{5}$/) == null) return "\n- Inserire un codice valido nel campo '" + FieldName(obj) + "'.\n"
		return "";
	}
	
	function isCell(obj){
		var val = trimstr(obj.value);
		obj.value=val;
		if (val=="") return "";
		if (val.match(/^[1-9]{1}[0-9]*$/)==null && val!="") return "\n- Il Numero nel campo '" + FieldName(obj) + "' non è corretto.\n";
		return "";
	}
	
//-->
