jQuery(function($) { let mx_predefined_days = {"predefined_free_days":"2024-04-23,2024-05-01,2024-05-03,2024-05-06,2024-05-30"}; let mx_days_tab = {"monday":"1","tuesday":"1","wednesday":"1","thursday":"1","friday":"1","saturday":"0","sunday":"0"}; let mx_shippings_config = {"shippings_config_active":"0","shippings_config":"10","enable_shipping_hours":"0","shipping_hours":"","shippings_mode_active":"1","available_shippings":"15, 23, 26, 20, 21, 30, 32","enable_new_shippings":"0","new_shippings_ids":"{\"monday\":\"15, 23, 26, 20, 21, 30, 32\",\"tuesday\":\"15, 23, 26, 20, 21, 30, 32\",\"wednesday\":\"15, 23, 26, 20, 21, 30, 32\",\"thursday\":\"15, 23, 26, 20, 21, 30, 32\",\"friday\":\"15, 23, 26, 20, 21, 30, 32\",\"saturday\":\"30, 32\",\"sunday\":\"\"}","min_delay":"36"}; let mx_additionalFields = {"date_field":"21","hour_field":"22"}; let mx_translations ={"delivery_date":{"__default":"Wybierz termin dostawy","pl_PL":"Wybierz termin dostawy"},"monday":{"__default":"Poniedzia\u0142ek","pl_PL":"Poniedzia\u0142ek"},"tuesday":{"__default":"Wtorek","pl_PL":"Wtorek"},"wednesday":{"__default":"\u015aroda","pl_PL":"\u015aroda"},"thursday":{"__default":"Czwartek","pl_PL":"Czwartek"},"friday":{"__default":"Pi\u0105tek","pl_PL":"Pi\u0105tek"},"saturday":{"__default":"Sobota","pl_PL":"Sobota"},"sunday":{"__default":"Niedziela","pl_PL":"Niedziela"},"available":{"__default":"Dost\u0119pny","pl_PL":"Dost\u0119pny"},"not_available":{"__default":"Niedost\u0119pny","pl_PL":"Niedost\u0119pny"},"delivery_hour":{"__default":"Wybierz preferowan\u0105 godzin\u0119 dostawy","pl_PL":"Wybierz preferowan\u0105 godzin\u0119 dostawy"},"go_back":{"__default":"Wr\u00f3\u0107 do koszyka","pl_PL":"Wr\u00f3\u0107 do koszyka"},"order":{"__default":"Przejd\u017a dalej","pl_PL":"Przejd\u017a dalej"}}; function getTranslation(var_name,current_lang=Shop.lang.name){ if(!(current_lang in mx_translations[var_name])){ translation = mx_translations[var_name]['__default']; }else{ translation = mx_translations[var_name][current_lang]; } return translation; } // console.log(mx_shippings_config); var link_css = document.createElement("link"); link_css.href = "https://mxapp4.maxserver.pl/privAppFloweroseKalendarz/css_code.css"; link_css.type = "text/css"; link_css.rel = "stylesheet"; document.getElementsByTagName("head")[0].appendChild(link_css); var script_slick = document.createElement("script"); script_slick.src = "https://mxapp4.maxserver.pl/privAppFloweroseKalendarz/scripts/slick.min.js"; script_slick.type = "text/javascript"; document.getElementsByTagName("head")[0].appendChild(script_slick); var link_slick = document.createElement("link"); link_slick.href = "https://mxapp4.maxserver.pl/privAppFloweroseKalendarz/scripts/slick.css"; link_slick.type = "text/css"; link_slick.rel = "stylesheet"; document.getElementsByTagName("head")[0].appendChild(link_slick); $(document).ready(function() { let mx_canceled_days = []; for(mx_day in mx_days_tab) { if(mx_days_tab[mx_day] == 0) { let mx_day_val = 0; if (mx_day == 'monday') { mx_day_val = 1; } else if(mx_day == 'tuesday') { mx_day_val = 2; } else if(mx_day == 'wednesday') { mx_day_val = 3; } else if(mx_day == 'thursday') { mx_day_val = 4; } else if(mx_day == 'friday') { mx_day_val = 5; } else if(mx_day == 'saturday') { mx_day_val = 6; } else if(mx_day == 'sunday') { mx_day_val = 0; } mx_canceled_days.push(mx_day_val); } } const formatDate = (date) => { var date = new Date(date); var year = (date.getFullYear()).toString(); var month = (date.getMonth() + 1).toString(); var day = (date.getDate()).toString(); if (month.length < 2) { month = "0" + month; } if (day.length < 2) { day = "0" + day; } return [day, month, year].join('.'); } const getDayName = (date) => { var dayOfTheWeek = date.getDay(); switch (dayOfTheWeek) { case 0: return getTranslation("sunday"); break; case 1: return getTranslation("monday"); break; case 2: return getTranslation("tuesday"); break; case 3: return getTranslation("wednesday"); break; case 4: return getTranslation("thursday"); break; case 5: return getTranslation("friday"); break; case 6: return getTranslation("saturday"); break; default: console.warn("Błędny dzień tygodnia: "+dayOfTheWeek); } } function modGetDayName(date = new Date(), locale = 'en-US') { return date.toLocaleDateString(locale, {weekday: 'long'}); } if ($('body').hasClass('shop_basket')) { let all_shippings = {}; $(".delivery-container .delivery").each(function() { let currentDelivery = $(this); let delivery_id = currentDelivery.find('input').val(); let delivery_name = currentDelivery.find('span.name > label').text(); all_shippings[delivery_id] = delivery_name; }); // console.log(all_shippings); var delay = parseInt(mx_shippings_config.min_delay); var mx_predefined_arr = mx_predefined_days['predefined_free_days'].split(','); for (let index in mx_predefined_arr) { var date = mx_predefined_arr[index].split('-'); mx_predefined_arr[index] = date[2] + "." + date[1] + "." + date[0]; } let flag_popup_generated = false; $("#cart-options .buttons button.order").on('click', function(event) { var chosen_shippingID = parseInt($(".delivery.selected").find('input').val()); if (!mx_shippings_config.available_shippings.includes(chosen_shippingID)) { $("#box_basketlist form").trigger('submit'); return false; } event.preventDefault(); if (!flag_popup_generated) { let popup_html = "
"; popup_html += "
"; popup_html += ""; popup_html += "
"; popup_html += "

"+getTranslation("delivery_date")+"

"; popup_html += "
"; var today = new Date(); if (window.location.href.includes('mx_test')) { // today = new Date(2022, 5, 20, 12, 0, 0); // console.log(`teraz jest: ${today}`); } var date = today.getDate(); var day = today.getDay(); if (mx_canceled_days.includes(day)) { delay = 24; } var hours = today.getHours(); var date_delayed = new Date(today.getTime() + 1000*60*60*delay); // console.log(`minimalna data spełniająca warunek: ${date_delayed}`); for (let i = 0; i <= 30; i++) { var next_day = new Date(today.getTime() + 1000*60*60*24*i); next_day.setHours(23, 59, 59, 0); // console.log(`pętla; kolejny dzień: ${next_day}`); var next_day_formatted = formatDate(next_day); var dayOfTheWeek = getDayName(next_day); let available_day = true; if ((mx_predefined_arr.includes(next_day_formatted) || mx_canceled_days.includes(next_day.getDay())) || (date_delayed.getTime() > next_day.getTime())) //todo max orders per day { if (mx_predefined_arr.includes(next_day_formatted)) { // console.log("niedostępny; data wyłączona"); } else if (mx_canceled_days.includes(next_day.getDay())) { // console.log("niedostępny: dzień wyłączony"); } else if (date_delayed.getTime() > next_day.getTime()) { // console.log("niedostępny: czas opóźnienia wyższy niż data"); } available_day = false; if (mx_canceled_days.includes(next_day.getDay())) { // console.log(`weekend, zwiększanie opóźnienia o 1 dzień`); date_delayed = new Date(date_delayed.getTime() + 1000*60*60*24); // console.log(`nowa minimalna data spełniająca warunek: ${date_delayed}`); } } if (parseInt(mx_shippings_config.enable_new_shippings)) { let currentDay_name = modGetDayName(next_day).toLowerCase(); var mod_shippings = JSON.parse(mx_shippings_config.new_shippings_ids); let shippings_per_day = mod_shippings[currentDay_name].replace(' ', '').split(','); shippings_per_day = shippings_per_day.map(string => { return string.trim(); }); if (shippings_per_day.length) { if (!shippings_per_day.includes(chosen_shippingID.toString())) { available_day = false; } } } popup_html += "
"; popup_html += "
"; popup_html += "
"; popup_html += "

"+dayOfTheWeek+"

"; popup_html += "

"+next_day_formatted+"

"; popup_html += "
"; popup_html += "

"+(!available_day ? getTranslation("not_available") : getTranslation("available"))+"

"; popup_html += "
"; popup_html += ""; popup_html += ""; popup_html += ""; popup_html += ""; popup_html += "
"; popup_html += "
"; popup_html += "
"; } popup_html += "
"; popup_html += "
"; if (mx_shippings_config.enable_shipping_hours && mx_shippings_config.shipping_hours.length) { popup_html += "
"; popup_html += "

"+getTranslation("delivery_hour")+":

"; popup_html += ""; popup_html += "
"; } if (parseInt(mx_shippings_config.enable_new_shippings)) { popup_html += "
"; popup_html += "

Dostępne formy dostawy dla danego dnia tygodnia

"; popup_html += "
"; for (let day_name in mod_shippings) { let shippings_per_day = mod_shippings[day_name]; let shippings_per_day_formated = shippings_per_day.length ? shippings_per_day.split(',') : "Brak dostępnych dostaw dla tego dnia."; let day_name_translation = getTranslation(day_name); popup_html += "
"; popup_html += `
${day_name_translation}
`; popup_html += "
"; if (typeof shippings_per_day_formated === "string") { popup_html += `${shippings_per_day_formated}`; } else { popup_html += "

"; let shippings_counter = 0; for (let shipping_id of shippings_per_day_formated) { shipping_id = shipping_id.trim(); if (!Object.keys(all_shippings).includes(shipping_id)) { continue; } shippings_counter++; let shipping_name = all_shippings[parseInt(shipping_id)]; popup_html += shipping_name + "
"; } if (shippings_counter == 0) { popup_html += "Brak dostępnych dostaw dla tego dnia."; } popup_html += "

"; } popup_html += "
"; popup_html += "
"; } popup_html += "
"; popup_html += "
"; } popup_html += "
"; popup_html += ""; popup_html += ""; popup_html += "
"; popup_html += "
"; popup_html += "
"; $("#shoper-foot").after(popup_html); $(".mx-popup").on('click', 'i.fa-times, button.back', function() { $(".mx-popup").fadeOut(500); }); $(".mx-popup").on('click', '.calendar-day-inner', function() { $(".calendar-day-inner").removeClass('selected').find('input').removeAttr('checked'); $(this).addClass('selected').find('input').prop('checked', true).trigger('change'); }); $(".mx-popup").on('click', 'button.order', function() { if (!$(".mx-popup").find('.calendar-day-inner.selected').length) { return false; } var selected_time = $(".mx-popup .calendar-day-inner.selected").attr('data-day'); localStorage.setItem('mx_selected-delivery-time', selected_time); if ($(".mx-popup .time-select").length) { var selected_hour = $(".mx-popup .time-select select").val(); localStorage.setItem('mx_selected-delivery-hour', selected_hour); } $("#box_basketlist form").trigger('submit'); }); flag_popup_generated = true; } $(".mx-popup").css('display', 'flex').hide().fadeIn(500).find('.calendar__list:not(.slick-initialized)').slick({ autoplay: false, prevArrow: "", nextArrow: "", infinite: false, speed: 500, slidesToShow: 5, slidesToScroll: 1, responsive: [ { breakpoint: 767, settings: { slidesToShow: 3 } }, { breakpoint: 500, settings: { slidesToShow: 2 } }, { breakpoint: 400, settings: { slidesToShow: 1 } } ] }); }); } else if($('body').hasClass('shop_basket_address')) { var date_additionalField_ID = parseInt(mx_additionalFields.date_field); var hour_additionalField_ID = parseInt(mx_additionalFields.hour_field); $('#additional_' + date_additionalField_ID).val(localStorage.getItem("mx_selected-delivery-time")); if (localStorage.getItem('mx_selected-delivery-hour')) { $('#additional_' + hour_additionalField_ID).val(localStorage.getItem('mx_selected-delivery-hour')); } else { $('#additional_' + hour_additionalField_ID).val('Nie wybrano'); } } }); });