if (cookieExists()) { setEVLabels(); console.log('UberProfile cookie exists.'); } else { var authCode = GetQueryParameterByName('code'); console.log(authCode); submitVerification().then(response => { console.log(response); const res = response ? JSON.parse(response) : {}; if (res.Success === true) { setEVLabels(); } }); } function setEVLabels() { howItWorksBtn.innerText = "Browse EVs"; offerDetailsBtn.innerText = "Browse EVs"; drivingPaysBtn.innerText = "Browse EVs"; teslaBtn.innerText = "Browse Teslas"; chevyBtn.innerText = "Browse Chevy EVs"; fordBtn.innerText = "Browse ford EVs"; } function cookieExists() { let isUber = "isUber"; let isUberProfile = "_UberProfile"; let isUberMatch = false; let isUberProfileMatch = false; var cks = document.cookie.split(';'); for (i = 0; i < cks.length; i++) { let parts = cks[i].split('='); if (parts.length > 1) { if (parts[0].trim() === isUber && parts[1].trim()) { isUberMatch = true; } if (parts[0].trim() === isUberProfile && parts[1].trim()) { isUberProfileMatch = true; console.log('isUberProfileMatch', 'true');} } } if (isUberProfileMatch) { return true; } else { return false; } } function GetQueryParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } function checkUberAuthentication(url, target) { var authCode = GetQueryParameterByName('code'); console.log(authCode); if (authCode) { setEVLabels(); setHref(url, target); } else { if (authCode) { submitVerification().then(response => { console.log('********************************'); console.log(response); const res = response ? JSON.parse(response) : {}; if (res.Success === true) { setHref(url, target); } console.log('*******************************'); }); } else { window.location.href = "https://login.uber.com/oauth/v2/authorize?client_id=QvwGVZtLH5d4aW82tsP-3UyIFWmfMagd&response_type=code&redirect_uri=https://www.autonation.com/uberoffer"; } } } function setHref(url, target) { window.location.href = url; if (target) { window.open(url, target); } } async function submitVerification() { var token = document.getElementsByName('__RequestVerificationToken')[0]; var authCode = GetQueryParameterByName('code'); var allData = { "authCode": authCode, //"__RequestVerificationToken": token.value }; var content = ''; if (authCode) { var url = "/v2/api/sitecore/Marketing/UberEmployeeVerification"; var json = JSON.stringify(allData); console.log(json); const response = await fetch( url, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', //'__RequestVerificationToken': token.value }, body: json } ); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } content = await response.text(); console.log('Uber-Status: ', content) } return content; } let howItWorksBtn = findEle('howItWorksBtn'); let offerDetailsBtn = findEle('offerDetailsBtn'); let drivingPaysBtn = findEle('drivingEVPaysBtn'); let teslaBtn = findEle('teslaBtn'); let chevyBtn = findEle('browseChevy'); let fordBtn = findEle('browseFord'); let uberLink = findEle('uberWebsiteLink'); let irsLink1 = findEle('irsWebsiteLink1'); let irsLink2 = findEle('irsWebsiteLink2'); let irsLink3 = findEle('irsWebsiteLink3'); let evGoLink = findEle('evGoLink'); function findEle(eleId) { return document.querySelector('#' + eleId); } howItWorksBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "Section How It Works", howItWorksBtn.innerHTML); let url = "/cars-for-sale"; checkUberAuthentication(url); }); offerDetailsBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "Section Offer Details", offerDetailsBtn.innerHTML); let url = "/cars-for-sale"; checkUberAuthentication(url); }); drivingPaysBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "Section Driving an EV Pays", drivingPaysBtn.innerHTML); let url = "/cars-for-sale"; checkUberAuthentication(url); }); teslaBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", teslaBtn.innerHTML); let url = "/cars-for-sale?mk=tesla&md=tesla%25E%5E%5Emodel%203"; checkUberAuthentication(url, "_blank"); }); chevyBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", chevyBtn.innerHTML); let url = "/cars-for-sale?mk=chevrolet&md=chevrolet%5E%5E%5Ebolt%20euv%7Cchevrolet%5E%5E%5Ebolt%20ev"; checkUberAuthentication(url, "_blank"); }); fordBtn.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", fordBtn.innerHTML); let url = "/cars-for-sale?mk=ford&md=ford%5E%5E%5Emustang%20mach-e"; checkUberAuthentication(url, "_blank"); }); uberLink.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", uberLink.innerHTML); window.open("https://www.uber.com/us/en/drive/services/electric/", "_blank"); }); irsLink1.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", irsLink1.innerHTML); window.open("https://www.irs.gov/credits-deductions/used-clean-vehicle-credit", "_blank"); }); irsLink2.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", irsLink2.innerHTML); window.open("https://www.irs.gov/credits-deductions/credits-for-new-electric-vehicles-purchased-in-2022-or-before", "_blank"); }); irsLink3.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", irsLink3.innerHTML); window.open("https://www.irs.gov/forms-pubs/about-form-8936", "_blank"); }); evGoLink.addEventListener('click', function() { tealiumScript("MLP", "UberOffer", "(not set)", evGoLink.innerHTML); window.open("https://uber.enroll.evgo.com/", "_blank"); }); function tealiumScript(l1, l2, l3, buttonText) { let event = buttonText.replaceAll(" ", "_").toLowerCase(); let clickdata = { "category_l1":"" + l1, "category_l2":"" + l2, "category_l3":"" + l3, "category_l4":"(not set)", "event":"" + event, "event_category":"EngagementType", "event_action":"EngagementType_MLP|||Click", "event_label":"" + buttonText, "event_value":"1", "pagegroup":"mlp" }; window.utag_data = clickdata; window.utag.link(window.utag_data); }