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