	function CamposObrigatorios(nomeDoCampo, nomeDoDisplay){
		this.NomeDoCampo = nomeDoCampo;
		this.NomeDoDisplay = nomeDoDisplay;
	}

	function getArrayDeCamposCadastroObrigatorios(){
		var arrayDeCampos = new Array(7);
		arrayDeCampos[0] = new CamposObrigatorios('txtNome', 'Nome');
		arrayDeCampos[1] = new CamposObrigatorios('txtDataNasc', 'Data de Nascimento');
		arrayDeCampos[2] = new CamposObrigatorios('txtEndereco', 'Endereço');
		arrayDeCampos[3] = new CamposObrigatorios('txtCidade','Cidade');
		arrayDeCampos[4] = new CamposObrigatorios('txtEstado', 'Estado');
		arrayDeCampos[5] = new CamposObrigatorios('txtPais','País');
		arrayDeCampos[6] = new CamposObrigatorios('txtEmail','E-mail');
		//arrayDeCampos[] = new CamposObrigatorios('txtCep','CEP');
		//arrayDeCampos[] = new CamposObrigatorios('ddlSexo', 'Sexo');
		//arrayDeCampos[] = new CamposObrigatorios('txtCPF', 'CPF');
		//arrayDeCampos[] = new CamposObrigatorios('txtIdentidade', 'Identidade');
		//arrayDeCampos[] = new CamposObrigatorios('cbLingua[]','Línguas');
		return arrayDeCampos;		
	}

	function getArrayDeCamposObrigatorios(){
		var arrayDeCampos = new Array(8);
		arrayDeCampos[0] = new CamposObrigatorios('txtNome', 'Nome');
		arrayDeCampos[1] = new CamposObrigatorios('txtCracha', 'Nome para crachá');
		arrayDeCampos[2] = new CamposObrigatorios('txtDataNasc', 'Data de Nascimento');
		arrayDeCampos[3] = new CamposObrigatorios('txtEndereco', 'Endereço');
		arrayDeCampos[4] = new CamposObrigatorios('txtCidade','Cidade');
		arrayDeCampos[5] = new CamposObrigatorios('txtEstado', 'Estado');
		arrayDeCampos[6] = new CamposObrigatorios('txtPais','País');
		arrayDeCampos[7] = new CamposObrigatorios('txtEmail','E-mail');
		//arrayDeCampos[] = new CamposObrigatorios('txtCep','CEP');
		//arrayDeCampos[] = new CamposObrigatorios('ddlSexo', 'Sexo');
		//arrayDeCampos[] = new CamposObrigatorios('txtCPF', 'CPF');
		//arrayDeCampos[] = new CamposObrigatorios('txtIdentidade', 'Identidade');
		//arrayDeCampos[] = new CamposObrigatorios('cbLingua[]','Línguas');
		return arrayDeCampos;		
	}

	function recuperaElementosPeloNome(nome) {
				return document.getElementsByName(nome);
			}

			function validaDados() {
				return  isRegulamentoAceito() && isLinguasPreenchidas() && isCamposPreenchidos(getArrayDeCamposObrigatorios()) && isOrganizadorPreenchido() ;

			}
			
			function validaDadosCadastro() {
				return    isCamposCadastroPreenchidos(getArrayDeCamposCadastroObrigatorios()) ;

			}


			function isCamposPreenchidos(camposObrigatorios){
				for (i = 0; i<camposObrigatorios.length;i++){
					var campoObrigatorio = camposObrigatorios[i];
					var campo = document.getElementById(campoObrigatorio.NomeDoCampo);
					if ( campo != null && campo.value == ""){
						alert('O campo ' + campoObrigatorio.NomeDoDisplay + ' é de preenchimento obrigatório!');
						campo.focus();
						return false;
					}
				}	
				return true;
			}
			
			function isRegulamentoAceito() {
				var regulamento = document.getElementById('cbRegulamento');
				if (regulamento.checked){
					return true;
				}
				alert ('É necessário aceitar o regulamento do 3º Cizoub para efetuar a inscrição!');
				return false;
			}
			
			function isLinguasPreenchidas() {
				var linguas = recuperaElementosPeloNome('cbLingua[]');
				for (i = 0; i < linguas.length; i++){
					var campo = linguas[i];
					if (campo.checked){
						return true;
					}
				}
				alert ('Preencha ao menos um idioma!');
				return false;
			}
			
			function isOrganizadorPreenchido() {
				var excursao = recuperaElementosPeloNome('rdbExcursao')[0];
				var organizador = document.getElementById('txtOrganizador');
				if ((excursao.value == 1) && (excursao.checked) && (organizador.value == "")){
					alert('Excursão sem organizador!');
					organizador.focus();
					return false;
				}
				return true;
			}


