We at Blackswan invite our valuable clients to checkout from our unmatched hotel collection and stay safe. We arrange stay with our chosen hotel partners are exclusive amenities and experiences especially for our clients.
Get Free Consultation from Experts
Know the Cost, Process, Time Frame, Rules & Document Required
(function () {
'use strict';
var STORAGE_PREFIX = 'bs_attribution_';
var COOKIE_MAX_AGE = 60 * 60 * 24 * 90;
var QUERY_FIELDS = [
'gclid',
'gbraid',
'wbraid',
'gad_source',
'utm_source',
'utm_medium',
'utm_campaign',
'utm_term',
'utm_content',
'utm_id'
];
var FORM_FIELDS = QUERY_FIELDS.concat([
'landing_page',
'first_page',
'referrer'
]);
function cookieDomain() {
return /(^|\.)blackswanbss\.com$/i.test(window.location.hostname)
? '; Domain=.blackswanbss.com'
: '';
}
function setStoredValue(name, value, overwrite) {
if (!value) return;
var key = STORAGE_PREFIX + name;
var existing = getStoredValue(name);
if (existing && !overwrite) return;
try {
window.localStorage.setItem(key, value);
} catch (error) {
// Cookies remain the fallback when localStorage is unavailable.
}
document.cookie = encodeURIComponent(key) + '=' + encodeURIComponent(value)
+ '; Path=/; Max-Age=' + COOKIE_MAX_AGE
+ '; SameSite=Lax; Secure' + cookieDomain();
}
function getStoredValue(name) {
var key = STORAGE_PREFIX + name;
try {
var localValue = window.localStorage.getItem(key);
if (localValue) return localValue;
} catch (error) {
// Continue to the cookie fallback.
}
var encodedKey = encodeURIComponent(key) + '=';
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0; i < cookies.length; i += 1) {
if (cookies[i].indexOf(encodedKey) === 0) {
return decodeURIComponent(cookies[i].slice(encodedKey.length));
}
}
return '';
}
function clearStoredValue(name) {
var key = STORAGE_PREFIX + name;
try {
window.localStorage.removeItem(key);
} catch (error) {
// Continue to clear the cookie fallback.
}
document.cookie = encodeURIComponent(key) + '=; Path=/; Max-Age=0'
+ '; SameSite=Lax; Secure' + cookieDomain();
}
function captureAttribution() {
var params = new URLSearchParams(window.location.search);
var hasCampaignParams = QUERY_FIELDS.some(function (name) {
return Boolean(params.get(name));
});
if (hasCampaignParams) {
QUERY_FIELDS.forEach(clearStoredValue);
clearStoredValue('referrer');
}
QUERY_FIELDS.forEach(function (name) {
var value = params.get(name);
if (value) setStoredValue(name, value, true);
});
setStoredValue('landing_page', window.location.href, hasCampaignParams);
setStoredValue('first_page', window.location.href, false);
setStoredValue('referrer', document.referrer, hasCampaignParams);
}
function populateForms(root) {
var scope = root && root.querySelectorAll ? root : document;
FORM_FIELDS.forEach(function (name) {
var value = getStoredValue(name);
if (!value) return;
var fields = scope.querySelectorAll('input[name="' + name + '"]');
for (var i = 0; i < fields.length; i += 1) {
fields[i].value = value;
}
});
}
captureAttribution();
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function () {
populateForms(document);
});
} else {
populateForms(document);
}
document.addEventListener('focusin', function (event) {
var form = event.target && event.target.closest
? event.target.closest('.wpcf7-form')
: null;
if (form) populateForms(form);
});
document.addEventListener('wpcf7beforesubmit', function (event) {
populateForms(event.target || document);
});
if (window.MutationObserver) {
var observer = new MutationObserver(function (mutations) {
for (var i = 0; i < mutations.length; i += 1) {
if (mutations[i].addedNodes.length) {
populateForms(document);
break;
}
}
});
observer.observe(document.documentElement, { childList: true, subtree: true });
}
}());