+
Lista ${methodName}
+
Wybierz z ${methodName}
+
`;
}
// Przygotowanie html dla metod dostaw
function prepareDeliveryMarkup(method, deliveryId){
- // Zapisanie do listy dostaw z mapą
- if (method.pickuppoint === "y" && !deliveryPickupPoints.includes(method.id)) deliveryPickupPoints.push(method.id);
- const cost = Number(method.cost) === 0 ?
: method.cost_formatted;
- const disabled = method.minworthreached === "false" ? 'disabled="disabled"' : "";
- const avaliableFrom = disabled ? '
' + `${ }: ` + method.minworthtest_formatted + " " : "";
- const ifChecked = deliveryId === `item_${method.id}`;
-
- // Obliczenie daty dostawy
- let date = new Date();
- date.setDate(date.getDate()+method.time);
- const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", ".");
-
- // Uzupełnienie markupa dla metod dostaw dvp
- return `
-
-
-
+// Zapisanie do listy dostaw z mapą
+if (method.courier.pickupPoint === true && !deliveryPickupPoints.includes(method.courier.fullId)) deliveryPickupPoints.push(method.courier.fullId);
+const cost = Number(method.cost.value) === 0 ?
: method.cost.formatted;
+const disabled = method.minworthReached === false ? 'disabled="disabled"' : "";
+const avaliableFrom = disabled ? '
' + `${ }: ` + method.minworth.formatted + " " : "";
+const ifChecked = deliveryId === `item_${method.courier.fullId}`;
+
+// Obliczenie daty dostawy
+let date = new Date();
+date.setDate(date.getDate() + method.deliveryTime.time.days);
+const deliveryDate = date.toLocaleDateString('en-GB').replaceAll("/", ".");
+
+// Uzupełnienie markupa dla metod dostaw dvp
+return `
+
+
+
+
+
+
+ ${method.courier.name}
+ ${avaliableFrom}
-
-
- ${method.name}
- ${avaliableFrom}
-
-
? `cost_free` :""}">${cost}
-
-
- ${ }:
- ${orderTxt[`shipping${parseInt(method.week_day)}`]} ${deliveryDate}
-
- ${method.pickuppoint === "y" ? `
` : ""}
- `;
+
? `cost_free` :""}">${cost}
+
+
+ ${ }:
+ ${orderTxt[`shipping${parseInt(method.deliveryTime.weekDay)}`]} ${deliveryDate}
+
+ ${method.pickupPoint === true ? `
` : ""}
+ `;
}
// Sprawdź czy poprzedni punkt odbioru dalej istnieje
const SEARCH_PICKUP_POINTS_QUERY = (searchPickupPointsInput) => JSON.stringify({
- query: `query {
- searchPickupPoints(${searchPickupPointsInput}) {
- data
- gps {
- latitude
- longitude
- }
+ query: `query {
+ searchPickupPoints(${searchPickupPointsInput}) {
+ data
+ gps {
+ latitude
+ longitude
}
- }`,
- })
-async function checkPrevPickupPoint(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId){
- if(!name || !city || !zipcode) return false;
- // Pobranie punktów z tym samym id co poprzedni
- app_shop.fn.ajaxLoadSite(1)
- const resultData = await fetchData({
- data: SEARCH_PICKUP_POINTS_QUERY(`
- SearchPickupPointsInput: {
- shippingId: ${courierId},
- query: "${deliveryPointId}",
- cashOnDelivery: false,
}
- `),
- linkParameter: "?query=searchPickupPoints",
- });
- app_shop.fn.ajaxLoadSite(0);
- if(resultData?.error?.message) return false;
-
- // Sprawdzenie czy poprzedni punkt dalej istnieje
- let pointExists = false;
- resultData.data.searchPickupPoints.forEach(point => {
- if(point.data.includes(deliveryPointId)) pointExists = true;
+ }`,
})
- // Utworzenie nowego punktu odbioru
- if(pointExists) createPickuppointInfo(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId);
- return pointExists;
+async function checkPrevPickupPoint(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId){
+if(!name || !city || !zipcode) return false;
+// Pobranie punktów z tym samym id co poprzedni
+app_shop.fn.ajaxLoadSite(1)
+const resultData = await fetchData({
+ data: SEARCH_PICKUP_POINTS_QUERY(`
+ SearchPickupPointsInput: {
+ shippingId: ${courierId},
+ query: "${deliveryPointId}",
+ cashOnDelivery: false,
+ }
+ `),
+ linkParameter: "?query=searchPickupPoints",
+ });
+app_shop.fn.ajaxLoadSite(0);
+if(resultData?.error?.message) return false;
+
+// Sprawdzenie czy poprzedni punkt dalej istnieje
+let pointExists = false;
+resultData.data.searchPickupPoints.forEach(point => {
+ if(point.data.includes(deliveryPointId)) pointExists = true;
+})
+// Utworzenie nowego punktu odbioru
+if(pointExists) createPickuppointInfo(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId);
+return pointExists;
}
// Obsługa kliknięć na dostawy i metody płatności
let prevPayment;
let prevShipping;
function checkPrevShipping(){
- if(prevShipping){
- prevShipping.checked=true;
- changeCurrentShippingInfo(prevShipping);
- }
+if(prevShipping){
+ prevShipping.checked=true;
+ changeCurrentShippingInfo(prevShipping);
+}
}
// Przeliczenie kosztu i czasu dostawy i zapisanie nowej metody dostawy
function changeCurrentShippingInfo(shippingMethod){
- calculateBasketCost();
- calculateDeliveryDate(shippingMethod.value, shippingMethod.dataset.delivery, shippingMethod.dataset.pickuppoint);
- app_shop.vars.checkedShipping = shippingMethod.value;
+calculateBasketCost();
+calculateDeliveryDate(shippingMethod.value, shippingMethod.dataset.delivery, shippingMethod.dataset.pickuppoint);
+app_shop.vars.checkedShipping = shippingMethod.value;
}
document.getElementById("bm-oscop-section2").addEventListener("click", e => {
- // Kliknięcie na dostawe
- if(e.target.name === "shipping"){
- // Wyczyszczenie wszystkich zaznaczonych punktów odbioru
- clearSelectedPoints();
+// Kliknięcie na dostawe
+if(e.target.name === "shipping"){
+ // Wyczyszczenie wszystkich zaznaczonych punktów odbioru
+ clearSelectedPoints();
+
+ // Nie robienie niczego jeśli kliknąłeś na ten sam element
+ if(app_shop.vars.checkedShipping === e.target.value) return;
+ if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);});
+
+ // Zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru
+ if(e.target.dataset.pickuppoint === "n"){
+ prevShipping=e.target;
- // Nie robienie niczego jeśli kliknąłeś na ten sam element
- if(app_shop.vars.checkedShipping === e.target.value) return;
- if(e.target.dataset.working_days) e.target.dataset.working_days.split("#").map(function (e) {return parseInt(e, 10);});
-
- // Zapisanie jako poprzednia metoda płatności jeśli nie wymaga wyboru punktu odbioru
- if(e.target.dataset.pickuppoint === "n"){
- prevShipping=e.target;
-
- // Przeliczenie kosztu dostawy i czasu dostawy
- changeCurrentShippingInfo(e.target);
- }
+ // Przeliczenie kosztu dostawy i czasu dostawy
+ changeCurrentShippingInfo(e.target);
+ }
+ return;
+}
+
+// Kliknięcie na płatność
+if(e.target.name === "payform_id"){
+ // Usunięcie klona poprzedniego przelewu online/ karty płatniczej
+ removePrevClone();
+
+ // Wyskakujące okienko od vouchera
+ if(e.target.value === "2" && (e.target.parentElement.querySelector(".voucher-value") && e.target.parentElement.querySelector(".voucher-value").style.display === "none")) {
+ app_shop.fn.voucherModal = new Modal({
+ element: $(".order__voucher_container"),
+ classList: "--fade-in-modal",
+ afterShow: () => {
+ disablePageScroll();
+ document.getElementById("order_voucher_id").addEventListener("keydown", handleClickVoucherEnter);
+ document.querySelector(".order__voucher_button").addEventListener("click", handleClickVoucherSubmit);
+ },
+ beforeClose: () => {
+ enablePageScroll();
+ document.getElementById("order_voucher_id").removeEventListener("keydown", handleClickVoucherEnter);
+ document.querySelector(".order__voucher_button").removeEventListener("click", handleClickVoucherSubmit);
+
+ // Odznacz/Zaznacz poprzedzni jeśli użytkownik nie podał poprawnego kodu
+ if(e.target.parentElement.querySelector(".voucher-value").style.display === "none"){
+ if(prevPayment) prevPayment.checked = true;
+ else e.target.checked = false;
+ }
+ },
+ });
return;
}
- // Kliknięcie na płatność
- if(e.target.name === "payform_id"){
- // Usunięcie klona poprzedniego przelewu online/ karty płatniczej
- removePrevClone();
-
- // Wyskakujące okienko od vouchera
- if(e.target.value === "2" && (e.target.parentElement.querySelector(".voucher-value") && e.target.parentElement.querySelector(".voucher-value").style.display === "none")) {
- app_shop.fn.voucherModal = new Modal({
- element: $(".order__voucher_container"),
- classList: "--fade-in-modal",
- afterShow: () => {
- disablePageScroll();
- document.getElementById("order_voucher_id").addEventListener("keydown", handleClickVoucherEnter);
- document.querySelector(".order__voucher_button").addEventListener("click", handleClickVoucherSubmit);
- },
- beforeClose: () => {
- enablePageScroll();
- document.getElementById("order_voucher_id").removeEventListener("keydown", handleClickVoucherEnter);
- document.querySelector(".order__voucher_button").removeEventListener("click", handleClickVoucherSubmit);
-
- // Odznacz/Zaznacz poprzedzni jeśli użytkownik nie podał poprawnego kodu
- if(e.target.parentElement.querySelector(".voucher-value").style.display === "none"){
- if(prevPayment) prevPayment.checked = true;
- else e.target.checked = false;
- }
- },
- });
- return;
- }
-
- // Przelewy online i karty płatnosci
- if(e.target.dataset.group === "transfer" || e.target.dataset.group === "card"){
- if(!e.target.closest(".osc_item-modal")) showPaymentMethodModal(e.target.dataset.group);
- return;
- }
-
- // Inne metody płatności
- if(e.target.value !== "2" && e.target.dataset.group !== "transfer" && e.target.dataset.group !== "card"){
- const voucherOptionContainer = document.getElementById("payitem_2").parentElement;
- voucherOptionContainer.querySelector(".comment").style.display = "block";
- voucherOptionContainer.querySelector(".voucher-value").style.display = "none";
- voucherOptionContainer.querySelector(".voucher-value").innerHTML = ``;
- }
-
- // Zmien metody dostawy pomiedzy prepaid a dvp
- if(!prevPayment && e.target.id === "payitem_cash") changeDeliveryOptions();
- if(prevPayment && e.target.id !== prevPayment.id && (e.target.id === "payitem_cash" || prevPayment.id==="payitem_cash")) changeDeliveryOptions();
- prevPayment = e.target;
+ // Przelewy online i karty płatnosci
+ if(e.target.dataset.group === "transfer" || e.target.dataset.group === "card"){
+ if(!e.target.closest(".osc_item-modal")) showPaymentMethodModal(e.target.dataset.group);
+ return;
}
+
+ // Inne metody płatności
+ if(e.target.value !== "2" && e.target.dataset.group !== "transfer" && e.target.dataset.group !== "card"){
+ const voucherOptionContainer = document.getElementById("payitem_2").parentElement;
+ voucherOptionContainer.querySelector(".voucher-value").style.display = "none";
+ voucherOptionContainer.querySelector(".voucher-value").innerHTML = ``;
+ }
+
+ // Zmien metody dostawy pomiedzy prepaid a dvp
+ if(!prevPayment && e.target.id === "payitem_cash") changeDeliveryOptions();
+ if(prevPayment && e.target.id !== prevPayment.id && (e.target.id === "payitem_cash" || prevPayment.id==="payitem_cash")) changeDeliveryOptions();
+ prevPayment = e.target;
+}
});
// Schowanie sklonowanej metody płatności
function removePrevClone(){
- const prevClone = document.querySelector(".osc_item-clone");
- if(!prevClone) return;
- const cloneGroupName = prevClone.querySelector("input").dataset.group;
- document.getElementById(`payitem_${cloneGroupName}`).closest(".osc_item").style.display="grid";
- prevClone.remove();
+const prevClone = document.querySelector(".osc_item-clone");
+if(!prevClone) return;
+const cloneGroupName = prevClone.querySelector("input").dataset.group;
+document.getElementById(`payitem_${cloneGroupName}`).closest(".osc_item").style.display="grid";
+prevClone.remove();
}
// Utworzenie modala po kliknieciu na "przelewy online" lub "karta platnicza"
let ifChosenNewPaymentMethod = false;
function showPaymentMethodModal(method){
- app_shop.fn.paymentModal = new Modal({
- element: $(`.${method}__methods`),
- classList: "--fade-in-modal",
- afterShow: () => {
- disablePageScroll();
- document.querySelectorAll(`.${method}__methods .osc_item input`).forEach(el => {
- el.addEventListener("click", handlePaymentMethodClick);
- })
- },
- beforeClose: () => {
- enablePageScroll();
- if(!ifChosenNewPaymentMethod) prevPayment ? prevPayment.checked = true : document.getElementById(`payitem_${method}`).checked = false;
- document.querySelectorAll(`.${method}__methods .osc_item input`).forEach(el => {
- el.removeEventListener("click", handlePaymentMethodClick);
- })
- ifChosenNewPaymentMethod=false;
- },
- })
+app_shop.fn.paymentModal = new Modal({
+ element: $(`.${method}__methods`),
+ classList: "--fade-in-modal",
+ afterShow: () => {
+ disablePageScroll();
+ document.querySelectorAll(`.${method}__methods .osc_item input`).forEach(el => {
+ el.addEventListener("click", handlePaymentMethodClick);
+ })
+ },
+ beforeClose: () => {
+ enablePageScroll();
+ if(!ifChosenNewPaymentMethod) prevPayment ? prevPayment.checked = true : document.getElementById(`payitem_${method}`).checked = false;
+ document.querySelectorAll(`.${method}__methods .osc_item input`).forEach(el => {
+ el.removeEventListener("click", handlePaymentMethodClick);
+ })
+ ifChosenNewPaymentMethod=false;
+ },
+ })
}
// Metoda oblugujaca kliknieca w metody platnosci w popupie
function handlePaymentMethodClick(e){
- // Usuń poprzedni klon i stwórz nowy
- removePrevClone();
- cloneElement(e.target);
-
- // Zamkniecie modala
- ifChosenNewPaymentMethod = true;
- app_shop.fn.paymentModal.closeModal();
- return false;
+// Usuń poprzedni klon i stwórz nowy
+removePrevClone();
+cloneElement(e.target);
+
+// Zamkniecie modala
+ifChosenNewPaymentMethod = true;
+app_shop.fn.paymentModal.closeModal();
+return false;
}
function cloneElement(originalPaymentElement){
- // Sklonowanie kliknietego elementu
- const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true);
- const clonedInput = clonedMethod.querySelector("input");
-
- // Zmiana id i klasy sklonowanego elementu dla rozróżnienia
- clonedInput.id = clonedInput.id+"-clone";
- clonedMethod.setAttribute("for", clonedInput.id);
- clonedMethod.classList.add("osc_item-clone");
-
- // Wstawienie klona po "przelewy online" lub "karta platnicza"
- const standInEl = document.getElementById(`payitem_${clonedInput.dataset.group}`).closest(".osc_item");
- standInEl.after(clonedMethod);
- standInEl.style.display = "none";
- clonedInput.checked = true;
+// Sklonowanie kliknietego elementu
+const clonedMethod = originalPaymentElement.closest(".osc_item").cloneNode(true);
+const clonedInput = clonedMethod.querySelector("input");
+
+// Zmiana id i klasy sklonowanego elementu dla rozróżnienia
+clonedInput.id = clonedInput.id+"-clone";
+clonedMethod.setAttribute("for", clonedInput.id);
+clonedMethod.classList.add("osc_item-clone");
+
+// Wstawienie klona po "przelewy online" lub "karta platnicza"
+const standInEl = document.getElementById(`payitem_${clonedInput.dataset.group}`).closest(".osc_item");
+standInEl.after(clonedMethod);
+standInEl.style.display = "none";
+clonedInput.checked = true;
}
// Zmiana opcji dostawy zależnie od płatności
function changeDeliveryOptions(){
- if(document.getElementById("payitem_cash") && document.getElementById("payitem_cash").checked) changePrepaidDvp("none", "block");
- else changePrepaidDvp("block", "none");
-
- document.querySelectorAll("#bm-oscop-deliveries input").forEach((el) => el.checked = false);
- app_shop.vars.checkedShipping = "";
- calculateBasketCost();
+if(document.getElementById("payitem_cash") && document.getElementById("payitem_cash").checked) changePrepaidDvp("none", "block");
+else changePrepaidDvp("block", "none");
+
+document.querySelectorAll("#bm-oscop-deliveries input").forEach((el) => el.checked = false);
+app_shop.vars.checkedShipping = "";
+calculateBasketCost();
}
// Zmień pokazane metody dostawy
function changePrepaidDvp(prepaidStyle, dvpStyle){
- const prepaid = document.getElementById("osc_order1_prepaid");
- const dvp = document.getElementById("osc_order1_dvp");
- prepaid.style.display = prepaidStyle;
- dvp.style.display = dvpStyle;
- clearSelectedPoints();
+const prepaid = document.getElementById("osc_order1_prepaid");
+const dvp = document.getElementById("osc_order1_dvp");
+prepaid.style.display = prepaidStyle;
+dvp.style.display = dvpStyle;
+clearSelectedPoints();
}
// Wyczyszczenie informacji o punktach odbioru
function clearSelectedPoints(){
- const fSelectedPoints = document.querySelectorAll("#osc_order1 .fselectedPoint");
- fSelectedPoints.forEach(el => {
- el.innerHTML="";
- el.style.display="none";
- });
+const fSelectedPoints = document.querySelectorAll("#osc_order1 .fselectedPoint");
+fSelectedPoints.forEach(el => {
+ el.innerHTML="";
+ el.style.display="none";
+});
}
// Zatwierdź bon towarowy enterem
function handleClickVoucherEnter(e){
- if(e.key === "Enter") handleClickVoucherSubmit();
+if(e.key === "Enter") handleClickVoucherSubmit();
}
// Zatwierdź bon towarowy
function handleClickVoucherSubmit(){
- const voucherNumber = document.getElementById("order_voucher_id");
- const voucherRadioButton = document.getElementById("payitem_2");
- const voucherOptionContainer = voucherRadioButton.parentElement;
- $.ajax({
- url: "/ajax/gift-cards-and-vouchers.php",
- type: "POST",
- timeout: 16000,
- data: `action=auth&number=${voucherNumber.value}`,
- complete: function (e, a) {
- throwAjaxError(a);
- },
- success: function (e) {
- // Jeśli nieprawidłowy kod wyświetl błąd
- if(e.errno !== "0"){
- addErrorMessage(voucherNumber,
);
- return;
- }
-
- // Zmien z dvp na prepaid jesli wcześniej była zapłata za pobraniem
- if(prevPayment && voucherRadioButton.id !== prevPayment.id && prevPayment.id === "payitem_cash") changeDeliveryOptions();
- prevPayment = e.target;
-
- // Pokaż cenę
- voucherOptionContainer.querySelector(".comment").style.display = "none";
- voucherOptionContainer.querySelector(".voucher-value").style.display = "block";
- voucherOptionContainer.querySelector(".voucher-value").innerHTML = `${e.result.value} ${e.result.currency}`;
-
- // Wyczyść walidacje
- removeErrorMessage(voucherNumber);
- clearValidation(voucherNumber);
-
- // Zamknij modal
- app_shop.fn.voucherModal.closeModal();
- },
- })
+const voucherNumber = document.getElementById("order_voucher_id");
+const voucherRadioButton = document.getElementById("payitem_2");
+const voucherOptionContainer = voucherRadioButton.parentElement;
+$.ajax({
+ url: "/ajax/gift-cards-and-vouchers.php",
+ type: "POST",
+ timeout: 16000,
+ data: `action=auth&number=${voucherNumber.value}`,
+ complete: function (e, a) {
+ throwAjaxError(a);
+ },
+ success: function (e) {
+ // Jeśli nieprawidłowy kod wyświetl błąd
+ if(e.errno !== "0"){
+ addErrorMessage(voucherNumber,
);
+ return;
+ }
+
+ // Zmien z dvp na prepaid jesli wcześniej była zapłata za pobraniem
+ if(prevPayment && voucherRadioButton.id !== prevPayment.id && prevPayment.id === "payitem_cash") changeDeliveryOptions();
+ prevPayment = e.target;
+
+ // Pokaż cenę
+ voucherOptionContainer.querySelector(".voucher-value").style.display = "block";
+ voucherOptionContainer.querySelector(".voucher-value").innerHTML = `${e.result.value} ${e.result.currency}`;
+
+ // Wyczyść walidacje
+ removeErrorMessage(voucherNumber);
+ clearValidation(voucherNumber);
+
+ // Zamknij modal
+ app_shop.fn.voucherModal.closeModal();
+ },
+})
}
//////////////////////////////////////////////////////////////////////
@@ -1318,220 +1574,220 @@ function handleClickVoucherSubmit(){
// Przeliczenie i pokazanie ceny w podsumowaniu
let xhrs;
function calculateBasketCost() {
- const deliveryCostEl = document.querySelector("#order2_shipping_value .operation_value");
- const productsPointsEl = document.querySelector("#order2_products_points .operation_value");
- const summaryPointsEl = document.getElementById("summary-points");
- const attatchedSummaryPointsEl = document.getElementById("attatched-points");
- // Przygotowanie informacji o metodzie dostawy i platnosci
- const orderInfo = {
- delivery: document.querySelector('.bm-oscop__container input[name="shipping"]:checked') ? document.querySelector('.bm-oscop__container input[name="shipping"]:checked').value : "0-1",
- payform_id: document.querySelector('.bm-oscop__container input[name="payform_id"]:checked') ? document.querySelector('.bm-oscop__container input[name="payform_id"]:checked').value : "cash"
- }
- xhrs && 4 != xhrs.readyState && 0 != xhrs.readyState && xhrs.abort(),
- xhrs = $.ajax({
- url: "/ajax/basket-cost.php",
- dataType: "json",
- data: orderInfo,
- success: function (t) {
- document.querySelector("#order2_products_worth .operation_value").innerHTML = formatPrice(t.products_worth, t.currency_sign) + "
" + orderTxt.gross + " ";
-
- // Sprawdź cene dostawy
- if(t.shipping_undefined) deliveryCostEl.parentElement.style.display = "none";
- else {
- deliveryCostEl.parentElement.style.display = "flex";
- deliveryCostEl.classList.remove("cost_free");
- if(t.shipping_cost_points) deliveryCostEl.innerHTMl = `${t.shipping_cost_points}${
}`;
- else if(t.shipping_cost_after_rebate > 0) deliveryCostEl.innerHTML = formatPrice(t.shipping_cost_after_rebate, t.currency_sign) + "
" + + " "
- else if(t.shipping_cost > 0){
- deliveryCostEl.innerHTML = "
" + formatPrice(t.shipping_cost, t.currency_sign) + " " + `${
} `;
- deliveryCostEl.classList.add("cost_free");
- }else{
- deliveryCostEl.innerHTML = `${
} `;
- deliveryCostEl.classList.add("cost_free");
- }
+const deliveryCostEl = document.querySelector("#order2_shipping_value .operation_value");
+const productsPointsEl = document.querySelector("#order2_products_points .operation_value");
+const summaryPointsEl = document.getElementById("summary-points");
+const attatchedSummaryPointsEl = document.getElementById("attatched-points");
+// Przygotowanie informacji o metodzie dostawy i platnosci
+const orderInfo = {
+ delivery: document.querySelector('.bm-oscop__container input[name="shipping"]:checked') ? document.querySelector('.bm-oscop__container input[name="shipping"]:checked').value : "0-1",
+ payform_id: document.querySelector('.bm-oscop__container input[name="payform_id"]:checked') ? document.querySelector('.bm-oscop__container input[name="payform_id"]:checked').value : "cash"
+}
+xhrs && 4 != xhrs.readyState && 0 != xhrs.readyState && xhrs.abort(),
+xhrs = $.ajax({
+ url: "/ajax/basket-cost.php",
+ dataType: "json",
+ data: orderInfo,
+ success: function (t) {
+ document.querySelector("#order2_products_worth .operation_value").innerHTML = formatPrice(t.products_worth, t.currency_sign) + "
" + orderTxt.gross + " ";
+
+ // Sprawdź cene dostawy
+ if(t.shipping_undefined) deliveryCostEl.parentElement.style.display = "none";
+ else {
+ deliveryCostEl.parentElement.style.display = "flex";
+ deliveryCostEl.classList.remove("cost_free");
+ if(t.shipping_cost_points) deliveryCostEl.innerHTMl = `${t.shipping_cost_points}${
}`;
+ else if(t.shipping_cost_after_rebate > 0) deliveryCostEl.innerHTML = formatPrice(t.shipping_cost_after_rebate, t.currency_sign) + "
" + + " "
+ else if(t.shipping_cost > 0){
+ deliveryCostEl.innerHTML = "
" + formatPrice(t.shipping_cost, t.currency_sign) + " " + `${
} `;
+ deliveryCostEl.classList.add("cost_free");
+ }else{
+ deliveryCostEl.innerHTML = `${
} `;
+ deliveryCostEl.classList.add("cost_free");
}
- checkShowPrice(document.querySelector("#order2_paymentcost_value .operation_value"), Number(t.prepaid_cost), t.currency_sign);
- checkShowPrice(document.querySelector("#order2_insurance_value .operation_value"), Number(t.insurance_cost), t.currency_sign);
- checkShowPrice(document.querySelector("#order2_total_rebate .operation_value"), Number(t.total_rebate_without_shipping), t.currency_sign);
- checkShowPrice(document.querySelector("#order2_saldo_value .operation_value"), Number(t.payment_amount_from_client_balance), t.currency_sign);
-
- // Punkty zamówienia
- if(t.products_worth_at_points){
- productsPointsEl.innerHTML = `${t.products_worth_at_points} ${
}.`;
- productsPointsEl.parentElement.style.display = "flex";
- summaryPointsEl.innerHTML = `+ ${t.products_worth_at_points} ${
}.`;
- summaryPointsEl.style.display = "block";
- attatchedSummaryPointsEl.innerHTML = `+ ${t.products_worth_at_points} ${
}.`;
- attatchedSummaryPointsEl.style.display = "block";
- }else {
- productsPointsEl.parentElement.style.display = "none";
- summaryPointsEl.style.display = "none";
- attatchedSummaryPointsEl.style.display = "none";
- }
-
- // Cena całkowita
- document.getElementById("summary-cost").innerHTML = formatPrice(t.total_to_pay, t.currency_sign) + "
" + + " ";
- document.getElementById("attatched-cost").innerHTML = formatPrice(t.total_to_pay, t.currency_sign);
- },
- });
+ }
+ checkShowPrice(document.querySelector("#order2_paymentcost_value .operation_value"), Number(t.prepaid_cost), t.currency_sign);
+ checkShowPrice(document.querySelector("#order2_insurance_value .operation_value"), Number(t.insurance_cost), t.currency_sign);
+ checkShowPrice(document.querySelector("#order2_total_rebate .operation_value"), Number(t.total_rebate_without_shipping), t.currency_sign);
+ checkShowPrice(document.querySelector("#order2_saldo_value .operation_value"), Number(t.payment_amount_from_client_balance), t.currency_sign);
+
+ // Punkty zamówienia
+ if(t.products_worth_at_points){
+ productsPointsEl.innerHTML = `${t.products_worth_at_points} ${
}.`;
+ productsPointsEl.parentElement.style.display = "flex";
+ summaryPointsEl.innerHTML = `+ ${t.products_worth_at_points} ${
}.`;
+ summaryPointsEl.style.display = "block";
+ attatchedSummaryPointsEl.innerHTML = `+ ${t.products_worth_at_points} ${
}.`;
+ attatchedSummaryPointsEl.style.display = "block";
+ }else {
+ productsPointsEl.parentElement.style.display = "none";
+ summaryPointsEl.style.display = "none";
+ attatchedSummaryPointsEl.style.display = "none";
+ }
+
+ // Cena całkowita
+ document.getElementById("summary-cost").innerHTML = formatPrice(t.total_to_pay, t.currency_sign) + "
" + + " ";
+ document.getElementById("attatched-cost").innerHTML = formatPrice(t.total_to_pay, t.currency_sign);
+ },
+});
};
// Funkcja od pokazania wybranej ceny (np rabat, ubezpieczenie...)
function checkShowPrice(priceContainer, price, currencySign){
- priceContainer.innerHTML = formatPrice(price, currencySign);
- if(price && price > 0) priceContainer.parentElement.style.display = "flex";
- else priceContainer.parentElement.style.display = "none";
+priceContainer.innerHTML = formatPrice(price, currencySign);
+if(price && price > 0) priceContainer.parentElement.style.display = "flex";
+else priceContainer.parentElement.style.display = "none";
};
// Funkcja od formatowania ceny
function formatPrice(price, currencySign) {
- return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value });
+return format_price(price, { mask: app_shop.vars.currency_format, currency: currencySign, currency_space: app_shop.vars.currency_space, currency_before_price: app_shop.vars.currency_before_value });
};
// Funkcja od ustalenia daty dostawy
function calculateDeliveryDate(deliveryVal, delivery, pickuppoint) {
- const deliveryMessageEl = document.querySelector("#order2_shiptime span:not(.operation_value)");
- const attatchedMessageEl = document.querySelector("#attatched-shiptime span:not(.operation_value)");
- const deliveryDateEl = document.querySelector("#order2_shiptime .operation_value");
- const attatchedDateEl = document.querySelector("#attatched-shiptime .operation_value");
- const date = delivery.split("#");
-
- // Wybranie nazwy zaleznie czy dostawa jest do twojego mieszkania czy nie
- if(deliveryVal === "0-0" || deliveryVal === "0-1" || pickuppoint === "y"){
- deliveryMessageEl.innerHTML = `${
}:`;
- attatchedMessageEl.innerHTML = `${
}:`;
- }
- else{
- deliveryMessageEl.innerHTML = `${
}:`;
- attatchedMessageEl.innerHTML = `${
}:`;
- }
-
- if(date[4]>0) {
- deliveryDateEl.innerHTML = `${
} ` + parseInt(date[5]) + ` ${
} `;
- attatchedDateEl.innerHTML = `${
} ` + parseInt(date[5]) + ` ${
} `;
+const deliveryMessageEl = document.querySelector("#order2_shiptime span:not(.operation_value)");
+const attatchedMessageEl = document.querySelector("#attatched-shiptime span:not(.operation_value)");
+const deliveryDateEl = document.querySelector("#order2_shiptime .operation_value");
+const attatchedDateEl = document.querySelector("#attatched-shiptime .operation_value");
+const date = delivery.split("#");
+
+// Wybranie nazwy zaleznie czy dostawa jest do twojego mieszkania czy nie
+if(deliveryVal === "0-0" || deliveryVal === "0-1" || pickuppoint === "y"){
+ deliveryMessageEl.innerHTML = `${
}:`;
+ attatchedMessageEl.innerHTML = `${
}:`;
+}
+else{
+ deliveryMessageEl.innerHTML = `${
}:`;
+ attatchedMessageEl.innerHTML = `${
}:`;
+}
+
+if(date[4]>0) {
+ deliveryDateEl.innerHTML = `${
} ` + parseInt(date[5]) + ` ${
} `;
+ attatchedDateEl.innerHTML = `${
} ` + parseInt(date[5]) + ` ${
} `;
+}
+else{
+ if(parseInt(date[5]) === 0){
+ deliveryDateEl.innerHTML =
;
+ attatchedDateEl.innerHTML =
;
}
else{
- if(parseInt(date[5]) === 0){
- deliveryDateEl.innerHTML =
;
- attatchedDateEl.innerHTML =
;
- }
- else{
- deliveryDateEl.innerHTML = orderTxt[`shipping${parseInt(date[3])}`];
- attatchedDateEl.innerHTML = orderTxt[`shipping${parseInt(date[3])}`];
- }
+ deliveryDateEl.innerHTML = orderTxt[`shipping${parseInt(date[3])}`];
+ attatchedDateEl.innerHTML = orderTxt[`shipping${parseInt(date[3])}`];
}
+}
};
// Zmiana informacji o dostawie
function changeDeliveryInfoObject(deliveryObject, deliveryElement){
- deliveryObject.deliveryVal = deliveryElement.value;
- deliveryObject.delivery = deliveryElement.dataset.delivery;
- deliveryObject.pickuppoint = deliveryElement.dataset.pickuppoint;
+deliveryObject.deliveryVal = deliveryElement.value;
+deliveryObject.delivery = deliveryElement.dataset.delivery;
+deliveryObject.pickuppoint = deliveryElement.dataset.pickuppoint;
}
// Obsługa klilnięć na elementy w podsumowaniu
document.getElementById("bm-oscop-section3").addEventListener("click", (e) => {
- const productsContainer = document.querySelector(".summary__container");
-
- // Kliknięcie na przyciski "Pokaż pozozostałe produkty" i "Zwiń listę"
- const togggleProducts = e.target.closest(".order_products_action");
- if(togggleProducts){
- if(productsContainer.className.includes("--more")){
- productsContainer.classList.remove("--more");
- togggleProducts.querySelector("span").innerHTML = `${
}`;
- }else{
- productsContainer.classList.add("--more");
- togggleProducts.querySelector("span").innerHTML = `${
}`;
- }
- checkIfShowAttatched();
- return;
+const productsContainer = document.querySelector(".summary__container");
+
+// Kliknięcie na przyciski "Pokaż pozozostałe produkty" i "Zwiń listę"
+const togggleProducts = e.target.closest(".order_products_action");
+if(togggleProducts){
+ if(productsContainer.className.includes("--more")){
+ productsContainer.classList.remove("--more");
+ togggleProducts.querySelector("span").innerHTML = `${
}`;
+ }else{
+ productsContainer.classList.add("--more");
+ togggleProducts.querySelector("span").innerHTML = `${
}`;
}
+ checkIfShowAttatched();
+ return;
+}
+
+// Kliknięcie na checkbox(nie zaznacz wszystkie i nie kod rabatowy)
+if(e.target.type === "checkbox" && e.target.id !== "checkall-terms" && e.target.id !== "rebate-option"){
+ document.querySelector(".bm-oscop__attatched-checkbox").classList.remove("--error");
- // Kliknięcie na checkbox(nie zaznacz wszystkie i nie kod rabatowy)
- if(e.target.type === "checkbox" && e.target.id !== "checkall-terms" && e.target.id !== "rebate-option"){
+ const checkboxAllTerms = document.getElementById("checkall-terms");
+ const attatchedcheckboxAllTerms = document.getElementById("attatched-checkall-terms");
+ if(e.target.checked === false) {
+ checkboxAllTerms.checked = false;
+ attatchedcheckboxAllTerms.checked = false;
+ // usuniecie bledu jesli jest na przyczepionym przycisku zakupowym
document.querySelector(".bm-oscop__attatched-checkbox").classList.remove("--error");
-
- const checkboxAllTerms = document.getElementById("checkall-terms");
- const attatchedcheckboxAllTerms = document.getElementById("attatched-checkall-terms");
- if(e.target.checked === false) {
- checkboxAllTerms.checked = false;
- attatchedcheckboxAllTerms.checked = false;
- // usuniecie bledu jesli jest na przyczepionym przycisku zakupowym
- document.querySelector(".bm-oscop__attatched-checkbox").classList.remove("--error");
- }
- else{
- const termsInputs = document.querySelectorAll(".order2_terms_wrapper input:not(#checkall-terms)");
- let checkedCount = 0;
- termsInputs.forEach(el => el.checked === true ? checkedCount++ : "");
- if(checkedCount === termsInputs.length) {
- checkboxAllTerms.checked = true;
- attatchedcheckboxAllTerms.checked = true;
- }
- }
- return;
}
-
- // Kliknięcie na przycisk "Zaznacz wszystkie"
- if(e.target.id === "checkall-terms") return toggleAllTerms();
-
- // Usuń error na regulaminie
- if(e.target.id === "order2_terms_conditions" || e.target.id === "order2_cancel"){
- e.target.parentElement.querySelector("span").classList.remove("text-danger");
- e.target.parentElement.querySelector("a").classList.remove("text-danger");
+ else{
+ const termsInputs = document.querySelectorAll(".order2_terms_wrapper input:not(#checkall-terms)");
+ let checkedCount = 0;
+ termsInputs.forEach(el => el.checked === true ? checkedCount++ : "");
+ if(checkedCount === termsInputs.length) {
+ checkboxAllTerms.checked = true;
+ attatchedcheckboxAllTerms.checked = true;
+ }
}
+ return;
+}
+
+// Kliknięcie na przycisk "Zaznacz wszystkie"
+if(e.target.id === "checkall-terms") return toggleAllTerms();
+
+// Usuń error na regulaminie
+if(e.target.id === "order2_terms_conditions" || e.target.id === "order2_cancel"){
+ e.target.parentElement.querySelector("span").classList.remove("text-danger");
+ e.target.parentElement.querySelector("a").classList.remove("text-danger");
+}
});
function toggleAllTerms(){
- removeErrorOnTerms();
+removeErrorOnTerms();
+
+const termsInputs = document.querySelectorAll(".order2_terms_wrapper input:not(#checkall-terms)");
+let checkAll = false;
- const termsInputs = document.querySelectorAll(".order2_terms_wrapper input:not(#checkall-terms)");
- let checkAll = false;
-
- termsInputs.forEach(el => el.checked === false ? checkAll = true : "");
- termsInputs.forEach(function (el) {
- el.checked = checkAll;
- });
-
- document.getElementById("checkall-terms").checked = checkAll;
- document.getElementById("attatched-checkall-terms").checked = checkAll;
+termsInputs.forEach(el => el.checked === false ? checkAll = true : "");
+termsInputs.forEach(function (el) {
+ el.checked = checkAll;
+});
+
+document.getElementById("checkall-terms").checked = checkAll;
+document.getElementById("attatched-checkall-terms").checked = checkAll;
}
function removeErrorOnTerms(){
- document.querySelector(".bm-oscop__attatched-checkbox").classList.remove("--error");
- document.querySelector(".order2_terms_conditions span").classList.remove("text-danger");
- document.querySelector(".order2_terms_conditions a").classList.remove("text-danger");
- document.querySelector(".order2_cancel span").classList.remove("text-danger");
- document.querySelector(".order2_cancel a").classList.remove("text-danger");
+document.querySelector(".bm-oscop__attatched-checkbox").classList.remove("--error");
+document.querySelector(".order2_terms_conditions span").classList.remove("text-danger");
+document.querySelector(".order2_terms_conditions a").classList.remove("text-danger");
+document.querySelector(".order2_cancel span").classList.remove("text-danger");
+document.querySelector(".order2_cancel a").classList.remove("text-danger");
}
// PRZYCISK ZAKUPU PRZYTWIERDZONY NA DÓŁ STRONY
function checkIfShowAttatched(){
- const attatchedEl = document.querySelector("#attatched-summary .bm-oscop__attatched-container");
- const summaryCheckAllPos = document.getElementById("checkall-terms").getBoundingClientRect();
- // Sprawdzenie czy pokazać przytwierdzony przycisk do zakupu
-
- if(summaryCheckAllPos.top >= window.innerHeight - attatchedEl.offsetHeight){
- attatchedEl.style.opacity = "1";
- attatchedEl.closest("#attatched-summary").style.zIndex = "30";
- }
- else{
- attatchedEl.style.opacity = "0";
- attatchedEl.closest("#attatched-summary").style.zIndex = "-1";
- }
-
- // Sprawdzenie czy pokazywać cenę
- const summaryEl = document.querySelector(".order2_summary");
-
- // Przeliczana wysokość elementu przytwierdzonego przycisku zakupu na wypadek gdyby cena miała display: none
- const attatchedElHeight = attatchedEl.querySelector(".bm-oscop__attatched-price").style.display === "none" ? (summaryEl.offsetHeight + attatchedEl.offsetHeight) : attatchedEl.offsetHeight
-
- if(summaryEl.getBoundingClientRect().top >= window.innerHeight - attatchedElHeight){
- attatchedEl.querySelector(".bm-oscop__attatched-price").style.display = "block";
- }else{
- attatchedEl.querySelector(".bm-oscop__attatched-price").style.display = "none";
- }
+const attatchedEl = document.querySelector("#attatched-summary .bm-oscop__attatched-container");
+const summaryCheckAllPos = document.getElementById("checkall-terms").getBoundingClientRect();
+// Sprawdzenie czy pokazać przytwierdzony przycisk do zakupu
+
+if(summaryCheckAllPos.top >= window.innerHeight - attatchedEl.offsetHeight){
+ attatchedEl.style.opacity = "1";
+ attatchedEl.closest("#attatched-summary").style.zIndex = "30";
+}
+else{
+ attatchedEl.style.opacity = "0";
+ attatchedEl.closest("#attatched-summary").style.zIndex = "-1";
+}
+
+// Sprawdzenie czy pokazywać cenę
+const summaryEl = document.querySelector(".order2_summary");
+
+// Przeliczana wysokość elementu przytwierdzonego przycisku zakupu na wypadek gdyby cena miała display: none
+const attatchedElHeight = attatchedEl.querySelector(".bm-oscop__attatched-price").style.display === "none" ? (summaryEl.offsetHeight + attatchedEl.offsetHeight) : attatchedEl.offsetHeight
+
+if(summaryEl.getBoundingClientRect().top >= window.innerHeight - attatchedElHeight){
+ attatchedEl.querySelector(".bm-oscop__attatched-price").style.display = "block";
+}else{
+ attatchedEl.querySelector(".bm-oscop__attatched-price").style.display = "none";
+}
}
window.addEventListener("scroll", e=>{
- checkIfShowAttatched()
+checkIfShowAttatched()
});
document.getElementById("attatched-checkall-terms").addEventListener("click", toggleAllTerms);
@@ -1540,124 +1796,124 @@ document.getElementById("attatched-checkall-terms").addEventListener("click", to
// Funkcje do przerobienia kodu rabatowego
const ACTIVATE_REBATE_CODE = (code) => JSON.stringify({
- query: `mutation {
- activateRebateCode(code: "${code.replace(/"/g, '\\"')}") {
- status
- error {
- code
- message
- }
+query: `mutation {
+ activateRebateCode(code: "${code.replace(/"/g, '\\"')}") {
+ status
+ error {
+ code
+ message
}
- }`,
+ }
+}`,
})
const DEACTIVATE_REBATE_CODE = () => JSON.stringify({
- query: `mutation {
- deactivateRebateCode {
- status
- error {
- code
- message
- }
+query: `mutation {
+ deactivateRebateCode {
+ status
+ error {
+ code
+ message
}
- }`,
+ }
+}`,
})
// Aktywacja kodu rabatowego
const rebateCode = document.getElementById("rebate-code");
async function updateCode(){
- if(rebateCode.value.trim() === ""){
- addError(rebateCode);
- rebateCode.insertAdjacentHTML("afterend",`
${ }. `);
- return;
- }
- app_shop.fn.ajaxLoadSite(1);
-
- // Wysłanie kodu do aktywacji
- const rebateStatus = await fetchData({
- data: ACTIVATE_REBATE_CODE(rebateCode.value),
- linkParameter: "?mutation=activateRebateCode",
- });
-
- const { status } = rebateStatus?.data?.activateRebateCode;
- app_shop.fn.ajaxLoadSite(0);
-
- // Przeliczenie kosztu koszyka jeśli sukces
- if (status === 'success') {
- toggleActiveCode(true);
- calculateBasketCost();
- return;
- }
-
- // Pokazanie błędu
- const { message } = rebateStatus?.data?.activateRebateCode?.error;
+if(rebateCode.value.trim() === ""){
addError(rebateCode);
- addErrorMessage(rebateCode, message);
- // Schowaj kod (show=false, error=true)
- toggleActiveCode(false, true);
+ rebateCode.insertAdjacentHTML("afterend",`
${ }. `);
+ return;
+}
+app_shop.fn.ajaxLoadSite(1);
+
+// Wysłanie kodu do aktywacji
+const rebateStatus = await fetchData({
+ data: ACTIVATE_REBATE_CODE(rebateCode.value),
+ linkParameter: "?mutation=activateRebateCode",
+});
+
+const { status } = rebateStatus?.data?.activateRebateCode;
+app_shop.fn.ajaxLoadSite(0);
+
+// Przeliczenie kosztu koszyka jeśli sukces
+if (status === 'success') {
+ toggleActiveCode(true);
+ calculateBasketCost();
+ return;
+}
+
+// Pokazanie błędu
+const { message } = rebateStatus?.data?.activateRebateCode?.error;
+addError(rebateCode);
+addErrorMessage(rebateCode, message);
+// Schowaj kod (show=false, error=true)
+toggleActiveCode(false, true);
}
// Usunięcie aktywnego kodu rabatowego
async function removeCode(){
- app_shop.fn.ajaxLoadSite(1);
-
- const rebateStatus = await fetchData({
- data: DEACTIVATE_REBATE_CODE(),
- linkParameter: "?mutation=deactivateRebateCode",
- });
-
- app_shop.fn.ajaxLoadSite(0);
-
- const { status } = rebateStatus?.data?.deactivateRebateCode;
- if (status === 'success') {
- toggleActiveCode(false);
- calculateBasketCost();
- }
+app_shop.fn.ajaxLoadSite(1);
+
+const rebateStatus = await fetchData({
+ data: DEACTIVATE_REBATE_CODE(),
+ linkParameter: "?mutation=deactivateRebateCode",
+});
+
+app_shop.fn.ajaxLoadSite(0);
+
+const { status } = rebateStatus?.data?.deactivateRebateCode;
+if (status === 'success') {
+ toggleActiveCode(false);
+ calculateBasketCost();
+}
}
// Zmień widoczność kodu rabatowego
const rebateCodeContainer = document.querySelector(".rebate__code");
function toggleActiveCode(show, error=false){
- const activeCodeEl = document.getElementById("active-code");
- // Wyczyść walidacje
- if(!error){
- removeErrorMessage(rebateCode);
- clearValidation(rebateCode);
- }
+const activeCodeEl = document.getElementById("active-code");
+// Wyczyść walidacje
+if(!error){
+ removeErrorMessage(rebateCode);
+ clearValidation(rebateCode);
+}
- // Zmień widoczność
- document.querySelector(".rebate__options").style.display = show ? "none" : "flex";
- document.querySelector(".rebate__active").style.display = show ? "block" : "none";
-
- if(!error) rebateCodeContainer.classList.remove("--fade-in");
- else rebateCodeContainer.classList.add("--fade-in");
-
- // Zmień wartości
- activeCodeEl.innerHTML = show ? rebateCode.value : "";
- showInput = error ? true : false;
- document.getElementById("rebate-option").checked = error ? true : false;
- if(!error) rebateCode.value = "";
- else activeCodeEl.innerHTML = "";
+// Zmień widoczność
+document.querySelector(".rebate__options").style.display = show ? "none" : "flex";
+document.querySelector(".rebate__active").style.display = show ? "block" : "none";
+
+if(!error) rebateCodeContainer.classList.remove("--fade-in");
+else rebateCodeContainer.classList.add("--fade-in");
+
+// Zmień wartości
+activeCodeEl.innerHTML = show ? rebateCode.value : "";
+showInput = error ? true : false;
+document.getElementById("rebate-option").checked = error ? true : false;
+if(!error) rebateCode.value = "";
+else activeCodeEl.innerHTML = "";
}
// EventListenery dla kodu rabatowego
let showInput = false;
document.querySelector(".rebate").addEventListener("click", (e) => {
- // Rozwinięcie opcji rabatowej
- if(e.target.id === "rebate-option" || e.target.classList.contains("rebate__active-change")){
- showInput = !showInput;
- if(showInput) rebateCodeContainer.classList.add("--fade-in");
- else rebateCodeContainer.classList.remove("--fade-in");
- }
-
- // Kliknięcie na zrealizuj i dezaktywuj
- if(e.target.className.includes("rebate__code-realize")) updateCode();
- if(e.target.classList.contains("rebate__active-remove")) removeCode();
+// Rozwinięcie opcji rabatowej
+if(e.target.id === "rebate-option" || e.target.classList.contains("rebate__active-change")){
+ showInput = !showInput;
+ if(showInput) rebateCodeContainer.classList.add("--fade-in");
+ else rebateCodeContainer.classList.remove("--fade-in");
+}
+
+// Kliknięcie na zrealizuj i dezaktywuj
+if(e.target.className.includes("rebate__code-realize")) updateCode();
+if(e.target.classList.contains("rebate__active-remove")) removeCode();
});
// Aktywacja kodu po naciśnięciu na enter
rebateCode.addEventListener("keydown", e=>{
- if(e.key === "Enter") updateCode();
+if(e.key === "Enter") updateCode();
})
///////////////////////////////////////////////////////////////////////
@@ -1665,433 +1921,433 @@ rebateCode.addEventListener("keydown", e=>{
// Zwaliduj wszystkie dostępne inputy zawierające dane klienta i dane adresowe
async function validateAllInputs(){
- // Zmienna trzymająca informację czy wystąpił jakiś błąd
- let allGood = true;
-
- // Sprawdzenie loginu i hasła jeśli zaznaczone
- if(document.getElementById("register_client_checkbox") && document.getElementById("register_client_checkbox").checked){
- allGood = testLogin() && allGood;
- allGood = testPassword() && allGood;
+// Zmienna trzymająca informację czy wystąpił jakiś błąd
+let allGood = true;
+
+// Sprawdzenie loginu i hasła jeśli zaznaczone
+if(document.getElementById("register_client_checkbox") && document.getElementById("register_client_checkbox").checked){
+ allGood = testLogin() && allGood;
+ allGood = testPassword() && allGood;
+}
+if(!document.querySelector(".--logged")){
+ // Sprawdzenie emaila i telefonu
+ allGood = await validateRequest(document.getElementById("client_email"), true) && allGood;
+ allGood = validatePhone(document.getElementById("client_phone")) && allGood;
+ // Sprawdzenie nazwy firmy i nipu
+ if(document.getElementById("client_type1").checked){
+ allGood = validateNotEmpty(document.getElementById("client_firm")) && allGood;
+ allGood = await validateRequest(document.getElementById("client_nip"), true) && allGood;
}
- if(!document.querySelector(".--logged")){
- // Sprawdzenie emaila i telefonu
- allGood = await validateRequest(document.getElementById("client_email"), true) && allGood;
- allGood = validatePhone(document.getElementById("client_phone")) && allGood;
- // Sprawdzenie nazwy firmy i nipu
- if(document.getElementById("client_type1").checked){
- allGood = validateNotEmpty(document.getElementById("client_firm")) && allGood;
- allGood = await validateRequest(document.getElementById("client_nip"), true) && allGood;
- }
- // Sprawdzenie reszty pól
- allGood = await validateFormInputs("client") && allGood;
- }
- // Sprawdzanie pól dostawy na inny adres
- if(document.getElementById("deliver_to_billingaddr").checked){
- allGood = await validateFormInputs("delivery") && allGood;
- allGood = validatePhone(document.getElementById("delivery_phone")) && allGood;
- }
- return allGood
+ // Sprawdzenie reszty pól
+ allGood = await validateFormInputs("client") && allGood;
+}
+// Sprawdzanie pól dostawy na inny adres
+if(document.getElementById("deliver_to_billingaddr").checked){
+ allGood = await validateFormInputs("delivery") && allGood;
+ allGood = validatePhone(document.getElementById("delivery_phone")) && allGood;
+}
+return allGood
}
async function validateFormInputs(query){
- let isFormGood = true;
-
- isFormGood = validateNotEmpty(document.getElementById(`${query}_firstname`)) && isFormGood;
- isFormGood = validateNotEmpty(document.getElementById(`${query}_lastname`)) && isFormGood;
- isFormGood = validateStreet(document.getElementById(`${query}_street`)) && isFormGood;
- isFormGood = await validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
- isFormGood = validateNotEmpty(document.getElementById(`${query}_city`)) && isFormGood;
-
- return isFormGood;
+let isFormGood = true;
+
+isFormGood = validateNotEmpty(document.getElementById(`${query}_firstname`)) && isFormGood;
+isFormGood = validateNotEmpty(document.getElementById(`${query}_lastname`)) && isFormGood;
+isFormGood = validateStreet(document.getElementById(`${query}_street`)) && isFormGood;
+isFormGood = await validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
+isFormGood = validateNotEmpty(document.getElementById(`${query}_city`)) && isFormGood;
+
+return isFormGood;
}
// Obsługa złożenia zamówienia
document.querySelectorAll(".order2_button_order").forEach(btnEl=>{
- btnEl.addEventListener("click", handleBuyOnClick);
+btnEl.addEventListener("click", handleBuyOnClick);
})
async function handleBuyOnClick(){
- const termsConditionsInput = document.getElementById("order2_terms_conditions");
- const cancelConditionsInput = document.getElementById("order2_cancel");
- try {
- app_shop.fn.ajaxLoadSite(1);
- app_shop.vars.validation = 1;
- // Sprawdzenie pól formularza
- const allInputsCorrectlyValidated = await validateAllInputs();
- if(allInputsCorrectlyValidated === false) app_shop.vars.validation = 0;
-
- // Znalezienie obecnie zaznaczonej metody dostawy i płatności
- const deliveryMethod = document.querySelector(".bm-oscop__container [name=shipping]:checked");
- const paymentMethod = document.querySelector(".bm-oscop__container [name=payform_id]:checked");
-
- // Sprawdzenie czy użytkownik zaakceptował regulamin
- if(!termsConditionsInput.checked || !cancelConditionsInput.checked){
- app_shop.vars.validation = 0;
- showTermsError(termsConditionsInput);
- showTermsError(cancelConditionsInput);
- }// Sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher)
- else {
- if(deliveryMethod){
- if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(
);
- } else orderValidationError(
);
- if(paymentMethod){
- if(paymentMethod.value === "2" && document.getElementById("order_voucher_id").value === "") orderValidationError(
);
- } else orderValidationError(
);
- }
-
- // Sprawdzenie formularza rejestracji nowego konta wraz z zakupem
- let registerError = "";
- const registerCheckbox = document.getElementById("register_client_checkbox");
- if(registerCheckbox && registerCheckbox.checked){
- if(!testLogin()) registerError += `${
}
`;
- if(!testPassword()) registerError += `${
}`;
- if(registerError.length > 0){
- orderValidationError(registerError);
- scrollToHeight(document.querySelector(".register"));
- }
- }
-
- // Przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd
- if (app_shop.vars.validation === 0) {
- const errorEl = document.querySelector(".--error.has-error");
- let scrolledToElement;
- let alertMessage = "";
-
- // Element sprawdzający czy regulamin jest zaznaczony
- const termsAndConditions = termsConditionsInput.checked && cancelConditionsInput.checked;
- if(!termsAndConditions){
- document.querySelector(".bm-oscop__attatched-checkbox").classList.add("--error");
- alertMessage += `${
} ${
}!
`;
- }
- // Sprawdź metodę płatności i dostawy(scrollowanie do formularza ważniejsze)
- if(!document.querySelector(`input[name="shipping"]:checked`)){
- scrolledToElement = errorEl || document.querySelector("#bm-oscop-deliveries h2");
- alertMessage += `${
}
`;
- }
- if(!document.querySelector(`input[name="payform_id"]:checked`)){
- scrolledToElement = errorEl || document.querySelector("#bm-oscop-payments h2");
- alertMessage += `${
}
`;
- }
- // Błąd w formularzu
- if(errorEl){
- scrolledToElement = errorEl;
- alertMessage += `${
}`;
- }
-
- // Jeśli użytkownik zatwierdził regulamin, przescrolluj do elementu z błędem
- if(scrolledToElement) scrollToHeight(scrolledToElement);
-
-
- // Pokaż error i przerwij składanie zamówienia
- Alertek.show_alert(alertMessage);
- return app_shop.fn.ajaxLoadSite(0);
- }
-
- // Rejestracja użytkownika i/lub złożenie zamówienia
- if(registerCheckbox && registerCheckbox.checked){
- addClient(function() {
- createOrder(deliveryMethod.value, paymentMethod.value);
- }, function() {});
- } else createOrder(deliveryMethod.value, paymentMethod.value);
- return !1;
- } catch (e) {
- app_shop.fn.ajaxLoadSite(0);
- console.log(e);
- alert("blad");
+const termsConditionsInput = document.getElementById("order2_terms_conditions");
+const cancelConditionsInput = document.getElementById("order2_cancel");
+try {
+ app_shop.fn.ajaxLoadSite(1);
+ app_shop.vars.validation = 1;
+ // Sprawdzenie pól formularza
+ const allInputsCorrectlyValidated = await validateAllInputs();
+ if(allInputsCorrectlyValidated === false) app_shop.vars.validation = 0;
+
+ // Znalezienie obecnie zaznaczonej metody dostawy i płatności
+ const deliveryMethod = document.querySelector(".bm-oscop__container [name=shipping]:checked");
+ const paymentMethod = document.querySelector(".bm-oscop__container [name=payform_id]:checked");
+
+ // Sprawdzenie czy użytkownik zaakceptował regulamin
+ if(!termsConditionsInput.checked || !cancelConditionsInput.checked){
+ app_shop.vars.validation = 0;
+ showTermsError(termsConditionsInput);
+ showTermsError(cancelConditionsInput);
+ }// Sprawdzenie czy użytkownik wybrał metodę dostawy i płatności (też sprawdzenie czy wybrał paczkomat i wpisał voucher)
+ else {
+ if(deliveryMethod){
+ if(deliveryMethod.dataset.pickuppoint === "y" && deliveryMethod.parentElement.querySelector(".fselectedPoint").innerHTML === "") orderValidationError(
);
+ } else orderValidationError(
);
+ if(paymentMethod){
+ if(paymentMethod.value === "2" && document.getElementById("order_voucher_id").value === "") orderValidationError(
);
+ } else orderValidationError(
);
}
+
+ // Sprawdzenie formularza rejestracji nowego konta wraz z zakupem
+ let registerError = "";
+ const registerCheckbox = document.getElementById("register_client_checkbox");
+ if(registerCheckbox && registerCheckbox.checked){
+ if(!testLogin()) registerError += `${
}
`;
+ if(!testPassword()) registerError += `${
}`;
+ if(registerError.length > 0){
+ orderValidationError(registerError);
+ scrollToHeight(document.querySelector(".register"));
+ }
+ }
+
+ // Przerwanie składania zamówienia jeśli w trakcie walidacji wystąpił błąd
+ if (app_shop.vars.validation === 0) {
+ const errorEl = document.querySelector(".--error.has-error");
+ let scrolledToElement;
+ let alertMessage = "";
+
+ // Element sprawdzający czy regulamin jest zaznaczony
+ const termsAndConditions = termsConditionsInput.checked && cancelConditionsInput.checked;
+ if(!termsAndConditions){
+ document.querySelector(".bm-oscop__attatched-checkbox").classList.add("--error");
+ alertMessage += `${
} ${
}!
`;
+ }
+ // Sprawdź metodę płatności i dostawy(scrollowanie do formularza ważniejsze)
+ if(!document.querySelector(`input[name="shipping"]:checked`)){
+ scrolledToElement = errorEl || document.querySelector("#bm-oscop-deliveries h2");
+ alertMessage += `${
}
`;
+ }
+ if(!document.querySelector(`input[name="payform_id"]:checked`)){
+ scrolledToElement = errorEl || document.querySelector("#bm-oscop-payments h2");
+ alertMessage += `${
}
`;
+ }
+ // Błąd w formularzu
+ if(errorEl){
+ scrolledToElement = errorEl;
+ alertMessage += `${
}`;
+ }
+
+ // Jeśli użytkownik zatwierdził regulamin, przescrolluj do elementu z błędem
+ if(scrolledToElement) scrollToHeight(scrolledToElement);
+
+
+ // Pokaż error i przerwij składanie zamówienia
+ Alertek.show_alert(alertMessage);
+ return app_shop.fn.ajaxLoadSite(0);
+ }
+
+ // Rejestracja użytkownika i/lub złożenie zamówienia
+ if(registerCheckbox && registerCheckbox.checked){
+ addClient(function() {
+ createOrder(deliveryMethod.value, paymentMethod.value);
+ }, function() {});
+ } else createOrder(deliveryMethod.value, paymentMethod.value);
+ return !1;
+} catch (e) {
+ app_shop.fn.ajaxLoadSite(0);
+ console.log(e);
+ alert("blad");
+}
}
// Przescrolluj do
function scrollToHeight(scrollToEl){
- let yOffset = -45;
- if(app_shop.vars.view === 1) yOffset = -100;
- if(app_shop.vars.view === 2) yOffset = -75;
- const y = scrollToEl.getBoundingClientRect().top + window.pageYOffset + yOffset;
-
- window.scrollTo({top: y, behavior: 'smooth'});
+let yOffset = -45;
+if(app_shop.vars.view === 1) yOffset = -100;
+if(app_shop.vars.view === 2) yOffset = -75;
+const y = scrollToEl.getBoundingClientRect().top + window.pageYOffset + yOffset;
+
+window.scrollTo({top: y, behavior: 'smooth'});
}
// Schowaj/Pokaż error na warunkach regulaminun
function showTermsError(input){
- if(!input.checked){
- input.parentElement.querySelector("span").classList.add("text-danger");
- input.parentElement.querySelector("a").classList.add("text-danger");
- }
+if(!input.checked){
+ input.parentElement.querySelector("span").classList.add("text-danger");
+ input.parentElement.querySelector("a").classList.add("text-danger");
+}
}
// Złożenie zamówienia
function createOrder(deliveryMethod, paymentMethod){
- // Weź dane klienta
- const email = document.getElementById("client_email").value;
- const phone = document.getElementById("client_phone").value;
- const clientType = document.querySelector('.bm-oscop__container [name="client_type"]:checked').value;
- const firmname = clientType === "firm" ? document.getElementById("client_firm").value : "";
- const nip = clientType === "firm" ? document.getElementById("client_nip").value : "";
- let firstname = document.getElementById("client_firstname").value;
- let lastname = document.getElementById("client_lastname").value;
- const street = document.getElementById("client_street").value;
- const city = document.getElementById("client_city").value;
- const zipcode = document.getElementById("client_zipcode").value;
- const region = document.getElementById("client_region").value;
-
- // Weź dane dostawy z innego adresu jeśli jest zaznaczone
- let deliveryFirstname, deliveryLastname, deliveryFirmName, deliveryStreet, deliveryCity, deliveryZipcode, deliveryPhone, deliveryRegion;
- if (document.getElementById("deliver_to_billingaddr").checked){
- deliveryFirstname = document.getElementById("delivery_firstname").value;
- deliveryLastname = document.getElementById("delivery_lastname").value;
- deliveryFirmName = document.getElementById("delivery_additional").value;
- deliveryStreet = document.getElementById("delivery_street").value;
- deliveryCity = document.getElementById("delivery_city").value;
- deliveryZipcode = document.getElementById("delivery_zipcode").value;
- deliveryPhone = document.getElementById("delivery_phone").value;
- deliveryRegion = document.getElementById("delivery_region").value;
- };
-
- // Informacje o newsletterze
- const clientMailing = checkNewsletter("client_mailing_logg","#client_mailing");
- const clientSms = checkNewsletter("client_send_sms_logg", "#client_sms");
-
- // Kod rabatowy i kod vouchera
- let rebateCode;
- if (document.getElementById("active-code")) rebateCode = document.getElementById("active-code").innerHTML;
- else rebateCode = "";
-
- let voucherCode;
- if(document.querySelector(".bm-oscop__container #payitem_2") && document.querySelector(".bm-oscop__container #payitem_2").checked) voucherCode = document.querySelector(".bm-oscop__container #order_voucher_id").value;
-
- // Jeśli zalogowany użytkownik jest firmą i nie ma imienia i nazwiska
- if (clientType.disabled && clientType.value === "firm") {
- if (!firstname) firstname = (deliveryFirstname) ? deliveryFirstname : 'Klient';
- if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma';
- }
-
- // Czyszczenie imienia i nazwiska ze znaków specjalnych
- firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
- lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
-
- // Dodatkowe informacje (uwagi, faktura, punkt odbioru)
- const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".bm-oscop__container [name=remarks]").value : "";
- const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".bm-oscop__container [name=deliverer_remarks]").value : "";
-
- const invoiceOption = document.querySelector("input[name=invoice]:checked").value;
- const pickuppoint = document.querySelector("#osc_order1 input:checked").dataset.pickuppoint === "y" ? document.querySelector("#osc_order1 input:checked").parentElement.querySelector("label [name=pickup_point]").value : "";
- const order = {
- affiliate: "",
- rebate_code: rebateCode,
- rebate_profit_points_id: "",
- client: {
- email: email,
- type: clientType,
- firm: firmname,
- nip: nip,
- firstname: firstname,
- lastname: lastname,
- street: street,
- city: city,
- zipcode: zipcode,
- phone: phone,
- phone2: "",
- region: region,
- province: "",
- delivery: { firstname: deliveryFirstname, lastname: deliveryLastname, additional: deliveryFirmName, street: deliveryStreet, city: deliveryCity, zipcode: deliveryZipcode, phone: deliveryPhone, region: deliveryRegion },
- save_to_mailing_after_order: clientMailing,
- save_to_mailing_sms_after_order: clientSms,
- },
- order: {
- stock: 1,
- payform_id: paymentMethod,
- voucher_code: voucherCode,
- remarks: shopRemarks,
- wants_invoice: invoiceOption,
- shipping: deliveryMethod,
- shipping_for_points: "",
- pickup_point: pickuppoint,
- delivery_hour: "",
- delivery_date: "",
- delivery_text: "",
- delivery_remarks: deliveryRemarks,
- },
- };
-
- // Złóż zamówienie jako zalogowany/niezalogowany użytkownik.
- if (document.querySelector(".--logged")) sendOrder(order);
- else {
- const clientData = new FormData();
- if(firmname) clientData.append("client_firm", firmname);
- if(nip) clientData.append("client_nip", nip);
- clientData.append("client_firstname", firstname);
- clientData.append("client_lastname", lastname);
- clientData.append("client_street", street);
- clientData.append("client_zipcode", zipcode);
- clientData.append("client_city", city);
- clientData.append("client_region", region);
- clientData.append("client_email", email);
- clientData.append("client_phone", phone);
-
- $.ajax({
- url: "/client-new.php?operation=onceorder",
- type: "POST",
- data: clientData,
- timeout: 1e4,
- cache: !1,
- contentType: !1,
- processData: !1,
- complete: function (e, a) {
- throwAjaxError(a);
+// Weź dane klienta
+const email = document.getElementById("client_email").value;
+const phone = document.getElementById("client_phone").value;
+const clientType = document.querySelector('.bm-oscop__container [name="client_type"]:checked').value;
+const firmname = clientType === "firm" ? document.getElementById("client_firm").value : "";
+const nip = clientType === "firm" ? document.getElementById("client_nip").value : "";
+let firstname = document.getElementById("client_firstname").value;
+let lastname = document.getElementById("client_lastname").value;
+const street = document.getElementById("client_street").value;
+const city = document.getElementById("client_city").value;
+const zipcode = document.getElementById("client_zipcode").value;
+const region = document.getElementById("client_region").value;
+
+// Weź dane dostawy z innego adresu jeśli jest zaznaczone
+let deliveryFirstname, deliveryLastname, deliveryFirmName, deliveryStreet, deliveryCity, deliveryZipcode, deliveryPhone, deliveryRegion;
+if (document.getElementById("deliver_to_billingaddr").checked){
+ deliveryFirstname = document.getElementById("delivery_firstname").value;
+ deliveryLastname = document.getElementById("delivery_lastname").value;
+ deliveryFirmName = document.getElementById("delivery_additional").value;
+ deliveryStreet = document.getElementById("delivery_street").value;
+ deliveryCity = document.getElementById("delivery_city").value;
+ deliveryZipcode = document.getElementById("delivery_zipcode").value;
+ deliveryPhone = document.getElementById("delivery_phone").value;
+ deliveryRegion = document.getElementById("delivery_region").value;
+};
+
+// Informacje o newsletterze
+const clientMailing = checkNewsletter("client_mailing_logg","#client_mailing");
+const clientSms = checkNewsletter("client_send_sms_logg", "#client_sms");
+
+// Kod rabatowy i kod vouchera
+let rebateCode;
+if (document.getElementById("active-code")) rebateCode = document.getElementById("active-code").innerHTML;
+else rebateCode = "";
+
+let voucherCode;
+if(document.querySelector(".bm-oscop__container #payitem_2") && document.querySelector(".bm-oscop__container #payitem_2").checked) voucherCode = document.querySelector(".bm-oscop__container #order_voucher_id").value;
+
+// Jeśli zalogowany użytkownik jest firmą i nie ma imienia i nazwiska
+if (clientType.disabled && clientType.value === "firm") {
+ if (!firstname) firstname = (deliveryFirstname) ? deliveryFirstname : 'Klient';
+ if (!lastname) lastname = (deliveryLastname) ? deliveryLastname : 'Firma';
+}
+
+// Czyszczenie imienia i nazwiska ze znaków specjalnych
+firstname = firstname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
+lastname = lastname.replace(/[&\/\\#,+()$~%.'":*?<>{}!@~`^_]/g, "");
+
+// Dodatkowe informacje (uwagi, faktura, punkt odbioru)
+const shopRemarks = document.getElementById("shop_remarks").checked ? document.querySelector(".bm-oscop__container [name=remarks]").value : "";
+const deliveryRemarks = document.getElementById("courier_remarks").checked ? document.querySelector(".bm-oscop__container [name=deliverer_remarks]").value : "";
+
+const invoiceOption = document.querySelector("input[name=invoice]:checked").value;
+const pickuppoint = document.querySelector("#osc_order1 input:checked").dataset.pickuppoint === "y" ? document.querySelector("#osc_order1 input:checked").parentElement.querySelector("label [name=pickup_point]").value : "";
+const order = {
+ affiliate: "",
+ rebate_code: rebateCode,
+ rebate_profit_points_id: "",
+ client: {
+ email: email,
+ type: clientType,
+ firm: firmname,
+ nip: nip,
+ firstname: firstname,
+ lastname: lastname,
+ street: street,
+ city: city,
+ zipcode: zipcode,
+ phone: phone,
+ phone2: "",
+ region: region,
+ province: "",
+ delivery: { firstname: deliveryFirstname, lastname: deliveryLastname, additional: deliveryFirmName, street: deliveryStreet, city: deliveryCity, zipcode: deliveryZipcode, phone: deliveryPhone, region: deliveryRegion },
+ save_to_mailing_after_order: clientMailing,
+ save_to_mailing_sms_after_order: clientSms,
},
- success: function (e, a) {
- sendOrder(order);
+ order: {
+ stock: 1,
+ payform_id: paymentMethod,
+ voucher_code: voucherCode,
+ remarks: shopRemarks,
+ wants_invoice: invoiceOption,
+ shipping: deliveryMethod,
+ shipping_for_points: "",
+ pickup_point: pickuppoint,
+ delivery_hour: "",
+ delivery_date: "",
+ delivery_text: "",
+ delivery_remarks: deliveryRemarks,
},
- });
- }
+ };
+
+// Złóż zamówienie jako zalogowany/niezalogowany użytkownik.
+if (document.querySelector(".--logged")) sendOrder(order);
+else {
+ const clientData = new FormData();
+ if(firmname) clientData.append("client_firm", firmname);
+ if(nip) clientData.append("client_nip", nip);
+ clientData.append("client_firstname", firstname);
+ clientData.append("client_lastname", lastname);
+ clientData.append("client_street", street);
+ clientData.append("client_zipcode", zipcode);
+ clientData.append("client_city", city);
+ clientData.append("client_region", region);
+ clientData.append("client_email", email);
+ clientData.append("client_phone", phone);
+
+ $.ajax({
+ url: "/client-new.php?operation=onceorder",
+ type: "POST",
+ data: clientData,
+ timeout: 1e4,
+ cache: !1,
+ contentType: !1,
+ processData: !1,
+ complete: function (e, a) {
+ throwAjaxError(a);
+ },
+ success: function (e, a) {
+ sendOrder(order);
+ },
+ });
+}
}
function checkNewsletter(logged, regular){
- if(document.querySelector(`.bm-oscop__container [name=${logged}]`)) return document.querySelector(`.bm-oscop__container [name=${logged}]`).value ? 1 : 0;
- else if(document.querySelector(regular)) return document.querySelector(regular).checked ? 1 : 0;
- else return 0;
+if(document.querySelector(`.bm-oscop__container [name=${logged}]`)) return document.querySelector(`.bm-oscop__container [name=${logged}]`).value ? 1 : 0;
+else if(document.querySelector(regular)) return document.querySelector(regular).checked ? 1 : 0;
+else return 0;
}
// Funkcja wysyłająca zamówienie
function sendOrder(data){
- $.ajax({
- url: "/ajax/order-create.php",
- type: "post",
- timeout: 16e3,
- dataType: "json",
- data: data,
- complete: function (e, a) {
- throwAjaxError(a);
- },
- success: function (e) {
- if(e.location){
- // Zapisanie państwa żeby sprawdzić czy się zgadza
- const usedCountry = document.getElementById("deliver_to_billingaddr").checked ? document.getElementById("delivery_region").value : document.getElementById("client_region").value;
- // Zapisanie płatności i dostawy na następny raz
- const paymentInput = document.querySelector(`input[name="payform_id"]:checked`)
- const usedPaymentMethod = {
- id: paymentInput.id,
- group: paymentInput.dataset.group,
- };
-
- const deliveryMethod = document.querySelector(`input[name="shipping"]:checked`);
- const selectedPoint = deliveryMethod.parentElement.querySelector(".fselectedPoint");
-
- const usedDeliveryMethod = {
- id: deliveryMethod.id,
- fselectedPoint: selectedPoint ? {
- deliveryPointId: selectedPoint.dataset.deliveryPointId,
- name: selectedPoint.dataset.name,
- street: selectedPoint.dataset.street,
- zipcode: selectedPoint.dataset.zipcode,
- city: selectedPoint.dataset.city,
- courierId: selectedPoint.dataset.courierId
- } : false
- };
-
- const prevOrderInfo = {
- prevPaymentMethod: usedPaymentMethod,
- prevDeliveryMethod: usedDeliveryMethod,
- prevCountry: usedCountry
- }
-
- localStorage.setItem("prevOrderInfo", JSON.stringify(prevOrderInfo));
-
- // Przeniesienie na stonę informacji o zamóieniu
- window.location.href = e.location;
- return;
+$.ajax({
+ url: "/ajax/order-create.php",
+ type: "post",
+ timeout: 16e3,
+ dataType: "json",
+ data: data,
+ complete: function (e, a) {
+ throwAjaxError(a);
+ },
+ success: function (e) {
+ if(e.location){
+ // Zapisanie państwa żeby sprawdzić czy się zgadza
+ const usedCountry = document.getElementById("deliver_to_billingaddr").checked ? document.getElementById("delivery_region").value : document.getElementById("client_region").value;
+ // Zapisanie płatności i dostawy na następny raz
+ const paymentInput = document.querySelector(`input[name="payform_id"]:checked`)
+ const usedPaymentMethod = {
+ id: paymentInput.id,
+ group: paymentInput.dataset.group,
+ };
+
+ const deliveryMethod = document.querySelector(`input[name="shipping"]:checked`);
+ const selectedPoint = deliveryMethod.parentElement.querySelector(".fselectedPoint");
+
+ const usedDeliveryMethod = {
+ id: deliveryMethod.id,
+ fselectedPoint: selectedPoint ? {
+ deliveryPointId: selectedPoint.dataset.deliveryPointId,
+ name: selectedPoint.dataset.name,
+ street: selectedPoint.dataset.street,
+ zipcode: selectedPoint.dataset.zipcode,
+ city: selectedPoint.dataset.city,
+ courierId: selectedPoint.dataset.courierId
+ } : false
+ };
+
+ const prevOrderInfo = {
+ prevPaymentMethod: usedPaymentMethod,
+ prevDeliveryMethod: usedDeliveryMethod,
+ prevCountry: usedCountry
}
- if(e.errno){
- app_shop.fn.ajaxLoadSite(0)
- e.errno === 115 ? Alertek.show_alert(`${
}`) : Alertek.show_alert(e.error);
- }
- },
- });
+
+ localStorage.setItem("prevOrderInfo", JSON.stringify(prevOrderInfo));
+
+ // Przeniesienie na stonę informacji o zamóieniu
+ window.location.href = e.location;
+ return;
+ }
+ if(e.errno){
+ app_shop.fn.ajaxLoadSite(0)
+ e.errno === 115 ? Alertek.show_alert(`${
}`) : Alertek.show_alert(e.error);
+ }
+ },
+});
}
// REJESTRACJA KLIENTA
const REGISTER_CLIENT = (registerClientInput) => JSON.stringify({
- query: `mutation {
- registerClient(${registerClientInput}) {
- status
- error {
- code
- message
- }
+ query: `mutation {
+ registerClient(${registerClientInput}) {
+ status
+ error {
+ code
+ message
}
- }`,
- });
+ }
+ }`,
+});
// Funkcja tworząca nowego klienta wraz z zamówieniem
async function addClient(succes, error){
- const clientType = document.querySelector("input[name=client_type]:checked").value;
- const saveToMailing = document.getElementById("client_mailing");
- let saveToMailingData = false;
- if(saveToMailing && saveToMailing.checked) saveToMailingData = true;
-
- const saveToSms = document.getElementById("client_sms");
- let saveToSmsData = false;
- if(saveToSms && saveToSms.checked) saveToSmsData = true;
-
- const registerClientData = await fetchData({
- data: REGISTER_CLIENT(`RegisterClientInput: {
- clientData: {
- clientDeliveryData: {
- ${clientType === "firm" ? `companyName: "${document.getElementById("client_firm").value}",` : ""}
- firstname: "${document.getElementById("client_firstname").value}",
- lastname: "${document.getElementById("client_lastname").value}",
- street: "${document.getElementById("client_street").value}",
- zipcode: "${document.getElementById("client_zipcode").value}",
- city: "${document.getElementById("client_city").value}",
- country: ${document.getElementById("client_region").value},
- phone: "${document.getElementById("client_phone").value}",
- }
- ${
- document.getElementById("deliver_to_billingaddr").checked ? `clientDeliveryOtherAddressData: {
- companyName: "${document.getElementById("delivery_additional").value}",
- firstname: "${document.getElementById("delivery_firstname").value}",
- lastname: "${document.getElementById("delivery_lastname").value}",
- street: "${document.getElementById("delivery_street").value}",
- zipcode: "${document.getElementById("delivery_zipcode").value}",
- city: "${document.getElementById("delivery_city").value}",
- country: ${document.getElementById("delivery_region").value},
- phone: "${document.getElementById("delivery_phone").value}",
- }` : ""
- }
- type: ${clientType},
- ${clientType === "firm" ? `taxNumber: "${document.getElementById("client_nip").value}",` : ""}
- email: "${document.getElementById("client_email").value}",
- saveToMailingAfterOrder: ${saveToMailingData},
- saveToSmsAfterOrder: ${saveToSmsData},
+const clientType = document.querySelector("input[name=client_type]:checked").value;
+const saveToMailing = document.getElementById("client_mailing");
+let saveToMailingData = false;
+if(saveToMailing && saveToMailing.checked) saveToMailingData = true;
+
+const saveToSms = document.getElementById("client_sms");
+let saveToSmsData = false;
+if(saveToSms && saveToSms.checked) saveToSmsData = true;
+
+const registerClientData = await fetchData({
+ data: REGISTER_CLIENT(`RegisterClientInput: {
+ clientData: {
+ clientDeliveryData: {
+ ${clientType === "firm" ? `companyName: "${document.getElementById("client_firm").value}",` : ""}
+ firstname: "${document.getElementById("client_firstname").value}",
+ lastname: "${document.getElementById("client_lastname").value}",
+ street: "${document.getElementById("client_street").value}",
+ zipcode: "${document.getElementById("client_zipcode").value}",
+ city: "${document.getElementById("client_city").value}",
+ country: ${document.getElementById("client_region").value},
+ phone: "${document.getElementById("client_phone").value}",
}
- loginAndPassword: {
- login: "${document.querySelector(".register__login").value}",
- password: "${document.querySelector(".register__password").value}",
- passwordRepeat: "${document.querySelector(".register__password").value}",
+ ${
+ document.getElementById("deliver_to_billingaddr").checked ? `clientDeliveryOtherAddressData: {
+ companyName: "${document.getElementById("delivery_additional").value}",
+ firstname: "${document.getElementById("delivery_firstname").value}",
+ lastname: "${document.getElementById("delivery_lastname").value}",
+ street: "${document.getElementById("delivery_street").value}",
+ zipcode: "${document.getElementById("delivery_zipcode").value}",
+ city: "${document.getElementById("delivery_city").value}",
+ country: ${document.getElementById("delivery_region").value},
+ phone: "${document.getElementById("delivery_phone").value}",
+ }` : ""
}
- reCaptchaToken: "${document.querySelector(`input[name="iai-recaptcha-token"`).value}"
- }`),
- linkParameter: '?mutation=registerClient',
- });
- if(!registerClientData?.data?.registerClient?.error || registerClientData?.error?.message) succes();
- else {
- Alertek.show_alert(registerClientData.data.registerClient.error?.message);
- app_shop.fn.ajaxLoadSite(0);
+ type: ${clientType},
+ ${clientType === "firm" ? `taxNumber: "${document.getElementById("client_nip").value}",` : ""}
+ email: "${document.getElementById("client_email").value}",
+ saveToMailingAfterOrder: ${saveToMailingData},
+ saveToSmsAfterOrder: ${saveToSmsData},
}
+ loginAndPassword: {
+ login: "${document.querySelector(".register__login").value}",
+ password: "${document.querySelector(".register__password").value}",
+ passwordRepeat: "${document.querySelector(".register__password").value}",
+ }
+ reCaptchaToken: "${document.querySelector(`input[name="iai-recaptcha-token"`).value}"
+}`),
+ linkParameter: '?mutation=registerClient',
+});
+if(!registerClientData?.data?.registerClient?.error || registerClientData?.error?.message) succes();
+else {
+ Alertek.show_alert(registerClientData.data.registerClient.error?.message);
+ app_shop.fn.ajaxLoadSite(0);
+}
}
// Zmiana informacji formularza w url params
function serializeFormData(form){
- const formData = new FormData(form);
- let serializedString = "";
- for (const [name, value] of formData) {
- serializedString += `${name}=${encodeURIComponent(value)}&`;
- }
- serializedString = serializedString.slice(0,-1);
- return serializedString;
+const formData = new FormData(form);
+let serializedString = "";
+for (const [name, value] of formData) {
+ serializedString += `${name}=${encodeURIComponent(value)}&`;
+}
+serializedString = serializedString.slice(0,-1);
+return serializedString;
}
// Pokaz error (płatności, dostawy, zalozenie nowego konta)
function orderValidationError(text){
- app_shop.vars.validation = 0;
- Alertek.show_alert(`${text}`);
+app_shop.vars.validation = 0;
+Alertek.show_alert(`${text}`);
}
///////////////////////////////////////////////////////////////////
@@ -2099,235 +2355,235 @@ function orderValidationError(text){
// Wyłącz scrollowanie dla strony
function disablePageScroll(){
- const documentBody = document.querySelector("body");
- documentBody.style.paddingRight = `${15 + window.innerWidth - documentBody.clientWidth}px`;
- documentBody.style.overflowY = "hidden";
+const documentBody = document.querySelector("body");
+documentBody.style.paddingRight = `${15 + window.innerWidth - documentBody.clientWidth}px`;
+documentBody.style.overflowY = "hidden";
}
function enablePageScroll(){
- const documentBody = document.querySelector("body");
- documentBody.style.paddingRight = "15px";
- documentBody.style.overflowY = "auto";
+const documentBody = document.querySelector("body");
+documentBody.style.paddingRight = "15px";
+documentBody.style.overflowY = "auto";
}
// Zmiana funkcji by naprawić bugi
app_shop.fn.load = function(_url,target,callback,paramets) {
- if(app_shop.vars.xhr && app_shop.vars.xhr.readystate != 4) app_shop.vars.xhr.abort();
- $(target).addClass('load-content');
- for(let i=0; target.length > i ; i++) $(target[i][0]).addClass('load-content');
-
- app_shop.vars.xhr = $.ajax({
- url: _url+paramets,
- timeout: 16000,
- success: function(data,textStatus) {
- for(let i=0; target.length > i ; i++) $(target[i][0]).removeClass('load-content').html($(data).find(target[i][1]).html());
- app_shop.fn.change_url(_url);
- app_shop.fn.evalJSFromHtml(data);
- if(callback) callback();
- },
- error: function(data) {
- window.location.href = _url;
- }
- });
- return app_shop.vars.xhr;
+ if(app_shop.vars.xhr && app_shop.vars.xhr.readystate != 4) app_shop.vars.xhr.abort();
+ $(target).addClass('load-content');
+ for(let i=0; target.length > i ; i++) $(target[i][0]).addClass('load-content');
+
+ app_shop.vars.xhr = $.ajax({
+ url: _url+paramets,
+ timeout: 16000,
+ success: function(data,textStatus) {
+ for(let i=0; target.length > i ; i++) $(target[i][0]).removeClass('load-content').html($(data).find(target[i][1]).html());
+ app_shop.fn.change_url(_url);
+ app_shop.fn.evalJSFromHtml(data);
+ if(callback) callback();
+ },
+ error: function(data) {
+ window.location.href = _url;
+ }
+ });
+ return app_shop.vars.xhr;
};
function throwAjaxError(e) {
- -1 !== $.inArray(e, ["nocontent", "error", "timeout", "abort", "parsererror"]) && (console.log("Error:" + e), Alertek.show_alert( "Błąd podczas logowania, proszę spróbować ponownie" + " (" + e + ": " + $.now() + ")"), $.cookie("off_opc", !0));
+-1 !== $.inArray(e, ["nocontent", "error", "timeout", "abort", "parsererror"]) && (console.log("Error:" + e), Alertek.show_alert( "Błąd podczas logowania, proszę spróbować ponownie" + " (" + e + ": " + $.now() + ")"), $.cookie("off_opc", !0));
};
async function fetchData(options = {}) {
- const {data,link,linkParameter = '',alert = true} = options;
- if (!data) return false;
- try {
- const response = await fetch(`${link || app_shop.urls.graphql || '/graphql/v1/'}${linkParameter}`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- Accept: 'application/json',
- },
- body: data
- });
- const dataJson = await response.json();
- if ((dataJson?.errors || dataJson?.error) && alert) {
- Alertek.Error(
);
- }
- return dataJson;
- } catch (error) {
- console.error('GraphQL fetchData() Error:', error);
- if (alert) {
- Alertek.Error(
);
- }
- return false;
+const {data,link,linkParameter = '',alert = true} = options;
+if (!data) return false;
+try {
+ const response = await fetch(`${link || app_shop.urls.graphql || '/graphql/v1/'}${linkParameter}`, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ Accept: 'application/json',
+ },
+ body: data
+ });
+ const dataJson = await response.json();
+ if ((dataJson?.errors || dataJson?.error) && alert) {
+ Alertek.Error(
);
}
+ return dataJson;
+} catch (error) {
+ console.error('GraphQL fetchData() Error:', error);
+ if (alert) {
+ Alertek.Error(
);
+ }
+ return false;
+}
}
let firstTimeLoadPage = true;
function initOSCOP(){
- // dodanie klasy do html
- document.querySelector("html").classList.add("--place-order-page")
-
- // Element z numerem edycji jeśli jest
- const editNumber = document.getElementById("edit-number");
-
- if(document.querySelector(".bm-oscop__container").childElementCount && !editNumber) changeRegion(null);
-
- // Jeśli edycja zamówienia uzupełnij dane (niewiadomo jak z voucherem bo go się nie da edytować)
- if(editNumber){
- const ORDER_DETAILS = (orderNumber) => JSON.stringify({
- query: `query{
- orderDetails(${orderNumber}){
- status
- client {
- email
+// dodanie klasy do html
+document.querySelector("html").classList.add("--place-order-page")
+
+// Element z numerem edycji jeśli jest
+const editNumber = document.getElementById("edit-number");
+
+if(document.querySelector(".bm-oscop__container").childElementCount && !editNumber) changeRegion(null);
+
+// Jeśli edycja zamówienia uzupełnij dane (niewiadomo jak z voucherem bo go się nie da edytować)
+if(editNumber){
+ const ORDER_DETAILS = (orderNumber) => JSON.stringify({
+ query: `query{
+ orderDetails(${orderNumber}){
+ status
+ client {
+ email
+ phone
+ billingData {
+ companyName
+ taxNumber
+ firstname
+ lastname
+ street
+ zipcode
+ city
+ province
+ countryName
+ }
+ deliveryData {
+ companyName
+ firstname
+ lastname
+ street
+ zipcode
+ city
+ countryName
+ province
phone
- billingData {
- companyName
- taxNumber
- firstname
- lastname
- street
- zipcode
- city
- province
- countryName
- }
- deliveryData {
- companyName
- firstname
- lastname
- street
- zipcode
- city
- countryName
- province
- phone
- }
}
- payment {
- paymentMethod {
- id
- }
- isFirstPayment
+ }
+ payment {
+ paymentMethod {
+ id
}
- shipping {
- courier {
- id
- fullId
- icon
- name
- carrierName
- pickupPoint
- companyKey
- companyGroupKey
+ isFirstPayment
+ }
+ shipping {
+ courier {
+ id
+ fullId
+ icon
+ name
+ carrierName
+ pickupPoint
+ companyKey
+ companyGroupKey
+ }
+ pickupData {
+ id
+ codeExternal
+ name
+ location
+ link
+ markerIconUrl
+ requiredClientNumber
+ coordinates {
+ latitude
+ longitude
+ distance
}
- pickupData {
- id
- codeExternal
- name
- location
- link
- markerIconUrl
- requiredClientNumber
- coordinates {
- latitude
- longitude
- distance
- }
- phone
- address {
- buildingAndHouseNumber
- city
- country
- postcode
- street
- }
- courierId
+ phone
+ address {
+ buildingAndHouseNumber
+ city
+ country
+ postcode
+ street
}
- remarks
+ courierId
}
remarks
- checkoutType
- }
- }`
+ }
+ remarks
+ checkoutType
+ }
+ }`
+ });
+
+ // Pobranie danych o edytowanym zamówieniu
+ async function getEditData(){
+ const data = await fetchData({
+ data: ORDER_DETAILS(`OrderDetailsInput: {
+ orderNumber: ${editNumber.value},
+ requestSource: order_edit
+ }
+ `),
+ linkParameter: "?query=orderDetails",
+ alert: false,
});
- // Pobranie danych o edytowanym zamówieniu
- async function getEditData(){
- const data = await fetchData({
- data: ORDER_DETAILS(`OrderDetailsInput: {
- orderNumber: ${editNumber.value},
- requestSource: order_edit
- }
- `),
- linkParameter: "?query=orderDetails",
- alert: false,
+ // Jesli error to zatrzymaj funkcje
+ if(!data?.data?.orderDetails || !data) return changeRegion();
+
+ // Wstawienie danych
+ insertEditData(data.data.orderDetails);
+ }
+ function insertEditData(orderDetails){
+ const orderData = {
+ paymentMethodId: orderDetails.payment.paymentMethod.id,
+ deliveryMethodId: orderDetails.shipping.courier.id,
+ pickupData: orderDetails.shipping.pickupData,
+ };
+ // Sprawdzenie czy użytkownik miał inny adres Dostawy niż Billingowy.
+ let differentDelivery = false;
+ for(const [key, value] of Object.entries(orderDetails.client.billingData)){
+ if(key !== "taxNumber" && key !== "companyName"){
+ if(value !== orderDetails.client.deliveryData[key]) differentDelivery = true;
+ }
+ }
+ if(orderDetails.client.deliveryData.phone !== orderDetails.client.phone) differentDelivery = true;
+
+ // Uzupełnienie informacji innego adresu
+ if(differentDelivery){
+ // Pokazanie formularza dodatkowej dostawy
+ document.getElementById("deliver_to_billingaddr").checked = true;
+ document.querySelector(".bm-oscop__container #client_new_additional .delivery_box.cn_wrapper").classList.add("--more");
+ document.querySelector(".delivery__address-list-button").classList.add("--fade-in");
+
+ fillInput(document.getElementById("delivery_firstname"), orderDetails.client.deliveryData.firstname);
+ fillInput(document.getElementById("delivery_lastname"), orderDetails.client.deliveryData.lastname);
+ fillInput(document.getElementById("delivery_street"), orderDetails.client.deliveryData.street);
+ fillInput(document.getElementById("delivery_zipcode"), orderDetails.client.deliveryData.zipcode);
+ fillInput(document.getElementById("delivery_city"), orderDetails.client.deliveryData.city);
+ fillInput(document.getElementById("delivery_phone"), orderDetails.client.deliveryData.phone);
+
+ if(orderDetails.client.deliveryData.companyName) fillInput(document.getElementById("delivery_additional"), orderDetails.client.deliveryData.companyName);
+ document.querySelectorAll("#delivery_region option").forEach(opt => {
+ if(opt.text === orderDetails.client.deliveryData.countryName) document.getElementById("delivery_region").value = opt.value;
});
- // Jesli error to zatrzymaj funkcje
- if(!data?.data?.orderDetails || !data) return changeRegion();
-
- // Wstawienie danych
- insertEditData(data.data.orderDetails);
- }
- function insertEditData(orderDetails){
- const orderData = {
- paymentMethodId: orderDetails.payment.paymentMethod.id,
- deliveryMethodId: orderDetails.shipping.courier.id,
- pickupData: orderDetails.shipping.pickupData,
- };
- // Sprawdzenie czy użytkownik miał inny adres Dostawy niż Billingowy.
- let differentDelivery = false;
- for(const [key, value] of Object.entries(orderDetails.client.billingData)){
- if(key !== "taxNumber" && key !== "companyName"){
- if(value !== orderDetails.client.deliveryData[key]) differentDelivery = true;
- }
- }
- if(orderDetails.client.deliveryData.phone !== orderDetails.client.phone) differentDelivery = true;
-
- // Uzupełnienie informacji innego adresu
- if(differentDelivery){
- // Pokazanie formularza dodatkowej dostawy
- document.getElementById("deliver_to_billingaddr").checked = true;
- document.querySelector(".bm-oscop__container #client_new_additional .delivery_box.cn_wrapper").classList.add("--more");
- document.querySelector(".delivery__address-list-button").classList.add("--fade-in");
-
- fillInput(document.getElementById("delivery_firstname"), orderDetails.client.deliveryData.firstname);
- fillInput(document.getElementById("delivery_lastname"), orderDetails.client.deliveryData.lastname);
- fillInput(document.getElementById("delivery_street"), orderDetails.client.deliveryData.street);
- fillInput(document.getElementById("delivery_zipcode"), orderDetails.client.deliveryData.zipcode);
- fillInput(document.getElementById("delivery_city"), orderDetails.client.deliveryData.city);
- fillInput(document.getElementById("delivery_phone"), orderDetails.client.deliveryData.phone);
-
- if(orderDetails.client.deliveryData.companyName) fillInput(document.getElementById("delivery_additional"), orderDetails.client.deliveryData.companyName);
- document.querySelectorAll("#delivery_region option").forEach(opt => {
- if(opt.text === orderDetails.client.deliveryData.countryName) document.getElementById("delivery_region").value = opt.value;
- });
-
- // Metody płatności i dostaw
- if(document.getElementById("delivery_region").value !== document.getElementById("client_region").value) changeRegion(orderData);
- else getNewPaymentsAndDeliveries(orderData);
- // Jeśli nie było dostawy na inny adres uzupełnij metody dostaw i płatności
- }else getNewPaymentsAndDeliveries(orderData);
-
- // Uzupełnienie uwag dla sklepu/kuriera
- if(orderDetails.remarks){
- document.getElementById("shop_remarks").checked = true;
- document.getElementById("order_comment_field").value = orderDetails.remarks;
- }
- if(orderDetails.shipping.remarks){
- document.getElementById("courier_remarks").checked = true;
- document.getElementById("order_comment2_field").value = orderDetails.shipping.remarks;
- }
- }
+ // Metody płatności i dostaw
+ if(document.getElementById("delivery_region").value !== document.getElementById("client_region").value) changeRegion(orderData);
+ else getNewPaymentsAndDeliveries(orderData);
+ // Jeśli nie było dostawy na inny adres uzupełnij metody dostaw i płatności
+ }else getNewPaymentsAndDeliveries(orderData);
- getEditData();
- // Funkcja od uzupełnienia inputów
- function fillInput(input, value){
- input.value = value;
- input.classList.add("focused");
- input.parentElement.classList.add("--success", "has-success");
+ // Uzupełnienie uwag dla sklepu/kuriera
+ if(orderDetails.remarks){
+ document.getElementById("shop_remarks").checked = true;
+ document.getElementById("order_comment_field").value = orderDetails.remarks;
+ }
+ if(orderDetails.shipping.remarks){
+ document.getElementById("courier_remarks").checked = true;
+ document.getElementById("order_comment2_field").value = orderDetails.shipping.remarks;
}
}
- // Sprawdzenie czy schować przyczepiony przycisk od zakupu
- checkIfShowAttatched()
+ getEditData();
+ // Funkcja od uzupełnienia inputów
+ function fillInput(input, value){
+ input.value = value;
+ input.classList.add("focused");
+ input.parentElement.classList.add("--success", "has-success");
+ }
+}
+
+// Sprawdzenie czy schować przyczepiony przycisk od zakupu
+checkIfShowAttatched()
}
initOSCOP();
\ No newline at end of file
diff --git a/wydzielonyScriptLiteraly.js b/wydzielonyScriptLiteraly.js
index 5a2b015..35640cb 100644
--- a/wydzielonyScriptLiteraly.js
+++ b/wydzielonyScriptLiteraly.js
@@ -1,6 +1,51 @@
-// To jest do map co z tym zrobić?
+// DANE DO WALIDACJI NUMERU TELEFONU
+const countryPhoneData = {
+ 1143020003: {
+ country_code: "48",
+ country_name: "Poland",
+ mobile_begin_with: ["4", "5", "6", "7", "8"],
+ phone_number_lengths: [9],
+ },
+ 1143020001: {
+ country_code: "355",
+ country_name: "Albania",
+ mobile_begin_with: ["67", "68", "69"],
+ phone_number_lengths: [9],
+ },
+ 1143020041: {
+ country_code: "420",
+ country_name: "Czech Republic",
+ mobile_begin_with: ["6", "7"],
+ phone_number_lengths: [9],
+ },
+ 1143020057: {
+ country_code: "33",
+ country_name: "France",
+ mobile_begin_with: ["6", "7"],
+ phone_number_lengths: [9],
+ },
+ 1143020116: {
+ country_code: "370",
+ country_name: "Lithuania",
+ mobile_begin_with: ["6"],
+ phone_number_lengths: [8],
+ },
+ 1143020143: {
+ country_code: "49",
+ country_name: "Germany",
+ mobile_begin_with: ["15", "16", "17"],
+ phone_number_lengths: [10, 11],
+ },
+ 1143020169: {
+ country_code: "40",
+ country_name: "Romania",
+ mobile_begin_with: ["7"],
+ phone_number_lengths: [9],
+ },
+}
+
// LEAFLET MAP
-var stocks_list_more_txt=
;var stocks_list_choose=
;var pickupl_nopoints=
;var mapTooltipLink_class="btn-small";var autocompleteData=[];var ajaxGetPickupNoMap=function(){$(".mapContainer_pickup, .pickupl_submit").show();var options={courierId:pickup_sites.courierId,isCod:pickup_sites.isCod};$.ajax({type:"GET",url:"/ajax/getPickups.php",data:options,dataType:"json",success:function(json){if(!json.pickupPoints.length){Alertek.show_alert(pickupl_nopoints);$(".loadingMap").hide();return false}setPickupPointsNoMap(json)},error:function(){orderdetails_payments.ajaxLoadSite(0);$(".no_google_api_key div.asideContainer_pickup").show();Alertek.show_alert(pickupl_error)}})};var setPickupPointsNoMap=function(json){var pickup_clone_tmp=$("#pickup_copy").clone();var pickups="";for(i in json.pickupPoints){var pickup=json.pickupPoints[i];var pickup_street=pickup.address.buildingAndHouseNumber!=""?pickup.address.street+" "+pickup.address.buildingAndHouseNumber:pickup.address.street;pickup_clone=pickup_clone_tmp.clone();pickup_clone.find("input[name=pickup_point], input[name=stock]").attr("id","pickup_point_"+pickup.id).val(pickup.id);pickup_clone.find("label").attr({id:"pp_"+pickup.id,"data-latitude":pickup.coordinates.latitude,"data-longitude":pickup.coordinates.longitude,"data-id":pickup.id,"data-requires_client_number":pickup.requiresClientNumber,for:"pickup_point_"+pickup.id});if(pickup.coordinates.longitude){pickup_clone.find("label .map_dir").attr("href","https://www.google.com/maps/dir/?api=1&destination="+pickup.coordinates.latitude+","+pickup.coordinates.longitude)}else{pickup_clone.find("label .map_dir").attr("href","https://maps.google.com?saddr=Current+Location&daddr="+pickup.address.street+"+"+pickup.address.postcode+"+"+pickup.address.city)}pickup_clone.find("b.headerText").text(pickup.name);pickup_clone.find("span.streetText").text(pickup_street);pickup_clone.find("span.zipcodePickup").html(pickup.address.postcode+'
'+pickup.address.city+" ");pickup_clone.find("div.moreText").text(pickup.location);pickup_clone.find("a.moreLink").attr("href",pickup.link);if(!pickup.requiresClientNumber){pickup_clone.find("input[name=client_courier_number]").remove()}pickups+=pickup_clone.html();autocompleteData.push({label:pickup.address.city+", "+pickup.address.street+" "+pickup.address.buildingAndHouseNumber+" "+pickup.address.postcode+" "+pickup.id,value:pickup.address.city+", "+pickup.address.street+" "+pickup.address.buildingAndHouseNumber+", "+pickup.id,description:pickup.location,id:pickup.id})}$("#pickup_site .asideContainer_pickup").html(pickups);var accentMap={"ł":"l","ó":"o","ź":"z","ś":"s",",":""," ":" "};var normalize=function(term){var ret="";var term=term.toLowerCase();for(var i=0;i
");$(".loadingMap").hide();return false}else{$(".mapContainer_pickup, .asideContainer_pickup, .pickupl_submit, #pickup_map").show()}pickup_sites.search_lat=place.geometry.location.lat();pickup_sites.search_lng=place.geometry.location.lng();for(var i=0;i