
// Funções para o Cadastro de Usuários

function mascararAniversario(campo) {

	if (campo.value.length == 2) {
		campo.value = campo.value + "/";
	}
}

function validarMascaraAniversario(nome_campo) {

	campo = window.document.getElementById(nome_campo);

	valor = campo.value;
	valor = remove(valor,"/", "");

	//alert(valor);

	if (isNaN(valor)) {
		campo.value = "";
		alert("Digite apenas números no campo Aniversário!");
		focarCampo(campo);
		return false;
	} else {

		var meses = [31,28,31,30,31,30,31,31,30,31,30,31];

		//alert(valor.substring(2,2));

		var mes = parseInt(valor.substring(2,5));

		//alert("mes" + mes);

		if (12 < mes) {
			campo.value = "";
			alert("Digite um mês válido para o Aniversário do Usuário!");
			focarCampo(campo);
			return false;
		} else {

			if (meses[mes - 1] < parseInt(valor.substring(0,2))) {
				campo.value = "";
				alert("Digite um dia válido para o Aniversário do Usuário!");
				focarCampo(campo);
				return false;
			}
		}
	}
}


function mascararTelefone(campo) {

	if (campo.value.length == 2){
		campo.value = "(" + campo.value + ") ";
	}
	if (campo.value.length == 9){
		campo.value = campo.value + "-";
	}
}

function validarMascaraTelefone(nome_campo) {

	campo = window.document.getElementById(nome_campo);

	valor = campo.value;
	valor = remove(valor,"(", "");
	valor = remove(valor,")", "");
	valor = remove(valor," ", "");
	valor = remove(valor,"-", "");

	if (isNaN(valor)) {
		campo.value = "";
		alert("Digite apenas números no campo Telefone!");
		focarCampo(campo);
		return false;
	}
}

function validarEmail(nome_campo) {

	campo = window.document.getElementById(nome_campo);

	valor = campo.value;

	emailInvalido = true;

	if (valor != "") {

		posAt = valor.indexOf("@");

		//alert("posAt: " + posAt);

		if (posAt > 1) {

			//alert("1");

			//posDot = valor.indexOf(".");
			posDot = valor.lastIndexOf(".");

			//alert("posDot: " + posDot);

			if (posDot > posAt + 2) {

				//alert("2");

				//alert("valor.length: " + valor.length);

				if (posDot < valor.length - 2) {

					//alert("3");

					emailInvalido = false;
				}
			}
		}

	} else {

		emailInvalido = false;

		if (arguments[1] != null) {
			emailInvalido = arguments[1];
		}

	}

	if (emailInvalido) {

		campo.value = "";
		alert("Digite um email válido!");
		focarCampo(campo);
		return false;

	} else {

		return true;

	}

}

function carregarAreas(selectOrig, selectDest, campoDest, campoPerm){

	valor_selecionado = selectOrig.value;

	//alert(selectDest);
	//alert(campoDest);
	//alert(campoPerm);

	campoPerm = campoPerm.split("#");

	qtd_campos = campoPerm.length;

	valores_campoPerm = "";

	for (i = 0; i < qtd_campos; i++) {
		valores_campoPerm += "&cp[]=" + campoPerm[i];
	}

	//alert(valores_campoPerm);

	origem = "../../sistema/cadastro_usuarios/";

	necessitaResposta = true;
	tipoDadosResposta = "texto";
	modoResposta = ["innerHTML"];
	idDestinoResposta = selectDest;
	exibirCarregando = false;
	idDestinoCarregando = "";
	conteudoCarregando = "";
	tratarErro = false;
	idDestinoMensagemErro = "";
	metodoRequisicao = "GET";
	urlRequisicao = origem + "cadastro_usuarios_listar_areas.php?idund=" + valor_selecionado + "&cd=" + campoDest + valores_campoPerm;
	estadoAssincrono = true;
	dadosEnviar = null;

	retorneResposta(necessitaResposta, tipoDadosResposta, modoResposta, idDestinoResposta, exibirCarregando, idDestinoCarregando, conteudoCarregando, tratarErro, idDestinoMensagemErro, metodoRequisicao, urlRequisicao, estadoAssincrono, dadosEnviar);

}

