document.addEventListener('DOMContentLoaded', function () { var movedNowCssFlag = 'moved-now', widgetExpandedDelay = 170, maxPhoneLength = 11, timer = null, timerVal = 15; var applyDataMask = function applyDataMask(field) { var mask = field.dataset.mask.split(''), maskSeparator = '-'; function stripMask(maskedData) { function isDigit(char) { return /\d/.test(char); } return maskedData.split('').filter(isDigit); } function applyMask(data) { return mask.map(function(char) { if (char != '_') { return char; } if (data.length == 0) { return char; } return data.shift(); }).join(''); } function reapplyMask(data) { return applyMask(stripMask(data)); } function changed(e) { var oldStart = field.selectionStart; var oldEnd = field.selectionEnd; field.value = reapplyMask(field.value); if (e.type == 'keyup') { if (e.key != 'ArrowRight' && e.key != 'ArrowLeft') { if (field.value.charAt(oldStart) == maskSeparator && e.key != 'Backspace') { ++oldStart; ++oldEnd; } } } field.selectionStart = oldStart; field.selectionEnd = oldEnd; } field.addEventListener('click', changed); field.addEventListener('keyup', changed); }; var setNewMask = function(domEl, mask) { var tmpDomEl; domEl.setAttribute('value', mask); domEl.value = mask; domEl.setAttribute('data-mask', mask); tmpDomEl = domEl.cloneNode(true); domEl.parentNode.replaceChild(tmpDomEl, domEl); applyDataMask(tmpDomEl); }; var createHtmlEl = function(htmlStr) { var frag = document.createDocumentFragment(), temp = document.createElement('div'); temp.innerHTML = htmlStr; while (temp.firstChild) { frag.appendChild(temp.firstChild); } return frag; }; var insertCssFile = function(cssPath) { var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = cssPath; var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h); }; var runCallbackCommand = function() { var el = document.getElementById('widgetPhoneNum'), phone = getWidgetCountryPrefix() + el.value.replace(/[_ -]/g, ''), body = 'userPhone=' + encodeURIComponent(phone) + '&userIp=' + encodeURIComponent('185.98.7.178') + '&userUrl=' + encodeURIComponent('www.apro.kz') + '&companyId=' + encodeURIComponent('3953') + '&elemId=' + encodeURIComponent('el-426299590'), xhr = new XMLHttpRequest(); if (phone && phone.length == maxPhoneLength) { el.parentElement.classList.remove('not-valid'); el.classList.remove('not-valid'); xhr.open('POST', 'https://ats.kts.kz/api/public.php?method=send-detail-callback', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function(e) { if (xhr.readyState == 4) { if (xhr.status == 200) { window.dataLayer && window.dataLayer.push({ 'event': 'user-callback-called' }); runCallbackTimer(); } } }; xhr.send(body); } else { el.parentElement.classList.add('not-valid'); } }; var runCallbackTimer = function() { var drawTimerValue = function(v) { if (v < 10) { v = '0' + v; } document.getElementById('widgetButtonTimer').innerHTML = '00:' + v; }; var drawTimerDomEl = function() { var str = "