|
|
@@ -14,20 +14,21 @@ $(document).ready(function() { |
|
|
// Add Class for Promotion Modal Box |
|
|
// Add Class for Promotion Modal Box |
|
|
if ($(".swag-custom-notification-info-modal__content").length) { |
|
|
if ($(".swag-custom-notification-info-modal__content").length) { |
|
|
$(".swag-custom-notification-info-modal__content").parents(".modal").addClass("spwn-swag-custom-notification-info"); |
|
|
$(".swag-custom-notification-info-modal__content").parents(".modal").addClass("spwn-swag-custom-notification-info"); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
let dpInput = $(".confirm-delivery-date #dtgs-datepicker-inputfield"); |
|
|
let dpInput = $(".confirm-delivery-date #dtgs-datepicker-inputfield"); |
|
|
if (dpInput.length) { |
|
|
if (dpInput.length) { |
|
|
fp = document.querySelector("#dtgs-datepicker-inputfield")._flatpickr; |
|
|
fp = document.querySelector("#dtgs-datepicker-inputfield")._flatpickr; |
|
|
dpInput.prop('disabled', true); |
|
|
dpInput.prop('disabled', true); |
|
|
dpInput.wrap('<div class="spwn-date-wrapper"></div>'); |
|
|
dpInput.wrap('<div class="spwn-date-wrapper"></div>'); |
|
|
$("<span id='spwn-remove-date' title='Zurücksetzen'></span>").insertAfter(dpInput); |
|
|
$("<span id='spwn-remove-date' title='Zurücksetzen'></span>").insertAfter(dpInput); |
|
|
|
|
|
$("<input type='text' value='' id='spwn-dp-input' disabled='disabled' />").insertAfter(dpInput); |
|
|
let doNotShow = $(".do-not-show").length ? " class='do-not-show'" : ""; |
|
|
let doNotShow = $(".do-not-show").length ? " class='do-not-show'" : ""; |
|
|
$("<div id='spwn-delivery'" + doNotShow + "><p></p><div class='spwn-delivery--time'></div></div>").insertAfter(".confirm-delivery-date"); |
|
|
$("<div id='spwn-delivery'" + doNotShow + "><p></p><div class='spwn-delivery--time'></div></div>").insertAfter(".confirm-delivery-date"); |
|
|
fp.config.onChange.push(function() { |
|
|
fp.config.onChange.push(function() { |
|
|
manipulateDateInputValue(); |
|
|
manipulateDateInputValue(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// If Austria and same day delivery is checked change to DPD |
|
|
// If Austria and same day delivery is checked change to DPD |
|
|
if ($(".confirm-address-shipping").data("iso") === "AT") { |
|
|
if ($(".confirm-address-shipping").data("iso") === "AT") { |
|
|
inputDPD.attr('checked', true).trigger("click"); |
|
|
inputDPD.attr('checked', true).trigger("click"); |
|
|
@@ -36,22 +37,28 @@ $(document).ready(function() { |
|
|
// No shop |
|
|
// No shop |
|
|
inputShopPickup.parents(".shipping-method").hide(); |
|
|
inputShopPickup.parents(".shipping-method").hide(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Call changeDelivery |
|
|
// Call changeDelivery |
|
|
$("[name='shippingMethodId']").on('change', () => { |
|
|
$("[name='shippingMethodId']").on('change', () => { |
|
|
changeDelivery(fp); |
|
|
changeDelivery(fp); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
/* Set first selectable day selected */ |
|
|
|
|
|
|
|
|
|
|
|
spawnDateInputValue = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
|
|
|
/* Set first selectable day selected */ |
|
|
|
|
|
// remove hours |
|
|
|
|
|
if ($(".confirm-delivery-date #dtgs-datepicker-inputfield").val().indexOf(":") !== -1) { |
|
|
|
|
|
let inputTemp = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
spawnDateInputValue = inputTemp.substring(0, inputTemp.length - 6); |
|
|
|
|
|
} else { |
|
|
|
|
|
spawnDateInputValue = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
} |
|
|
if (spawnDateInputValue === '') { |
|
|
if (spawnDateInputValue === '') { |
|
|
setDateSelected(); |
|
|
setDateSelected(); |
|
|
} |
|
|
} |
|
|
|
|
|
$("body").find("#spwn-dp-input").val(spawnDateInputValue); |
|
|
|
|
|
|
|
|
changeDelivery(fp); |
|
|
changeDelivery(fp); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var sticky = $(".thumbnail-container"); |
|
|
var sticky = $(".thumbnail-container"); |
|
|
if (sticky.length) { |
|
|
if (sticky.length) { |
|
|
var parentContainer = sticky.parents(".aku-cms-factory-element"), |
|
|
var parentContainer = sticky.parents(".aku-cms-factory-element"), |
|
|
@@ -61,12 +68,13 @@ $(document).ready(function() { |
|
|
tagBar(sticky, parentContainer, stickyTop); |
|
|
tagBar(sticky, parentContainer, stickyTop); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("body").on("click", "#spwn-remove-date", function() { |
|
|
$("body").on("click", "#spwn-remove-date", function() { |
|
|
|
|
|
$(".confirm-delivery-date #spwn-dp-input").val(""); |
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val(""); |
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val(""); |
|
|
spawnDateInputValue = ""; |
|
|
spawnDateInputValue = ""; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Add smooth scrolling to all links |
|
|
// Add smooth scrolling to all links |
|
|
$(".thumbnail-container a").on('click', function(event) { |
|
|
$(".thumbnail-container a").on('click', function(event) { |
|
|
// Make sure this.hash has a value before overriding default behavior |
|
|
// Make sure this.hash has a value before overriding default behavior |
|
|
@@ -75,7 +83,7 @@ $(document).ready(function() { |
|
|
event.preventDefault(); |
|
|
event.preventDefault(); |
|
|
// Store hash |
|
|
// Store hash |
|
|
var hash = this.hash; |
|
|
var hash = this.hash; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var sTop = parseInt($(hash).offset().top - $(".header-inner").outerHeight() - 12); |
|
|
var sTop = parseInt($(hash).offset().top - $(".header-inner").outerHeight() - 12); |
|
|
scrollToPos(sTop, 800); |
|
|
scrollToPos(sTop, 800); |
|
|
window.location.hash = hash; |
|
|
window.location.hash = hash; |
|
|
@@ -93,14 +101,24 @@ function easeOutCuaic(t){ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function manipulateDateInputValue() { |
|
|
function manipulateDateInputValue() { |
|
|
spawnDateInputValue = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
|
|
|
console.log("manipulateDateInputValue"); |
|
|
|
|
|
// remove hours |
|
|
|
|
|
if ($(".confirm-delivery-date #dtgs-datepicker-inputfield").val().indexOf(":") !== -1) { |
|
|
|
|
|
let inputTemp = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
spawnDateInputValue = inputTemp.substring(0, inputTemp.length - 6); |
|
|
|
|
|
} else { |
|
|
|
|
|
spawnDateInputValue = $(".confirm-delivery-date #dtgs-datepicker-inputfield").val(); |
|
|
|
|
|
} |
|
|
if (inputSameDayDelivery.is(':checked')) { |
|
|
if (inputSameDayDelivery.is(':checked')) { |
|
|
// If same day delivery is checked, select time |
|
|
// If same day delivery is checked, select time |
|
|
$("#spwn-delivery .spwn-delivery--time span.active").trigger("click"); |
|
|
$("#spwn-delivery .spwn-delivery--time span.active").trigger("click"); |
|
|
|
|
|
} else { |
|
|
|
|
|
$("#spwn-dp-input").val(spawnDateInputValue); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function setDateSelected() { |
|
|
function setDateSelected() { |
|
|
|
|
|
console.log("setDateSelected"); |
|
|
let spwnFirstSelectableDay = $(".flatpickr-day:not(.flatpickr-disabled)").first().text(); |
|
|
let spwnFirstSelectableDay = $(".flatpickr-day:not(.flatpickr-disabled)").first().text(); |
|
|
let spwnFPdate = new Date(); |
|
|
let spwnFPdate = new Date(); |
|
|
let spwnDay = spwnFPdate.getDate(); |
|
|
let spwnDay = spwnFPdate.getDate(); |
|
|
@@ -117,13 +135,15 @@ function setDateSelected() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function changeDelivery(fp) { |
|
|
function changeDelivery(fp) { |
|
|
|
|
|
|
|
|
|
|
|
console.log("changeDelivery"); |
|
|
$("body").on("click", "#spwn-delivery .spwn-delivery--time span", function() { |
|
|
$("body").on("click", "#spwn-delivery .spwn-delivery--time span", function() { |
|
|
$("#spwn-delivery .spwn-delivery--time span").removeClass("active"); |
|
|
$("#spwn-delivery .spwn-delivery--time span").removeClass("active"); |
|
|
$(this).addClass("active"); |
|
|
$(this).addClass("active"); |
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val(spawnDateInputValue + " " + $(this).text()); |
|
|
|
|
|
|
|
|
$(".confirm-delivery-date #spwn-dp-input").val(spawnDateInputValue + " " + $(this).text()); |
|
|
|
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val(spawnDateInputValue + " " + $(this).attr('data-time')); |
|
|
|
|
|
$(".flatpickr-hour").val($(this).attr('data-hour')); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let daysToAdd = 0; |
|
|
let daysToAdd = 0; |
|
|
// if Vorkasse add 4 days |
|
|
// if Vorkasse add 4 days |
|
|
if (inputVorkasse.is(':checked')) { |
|
|
if (inputVorkasse.is(':checked')) { |
|
|
@@ -133,32 +153,37 @@ function changeDelivery(fp) { |
|
|
if (inputShopPickup.is(':checked')) { |
|
|
if (inputShopPickup.is(':checked')) { |
|
|
// Abholung im Ladengeschäft |
|
|
// Abholung im Ladengeschäft |
|
|
console.log("Abholung"); |
|
|
console.log("Abholung"); |
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val('Abholung im Ladengeschäft'); |
|
|
|
|
|
|
|
|
$(".confirm-delivery-date #spwn-dp-input").val('Abholung im Ladengeschäft'); |
|
|
|
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val('31.12.2050 04:00'); |
|
|
$(".confirm-delivery-date").hide(); |
|
|
$(".confirm-delivery-date").hide(); |
|
|
$("#spwn-delivery p").text("Die bestellten Produkte stehen zur Abholung in unserem Ladengeschäft in Hamburg für Sie bereit."); |
|
|
$("#spwn-delivery p").text("Die bestellten Produkte stehen zur Abholung in unserem Ladengeschäft in Hamburg für Sie bereit."); |
|
|
|
|
|
$(".flatpickr-hour").val('04'); |
|
|
} else if (inputSameDayDelivery.is(':checked')) { |
|
|
} else if (inputSameDayDelivery.is(':checked')) { |
|
|
// Abendzustellung |
|
|
// Abendzustellung |
|
|
console.log("Abendzustellung"); |
|
|
console.log("Abendzustellung"); |
|
|
$(".confirm-delivery-date #dtgs-datepicker-inputfield").val(''); |
|
|
|
|
|
spwnIncludedDays = [1, 2, 3, 4, 5]; |
|
|
|
|
|
|
|
|
// ONLY TUE AND THU |
|
|
|
|
|
spwnIncludedDays = [2, 4]; |
|
|
|
|
|
// spwnIncludedDays = [1, 2, 3, 4, 5]; |
|
|
if (daysToAdd === 0) { |
|
|
if (daysToAdd === 0) { |
|
|
daysToAdd = 0; |
|
|
daysToAdd = 0; |
|
|
} |
|
|
} |
|
|
setIncludedDays("evening", fp, daysToAdd); |
|
|
setIncludedDays("evening", fp, daysToAdd); |
|
|
$("#spwn-delivery p").text("Abendzustellung gewählt. Bitte wählen Sie nun eine Wunsch-Zeit:"); |
|
|
$("#spwn-delivery p").text("Abendzustellung gewählt. Bitte wählen Sie nun eine Wunsch-Zeit:"); |
|
|
$("#spwn-delivery .spwn-delivery--time").append("<span class='active'>18 - 20 Uhr</span><span>19 - 21 Uhr</span><span>20 - 22 Uhr</span>"); |
|
|
|
|
|
|
|
|
$("#spwn-delivery .spwn-delivery--time").append("<span class='active' data-time='18:00' data-hour='18'>18 - 20 Uhr</span><span data-time='19:00' data-hour='19'>19 - 21 Uhr</span><span data-time='20:00' data-hour='20'>20 - 22 Uhr</span>"); |
|
|
// If not date from DPD days |
|
|
// If not date from DPD days |
|
|
if (!$(".flatpickr-day").hasClass("selected")) { |
|
|
if (!$(".flatpickr-day").hasClass("selected")) { |
|
|
setDateSelected(); |
|
|
setDateSelected(); |
|
|
} |
|
|
} |
|
|
if ($(".flatpickr-day").hasClass("selected")) { |
|
|
if ($(".flatpickr-day").hasClass("selected")) { |
|
|
if (spawnDateInputValue === "" || spawnDateInputValue.indexOf("Uhr") === -1) { |
|
|
|
|
|
|
|
|
// || spawnDateInputValue.indexOf(":00") === -1 |
|
|
|
|
|
if (spawnDateInputValue === "") { |
|
|
manipulateDateInputValue(); |
|
|
manipulateDateInputValue(); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
// If DPD date is not in Abendzustellung range |
|
|
// If DPD date is not in Abendzustellung range |
|
|
setDateSelected(); |
|
|
setDateSelected(); |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
$("#spwn-delivery .spwn-delivery--time span.active").trigger("click"); |
|
|
} else { |
|
|
} else { |
|
|
// DPD |
|
|
// DPD |
|
|
console.log("DPD"); |
|
|
console.log("DPD"); |
|
|
@@ -177,6 +202,7 @@ function changeDelivery(fp) { |
|
|
// If Abendzustellung date is not in DPD range |
|
|
// If Abendzustellung date is not in DPD range |
|
|
setDateSelected(); |
|
|
setDateSelected(); |
|
|
} |
|
|
} |
|
|
|
|
|
$(".flatpickr-hour").val('01'); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
console.log("DPD AT"); |
|
|
console.log("DPD AT"); |
|
|
@@ -191,6 +217,7 @@ function changeDelivery(fp) { |
|
|
// If Abendzustellung or DPD DE date is not in DPD AT range |
|
|
// If Abendzustellung or DPD DE date is not in DPD AT range |
|
|
setDateSelected(); |
|
|
setDateSelected(); |
|
|
} |
|
|
} |
|
|
|
|
|
$(".flatpickr-hour").val('01'); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@@ -198,15 +225,18 @@ function setIncludedDays(delivery, fp, addDays) { |
|
|
// today |
|
|
// today |
|
|
let spwnDateTemp = new Date(); |
|
|
let spwnDateTemp = new Date(); |
|
|
spwnDateTemp.setDate(spwnDateTemp.getDate() + addDays); |
|
|
spwnDateTemp.setDate(spwnDateTemp.getDate() + addDays); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let spwnTime = parseInt((spwnDateTemp.getHours() < 10 ? '0' : '') + spwnDateTemp.getHours() + "" + (spwnDateTemp.getMinutes() < 10 ? '0' : '') + spwnDateTemp.getMinutes()); |
|
|
let spwnTime = parseInt((spwnDateTemp.getHours() < 10 ? '0' : '') + spwnDateTemp.getHours() + "" + (spwnDateTemp.getMinutes() < 10 ? '0' : '') + spwnDateTemp.getMinutes()); |
|
|
// If "evening" after 11am add one extra day or if "dpd" after 2pm add one extra day |
|
|
// If "evening" after 11am add one extra day or if "dpd" after 2pm add one extra day |
|
|
if ((delivery === "evening" && spwnTime > 1100) || (delivery === "dpd" && spwnTime > 1400)) { |
|
|
if ((delivery === "evening" && spwnTime > 1100) || (delivery === "dpd" && spwnTime > 1400)) { |
|
|
spwnDateTemp.setDate(spwnDateTemp.getDate() + 1); |
|
|
spwnDateTemp.setDate(spwnDateTemp.getDate() + 1); |
|
|
} |
|
|
} |
|
|
|
|
|
console.log(spwnDateTemp); |
|
|
let spwnDate = fp.formatDate(spwnDateTemp, "d.m.Y"); |
|
|
let spwnDate = fp.formatDate(spwnDateTemp, "d.m.Y"); |
|
|
fp.set("minDate", spwnDate); |
|
|
fp.set("minDate", spwnDate); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// fp.set("maxDate", new Date().fp_incr(21)); |
|
|
|
|
|
|
|
|
fp.set("enable", [ |
|
|
fp.set("enable", [ |
|
|
function(date) { |
|
|
function(date) { |
|
|
let day = date.getDate(); |
|
|
let day = date.getDate(); |
|
|
@@ -232,10 +262,10 @@ $.fn.isInViewport = function() { |
|
|
if ($(this).length) { |
|
|
if ($(this).length) { |
|
|
var elementTop = $(this).offset().top + 50; |
|
|
var elementTop = $(this).offset().top + 50; |
|
|
var elementBottom = elementTop + $(this).outerHeight(); |
|
|
var elementBottom = elementTop + $(this).outerHeight(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var viewportTop = $(window).scrollTop(); |
|
|
var viewportTop = $(window).scrollTop(); |
|
|
var viewportBottom = viewportTop + $(window).height(); |
|
|
var viewportBottom = viewportTop + $(window).height(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return elementBottom > viewportTop && elementTop < viewportBottom; |
|
|
return elementBottom > viewportTop && elementTop < viewportBottom; |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|