// 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("110 ➔ 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 runstep2modalgodiv_sitia_klera_stool = async function (d, s){
var anchordiv = document.getElementById("div_sitia_klera_stool");
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 [ div_sitia_klera_stool ] (div da elaborare) non ha attributo obbligatorio [ data-model ]!');
}else{
var m = anchordiv.getAttribute('data-model');
if (!('key' in anchordiv.dataset)) {
pfAWN.alert('target [ div_sitia_klera_stool ] (div da elaborare) non ha attributo obbligatorio [ data-key ]!');
}else{
var k = anchordiv.getAttribute('data-key');
if (!('ver' in anchordiv.dataset)) {
pfAWN.alert( 'target [ div_sitia_klera_stool ] (div da elaborare) non ha attributo obbligatorio [ data-ver ]!');
}else{
var v = anchordiv.getAttribute('data-ver');
if (!('host' in anchordiv.dataset)) {
var h = window.location.hostname;
}else{
var h = anchordiv.getAttribute('data-host');
}
let hostnames = h.split('.');
h = (hostnames.length>1 ? hostnames[hostnames.length-2] + '.' :'') + hostnames[hostnames.length-1];
var param_accettati = {'data-autocc':'^cc$','data-anamorfico':'^[a-z0-9_]{3,}$','data-bcolor':'^[A-F0-9]{6}$','data-icolor':'^[A-F0-9]{6}$','data-lang':'^[a-z]{2}$'
};
var optional = {};
for (var att, i = 0, atts = anchordiv.attributes, n = atts.length; i < n; i++){
att = atts[i];
if(Object.keys(param_accettati).indexOf(att.nodeName) != -1){
var regex = new RegExp(Object.values(param_accettati)[Object.keys(param_accettati).indexOf(att.nodeName)]);
if(!regex.test(att.nodeValue)) { // input non accettato
pfAWN.warning('target [ div_sitia_klera_stool ] (div da elaborare) ha attributo '+att.nodeName+' non conforme '+Object.values(param_accettati)[Object.keys(param_accettati).indexOf(att.nodeName)]+'!',
{ icons: {
suffix: "' style='width: 36px; filter: invert(36%) sepia(85%) saturate(1988%) hue-rotate(20deg) brightness(94%) contrast(101%);' />"
}}
);
}else{
optional[ att.nodeName ] = att.nodeValue;
}
}
}
var dataString = Object.keys(optional).map(function(key) {
return key + '=' + optional[key]
}).join(' ');
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');
}
if ('ilist' in anchordiv.dataset) {
if ('parentIFrame' in window) {
window.parentIFrame.getPageInfo(
(pageInfo) => {window.parentIFramewh = pageInfo['windowHeight'];}
);
}
}
jQuery('#div_sitia_klera_stool').magnificPopup({
items: {
src: jQuery('