﻿/*	******************************************************************************************************************
		Controlli in JavaScript V.3.0
		Autore: Filippo Di Blasi
		E-mail: f.diblasi@mondoacolori.eu
		Sito web: http://www.mondoacolori.eu
		Data: 28-feb-2007

		Controlli abilitati: Testo, Numero, Data, Ora, Telefono, Cap, Email, Web, Login, Isbn, Cf, PartitaIvaEu, Check
		Da fare: IP, carta di credito, path
	*****************************************************************************************************************/

/********************************************
	CONFIGURAZIONE
********************************************/
// regular expressions
var regexpNumeric = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; // http://www.regexlib.com/REDetails.aspx?regexp_id=53
var regexpDate = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/\d{4})$/; // http://www.regexlib.com/REDetails.aspx?regexp_id=156
var regexpDateOnly = /^[0-9\/]+$/;
var regexpHour = /([0-1][0-9]|2[0-3]):[0-5][0-9]/; //	http://www.regexlib.com/REDetails.aspx?regexp_id=176
var regexpPhone = /^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/; //	http://www.regexlib.com/REDetails.aspx?regexp_id=73
var regexpZipcode = /^\d{5}((-|\s)?\d{4})?$/; //	http://www.regexlib.com/REDetails.aspx?regexp_id=924
var regexpEmail = /^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/; // http://www.regexlib.com/REDetails.aspx?regexp_id=295
var regexpWeb = /^(http|https|ftp|ftps|mms|rsp|mailto|telnet)\:\/\/[a-zA-Z0-9\-\._]+(\.[a-zA-Z0-9\-\._]+){2,}(\/?)([a-zA-Z0-9\-\.\=\?\,\;\/\\\+\&@\%\$#\~_]*)?$/; // 	http://www.regexlib.com/REDetails.aspx?regexp_id=732
var regexpLogin = /^[a-zA-Z0-9._-]+$/;
var regexpIsbn = /(?=.{13}$)\d{1,5}([- ])\d{1,7}\1\d{1,6}\1(\d|X)$/;
var regexpTaxId = /^[A-Za-z]{6}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{3}[A-Za-z]{1}$/; //	http://regexlib.com/REDetails.aspx?regexp_id=643
//var regexpCommercialId = /((DK|FI|HU|LU|MT|SI)(-)?\d{8})|((BE|EE|DE|EL|LT|PT)(-)?\d{9})|((PL|SK)(-)?\d{10})|((IT|LV)(-)?\d{11})|((LT|SE)(-)?\d{12})|(AT(-)?U\d{8})|(CY(-)?\d{8}[A-Z])|(CZ(-)?\d{8,10})|(FR(-)?[\dA-HJ-NP-Z]{2}\d{9})|(IE(-)?\d[A-Z\d]\d{5}[A-Z])|(NL(-)?\d{9}B\d{2})|(ES(-)?[A-Z\d]\d{7}[A-Z\d])/; //	http://regexlib.com/REDetails.aspx?regexp_id=786
var regexpCommercialId = /((DK|FI|HU|LU|MT|SI)(-)?\d{8})|((BE|EE|DE|EL|LT|PT)(-)?\d{9})|((PL|SK)(-)?\d{10})|((IT|LV){0,1}[0-9]{11})|((LT|SE)(-)?\d{12})|(AT(-)?U\d{8})|(CY(-)?\d{8}[A-Z])|(CZ(-)?\d{8,10})|(FR(-)?[\dA-HJ-NP-Z]{2}\d{9})|(IE(-)?\d[A-Z\d]\d{5}[A-Z])|(NL(-)?\d{9}B\d{2})|(ES(-)?[A-Z\d]\d{7}[A-Z\d])/; //	http://regexlib.com/REDetails.aspx?regexp_id=786


/********************************************
	MESSAGGI D'ERRORE
********************************************/

// in italiano
var msgObbligatorio_it = "La compilazione del campo #campo# è obbligatoria";
var msgTestoMin_it = "La lunghezza del campo #campo# deve essere almeno di #testo_min# lettere. Adesso è di #campo_length#";
var msgTestoMax_it = "La lunghezza del campo #campo# deve essere massimo di #testo_max# lettere. Adesso è di #campo_length#";
var msgNumero_it = "Nel campo #campo# si possono inserire solo numeri";
var msgNumeroMin_it = "Il valore del campo #campo# deve essere uguale almeno a #numero_min#";
var msgNumeroMax_it = "Il valore del campo #campo# deve essere uguale al massimo a #numero_max#";
var msgData_it = "La data inserita nel campo #campo# non è corretta, utilizzare il formato gg/mm/aaaa, ad es. 01/12/2001";
var msgDataMin_it = "La data del campo #campo# deve essere uguale almeno a #data_min#";
var msgDataMax_it = "La data del campo #campo# deve essere uguale al massimo a #data_max#";
var msgOra_it = "L'ora inserita nel campo #campo# non è valida, utilizzare il formato hh:mm, ad es. 13:30";
var msgOraMin_it = "L'ora del campo #campo# deve essere uguale almeno a #ora_min#";
var msgOraMax_it = "L'ora del campo #campo# deve essere uguale al massimo a #ora_max#";
var msgTelefono_it = "Il valore del campo #campo# non è valido. Si consiglia di usare il formato [prefisso internazionale (Italia: +39)] [prefisso locale] [numero] ad es. +39 06 12345678. In alternativa si può escludere il prefisso internazionale, ad es. 06 12345678";
var msgCap_it = "Il valore inserito nel campo #campo# non è valido, utilizzare il formato nnnnn, ad es. 00100";
var msgEmail_it = "L'indirizzo e-mail inserito nel campo #campo# non è valido";
var msgUrl_it = "L'indirizzo web inserito nel campo #campo# non è valido, utilizzare il formato http://www.nomesito.it";
var msgLogin_it = "Il valore inserito nel campo #campo# non è valido. Sono permessi esclusivamente i caratteri alfanumerici e i caratteri di punteggiatura -_. Non sono permessi gli spazi";
var msgIsbn_it = "Il valore inserito nel campo #campo# non è valido. Si consiglia di usare il formato n-nnnnn-nnn-n, ad es. 8-85543-245-X";
var msgCf_it = "Il valore inserito nel campo #campo# non è valido";
var msgPartitaIvaEur_it = "Il valore inserito nel campo #campo# non è valido";

// in inglese
var msgObbligatorio_en = "Completion of the #campo# field is obligatory";
var msgTestoMin_en = "The #campo# field must contain at least #testo_min# letters. Now it contains #campo_length#";
var msgTestoMax_en = "The #campo# field must contain maximum #testo_max# letters. Now it contains #campo_length#";
var msgNumero_en = "In the #campo# field you can only insert numbers";
var msgNumeroMin_en = "The value of the #campo# field must be at least equal to #numero_min#";
var msgNumeroMax_en = "The value of the #campo# field must be maximum equal to #numero_min#";
var msgData_en = "The date in the #campo# field is not corrected, use date format dd/mm/yyyy, for example 01/12/2001";
var msgDataMin_en = "The date in the #campo# field must be at least equal to #data_min#";
var msgDataMax_en = "The date int the #campo# field must be maximum equal to #data_min#";
var msgOra_en = "The inserted hour in the field #campo# is not valid, use format hh:mm, for example 13:30";
var msgOraMin_en = "The hour in the field #campo# must be at least equal to #ora_min#";
var msgOraMax_en = "The hour in the field #campo# must be maximum equal to #ora_min#";
var msgTelefono_en = "The value inserted in the field #campo# is not valid. t is advised to use the format [international prefix (Italy: + 39)] [local prefix] [number] for example +39 06 12345678. Otherwise international one can be excluded, for example 06 12345678";
var msgCap_en = "The value inserted in the field #campo# is not valid, use format nnnnn, for example 00100";
var msgEmail_en = "The email inserted in the field #campo# is not valid";
var msgUrl_en = "The web address inserted in the field #campo# is not valid, use format http://www.websitename.com";
var msgLogin_en = "The value inserted in the field #campo# is not valid. Only alphanumeric and punctuation characters -_ are allowed. Spaces are not allowed";
var msgIsbn_en = "The value inserted in the field #campo# is not valid. It is advised to use the format n-nnnnn-nnn-n, for example 8-85543-245-X";
var msgCf_en = "The value inserted in the field #campo# is not valid";
var msgPartitaIvaEur_en = "The value inserted in the field #campo# is not valid";

/********************************************
	ROUTINE DI VISUALIZZAZIONE
********************************************/

// visualizza
function ErrVisible(id, modulo, testo, path) {
	eval('document.getElementById(\''+id+'\').className = \'err_input\';');
	eval('document.getElementById(\''+id+'_err\').className = \'err_msg\';');
	eval('document.getElementById(\''+id+'_err\').innerHTML = \'<img src="'+path+'cms/images/icon_alert.png" alt="error" />\';');
	eval('document.getElementById(\''+id+'_err\').innerHTML += "'+testo+'";');
}

// nascondi
function ErrHidden(id, modulo) {
	eval('document.getElementById(\''+id+'\').className = \'\';');
	eval('document.getElementById(\''+id+'_err\').className = \'err_nomsg\';');
	eval('document.getElementById(\''+id+'_err\').innerHTML = \'\';');
}

/********************************************
	ROUTINE DI CONTROLLO FORMATO
********************************************/

// alfanumerico
function IsTesto(lingua, campo_value, campo_nome, obbligatorio, lunghezza_min, lunghezza_max) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	//	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
   	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
   	{
		//	Lunghezza minima
		if (ok)
		{
			if (lunghezza_min!=0)
			{
				if (campo_value.length<lunghezza_min)
				{
					ok = false;
					messaggio = eval("msgTestoMin_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#testo_min#', '"+lunghezza_min+"').replace('#campo_length#', '"+campo_value.length+"')");
				}
			}
		}
		// 	Lunghezza massima
		if (ok)
		{
			if (lunghezza_max!=0)
			{
				if (campo_value.length>lunghezza_max)
				{
					ok = false;
					messaggio = eval("msgTestoMax_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#testo_max#', '"+lunghezza_max+"').replace('#campo_length#', '"+campo_value.length+"')");
				}
			}	
		}
   	}
	return messaggio;
}

// numerico
function IsNumero(lingua, campo_value, campo_nome, obbligatorio, valore_min, valore_max) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	// 	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// 	Formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpNumeric).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgNumero_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// 	Valore minimo
	if (ok)
	{
		if (valore_min!=0)
		{
			if (parseInt(campo_value)<valore_min)
			{
				ok = false;
				messaggio = eval("msgNumeroMin_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#numero_min#', '"+valore_min+"')");
			}
		}
	}
	// 	Valore massimo
	if (ok)
	{
		if (valore_max!=0)
		{
			if (parseInt(campo_value)>valore_max)
			{
				ok = false;
				messaggio = eval("msgNumeroMax_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#numero_max#', '"+valore_max+"')");
			}
		}	
	}
	return messaggio;
}

