1// Live Chat entry point, kept to the same contract every other B2C site exposes: a global 2// openLiveChat() that pops the call-centre FAQ window, with the markup only carrying an onclick. 3// Pavo loads its copy from the text CDN (Views/Shared/livechat.cshtml -> GetTextCdnUrl("/js/livechat.js")); 4// this app has no CDN config or PathVersionHelper, so it self-hosts one under wwwroot the same way 5// Siren (scripts/LiveChat/livechat.js) and Akis (wwwroot/js/LiveChat/livechat.js) do. The window 6// name is "liveChat" here too, so a chat already opened from the brand site is reused, not duplicated. 7// 8// Pavo's slide-up variant (an iframe plus toggleLiveChat(), behind the FeatureToggleLiveChatSlideUp 9// global setting) is deliberately not mirrored: its behaviour lives in the CDN-hosted script, not in 10// any repo, so it is not something this file can reproduce faithfully. 11 12(() => { 13 // ".sbotop.com" from "secure.sbotop.com" -- the call centre is a sibling subdomain of whatever 14 // host served this page, so staging and production resolve without any per-environment config. 15 const getMainDomain = () => { 16 const domainParts = window.location.hostname.split('.'); 17 const length = domainParts.length; 18 return `.${domainParts[length - 2]}.${domainParts[length - 1]}`; 19 }; 20 21 const popupWindow = (link, pageName, width, height) => { 22 const style = `scrollbars=yes,resizable=yes,width=${width},height=${height},left=660,top=200,status=yes,toolbar=no,menubar=no,location=no`; 23 window.open(link, pageName, style); 24 }; 25 26 window.openLiveChat = () => { 27 // Same mapping as Pavo's script carries: the sbobetex.com hostname has no call centre of its own. 28 const mainDomain = getMainDomain(); 29 const callCentreDomain = mainDomain === '.sbobetex.com' ? '.sbotop.com' : mainDomain; 30 popupWindow(`${window.location.protocol}//callcenter${callCentreDomain}/faq`, 'liveChat', 450, 700); 31 }; 32})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.