var _cs_gateway_cfg = JSON.parse('{"sid":"78tmt5ef8vr4epab532pj1ehma","uid":"","fsid":"17257-12245-0d09-0d19"}');/* * Tracking Snippet */ (function() { //console.log("userAgent - " + navigator.userAgent); var documentScript = document.currentScript; if(!documentScript && _cs_gateway_cfg.hasOwnProperty('currentScript')){ var documentScript = document.getElementById(_cs_gateway_cfg.currentScript); } var trackerCallback = null; if(documentScript){ trackerCallback = documentScript.trackerCallback; } var data = { clientSessionId: _cs_gateway_cfg.fsid, userAgent: navigator.userAgent, href: window.location.href, hostname: window.location.hostname, pathname: window.location.pathname }; // Requirements // 0 - not required, 1 - required, 2 - loaded var required = { fingerprintjs2: 1, jstimezonedetect: 1 }; // Pull Cookie var cookieName = "_fc"; var cookie = getCookie(cookieName); if(cookie !== ""){ data.cookie = cookie; } // fingerprintjs2 // https://github.com/Valve/fingerprintjs2 // https://cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/1.5.1/fingerprint2.min.js if(required.fingerprintjs2){ var url = 'https://cdnjs.cloudflare.com/ajax/libs/fingerprintjs2/1.5.1/fingerprint2.min.js'; loadScript(url, function() { var options = { excludeJsFonts: true, excludeCanvas: true, excludeWebGL: true }; new Fingerprint2(options).get(function(result, components){ data.fingerprintjs2 = result; //console.log("fingerprint2 - " + result); for (var index in components) { var obj = components[index]; var key = obj.key; var value = obj.value; //console.log(key + " - " + value); switch(key){ case 'language': data.language = value; break; case 'color_depth': data.colorDepth = value; break; case 'pixel_ratio': data.pixelRatio = value; break; case 'hardware_concurrency': data.hardwareConcurrency = value; break; case 'resolution': data.resolution = value; break; case 'available_resolution': data.availableResolution = value; break; case 'timezone_offset': data.timezoneOffset = value; break; case 'session_storage': data.sessionStorage = value; break; case 'local_storage': data.localStorage = value; break; case 'indexed_db': data.indexedDatabase = value; break; case 'open_database': data.openDatabase = value; break; case 'cpu_class': data.cpuClass = value; break; case 'navigator_platform': data.navigatorPlatform = value; break; case 'do_not_track': data.doNotTrack = value; break; case 'regular_plugins': data.regularPlugins = value; break; case 'adblock': data.adblock = value; break; case 'has_lied_languages': data.hasLiedLanguages = value; break; case 'has_lied_resolution': data.hasLiedResolution = value; break; case 'has_lied_os': data.hasLiedOS = value; break; case 'has_lied_browser': data.hasLiedBrowser = value; break; case 'touch_support': data.touchSupport = value; break; case 'js_fonts': data.jsFonts = value; break; } } required.fingerprintjs2 = 2; if(sendReady(required)){ sendData(data); } }); }); } // jstimezonedetect // https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js if(required.jstimezonedetect){ var url = 'https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js'; loadScript(url, function() { var tz = jstz.determine(); data.timezone = tz.name(); //console.log("timezone - " + data.timezone); required.jstimezonedetect = 2; if(sendReady(required)){ sendData(data); } }); } function loadScript(url, callback){ var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = url; s.onreadystatechange = callback; s.onload = callback; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } function sendReady(required){ for(var key in required){ if(required[key] === 1){ return false; } } return true; } function sendData(data){ //console.log("Sending Data..."); // Prepare Data var params = []; if(data && typeof(data) === 'object') { for(var key in data){ params.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key])); } } params = params.join('&'); // XMLHTTPRequest try{ var xhr = new XMLHttpRequest(); var url = "https://fraud.cardswap.ca/tracker/beacon"; xhr.open("POST", url, true); //xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function(){ if (this.readyState == 4 && this.status == 200) { var response = JSON.parse(this.responseText); var data = response.data; saveCookie(data.cookie, data.expiration); // Send Tracker Callback typeof trackerCallback === 'function' && trackerCallback(data); } }; xhr.send(params); }catch(e){ //console.log("Error"); } }; function saveCookie(cookie, expiration){ var d = new Date(); d.setTime(expiration); document.cookie = cookieName+"="+cookie+";expires="+d.toUTCString()+";path=/"; } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i