// data
function IsData(lingua, campo_value, campo_nome, obbligatorio, data_min_str, data_max_str, attuale_inf_str, attuale_sup_str) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	var data_campo = new Date();
	// Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
   	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
   	{
		// 	Formato
		if (ok)
		{
			if (!(new RegExp(regexpDate).test(campo_value)))
			{
				ok = false;
				messaggio = eval("msgData_"+lingua+".replace('#campo#', '"+campo_nome+"')");
			}
		}
		// 	Data minima
		if (ok)
		{
			if (data_min_str!=0)
			{
				var data_min = new Date();
				data_campo.setYear(aaaa);
				data_campo.setMonth(mm-1);
				data_campo.setDate(gg);
				data_min.setYear(data_min_str.charAt(6) + data_min_str.charAt(7) + data_min_str.charAt(8) + data_min_str.charAt(9));
				data_min.setMonth(data_min_str.charAt(3) + data_min_str.charAt(4) - 1);
				data_min.setDate(data_min_str.charAt(0) + data_min_str.charAt(1));
				if (data_min>data_campo)
				{
					ok = false;
					messaggio = eval("msgDataMin_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#data_min#', '"+data_min_str+"')");
				}
			}
		}
		//	Data massima
		if (ok)
		{
			if (data_max_str!=0)
			{
				var data_max = new Date();
				data_campo.setYear(aaaa);
				data_campo.setMonth(mm-1);
				data_campo.setDate(gg);
				data_max.setYear(data_max_str.charAt(6) + data_max_str.charAt(7) + data_max_str.charAt(8) + data_max_str.charAt(9));
				data_max.setMonth(data_max_str.charAt(3) + data_max_str.charAt(4) - 1);
				data_max.setDate(data_max_str.charAt(0) + data_max_str.charAt(1));
				if (data_max<data_campo)
				{
					ok = false;
					messaggio = eval("msgDataMax_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#data_max#', '"+data_max_str+"')");
				}
			}
		}
		// 	Data minima = odierna
		if (ok)
		{
			if (attuale_inf_str!=0)
			{
				var attuale_inf = new Date();
				attuale_inf.setYear(attuale_inf.getYear());
				attuale_inf.setMonth(attuale_inf.getMonth());
				attuale_inf.setDate(attuale_inf.getDate());
				data_campo.setYear(aaaa);
				data_campo.setMonth(mm-1);
				data_campo.setDate(gg);
				if (attuale_inf>data_campo)
				{
					ok = false;
					messaggio = eval("msgDataMin_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#data_min#', '"+attuale_inf.getDate() + "/" + (attuale_inf.getMonth()+1) + "/" + attuale_inf.getYear()+"')");
				}
			}
		}
		// 	Data massima = odierna
		if (ok)
		{
			if (attuale_sup_str!=0)
			{
				var attuale_sup = new Date();
				attuale_sup.setYear(attuale_sup.getYear());
				attuale_sup.setMonth(attuale_sup.getMonth());
				attuale_sup.setDate(attuale_sup.getDate());
				data_campo.setYear(aaaa);
				data_campo.setMonth(mm-1);
				data_campo.setDate(gg);
				if (attuale_sup<data_campo)
				{
					ok = false;
					messaggio = eval("msgDataMax_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#data_max#', '"+attuale_sup.getDate() + "/" + (attuale_sup.getMonth()+1) + "/" + attuale_sup.getYear()+"')");
				}
			}
		}
   	}
	return messaggio;
}

