function loadStyle(url, callback) { var head = document.getElementsByTagName("head")[0]; tagStyle = document.createElement('link'); tagStyle.type = 'text/css'; tagStyle.rel = 'stylesheet'; tagStyle.href = url; head.insertAdjacentElement('beforeend', tagStyle); } function loadScript(url, callback) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.src = url; var done = false; script.onload = script.onreadystatechange = function() { if (!done && ( !this.readyState || this.readyState == "loaded" || this.readyState == "complete")) { done = true; new Promise((resolve, reject)=>callback()); } head.removeChild( script ); }; head.appendChild(script); return done; } function getWithExpiry(key) { var itemStr = localStorage.getItem(key) if (!itemStr) { return null } var item = {}; try { item = JSON.parse(itemStr) } catch (error) { } var now = new Date() if (now.getTime() > item.expiry) { localStorage.removeItem(key) return null } return item.value === undefined ? null : item.value } function setConfiguration() { new Promise((resolve,reject)=>{ cc = '3734'; language = 'fr_BE'; qcp = 'New_Vertical_3734_0721_BEFR'; store.language = language; store.email = getWithExpiry('email'); store.cid = getWithExpiry('cliid'); store.contextLanguage = store.language; store.urlRoot = API_BASE_API_URL + cc + '/' + store.language + '/?'; // store.urlRoot = restUrl+'/light_coupon/getapi/'; store.checkCoupon = restUrl + '/light_coupon/check_coupon'; store.saveUrl = restUrl + '/light_coupon/rfq'; store.ftAsync = restUrl + '/light_coupon/fasttrack/async'; store.ftRun = restUrl + '/light_coupon/fasttrack/run'; // store.confirmationUrl = restUrl+'/light_coupon/confirmation'; store.confirmationUrl = restUrl + '/light_coupon/confirmation_data'; store.urlQaData = restUrl + '/light_coupon/get_qa'; store.removeFacUrl = restUrl + '/confirmation/remove_fac'; store.deleteLeadUrl = restUrl + '/confirmation/delete_lead'; resolve('1'); }) } function apiCompaneoSmartApi() { store.params = {cc: cc, forcetpl: 2, isLanding: true, force_lang: store.contextLanguage, cid: store.cid, email:store.email}; store.loadData(store.params).then(function (result) { return result; }).then(function (result) { var res = JSON.parse(result) sliderManager.pushToList(store.params.cc); sliderManager.getSlider(store.params.cc, result); }).then(function () { var lpsapi = null; var containerList = ['questio', 'lpsapi']; for (var i = 0; i < containerList.length; i++) { if (undefined !== document.getElementsByClassName(containerList[i])[0]) { lpsapi = document.getElementsByClassName(containerList[i])[0]; } } if (null === lpsapi) { lpsapi = document.getElementById("companeoForm"); } else if(null == document.getElementById("companeoForm")) { lpsapi.setAttribute('id', 'companeoForm') } // create form dom var form = document.getElementById("surveySlider"); if (null == form) { form = document.createElement('form'); form.setAttribute('id', 'surveySlider'); form.setAttribute('class', 'surveySlider is-landing'); } var callbackdiv = document.createElement('div'); callbackdiv.setAttribute('id','jsConfirmationCallback'); lpsapi.appendChild(callbackdiv); if (undefined !== lpsapi || null !== lpsapi) { callbackdiv.innerHTML = ""; callbackdiv.appendChild(form) } basicElement.rootNode = form; basicElement.render(basicElement.rootNode, basicSlideTemplate.addSlide()); sliderManager.slideStructure = basicElement.registry; sliderManager.activateSlider(store.params.cc, 0); }); }; function boot() { var callbackName = 'apiCompaneoSmartApi', $head = document.getElementsByTagName('head')[0]; var tagScript, tagStyle, qcpRegEx = new RegExp('[\\?&]qcp=([^&#]*)'), qcpSearch = qcpRegEx.exec(window.location.search), qcpImg, trackingCode = ''; if (null !== qcpSearch) { qcpImg = new Image(1, 1); qcpImg.src = 'https://www.companeo.com/api.php?action=initqcp&qcp=' + qcpSearch[1]; document.getElementsByTagName('body')[0].appendChild(qcpImg); } if ('' !== trackingCode) { let elemTrackingCode = '' + trackingCode + ''; let elemBody = document.getElementsByTagName('body')[0]; elemBody.innerHTML += elemTrackingCode; } } var App = App || {}; var DOMAIN_NAME_NO_PREFIX = 'https://www.companeo.be/'; var DOMAIN_NAME = 'https://www.companeo.be/fr_BE/'; var API_BASE_FRONT_URL = 'https://www.companeo.be/fr_BE/api/'; var API_BASE_API_URL = 'https://api.companeo.com/api/v1/survey/'; var restUrl = 'https://rest.companeo.be/fr_BE'; var apiRootUrl = 'https://api.companeo.com'; var formHideSegment = ''; var cc = '3734'; var language = 'fr_BE'; var qcp = 'New_Vertical_3734_0721_BEFR'; document.addEventListener("DOMContentLoaded", function () { new Promise((resolve, reject) => { loadStyle(DOMAIN_NAME_NO_PREFIX + 'css/ph-survey-slider.css', () => {}) loadScript(DOMAIN_NAME_NO_PREFIX + 'js/survey.js', () => { if (store) resolve(store) }); }).then((result) => { setConfiguration(); }).then((result) => { return new Promise((resolve, reject) => { loadScript(DOMAIN_NAME_NO_PREFIX + 'js/surveyLoader.js', () => { if (store.initSurvey instanceof Function) { resolve(1); } }); }); }).then((result) => { apiCompaneoSmartApi(); jsGetConfirmationPage(); }); }); function jsGetConfirmationPage() { return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(), doc = document; xhr.responseType = 'blob'; xhr.open('GET', DOMAIN_NAME + 'api_campaign_get_confirmation_page?raw', true); xhr.onload = function () { var script = doc.createElement('script'), src = URL.createObjectURL(xhr.response); script.src = src; doc.body.appendChild(script); }; xhr.send(); }); /* var request = new XMLHttpRequest(); request.open('GET',DOMAIN_NAME + 'api_campaign_get_confirmation_page'); request.onload = function () { if (request.readyState == 4 && request.status === 200) { resolve(request.response); } else { reject(Error('An error occurred while loading data. error code:' + request.statusText)); } }; request.send(); }).then(function (response) { let elemBody = document.getElementsByTagName('body')[0]; // elemBody.innerHTML += response; elemBody.insertAdjacentHTML('beforeend', response); }); */ };