﻿var vUploadExecutando = false;
var vErroUpload = false;
var vTextoUpload = "";

//Executado pelo click do botão Enviar, faz o upload do currículo caso esse ainda não tenha sido enviado.
function ASPxButtonEnviar_Click(s, e) {
	if (ValidarGrupo("TrabalheConosco")) {
		if (vUploadExecutando) {
			ASPxButtonEnviar.SetEnabled(false);
			setTimeout("ASPxButtonEnviar_Click(s, e);", 100);
		}
		else {

			if ((ASPxUploadControlCurriculo.GetText() != "") && (ASPxUploadControlCurriculo.GetClientVisible())) {
				ASPxButtonEnviar.SetEnabled(false);
				ASPxCallbackUploadDados.PerformCallback(ASPxTextBoxNome.GetText() + ";" + ASPxDateEditDataNascimento.GetText()); //ASPxUploadControlCurriculo.Upload();
				setTimeout("ASPxButtonEnviar_Click(s, e);", 100);
			}
			else {
				ASPxButtonEnviar.SetEnabled(true);
				if (vErroUpload) {
					if (!confirm("Houve uma falha ao enviar o currículo, gostaria de tentar novamente?")) {
						ASPxCallbackPanelTrabalheConosco.PerformCallback("Enviar");
					}
				}
				else {
					ASPxLabelCaracteres.SetText("1500");
					ASPxCallbackPanelTrabalheConosco.PerformCallback("Enviar");
				}
			}
		}
	}
}

function ASPxCallbackPanelTrabalheConosco_EndCallback(s, e) {
	if (ASPxCallbackPanelTrabalheConosco.cpMensagem != "") {
		ExibirPopUpMensagem(ASPxCallbackPanelTrabalheConosco.cpMensagem, ASPxCallbackPanelTrabalheConosco.cpMensagemTipo);
	}

	if (ASPxCallbackPanelTrabalheConosco.cpParametro = "RetornarEndereco") {
		ASPxTextBoxEndereco.SetFocus();
	}
}

function ASPxMemoOutrasInformacoes_KeyUP(s, e) {
	ContarCaracteresRestantesDevExpress(ASPxMemoOutrasInformacoes, 1500, ASPxLabelCaracteres);
}

//Executado quando o upload do currículo foi finalizado.
function ASPxUploadControlCurriculo_FileUploadComplete(s, e) {
	if (e.callbackData == "true") {
		ASPxLabelUploadCurriculo.SetText(vTextoUpload + " anexado com sucesso.");
		ASPxLabelAviso.SetClientVisible(false);
	}
	else if (!e.isValid) {
		vErroUpload = true;
		ASPxLabelUploadCurriculo.SetText("");
	}
	else {
		vErroUpload = true;
		ASPxLabelUploadCurriculo.SetText("Falha ao anexar currículo. Tipos permitidos .zip e .rar");
		ASPxLabelAviso.SetClientVisible(false);
	}
	vUploadExecutando = false;
}

//Executado quando o upload do currículo foi iniciado.
function ASPxUploadControlCurriculo_FileUploadStart(s, e) {
	ASPxLabelUploadCurriculo.SetText("Anexando currículo...");
	vUploadExecutando = true;
	vErroUpload = false;
	vTextoUpload = ASPxUploadControlCurriculo.GetText();
}

function ASPxTextBoxCEP_TextChanged(s, e) {
	if (ASPxTextBoxCEP.GetIsValid()) {
		ASPxCallbackPanelTrabalheConosco.PerformCallback("RetornarEndereco;");
	}
	else {
		return false;
	}
}

//Executado quando é finalizado o callbaxk que envia para o servidor os dados de nome e data do candidato, preparando dados para o upload do curriculo.
function ASPxCallbackUploadDados_CallbackComplete(s, e) {
	if (e.result == "true") {
		ASPxUploadControlCurriculo.Upload();
	}
	else {
		ASPxLabelUploadCurriculo.SetText("Falha ao anexar currículo.");
	}
}

//Executado quando o valor do controle ASPxUploadControlCurriculo é modificado.
function ASPxUploadControlCurriculo_TextChanged(s, e) {
	ASPxDateEditDataNascimento.Validate();
	ASPxTextBoxNome.Validate();
	if (ASPxDateEditDataNascimento.GetIsValid() && ASPxTextBoxNome.GetIsValid()) {
		ASPxCallbackUploadDados.PerformCallback(ASPxTextBoxNome.GetText() + ";" + ASPxDateEditDataNascimento.GetText());
	}
	else {
		ExibirNotificacao("Alguns dados não foram informados corretamente, verifique os campos em destaque.");
		s.ClearText();
		if (!ASPxTextBoxNome.GetIsValid()) {
			ASPxTextBoxNome.SetFocus();
		}
		else if (!ASPxDateEditDataNascimento.GetIsValid()) {
			ASPxDateEditDataNascimento.SetFocus();
		}
	}
}
