/* ======== Estilos e funções de droplist: ======== */
function mostrarConteudo(level) {
const iconSeta = document.getElementById(level);
const div = document.getElementById(`itens_to_display${level}`);
const classes = div.classList;
const result = classes.toggle('mostrar');
if (result) {
div.setAttribute('class', 'mostrar');
iconSeta.setAttribute('class', 'iconeCima material-icons');
} else {
div.setAttribute('class', 'padrao');
iconSeta.setAttribute('class', 'iconeBaixo material-icons');
};
};
document.querySelectorAll('.icones').forEach(element => {
element.addEventListener('click', function (e) {
mostrarConteudo(e.target.id);
});
});
// ======== Modal ISA: ========
const modalIsa = document.getElementById('modalISA');
document.getElementById('btnISA').addEventListener('click', () => {
if (modalIsa.style.display === 'none' || modalIsa.style.display === '') {
modalIsa.style.display = 'block';
} else {
modalIsa.style.display = 'none';
}
});
document.getElementById('fecharModalISA').addEventListener('click', () => {
modalIsa.style.display = 'none';
});
/* ======== Funções do forms em geral ======== */
const modal = document.getElementById('form-inscricao');
const section = document.getElementById('sectionForm');
const formDados = document.forms['dados'];
let loading = document.querySelector('.spinner-wrapper');
//Função para abrir e fechar o modal
function toggleModal() {
modal.classList.toggle('show');
section.classList.toggle('modal-aberto');
loading.setAttribute('class', 'abreModal');
formDados.style.display = 'block';
limparCampos();
};
//Função para limpar os campos
function limparCampos() {
formDados.elements.Nome_completo.value = '';
formDados.elements.Email.value = '';
formDados.elements.Telefone.value = '';
formDados.elements.Estado.value = '';
formDados.elements.Cidade.value = '';
formDados.elements.Idade.value = '';
formDados.elements.Pagamento.value = '';
formDados.elements.Como_conheceu.value = '';
formDados.elements.Cupom.value = '';
formDados.elements.NomeIndicacaoCupom.value = '';
}
//Função que valida os campos para que possa cadastrar o user
function validacao() {
var alerta = "";
var inputs = document.querySelectorAll('.obrigatorios');
for (var input of inputs.values()) {
if (input.value == "") {
alerta = alerta + input.name + ";\n";
};
};
if (alerta !== "") {
var alertPagina = "Preencha os campos a seguir antes de cadastrar: \n";
alertPagina = alertPagina + alerta;
return alertPagina
}
var termos = document.getElementById('termos');
if (termos.checked == false) {
alert('Aceite os termos para continuar.')
} else {
return alerta;
}
}
// Não deixa o usuário inserir letras no campo de telefone
const telefone = document.getElementById('telefone');
// Máscara
const mask = {
telefone(value) {
return value
.replace(/\D/g, '')
.replace(/(\d{2})(\d)/, '($1) $2')
.replace(/(\d{4})(\d)/, '$1-$2')
.replace(/(\d{4})-(\d)(\d{4})/, '$1$2-$3')
.replace(/(-\d{4})\d+?$/, '$1')
}
};
document.querySelectorAll('#telefone').forEach(($input) => {
const field = $input.dataset.js;
$input.addEventListener('input', (e) => {
e.target.value = mask[field](e.target.value);
}, false);
});
telefone.addEventListener('input', function (e) {
if (isNaN(parseInt(e.data))) {
let valorTelefone = e.target.value;
let numero = valorTelefone.substr(0, valorTelefone.length - 1);
e.target.value = numero;
}
})
//Fecha modal
document.getElementById('btnCancelar').addEventListener('click', toggleModal);
//API inscrição
document.getElementById('btnSalvar').addEventListener('click', salvarDados)
function salvarDados() {
let data = new Date();
let dataAtual = String(data.getDate()).padStart(2, '0') + '/' + String(data.getMonth() + 1).padStart(2, '0') + '/' + data.getFullYear();
var objectValues = {
Nome: formDados.elements.Nome_completo.value,
Email: formDados.elements.Email.value,
Phone: formDados.elements.Telefone.value,
Estado: formDados.elements.Estado.value,
Cidade: formDados.elements.Cidade.value,
IdadeMaior: formDados.elements.Idade.value,
Pagamento: formDados.elements.Pagamento.value,
// Turma: document.querySelector("#turma").value,
ComoConheceu: formDados.elements.Como_conheceu.value,
Cupom: formDados.elements.Cupom.value,
NomeIndicacaocupom: formDados.elements.NomeIndicacaoCupom.value,
Evento: "LISTADEESPERABP2022",
DataInscricao: dataAtual
};
var Token = "";
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"username": "contato@faculdadeiv2.com.br",
"password": "@Totvs@iv2"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://events-dot-faculdadeiv2.rj.r.appspot.com/v1/account/login", requestOptions)
.then(response => response.text())
.then((result) => {
Token = JSON.parse(result).token;
GravarInscrito(Token, objectValues);
})
.catch(error => console.log('error', error));
}
function GravarInscrito(Token, objectValues) {
let mensagem = validacao();
if (mensagem !== "") {
if (mensagem == undefined) {
return false;
}
alert(mensagem);
mensagem = "";
return false;
}
formDados.style.display = 'none';
modal.setAttribute('id', 'ocultar');
loading.setAttribute('class', 'salvando');
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer " + Token);
myHeaders.append("Content-Type", "application/json");
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: JSON.stringify(objectValues),
redirect: 'follow'
};
fetch("https://events-dot-faculdadeiv2.rj.r.appspot.com/api/inscricao/InscricaoBP", requestOptions)
.then(response => response.text())
.then(async result => {
EnviarEmail(Token, objectValues.Nome, objectValues);
})
.catch(error => console.log('error', error));
}
function EnviarEmail(Token, nameUser, objectValues) {
var templateEmail = Geratemplate(nameUser);
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"assunto": "Lista de Espera - Beginners PRO",
"corpo": "true",
"corpoHtml": templateEmail,
"destinatarios": objectValues.Email
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://us-central1-faculdadeiv2.cloudfunctions.net/enviarEmail", requestOptions)
.then(response => response.text())
.then(result => {
loading.setAttribute('class', 'abreModal');
alert('Parabéns, inscrição realizada com sucesso!');
toggleModal();
modal.setAttribute('id', 'form-inscricao');
limparCampos();
}).catch(error => console.log('error', error));
}
function Geratemplate(nameUser) {
return `
Lista de Espera - Beginners PRO
Parabéns! Você está na lista de espera do Beginners PRO.🥳🥳
|
|
Oi, ${nameUser}
Sua inscrição na lista de espera do Beginners PRO foi feita com sucesso.
Nós vamos te avisar com exclusividade quando abrir novas vagas do curso.
Já aproveita e não esquece de nos seguir também nas redes sociais, toda semana temos conteúdo novo para você 😀
|
|
Caso esteja com dificuldades, fique tranquilo! Você pode enviar um E-mail ou um WhatsApp para o nosso suporte:
E-mail: contato@faculdadeiv2.com.br
WhatsApp: (11) 99192-8367
Um abraço.
Equipe Facul iv2
|
|
|
|
|
`
}