var ta_emp = 0; var isMobile = false; console.log(isMobile); var formatNumber = { separador: ".", // separador para los miles sepDecimal: ',', // separador para los decimales formatear:function (num,dec){ num +=''; var splitStr = num.split('.'); var splitLeft = splitStr[0]; var splitRight = splitStr.length > 1 ? this.sepDecimal + splitStr[1] : ''; var regx = /(\d+)(\d{3})/; while (regx.test(splitLeft)) { splitLeft = splitLeft.replace(regx, '$1' + this.separador + '$2'); } return this.simbol + splitLeft +splitRight; }, new:function(num, simbol){ this.simbol = simbol ||''; return this.formatear(num,2); } } function moneda(valor){ return formatNumber.new(valor)+" €"; } var path = "/wp-content/themes/stockholm-child/takeaway/ta_ajaxV2.php"; var path_neto = "/wp-content/themes/stockholm-child/takeaway/"; var accept=0; var cliente_filled=0; var menu_filled=0; var pago_filled=0; var calendar_filled=0; //Funciones REDSYS function merchantValidationEjemplo(){ //Insertar validaciones… alert("Validado!"); return true; } /* Listener de recepción de ID de operación window.addEventListener("message", function receiveMessage(event) { storeIdOper(event,"token", "errorCode", "merchantValidationEjemplo"); }); */ //Fin funciones REDSYS jQuery(function ($) { //alert de que se pueden escoger dos primeros o un primero y un segundo function js_msg_err(msg){ alert(msg); } function carga_tpv(){ //Alta del pedido en temp //Cuidado no se puede hacer un pago si la cantidad es negativa console.log(accept+cliente_filled+menu_filled+calendar_filled); if(accept+cliente_filled+menu_filled+calendar_filled==4){ //Saber si tiene promo importante para cuando se resuelva la notificación para poder quemar el código para ese mail. var promo = $('#promo').val(); var total = $('#nuTotalPedido').val(); $('#ajax-tpv').load("/wp-content/themes/stockholm-child/takeaway/ta_ajax_tpvv.php?idioma=CA&total="+total+"&promo="+promo,function(){ //Handlers de botones $('#pay-now').click(function(){ pay_now(); }); }); } else { $('#ajax-tpv').html(""); } } function quitaTPV(){ $('#radio3').prop("checked",false); $('#ajax-tpv').html(""); } function carga_monedero(){ //Alta del pedido en temp if(accept+cliente_filled+menu_filled+calendar_filled==4){ //Saber si tiene promo importante para cuando se resuelva la notificación para poder quemar el código para ese mail. var promo = $('#promo').val(); var total = $('#nuTotalPedido').val(); //$('#ajax-tpv').html('
'); $('#ajax-tpv').append(''); //$('#ajax-tpv').append('
'); //Handlers de botones $('#pay-monedero').click(function(){ pay_monedero(); }); } else { $('#ajax-tpv').html(""); } } function pay_now(){ var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(){ var jqxr = $.getJSON(path+"?option=graba-tempV4&tipo=TPVV") .done(function(data){ $('#IDPedido').val(data.idp); $('#TPV').submit(); }); }); } function pay_monedero(){ var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(){ var jqxr = $.getJSON(path+"?option=graba-tempV4&tipo=MONEDERO") .done(function(data){ $('#IDPedido').val(data.idp); $(location).attr("href",data.qs); }); }); } function recalc_comanda(){ //Recalcula el pedido en el caso que se hayan quitado y puesto datos, en el caso que se haya puesto el codigo de promoción. var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(data){ //Datos del cliente introducidos, es uno de los pasos para que pueda acceder al pago. $('#msg-validate').removeClass("alert-danger"); $('#msg-validate').addClass("alert-success"); $('#mensaje_user').show(); $('#msg-validate').html("Sessió iniciada.
"); //$('#nuTotalPedido').val(data); //Comprobación si tiene codigo de oferta o no var mail = $('#txtEMail').val(); var codigo = $('#txtCodigo').val(); var total = $('#nuTotalPedidoBase').val(); var ts = $('#txtTipoServicio').val(); var dir = $('#IDDireccion').val(); if(codigo!=""){ var jqxr=$.getJSON(path+"?option=get-codigo&mail="+mail+"&total="+total+"&codigo="+codigo+"&ts="+ts+"&dir="+dir) .done(function(data){ if(data.status==1){ //Es correcte retorna a total a pagar la quantitat que hi havia menys 2€ $('#nuTotalPedido').val(data.total); $('#billing-nuPreu').html(data.total_text); $('#oferta').show(); $('#promo').val(1); } else { $('#nuTotalPedido').val(data.total); $('#billing-nuPreu').html(data.total_text); $('#msg-validate-code').removeClass("alert-success"); $('#msg-validate-code').addClass("alert-danger"); $('#mensaje-user-code').show(); $('#oferta').hide(); $('#promo').val(0); //No es correcte pq o be s'ha posat malament o be ja està cremat switch(data.tipoError){ case 1: $('#msg-validate-code').append("Aquest codi no existeix, revisa el codi i posa'l exactament igual. "); break; case 2: $('#msg-validate-code').append("Aquest codi ja ha estat utilitzat en una oferta anterior. "); break; case 3: $('#msg-validate-code').append("Aquest usuari no està enregistrat, no es pot fer us de la promoció"); break; } } }); //.done(function(data) inner } else { //No se pone código pero quizás se ha puesto antes y ahora se quita $('#nuTotalPedido').val(total); $('#billing-nuPreu').html(moneda(total)); $('#oferta').hide(); $('#promo').val(0); } //if(codigo!="") }); //.done(function(data) outer //Necesitamos al menos desactivar la aceptación de política de privacidad para luego recalcular el form del TPV $('#acepta-condiciones').prop("checked",false); $('#ajax-tpv').html(""); isDelivery($('#txtTipoServicio').val()); //Cargamos el combo de promos combo_promo(); } function button_trash() { $('.item-trash').unbind("click"); $('.item-trash').click(function(){ if(confirm("Està segur de esborra aquest menu?")){ //Borramos var i = $(this).attr("lin"); var jqxr = $.getJSON(path+"?option=delete-item-detalle&lin="+i) .done(function(data){ $('.menuses').html(data.pinta); $('#nuTotalPedidoBase').val(data.suma_pedido); button_trash(); $('#billing-nuPreu').text($('#total_pedido').text()); menu_filled = (data.items==0) ? 0 : 1; recalc_comanda(); amountMonedero(); isDelivery($('#txtTipoServicio').val()); }); return true; } else { return false; } }); } function validate_menu(){ //Valida que se haya puesto un plato de cada categoria y se haya puesto un nombre var p1 = $('.p1_radio').is(":checked"); var p2 = $('.p2_radio').is(":checked"); var pp = $('.pp_radio').is(":checked"); var nom = $('#ta_nombre').val(); var f = $('#dtFechaEntrega').val(); //return ((p1 || p2) && pp & nom!="") ? true : false; //Devolvemos mensajes var caderr="";var err=0; if((!p1)&&(!p2)) { err=1; caderr="Tria un primer o un segoni postre. Ah i no oblidis posar per qui és el menú.\r\n"; } if(!pp){ err=1; caderr+="Ha d'inclure un postre al menú. \r\n"; } if(nom==""){ err=1; caderr+="¿Per a quí és el menú?\r\nIndica per quí és el menú\r\n"; } if(f=="0"){ err=1; caderr+="Falta que indiquis quin dia vols que et fem aquest menu\r\n"; } if(err==1){ caderr = "Ooops! "+caderr; } else { caderr="0"; } return caderr; } function validate_contact(){ var n = $('#txtNom').val(); var c = $('#txtCognoms').val(); var t = $('#txtTelefon').val(); var m = $('#txtEMail').val(); console.log(n!="" && c!="" && t!="" && m!=""); return (n!="" && c!="" && t!="" && m!=""); } //Funciones indepes asociadas a mi cuenta function CheckPasswordOLD(inputtxt) { var passw = /^[A-Za-z0-9$@$!%*#?&]\w{7,14}/; if(inputtxt.match(passw)) { return true; } else { return false; } } function CheckPassword(inputtxt) { //var passw = /^[A-Za-z0-9$@$!%*#?&]\w{7,14}/; if(inputtxt.length >= 6) { return true; } else { return false; } } function mayusc(c){ return c.toUpperCase(); } function validatePassword(password) { // Do not show anything when the length of password is zero. if (password.length === 0) { document.getElementById("msg").innerHTML = ""; return; } // Create an array and push all possible values that you want in password var matchedCase = new Array(); matchedCase.push("[$@$!%*#?&]"); // Special Charector matchedCase.push("[A-Z]"); // Uppercase Alpabates matchedCase.push("[0-9]"); // Numbers matchedCase.push("[a-z]"); // Lowercase Alphabates // Check the conditions var ctr = 0; for (var i = 0; i < matchedCase.length; i++) { if (new RegExp(matchedCase[i]).test(password)) { ctr++; } } // Display it var color = ""; var strength = ""; switch (ctr) { case 0: case 1: case 2: strength = "Very Weak"; color = "red"; break; case 3: strength = "Medium"; color = "orange"; break; case 4: strength = "Strong"; color = "green"; break; } document.getElementById("msg").innerHTML = strength; document.getElementById("msg").style.color = color; } function validate_profile(){ var n = $('#txtNombre_profile').val(); var c = $('#txtCognoms_profile').val(); var t = $('#txtTelefon_profile').val(); var m = $('#txtEMail_profile').val(); console.log(n!="" && c!="" && t!="" && m!=""); return (n!="" && c!="" && t!="" && m!=""); } function validate_customer(){ var n = $('#txtNombre_customer').val(); var c = $('#txtCognoms_customer').val(); var t = $('#txtTelefono1_customer').val(); var m = $('#txtEMail_customer').val(); var d = $('#txtDP_customer').val(); var a = $('#lgAcepta_customer').is(":checked"); console.log(t); console.log(n!="" && c!="" && t!="" && m!="" && a && d!=""); return (n!="" && c!="" && t!="" && m!="" && a && d!=""); } function get_cost_delivery(){ //devuelve los costes de delivery var dir = $('#IDDireccion').val() var jqxr = $.getJSON(path+"?option=delivery-costs&dir="+dir) .done(function(data){ return data; }) } function funct_user_dirs(){ var jqxr = $.getJSON(path+"?option=direcciones-cliente") .done(function(data){ var user_dirs = data.dirs; return user_dirs; }); } function isDelivery(t){ var user_dirs =funct_user_dirs(); var dir = $('#IDDireccion').val() var jqxr = $.getJSON(path+"?option=delivery-costs&dir="+dir) .done(function(data){ var costs = data; if(user_dirs==0){ console.log("no-dirs"); $('#gr-delivery').html('

ENTREGA


Afegir adreça

'); grTipo("T"); //isDelivery('T'); $('#txtTipoServicio').val("T"); $('#delivery-cost').hide(); $('#msg-radio').html('
Fes clic aquí per afegir una adreça per Delivery.
'); $('#combo-dirs').hide(); } else { if(t=='D'){ console.log(JSON.stringify(costs)); if(costs.minimo){ //Muestra delivery on en la capa de delivery $('#gr-delivery').html('

ENTREGA


A domicili 12:00 - 14:00

'); grTipo(); $('#radioTSD').prop("disabled",false); $('#msg-delivery').hide(); //Hay costes de delivery $('#cost-prep').html(moneda(costs.costes_menus)); $('#cost-trans').html(moneda(costs.costes_delivery)); if(costs.nuMinimo==-1){ $('#delivery-cost').hide(); } else { $('#delivery-cost').show(); } //Falta la suma total del pedido $('#nuCostePrep').val(costs.costes_menus); $('#nuCosteTrans').val(costs.costes_delivery); //var st = Math.round(parseFloat(($('#nuTotalPedido').val()) + costs.costes_menus + costs.costes_delivery)* 100 / 100).toFixed(2); var st = Math.round((Number($('#nuTotalPedidoBase').val()) + costs.costes_menus + costs.costes_delivery - $('#nuDescuentoPromo').val()) * 100) / 100; $('#nuTotalPedido').val(st); $('#billing-nuPreu').html(moneda($('#nuTotalPedido').val())); } else { //No llega al mínimo, muestra mensaje de error que no se puede acceder a este servicio y desactiva el botón radio de "Delivery" y activa el de "Take Away" $('#msg-delivery').html('
¡Et falten '+data.diferencia+'€ per la comanda mínima per delivery! Consulta condicions.
'); $('#msg-delivery').show(); //Muestra delivery off en la capa de delivery $('#gr-delivery').html('

ENTREGA


A domicili 12:00 - 14:00

'); //Muestra el Take AWAY en ON en la capa de take away $('#gr-take-away').html('

RECOLLIDA


Al local

'); $('#radioTSD').prop("checked",false); //$('#radioTSD').prop("disabled",true); //activamos radioTST $('#radioTST').prop("checked",true); $('#delivery-cost').hide(); $('#combo-dirs').hide(); $('#txtTipoServicio').val("T"); grTipo(); //Volvemos a calcular el coste de la comanda sin delivery $('#nuCostePrep').val(0); $('#nuCosteTrans').val(0); $('#nuTotalPedido').val($('#nuTotalPedidoBase').val() - $('#nuDescuentoPromo').val()); $('#billing-nuPreu').html(moneda($('#nuTotalPedido').val())); } } else { //Es Take away //aunque sea TA debemos saber si se puede acceder a delivery para activar el botón if(costs.minimo){ console.log("es minimo") //Muestra delivery on en la capa de delivery $('#gr-delivery').html('

ENTREGA


A domicili 12:00 - 14:00

'); } else { $('#gr-delivery').html('

ENTREGA


A domicili 12:00 - 14:00

'); } grTipo(); $('#delivery-cost').hide(); $('#msg-delivery').hide(); //Falta la suma total del pedido $('#nuCostePrep').val(0); $('#nuCosteTrans').val(0); $('#nuTotalPedido').val($('#nuTotalPedidoBase').val() - $('#nuDescuentoPromo').val()); $('#billing-nuPreu').html(moneda($('#nuTotalPedido').val())); } amountMonedero(); } }); } function amountMonedero(){ //Comprueba que el precio final no supera el monto de monedero que ahora hay. var am = parseFloat($('#monedero-radio').attr("amount")); var tp = parseFloat($('#nuTotalPedido').val()); console.log("Valores monedero:"+am+" "+tp+" "+(am < tp)); if(am < tp || tp==0 || isNaN(tp)){ //Desaparece el monedero de escena $('#monedero-radio').hide(); } else { $('#monedero-radio').show(); } //$('#monedero-radio').attr("amount",am); } function grTipo(){ console.log("grTipo"); $('.gr-tipo').unbind("click"); function select_tipo(t){ var t = $('#txtTipoServicio').val(); console.log(t); $('.gr-tipo').removeClass("gr-tipo-selected"); if(t!=""){ if(t=='T'){ $('#grTST').parent().addClass("gr-tipo-selected"); } else { $('#grTSD').parent().addClass("gr-tipo-selected"); } } } $('.gr-tipo').click(function(){ //Desconectamos las condiciones de servicio y el tipo de pago accept = 0; $("input[name='payment']").prop("checked",false); quitaTPV(); var t = $(this).attr("tipo"); var idc = $('#IDCliente').val(); $('#txtTipoServicio').val(t); //Si es delivery muestra la capa de las direcciones del cliente para escoger que dirección if(t=="D"){ $.getJSON(path+"?option=direcciones-cliente") .done(function(data){ $('#combo-list-dirs').html(data.html); $('#msg-delivery-horario').html('

Les comandes rebudes abans de les 12:00 seran entregades entre 12:00 i 13:00
Les comandes rebudes entre 12:00 i 13:00 seran entregades entre 13:00 i 14:00
Les comandes rebudes entre 13:00 i 15:00 seran entregades en 45 minuts aproximadament a partir de la recepció de la comanda

'); //asignacion inicial de dirección. $('#combo-dirs').show(); $('#IDDireccion').val($('#IDDireccion-combo').val()); isDelivery('D'); amountMonedero(); if(data.dirs==0){ // No hay direcciones isDelivery('T'); $('#txtTipoServicio').val("T"); $('#delivery-cost').hide(); //$('#msg-radio').html('
Fes clic aquí per afegir una adreça per Delivery.
'); $('#combo-dirs').hide(); //Muestra delivery off / añadir direcciones en la capa de delivery $('#gr-delivery').html('

ENTREGA


Afegir adreça

'); //Muestra el Take AWAY en ON en la capa de take away $('#gr-take-away').html('

RECOLLIDA


Al local

'); } else { $('#msg-radio').hide(); } //handlers de la carga $('#IDDireccion-combo').change(function(){ var d = $(this).val(); $('#IDDireccion').val(d); var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(data){ console.log(data); isDelivery($('#txtTipoServicio').val()); //Carga on the fly las condiciones de servicio //$('#delivery-conditions').click(); }) }); }); } else { $('#combo-dirs').hide(); isDelivery('T'); console.log($('#txtTipoServicio').val()); select_tipo("T"); } }); //Marca el tipo que es T o D select_tipo($('#txtTipoServicio').val()); } function combo_promo(){ $('#IDCodigo_promo').unbind("change"); var imp = $('#nuTotalPedidoBase').val(); if(imp!=""){ $('#help-promo').show(); //Carga por ajax el combo de promociones según importes pedidos var jqxr = $.getJSON(path+"?option=combo-promos&imp="+imp) .done(function(data){ $('#combo-promos').html(data.html); if(data.min){ $('#help-promo-non').hide(); } else { $('#help-promo-non').show(); } //Helpers $('#IDCodigo_promo').change(function(){ //Validar el código de promoción //No se pueden entrar los datos del cliente hasta que no se haya hecho una selección de menu //Comprobación si tiene codigo de oferta o no var mail = $('#txtEMail').val(); var idcode = $(this).val(); var total = $('#nuTotalPedidoBase').val(); var ts = $('#txtTipoServicio').val(); var dir = $('#IDDireccion').val(); if(idcode!=""){ var jqxr=$.getJSON(path+"?option=get-codigo&mail="+mail+"&total="+total+"&idcode="+idcode+"&ts="+ts+"&dir="+dir) .done(function(data){ //Siempre llega un código válido $('#nuTotalPedido').val(data.total); $('#billing-oferta').html(data.dto_text); $('#billing-nuPreu').html(data.total_text); $('#nuDescuentoPromo').val(data.dto); $('#IDCupon').val(data.idcode); $('#msg-validate-code').html("Codi promocional vàlid.
"); $('#msg-validate-code').removeClass("alert-danger"); $('#msg-validate-code').addClass("alert-success"); $('#mensaje-user-code').show(); (idcode==0) ? $('#oferta').hide() : $('#oferta').show(); $('#promo').val(1); }); //.done(function(data) inner } else { //No se pone código pero quizás se ha puesto antes y ahora se quita $('#nuTotalPedido').val(total); $('#billing-nuPreu').html(moneda(total)); $('#oferta').hide(); $('#promo').val(0); $('#nuDescuentoPromo').val(0); } //if(codigo!=0 quitaTPV(); }); }); } else { $('#help-promo').hide(); } } //Funciones indepes asociadas a CARTA function button_trash_carta() { $('.item-trash-carta').unbind("click"); $('.item-trash-carta').click(function(){ if(confirm("Està segur d'esborrar aquest plat de la comada?\r\nL'acció no es pot desfer.")){ //Borramos var i = $(this).attr("lin"); var jqxr = $.getJSON(path+"?option=delete-item-detalle-carta&lin="+i) .done(function(data){ menu_filled = data.menu_filled; $('#cloned-detall-navidad').html(data.html); $('#billing-nuPreu').html(data.total_text); $('#nuTotalPedidoBase').val(data.total); $('#nuTotalPedido').val(data.total); button_trash_carta(); //Poner a 0 el value del item borrado $('#plato_'+data.plato_a_cero).val(0); menu_filled = (data.total==0) ? 0 : 1; amountMonedero(); }); return true; } else { return false; } }); } /* Puedes usar $ con seguridad para hacer referencia a jQuery */ $(document).ready(function(){ //Directo para take away //User debe seleccionar inicialmente la forma de pago. var maxchecks = 2; $("input[name='payment']").prop("checked",false); //Cargamos los menus aun no registrado el usuario //Ponemos en la capa el resultado del envío (detalle de pedido y despues clonamos en la parte del checkout //Borramos los datos de detalle pedido cuando se entra por primera vez (carga de la página) $.ajax(path+"?option=initialize") .done(function(){ $.getJSON(path+"?option=carga-menuses") .done(function(data){ $('.menuses').html(data.pinta); $('#nuTotalPedido').val(data.suma_pedido); $('#nuTotalPedidoBase').val(data.suma_pedido); button_trash(); $('div#cloned_detall > div.btn-erase').remove(); $('#billing-nuPreu').text($('#total_pedido').text()); //$('#precioTotal_text').html(""); //$('#precioTotal').val(""); recalc_comanda(); menu_filled = data.menuses; //si hay menu cargado también hay fecha cargada en lo que se refiere a TA diario. if(menu_filled==1) calendar_filled=1; amountMonedero(); }); }); //Determina si hay bloqueo de delivery en los menus TakeAway (nativo de carta) //31/08/21 var block_delivery = 1; if(block_delivery=="1"){ $('#radio-delivery').hide(); $('#delivery-conditions').hide(); $('.gr-tipo').addClass("gr-tipo-selected"); $('#txtTipoServicio').val("T"); } //Carga directa cuando estamos en cesta de navidad //Carga la cesta que hasta ahora ha seleccionado var jqxr = $.getJSON(path+"?option=carga-cesta-navidad") .done(function(data){ //Helpers //Activa el borrado de items menu_filled = data.menu_filled; $('#cloned-detall-navidad').html(data.html); button_trash_carta(); /* $('#billing-nuPreu').html(data.total_text); $('#nuTotalPedidoBase').val(data.total); $('#nuTotalPedido').val(data.total); $('#precioTotal_text').html(data.total_text); $('#precioTotal').val(data.total); */ //Poner los contadores de unidades de cada uno de los platos que se han pedido $.each(data.plato, function(i,val) { $("#plato_" + this).val(data.cant[i]) }); //A ver si deja combo_promo(); }); //Carta de navidad todas las secciones plegadas excepto la primera $('.desplegada').hide(); $('#pcr').show(); //activamos el handler de tipo de servicio para gráficos de la V7 grTipo(); //Carga directa de datos en cabecera de pedido si el cliente ya está logonado (evita la perdida en el refresco de los datos) if(idc!=0) { var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(){ cliente_filled=1; //Fijamos a 0 diferentes campos hidden $('#nuTotalPedidoBase').val(0); $('#nuTotalPedido').val(0); $('#promo').val(0); $('#nuDescuentoPromo').val(0); $('#IDDireccion').val(0); $('#lgAbonoFianza').val(0); $('#billing-nuPreu').text(""); }) } $('#send').click(function(){ var jqxr = $.ajax(path+"?option=enviar") .done(function(data){ $('#test').html("
"+data+"
"); }); }); $('#ta_extras_b,#ta_extras_p').change(function(){ var isMedio = $('#is_medio').val(); var pb=0; if(isMedio==0) { pb = parseFloat($('#precio_base').val()); } else { pb = parseFloat($('#precio_base_medio').val()); } var be = $('#ta_extras_b').val(); var pa = $('#ta_extras_p').val(); var jqxr = $.getJSON(path+"?option=get-extra&be="+be+"&pa="+pa+"&pb="+pb) .done(function(data){ $('#precioTotal_text').html(data.precio_total_text); $('#precioTotal').val(data.precio_total); }); }); $('#add-menu').click(function(){ var msg = validate_menu(); var ok = (msg=="0") ? true : false; var isMedio = $('#is_medio').val(); if(ok){ $('#add-menu').hide(); $('#acepta-condiciones').prop("checked",false); acepta = 0; menu_filled=1; //al menos se ha llenado un menu //hemos de avisar si es medio menu o entero //Si hay errores en los menus que no se agregan, no se han de realizar las partes comunes var errcheck = 0; if(isMedio==1){ if(confirm("Estàs triant mig menú. Si vols un menú sencer apreta cancelar i tria un altre plat.")) { var jqxr = $.post(path+"?option=add-menu",$('#ta_form').serialize(),function(){},'json') .done(function(data){ //Ponemos en la capa el resultado del envío (detalle de pedido y despues clonamos en la parte del checkout $('.menuses').html(data.pinta); $('#nuTotalPedido').val(data.suma_pedido); $('#nuTotalPedidoBase').val(data.suma_pedido); button_trash(); $('div#cloned_detall > div.btn-erase').remove(); $('#billing-nuPreu').text($('#total_pedido').text()); $('#precioTotal_text').html(""); $('#precioTotal').val(""); recalc_comanda(); amountMonedero(); }); }//De confirm } else { //es entero //Obligatoriamente ha de ser entero el menu es decir dos primeros o primero y segundo y siempre postre. //Una vez validate_menu() hemos de saber si se han hecho dos checks los necesarios para completar el menu. var checks = countChecks("p1"); checks += countChecks("p2"); if(checks < 2){ //Ops! Error alert("S'han d'escollir obligatoriament dos plats principals."); errcheck=1; } else { var jqxr = $.post(path+"?option=add-menu",$('#ta_form').serialize(),function(){},'json') .done(function(data){ //Ponemos en la capa el resultado del envío (detalle de pedido y despues clonamos en la parte del checkout $('.menuses').html(data.pinta); $('#nuTotalPedido').val(data.suma_pedido); $('#nuTotalPedidoBase').val(data.suma_pedido); button_trash(); $('div#cloned_detall > div.btn-erase').remove(); $('#billing-nuPreu').text($('#total_pedido').text()); $('#precioTotal_text').html("12,90 €"); $('#precioTotal').val(12.9); recalc_comanda(); amountMonedero(); }); } // de if(checks < 2) } // isMedio //Parte común //reiniciamos el form if(errcheck==0){ $('#ta_form')[0].reset(); $('#checkout').prop("disabled",false); //Limpia marcos selected del anterior menu $('img').removeClass("plat_selected") $('.add-more-review').show(); //Visores de dias $('.calendar').removeClass("calendar_selected"); $('.calendar').removeClass("calendar_not_selected"); $('#dtFechaEntrega').val(0); //Calculamos si hay suficiente monedero } } else { alert(msg); menu_filled=0; } }) $('#add-more').click(function(){ $('html, body').animate({ scrollTop: $('#inicio').offset().top }, 500); $('.add-more-review').hide(); }); $('#checkout').click(function(){ if(isMobile==0){ $('html, body').animate({ scrollTop: $('#inicio').offset().top }, 500); } else { /* $('html, body').animate({ scrollBottom: $("#mobile").offset().bottom }, 500); */ $('body').scrollTo('#mobile', 1000); } //$('.add-more-review').hide(); }); $('#cancel-buy').click(function(){ //$('#ciberpack').hide(); }); $('#clientTA').click(function(){ //Validar si se han introducido todos los datos //No se pueden entrar los datos del cliente hasta que no se haya hecho una selección de menu if(menu_filled==1){ if(validate_contact()){ $('#mensaje_user').hide(); cliente_filled=1 var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(data){ //Datos del cliente introducidos, es uno de los pasos para que pueda acceder al pago. $('#msg-validate').removeClass("alert-danger"); $('#msg-validate').addClass("alert-success"); $('#mensaje_user').show(); $('#msg-validate').html("Sessió iniciada.
"); //$('#nuTotalPedido').val(data); //Comprobación si tiene codigo de oferta o no var mail = $('#txtEMail').val(); var codigo = $('#txtCodigo').val(); var total = $('#nuTotalPedidoBase').val(); var dir = $('#IDDireccion').val(); if(codigo!=""){ var jqxr=$.getJSON(path+"?option=get-codigo&mail="+mail+"&total="+total+"&codigo="+codigo+"&dir="+dir) .done(function(data){ if(data.status==1){ //Es correcte retorna a total a pagar la quantitat que hi havia menys 2€ $('#nuTotalPedido').val(data.total); $('#billing-nuPreu').html(data.total_text); $('#oferta').show(); $('#promo').val(1); } else { $('#nuTotalPedido').val(data.total); $('#billing-nuPreu').html(data.total_text); $('#msg-validate-code').removeClass("alert-success"); $('#msg-validate-code').addClass("alert-danger"); $('#mensaje-user-code').show(); $('#oferta').hide(); $('#promo').val(0); //No es correcte pq o be s'ha posat malament o be ja està cremat switch(data.tipoError){ case 1: $('#msg-validate-code').append("Aquest codi no existeix, revisa el codi i posa'l exactament igual. "); break; case 2: $('#msg-validate-code').append("Aquest codi ja ha estat utilitzat en una oferta anterior. "); break; case 3: $('#msg-validate-code').append("Aquest usuari no està enregistrat, no es pot fer us de la promoció"); break; } } }); //.done(function(data) inner } else { //No se pone código pero quizás se ha puesto antes y ahora se quita $('#nuTotalPedido').val(total); $('#billing-nuPreu').html(moneda(total)); $('#oferta').hide(); $('#promo').val(0); } //if(codigo!=="" }); //.done(function(data) outer } else { //Mensaje de error $('#msg-validate').removeClass("alert-success"); $('#msg-validate').addClass("alert-danger"); $('#mensaje_user').show(); $('#msg-validate').html("Dades incomplertes. Ha d'omplir tots els camps que es demanen."); cliente_filled=0; } //PARA ASEGURARNOS DE LA CARGA CORRECTA DEL FORM DE FORMA DE PAGO //DESACTIVAMOS LOS RADIOS DE FORMA DE PAGO Y LA APROBACIÓN DE CONDICIONES PARA QUE LO VUELVA A HACER $("input[name='payment']").prop("checked",false); $('#acepta-condiciones').prop("checked",false); carga_tpv(); } else { //no se ha comprado un menú. Se avisa que no se pueden guardar los datos de cabecera hasta que eso no suceda $('#msg-validate').removeClass("alert-success"); $('#msg-validate').addClass("alert-danger"); $('#msg-validate').html("No pot guardar les dades de una comanda fins que no esculli el seu menú take away. "); $('#mensaje_user').show(); cliente_filled=0; } }); $('#IDCodigo_promo_DEPRECATED').change(function(){ //Indicamos el codigo de promoción y por consulta AJAX sabemos que importe tiene var idcode = $(this).val(); $.getJSON(path+"?option=get-importe-promo&idcode="+idcode) .done(function(data){ $('#promo').val(data.ispromo); $('#nuDescuentoPromo').val(data.importe); $('#IDCupon').val(data.idcode); }) }) //$('#clientTA-validate').click(function(){ DEPRECATED $('#IDCodigo_promo').change(function(){ //Validar el código de promoción //No se pueden entrar los datos del cliente hasta que no se haya hecho una selección de menu //Comprobación si tiene codigo de oferta o no var mail = $('#txtEMail').val(); var idcode = $(this).val(); var total = $('#nuTotalPedidoBase').val(); var ts = $('#txtTipoServicio').val(); var dir = $('#IDDireccion').val(); if(idcode!=''){ var jqxr=$.getJSON(path+"?option=get-codigo&mail="+mail+"&total="+total+"&idcode="+idcode+"&ts="+ts+"&dir="+dir) .done(function(data){ //Siempre llega un código válido $('#nuTotalPedido').val(data.total); $('#billing-oferta').html(data.dto_text); $('#billing-nuPreu').html(data.total_text); $('#nuDescuentoPromo').val(data.dto); $('#IDCupon').val(data.idcode); $('#msg-validate-code').html("Codi promocional vàlid.
"); $('#msg-validate-code').removeClass("alert-danger"); $('#msg-validate-code').addClass("alert-success"); $('#mensaje-user-code').show(); (idcode==0) ? $('#oferta').hide() : $('#oferta').show(); $('#promo').val(1); }); //.done(function(data) inner } else { //No se pone código pero quizás se ha puesto antes y ahora se quita //$('#nuTotalPedido').val(total); //$('#billing-nuPreu').html(moneda(total)); $('#oferta').hide(); $('#promo').val(0); $('#nuDescuentoPromo').val(0); } //if(codigo!=0 quitaTPV(); }); $('#cancel-buy').click(function(){ //$('#ciberpack').hide(); }); $('#acepta_tpv').click(function(){ if($(this).is(":checked")) { //Todo el proceso de carga accept=1 } else { //desaparece el contenido del form $('#ajax-tpv').html(""); accept=0; } carga_tpv(); }) function acepta_condiciones(){ //Cuando se aceptan las condiciones se activa el pago. //Hay dos tipos de pago, por lo que se ha de saber qué se hace si por TPVV o por MONEDERO var tipo = $("input[name='payment']:checked").val(); accept = ($('#acepta-condiciones').is(":checked")) ? 1 : 0; var color = (accept==1) ? "black" : "red"; var border = (accept==1) ? "2px solid #404040" : "2px solid #F00"; $('#acepta-condiciones-text').css("color",color); $('.c-checkbox label > .box').css("border",border); $('.c-checkbox label > .box-platos').css("border","2px solid #666"); console.log("accept="+accept); //Ojo solo si se ha seleccionado un tipo de pago o es TPVV o es MONEDERO no puede ser NULL if(tipo=="TPVV"){ carga_tpv(); } else { if(tipo=='MONEDERO'){//Monedero //Limpiamos el form del contenido TPV $('#ajax-tpv').html(""); //Tenemos que hacer que el botón vaya a notificación directamente con un paso de parametro que indique que es monedero, reste la cantidad del monedero y //Guarde en DS_response, el valor que indiquemos de alguna manera (numero aleatorio) para que no vuelva a repetirse la operativa GHOST que a veces sucede. //Mostramos el botón de pagar carga_monedero(); } else { //No haces nada no cargas el PAGAR return false; } } } $("input[name='payment']").click(function(){ $('#txtFormaPago').val($(this).val()); acepta_condiciones(); }) $('#acepta-condiciones').click(function(){ acepta_condiciones(); }) /*OLD $('.p1,.p2,.pp').click(function(){ //quitar todos los selecteds de ese plato var plato = $(this).attr("dataid"); var clase_radio = $(this).attr("nplato"); $('.'+clase_radio).removeClass("plat_selected") //$("."+clase_radio).prop("checked",false); if($('#radio_'+plato).is(":checked")){ $('#radio_'+plato).prop("checked",false); } else { $('#radio_'+plato).prop("checked",true); $(this).addClass("plat_selected"); } //Saber si hay algun plato seleccionado para activar el botón de añadir menu #add-menu if($('.plat_selected').length > 0) { $('#add-menu').show(); } else { $('#add-menu').hide(); } //alert(plato); //Comprobar si es medio menu //si se ha clicado un p1 y un p2 es menu completo //Mientras es un medio menu var isHalf = isMedio(); //console.log(isHalf); $('#is_medio').val(isHalf); var msg_type_menu = (isHalf==1) ? "Mig menú" : "Menu sencer"; //console.log(msg_type_menu); $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); }); */ //Nuevo en la versión dos primeros platos o un primero y un segundo function countChecks(clase){ //Devuelve los checks de un tipo de plato p1, p2 o pp var c = "."+clase+"_radio"; var n=0; $(c).each(function(){ if($(this).is(":checked")){ n++; } }); return n; } $('.p1').click(function(){ //quitar todos los selecteds de ese plato var plato = $(this).attr("dataid"); var clase_radio = $(this).attr("nplato"); var checks = countChecks("p1"); checks+=countChecks("p2"); //$('.'+clase_radio).removeClass("plat_selected") if($('#radio_'+plato).is(":checked")){ $('#radio_'+plato).prop("checked",false); $(this).removeClass("plat_selected"); } else { //Si hay 2 checks no actua, hasta que no se desactive uno if(checks < maxchecks){ $('#radio_'+plato).prop("checked",true); $(this).addClass("plat_selected"); } else { if(maxchecks==1){ js_msg_err("Solament es pot escollir un primer o un segon en modalitat contractada de Mig Menu. "); } else { js_msg_err("Solament es pot seleccionar o dos primers o un primer i un segon plat en menú complet. Revisa si us plau la selecció. "); } } } //Saber si hay algun plato seleccionado para activar el botón de añadir menu #add-menu if($('.plat_selected').length > 0) { $('#add-menu').show(); } else { $('#add-menu').hide(); } //Comprobar si es medio menu //si se ha clicado un p1 y un p2 es menu completo //Mientras es un medio menu var isHalf = isMedio(); //console.log(isHalf); //$('#is_medio').val(isHalf); var msg_type_menu = (isHalf==1) ? "Mig menú" : "Menu sencer"; //console.log(msg_type_menu); $('#menu-type').text(msg_type_menu); precio_menu(); }); $('.p1_radio').click(function(){ console.log(".p1_radio"); console.log($(this).is(":checked")); $('#add-menu').show(); //quitar todos los selecteds de ese plato var plato = $(this).attr("plato"); var idplato = $(this).attr("dataid"); var checks = countChecks("p1"); checks+=countChecks("p2"); console.log(checks); if($(this).is(":checked")){ //Si hay 2 checks no actua, hasta que no se desactive uno if(checks <= maxchecks){ $('#p_'+idplato).addClass("plat_selected"); $('#radio_'+idplato).prop("checked",true); } else { $(this).prop("checked",false); if(maxchecks==1){ js_msg_err("Solament es pot escollir un primer o un segon en modalitat contractada de Mig Menu. "); } else { js_msg_err("Solament es pot seleccionar o dos primers o un primer i un segon plat en menú complet. Revisa si us plau la selecció. "); } } } else { $('#p_'+idplato).removeClass("plat_selected"); $('#radio_'+idplato).prop("checked",false); } var isHalf = isMedio(); //$('#is_medio').val(isHalf); console.log(isHalf); var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); }); $('.p2').click(function(){ //quitar todos los selecteds de ese plato var plato = $(this).attr("dataid"); var clase_radio = $(this).attr("nplato"); var checks = countChecks("p1"); if(checks!=maxchecks){ $('.'+clase_radio).removeClass("plat_selected"); if($('#radio_'+plato).is(":checked")){ $('.'+clase_radio+'_radio').prop("checked",false); $('#radio_'+plato).prop("checked",false); } else { //Todos los checks a uncheck $('.'+clase_radio+'_radio').prop("checked",false); $('#radio_'+plato).prop("checked",true); $(this).addClass("plat_selected"); } //Saber si hay algun plato seleccionado para activar el botón de añadir menu #add-menu if($('.plat_selected').length > 0) { $('#add-menu').show(); } else { $('#add-menu').hide(); } //alert(plato); //Comprobar si es medio menu //si se ha clicado un p1 y un p2 es menu completo //Mientras es un medio menu var isHalf = isMedio(); //console.log(isHalf); //$('#is_medio').val(isHalf); var msg_type_menu = (isHalf==1) ? "Mig menú" : "Menu sencer"; //console.log(msg_type_menu); $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); } else { if(maxchecks==1){ js_msg_err("Solament es pot escollir un primer o un segon en modalitat contractada de Mig Menu. "); } else { js_msg_err("Solament es pot seleccionar o dos primers o un primer i un segon plat en menú complet. Revisa si us plau la selecció. "); } } }); $('.p2_radio').click(function(){ $('#add-menu').show(); //quitar todos los selecteds de ese plato var plato = $(this).attr("plato"); var idplato = $(this).attr("dataid"); var checks = countChecks("p1"); if(checks!=maxchecks && plato=="p2"){ $('.'+plato).removeClass("plat_selected") //$('#p_'+idplato).addClass("plat_selected"); console.log('.'+plato+'_radio'); if($(this).is(":checked")){ $('.'+plato+'_radio').prop("checked",false); $('#p_'+idplato).addClass("plat_selected"); $('#radio_'+idplato).prop("checked",true); } else { $('#p_'+idplato).removeClass("plat_selected"); $('#radio_'+idplato).prop("checked",false); } var isHalf = isMedio(); var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); } else { if(maxchecks==1){ js_msg_err("Solament es pot escollir un primer o un segon en modalitat contractada de Mig Menu. "); } else { js_msg_err("Solament es pot seleccionar o dos primers o un primer i un segon plat en menú complet. Revisa si us plau la selecció. "); } } }); $('.pp').click(function(){ //quitar todos los selecteds de ese plato var plato = $(this).attr("dataid"); var clase_radio = $(this).attr("nplato"); $('.'+clase_radio).removeClass("plat_selected"); if($('#radio_'+plato).is(":checked")){ $('.'+clase_radio+'_radio').prop("checked",false); $('#radio_'+plato).prop("checked",false); } else { //Todos los checks a uncheck $('.'+clase_radio+'_radio').prop("checked",false); $('#radio_'+plato).prop("checked",true); $(this).addClass("plat_selected"); } //Saber si hay algun plato seleccionado para activar el botón de añadir menu #add-menu if($('.plat_selected').length > 0) { $('#add-menu').show(); } else { $('#add-menu').hide(); } //alert(plato); //Comprobar si es medio menu //si se ha clicado un p1 y un p2 es menu completo //Mientras es un medio menu var isHalf = isMedio(); var msg_type_menu = (isHalf==1) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); }); $('.pp_radio').click(function(){ $('#add-menu').show(); //quitar todos los selecteds de ese plato var plato = $(this).attr("plato"); var idplato = $(this).attr("dataid"); $('.'+plato).removeClass("plat_selected") //$('#p_'+idplato).addClass("plat_selected"); console.log('.'+plato+'_radio'); if($(this).is(":checked")){ $('.'+plato+'_radio').prop("checked",false); $('#p_'+idplato).addClass("plat_selected"); $('#radio_'+idplato).prop("checked",true); } else { $('#p_'+idplato).removeClass("plat_selected"); $('#radio_'+idplato).prop("checked",false); } var isHalf = isMedio(); var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); }); //Fin de lo nuevo function isMedioOLD(){ var p1 = $('.p1_radio').is(":checked"); var p2 = $('.p2_radio').is(":checked"); //Ponemos el precio del menú ya en pantalla var uno = $('#precio_base').val(); var medio = $('#precio_base_medio').val(); var precio_total = (p1 && p2) ? uno : medio; $('#precioTotal_text').html(moneda(precio_total)); $('#precioTotal').val(precio_total); var isHalf = (p1 && p2) ? 0 : 1; var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); return isHalf; } function isMedio(){ //Ojo ahora son checks y el comportamiento es diferente var p = countChecks("p1"); p = p + countChecks("p2"); /* var p1 = $('.p1_radio').is(":checked"); var p2 = $('.p2_radio').is(":checked"); */ //Ponemos el precio del menú ya en pantalla var uno = $('#precio_base').val(); var medio = $('#precio_base_medio').val(); var precio_total = (p==2) ? uno : medio; $('#precioTotal_text').html(moneda(precio_total)); $('#precioTotal').val(precio_total); //var isHalf = (p==2) ? 0 : 1; var isHalf = $('#is_medio').val(); var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); return isHalf; } /* OLD $('.p1_radio,.p2_radio,.pp_radio').click(function(){ $('#add-menu').show(); //quitar todos los selecteds de ese plato var plato = $(this).attr("plato"); var idplato = $(this).attr("dataid"); $('.'+plato).removeClass("plat_selected") $('#p_'+idplato).addClass("plat_selected"); //$("."+plato+"_radio").prop("checked",false); $('#radio_'+idplato).prop("checked",true); var isHalf = isMedio(); $('#is_medio').val(isHalf); var msg_type_menu = (isHalf) ? "Mig menú" : "Menu sencer"; $('#menu-type').text(msg_type_menu); precio_menu(); //Los extras se reinician //$('#ta_extras_b').val(1); //$('#ta_extras_p').val(9); }); */ $('.reset_plato').click(function(){ var plato = $(this).attr("plato"); $("."+plato+"_radio").prop("checked",false); $('.'+plato).removeClass("plat_selected"); precio_menu(); }) function precio_menuOLD(){ //Esto se ha de recalcular para los menus o medios menus var p1 = $("input:radio[name=IDPlato1]:checked").val(); var p2 = $("input:radio[name=IDPlato2]:checked").val(); var isMedio = (p1===undefined || p2===undefined) ? 1 : 0; console.log(p1+" "+p2+" "+isMedio); $('#is_medio').val(isMedio); var t=0; var b = $("#ta_extras_b").val(); var p = $("#ta_extras_p").val(); var jqxr = $.getJSON(path+"?option=get-current-extras&b="+b+"&p="+p) .done(function (data){ b = parseFloat(data.b); p = parseFloat(data.p); if(isMedio==1){ t = parseFloat($("#precio_base_medio").val()); } else { t = parseFloat($("#precio_base").val()); } t = t+p+b; $('#precioTotal').val(t); $('#precioTotal_text').html(moneda(t)); }) } function precio_menu(){ //Rehacer las opciones por ser checks var c = ""; $('.platos_total').each(function(){ if($(this).is(":checked")){ c = c + $(this).val()+","; } }); c = c.substr(0,c.length - 1); console.log(c); var ar = c.split(","); //Esto se ha de recalcular para los menus o medios menus var p1 = ar[0]; var p2 = ar[1]; var isMedio = (p1===undefined || p2===undefined) ? 1 : 0; console.log(p1+" "+p2+" "+isMedio); $('#is_medio').val(isMedio); var t=0; var b = $("#ta_extras_b").val(); var p = $("#ta_extras_p").val(); var jqxr = $.getJSON(path+"?option=get-current-extras&b="+b+"&p="+p) .done(function (data){ b = parseFloat(data.b); p = parseFloat(data.p); if(isMedio==1){ t = parseFloat($("#precio_base_medio").val()); } else { t = parseFloat($("#precio_base").val()); } t = t+p+b; $('#precioTotal').val(t); $('#precioTotal_text').html(moneda(t)); }) } $('.calendar_on').on("click",function(){ var f = $(this).attr("fecha"); //viewers Poner todas en calendar_not_selected excepto el seleccionado. $('.calendar_on').removeClass("calendar_selected"); $('.calendar_on').addClass("calendar_not_selected"); $(this).removeClass("calendar_not_selected"); $(this).addClass("calendar_selected"); //actuación $('#dtFechaEntrega').val(f); calendar_filled=1; acepta_condiciones(); //Mensaje var msg=''; /* if((f=='2021-12-24') || (f=='2021-12-31')){ msg='La seva comanda estarà disponible el dia escollit de 12:00 a 17:00'; } else { msg='La seva comanda estarà disponible el dia escollit de 10:00 a 12:00'; }*/ msg='La seva comanda estarà disponible el dia escollit de 10:00 a 12:00'; $('#msg-delivery-festes').html('

'+msg+'

'); $('#msg-delivery-festes').show(); //El precio del menú ha de cambiar si es domingo Lo sacamos de las variables para la V9 var fe = new Date(f); var ds = fe.getUTCDay(); //Para saber si es 0 Domingo o 6 Sábado var menuTA = (ds==0 || ds==6) ? 15 :12.9; var menuMed_TA = (ds==0 || ds==6) ? 12.5 : 10; console.log("Fecha:"+ fe +" Dia semana:"+ds+" Precios:" + menuTA+"/"+menuMed_TA); //Ponemos el precio base en el campo segun fecha y en el atributo dataid? $('#precio_base').val(menuTA); $('#precio_base_medio').val(menuMed_TA); $('#precio_base').attr("dataid",menuTA); $('#precio_base_medio').attr("dataid",menuMed_TA); //hay que tener en cuenta que pueden haber extras var isMedio = $('#is_medio').val(); var pb=0; if(isMedio==0) { pb = parseFloat($('#precio_base').val()); } else { pb = parseFloat($('#precio_base_medio').val()); } var be = $('#ta_extras_b').val(); var pa = $('#ta_extras_p').val(); var jqxr = $.getJSON(path+"?option=get-extra&be="+be+"&pa="+pa+"&pb="+pb) .done(function(data){ $('#precioTotal_text').html(data.precio_total_text); $('#precioTotal').val(data.precio_total); }); /* var isMedio = $('#is_medio').val(); if(isMedio==1){ $('#precioTotal_text').html(moneda(menuMed_TA)); $('#precioTotal').val(menuMed_TA); } else { $('#precioTotal_text').html(moneda(menuTA)); $('#precioTotal').val(menuTA); } */ }); // desde take away $('#btn-login-ta').click(function(){ //Comprobación de credenciales $.post(path+"?option=login",$('#form-login').serialize(),function(){},"json") .done(function(data){ if (data.err==0) { //analizamos si es de empresa, si es así se deriva al delivery empresas if(data.user.lgTAEmpresa=="1"){ //Es empresa location.href= "https://elracodelesportiu.com/index.php/take-away-empresas/"; } else { $('#msg-login').html("
"+data.msg+"
"); //Carga en el formulario de contacto los datos devueltos $('#txtNom').val(data.user.txtNombre); $('#txtCognoms').val(data.user.txtApellidos); $('#txtTelefon').val(data.user.txtTelefono1); $('#txtEMail').val(data.user.txtEMail); $('#IDCliente').val(data.user.ID); //Carga el valor de la promo si tiene $('#billing-oferta').html(moneda(data.user.nuDtoPromo)); $('#no-log').show(); $('#div-sign-in').hide(); //muestra los platos de menú $('#select-platos-menu').show(); cliente_filled = 1; //Comprueba si tiene direcciones sino elimina el radio de Delivery if(data.user.dirs==0) { $('.radio-delivery').hide(); //Muestro mensaje que indica que no puedo hacer delivery pq no tengo direcciones asignadas. $('#msg-radio').html('
Fes clic aquí per afegir una adreça per Delivery.
'); } //Una vez login OK ya añade la cabecera de pedido var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) setTimeout(function(){ $('#msg-login').hide(); $('#login-ta-customer').hide(); $('#data-pers').show(); $('#ta-customer').hide(); //Botón de ya estas logonado. //Mostrar el monedero si lo tiene //Vemos si se carga el monedero if(data.user.isMonedero==1){ $('#monedero-radio').show(); $('#monedero-value').html(moneda(data.user.nuMonedero)); $('#monedero-radio').attr("amount",data.user.nuMonedero); amountMonedero(); } },3000); } } else { $('#msg-login').html("
"+data.msg+"
"); } }); }); //Parte de mi cuenta //arranque directo sin funciones var isCustomer = 0; var renew = 0; if(isCustomer==1){ $('#msg-login').hide(); $('#tabs').show(); $('#login').hide(); //Reset de password $('#renew').hide(); //Parte en la página de takeaway $('#login-ta-customer').hide(); $('#data-pers').show(); $('#ta-customer').hide(); //Botón de ya estas logonado. //Carga del perfil $.getJSON(path+"?option=load-customer-profile") .done(function(data){ $('#form-data-profile input').each(function(){ $('#form-data-profile input').each(function(){ var id = $(this).attr("name"); $('#'+id+"_profile").val(data.user[id]); }); }) //Nombre de bienvenida $('#customer-name').text(data.user.txtNombre+" "+data.user.txtApellidos); //Parte en la página de takeaway $('#txtNom').val(data.user.txtNombre); $('#txtCognoms').val(data.user.txtApellidos); $('#txtTelefon').val(data.user.txtTelefono1); $('#txtEMail').val(data.user.txtEMail); //Vemos si se carga el monedero if(data.user.isMonedero==1){ $('#monedero-radio').show(); $('#monedero-value').html(moneda(data.user.nuMonedero)); $('#monedero-radio').attr("amount",data.user.nuMonedero); amountMonedero(); } //Direcciones if(data.user.dirs==0) { //$('.radio-delivery').hide(); $('#radioTSD').prop("checked",false); //el de delivery //$('#radioTSD').prop("disabled",true); //el de delivery //Muestro mensaje que indica que no puedo hacer delivery pq no tengo direcciones asignadas. $('#msg-radio').html('
Fes clic aquí per afegir una adreça per Delivery.
'); $('#radioTST').prop("checked",true); //el de take away $('#txtTipoServicio').val("T"); } }); } else { if(renew==1){ $('#renew').show(); $('#login').hide(); } else { $('#login').show(); $('#msg-login').show(); } } //Carga las direcciones del usuario $('.datepicker').datepicker({ dateFormat: 'dd-mm-yy', languaje: 'ca' }); //Carga directa de comprobación de si tiene datos fiscales si es asi se habilita el botón enviar tickets-factura, sino se avisa del caso. var txtEmpresa = ""; var txtNIF = ""; var txtDireccion = ""; var txtPoblacion = ""; var txtDP = ""; if(txtEmpresa!="" && txtNIF!="" && txtDireccion!="" && txtPoblacion!="" && txtDP!=""){ //OK $('#btn-send-ticket-factura').show(); $('#msg-ticket-factura').html(''); } else { //KO $('#btn-send-ticket-factura').hide(); $('#msg-ticket-factura').html('
No pot demanar factures fins que no hagi emplenat totes les dades fiscals que li demanem en la 3ª pestanya Dades Fiscals (factures)
'); } $('#btn-login').click(function(){ //Comprobación de credenciales $.post(path+"?option=login",$('#form-login').serialize(),function(){},"json") .done(function(data){ if (data.err==0) { $('#msg-login').html("
"+data.msg+"
"); setTimeout(function(){ location.reload(); },3000); //acciones - Muestra la capa con las tabs //Cargamos en los campos correspondientes los datos del cliente. $('#form-data-profile input').each(function(){ var id = $(this).attr("name"); $('#'+id+"_profile").val(data.user[id]); }); //Nombre de bienvenida $('#customer-name').text(data.user.txtNombre+" "+data.user.txtApellidos); } else { $('#msg-login').html("
"+data.msg+"
"); } }); }); $(".toggle-password").click(function() { $(this).toggleClass("fa-eye fa-eye-slash"); var input = $($(this).attr("toggle")); if (input.attr("type") == "password") { input.attr("type", "text"); } else { input.attr("type", "password"); } }); $('#lost-password').click(function(){ //envio de mail con la nueva contraseña para ese usuario. var mail = $('#txtEMailLog').val(); $.getJSON(path+"?option=send-mail-lost-pass&mail="+mail) .done(function(data){ if (data.err==0) { $('#msg-login').html("
"+data.msg+"
"); } else { $('#msg-login').html("
"+data.msg+"
"); } }); }) $('#btn-change-pass').click(function(){ //Validar que sean strong var p1 = $('#txtPassChange').val(); var p2 = $('#txtPassChange2').val(); var err=0; //No hay inicialmente error var passOK = CheckPassword(p1); if(passOK){ //Son iguales? if(p1==p2){ err=0; } else { err=2; } } else { err=1; } switch(err){ case 0: $.post(path+"?option=change-pass",$('#change-password').serialize()) .done(function(){ $('#msg-err').html("
Contrasenya canviada correctament
"); }); break; case 1: $('#msg-err').html("
La contrasenya no és vàlida. S'ha de posar una contrasenya de al menys 6 caracters.
"); break; case 2: $('#msg-err').html("
Les contrasenyes no coincideixen
"); break; } }); $('#btn-save-profile').click(function(){ var ok = validate_profile(); if(ok){ $.post(path+"?option=save-profile",$('#form-data-profile').serialize(),"json") .done(function(data){ $('#msg-profile').html("
Perfil actualitzat
"); }) } else { $('#msg-profile').html("
No s'actualitzat el perfil, ha de posar el seu nom, cognoms, telèfon i mail.
"); } }) $('#btn-new-customer').click(function(){ //Validar que ha puesto al menos Nombre, Apellidos, Telefono y mail //Validar si ha puesto un código amigo correcto var err=0; var ok = (validate_customer()) ? 1 : 0; var p1 = $('#txtPass_customer').val(); var p2 = $('#txtPass2_customer').val(); var m = (p1==p2) ? 1 : 0; //var mail = ($('#txtEMail_customer').val() == $('#txtEMail2_customer').val()) ? 1 : 0; var okpass = (CheckPassword(p1)) ? 1 : 0; var msg_err = ""; console.log(ok+m+okpass); if(ok==1 && m==1 && okpass==1){ //COMPROBAR SI HA PUESTO CODIGO AMIGO Y ES CORRECTO A ALGUN CLIENTE. var ca = $('#txtCodigoAmigo_customer').val(); var jqxr = $.getJSON(path+"?option=test-ca&ca="+ca) .done(function(data){ //Evaluar que ha pasado if(data.error==1){ console.log(status.error); //No es un código amigo correcto, no se da de alta el usuario y se le avisa $('#msg-new-customer').html("
"+data.msg+"
"); } else { $('#IDAmigo_customer').val(data.IDAmigo); var jqxr = $.post(path+"?option=new-customer",$('#form-data-pers').serialize(), function(data){ if(data.err==0){ $('#msg-new-customer').html("
"+data.msg_err+"
"); } else { $('#msg-new-customer').html("
"+data.msg_err+"
"); } },"json"); } }); } else { //Analizar los errores console.log(ok+" "+m+" "+okpass); if(ok==0) msg_err += "No s'actualitzat el perfil, ha de posar el seu nom, cognoms, telèfon i mail i ha d'acceptar la política de privacitat.
"; if(m==0) msg_err += "Les contrasenyes no coincideixen
"; if(okpass==0) msg_err += "La contrasenya no és vàlida. S'ha de posar una contrasenya de al menys 6 caracters."; //if(mail==0) msg_err += "Les adreces de mail no son iguals"; $('#msg-new-customer').html("
"+msg_err+"
"); } }); $('#new-contact').click(function(){ $('#data-pers').toggle(); }); $('#ta-customer').on('click touchstart',function(){ $('#login-ta-customer').toggle(); }); $('#bt-disconnect').click(function(){ $.ajax(path+"?option=disconnect") .done(function(){ $(location).attr("href","https://elracodelesportiu.com/index.php/el-meu-compte/"); }); }); $('#renew-password').click(function(){ //Validar que sean strong var p1 = $('#txtPassMD5-first').val(); var p2 = $('#txtPassMD5-repeat').val(); var err=0; //No hay inicialmente error var passOK = CheckPassword(p1); if(passOK){ //Son iguales? if(p1==p2){ err=0; } else { err=2; } } else { err=1; } switch(err){ case 0: var jqxr = $.post(path+"?option=renew-password",$('#form-pass-renew').serialize()) .done(function(data){ $('#msg-login-renew').html("
"+data+"
"); }); break; case 1: $('#msg-login-renew').html("
La contrasenya no és vàlida. S'ha de posar una contrasenya de al menys 6 caracters.
"); break; case 2: $('#msg-login-renew').html("
Les contrasenyes no coincideixen
"); break; } }); //Adreces //Funciones handlers function acciones_direcciones(){ $('.radio-favorito').unbind("click"); $('.del-address').unbind("click"); $('.radio-favorito').click(function(){ var id = $(this).val(); var idc = $(this).attr("idc"); $.ajax(path+"?option=set-favorite&id="+id+"&idc="+idc) }); $('.del-address').click(function(){ if(confirm('Està segur d\'esborrar aquesta adreça. L\'acció no es pot desfer. ')){ //Borra var id = $(this).attr("dataid"); $.ajax(path+"?option=del-address&id="+id) .done(function(){ $('#load-addresses').load(path+"?option=load-addresses&idc="+idc, function(){ //Handlers para papelera y borrar alguna dirección, favorito acciones_direcciones(); return true; }); }); } else { return false; } }); } //Carga directa var idc = 0; $('#load-addresses').load(path+"?option=load-addresses&idc="+idc, function(){ //Handlers para papelera y borrar alguna dirección, favorito acciones_direcciones(); }) $('#txtDP_address').change(function(){ var id = $(this).val(); var jqxr = $.ajax(path+"?option=get-pob&id="+id) .done(function(data){ $('#txtPoblacion').val(data); }); }); $('#add-address').click(function(){ //Validació dels camps com a mínim la primera linia d'adreça, DP i població. var d = $('#txtDireccion').val(); var dp = $('#txtDP').val(); var dpsb = $('#txtDP_standby').val(); var psb = $('#txtPoblacion_standby').val(); var p = $('#txtPoblacion').val(); var err = ((d!="") && ((dp!="0")||(dpsb!="")) & ((p!="")||(psb!=""))) ? 0 : 1; if(err==1){ $('#msg-add-address').html('
Els camps adreça, dp i població son obligatoris, revisi les seves dades.
'); } else { $.post(path+"?option=add-address",$('#adreces').serialize()) .done(function(data){ if(data==0) { $('#msg-add-address').html('
Adreça introduïda correctament.
'); } else { $('#msg-add-address').html('
Adreça introduïda correctament. La teva adreça encara no es pot fer servir pel servei de delivery fins que quedi activada.
'); } //Carga ajax de las direcciones del cliente. $('#load-addresses').load(path+"?option=load-addresses&idc="+idc, function(){ //Handlers para papelera y borrar alguna dirección, favorito acciones_direcciones(); }); }); } //limpiar tod el formulario de datos $('#adreces')[0].reset(); }); $('#modi-fiscal').click(function(){ //Validació dels camps com a mínim la primera linia d'adreça, DP i població. var e = $('#txtEmpresa_fisc').val(); var n = $('#txtNIF_fisc').val(); var d = $('#txtDireccion_fisc').val(); var dp = $('#txtDP_fisc').val(); var p = $('#txtPoblacion_fisc').val(); var err = ((e!="") && (n!="") && (d!="") && (dp!="") & (p!="")) ? 0 : 1; if(err==1){ $('#msg-fiscal').html('
Els camps adreça, dp i població son obligatoris, revisi les seves dades.
'); } else { $.post(path+"?option=modi-fiscales",$('#adreces-fiscal').serialize()) .done(function(){ $('#msg-fiscal').html('
Adreça introduïda correctament.
'); $('#btn-send-ticket-factura').show(); $('#msg-ticket-factura').html(""); }); } }); //Facturación $('#send-ticket-factura').click(function(){ //Validar la entrada de los tres campos var t = $('#txtTicket').val(); var i = $('#nuImport').val(); var d = $('#txtFecha').val(); var noerr = (t!="" && i!="" && d!=""); if(noerr){ //Submit de valor $.post(path+"?option=ticket-factura",$('#ticket-factura').serialize()) .done(function(data){ var msg=""; var cl=""; if(data==0){ cl="alert-danger"; msg="El seu ticket ja ha estat processat anteriorment, no es pot tornar a expedir. Demani la seva factura duplicada contactant per telèfon o per mail"; } else { cl="alert-success"; msg = "La seva petició està en procés, en breu rebrà la factura a la seva adreça de mail. "; } $('#msg-ticket-factura').html('
'+msg+'
'); }); } else { alert ("Error: s'han d'omlir el tres camps requerits"); } }) $('.decimal').keypress(function(e){ var key = e.charCode; var espkey = e.keyCode; var valor = $(this).val(); //Teclas aceptadas: 48-57 (numeros teclado alfanumerico, 96-105 numes tecl numerico, 188-",", 190--".", 110-"." (numeric pad) //8 - BS, 46-Del/Supr. if((key>=48 && key <=57) || (key>=44) && (key<=46) || (espkey==8) || (espkey==46)) { $(this).val(valor.replace(",",".")); } else { e.preventDefault(); } }); function load_facturas(){ $('#comandes').load(path_neto+"ta_load_facturas.php",function(){ $('.download-ticket').unbind("click"); $('.download-factura').unbind("click"); $('.download-ticket').click(function(){ var idp = $(this).attr("idped"); console.log(idp); //Gestiona desde ajax toda la producción y descarga $.getJSON(path+"?option=a-ticket&idp="+idp) .done(function(data){ load_facturas(); //Devuelve el path y link de descarga //Solo cuando se ha generado el archivo, lo envia al navegador var url = "https://intranet.elracodelesportiu.com/ta_facturas/raco/tickets/"+data.fac; window.open(url, '_blank'); }); }); $('.download-factura').click(function(){ var idp = $(this).attr("idped"); console.log(idp); //Gestiona desde ajax toda la producción y descarga $.getJSON(path+"?option=a-factura&idp="+idp) .done(function(data){ load_facturas(); //Devuelve el path y link de descarga //Solo cuando se ha generado el archivo, lo envia al navegador var url = "https://intranet.elracodelesportiu.com/ta_facturas/raco/facturas/"+data.fac; window.open(url, '_blank'); }); }); }); } $('#pest-factures').click(function(){ load_facturas(); }); //Delivery $('.c-radio-type').click(function(){ var t = $(this).val(); var idc = $('#IDCliente').val(); $('#txtTipoServicio').val(t); //Si es delivery muestra la capa de las direcciones del cliente para escoger que dirección if(t=="D"){ $.getJSON(path+"?option=direcciones-cliente") .done(function(data){ $('#combo-list-dirs').html(data.html); $('#msg-delivery-horario').html('

Les comandes rebudes abans de les 12:00 seran entregades entre 12:00 i 13:00
Les comandes rebudes entre 12:00 i 13:00 seran entregades entre 13:00 i 14:00
Les comandes rebudes entre 13:00 i 15:00 seran entregades en 45 minuts aproximadament a partir de la recepció de la comanda

'); //asignacion inicial de dirección. $('#combo-dirs').show(); $('#IDDireccion').val($('#IDDireccion-combo').val()); isDelivery('D'); amountMonedero(); if(data.dirs==0){ // No hay direcciones isDelivery('T'); $('#delivery-cost').hide(); $('#msg-radio').html('
Fes clic aquí per afegir una adreça per Delivery.
'); $('#combo-dirs').hide(); $('#radioTSD').prop("checked",false); //el de delivery $('#radioTST').prop("checked",true); //el de take away $('#txtTipoServicio').val("T"); } else { $('#msg-radio').hide(); } //handlers de la carga $('#IDDireccion-combo').change(function(){ var d = $(this).val(); $('#IDDireccion').val(d); var jqxr = $.post(path+"?option=add-cabecera",$('#form-data-pers').serialize()) .done(function(){ isDelivery($('#txtTipoServicio').val()); //Carga on the fly las condiciones de servicio //$('#delivery-conditions').click(); }) }); }); } else { $('#combo-dirs').hide(); isDelivery('T'); } //También abre la capa de calculo de costes del pedido segun si es delivery, basado en la dirección favorita. }); $('#delivery-conditions').click(function(){ $.ajax(path+"?option=text-conditions-delivery") .done(function(data){ $('#text-conditions-delivery').html(data); $('#msg-radio-conditions').show(); }) }) $('#close-conditions').click(function(){ $('#msg-radio-conditions').hide(); }); //Codigos de promoción //CARTA PARA FIESTAS DE NAVIDAD - Y DE RESTAURANTE $('.plus').on("click",function(){ var it = $(this).prev(); var q = parseInt(it.val()); $(it).val(q+1); }); $('.minus').on("click",function(){ var it = $(this).next(); var q = parseInt(it.val()); if(q>0){ $(it).val(q-1); } }); $('.add-plato').on("click",function(){ //Todo esto ha de pasar si el cliente está logonado var plato = $(this).attr("plato"); var c=''; $('.qty').each(function(){ var q = $(this).val(); var p = $(this).attr("plato"); var t = $(this).attr("tipo"); if(q>=1) c+=t+':'+p+':'+q+';'; }); menu_filled = 1; $('#acepta-condiciones').prop("checked",false); acepta = 0; var promo = $('#nuDescuentoPromo').val(); //Llamada ajax para conseguir el JSON que devuelva los datos para pintar la cesta var jqxr = $.getJSON(path+"?option=cesta-navidad&cadena="+c+"&promo="+promo) .done(function(data){ if(data.user_logged==1){ //Helpers $('#cloned-detall-navidad').html(data.html); button_trash_carta(); $('#billing-nuPreu').html(data.total_text); $('#nuTotalPedidoBase').val(data.total_base); $('#nuTotalPedido').val(data.total); //Pie de la página $('#precioTotal_text').html(data.total_text); $('#precioTotal').val(data.total_base); amountMonedero(); return true; } else { alert("No pot demanar cap plat, abans s\'ha d\'acreditar com a client. Si no és client registri a la nostra web en l\'apartat EL MEU COMPTE"); return false; } }); }); $('[data-toggle="tooltip"]').tooltip(); $('.desplegar').on("click",function(){ var capa = $(this).attr("data-toggle"); $('#'+capa).toggle(); }); //Funciones específicas para Sant-Valentí //Validador de campos del form function validarEmail(valor) { if (/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(valor)){ return true; } else { return false; } } function validate_sv(){ var n = $('#txtNombre').val(); var a = $('#txtApellidos').val(); var m = $('#txtEMail').val(); var t = $('#txtTelefono').val(); var d = $('input:radio[name=dtFechaEntrega]:checked').val(); console.log("dtFechaEntrega:"+d); var nn = (n=='') ? 0 : 1; var na = (a=='') ? 0 : 1; var nm = (!validarEmail(m)) ? 0 : 1; var nt = (t=='') ? 0 : 1; var nd = (d===undefined) ? 0 : 1; var v = nn+na+nm+nt+nd; console.log(v); return v; } $('#pay-now-sv').click(function(){ //primero guarda en temp los datos del post y luego envía la página if(validate_sv()==5){ $.post(path+"?option=save-data-temp-sv",$('#TPVSV').serialize()) .done(function(data){ //Aquí haremos el submit if(data>0){ $("#TPVSV").submit(); } }) } else { alert("Tots els camps son obligatoris.\r\nEl camp d'email ha de tindre una adreça vàlida. \r\nRevisi el formulari"); return false; } }); //Delivery EMPRESES //Carga de subclientes function cargaSubCuentas(){ //Carga las subcuentas de un cliente en modo listado $('#load-subcuentas').load(path+'?option=load-subcuentas&idc=', function(){ //Handlers del listado $('.del-subcuenta').click(function(){ if(confirm("Està segur d'eliminar aquest subclient? \r\nL'acció no es pot desfer")){ //Borra var id = $(this).attr("dataid"); $.ajax(path+"?option=del-subcuenta&id="+id) .done(function(){ cargaSubCuentas(); return true; }); } else { return false; } }); }) } cargaSubCuentas(); $('#generate-pass').click(function(){ $.ajax(path+"?option=gen-pass") .done(function(data){ $('#txtPassMD5_sub').val(data); }); }); $('#add-worker').click(function(){ $.post(path+'?option=add-worker',$('#form-trabajadores').serialize(), function(data){ //Done devolviendo JSON de estado de la alta. if(data.err==0){ $('#subcuenta-msg').addClass("alert-success"); $('#subcuenta-msg').removeClass("alert-danger"); } else { $('#subcuenta-msg').addClass("alert-danger"); $('#subcuenta-msg').removeClass("alert-success"); } $('#subcuenta-msg').html(data.msg); cargaSubCuentas(); },'json') }) $('.mayusc').on("keypress",function(){ $input=$(this); setTimeout(function () { $input.val($input.val().toUpperCase()); },50); }); }); //$(document).ready }); //jQuery(function ($)