var regexpAlfa = /^([\W\' _\w\\\/])+$/;
var regexpNum = /^-?\d+(\.\d+)?$/;
var regexpNumFisso = /^([\+]{1}[\d]{2}[\s]*)*0[\d]{1,3}([\s]*[\-\.\\\/]{0,1}[\s]*[1-9]{1}[0-9]+)+$/;
var regexpNumCell = /^([\+]{1}[\d]{2}[\s]*)*3[\d]{1,3}([\s]*[\-\.\\\/]{0,1}[\s]*[1-9]{1}[0-9]+)+$/;
var regexpAlfaNum = /^[\W\'\w\d\\\/\(\)\., _\-\+]+$/;
var regexpPwd = /^([a-zA-Z0-9])+$/;
var regexpCAP = /^\d{5}$/;
var regexpEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var regexpCF = /^[a-zA-Z]{6}[\d]{2}[a-zA-Z][\d]{2}[a-zA-Z][\d]{3}[a-zA-Z]$/;
var regexpPiva = /^\d{5}\d{6}$/;

//
// -----------------------------------------------------------------------------
//

/*
 *
 */
function ImpostaImmagineValidazione(_idCampo, _valido)
{
	var nodoImmagine = document.getElementById(_idCampo + '_img');
	if (!_valido)
	{
	  nodoImmagine.src = 'immagini/false.png';
	  nodoImmagine.alt = 'Campo non valido';
	}
	else
	{
	  nodoImmagine.src = 'immagini/true.png';
	  nodoImmagine.alt = '';
	}

	return;
}

/*
 *
 */
function ValidaCampo(_id, _tipo, _obbligatorio)
{
	var campoCorrente = document.getElementById(_id);
	if (!_obbligatorio && campoCorrente.value == '')
	{
	  return true;
	}

	if (campoCorrente == null)
	{
	  return true;
	}

	var isValido = false;

	if (campoCorrente.tagName == 'INPUT')
	{
		switch (_tipo)
		{
			case 'alfa': isValido = regexpAlfa.test(campoCorrente.value); break;
			case 'numfisso': isValido = regexpNumFisso.test(campoCorrente.value); break;
			case 'numcell': isValido = regexpNumCell.test(campoCorrente.value); break;
			case 'alfanum': isValido = regexpAlfaNum.test(campoCorrente.value); break;
			case 'pwd': isValido = regexpPwd.test(campoCorrente.value); break;
		  case 'email': isValido = regexpEmail.test(campoCorrente.value); break;
		  case 'cap': isValido = regexpCAP.test(campoCorrente.value); break;
		  case 'check': isValido = campoCorrente.checked; break;
		  default: return true; break;
		}

		ImpostaImmagineValidazione(_id, isValido);
	}
	else if (campoCorrente.tagName == 'SELECT')
	{
		isValido = (campoCorrente.value != 0);

		if (_tipo != 'data')
		{
		  ImpostaImmagineValidazione(_id, isValido);
		}
	}
	else if (campoCorrente.tagName == 'TEXTAREA')
	{
		isValido = (campoCorrente.value.length > 0);
		ImpostaImmagineValidazione(_id, isValido);
	}

	return isValido;
}

/*
 *
 */
function ValidaComunicato()
{
	var formValidato = true;
	var campoValido = false;

	campoValido = ValidaCampo('comunicato_cliente', '', true);
	formValidato = formValidato && campoValido;

	campoValido = ValidaCampo('comunicato_titolo', 'alfanum', true);
	formValidato = formValidato && campoValido;

	campoValido = ValidaCampo('comunicato_alias', 'alfanum', true);
	formValidato = formValidato && campoValido;

	return formValidato;
}