// jloadScriptAsync (Promise) ----------------------------
var jloadScriptAsync = function (d, s, id, src) {
return new Promise((resolve, reject) => {
try {
var fjs = d.getElementsByTagName(s)[0];
const scriptEle = d.createElement(s);
scriptEle.id=id;
scriptEle.onload = function () {
//solo quando script caricato:
resolve(scriptEle);
}
scriptEle.onerror = function (ev) {
reject(new Error(`jloadScriptAsync error for ${src}`));
}
scriptEle.src = src;
fjs.parentNode.insertBefore(scriptEle, fjs);
//document.head.append(scriptEle);
} catch (error) {
reject("160 ➔ jloadScriptAsync "+error); // errore interno alla funzione
}
});
};
// fine jloadScriptAsync
// waitForAWN Funzione che attende che un oggetto JavaScript AWN venga definito
function waitForAWN(pollInterval = 100, timeout = 5000) {
return new Promise((resolve, reject) => {
const startTime = Date.now();
function checkAWN() {
if (typeof AWN !== 'undefined' && AWN !== 'undefined') {
resolve(AWN); // L'oggetto AWN è stato trovato, risolvi la Promise
} else if (Date.now() - startTime >= timeout) {
reject(new Error(`Timeout: Oggetto AWN non trovato entro ${timeout}ms`)); // Timeout raggiunto
} else {
setTimeout(checkAWN, pollInterval); // Prova di nuovo dopo l'intervallo di polling
}
}
checkAWN(); // Inizia il polling
});
}
// fine waitForAWN
//debugger;
// waitForJQ (Promise) ----------------------------
// Funzione che attende che un oggetto JavaScript jQuery venga definito
function waitForJQ(pollInterval = 100, timeout = 5000) {
return new Promise((resolve, reject) => {
const startTime = Date.now();
function checkJQ() {
if (typeof jQuery !== 'undefined' && jQuery !== 'undefined') {
resolve(jQuery); // L'oggetto jQuery è stato trovato, risolvi la Promise
} else if (Date.now() - startTime >= timeout) {
reject(new Error(`Timeout: Oggetto jQuery non trovato entro ${timeout}ms`)); // Timeout raggiunto
} else {
setTimeout(checkJQ, pollInterval); // Prova di nuovo dopo l'intervallo di polling
}
}
checkJQ(); // Inizia il polling
});
}
// fine waitForJQ
// waitForMP (Promise) ----------------------------
// Funzione che attende che un oggetto JavaScript jQuery.magnificPopup venga definito
function waitForMP(pollInterval = 100, timeout = 5000) {
return new Promise((resolve, reject) => {
const startTime = Date.now();
function checkMP() {
if (typeof jQuery.magnificPopup !== 'undefined' && jQuery.magnificPopup !== 'undefined') {
resolve(jQuery.magnificPopup); // L'oggetto jQuery.magnificPopup è stato trovato, risolvi la Promise
} else if (Date.now() - startTime >= timeout) {
reject(new Error(`Timeout: Oggetto jQuery.magnificPopup non trovato entro ${timeout}ms`)); // Timeout raggiunto
} else {
setTimeout(checkMP, pollInterval); // Prova di nuovo dopo l'intervallo di polling
}
}
checkMP(); // Inizia il polling
});
}
// fine waitForMP
(async () => {
var pfAWN;
var runstep2modalgoskebi_sitia_momo_3p = async function (d, s){
var anchordiv = document.getElementById("skebi_sitia_momo_3p");
if(typeof pfAWN == "undefined"){
pfAWN = new AWN({
position: "top-right",
durations: {
global: 5000,
success: 3000,
warning: 5000,
alert: 0,
info: 4000,
tip: 2000
},
labels: {
success: "SUCCESS",
warning: "EMBEDDING WARNING!",
alert: "EMBEDDING ERROR!",
info: "INFO",
tip: ""
},
icons: {
prefix: ""
}
});
}else{
}
if(anchordiv){
if (!('model' in anchordiv.dataset)) {
pfAWN.alert('target [ skebi_sitia_momo_3p ] (div da elaborare) non ha attributo obbligatorio [ data-model ]!');
}else{
var m = anchordiv.getAttribute('data-model');
if (!('key' in anchordiv.dataset)) {
if (('shareid' in anchordiv.dataset)) {
var shareid = anchordiv.getAttribute('data-shareid');
if (!('closeconfirm' in anchordiv.dataset)) {
var closeconfirm = 'Sicuro di abbandonare il configuratore?';
}else{
var closeconfirm = anchordiv.getAttribute('data-closeconfirm');
}
if (!('closepopup' in anchordiv.dataset)) {
var closepopup = 'Exit';
}else{
var closepopup = anchordiv.getAttribute('data-closepopup');
}
jQuery('#skebi_sitia_momo_3p').magnificPopup({
items: {
src: jQuery('