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 = "
00:" + timerVal + "
", el = document.getElementById('widgetButton'); el.innerHTML = str; }; if (!timer) { collapseCallbackForm(); drawTimerDomEl(); timer = setInterval(function() { drawTimerValue(--timerVal); if (timerVal == 0) { clearInterval(timer); timer = null; timerVal = 15; removeDomElement('widgetButtonTimer'); document.getElementById('widgetButton').innerHTML = ""; } }, 1000); } }; var removeDomElement = function(domId) { document.getElementById(domId).parentNode.removeChild(document.getElementById(domId)); }; var getWidgetCountryPrefix = function() { var prefixDomEl = prefixDomEl = document.getElementById('widgetPhonePrefix'); return prefixDomEl.innerHTML.replace('+', ''); }; var changeWidgetCountryMask = function(domEl) { var countryClassList = domEl.classList, prefixDomEl = document.getElementById('widgetPhonePrefix'), inputDomEl = document.getElementById('widgetPhoneNum'), countryFlagDomEl = document.getElementById('widgetPhoneCountryFlag'), countryArr = ['kaz', 'rus', 'ukr', 'bel'], tmpDomEl; var getCurrentCountry = function() { for (var i=0; i