// ora
function IsOra(lingua, campo_value, campo_nome, obbligatorio, ora_min_str, ora_max_str) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	var ora_campo = new Date();
	// 	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpHour).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgOra_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
		// 	Ora minima
		if (ok)
		{
			if (ora_min_str!=0)
			{
				var ora_min = new Date();
				ora_campo.setHours(hh, mm);
				ora_min.setHours(ora_min_str.charAt(0) + ora_min_str.charAt(1), ora_min_str.charAt(3) + ora_min_str.charAt(4));
				if (ora_min>ora_campo)
				{
					ok = false;
					messaggio = eval("msgOra_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#ora_min#', '"+ora_min_str+"')");
				}
			}
		}
		// 	Ora massima
		if (ok)
		{
			if (ora_max_str!=0)
			{
				var ora_max = new Date();
				ora_campo.setHours(hh, mm);
				ora_max.setHours(ora_max_str.charAt(0) + ora_max_str.charAt(1), ora_max_str.charAt(3) + ora_max_str.charAt(4));
				if (ora_max<ora_campo)
				{
					ok = false;
					messaggio = eval("msgOra_"+lingua+".replace('#campo#', '"+campo_nome+"').replace('#ora_max#', '"+ora_max_str+"')");
				}
			}
		}
   	}
	return messaggio;
}