function carregarMunicipios(selectOrig, selectDest, campoDest){

	valor_selecionado = selectOrig.value;

	//alert(selectDest);
	//alert(campoDest);

	origem = "../../sistema/cadastro_usuarios/";

	necessitaResposta = true;
	tipoDadosResposta = "texto";
	modoResposta = ["innerHTML"];
	idDestinoResposta = selectDest;
	exibirCarregando = false;
	idDestinoCarregando = "";
	conteudoCarregando = "";
	tratarErro = false;
	idDestinoMensagemErro = "";
	metodoRequisicao = "GET";
	urlRequisicao = origem + "cadastro_usuarios_listar_municipios.php?id=" + valor_selecionado + "&cd=" + campoDest;
	estadoAssincrono = true;
	dadosEnviar = null;

	retorneResposta(necessitaResposta, tipoDadosResposta, modoResposta, idDestinoResposta, exibirCarregando, idDestinoCarregando, conteudoCarregando, tratarErro, idDestinoMensagemErro, metodoRequisicao, urlRequisicao, estadoAssincrono, dadosEnviar);

}

var parametro_validar_matricula = 'n';

function validarMatricula(campo_matricula, campo_digito, e) {

	matricula = window.document.getElementById(campo_matricula).value;

	digito_matricula = window.document.getElementById(campo_digito).value;

	if (matricula != "") {

		if (parametro_validar_matricula != "n") {

			complemento = "";
			if (e != "") {
				complemento = "&e=" + e;
			}

			origem = "../../sistema/cadastro_usuarios/";

			necessitaResposta = true;
			tipoDadosResposta = "texto";
			modoResposta = ["alert",true,true];
			idDestinoResposta = campo_matricula;
			exibirCarregando = false;
			idDestinoCarregando = "";
			conteudoCarregando = "";
			tratarErro = false;
			idDestinoMensagemErro = "";
			metodoRequisicao = "GET";
			urlRequisicao = origem + "cadastro_usuarios_validar_matricula.php?matricula=" + matricula + "&matricula-digito=" + digito_matricula + complemento;
			estadoAssincrono = true;
			dadosEnviar = null;

			retorneResposta(necessitaResposta, tipoDadosResposta, modoResposta, idDestinoResposta, exibirCarregando, idDestinoCarregando, conteudoCarregando, tratarErro, idDestinoMensagemErro, metodoRequisicao, urlRequisicao, estadoAssincrono, dadosEnviar);

		}

	}
}

function setarSenha(obj1)
{

    login = obj1.value;
    
    //alert(login);
    //origem = "../../sistema/siof/";

    necessitaResposta = true;
    tipoDadosResposta = "texto";
    modoResposta = ["alert",true,true];
    idDestinoResposta = "";

    exibirCarregando = false;
    modoRespostaCarregando = "";
    idDestinoCarregando = "";
    conteudoCarregando = "";

    tratarErro = false;
    modoRespostaErro = "";
    idDestinoMensagemErro = "";
    conteudoMensagemErro = "";

    metodoRequisicao = "GET";
    urlRequisicao = "../../sistema/cadastro_usuarios/setar_senha.php?login=" + login;
    estadoAssincrono = true;
    dadosEnviar = null;

    retorneResposta2(
        
        necessitaResposta,
        tipoDadosResposta,
        modoResposta,
        idDestinoResposta,

        exibirCarregando,
        modoRespostaCarregando,
        idDestinoCarregando,
        conteudoCarregando,

        tratarErro,
        modoRespostaErro,
        idDestinoMensagemErro,
        conteudoMensagemErro,

        metodoRequisicao,
        urlRequisicao,
        estadoAssincrono,
        dadosEnviar);

}

function enableDisableAllInputs(id_campo_checado, prefixo) {

	campo_checado = document.getElementById(id_campo_checado);

	if (campo_checado.checked) {
		var arrayElements = document.getElementsByTagName('input');

		for (var i = 0; i < arrayElements.length; i++) {
			if (arrayElements[i].id.indexOf(prefixo) > -1) {
				arrayElements[i].disabled = "";
				if (arrayElements[i].id.indexOf(prefixo + "-senha") > -1) {
					if (arrayElements[i].type == 'text') {
						arrayElements[i].value = "123";
					}
				}
				if (arrayElements[i].id.indexOf(prefixo + "-confirmar-senha") > -1) {
					if (arrayElements[i].type == 'text') {
						arrayElements[i].value = "123";
					}
				}
			}
		}
	} else {
		var arrayElements = document.getElementsByTagName('input');

		for (var i=0; i<arrayElements.length; i++) {
			if (arrayElements[i].id.indexOf(prefixo) > -1) {
				if (arrayElements[i].type == 'password') {
					arrayElements[i].value = "";
				}
				if (arrayElements[i].type == 'text') {
					arrayElements[i].value = "";
				}
				if (arrayElements[i].type == 'checkbox') {
					arrayElements[i].checked = false;
				}
				arrayElements[i].disabled = "disabled";
			}
		}
	}
}

