Code: 43575
Een van de meest duurzame thermos flessen omdat hij is gemaakt van roestvrij staal en gerecycled plastic, waarbij beide componenten eerder zijn gerecycled.
+ Beschrijving + Eigenschappen
Stap 1. Selecteer de product kleur
Stap 2. Selecteer de bedrukkingstechniek
- Digitale full colour bedrukking (rondom) (Rondom geprint)
- Lasergravering (Aan een kant)
- Zonder opdruk
Stap 3. Selecteer de hoeveelheid
- 5
- 10
- 25
- 50
- 100
Aangepaste hoeveelheid :
Stap 4. Selecteer de verzendmethode
- Standard
`; $("#marking_message").html(html).show(); $("#pmmi_dtop, #pmmi_dcenter, #pmmi_finalPrice, .pmmi_btn").hide(); $("#requestQuoteBtn").show(); } else { if (selectedData.quantity == 1) { $(".pmmi_btn").hide(); $("#requestSampleProduct").show(); } else { $(".pmmi_btn").show(); $("#requestSampleProduct, #requestQuoteBtn").hide(); } $("#pmmi_dtop, #pmmi_dcenter, #pmmi_finalPrice").show(); } // Display messages based on key error conditions if (response.v2.key_error.length > 0) { let html = `
${response.v2.msg_web}
`; // $("#marking_message").html(html).show(); // $("#offerData").hide(); $("#marking_message").html(html).show(); $("#pmmi_dtop, #pmmi_dcenter, #pmmi_finalPrice, .pmmi_btn").hide(); $("#requestQuoteBtn").show(); } // Update the displayed quantity with formatting $('#cantidad').html(Intl.NumberFormat(window.LOCALE, { useGrouping: true }).format(parseFloat(selectedData.quantity))); // Hide the loader pcsLoader.hide(); responseData = response; userSelectedData = selectedData; } // Function to parse a price value from an input element or HTML content. const clearPriceValues = (element, type = "text") => { // Variable to store the value extracted from the element let value; // Check the type of element (input or other) if (type === "input") { // Get the value from the input element value = $("#" + element).val(); } else { // Get the content from the HTML element value = $("#" + element).html(); } // Replace commas with dots to represent the decimal separator and parse the value to a floating-point number let cleanValue = parseFloat(value.replace(",", ".")); // Return the parsed price value return cleanValue; } // Function to formate values and update dom content const formatValue = (domobj, value) => { // Convert value to a floating-point number value = parseFloat(value); // If value is not a number, set it to 0 if (isNaN(value)) { value = 0; } // Define formatting options for displaying currency var formato = { minimumFractionDigits: 2, maximumFractionDigits: 2, currency: "EUR", // currency: "EUR", style: "currency", // style: "decimal", useGrouping: true }; // Check if domobj is "#coste_exp" if (domobj === "#coste_exp") { // If value is 0, display "Gratuito", otherwise display the formatted value with currency symbol if (value === 0) { $(domobj).text(" - " + 'Gratis'); } else { $(domobj).text(" - " + value.toLocaleString(window.LOCALE, formato)); // $(domobj).text(" - " + value.toLocaleString(window.LOCALE, formato) + " "); // $(domobj).text(" - " + value.toLocaleString('nl-NL', formato) + " €"); } } else { // Display the formatted value with currency symbol $(domobj).text(value.toLocaleString(window.LOCALE, formato)); // $(domobj).text(value.toLocaleString(window.LOCALE, formato) + " "); // $(domobj).text(value.toLocaleString('nl-NL', formato) + " €"); } // Check if the selected marking technique is "0C|0", "0SU|0", "0S|0", "0SU|1", or "0S|1" // and if domobj is "#personalizacion" var myRadio = $('input[name="tecnica_marcaje"]'); var tecnica_marcaje1 = myRadio.filter(':checked').val(); if ((tecnica_marcaje1 === "0C|0" || tecnica_marcaje1 === "0SU|0" || tecnica_marcaje1 === "0S|0" || tecnica_marcaje1 === "0SU|1" || tecnica_marcaje1 === "0S|1") && (domobj === "#personalizacion")) { // Apply specific formatting for the "0C|0" marking technique $(domobj).number(value, ""); // Display "Incluida" for the personalization cost $(domobj).text('Inbegrepen'); } } // Function to check the date asynchronously using AJAX. const dateCheck = (type) => { // Construct the URL for the AJAX request var url = "https://www.giftcampaign.es/presupuestos/date/date_check.php?type=" + type; // Return a promise to handle the asynchronous AJAX request return new Promise((resolve, reject) => { $.ajax({ url: url, type: "GET", headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }, dataType: "json", success: function(data) { resolve(data); }, error: function(xhr, status, error) { reject(error); } }); }); } // Function to generate XML data asynchronously. const generateXML = (date) => { // Get main image src let imageSrc = $("#product-main-image__zoom").attr("src"); // Get vectorizacion // let vectorizacion = getVectorizacion(responseData.personalizacion, codigoProveedor, userSelectedData.technique); var marcaje_original = parseFloat($('#original').val()); offerData = { "type": "stock", "cliente": "Presupuesto_Web", "cant1": userSelectedData.quantity, // Selected quantity "col1": userSelectedData.technique.slice(-1), // Marking colors "pos1": userSelectedData.technique.split("|")[0], // Marking technique "margen1": responseData.margen, // Get the margin // "vectorizacion": vectorizacion, // Get the vectorizacion "sales_rep": "Web", // Set the sale rep "codigo_producto": userSelectedData.simpleSku, // ---------------------------(?) // "marcaje11": parseFloat(responseData.personalizacion_prov_original) + parseFloat(vectorizacion / userSelectedData.quantity), // Get complete technique "marcaje11": marcaje_original, // Get complete technique "codigo_proveedor": codigoProveedor, //Get proveedor code "coste_extra_marcaje1": responseData.coste_extra_marcaje, // Get extra marking cose "nombre_prod": product_name, // Get product name "iva_producto": responseData.iva_producto, // Get product IVA "proveedor": $("#proveedor").val(), // GEt proveedor "precio_tech1": responseData.personalizacion / userSelectedData.quantity, "precio_unitario1": responseData.preciounitario, "lang": lang, // Get language "usb": false, "checked_value": "Proveedor", "precio_base1_gift": responseData.preciobase, "precio_tech1_gift": responseData.personalizacion, "imagen1": imageSrc, "date": date, // proveedor data "extra_base1": responseData.coste_extra_marcaje, "precio_base1_prov": responseData.precio_base_prov, "precio_tech1_prov": responseData.precio_tech_prov, "precio_unitario1_prov": responseData.precio_unitario_prov, "precio_transporte1_prov": responseData.precio_transporte_prov } let shippementData = {}; if ($("#envio_exp").is(':checked')) { shippementData = { "transporte": $("#transporte_express_label").text(), "transporte_val": $("#coste_exp_prov").val(), "precio_transporte1": clearPriceValues("transporte_express"), "tiempo_envio": $("#tiempo_exp").attr("data-tiempo") }; } else { shippementData = { "tiempo_envio": $("#tiempo_std").attr("data-tiempo") }; }; // Add shipment data in offer data offerData = { ...offerData, ...shippementData }; // Return a new Promise return new Promise((resolve, reject) => { // Make an AJAX call to fetch XML data $.ajax({ method: 'GET', data: offerData, url: "https://www.giftcampaign.es/presupuestos/generate/generate_xml_stock.php", success: function(data) { resolve(data); // Resolve the promise with the fetched data }, error: function(error) { console.log(error); reject(error); // Reject the promise with the error } }); }); } $("#purchaseOnlineOffer, #requestSampleProduct").on("click", async function() { try { // Call dateCheck function const date = await dateCheck('online'); // Call generateXML function await generateXML(date); // Redirect to checkout // window.location.href = 'https://www.giftcampaign.nl/checkout.php?date=' + date; window.location.href = 'https://www.giftcampaign.nl/checkout?date=' + date; } catch (error) { console.error(error); } }); // Function to handle click event on Download pdf buttuon $("#downloadOfferPDF").on("click", async () => { // Send analytics sendAnalytics('DESCARGAR .PDF [' + lang.toUpperCase() + ']', '1'); try { // URL // let url = `https://www.giftcampaign.${lang}/pdf.php`; let url = BASE_URL + `_gcscripts/getOnlineBudget.php`; // Get main image src let imageSrc = $("#product-main-image__zoom").attr("src"); // Define postData object with necessary data let postData = { "void": "1", "pdfweb": "1", "type": "online", "srcimg": "https://www.giftcampaign.es/admingift/_magomo/data/dynamic/products/images/sql_getProductImageBySkuNameInSql.php?data=" + userSelectedData.simpleSku + ".000", "lang": lang, "proveedor": proveedor, "codigo_proveedor": window.btoa(codigoProveedor), "cantidadseleccionada": userSelectedData.quantity, "tecnicamarcajeseleccionada": userSelectedData.technique, "colorseleccionado": userSelectedData.color, "codigo_gift": userSelectedData.simpleSku, "coste_extra_marcaje": responseData.coste_extra_marcaje, "iva_producto": responseData.iva_producto, "precio_base_pdf": window.btoa(responseData.preciobase), "precio_unitario": window.btoa(responseData.preciounitario), "precio_base1_gift": window.btoa(responseData.preciobase), "precio_unitario1_gift": window.btoa(responseData.preciounitario), }; // Define shipping data object let shippmentData = {}; // Check if express shipping is selected if ($("#envio_exp").is(':checked')) { // Assign express shipping data shippmentData = { "con_express": 1, "precio_transporte1": clearPriceValues("transporte_express"), "transporte": $("#transporte_express_label").text(), "transporte_val": responseData.transporte_express.importe_prov } } else { // If express shipping is not selected // Assign standard shipping data shippmentData = { "con_express": 0, } } // Define price marking data object let precioMarcajeData = {}; // Check if personalization is included if ($('#personalizacion').text() == strincluida) { // If included, set price marking to 0 precioMarcajeData = { "precio_marcaje_pdf": 0, "precio_tech1_gift": 0, } } else { // If personalization is not included // Calculate price marking based on response data precioMarcajeData = { "precio_marcaje_pdf": window.btoa(responseData.personalizacion), "precio_tech1_gift": window.btoa(responseData.personalizacion / userSelectedData.quantity) } } // Call dateCheck function to get date const date = await dateCheck('online'); // Call generateXML function with relevant data await generateXML(date); // Merge all data objects into postData postData = { ...postData, ...shippmentData, ...precioMarcajeData, ...{ "date": date } } // Create a URLSearchParams object let searchParams = new URLSearchParams(postData); // Concatenate URL path and search parameters let newUrl = url + '?' + searchParams.toString(); gtag_report_conversion(newUrl); // console.log(postData); // Check if user is using Safari on iOS var is_ios = /iP(ad|od|hone)/i.test(window.navigator.userAgent); var is_safari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/); // Redirect user based on browser if (is_ios && is_safari) { // If Safari on iOS, redirect in same window $.redirect(url, postData, "POST", "_self"); } else { // For other browsers, open in new window $.redirect(url, postData, "POST", "_blank"); } } catch (error) { // Catch any errors console.log(error); // Log errors to console } }); // Function to handle click event on Virtual sample button $("#virtualSampleBtn, #requestQuoteBtn").on("click", async () => { // Send analytics sendAnalytics('ACCESO MUESTRA VIRTUAL [' + lang.toUpperCase() + ']', '1'); try { // Get main image src let imageSrc = $("#product-main-image__zoom").attr("src"); // Define postData object with necessary data let paramData = { "srcimg": imageSrc, "product_name": product_name, "lang": lang, "proveedor": proveedor, "codigo_proveedor": codigoProveedor, "cantidadseleccionada": userSelectedData.quantity, "tecnicamarcajeseleccionada": userSelectedData.technique, "colorseleccionado": userSelectedData.color + '|' + userSelectedData.colorLabel, "codigo_gift": codigo_gift, "pr": responseData.subtotal, }; if (responseData.preciobase == '0') { paramData = { ...paramData, ...{ "bajo_peticion": 1, } } } // Define shipping data object let shippmentData = {}; // Check if express shipping is selected if ($("#envio_exp").is(':checked')) { // Assign express shipping data shippmentData = { "con_express": 1, "precio_transporte1": clearPriceValues("transporte_express"), "transporte": $("#transporte_express_label").html(), "transporte_val": responseData.transporte_express.importe_prov, "tiempo_envio": $("#tiempo_exp").attr("data-tiempo") } } else { // If express shipping is not selected // Assign standard shipping data shippmentData = { "con_express": 0, } } // Call dateCheck function to get date const date = await dateCheck('online'); // Call generateXML function with relevant data await generateXML(date); // Merge all data objects into paramData paramData = { ...paramData, ...shippmentData, ...{ "nu_pr": date, "express_free": (responseData.transporte_express.is_express_free) ? 1 : 0 } } let params = $.param(paramData); let url = virtualSampleUrlKey + "?" + params; window.location.href = url; } catch (error) { // Catch any errors console.log(error); // Log errors to console } }); // Parse the JSON data from the script tag and get get jsonConfig key data let configJson = JSON.parse($('#swatch-options-config-43575').html()).jsonConfig; // Get product color options data from json config let configColorData = configJson.attributes['93'].options; // Get product images from json config let configImagesData = configJson.images; // let proveedor = $("#proveedor").val(); let codigoProveedor = $("#codigoProveedor").val(); let lang = $("#language").val(); let region = $("#region").val().toLowerCase(); let proveedores_sin_xls = ["DEONET", "AMGS", "ARPE", "GOYA", "ROLY", "DALVIN", "BIC"]; let shippmentIconURL = "https://www.giftcampaign.nl/media/icons/shippment.png"; let codigo_gift = "43575"; let product_name = "Thermosfles van staal en kunststof met glazen dop Ocean Bottle 500ml"; let strincluida = "Inbegrepen"; let strbajopeticion = "Op verzoek"; let strconversion = "AW-645401654/iDfwCPfTj9EBELaY4LMC"; //Proveedores con marcaje incluído var proveedores_incl = ["ARPE", "DALVIN", "DEONET", "BIC"]; let pcsLoader = $("#pcsResponseLoader"); var strconsultar = "Consultar"; let taxdefault = 1.23; let offerData = {}; let responseData = {}; let userSelectedData = {}; let virtualSampleUrlKey = "https://www.giftcampaign.nl/offerte-aanvraag.html"; // Set the max-height of the active .pcs-item__body element to its scroll height $(".pcs-item__body.active").css("max-height", $(".pcs-item__body.active")[0].scrollHeight); // Attach a click event handler to elements with the class ".pcs-item-accordion-head" $(".pcs-item-accordion-head").on("click", expandCollapsePCS); // Attach a click event hangle to alert close icon $(".alert .btn-close").on("click", hideAlert) // Store the original HTML of the #select_label_color element let originalColorLabelHTML = $("#select_label_color").html(); // Attach click, mouseenter and mouseleave events to all elements with class "swatch-option" $(".swatch-option").on({ click: clickedSwatchOption, mouseenter: hoveredSwatchOption, mouseleave: mouseoutSwatchOption }); // Attach click event handler to element with id "customQtyUpdate" $("#customQtyUpdate").on("click", updateQuantity) // Attach click event on all steps