const COOKIE_NAME_SESSID = '_rb_sessionid'; const COOKIE_NAME_TEST = '_rb_test'; var sessionId = getCookie(COOKIE_NAME_SESSID); if (sessionId === undefined) { document.cookie = COOKIE_NAME_SESSID + '=' + getUniqueId(); sessionId = getCookie(COOKIE_NAME_SESSID); } document.addEventListener('click', e => { if (e.target.classList.contains('rb-bubble')) { document.querySelector('#rb-button').remove(); renderWidget(); } if (e.target.classList.contains('rb-remove')) { document.querySelector('#rb-chat').remove(); renderButton(); } }); const test = getCookie(COOKIE_NAME_TEST) === undefined ? 0 : 1; // const test = 1; const host = test ? 'lk2.in-fo.ru' : 'lk.sales-management-center.com'; renderStyle(); renderButton(); function renderStyle() { let linkStyle = document.createElement('link'); linkStyle.setAttribute('rel', 'stylesheet'); linkStyle.setAttribute('href', `https://${host}/css/chat/widgetjs.css`); document.head.appendChild(linkStyle); } function renderButton() { let elemDiv = document.createElement('div'); elemDiv.setAttribute('id', 'rb-button'); elemDiv.innerHTML = ''; document.body.appendChild(elemDiv); } function renderWidget() { let elemDiv = document.createElement('div'); elemDiv.setAttribute('id', 'rb-chat'); let elemRemoveDiv = document.createElement('div'); elemRemoveDiv.setAttribute('class', 'rb-remove'); let elemIframe = document.createElement('iframe'); elemIframe.setAttribute('src', 'https://' + host + '/chat/widget/679fe280947fc' + '?session_id=' + sessionId + '&test=' + test ); elemIframe.style.cssText = 'border:none;height:300px;'; elemDiv.appendChild(elemRemoveDiv); elemDiv.appendChild(elemIframe); document.body.appendChild(elemDiv); } function getUniqueId() { let idstr = String.fromCharCode(Math.floor((Math.random() * 25) + 65)).toLowerCase(); do { let ascicode = Math.floor((Math.random() * 42) + 48); if (ascicode < 58 || ascicode > 64) { idstr += String.fromCharCode(ascicode).toLowerCase(); } } while (idstr.length < 32); return (idstr); } function getCookie(name) { let matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)")); return matches ? decodeURIComponent(matches[1]) : undefined; }