const refBuddyUrl = "https://www.refbuddy.com/apiv2"; const refBuddyHttp = new XMLHttpRequest(); var refBuddy = { score: function (data) { var refbuddy_lid = refBuddy.getCookie("refbuddy_lid"); if(refbuddy_lid !== null){ data.refbuddy_lid = refbuddy_lid; fetch(refBuddyUrl + "/score", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(data) }) .then(function (response) { if (response.ok) { console.log(response.text()); } }) .catch(function (error) { console.log(error); }); /* const jsonData = JSON.stringify(data); refBuddyHttp.open("POST", refBuddyUrl + "/score", true); refBuddyHttp.setRequestHeader("Content-Type", "application/json"); refBuddyHttp.onreadystatechange = function () { if ( refBuddyHttp.readyState === 4 && refBuddyHttp.status === 200 ) { console.log(refBuddyHttp.responseText); } }; refBuddyHttp.send(jsonData); */ } }, getQueryParam: function (parameter) { const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); return urlParams.get(parameter); }, setCookie: function (name, value, days) { const expirationDate = new Date(); expirationDate.setDate(expirationDate.getDate() + days); const cookieValue = encodeURIComponent(name) + "=" + encodeURIComponent(value) + "; expires=" + expirationDate.toUTCString() + "; path=/"; document.cookie = cookieValue; }, /* setCookie: function (name, value, days) { const expirationDate = new Date(); expirationDate.setDate(expirationDate.getDate() + days); const cookieValue = encodeURIComponent(value) + "; expires=" + expirationDate.toUTCString() + "; path=/"; document.cookie = name + "=" + cookieValue; },*/ getCookie: function (name) { const decodedCookie = decodeURIComponent(document.cookie); const cookieArray = decodedCookie.split(";"); for (let i = 0; i < cookieArray.length; i++) { let cookie = cookieArray[i]; while (cookie.charAt(0) === " ") { cookie = cookie.substring(1); } if (cookie.indexOf(name) === 0) { return cookie.substring(name.length + 1, cookie.length); } } return null; }, /* getCookie: function(name) { const cookieName = name + "="; const decodedCookie = decodeURIComponent(document.cookie); const cookieArray = decodedCookie.split(";"); for (let i = 0; i < cookieArray.length; i++) { let cookie = cookieArray[i]; while (cookie.charAt(0) === " ") { cookie = cookie.substring(1); } if (cookie.indexOf(cookieName) === 0) { return cookie.substring(cookieName.length, cookie.length); } } return null; },*/ setSession: function(){ console.log('Setting Refbuddy session...'); var cookie = refBuddy.getCookie("refbuddy_lid"); if(cookie === null){ var param = refBuddy.getQueryParam("refbuddy_lid"); if(param !== null){ refBuddy.setCookie("refbuddy_lid", param, 30); console.log("Set Refbuddy lid: " + param); } }else{ console.log('Refbuddy lid already exists: '+cookie); } } }; refBuddy.setSession();