var subcat        = new Array();
var arrayIndex    = -1;
var padraoVazioOk = false;

function showArea(areaNumber)
{
	var a1 = document.getElementById('area1');
	var a2 = document.getElementById('area2');
	var a3 = document.getElementById('area3');
	
	if (a1 != null)
	{
		a1.style.display = (areaNumber == 1) ? 'block' : 'none';
	}
			
	if (a2 != null)
	{
		a2.style.display = (areaNumber == 2) ? 'block' : 'none';
	}
	
	if (a3 != null)
	{
		a3.style.display = (areaNumber == 3) ? 'block' : 'none';
	}
	
	// voltando para o topo
	scroll(0, 0);
}

function checarHorario()
{
	var radioNao = document.getElementById('hNao');
	var radioSim = document.getElementById('hSim');
	var vPE      = document.getElementById('vPE');
	var vRF      = document.getElementById('vRF');
	var vEst     = document.getElementById('vEst');
	
	if (vEst != null && radioNao != null)
	{
		if (vEst.checked)
		{
			if (radioNao.checked)
			{
				alert('Informamos que nossos estgios so apenas em horrio integral.');
				radioSim.checked = true;
			}
				
			radioNao.disabled = true;
		}
		else 
		{
			radioNao.disabled = false;
		}
	}
}


function IsEmpty(s) 
{
	return (s == null) || (s == "");
}