var parametro_validar_login = 'n';

function validarLogin(campo_login, painel_resposta, e) {

	login = campo_login.value;

	if (login != "") {

		if (parametro_validar_login != "n") {

			complemento = "";
			if (e != "") {
				complemento = "&e=" + e;
			}

			//alert(painel_resposta + ", " + e + ", " + login + ", " + complemento);

			origem = "../../sistema/cadastro_usuarios/";

			necessitaResposta = true;
			tipoDadosResposta = "texto";
			modoResposta = ["alert",true,true];
			idDestinoResposta = painel_resposta;
			exibirCarregando = false;
			idDestinoCarregando = "";
			conteudoCarregando = "";
			tratarErro = false;
			idDestinoMensagemErro = "";
			metodoRequisicao = "GET";
			urlRequisicao = origem + "cadastro_usuarios_validar_login.php?login=" + login + complemento;
			estadoAssincrono = true;
			dadosEnviar = null;

			retorneResposta(necessitaResposta, tipoDadosResposta, modoResposta, idDestinoResposta, exibirCarregando, idDestinoCarregando, conteudoCarregando, tratarErro, idDestinoMensagemErro, metodoRequisicao, urlRequisicao, estadoAssincrono, dadosEnviar);

		}

	}
}

function verificarPermissao(checkVerificar) {

	//alert('Entrou!');

	//alert('checkVerificar: ' + checkVerificar)

	qtd_cheks = checkVerificar.length;

	//alert('qtd_cheks: ' + qtd_cheks);

	for (var h = 0; h < qtd_cheks; h++) {

		//alert('Percorrendo!');

		if (document.getElementById(checkVerificar[h]) != null) {

			checkVerificando = document.getElementById(checkVerificar[h]);

			setTimeout('',250);

			if (checkVerificando.checked) {

				area_usuario_selecionada = document.getElementById("area_usuario").value;

				//alert('area_usuario_selecionada: ' + area_usuario_selecionada);

				if ((area_usuario_selecionada != 1) &&
					(area_usuario_selecionada != 2) &&
					(area_usuario_selecionada != 9)) {

					var arrayElements = document.getElementsByTagName('input');

					for (var i = 0; i < arrayElements.length; i++) {
						if (arrayElements[i].type == 'checkbox') {
							if (arrayElements[i].name == checkVerificando.name) {
								if (arrayElements[i].id.indexOf("checkAllChecks") == -1) {
									arrayElements[i].checked = false;
									alert("Este usuário não tem permissão de fazer este tipo de avaliação por causa da Área selecionada para ele!");
								}
							}
						}
					}
				}
			}
		}

	}

}

var permitir_permissao_solicitacao = true;

var permitir_definir_login = true;
var permitir_definir_senha = true;

var permissao_alteracao_usr = false;

