var ta_emp = 1; 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_empresas.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 ($) { function js_msg_errOLD(msg){ $('#pop-msg').show(); $('#pop-msg').html('

'+msg+'

'); setTimeout(function(){ $('#pop-msg').hide(); },6000); } function js_msg_err(msg){ alert(msg); } function carga_tpv(){ return true; } 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=EMPRESES") .done(function(data){ if(data.err==1){ alert(data.err_msg); return false; } else { $('#IDPedido').val(data.idp); $(location).attr("href",data.qs); $('#valida-comanda-div').html('

Validant comanda. Esperi uns instants...

'); return true; } }); }); } function recalc_comanda(){ return true; } 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"); //Quitamos la clase calendar_selected del item seleccionado por clase_calendar var cc = "."+$(this).attr("d"); $(cc).removeClass("calendar_off calendar_unique"); $(cc).addClass("calendar_on"); //Ponemos también el disabled green como imagen en ese apartado var img = $(cc).children("img"); $(img).attr("src","https://restaurantlarambla.com/wp-content/themes/stockholm-child/takeaway//img/calendar.png"); var jqxr = $.getJSON(path+"?option=delete-item-detalle&lin="+i) .done(function(data){ $('.menuses').html(data.pinta); $('#nuTotalPedidoBase').val(data.suma_pedido); $('#nuTotalPedido').val(data.suma_pedido+data.suma_costes.nuCosteTrans+data.suma_costes.nuCostePrep); //Añadimos costes de transporte y preparación para desglose $('#nuCosteTrans').val(data.suma_costes.nuCosteTrans); $('#nuCostePrep').val(data.suma_costes.nuCostePrep); button_trash(); $('#billing-nuPreu').text($('#total_pedido').text()); menu_filled = (data.items==0) ? 0 : 1; recalc_comanda(); isDelivery($('#txtTipoServicio').val()); //Si no hay menus, quitamos el botón de validar comanda. if(menu_filled==0){ $('#valida-comanda').hide(); } }); 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(); //Devolvemos mensajes var caderr="";var err=0; if((!p1)&&(!p2)) { //Solo en el caso de que no se haya seleccionado ningun plato principal 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(){ return 0; } function funct_user_dirs(){ var jqxr = $.getJSON(path+"?option=direcciones-cliente") .done(function(data){ var user_dirs = 1; return user_dirs; }); } function isDelivery(t){ $('#txtTipoServicio').val("D"); } function combo_promo(){ return true; } //Funciones indepes asociadas a CARTA /* Puedes usar $ con seguridad para hacer referencia a jQuery */ $(document).ready(function(){ //Directo para take away //User debe seleccionar inicialmente la forma de pago. $("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); //Añadimos costes de transporte y preparación para desglose $('#nuCosteTrans').val(data.suma_costes.nuCosteTrans); $('#nuCostePrep').val(data.suma_costes.nuCostePrep); 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; }); }); //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(""); $('#txtTipoServicio').val("D"); }) } $('#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 = 0; menu_filled=1; //al menos se ha llenado un menu //Si hay errores en los menus que no se agregan, no se han de realizar las partes comunes var errcheck = 0; if(isMedio==1){ //si es medio es medio y no existe ningun tipo de confirmación al respecto por lo que se agrega automáticamente var jqxr = $.post(path+"?option=add-menu",$('#ta_form').serialize(),function(){},'json') .done(function(data){ if(data.dupli==false){ //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+data.suma_costes.nuCosteTrans+data.suma_costes.nuCostePrep); $('#nuTotalPedidoBase').val(data.suma_pedido); //Añadimos costes de transporte y preparación para desglose $('#nuCosteTrans').val(data.suma_costes.nuCosteTrans); $('#nuCostePrep').val(data.suma_costes.nuCostePrep); button_trash(); $('div#cloned_detall > div.btn-erase').remove(); $('#billing-nuPreu').text($('#total_pedido').text()); $('#precioTotal_text').html(""); $('#precioTotal').val(); recalc_comanda(); } }); } 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){ if(data.dupli==false){ //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+data.suma_costes.nuCosteTrans+data.suma_costes.nuCostePrep); $('#nuTotalPedidoBase').val(data.suma_pedido); $('#nuCosteTrans').val(data.suma_costes.nuCosteTrans); $('#nuCostePrep').val(data.suma_costes.nuCostePrep); button_trash(); $('div#cloned_detall > div.btn-erase').remove(); $('#billing-nuPreu').text($('#total_pedido').text()); $('#precioTotal_text').html(""); $('#precioTotal').val(); recalc_comanda(); } }); } // 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 if(isGuest==0){ $('.calendar').removeClass("calendar_selected"); $('.calendar').removeClass("calendar_not_selected"); $('.calendar_unique').removeClass("calendar_on"); $('.calendar_unique').addClass("calendar_off"); //Ponemos también el disabled green como imagen en ese apartado var img = $('.calendar_unique').children('img'); $(img).attr("src","https://restaurantlarambla.com/wp-content/themes/stockholm-child/takeaway//img/calendar_disabled_green.png"); } else { $('.calendar').removeClass("calendar_selected"); $('.calendar_unique').addClass("calendar_not_selected"); $('.calendar').removeClass("calendar_unique"); } $('#dtFechaEntrega').val(0); //Mostramos el botón de validar el pedido. $('#valida-comanda').show(); } } 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.
"); }); //.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; } }); $('#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_condicionesOLD(){ //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); 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; } } } function acepta_condiciones(){ return true; } $("input[name='payment']").click(function(){ $('#txtFormaPago').val($(this).val()); acepta_condiciones(); }) $('#acepta-condiciones').click(function(){ acepta_condiciones(); }) 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; } function if_L(){ //Añadir que si el tipo de menu es L puede ser medio var tipoMenu = $('#tipoMenu').val(); if(tipoMenu=='L'){ checks = countChecks("p1"); checks+=countChecks("p2"); console.log("tipomenu:"+tipoMenu+" checks:"+checks); if(checks==1){ $('#is_medio').val(1); } else { $('#is_medio').val(0); } } } $('.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"); 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 //Si es modo "L" saber si puede ser medio if_L(); 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); } //Si es modo "L" saber si puede ser medio if_L(); 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 //Si es modo "L" saber si puede ser medio if_L(); 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); } //Si es modo "L" saber si puede ser medio if_L(); 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(); }); $('.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(); }); function isMedio(){ //Ojo ahora son checks y el comportamiento es diferente var p = countChecks("p1"); p = p + countChecks("p2"); //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; } $('.reset_plato').click(function(){ var plato = $(this).attr("plato"); $("."+plato+"_radio").prop("checked",false); $('.'+plato).removeClass("plat_selected"); precio_menu(); }) 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 = $("#IDExtraB").val(); var p = $("#IDExtraP").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 calendar_unique"); //añadimos al campo clase_calendar el dia que se ha escogido $('#clase_calendar').val($(this).attr("d")); //actuación $('#dtFechaEntrega').val(f); calendar_filled=1; acepta_condiciones(); //Mensaje var msg=''; if((f=='2020-12-24') || (f=='2020-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-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() var menuTA = 0; var menuMed_TA = 0; console.log("Fecha:"+ fe +" Dia semana:"+ds+" Precios:" + menuTA+"/"+menuMed_TA); //Ponemos el precio base en el campo segun fecha $('#precio_base').val(menuTA); $('#precio_base_medio').val(menuMed_TA); 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); } }); function load_calendar(){ console.log("load_calendar()"); $.getJSON(path+"?option=load-calendar") .done(function(data){ //Carga el calendario $('#container-calendar').html(data.html); //Carga de elementos variantes, nombre de la empresa, nombre de la subcuenta, precios, extras. $('#especificos-empresa').text(data.especificos.empresa); $('#ta_nombre').val(data.ta_user.txtNombre+" "+data.ta_user.txtApellidos); $('#ta_nombreText').text(data.ta_user.txtNombre+" "+data.ta_user.txtApellidos); $('#extras-cliente').text(data.extras); $('#IDMain').val(data.ta_user.IDMain); $('#IDDireccion').val(data.especificos.IDDireccion); $('#txtFormaPago').val("EMPRESES"); //Mostrar la hora de entrega de delivery $('#tmHoraEntrega').val(data.especificos.hrHoraEntrega); $('#hora-entrega-empresa').text(data.especificos.hrHoraEntrega); //Campos a cargar extras var pan = (data.especificos.lgPan==1) ? 9 : 0; var bebida = (data.especificos.lgBebidas==1) ? 1 : 0; $('#IDExtraP').val(pan); $('#IDExtraB').val(bebida); $('#IDExtraC').val(data.especificos.lgCubiertos); //maxchecks que se han de seleccionar segun tipo de menu M(1) C(2) if(data.especificos.txtTipoMenu=='M'){ maxchecks=1; } else { maxchecks=2; } //Carga este ID con el valor obligado si es medio o completo el menu que se selecciona var isMedio = (data.especificos.txtTipoMenu=='M') ? 1 : 0; $('#is_medio').val(isMedio); //Handlers de calendar_on $('.calendar_on').on("click",function(){ //console.log(JSON.stringify(data)); 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 calendar_unique"); //añadimos al campo clase_calendar el dia que se ha escogido $('#clase_calendar').val($(this).attr("d")); //actuación $('#dtFechaEntrega').val(f); calendar_filled=1; acepta_condiciones(); //Mensaje var msg=''; if((f=='2020-12-24') || (f=='2020-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-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() var menuTA = data.especificos.nuPrecioCompleto; var menuMed_TA = data.especificos.nuPrecioMedio; console.log("Fecha:"+ fe +" Dia semana:"+ds+" Precios:" + menuTA+"/"+menuMed_TA); //Ponemos el precio base en el campo segun fecha $('#precio_base').val(menuTA); $('#precio_base_medio').val(menuMed_TA); 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) { if(data.no_empresa==1){ location.href= "https://restaurantlarambla.com/index.php/take-away/"; } 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); //Muestra si es Guest user el mensaje de que está en ese modo. if(data.especificos.lgGuest == "1"){ $('#isGuest').show(); //Cambia el estilo de una capa $('#select-platos-menu').css("background-color","#FFD"); $('#ciberpack').css("background-color","#FFD"); } //Tipo de Menu contratado $('#tipoMenu').val(data.especificos.txtTipoMenu); //tipoMenu = $('#tipoMenu').val(); //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; //Es un cliente de empresas, por lo que en el el id="container-calendar" de la página de menu, ha de cargar el calendario disponible //Acorde con lo que ha pedido el subcliente (esa semana) y la imitación de días que ese subcliente puede pedir menu. load_calendar(); //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); } },3000); } } else { $('#msg-login').html("
"+data.msg+"
"); } }); }); //Parte de mi cuenta //arranque directo sin funciones var isGuest = 0; var isCustomer = 0; var renew = 0; if(isGuest==1){ $('#isGuest').show(); $('#select-platos-menu').css("background-color","#FFD"); $('#ciberpack').css("background-color","#FFD"); } 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]); }); //(PARCHE 4/5/22) añadimos checked al lgRecordatorioMenu si está activado if(data.user.lgRecordatorioMenu=="1"){ $('#lgRecordatorioMenu_profile').prop("checked",true); } }) //Nombre de bienvenida if(data.user.IDMain==0){ //Es la empresa $('#customer-name').text("Administrador de "+ data.user.txtEmpresa); } else { $('#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); }); } 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://restaurantlarambla.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; } }); } //Menus $('.btn-pedido').click(function(){ var idp = $(this).attr("pedido"); console.log(idp); $(".pedido_"+idp).toggle(); //"input[name='payment']" }); //Carga directa //Si está en los menus carga directo el calendario load_calendar(); 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 todo 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://reservas.restaurantelarambla.es/ta_facturas/larambla/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://reservas.restaurantelarambla.es/ta_facturas/larambla/facturas/"+data.fac; window.open(url, '_blank'); }); }); }); } $('#pest-factures').click(function(){ load_facturas(); }); //Delivery //Codigos de promoción $('[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; } } //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 $('#modify-worker').off("click"); $('#add-worker').off("click"); $('.del-subcuenta').off("click"); $('.edit-subcuenta').off("click"); $('.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; } }); //qodef switcher handler $('.cb-disable.actiu').click(function() { var parent = $(this).parents('.switch'); $('.cb-enable', parent).removeClass('selected'); $(this).addClass('selected'); $('.checkbox', parent).attr('checked', false); //$('.checkboxhidden_yesno', parent).val("0"); //lanzamos lgActivo a 0 para ese ID de trabajador var idc = $('#IDCliente').val(); $.ajax(path+'?option=set-activo&activo=0&idc='+idc) }); $('.cb-enable.actiu').click(function() { var parent = $(this).parents('.switch'); $('.cb-disable', parent).removeClass('selected'); $(this).addClass('selected'); $('.checkbox', parent).attr('checked', true); //$('.checkboxhidden_yesno', parent).val("1"); //lanzamos lgActivo a 0 para ese ID de trabajador var idc = $('#IDCliente').val(); $.ajax(path+'?option=set-activo&activo=1&idc='+idc) }); $('.cb-disable.isguest').click(function() { var parent = $(this).parents('.switch'); $('.cb-enable', parent).removeClass('selected'); $(this).addClass('selected'); //$('.checkbox', parent).attr('checked', false); $('#lgGuest').prop("checked",false); }); $('.cb-enable.isguest').click(function() { var parent = $(this).parents('.switch'); $('.cb-disable', parent).removeClass('selected'); $(this).addClass('selected'); //$('.checkbox', parent).attr('checked', true); $('#lgGuest').prop("checked",true); }); $('.cb-disable.isremember').click(function() { var parent = $(this).parents('.switch'); $('.cb-enable', parent).removeClass('selected'); $(this).addClass('selected'); //$('.checkbox', parent).attr('checked', false); $('#lgRecordatorioMenu').prop("checked",false); }); $('.cb-enable.isremember').click(function() { var parent = $(this).parents('.switch'); $('.cb-disable', parent).removeClass('selected'); $(this).addClass('selected'); //$('.checkbox', parent).attr('checked', true); $('#lgRecordatorioMenu').prop("checked",true); }); $('.edit-subcuenta').click(function(){ //Desplazarse a la zona de edición $('html, body').animate({ scrollTop: $("#ficha-trabajador").offset().top }, 500); var id = $(this).attr("dataid"); $.getJSON(path+"?option=edit-subcuenta&id="+id) .done(function(data){ //Carga los campos de data en cafa uno de los campos del form $('.subcuenta').each(function(){ var campo = $(this).attr("id"); console.log(campo+":"+data[campo]); $('#'+campo).val(data[campo]); }); //Variante para los días de la semana hábiles para pedir menu var dias = "0,"+data.txtDias; for(var i=1;i <= 7;i++){ var campoid = "d"+i; if(dias.indexOf(i) >= 0){ $('#d'+i).prop("checked",true); } else { $('#d'+i).prop("checked",false); } } //Excepcion de lgGuest if(data.lgGuest=="1"){ $('#lgGuest').prop("checked",true); $('.cb-enable.isguest').addClass('selected'); $('.cb-disable.isguest').removeClass('selected'); } else { $('#lgGuest').prop("checked",false); $('.cb-disable.isguest').addClass('selected'); $('.cb-enable.isguest').removeClass('selected'); } //Activo o no if(data.lgActivo=="1"){ $('.cb-enable.actiu').addClass('selected'); $('.cb-disable.actiu').removeClass('selected'); } else { $('.cb-disable.actiu').addClass('selected'); $('.cb-enable.actiu').removeClass('selected'); } //Recordatorio menu dia siguiente //Excepcion de lgRecordatorioMenu if(data.lgRecordatorioMenu=="1"){ $('#lgRecordatorioMenu').prop("checked",true); $('.cb-enable.isremember').addClass('selected'); $('.cb-disable.isremember').removeClass('selected'); } else { $('#lgRecordatorioMenu').prop("checked",false); $('.cb-disable.isremember').addClass('selected'); $('.cb-enable.isremember').removeClass('selected'); } }); $('#add-worker').attr("accion","modify"); $('#worker-text-button').text("Gravar dades"); $('#worker-text-icon').removeClass("fa-plus-circle"); $('#worker-text-icon').addClass("fa-pencil-square-o"); }); $('#add-worker').click(function(){ var accion = $(this).attr("accion") if(accion=='add'){ $.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); $('#form-trabajadores').trigger("reset"); cargaSubCuentas(); },'json'); } else { //es modify $.post(path+'?option=modify-worker',$('#form-trabajadores').serialize()) .done(function(d){ data = JSON.parse(d); //Done devolviendo JSON de estado de la modificación. 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); console.log("INITIALIZE"); //Inicializamos formulario $('#form-trabajadores').trigger("reset"); //Cambiamos el aspecto del botón $('#worker-text-button').text("Afegir empleat"); $('#worker-text-icon').removeClass("fa-pencil-square-o"); $('#worker-text-icon').addClass("fa-plus-circle"); $('#add-worker').attr("accion","add"); cargaSubCuentas(); }); } }) }); } btn_edita_menu(); //LLAMADA DIRECTA function btn_edita_menu(){ $('.btn-edita-menu').off("click"); $('.btn-edita-menu').click(function(){ var menu = $(this).attr("menu"); if ($('.form-menu[menu="'+menu+'"]').is(':visible')) { $('.form-menu[menu="'+menu+'"]').html(""); $('.form-menu[menu="'+menu+'"]').hide(); } else { $.getJSON(path+'?option=carga-menu-edit&menu='+menu) .done(function(data){ //Handlers de submit menu, etc... $('.form-menu[menu="'+menu+'"]').html(data.tabla); $('.form-menu[menu="'+menu+'"]').show(); btn_edita_menu(); $('.btn-valida-edicion-menu').click(function(){ var menu = $(this).attr("menu"); //var p1 = $('.IDPlato1').val(); var p1 = $('input[name="IDPlato1"]:checked').val(); var p2 = $('input[name="IDPlato2"]:checked').val(); var pp = $('input[name="IDPlatoP"]:checked').val(); console.log(p1); var msg = ""; if ((p1==undefined) || (p2==undefined) || (pp==undefined)) { msg = "

Error, s'han de omplir els tres plats

"; } else { msg = "

Dades validades correctament

" $.getJSON(path+'?option=modifica-platos-menu&p1='+p1+'&p2='+p2+'&pp='+pp+'&menu='+menu) .done(function(data){ console.log(data.prim); //Carga los platos una vez submitted como los pedidos. $('#plato1_text').html(data.prim); $('#plato2_text').html(data.sec); $('#platoP_text').html(data.postre); $('button[detalle="'+menu+'"]').attr("title",data.detalle_menu); }); } $('#mensaje-status').html(msg); }); }); } }) } //Detalle de facturas en mi cuenta empresas $('.detalle-factura').click(function(){ var factura = $(this).attr("factura"); $('.container-detalle-factura[factura="'+factura+'"]').toggle(); $('.container-detalle-factura[factura="'+factura+'"]').load(path+"?option=load-detalle-factura&factura="+factura, function(){ //Handlers de load factura, si los hay }); }) cargaSubCuentas(); $('#generate-pass').click(function(){ $.ajax(path+"?option=gen-pass") .done(function(data){ $('#txtPassMD5_sub').val(data); }); }); $('.mayusc').on("keypress",function(){ $input=$(this); setTimeout(function () { $input.val($input.val().toUpperCase()); },50); }); $('#pay-monedero').click(function(){ pay_monedero(); }); }); //$(document).ready }); //jQuery(function ($)