function ValidarArea(numeroArea)
{
	var f               = document.getElementById('career');
	var cRegX           = / /g;
	var cRegXBarra      = /\//g;
	var cRegXTrace      = /-/g;
	var cRegXParentesis = /(\(|\))/g;
	var cRegPlus        = /\+/g;
	var cRegXDot        = /\./g;
	
	switch (numeroArea)
	{
		case 1:
			return true;
			if (IsEmpty(f.nome.value))
			{
				alert('O campo Nome deve ser preenchido.');
				showArea(1);
				f.nome.focus();
				return false;
			}
			
			if (f.nome.value.length < 5)
			{
				alert('O campo Nome deve ser preenchido corretamente.');
				showArea(1);
				f.nome.focus();
				return false;
			}
			
			if (IsEmpty(f.email.value))
			{
				alert('O campo e-mail deve ser preenchido.');
				showArea(1);
				f.email.focus();
				return false;
			}
				
			if ((f.email.value.indexOf('@') == -1) || (f.email.value.indexOf('.') == -1) || (!isNaN(f.email.value.charAt(0))) || 
				(f.email.value.indexOf('@') != f.email.value.lastIndexOf('@')) || (f.email.value.charAt(f.email.value.indexOf('@') - 1) == '.') || 
				(f.email.value.charAt(f.email.value.indexOf('@') + 1) == '.') || (f.email.value.charAt(0) == '.') || 
				(f.email.value.charAt(f.email.value.length -1) == '.') || (f.email.value.length < 5) || (f.email.value.length > 255))
			{
				alert('O campo e-mail deve ser preenchido corretamente.')
				showArea(1);
				f.email.focus();
				return false;
			}
			
			if ((!document.getElementById('sMasc').checked) && (!document.getElementById('sFem').checked))
			{
				alert('O campo Sexo deve ser informado.');
				showArea(1);
				document.getElementById('sMasc').focus();
				return false;
			}
			
			if (IsEmpty(f.data_nascimento.value))
			{
				alert('O campo Data de Nascimento deve ser informado.\nSelecione a Data de seu Nascimento clicando no Calendrio ao lado da caixa de texto.');
				showArea(1);
				f.data_nascimento.focus();
				return false;
			}
			
			if (isNaN(f.data_nascimento.value.replace(cRegX, '').replace(cRegXBarra, '')))
			{
				alert('O campo Data de Nascimento deve ser preenchido corretamente.');
				showArea(1);
				f.data_nascimento.focus();
				return false;
			}
	
			if (IsEmpty(f.endereco.value))
			{
				alert('O campo Endereo deve ser preenchido.');
				showArea(1);
				f.endereco.focus();
				return false;
			}
				
			if (f.endereco.value.length < 5)
			{
				alert('O campo Endereo deve ser preenchido corretamente.');
				showArea(1);
				f.endereco.focus();
				return false;
			}
			
			if (IsEmpty(f.cep.value))
			{
				alert('O campo CEP deve ser preenchido.');
				showArea(1);
				f.cep.focus();
				return false;
			}
			
			if ((f.cep.value.length < 8) || (isNaN(f.cep.value.replace(cRegX, '').replace(cRegXDot, '').replace(cRegXTrace, ''))))
			{
				alert('O campo CEP deve ser preenchido corretamente.');
				showArea(1);
				f.cep.focus();
				return false;
			}
				if (f.uf.selectedIndex == 0)
			{
				alert('O campo Estado deve ser seleciondo.');
				showArea(1);
				f.uf.focus();
				return false;
			}
			
			if (IsEmpty(f.cidade.value))
			{
				alert('O campo Cidade deve ser preenchido.');
				showArea(1);
				f.cidade.focus();
				return false;
			}
			
			if (IsEmpty(f.telefone.value))
			{
				alert('O campo Telefone deve ser preenchido.');
				showArea(1);
				f.telefone.focus();
				return false;
			}
			
			if (isNaN(f.telefone.value.replace(cRegX, '').replace(cRegXParentesis, '').replace(cRegXTrace, '').replace(cRegPlus, '')))
			{
				alert('O campo Telefone deve ser corretamente.');
				showArea(1);
				f.telefone.focus();
				return false;
			}
			
			if (!IsEmpty(f.celular.value))
			{
				if (isNaN(f.celular.value.replace(cRegX, '').replace(cRegXParentesis, '').replace(cRegXTrace, '').replace(cRegPlus, '')))
				{
					alert('O campo Celular  opcional. Se for preench-lo, certifique-se de faz-lo corretamente.');
					showArea(1);
					f.celular.focus();
					return false;
				}
			}
			break;

		case 2:
			return true;
			if (!IsEmpty(f.pos_graduacao.value))
			{
				if (f.pos_graduacao.value.length < 5)
				{
					alert('O campo Ps Graduao deve ser preenchido corretamente.');
					showArea(2);
					f.pos_graduacao.focus();
					return false;
				}
			}
			
			// Validaes para o caso do curso superior ter sido selecionado.
			if (f.curso_superior.selectedIndex != 0 || (!IsEmpty(f.outro_curso_superior.value)))
			{
				if ((!document.getElementById('rCSCSim').checked) && (!document.getElementById('rCSCNao').checked))
				{
					alert('Informse se o Curso est ou no completo.');
					showArea(2);
					document.getElementById('rCSCSim').focus();
					return false;
				}
				
				var str;
				var art;
					
				if (document.getElementById('rCSCSim').checked)
				{
					str = 'Ano de Formatura';
					art = 'o';
				}
				else
				{
					str = 'Consluso esperada para';
					art = 'a';
				}

				if (IsEmpty(f.ano_formatura_curso_superior.value))
				{
					alert('O campo ' + str + ' deve ser informado.\nSelecione ' + art + ' ' + str + ' clicando no Calendrio ao lado da caixa de texto.');
					showArea(2);
					f.data_nascimento.focus();
					return false;
				}

				if (isNaN(f.ano_formatura_curso_superior.value.replace(cRegX, '').replace(cRegXBarra, '')))
				{
					alert('O campo ' + str + ' deve ser preenchido corretamente.');
					showArea(2);
					f.ano_formatura_curso_superior.focus();
					return false;
				}
				
				if (IsEmpty(f.instituicao_curso_superior.value))
				{
					alert('O campo Instituio deve ser preenchido.');
					showArea(2);
					f.instituicao_curso_superior.focus();
					return false;
				}
				
				if (f.instituicao_curso_superior.value.length < 5)
				{
					alert('O campo Instituio deve ser preenchido corretamente.');
					showArea(2);
					f.instituicao_curso_superior.focus();
					return false;
				}
			}
			// Validaes para o caso do curso superior no ter sido selecionado
			else if ((!IsEmpty(f.ano_formatura_curso_superior.value)) || ((!IsEmpty(f.instituicao_curso_superior.value))) ||
					(!IsEmpty(f.obs_curso_superior.value)))
			{
				alert('Voc informou os dados do Curso superior mas no informou qual o curso. Por favor, verifique.');
				showArea(2);
				f.curso_superior.focus();
				return false;
			}
			
			
			// Validaes para o caso do curso superior ter sido selecionado.
			if (f.curso_tecnico.selectedIndex != 0 || (!IsEmpty(f.outro_curso_tecnico.value)))
			{
				if ((!document.getElementById('rCTCSim').checked) && (!document.getElementById('rCTCNao').checked))
				{
					alert('Informse se o Curso est ou no completo.');
					showArea(2);
					document.getElementById('rCTCSim').focus();
					return false;
				}

				var str;
				var art;

				if (document.getElementById('rCTCSim').checked)
				{
					str = 'Ano de Formatura';
					art = 'o';
				}
				else
				{
					str = 'Consluso esperada para';
					art = 'a';
				}

				if (IsEmpty(f.ano_formatura_curso_tecnico.value))
				{
					alert('O campo ' + str + ' deve ser informado.\nSelecione ' + art + ' ' + str + ' clicando no Calendrio ao lado da caixa de texto.');
					showArea(2);
					f.ano_formatura_curso_tecnico.focus();
					return false;
				}

				if (isNaN(f.ano_formatura_curso_tecnico.value.replace(cRegX, '').replace(cRegXBarra, '')))
				{
					alert('O campo Data de Nascimento deve ser preenchido corretamente.');
					showArea(2);
					f.ano_formatura_curso_tecnico.focus();
					return false;
				}
				
				if (IsEmpty(f.instituicao_curso_tecnico.value))
				{
					alert('O campo Instituio deve ser preenchido.');
					showArea(2);
					f.instituicao_curso_tecnico.focus();
					return false;
				}
				
				if (f.instituicao_curso_tecnico.value.length < 5)
				{
					alert('O campo Instituio deve ser preenchido corretamente.');
					showArea(2);
					f.instituicao_curso_tecnico.focus();
					return false;
				}
			}
			// Validaes para o caso do curso tcnico no ter sido selecionado
			else if ((!IsEmpty(f.ano_formatura_curso_tecnico.value)) || ((!IsEmpty(f.instituicao_curso_tecnico.value))) ||
					(!IsEmpty(f.obs_curso_tecnico.value)))
			{
				alert('Voc informou os dados do Curso tnico mas no informou qual o curso. Por favor, verifique.');
				showArea(2);
				f.curso_tecnico.focus();
				return false;
			}
			
			if (!IsEmpty(f.outro_idioma.value))
			{
				if (!document.getElementById('rOutroIdiomaBasico').checked && !document.getElementById('rOutroIdiomaIntermediario').checked && !document.getElementById('rOutroIdiomaAvancado').checked && !document.getElementById('rOutroIdiomaFluente').checked)
				{
					alert('Voc informou um outro Idioma mas no especificou o nvel de conhecimento.\nPor favor, verifique.');
					document.getElementById('rOutroIdiomaBasico').focus();
					return false;
				}
			}
			
			if (!IsEmpty(f.outro_programa.value))
			{
				if (!document.getElementById('rOutroSoftBasico').checked && !document.getElementById('rOutroSoftIntermediario').checked && !document.getElementById('rOutroSoftAvancado').checked)
				{
					alert('Voc informou um outro Programa mas no especificou o nvel de conhecimento.\nPor favor, verifique.');
					document.getElementById('rOutroSoftBasico').focus();
					return false;
				}
			}

			break;
			
		case 3:
			break;
	}
	
	return true;
}

function limparCombo(combo, edit)
{
	if (!IsEmpty(edit.value))
	{
		document.getElementById(combo).selectedIndex = 0;
	}
	
	return true;
}

function valid()
{
	return ValidarArea(1) && ValidarArea(2) && ValidarArea(3);
}

function showCalendar(inputField, x, y)
{
	NewCal(document.getElementById(inputField), 'ddmmyyyy', document.getElementById('calendario'), x, y); 
	void(0);
}

function atualizarTextoDataFormatura(checkSim, checkNao, div)
{
	if (document.getElementById(checkSim).checked)
	{
		document.getElementById(div).innerHTML = 'Ano de Formatura:';
	}
	else if (document.getElementById(checkNao).checked)
	{
		document.getElementById(div).innerHTML = 'Concluso esperada para:';
	}
}

if (!isIE())
{
	document.captureEvents(Event.KEYPRESS);
}