/// Get Paramaters var params = location.search .slice(1) .split("&") .filter(function(item){ return item.includes('='); }); /// Get hash property var fragment = location.hash .slice(1) .split("&") .filter(function(item){ return item.includes('='); }); /// Parameters set for the checkout iframe /// Priority varies from current parameters to cookies and fallback to session storage /// Cookie var decodedCookie = decodeURIComponent(document.cookie); /// Package var package_param = params.find(function(entry) { return entry.startsWith('package='); }) || '='; if (package_param && package_param != "=") package_param = package_param.split('=')[1]; else if (decodedCookie.includes("package=")) package_param = decodedCookie.substring(decodedCookie.indexOf("package=")+8, decodedCookie.indexOf(";",decodedCookie.indexOf("package="))); if(!package_param || package_param == "=") package_param = sessionStorage.getItem('session_package') || 'traveller'; sessionStorage.setItem('session_package', package_param); /// UTMs var utmParams = params.filter(function(entry) { return entry.startsWith('utm_'); }).join('&'); if (!utmParams) { if (decodedCookie.includes('preference=allow')) utmParams = decodedCookie.substring(decodedCookie.indexOf("utm=")+4, decodedCookie.indexOf(";",decodedCookie.indexOf("utm="))); if(!utmParams) utmParams = sessionStorage.getItem('utm') || ''; } else { sessionStorage.setItem('utm', utmParams); } // Post Affiliate Pro var papHash = fragment.filter(function(entry) { return /^a_[a-b]id=/.test(entry); }).join('&'); if (!papHash) { if (decodedCookie.includes('preference=allow')) papHash = decodedCookie.substring(decodedCookie.indexOf("pap=")+4, decodedCookie.indexOf(";",decodedCookie.indexOf("pap="))); if(!papHash) papHash = sessionStorage.getItem('pap') || ''; } else { sessionStorage.setItem('pap', papHash); } /// UTM + Affiliate var searchhash = (('?' + utmParams)+('#' + papHash)) || '?'; window.onload = function() { var plans = sessionStorage.getItem('plans') ? sessionStorage.getItem('plans').split(",") : []; var cookieModalContent = document.getElementById('cookieModalContent'); if (cookieModalContent) { /// If cookie does not include "preference=" then the cookie user preference has not been set if(!decodedCookie.includes('preference=')) { document.body.classList.add("modal-open-cookie"); } else if (decodedCookie.includes('preference=allow')) { var current = new Date(); var future = new Date(current.setDate(current.getDate() + 7)).toUTCString(); document.cookie = `utm=${utmParams}; expires=${future}; path=/`; document.cookie = `pap=${papHash}; expires=${future}; path=/`; setTags(true); } else if (decodedCookie.includes('preference=deny')) setTags(false); } // Essential Cookie if (package_param && package_param != "=") document.cookie = `package=${package_param}; expires=${future}; path=/`; packageLogo(''); /** @type HTMLIFrameElement */ var iframe = document.createElement('iframe'); iframe.style = 'width: 100vw; background-color: #f0f6ff; border: none; display: block; background-color: #FFFFFF; height: calc(100vh - 60px);'; var seeAllTitle = "title=Traveller+Discounts&text=Available+on+the+Traveller+Plan"; var seeAllSubTitle = "subtext=Access+to+Exclusive+Discounts+on+Excursions,+Attractions,+Restaurants+%26+Fashion+Brands"; var fashionFrame = document.getElementById('fashionFrame'); if(fashionFrame) { iframe.src = `https://cloudigo.app/premium/catalogue/${plans}?tab=womens-fashion&tourist=1&${seeAllTitle}&${seeAllSubTitle}`; fashionFrame.append(iframe); } var foodFrame = document.getElementById('foodFrame'); if(foodFrame) { iframe.src = `https://cloudigo.app/premium/catalogue/${plans}?tab=food-and-drink&tourist=1&${seeAllTitle}&${seeAllSubTitle}`; foodFrame.append(iframe); } var checkout = document.getElementById('checkout'); if(checkout) { iframe.src = 'https://cloudigo.app/premium/purchase/' + package_param + searchhash; iframe.allow = 'payment'; iframe.allowpaymentrequest = true; checkout.append(iframe); } }; function setTags(permission) { if (permission) { try { gtag('consent', 'update', { 'analytics_storage' : 'granted', 'ad_storage': 'granted', }); } catch (e) { console.log(e); } try { fbq('consent', 'grant'); } catch(e) { console.log(e); } } }