$( document ).ready(function() {
toastr.options = {
"closeButton": true,
"debug": false,
"newestOnTop": true,
"progressBar": true,
"positionClass": "toast-bottom-center",
"preventDuplicates": false,
"onclick": null,
"showDuration": "600",
"hideDuration": "1000",
"timeOut": "7000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
});
$('input').keypress(function (e) {
var key = e.which;
if(key == 13){ $(this).blur(); }
});
function delay(callback, ms) {
var timer = 0;
return function() {
var context = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
callback.apply(context, args);
}, ms || 0);
};
}
(function() {
'use strict';
$('.select2').select2({
minimumResultsForSearch: Infinity
});
window.addEventListener('load', function() {
var forms = document.getElementsByClassName('login-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
event.preventDefault();
form.classList.add('was-validated');
if (form.checkValidity() === false) {
event.stopPropagation();
} else {
var $this = $(this);
$("#dologin input").attr("readonly", true); $("#dologin button").attr("readonly", true);
var tipologiaTxt = $('#demo_tipologia option:selected').html();
var passLogin = btoa(encodeURIComponent($('#passLogin').val()));
$.ajax({
type: 'POST',
url: '/paginas/acesso/check_login.php',
data:$this.serialize()+'&password='+passLogin,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNS0wMi0wNSAwNA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&tipologiatxt='+tipologiaTxt+'&type=login';
},
success:function(data){
if(data>0){
toastr.success("Autenticado com sucesso");
setTimeout(function(){
window.location.reload();
}, 500);
}else if(data=="-3"){
toastr.warning("A sua credencial não tem um email válido associado. Entre em contacto com o seu comercial.");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}else if(data.indexOf("-4|") != -1){
var expData = data.split('|');
var nc = $('#nc').val();
var ut = $('#ut').val();
var em = expData[1];
window.location.href = "https://macal.aplataforma.com/pt/?mode=forgot&nc="+nc+"&ut="+ut+"&em="+em;
}else if(data=="-5"){
toastr.warning("NIF Inválido");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}else if(data=="-6"){
toastr.warning("Não foi possível validar o NIF");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}else if(data=="-1"){
toastr.warning("Login incorrecto. Tente de novo");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");$("#dologin input").attr("readonly", false); $("#dologin button").attr("readonly", false);
}
});
}
}, false);
});
}, false);
window.addEventListener('load', function() {
var forms = document.getElementsByClassName('forgot-validation');
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
event.preventDefault();
form.classList.add('was-validated');
if (form.checkValidity() === false) {
event.stopPropagation();
} else {
var $this = $(this);
$("#doForgot input").attr("readonly", true); $("#doForgot button").attr("readonly", true);
$.ajax({
type: 'POST',
url: '/paginas/acesso/recuperar-pass.php',
data:$this.serialize(),
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNS0wMi0wNSAwNA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if(data.indexOf("1|") != -1){
var expData = data.split('|');
var mensagem = "Introduza o código de verificação que enviamos para [EMAIL]";
mensagem = mensagem.replace("[EMAIL]", expData[1]);
$('#forgot_success').html(mensagem);
$('.forgot_fields').hide();
$('#forgot_code, #forgot_success').show();
$('#input_codigo').attr("required", true);
$('#input_codigo').attr("readonly", false);
} else if (data=="2") {
$('#forgot_code, #forgot_success').hide();
$('.newpass_fields').show();
$('#new_pass, #conf_new_pass').attr("required", true);
$('#new_pass, #conf_new_pass').attr("readonly", false);
} else if (data=="3") {
toastr.success("Password redefinida com sucesso!");
setTimeout(function(){
window.location.reload();
}, 500);
}else if(data=="-2"){
toastr.warning("A password deve conter mais que 6 caracteres");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-3"){
toastr.warning("A password não deve conter mais que 20 caracteres");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-4"){
toastr.warning("A password deve conter um número");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-5"){
toastr.warning("A password deve conter uma letra minúscula");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-6"){
toastr.warning("A password deve conter uma letra maiúscula");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-8"){
toastr.warning("As passwords não coincidem");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-81"){
toastr.warning("A sua credencial não tem um email válido associado. Entre em contacto com o seu comercial.");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-80"){
toastr.warning("Os dados introduzidos não são válidos");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}else{
toastr.error("Ocorreu um erro executar a operação. Tente de novo");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");$("#doForgot input").attr("readonly", false); $("#doForgot button").attr("readonly", false);
}
});
}
}, false);
});
}, false);
})();
$('#demo_nif').keyup(delay(function (event) {
if (event.shiftKey) return false;
checkValidNIF();
}, 500));
var nifAnterior;
function checkValidNIF() {
var nif = $.trim($('#demo_nif').val().replace(' ', ''));
if (nif != nifAnterior) {
$.ajax({
type: 'POST',
url: '/includes/vies.php',
data: '&nif='+nif,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNS0wMi0wNSAwNA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&type=check';
},
success:function(data){
nifAnterior = nif;
if(data=="-1" || data=="-2"){
if(data=="-2") {
$('#demo_nome').html('Este NIF já é nosso cliente');
} else {
$('#demo_nome').html('NIF Inválido');
}
$('#demo_nome').removeClass('valid-feedback').addClass('invalid-feedback');
$('#demo_nif').removeClass('is-valid').addClass('is-invalid');
$('#demo_tipologia').attr("disabled", true);
$('#demo_email').attr("disabled", true);
$('#demo_telemovel').attr("disabled", true);
$('#demo_submit').attr("disabled", true);
$('#demo_submit').removeClass('btn-primary').addClass('btn-disabled');
}else{
$('#demo_nome').html(data);
$('#demo_nome').removeClass('invalid-feedback').addClass('valid-feedback');
$('#demo_nif').removeClass('is-invalid').addClass('is-valid');
$('#demo_tipologia').attr("disabled", false);
$('#demo_email').attr("disabled", false);
$('#demo_telemovel').attr("disabled", false);
$('#demo_submit').attr("disabled", false);
$('#demo_submit').removeClass('btn-disabled').addClass('btn-primary');
}
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
$('#demo_nome').html('NIF Inválido');
$('#demo_nome').removeClass('valid-feedback').addClass('invalid-feedback');
$('#demo_nif').removeClass('is-valid').addClass('is-invalid');
$('#demo_tipologia').attr("disabled", true);
$('#demo_email').attr("disabled", true);
$('#demo_telemovel').attr("disabled", true);
$('#demo_submit').attr("disabled", true);
$('#demo_submit').removeClass('btn-primary').addClass('btn-disabled');
}
});
}
}
function loadToolTips() {
setTimeout(function(){
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
}, 200);
}
function load_contents_load(pagina,resultados,view){
var track_page = 1;
$("#"+resultados).fadeOut('fast');
setTimeout(function(){
$("#"+resultados).html("");
load_contents(track_page,pagina,resultados,view);
}, 100);
};
function load_contents(track_page,pagina,resultados,view){
var load_url = $("input#"+pagina).val();
$.post(load_url, {'page': track_page}, function(data){
$("#"+resultados).html(data);
$(".produtos_loader"+view).hide();
$("#"+resultados).fadeIn();
loadToolTips();
});
};
function minicart_display(){
$.post("https://macal.aplataforma.com/paginas/refresh/mini-cart.php?key=0ce047d694c014e336b247b7b6bb2ada144c53a8", {'page': 1}, function(data){
$("#minicart_footer").html(data);
});
};
function notifications_display(){
$.post("https://macal.aplataforma.com/paginas/refresh/notificacoes.php?key=0ce047d694c014e336b247b7b6bb2ada144c53a8", {'page': 1}, function(data){
$("#notification_list").html(data);
});
};
function marcaNotificacoesLidas() {
if ($('.pulse').length) {
$('.pulse').remove();
$.post("https://macal.aplataforma.com/paginas/refresh/notificacoes.php?key=0ce047d694c014e336b247b7b6bb2ada144c53a8&lidas=1", {'page': 1,'lidas': 1}, function(data){});
}
}
function setCookie(key, value, minutes = 30) {
var expires = new Date();
expires.setTime(expires.getTime() + (minutes * 60 * 1000));
document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
}
function unsetCookie(key) {
document.cookie = key + '=; Max-Age=0'
document.cookie = key + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}
$('#sideBtn').click(function () {
var viewSel = ($('body').hasClass('sidenav-toggled')) ? 'open' : 'closed';
setCookie('sidebar_state',viewSel);
});
$(document).ready(function() {
minicart_display();
});
function addcart(produto,remove,location,favorito=0){
var getprice = $("#finalprice_"+produto).val();
if(produto>=1){
var qty = parseInt($(".quantity_"+produto).val());
if (!qty) { qty = 1; }
setTimeout(function(){
$.ajax({
url: "https://macal.aplataforma.com/paginas/refresh/add-cart.php",
data: $("#produto_filtro_"+produto).serialize()+"&favorito="+favorito+"&produto="+produto+"&qt="+qty+"&remove="+remove+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID64d3fec1a6e193e9ba7fdc07f5a53e88",
type: "POST",
success:function(result){
if(result==1){
if (favorito == 0) {
minicart_display();
toastr.success("Produto adicionado ao carrinho");
$('.addCart'+produto).removeClass('btn-primary').addClass('btn-success');
} else {
toastr.success("Produto adicionado aos Favoritos");
$('.favIcon'+produto).removeClass('btn-primary').addClass('btn-success');
}
}else if(result==2){
if (favorito == 0) {
minicart_display();
toastr.info("Produto removido do carrinho");
$('.addCart'+produto).removeClass('btn-success').addClass('btn-primary');
} else {
toastr.info("Produto removido dos Favoritos");
$('.favIcon'+produto).removeClass('btn-success').addClass('btn-primary');
}
}else if(result==0){
toastr.warning("Produto não selecionado");
}else if(result==-1){
toastr.warning("Verifique as opções do produto");
}else{
toastr.warning("Ocorreu um erro executar a operação. Tente de novo");
}
}
});
return false;
}, 100);
};
};
function pedirCotacao(id,skin=''){
if(id){
swal({
title: "Pedido de Cotação",
text: 'Por favor indique o consumo mensal previsto:
',
html: true,
type: "warning",
showCancelButton: true,
confirmButtonColor: "#13bfa6",
confirmButtonText: "Pedir Cotação",
cancelButtonText: "Cancelar",
closeOnConfirm: false
}, function (isConfirm) {
$('#swall_observacoes').removeClass("is-invalid");
if (isConfirm) {
var erros = false;
var observacoes = document.getElementById('swall_observacoes').value;
if (observacoes > 0 && $.isNumeric(observacoes)) { } else{ $('#swall_observacoes').addClass("is-invalid"); erros = true; }
if (erros) { return false; }
$.ajax({
url: "/paginas/refresh/cotacao.php",
data: "&produto="+id+'&skin='+skin+'&observacoes='+observacoes+"&key=0ce047d694c014e336b247b7b6bb2ada144c53a8&uniqueid=ID6f9bee7d55d18710a51a6697991b50d3",
type: "POST",
success:function(data){
if(data==1){
toastr.success("Pedido de Cotação submetido com sucesso");
$('#cot'+id).removeClass('btn-danger').addClass('btn-outline-danger disabled');
$('#cot'+id).html('Pedido Enviado');
swal.close();
}else if(data==-3){
toastr.warning("Já existe um pedido de cotação para este produto");
swal.close();
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
} else {
toastr.error("Não foi possivel concluir o seu pedido.");
}
}
});
} else {
swal.close();
}
});
};
};
function savingCotacao(id,on = true) {
if (on) {
$("#cotacaoproduto_"+id+" input").attr("readonly", true);
$("#cotacaoproduto_"+id+" button").attr("readonly", true);
$("#cotacaoproduto_"+id+" select").attr("disabled", true);
$("#cotacaoproduto_"+id+" textarea").attr("readonly", true);
$("#cotacaoproduto_"+id+" button").addClass("btn-loading");
} else {
$("#cotacaoproduto_"+id+" input").attr("readonly", false);
$("#cotacaoproduto_"+id+" button").attr("readonly", false);
$("#cotacaoproduto_"+id+" select").attr("disabled", false);
$("#cotacaoproduto_"+id+" textarea").attr("readonly", false);
$("#cotacaoproduto_"+id+" button").removeClass("btn-loading");
}
}
$(".pesquisa").submit(function(event) {
event.preventDefault();
var $this = $(this);
window.location.href = "https://macal.aplataforma.com/pt/produtos/?"+$this.serialize();
});
$(".qty").keypress(function (e) {
if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)) return false;
});
function changeqt(produtoid,operator,multiplo,unit) {
if (!multiplo) multiplo = 1;
var qty = $(".quantity_"+produtoid).val();
if(operator=="+"){
var new_qty = parseInt(qty)+parseInt(multiplo);
}else if(operator=="-"){
var new_qty = parseInt(qty)-parseInt(multiplo);
}else{
var new_qty = parseInt($(".quantity_"+produtoid).val());
new_qty = Math.ceil(new_qty/multiplo)*multiplo;
}
if(new_qty < multiplo){
toastr.warning("Não pode encomendar abaixo da quantidade mínima");
new_qty = multiplo;
}
$(".quantity_"+produtoid).val(new_qty+' '+unit);
}
$("#aceitarRegulamentoBtn").click(function(){
savingRegulamento(true);
$.ajax({
type: 'POST',
url: '/paginas/refresh/aceitar_regulamento.php',
data: '?a=1',
dataType:'json',
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNS0wMi0wNSAwNA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
if(data==1){
$('#modalregulamento').modal('toggle');
}else if(data=="-98"){
toastr.error("Excedeu o máximo de tentativas permitas. O seu acesso foi limitado durante um tempo. Tente mais tarde");
}else if(data=="-99"){
toastr.error("Não foi possivel concluir o seu pedido.");
}
savingRegulamento(false);
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
savingRegulamento(false);
}
});
return false;
});
function savingRegulamento(on = true) {
if (on) {
$("#aceitarRegulamentoBtn").attr("readonly", true);
$('#aceitarRegulamentoBtn').addClass("btn-loading");
} else {
$("#aceitarRegulamentoBtn").attr("readonly", false);
$('#aceitarRegulamentoBtn').removeClass("btn-loading");
}
}
function gerarReferenciaMB() {
$('#modalRefLoading').show();
$('#modalRefContent').html('');
var myModal = new bootstrap.Modal(document.getElementById('modalReferencia'), { backdrop: 'static', keyboard: false });
myModal.show();
var documentos = $('#idsRefs').val();
$.ajax({
type: 'POST',
url: '/paginas/refresh/gerar-referencia.php',
data: '&docs='+documentos,
beforeSend:function(xhr, settings){
settings.data += '&t=MjAyNS0wMi0wNSAwNA==&key=0ce047d694c014e336b247b7b6bb2ada144c53a8';
},
success:function(data){
$('#modalRefLoading').hide();
$('#modalRefContent').html(data);
$(".checkref").prop("checked", false);
$('#idsRefs').val('');
$('#btnGerarRef').html(' GERAR REFERÊNCIA');
$("#btnGerarRef").addClass("disabled");
},
error: function(data) {
toastr.error("Não foi possivel concluir o seu pedido.");
}
});
}
function mostraMoeda(valor) {
valor = valor.toString();
if (typeof valor !== typeof undefined) valor = valor.replace(',','.');
if (!$.isNumeric(valor)) return valor;
var novoValor = parseFloat(valor);
var precoFinal = novoValor.toFixed(2);
var finalStr = precoFinal+' €';
return finalStr;
}
function handleRefs() {
var total=0, ct=0;
var ids='';
$('input.checkref:checkbox:checked').each(function(i, obj) {
if (ct>0) ids += ',';
ids += $(this).val();
var valor = $(this).attr('data-valor');
total = total + parseFloat(valor);
ct++;
});
$('#idsRefs').val(ids);
$('#totalRefs').val(total.toFixed(2));
if (total>0) {
$('#btnGerarRef').html(' GERAR REFERÊNCIA ('+mostraMoeda(total)+')');
$("#btnGerarRef").removeClass("disabled");
} else {
$('#btnGerarRef').html(' GERAR REFERÊNCIA');
$("#btnGerarRef").addClass("disabled");
}
}