//console.log('Starting creating widget.'); create_widget(null, null, '@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,700;1,800;1,900&display=swap"); @media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth; } }.ctaWidget_item{font-family: "Montserrat", sans-serif;font-size: 1rem;font-weight: 400;line-height: 1.5;}.ctaWidget_item *,.ctaWidget_item *::before,.ctaWidget_item *::after {box-sizing: border-box;font-family: inherit;color:inherit;line-height:inherit; position:static;}.ctaWidget_item img{ padding:0; margin:0;}.antibot_check label { display: flex !important; justify-content: center; align-items: center; margin: 0 0 15px !important; font-weight: 400 !important; font-size: 16px !important; border-radius:5px !important;}.antibot_check input[type=checkbox] { width: 25px !important; display: inline-block !important; margin: 0 7px 0 0 !important; color: #fff !important; -webkit-appearance:checkbox;}.ctaWerror{border:1px solid #f00 !important;}.grecaptcha-badge{display:none !important;}'); var client_details = window.navigator.userAgent; if (!sessionStorage.getItem('startTime')) { sessionStorage.setItem('startTime', Date.now()); } if (!sessionStorage.getItem('referrer')) { sessionStorage.setItem('referrer', document.referrer); } function show_site_time(){ var enterTime = sessionStorage.getItem('startTime'); var currentTime = Date.now(); var spentTime = (currentTime - enterTime) / 1000; var minutes = Math.floor(spentTime / 60); var seconds = Math.floor(spentTime % 60); if(seconds<10) seconds = '0'+seconds; return minutes+':'+seconds; } function sendData( data ) { const XHR = new XMLHttpRequest(); let urlEncodedData = "", urlEncodedDataPairs = [], name; // Turn the data object into an array of URL-encoded key/value pairs. for( name in data ) { urlEncodedDataPairs.push( encodeURIComponent( name ) + '=' + encodeURIComponent( data[name] ) ); } // Combine the pairs into a single string and replace all %-encoded spaces to // the '+' character; matches the behaviour of browser form submissions. urlEncodedData = urlEncodedDataPairs.join( '&' ).replace( /%20/g, '+' ); // Define what happens on successful data submission let fraud; fraud = 0; if(data.action == 1 && !document.getElementById('ctaCallback').classList.contains('act')) fraud = 1; if(fraud == 0){ XHR.addEventListener( 'load', function(event) { if(data.action == 1){ document.getElementById('ctaFormResponse').classList.add('act'); document.getElementById('ctawCB_loader').style.display = 'none'; console.log( event.target.responseText); setTimeout(function(){ document.getElementById('ctaCallback').classList.remove('act'); },3000); sessionStorage.setItem('seenCB','1'); document.getElementById('Ctacb_phone').value = ""; ym(metrikaID,'reachGoal','ctawidget_callback_lead'); if(gtag()) gtag('event_name','ctawidget_callback_lead'); }; if(data.action == 8){ document.getElementById('ctaLeadGeneratorFormResponse').classList.add('act'); console.log( event.target.responseText ); setTimeout(function(){ document.getElementById('ctawLeadGeneratorWindow').classList.remove('act'); document.getElementById('ctawLeadGeneratorBD').classList.remove('ctaBdShow');},3000); sessionStorage.setItem('seenLeadGenerator','1'); document.querySelectorAll('#leadGeneratorFormFields input').forEach( el => { el.value = ""; }); ym(metrikaID,'reachGoal','ctawidget_leadgenerator_lead'); }; if(data.action == 10){ document.getElementById('quiz_contacts_value').value = ''; document.getElementById('quiz_final_cta').style.display = 'none'; document.getElementById('quiz_success_send').style.display = 'block'; console.log( event.target.responseText ); setTimeout(function(){ document.getElementById('ctawQuizWindow').classList.remove('act'); document.getElementById('ctawQuizWindowBD').classList.remove('ctaBdShow');},3000); sessionStorage.setItem('seenQuiz','1'); ym(metrikaID,'reachGoal','ctawidget_quiz_lead'); }; return '1'; } ); // Define what happens in case of error XHR.addEventListener( 'error', function(event) { console.log( 'Oops! Something went wrong.' ); return '0'; } ); // Set up our request XHR.open( 'POST', 'https://app.ctawidget.ru/sendcallback' ); // Add the required HTTP header for form data POST requests //XHR.setRequestHeader( 'Access-Control-Allow-Origin', '*' ); XHR.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); // Finally, send our data. XHR.send( urlEncodedData ); } } function create_widget(widget_id, widget_html, widget_css){ document.addEventListener("DOMContentLoaded", function(event) { var styleNode = document.createElement('style'); styleNode.type = "text/css"; // browser detection (based on prototype.js) if(!!(window.attachEvent && !window.opera)) { styleNode.styleSheet.cssText = widget_css; } else { var styleText = document.createTextNode(widget_css); styleNode.appendChild(styleText); } document.getElementsByTagName('head')[0].appendChild(styleNode); if(widget_id != null){ var ctawNode = document.createElement('div'); ctawNode.id = widget_id; ctawNode.classList.add("ctaWidget_item"); ctawNode.innerHTML = widget_html; document.getElementsByTagName('body')[0].appendChild(ctawNode); //console.log('Created widget:'+widget_id); } }); } function get_visible_widget(){ var visible = ''; const widgetsIDs = [ 'ctawChat', 'ctaCallback', 'ctawMB', 'ctawLeadGeneratorWindow', 'ctawQuizWindow' //'ctawCBbutt_cta' ]; widgetsIDs.forEach( (element) => { if(document.getElementById(element) && document.getElementById(element).classList.contains('act')){ visible = element; } }); return visible; } function get_fullwin_visible_widget(){ var visible = ''; if(window.innerWidth < 769){ const widgetsIDs = [ 'ctawChat', 'ctaCallback', 'ctawLeadGeneratorWindow', 'ctawQuizWindow' //'ctawCBbutt_cta' ]; widgetsIDs.forEach( (element) => { if(document.getElementById(element) && document.getElementById(element).classList.contains('act')){ visible = element; } }); } return visible; } function get_visible_cta(){ var visible = ''; const ctasIDs = [ 'ctawCBbutt_cta', 'ctawLeadGenerator_cta' ]; widgetsIDs.forEach( (element) => { if(document.getElementById(element) && document.getElementById(element).classList.contains('act')){ visible = element; } }); return visible; } function ValidEmail(myMail) { var re = /^[\w-\.]+@[\w-]+\.[a-z]{2,4}$/i; var valid = re.test(myMail); return valid; } function ValidPhone(myPhone) { var re = /^[\d\+][\d\(\)\ -]{6,21}\d$/; var valid = re.test(myPhone); return valid; } var pathUrls = new Array(); function set_urls(){ sessionStorage.setItem('pathUrls', JSON.stringify(pathUrls)); } function get_urls(){ if(sessionStorage.getItem('pathUrls')) { pathUrls = sessionStorage.getItem('pathUrls'); pathUrls = JSON.parse(pathUrls); } else { pathUrls.push(window.location.href); set_urls(); } } var metrikaID = ''; var bot = 0; document.addEventListener("DOMContentLoaded", function(event) { get_urls(); for(let i=0; i 50){ let antibot = ''; if(document.querySelector('.antibot_check').innerHTML == '') document.querySelector('.antibot_check').innerHTML = antibot; } } else bot = 0; } }); var PhoneMask = function(elements, settings) { var that = this; settings = settings || {}; this.elements = elements; this.patternChar = settings.patternChar || '_'; this.prefix = settings.prefix || ''; this.pattern = settings.pattern || '(___) ___-__-__'; this.pattern = this.prefix + this.pattern; this.backspaceCode = settings.backspaceCode || 8; this.deleteCode = settings.deleteCode || 46; this.allowedRegExp = settings.allowedRegExp || /^\d$/; this.igrogeKeyCodes = settings.igrogeKeyCodes || [9, 16, 17, 18, 36, 37, 38, 39, 40, 91, 92, 93]; var inputKeyEventPress = function(e) { e = e || window.event; var elem = e.target || e.srcElement; var result = true; console.log(e.keyCode); if (!that.isIgnoredKey(e.keyCode)) { if (e.keyCode != that.backspaceCode && e.keyCode != that.deleteCode) { var char = String.fromCharCode(e.keyCode); if (that.allowedRegExp == false || char.match(that.allowedRegExp) != null) { elem.value = that.replaceToChar(elem, char); } } result = false; } // select first pattern symbol that.selectFirstPatterntChar(elem); if (result == false) { if (e.preventDefault) { e.preventDefault(); } return result; } }; var inputKeyEventDown = function(e) { e = e || window.event; var elem = e.target || e.srcElement; var result = true; if (!that.isIgnoredKey(e.keyCode)) { if (e.keyCode == that.backspaceCode) { elem.value = that.replaceToPatternChar(elem); result = false; } if (e.keyCode == that.deleteCode) { elem.value = that.replaceToPatternChar(elem); result = false; } } // select first pattern symbol that.selectFirstPatterntChar(elem); if (result === false) { return false; } }; var inputFocusEvent = function(e) { e = e || window.event; var elem = e.target || e.srcElement; var start = elem.value.indexOf(that.patternChar); var end = start + 1; if (start < 0) { start = elem.value.length - 1; end = start + 1; } that.selectCharInInput(elem, start, end); } if (Object.prototype.toString.call(this.elements) === "[object NodeList]") { for (var i = 0; i < this.elements.length; i++) { if (this.elements[i].value.length > 0) { that.applyPatternToValue(this.elements[i]); } else { this.elements[i].value = that.pattern; } this.elements[i].onkeydown = inputKeyEventDown; this.elements[i].onkeypress = inputKeyEventPress; this.elements[i].onfocus = inputFocusEvent; } } else if (this.elements != null) { if (this.elements.value.length > 0) { that.applyPatternToValue(this.elements); } else { this.elements.value = that.pattern; } this.elements.onkeydown = inputKeyEventDown; this.elements.onkeypress = inputKeyEventPress; this.elements.onfocus = inputFocusEvent; } } PhoneMask.prototype.applyPatternToValue = function(elem) { var valueArr = elem.value.split(""); var patternValue = this.pattern; var len = valueArr.length; for (var i = 0; i < len; i++) { patternValue = patternValue.replace(this.patternChar, valueArr[i]); } elem.value = patternValue; } PhoneMask.prototype.selectFirstPatterntChar = function(elem) { var start = elem.value.indexOf(this.patternChar); if (start > -1) { var end = start + 1; this.selectCharInInput(elem, start, end); } } PhoneMask.prototype.isIgnoredKey = function(code) { if (this.igrogeKeyCodes.indexOf(code) < 0) { return false; } return true; }; PhoneMask.prototype.selectCharInInput = function(elem, start, end) { if (elem.setSelectionRange) { elem.focus(); elem.setSelectionRange(start, end); } else { if (elem.createTextRange) { range = elem.createTextRange(); range.collapse(true); range.moveEnd('character', end); range.moveStart('character', start); range.select(); } } }; PhoneMask.prototype.replaceAt = function(str, index, character) { var tempArr = str.split(""); tempArr[index] = character; return tempArr.join(""); }; PhoneMask.prototype.replaceToChar = function(elem, char) { var value = elem.value; var firstCharToReplace = value.indexOf(this.patternChar); if (firstCharToReplace > -1) { return this.replaceAt(value, firstCharToReplace, char); } return value; }; PhoneMask.prototype.replaceToPatternChar = function(elem) { var value = elem.value; var firstPatternCharPos = value.indexOf(this.patternChar); var replaceCharPos; var isFindPos = false; if (firstPatternCharPos == -1) { replaceCharPos = value.length - 1; isFindPos = true; } else { replaceCharPos = firstPatternCharPos - 1; while (!isFindPos) { if (this.pattern[replaceCharPos] != value[replaceCharPos]) { isFindPos = true; } else { replaceCharPos--; if (replaceCharPos < 0) { break; } } } } if (isFindPos && replaceCharPos >= this.prefix.length) { return this.replaceAt(value, replaceCharPos, this.patternChar); } return value; }; PhoneMask.prototype.destroy = function() { if (Object.prototype.toString.call(this.elements) === "[object NodeList]") { for (var i = 0; i < this.elements.length; i++) { this.elements[i].value = null; this.elements[i].onkeydown = null; this.elements[i].onkeypress = null; this.elements[i].onfocus = null; } } else if (this.elements != null) { this.elements.value = null; this.elements.onkeydown = null; this.elements.onkeypress = null; this.elements.onfocus = null; } };create_widget('ctawOw1', '
Позвоните нам Закажите обратный звонок Напишите нам письмо Напишите нам в WhatsApp
', '#ctawOw1{position: fixed;bottom: 20px;right:20px;-webkit-transition: all 0.42s ease 0s;-moz-transition: all 0.42s ease 0s;-ms-transition: all 0.42s ease 0s;-o-transition: all 0.42s ease 0s;transition: all 0.42s ease 0s;box-sizing: border-box;z-index:999;}@media screen and (max-width: 782px) {#ctawOw1{bottom: 20px;}}'); create_widget('ctawGoUp', ' ', "#ctawGoUp{ opacity:0; position: fixed; bottom: 20px; left:20px; width: 70px; height: 70px; padding: 15px; border-radius:15px; background-color:#D79779ee; -webkit-transition: all 0.42s ease 0s; -moz-transition: all 0.42s ease 0s; -ms-transition: all 0.42s ease 0s; -o-transition: all 0.42s ease 0s; transition: all 0.42s ease 0s; cursor:pointer; box-sizing: border-box; z-index:99999;}#ctawGoUp svg{ max-width:100%; fill:#ffffff; display:block;}#ctawGoUp.act{ opacity:1; -webkit-transition: all 0.42s ease 0s; -moz-transition: all 0.42s ease 0s; -ms-transition: all 0.42s ease 0s; -o-transition: all 0.42s ease 0s; transition: all 0.42s ease 0s;}@media screen and (min-width: 783px) {#ctawGoUp:hover{ transform:scale(1.05); -webkit-transition: all 0.42s ease 0s; -moz-transition: all 0.42s ease 0s; -ms-transition: all 0.42s ease 0s; -o-transition: all 0.42s ease 0s; transition: all 0.42s ease 0s;}}@media screen and (max-width: 782px) {#ctawGoUp{ bottom: 20px;}}" ); document.addEventListener("DOMContentLoaded", function(event) { document.getElementById('ctawGoUp').addEventListener( 'click',function(){ window.scrollTo({ top:0, behavior: "smooth" }); }); document.getElementById('ctawGoUp').addEventListener( 'ontouchstart',function(){ window.scrollTo({ top:0, behavior: "smooth" }); }); window.addEventListener('scroll',function(){ if (window.scrollY > window.innerHeight) { document.getElementById('ctawGoUp').classList.add('act'); } else { document.getElementById('ctawGoUp').classList.remove('act'); } }); /* функция кнопка наверх */ });