// telefono/fax
function IsTelefono(lingua, campo_value, campo_nome, obbligatorio) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	// 	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpPhone).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgTelefono_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
   	}
	return messaggio;
}

// cap
function IsCap(lingua, campo_value, campo_nome, obbligatorio) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	//	 Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpZipcode).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgCap_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
   	}
	return messaggio;

}

// e-mail
function IsEmail(lingua, campo_value, campo_nome, obbligatorio) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	// 	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// 	Formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpEmail).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgEmail_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// indirizzo web
function IsWeb(lingua, campo_value, campo_nome, obbligatorio) {
	//	Inizializzazione
	ok = true;
	messaggio = null;
	// 	Obbligatorietà
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	//	Formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpWeb).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgUrl_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// login
function IsLogin(lingua, campo_value, campo_nome, obbligatorio, lunghezza_min, lunghezza_max) {
	// Inizializzazione
	ok = true;
	messaggio = null;
	// se l'immissione è obbligatoria la lunghezza del valore immesso deve essere > 0
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpLogin).test(campo_value))) {
			ok = false;
			messaggio = eval("msgLogin_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// ISBN
function IsIsbn(lingua, campo_value, campo_nome, obbligatorio) {
	// Inizializzazione
	ok = true;
	messaggio = null;
	// se l'immissione è obbligatoria la lunghezza del valore immesso deve essere > 0
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		//	
		if (!(new RegExp(regexpIsbn).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgIsbn_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// codice fiscale
function IsCf(lingua, campo_value, campo_nome, obbligatorio) {
	// Inizializzazione
	ok = true;
	messaggio = null;
	// se l'immissione è obbligatoria la lunghezza del valore immesso deve essere > 0
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpTaxId).test(campo_value)))
		{
			ok = false;
			messaggio = eval("msgCf_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// Partita IVA paesi Unione Europea
function IsPartitaIvaEur(lingua, campo_value, campo_nome, obbligatorio) {
	// Inizializzazione
	ok = true;
	messaggio = null;
	// se l'immissione è obbligatoria la lunghezza del valore immesso deve essere > 0
	if (obbligatorio==1)
	{
		if (campo_value.length<1)
		{
			ok = false;
			messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	// controllo formato
	if (((obbligatorio==1)&&(ok)) || (campo_value.length>0))
	{
		if (!(new RegExp(regexpCommercialId).test(campo_value))) {
			ok = false;
			messaggio = eval("msgCf_"+lingua+".replace('#campo#', '"+campo_nome+"')");
		}
	}
	return messaggio;
}

// checkbox
function IsCheck(lingua, campo_value, campo_nome) {
	// Inizializzazione
	ok = true;
	messaggio = null;
	if (!campo_value)
	{
		ok = false;
		messaggio = eval("msgObbligatorio_"+lingua+".replace('#campo#', '"+campo_nome+"')");
	}
	return messaggio;
}

/********************************************
	ROUTINE DI VINCOLO FORMATO
	da attivare su eventi onkeyup e onblur
********************************************/

// numerico
function OnlyNumeric(modulo){
	OnlyNumero(modulo, true);
}
function OnlyNumeric(modulo, withMinValue) {
	OnlyNumero(modulo, withMinValue, true);
}
function OnlyNumeric(modulo, withMinValue, withDecSeparator) {
		newvalue = "";
		bSeparatoreDec = false;
		if (withDecSeparator==false) bSeparatoreDec = true;
		for (var i=0; i<modulo.value.length; i++) {
			if ((modulo.value.charAt(i)>=0 && modulo.value.charAt(i)<=9) || (modulo.value.charAt(i)=="." && bSeparatoreDec==false) || (modulo.value.charAt(i)=="," && bSeparatoreDec==false)) newvalue += modulo.value.charAt(i);
			if (modulo.value.charAt(i)=="." || modulo.value.charAt(i)==",") bSeparatoreDec = true;
		}
		modulo.value = newvalue;
		if (modulo.value.length==0 && withMinValue) modulo.value=1;	
}

// data
function OnlyDate(modulo) {
	newvalue = "";
	for (var i=0; i<modulo.value.length; i++) {
		if (new RegExp(regexpDateOnly).test(modulo.value.charAt(i))) newvalue += modulo.value.charAt(i);
	}
	modulo.value = newvalue;
}

// ora
function OnlyHour(modulo) {
	newvalue = "";
	for (var i=0; i<modulo.value.length; i++) {
		if (new RegExp(regexpHour).test(modulo.value.charAt(i))) newvalue += modulo.value.charAt(i);
	}
	modulo.value = newvalue;
}

// login
function OnlyLogin(modulo) {
	newvalue = "";
	for (var i=0; i<modulo.value.length; i++) {
		if (new RegExp(regexpLogin).test(modulo.value.charAt(i))) newvalue += modulo.value.charAt(i);
	}
	modulo.value = newvalue;
}

// telefono
function OnlyPhone(modulo){
	newvalue = "";
	for (var i=0; i<modulo.value.length; i++) {
		if (new RegExp(regexpPhone).test(modulo.value.charAt(i))) newvalue += modulo.value.charAt(i);
	}
	modulo.value = newvalue;
}
