.alu-text {
text-align: center;
}
Please wait…
https://code.jquery.com/jquery-3.3.1.min.js
var _already_processing = false;
function process_custom_order() {
try {
if (_already_processing) return;
var $ = jQuery;
var _idc = 0;
var qs_idc = qs(‘idc’);
var _idcs = qs(‘idcs’);
var _cart_id = qs(‘cart’) || ”;
if (_cart_id) {
_cart_id = atob(_cart_id);
}
if (!_idcs) _idcs = _idc;
if (qs_idc) _idc = qs_idc;
if (!$) {
$(‘#alu-wait-msg’).hide();
$(‘#alu-error-msg’)
.removeClass(‘hidden’)
.text(‘ERROR: Some of the required libraries are missing.’);
return;
}
function qs(key, url) {
if (!url) {
url = location.search;
}
key = key.replace(/[*+?^$.[]{}()|\/]/g, “\$&”); // escape RegEx meta chars
var match = url.match(new RegExp(“[?&]” + key + “=([^&]+)(&|$)”));
return match && decodeURIComponent(match[1].replace(/+/g, ” “));
}
function ws_request(url, data) {
return $.post(url, data)
.fail(function (xhr) {
console.error(‘Request Failure ( ‘ + url + ‘ ) ‘ + xhr.statusText, xhr.responseText);
});
}
var _xml_header = ”;
function get_login_xml_str() {
var login_json = {
loginInfo: {
‘@xmlns:xsi’: ‘http://www.w3.org/2001/XMLSchema-instance’,
‘@xmlns:xsd’: ‘http://www.w3.org/2001/XMLSchema’,
login: _idc,
password: _idc + ‘8547’,
platform: ‘B4WPlayer’,
idcompany: _idc,
appversion: ‘1.61803398875’,
deviceid: {},
devicemac: {},
assetversion: {},
buildtarget: {},
screen_width: window.innerWidth,
screen_height: window.innerHeight,
lang: ‘English’,
}
}
var login_xml_str = ” + login_json.loginInfo.login + ” + login_json.loginInfo.password + ” + login_json.loginInfo.platform + ” + login_json.loginInfo.idcompany + ” + login_json.loginInfo.appversion + ” + login_json.loginInfo.screen_width + ” + login_json.loginInfo.screen_height + ” + login_json.loginInfo.lang + ”
return _xml_header + login_xml_str;
}
function mail_error(msg) {
var post_data = {
_login: get_login_xml_str(),
body: msg,
Lang: ‘en’,
}
return ws_request(‘https://matlabws.alugroup.es/service.asmx/devlog’, post_data);
}
function path_to_current_url(path) {
return location.protocol + ‘//’ + location.hostname + path;
}
function matlab_jsonp(data) {
return data;
}
function AlugroupAddToCart(data) {
var props = {
‘_COMPANY_SOURCE’: _idcs,
‘_COMPANY_ID’: _idc,
‘_ORDER_GUID’: data.guid,
‘_CART_ID’: _cart_id,
‘SCALE’: data.scale.text,
‘SIZE’: data.size.text,
‘WIDTH’: data.width.text,
};
if (data.info || !data.scale || !data.scale.text || data.scale.text.toLowerCase() == ‘unique’) {
var props = {
‘_COMPANY_SOURCE’: _idcs,
‘_COMPANY_ID’: _idc,
‘_ORDER_GUID’: data.guid,
‘_CART_ID’: _cart_id,
‘INFO’: data.info,
};
}
if (qs(‘thumb’)) props._THUMB = qs(‘thumb’);
if (qs(‘initials’)) props.INITIALS = qs(‘initials’);
$.post(‘/cart/add.js’, {
quantity: 1,
id: data.variant_id,
properties: props
}, null, ‘json’)
.done(function () {
window.open(‘/cart’, ‘_self’);
});
}
function customAddToCart(data, max_tries, current_try) {
if (!max_tries || max_tries < 0) max_tries = 10;
if (!current_try || current_try < 0) current_try = 1;
var waiting_ms = 200;
data.variant_id = 0;
if (!data.id_product && data.product_id) data.id_product = data.product_id;
var product_path = '/products/' + data.id_product + '.json';
var get_product_data = $.get(product_path, null, null, 'json');
get_product_data
.fail(function () {
if (console && console.error) {
console.error('Failure getting product, try #' + current_try);
}
if (current_try < max_tries) {
setTimeout(function () {
customAddToCart(data, max_tries, current_try + 1);
}, current_try * waiting_ms);
return;
}
$('#alu-wait-msg').hide();
$('#alu-error-msg')
.removeClass('hidden')
.text('ERROR: Product not found.');
mail_error('Shopify product error on IDMC: ' + data.id_product + ' | URL: ' + path_to_current_url(product_path));
})
.done(function (product_data) {
var product = product_data.product;
data.variant_id = product.variants[0].id;
AlugroupAddToCart(data);
});
}
var
svc_sync = 'https://d1cj4j6kq97ru8.cloudfront.net/shopify/services/product-sync.aspx?idc={idc}&guid={guid}&initials={initials}&cart={cartid}',
idmc = qs('idmc'),
id_product = 'custom-' + idmc,
json_product = {
id_product: id_product,
guid: qs('guid'),
scale: {
id: null,
text: qs('scale')
},
size: {
id: null,
text: qs('size')
},
width: {
id: null,
text: qs('width')
},
initials: qs('initials') || '',
info: qs('info') || null,
}
svc_sync = svc_sync
.replace('{idc}', _idc)
.replace('{guid}', _idcs + '__' + json_product.guid)
.replace('{cartid}', _cart_id)
.replace('{initials}', encodeURIComponent(json_product.initials));
if (!idmc) {
$('#alu-wait-msg').hide();
$('#alu-error-msg')
.removeClass('hidden')
.text('ERROR: No product provided.');
return;
}
_already_processing = true;
$.get(svc_sync)
.fail(function () {
$('#alu-wait-msg').hide();
$('#alu-error-msg')
.removeClass('hidden')
.text('ERROR: Something went wrong updating the product. Please, refresh the page to try again.');
})
.done(function (productHandle) {
if (productHandle) json_product.id_product = productHandle;
customAddToCart(json_product);
});
} catch (err) {
console.error(err);
setTimeout(process_custom_order, 100);
}
}
if (document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive") {
process_custom_order();
} else {
document.addEventListener("DOMContentLoaded", process_custom_order, false);
}
Among slot enthusiasts exploring new platforms, the gaming site https://trinocasino-gb.com is occasionally highlighted in reviews about modern online casino services. Many players look for smooth gameplay, reliable payments, and a wide range of slot titles before choosing a platform.