function validarUSR(nameform) {

	//Se o Nome for nulo
	if(document.getElementById('nome').value == "") {
		alert("Por favor digite o Nome!");
		return false;
	}

	//Se o CPF for nulo
	if(document.getElementById('cpf').value == "") {
		alert("Por favor digite o CPF!");
		return false;
	}

	//Se o Nome for nulo
	if (document.getElementById('emails').value == "") {
		alert("Por favor digite um email válido!");
		return false;
	} else {
		resultado_validar_email = validarEmail("emails", true);
		if (!resultado_validar_email) {
			return false;
		}
	}

	//Se a Regional for nula
	if(document.getElementById('regional').selectedIndex == 0) {
		alert("Por favor selecione a Região!");
		return false;
	}

	//Se o Município for nulo
	if(document.getElementById('municipio').value == "") {
		alert("Por favor selecione o Município!");
		return false;
	}

	//Se a Unidade for nula
	if(document.getElementById('und-usuario').selectedIndex == 0) {
		alert("Por favor selecione a Unidade!");
		return false;
	}

	//Se a Área for nula
	if(document.getElementById('area_usuario').value == "") {
		alert("Por favor selecione a Área!");
		return false;
	}

	//Se a Matrícula for nula
	if(document.getElementById('matricula').value == "") {
		alert("Por favor digite a Matrícula!");
		return false;
	}

	//Se o Cargo for nulo
	if(document.getElementById('cargo').value == "") {
		alert("Por favor digite o Cargo!");
		return false;
	} 

	//Se a Função for nula
	if(document.getElementById('funcao').value == "") {
		alert("Por favor digite a Função!");
		return false;
	} 

	if (permitir_permissao_solicitacao) {
		permissao_solic = document.getElementById("permissao-solicitante");
	}

	permissao_usr = document.getElementById("permissao-usuario");

	if (permitir_permissao_solicitacao) {
		if (!permissao_solic.checked && !permissao_usr.checked) {
			alert("Por favor defina se este usuário é:\napenas Solicitante;\napenas Usuário do Sistema;\nou Ambos!");
			return false;
		}
		if (!permissao_solic.checked) {
			respostaUsr = confirm("Tem certeza que este usuário\nnão será cadastrado como\num Solicitante?");
			if (!respostaUsr) {
				return false;
			}
		}
	}

	if (permissao_usr.checked) {

		if (permitir_definir_login) {
			if(document.getElementById('cad-nomeusuario').value.length < 1) {
				alert("Por favor digite o Login!");
				return false;
			}

			if(document.getElementById('cad-nomeusuario').value.length < 4) {
				alert("Por favor digite um Login válido!\nO Login não pode ter menos que 4 (quatro) caracteres!");
				return false;
			}

			if(document.getElementById('cad-nomeusuario').value.length > 16) {
				alert("Por favor digite um Login válido!\nO Login não pode ter mais que 16 (dezesseis) caracteres!");
				return false;
			}

			if(document.getElementById('cad-nomeusuario').value.indexOf(" ") > 0) {
				alert("Por favor digite um Login válido!\nO Login não pode ter espaços!");
				return false;
			}
		}

		if (permitir_definir_senha) {
			if(document.getElementById('cad-senha').value.length < 1) {
				alert("Por favor digite a senha!");
				return false;
			}

			if(document.getElementById('cad-senha').value.length < 3) {
				alert("Por favor digite uma Senha válida!\nA Senha não pode ter menos que 3 (três) caracteres!");
				return false;
			}
			if(document.getElementById('cad-senha').value.length > 16) {
				alert("Por favor digite uma Senha válida!\nA Senha não pode ter mais que 16 (dezesseis) caracteres!");
				return false;
			}
			if(document.getElementById('cad-senha').value != document.getElementById('cad-confirmar-senha').value) {
				alert("As senhas digitadas não estão iguais!");
				return false;
			}
		}

		var arrayElements = document.getElementsByTagName('input');

		nenhum_marcado = true;

		for (var i = 0; i < arrayElements.length; i++) {
			if (arrayElements[i].type == 'checkbox') {
				if (arrayElements[i].id.indexOf("cad") > -1) {
					if (arrayElements[i].checked) {
						nenhum_marcado = false;
					}
				}
			}
		}

		if (nenhum_marcado) {
			alert("Por favor defina as permissões do Usuário!");
			return false;
		}

	} else {

		respostaUsr = confirm("Tem certeza que este usuário\nnão será cadastrado como\num Usuário do Sistema?");
		if (!respostaUsr) {
			return false;
		}

	}

	resposta = false;

	if (permissao_alteracao_usr) {
		resposta = confirm("Você tem certeza que deseja submeter esta alteração?");
	} else {
		resposta = confirm("Você tem certeza que deseja submeter este cadastro?");
	}

	if (!resposta) {
		return false;
	}

}

