var host="https://arraial.segundogrupo.com/";
$.ajaxSetup({ headers: { 'X-CSRF-Token': '' } });
function reloadObject(pagina){
switch(pagina) {
case 'registadora':
document.getElementById('objeto').src=host+"templates/registadora.php";
break;
case 'registadoraBebidas':
document.getElementById('objeto').src=host+"templates/registadora.php?tipo=bebidas";
break;
case 'registadoraJogos':
document.getElementById('objeto').src=host+"templates/registadora.php?tipo=jogos";
break;
case 'encomendas':
document.getElementById('objeto').src=host+"templates/encomendas.php";
break;
case 'pedidos':
document.getElementById('objeto').src=host+"templates/pedidos.php";
break;
case 'administracao':
document.getElementById('objeto').src=host+"templates/administracao.php";
break;
case 'estatisticas':
document.getElementById('objeto').src=host+"templates/estatisticas.php";
break;
case 'teclado':
document.getElementById('objeto').src=host+"templates/carrinho.php";
break;
case 'carrinho':
parent.document.getElementById('objeto').src=host+"templates/carrinho.php";
break;
case 'encomendasRefresh':
parent.document.getElementById('objeto').src=host+"templates/encomendas.php";
break;
case 'administracaoRefresh':
parent.document.getElementById('objeto').src=host+"templates/administracao.php";
break;
case 'estatisticasRefresh':
parent.document.getElementById('objeto').src=host+"templates/estatisticas.php";
break;
default:
// code block
}
}
function togglePedidos(elemento,pedido){
if(elemento.getAttribute('state')=='down'){
elemento.src=host+'images/fontawesome/svgs/solid/angles-down.svg';
document.getElementById(pedido).style.display='none';
//console.log(pedido+'-fake');
document.getElementById(pedido+'-fake').style.display='block';
elemento.setAttribute('state','up');}
else{
elemento.src=host+'images/fontawesome/svgs/solid/angles-up.svg';
document.getElementById(pedido).style.display='block';
document.getElementById(pedido+'-fake').style.display='none';
elemento.setAttribute('state','down');
}
}
function quantidade(campo,quant){
document.getElementById(campo).value=(parseInt(document.getElementById(campo).value)+parseInt(quant)<1?1:parseInt(document.getElementById(campo).value)+parseInt(quant));
document.getElementById(campo).setAttribute('context','carrinho');
document.getElementById(campo).setAttribute('value',document.getElementById(campo).value);
enviar(document.getElementById(campo));
}
function quantidadeManual(campo,quant){
if(quant<1) {quant=1; alert('A quantidade tem de ser maior que ZERO.'); }
document.getElementById(campo).value=parseInt(quant);
document.getElementById(campo).setAttribute('context','carrinho');
document.getElementById(campo).setAttribute('value',document.getElementById(campo).value);
enviar(document.getElementById(campo));
}
function apagar(campo){
document.getElementById(campo+'-quantidade').value=0;
document.getElementById(campo+'-quantidade').setAttribute('context','carrinho');
document.getElementById(campo+'-quantidade').setAttribute('value',document.getElementById(campo).value);
enviar(document.getElementById(campo+'-quantidade'));
document.getElementById(campo).remove();
}
function limparCarrinho(campo){
campo.setAttribute('context','limpar');
enviar(campo);
}
function alterarEstadoEncomenda(idEncomenda,estado){
var serializedData = "contexto=estadoEncomenda&idEncomenda="+idEncomenda+"&estado="+estado;
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
// Refresca o quadro inteiro para o filtro reagir (ex.: cancelado sai da vista).
if (typeof atualizarEncomendasBoard === 'function') {
atualizarEncomendasBoard();
} else {
var row=document.getElementById("row-"+idEncomenda);
if(row && response[0] && response[0]['mensagem']!==undefined) row.innerHTML=response[0]['mensagem'];
}
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("The following error occurred: "+textStatus, errorThrown);
});
}
function alterarEstadoLinha(idEncomenda,idLinha,estado){
var serializedData = "contexto=estadoLinha&idEncomenda="+idEncomenda+"&idLinha="+idLinha+"&estado="+estado;
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
document.getElementById("row-"+idEncomenda).innerHTML=response[0]['mensagem'];
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("The following error occurred: "+textStatus, errorThrown);
});
}
function buscarItems(contexto,idElemento){
var serializedData = "contexto="+contexto;
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
document.getElementById(idElemento).innerHTML=response[0]['mensagem'];
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("The following error occurred: "+textStatus, errorThrown);
});
}
function submeterEstatisticas(form){
var contexto='submeterEstatisticas';
//var serializedData =$(form).serialize()+"&contexto="+contexto;
var serializedData=new FormData(form);
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData,
contentType: false,
cache: false,
processData:false
});
request.done(function (response, textStatus, jqXHR){
console.log(contexto);
if(response[0]['sucesso']){
console.log("Sucesso!");
reloadObject('estatisticasRefresh');
}
else {
console.log("Insucesso!");
}
console.log(response);
});
}
function submeter2(form){
var contexto='submeter';
//var serializedData =$(form).serialize()+"&contexto="+contexto;
var serializedData=new FormData(form);
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData,
contentType: false,
cache: false,
processData:false
});
request.done(function (response, textStatus, jqXHR){
//console.log(contexto);
if(response[0]['sucesso']){
console.log("Sucesso!");
reloadObject('administracaoRefresh');
}
else {
console.log("Insucesso!");
}
console.log(response);
});
}
function submeterEvento(form){
// Garante o formato português AAAA-MM-DD HH:MM (24h), independente do browser.
var re=/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/;
var ini=form.querySelector('[name="inicio"]').value.trim();
var fim=form.querySelector('[name="fim"]').value.trim();
if(!re.test(ini) || !re.test(fim)){
alert('Datas no formato AAAA-MM-DD HH:MM (24 horas). Ex.: 2026-06-12 18:00');
return;
}
if(fim <= ini){
alert('O fim do evento deve ser posterior ao início.');
return;
}
submeter2(form);
}
function submeter(form){
var contexto='submeter';
var serializedData =$('#formulario').serialize()+"&contexto="+contexto;
request = $.ajax({
url: host+"api.php",
type: "post",
data: serializedData
});
request.done(function (response, textStatus, jqXHR){
//console.log(contexto);
if(response[0]['sucesso']){
if(response[1]!==undefined){ alert('Pedido nº '+response[1]+' registado.'); }
console.log("Sucesso!");
}
else {
console.log("Insucesso!");
}
switch(contexto){
case 'submeter':
reloadObject('carrinho');
break;
}
console.log(response);
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error(
"The following error occurred: "+
textStatus, errorThrown
);
});
request.always(function () {
console.log("Always happens!");
});
}
function reiniciarContador(){
var valor=document.getElementById('contadorValor').value;
if(valor===''||isNaN(parseInt(valor,10))){ alert('Indique um valor numérico.'); return; }
if(!confirm('Reiniciar a numeração para '+valor+'?\nSe houver pedidos ativos no quadro, podem surgir números repetidos. Continuar?')) return;
var serializedData="contexto=reiniciarContador&valor="+encodeURIComponent(valor);
request = $.ajax({ url: host+"api.php", type: "post", data: serializedData });
request.done(function (response, textStatus, jqXHR){
alert(response[0]['mensagem']);
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("The following error occurred: "+textStatus, errorThrown);
});
}
// Seleciona o método de pagamento sem assumir que só existem Dinheiro/MBWay (F4).
function selecionarPagamento(valor){
var blocos=document.getElementsByClassName('pagamento-detalhe');
for(var i=0;i