function nonWorkingDates(date){ var day = date.getDay(), Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6; var closedDates = [[12, 25, 2018], [12, 26, 2018], [1, 1, 2019], [1, 2, 2019], ]; /*var excepcionesDates = [[12, 24, 2018], [12, 31, 2018], ]; for (i = 0; i < excepcionesDates.length; i++) { if (date.getMonth() == excepcionesDates[i][0] - 1 && date.getDate() == excepcionesDates[i][1] && date.getFullYear() == excepcionesDates[i][2]) { return [true]; } } */ var closedDays = [[Sunday], [Monday]]; for (var i = 0; i < closedDays.length; i++) { if (day == closedDays[i][0]) { return [false]; } } for (i = 0; i < closedDates.length; i++) { if (date.getMonth() == closedDates[i][0] - 1 && date.getDate() == closedDates[i][1] && date.getFullYear() == closedDates[i][2]) { return [false]; } } return [true]; } function EntregaPedidos(date){ var day = date.getDay(); return [(day != 0 && day != 1), '']; }; // festivos var natDays = [ [10, 12, 'es'], // Pilarica [11, 1, 'es'], // Santos difuntos 2015 [12, 6, 'es'], // Constitución 2015 [12, 7, 'es'], // puente [12, 8, 'es'], // Concepción 2015 [12, 25, 'es'], // Navidad 2015 [12, 26, 'es'], // Navidad 2015 [1, 1, 'es'], // Año nuevo 2016 [1, 2, 'es'], // Año nuevo 2016 [1, 6, 'es'], // Reyes 2016 [3, 19, 'es'], // San José 2016 [3, 24, 'es'], // Jueves Santo 2016 [3, 25, 'es'], // Viernes Santo 2016 [5, 1, 'es'], // Trabajo 2016 [7, 25, 'es'], // Santiago Apostol 2016 [8, 15, 'es'], // Junquera 2016 ]; var dateMin = new Date(); var weekDays = AddBusinessDays(3); dateMin.setDate(dateMin.getDate() + weekDays); function AddBusinessDays(weekDaysToAdd) { var curdate = new Date(); var realDaysToAdd = 0; while (weekDaysToAdd > 0){ curdate.setDate(curdate.getDate()+1); realDaysToAdd++; //check if current day is business day if (noWeekendsOrHolidays(curdate)[0]) { weekDaysToAdd--; } } return realDaysToAdd; } function noWeekendsOrHolidays(date) { var noWeekend = $.datepicker.noWeekends(date); if (noWeekend[0]) { return nationalDays(date); } else { //return noWeekend; return EntregaPedidos(date); } } function nationalDays(date) { for (i = 0; i < natDays.length; i++) { if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1]) { return [false, natDays[i][2] + '_day']; } } return [true, '']; } // españolizando el datapicker... $.datepicker.regional['es'] = { closeText: 'Cerrar', currentText: 'Hoy', monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'], dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'], dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'], dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'], weekHeader: 'Sm', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: '' }; $.datepicker.setDefaults($.datepicker.regional['es']); $(document).ready(function(){ $('input[name="precio"]:radio').change(function(){ // cambiar el precio $('.precio-unitario').text(this.value); $('.precio-unitario1').text(this.value); $('.tarifa_nombre').text($(this).attr("nombre")); $('.tarifa_id').text($(this).attr("id_tarifa")); // recalcular $('.total').text(parseFloat($('.precio-unitario').text() * $('#cantidad').val()).toFixed(2)); return false; }); $('#min').click(function(){ //Solo si el valor del campo es diferente de 1 if ($('#cantidad').val() != 1) { //Decrementamos su valor $('#cantidad').val(parseInt($('#cantidad').val()) - 1); //Precio $('.total').text(parseFloat($('.precio-unitario').text() * $('#cantidad').val()).toFixed(2)); //alert($('.total').text()); } return false; }); $('#plus').click(function(){ //if (parseInt($('#cantidad').val()) < parseInt($('.unidades-disponibles').text())) { //Aumentamos el valor del campo $('#cantidad').val(parseInt($('#cantidad').val()) + 1); $('.total').text(parseFloat($('.precio-unitario').text() * $('#cantidad').val()).toFixed(2)); //} //alert($('.total').text()); return false; }); var date = new Date(); $("#fechaentrega").datepicker({ minDate: 1, //maxDate: '+2w', maxDate: '+5d', //changeMonth: false, //changeYear: false, //numberOfMonths: 1, prevText: '', nextText: '', showButtonPanel: false, dateFormat: "dd/mm/yy", //el formato de fecha es día/mes/año (ej.: 23/10/2012) constrainInput: true, //La entrada debe cumplir con el formato beforeShowDay: nonWorkingDates, }); if (date.getHours() >= 10) { date.setDate(date.getDate() + 2); $( "#fechaentrega" ).datepicker( "option", "minDate", date); } $("#seleccionar-envio").live("change", function() { if ($("#fechaentrega").val() == "") { alert('Seleccione la fecha de entrega deseada, por favor'); return false; } $.blockUI(); // abrir loader $.ajax({ type: 'POST', cache: false, dataType: "json", beforeSend: function(x) { if(x && x.overrideMimeType) { x.overrideMimeType("application/json;charset=UTF-8"); } }, url : AJ_HOST+'js/ajax/js-envio.php', data: { seleccionar_envio: $(this).val(), fecha_entrega: $("#fechaentrega").val()}, success : function (data) { $.unblockUI(); // cerrar loader location.reload(true); }, error : function (data) { alert('Error de llamada AJAX: '+data);return false; } }); return false; }); $('#addcarrito').click(function(){ $.blockUI(); // abrir loader var vivococido = $('input[name="vivococido"]:radio:checked').val(); if (typeof vivococido === 'undefined') vivococido = 0; $.ajax({ type: 'POST', cache: false, dataType: "json", beforeSend: function(x) { if(x && x.overrideMimeType) { x.overrideMimeType("application/json;charset=UTF-8"); } }, url : AJ_HOST+'js/ajax/js-addcarrito.php', data: { id_producto: $('.id_producto').text(), imagen_cesta: $('.imagen-cesta').text(), producto: $('.nombre_producto').text(), referencia: $('.referencia').text(), cantidad: $('#cantidad').val(), precio: $('.precio-unitario').text(), peso: $('.peso').text(), tarifa_nombre: $('.tarifa_nombre').text(), tarifa_id: $('.tarifa_id').text(), cocido: vivococido}, success : function (data) { if (data) { /*/ $.each(data,function(index, value) { if (value != '') { alert("ID " + data[index].id_producto); alert("PRODUCTO " + data[index].producto); alert("REFERENCIA " + data[index].referencia); alert("CANTIDAD " + data[index].cantidad); alert("PRECIO " + data[index].precio); } }); */ // numero de elementos array //alert(data.length); if (data.length > 1) { $('.num_productos').text(data.length + " productos"); } else if (data.length == 1) { $('.num_productos').text("1 producto"); } else { $('.num_productos').text("No hay productos"); } $.unblockUI(); // cerrar loader alert('Se añade '+ $('#cantidad').val() +' unidad/es del producto '+$('.nombre_producto').text()+' ('+$('.tarifa_nombre').text()+') en la cesta :-)'); $('input:radio[name="precio"][id=tarifa_precio0]').prop('checked', true); location.reload(true); } else { } }, error : function (data) { alert('Error de llamada AJAX: '+data);return false; } }); return false; }); });