function conferirSenhaAtual(campo_senha_atual, painel_resposta, id_destino_aviso_resposta) {

	senha_atual = campo_senha_atual.value;

	if (senha_atual != "") {

		origem = "../../sistema/cadastro_usuarios/";

		necessitaResposta = true;
		tipoDadosResposta = "texto";
		modoResposta = ["alert",true,true,true,id_destino_aviso_resposta];
		//alert(modoResposta);
		idDestinoResposta = painel_resposta;
		exibirCarregando = false;
		idDestinoCarregando = "";
		conteudoCarregando = "";
		tratarErro = false;
		idDestinoMensagemErro = "";
		metodoRequisicao = "GET";
		urlRequisicao = origem + "cadastro_usuarios_conferir_senha_atual.php?sa=" + senha_atual;
		estadoAssincrono = true;
		dadosEnviar = null;

		retorneResposta(necessitaResposta, tipoDadosResposta, modoResposta, idDestinoResposta, exibirCarregando, idDestinoCarregando, conteudoCarregando, tratarErro, idDestinoMensagemErro, metodoRequisicao, urlRequisicao, estadoAssincrono, dadosEnviar);

	}
}

function compararSenhas(campo_senha, campo_confirmar_senha) {

	campo_senha = document.getElementById(campo_senha);

	if (campo_senha.value != campo_confirmar_senha.value) {
		campo_senha.value = '';
		campo_confirmar_senha.value = '';
		focarCampo(campo_senha);
		alert('As senhas digitadas não estão iguais!');
		return false;
	}
}

var permitir_redefinir_senha = true;

function validarAlterarMeuUSR(nameform) {

	if (permitir_redefinir_senha) {

		if ((document.getElementById('senha-nova').value.length > 0) &&
			(document.getElementById('confirmar-senha-nova').value.length > 0)) {

			if (document.getElementById('senha-nova').value == "123") {
				alert("Por favor redigite a sua nova senha!\nVocê digitou a senha padrão do sistema!");
				return false;
			}

			if (document.getElementById('senha-nova').value.length < 3) {
				alert("Por favor digite uma nova senha válida!\nA Senha não pode ter menos que 3 (três) caracteres!");
				return false;
			}

			if (document.getElementById('senha-nova').value.length > 16) {
				alert("Por favor digite uma nova senha válida!\nA Senha não pode ter mais que 16 (dezesseis) caracteres!");
				return false;
			}

			if (document.getElementById('senha-nova').value != document.getElementById('confirmar-senha-nova').value) {
				alert("As senhas digitadas não estão iguais!");
				return false;
			}

		} else {

			if ((document.getElementById('senha-nova').value.length <= 0) ||
				(document.getElementById('confirmar-senha-nova').value.length <= 0)) {
				alert("Você não digitou a nova senha!");
				return false;
			}

		}

		if (document.getElementById('senha-atual').value.length < 1) {
			alert("Por favor digite sua senha atual!");
			return false;
		}

		if (document.getElementById('aviso-resposta').value != "") {
			alert("Por favor digite sua senha atual!");
			return false;
		}

	} else {

		if (document.getElementById('telefones').value == "" &&
			document.getElementById('emails').value == "" &&
			document.getElementById('funcao').value == "") {
			alert("Você não digitou nenhum dado para alterar!");
			return false;
		}

		if (document.getElementById('senha-atual').value.length < 1) {
			alert("Por favor digite sua senha atual!");
			return false;
		}

		if (document.getElementById('confirmar-senha-atual').value.length < 1) {
			alert("Por favor confirme sua senha atual!");
			return false;
		}

		if (document.getElementById('aviso-resposta').value != "") {
			alert("Por favor digite sua senha atual!");
			return false;
		}

	}

	resposta = confirm("Você tem certeza que deseja submeter esta alteração?");

	if (resposta) {
		return true;
	} else {
		return false;
	}

}



// Funções para Solicitação de Nova Senha

function validarMudancaSenha(nameform) {

	if (document.getElementById('nova-senha').value.length < 1) {
		alert("Por favor digite a senha!");
		return false;
	}

	if (document.getElementById('nova-senha').value.length < 3) {
		alert("Por favor digite uma Senha válida!\nA Senha não pode ter menos que 3 (três) caracteres!");
		return false;
	}

	if (document.getElementById('nova-senha').value.length > 16) {
		alert("Por favor digite uma Senha válida!\nA Senha não pode ter mais que 16 (dezesseis) caracteres!");
		return false;
	}

	if (document.getElementById('nova-senha').value != document.getElementById('confirmacao-nova-senha').value) {
		alert("As senhas digitadas não estão iguais!");
		return false;
	}

	resposta = confirm("Você tem certeza que deseja submeter esta solicitação?");

	if (resposta) {
		return true;
	} else {
		return false;
	}

}
