{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./js/lib.js","webpack:///./js/carousel.js","webpack:///./js/quiz.js","webpack:///./js/form.js","webpack:///./js/popup.js","webpack:///./index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","getNode","selector","document","querySelector","getNodes","querySelectorAll","handleNodesClick","cb","forEach","addEventListener","e","viewPort","lib","embla","EmblaCarousel","loop","align","on","eventName","classList","remove","selectedScrollSnap","add","quiz","step","product","integration","delivery","takeaway","loyalty","ordersNumber","venuesNumber","price","prevStep","target","id","split","pop","option","btnDisabled","disabled","contains","showStep","scrollIntoView","behavior","dots","endButtons","style","display","includes","hidden","appPrice","sitePrice","loyaltyPrice","venues","Math","floor","venuesPrice","k","innerText","toLocaleString","nextStep","platform","validPhone","validEmail","phoneInput","val","preventDefault","masked","replace","mask","maskPhone","condition","setAttribute","validateForm","emailInput","str","test","formBtn","form","successMsg","errorMsg","xhr","password","XMLHttpRequest","open","setRequestHeader","obj","encodeURIComponent","join","serialize","email","phone","format","onreadystatechange","readyState","success","JSON","parse","responseText","send","popup","showPopup","overflowY","hidePopup","stopPropagation","popupContent","innerHTML","overlay","toggleMenu","menu","burger","close","node","top","getBoundingClientRect","pageYOffset","offset","navigator","userAgent","setTimeout","scrollTo","selectedAdvantage","selectedProduct","selectAdvantage","number","advantage","handleTab","opposite","left","opacity","activeNodes","innerWidth","lineLength","offsetWidth","round","ceil","reviewContainer","timer","setInterval","clearInterval","ext","timer2","changeTab","selectedProject","selectProject","offsetHeight","adv","oldY","keys","37","38","39","40","preventDefaultForScrollKeys","keyCode","supportsPassive","wheelOpt","passive","wheelEvent","createElement","disableScroll","enableScroll","removeEventListener","Stickyfill","matchMedia","matches","newY","bottom","clearTimeout","projectsTimer","projectsSection","carousel","scrollNext","scrollPrev","resizeLegalBlock","marginDeltaFirst","mainBlockParams","getElementsByTagName","mainBlockMargin","legalBlock","getElementById","legalBlockParams","marginDelta","width","calcMargin","err","console","log","legalMarginDelta","customResize"],"mappings":"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","file":"main.1009642b1d8ef6e09ef3.index.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/landing-test/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([123,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","const getNode = (selector) => document.querySelector(selector);\r\n\r\nconst getNodes = (selector) => document.querySelectorAll(selector);\r\n\r\nconst toggleVisibility = (node) => node.hidden = !node.hidden;\r\n\r\nconst handleNodesClick = (selector, cb) => {\r\n getNodes(selector).forEach(n => {\r\n n.addEventListener('click', e => {\r\n cb(e);\r\n });\r\n });\r\n}\r\n\r\nconst isMobile = () => /Mobile|webOS|BlackBerry|IEMobile|MeeGo|mini|Fennec|Windows Phone|Android|iP(ad|od|hone)/i.test(navigator.userAgent);\r\n\r\nexport {getNode, getNodes, toggleVisibility, handleNodesClick, isMobile}","import EmblaCarousel from 'embla-carousel'\r\nimport * as lib from './lib'\r\n\r\nconst wrap = lib.getNode('.embla')\r\nconst viewPort = wrap.querySelector(\".embla__viewport\");\r\nconst options = { loop: true, align: \"start\" }\r\n\r\nconst embla = EmblaCarousel(viewPort, options)\r\n\r\nembla.on('select', (eventName) => {\r\n lib.getNodes('.slide').forEach(n => {\r\n n.classList.remove('slide-active');\r\n });\r\n lib.getNode(`#slide_${embla.selectedScrollSnap() + 1}`).classList.add('slide-active');\r\n});\r\n\r\nexport {embla}","import * as lib from './lib'\r\n\r\nlet quiz = {\r\n step: 1,\r\n product: '',\r\n integration: 'iiko',\r\n delivery: true,\r\n takeaway: true,\r\n loyalty: false,\r\n ordersNumber: 0,\r\n venuesNumber: 0\r\n};\r\nlet price = 0;\r\n\r\nlib.handleNodesClick('.quiz-heading', e => {\r\n prevStep();\r\n});\r\n\r\nlib.handleNodesClick('#quiz-step-1 .btn', e => {\r\n quiz.product = e.target.id.split('-').pop();\r\n});\r\nlib.handleNodesClick('.quiz-radio', e => {\r\n quiz.integration = e.target.value;\r\n});\r\nlib.handleNodesClick('#quiz-step-3 .quiz-checkbox', e => {\r\n const option = e.target.id.split('-').pop();\r\n quiz[option] = !quiz[option];\r\n let btnDisabled = !quiz.delivery && !quiz.takeaway && !quiz.loyalty;\r\n if (quiz.product === 'all' && quiz.integration === 'iiko' && quiz.loyalty && !quiz.delivery && !quiz.takeaway) {\r\n btnDisabled = true;\r\n }\r\n lib.getNode(`#quiz-step-3 .quiz-forward`).disabled = btnDisabled;\r\n});\r\nlib.getNode('#orders-number').addEventListener('input', e => {\r\n quiz.ordersNumber = +e.target.value;\r\n lib.getNode(`#quiz-step-4 .quiz-forward`).disabled = !quiz.ordersNumber || !quiz.venuesNumber;\r\n if (quiz.ordersNumber) {\r\n if (!lib.getNode(`#quiz-dot-5`).classList.contains('quiz-dots-dot-active')) {\r\n lib.getNode(`#quiz-dot-5`).classList.add('quiz-dots-dot-active');\r\n lib.getNode(`#quiz-dot-line-5`).classList.add('quiz-dots-line-active');\r\n }\r\n } else {\r\n lib.getNode(`#quiz-dot-5`).classList.remove('quiz-dots-dot-active');\r\n lib.getNode(`#quiz-dot-line-5`).classList.remove('quiz-dots-line-active');\r\n }\r\n});\r\nlib.getNode('#venues-number').addEventListener('input', e => {\r\n quiz.venuesNumber = +e.target.value;\r\n lib.getNode(`#quiz-step-4 .quiz-forward`).disabled = !quiz.ordersNumber || !quiz.venuesNumber;\r\n});\r\nlib.handleNodesClick('.quiz-restart', e => {\r\n quiz.step = 1;\r\n lib.getNodes(`.quiz-dots-dot`).forEach(d => {\r\n if (d.id !== 'quiz-dot-1') {\r\n d.classList.remove('quiz-dots-dot-active');\r\n }\r\n });\r\n lib.getNodes(`.quiz-dots-line`).forEach(d => {\r\n d.classList.remove('quiz-dots-line-active');\r\n });\r\n showStep();\r\n});\r\nlib.handleNodesClick('.quiz-submit', e => {\r\n lib.getNode('#form').scrollIntoView({behavior: \"smooth\"});\r\n});\r\n\r\nconst showStep = () => {\r\n lib.getNodes('.quiz-step').forEach(n => n.classList.remove('quiz-step-active'));\r\n lib.getNode(`#quiz-step-${quiz.step}`).classList.add('quiz-step-active');\r\n const dots = lib.getNode('.quiz-dots');\r\n const endButtons = lib.getNode('.quiz-end-buttons');\r\n if (quiz.step === 3) {\r\n lib.getNode('#quiz-loyalty + label')\r\n .style.display = !['app', 'all'].includes(quiz.product) || quiz.integration !== 'iiko' ? 'none' : 'flex';\r\n }\r\n if (quiz.step === 5) {\r\n lib.getNode('#quiz-payment-bank').style.display = 'flex';\r\n dots.style.display = 'none';\r\n endButtons.hidden = false;\r\n let appPrice = 0;\r\n let sitePrice = 0;\r\n if (quiz.product === 'app' || quiz.product === 'all') {\r\n lib.getNode('#quiz-payment-appstore').style.display = 'flex';\r\n if (quiz.integration === 'iiko') {\r\n lib.getNode('#quiz-payment-app').style.display = 'flex';\r\n\r\n let loyaltyPrice = 0;\r\n if (quiz.loyalty) {\r\n\r\n if (quiz.product === 'app' && !quiz.delivery && !quiz.takeaway) {\r\n lib.getNode('#quiz-payment-bank').style.display = 'none';\r\n }\r\n\r\n loyaltyPrice = 2990;\r\n let venues = quiz.venuesNumber - 1;\r\n loyaltyPrice += Math.floor(venues / 10) * 7990;\r\n venues = venues % 10;\r\n if (venues > 2) {\r\n loyaltyPrice += Math.floor(venues / 3) * 2790;\r\n venues = venues % 3;\r\n }\r\n if (venues > 0) {\r\n loyaltyPrice += venues * 990;\r\n }\r\n }\r\n\r\n let venuesPrice = 0;\r\n if (quiz.delivery || quiz.takeaway) {\r\n venuesPrice = 9990;\r\n let venues = quiz.venuesNumber - 3;\r\n if (venues > 2) {\r\n venuesPrice += Math.floor(venues / 3) * 7990;\r\n venues = venues % 3;\r\n }\r\n if (venues > 0) {\r\n venuesPrice += venues * 2990;\r\n }\r\n }\r\n\r\n appPrice = loyaltyPrice + venuesPrice;\r\n } else {\r\n lib.getNode('#quiz-payment-app').style.display = 'none';\r\n if (quiz.integration === 'poster') {\r\n appPrice = 6990;\r\n let venues = quiz.venuesNumber - 2;\r\n if (venues > 0) {\r\n appPrice += venues * 3000;\r\n }\r\n } else {\r\n const k = quiz.delivery ? 8 : 2;\r\n appPrice = quiz.ordersNumber * 30 * k;\r\n }\r\n }\r\n } else {\r\n lib.getNode('#quiz-payment-appstore').style.display = 'none';\r\n lib.getNode('#quiz-payment-app').style.display = 'none';\r\n }\r\n\r\n if (['app', 'all'].includes(quiz.product) && !['iiko', 'poster'].includes(quiz.integration)) {\r\n lib.getNode('#quiz-payment-monthly').style.display = 'flex';\r\n } else {\r\n lib.getNode('#quiz-payment-monthly').style.display = 'none';\r\n }\r\n\r\n if (quiz.product === 'site' || quiz.product === 'all') {\r\n lib.getNode('#quiz-payment-site').style.display = 'flex';\r\n lib.getNode('#quiz-payment-domain').style.display = 'flex';\r\n const k = quiz.delivery ? 32 : 8;\r\n sitePrice += quiz.ordersNumber * 30 * 0.8 * k;\r\n } else {\r\n lib.getNode('#quiz-payment-site').style.display = 'none';\r\n lib.getNode('#quiz-payment-domain').style.display = 'none';\r\n }\r\n\r\n price = appPrice + sitePrice;\r\n if (price > 50000 && !['iiko', 'poster'].includes(quiz.integration)) {\r\n lib.getNode('.quiz-negotiate').style.display = 'block';\r\n } else {\r\n lib.getNode('.quiz-negotiate').style.display = 'none';\r\n }\r\n } else {\r\n lib.getNode('.quiz-negotiate').style.display = 'none';\r\n lib.getNode(`#quiz-dot-5`).classList.remove('quiz-dots-dot-active');\r\n lib.getNode(`#quiz-dot-line-5`).classList.remove('quiz-dots-line-active');\r\n dots.style.display = 'flex';\r\n endButtons.hidden = true;\r\n }\r\n const headings = [\r\n 'Что запускаем?',\r\n 'Какую кассовую систему используем?',\r\n 'Что включаем?',\r\n 'Сколько заказов в день?'\r\n ]\r\n const headingNode = lib.getNode('.quiz-heading');\r\n headingNode.innerText = quiz.step === 5 ? `~ ${price.toLocaleString()} ₽/месяц` : headings[quiz.step - 1];\r\n}\r\n\r\nconst nextStep = () => {\r\n quiz.step++;\r\n showStep();\r\n if (quiz.step === 2) {\r\n lib.getNode('.quiz-heading').classList.add('quiz-heading-with-arrow');\r\n }\r\n let step = quiz.step === 5 ? 6 : quiz.step;\r\n lib.getNode(`#quiz-dot-${step}`).classList.add('quiz-dots-dot-active');\r\n if (quiz.step < 2) return;\r\n lib.getNode(`#quiz-dot-line-${step}`).classList.add('quiz-dots-line-active');\r\n}\r\n\r\nconst prevStep = () => {\r\n lib.getNode(`#quiz-dot-${quiz.step}`).classList.remove('quiz-dots-dot-active');\r\n lib.getNode(`#quiz-dot-line-${quiz.step}`).classList.remove('quiz-dots-line-active');\r\n if (quiz.step === 5) {\r\n lib.getNode(`#quiz-dot-6`).classList.remove('quiz-dots-dot-active');\r\n lib.getNode(`#quiz-dot-line-6`).classList.remove('quiz-dots-line-active');\r\n }\r\n quiz.step--;\r\n showStep();\r\n if (quiz.step === 1) {\r\n lib.getNode('.quiz-heading').classList.remove('quiz-heading-with-arrow');\r\n }\r\n}\r\n\r\nlib.handleNodesClick('#quiz-step-1 .btn', e => {\r\n quiz.platform = e.target.id.split('-').pop();\r\n nextStep();\r\n});\r\n\r\nlib.handleNodesClick('.quiz-forward', e => {\r\n nextStep();\r\n});","import * as lib from './lib'\r\n\r\nlet validPhone = false;\r\nlet validEmail = true;\r\n\r\nconst phoneInput = lib.getNode('#phone-input');\r\nphoneInput.addEventListener('input', e => {\r\n const val = e.target.value;\r\n if (val.length < 4 || (val.length === 5 && ['7', '8'].includes(e.target.value.slice(-1)))) {\r\n e.preventDefault();\r\n e.target.value = '+7 ('\r\n } else {\r\n e.target.value = maskPhone(val);\r\n }\r\n lib.getNode('.form-phone-bg').innerText = e.target.value + '+7 (___) ___-__-__'.slice(e.target.value.length);\r\n});\r\n\r\nfunction maskPhone(val) {\r\n let masked = '';\r\n if (val.length === 1) {\r\n if (!['+', '7', '8'].includes(val[0])) {\r\n masked = `+7 (${val}`;\r\n } else if (['7', '8'].includes(val[0])) {\r\n masked = `+7 (${val.slice(1)}`;\r\n } else if (val[0] === '+') {\r\n masked = '+';\r\n }\r\n } else {\r\n masked = val.replace(/\\D/g, '');\r\n const mask = '+7 (###) ###-##-##';\r\n for (let i in mask) {\r\n i = +i;\r\n if (masked.length >= i && mask[i] !== masked[i] && mask[i] !== '#') {\r\n masked = masked.slice(0, i) + mask[i] + masked.slice(i);\r\n }\r\n }\r\n if (masked[masked.length - 1] === '-') {\r\n masked = masked.slice(0, -1);\r\n } else if (masked[masked.length - 1] === ' ') {\r\n masked = masked.slice(0, -2);\r\n }\r\n }\r\n return masked;\r\n}\r\n\r\nphoneInput.addEventListener('blur', e => {\r\n const condition = e.target.value.length === 18;\r\n lib.getNode('#phone-error').style.display = condition ? 'none' : 'block';\r\n phoneInput.setAttribute('valid', condition);\r\n validPhone = condition;\r\n validateForm();\r\n});\r\n\r\nconst emailInput = lib.getNode('#email-input');\r\nemailInput.addEventListener('blur', e => {\r\n const str = e.target.value;\r\n const condition = !str || /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/.test(str);\r\n lib.getNode('#email-error').style.display = condition ? 'none' : 'block';\r\n emailInput.setAttribute('valid', condition);\r\n validEmail = condition;\r\n validateForm();\r\n});\r\n\r\nconst formBtn = lib.getNode('#form-btn');\r\nfunction validateForm() {\r\n formBtn.disabled = !(validPhone && validEmail);\r\n}\r\nconst form = lib.getNode('.form');\r\nconst successMsg = lib.getNode('.form-success');\r\nconst errorMsg = lib.getNode('.form-error');\r\nlet xhr = null;\r\n\r\nfunction serialize(obj) {\r\n let str = [];\r\n for (let p in obj) if (obj.hasOwnProperty(p)) {\r\n str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\r\n }\r\n return str.join(\"&\");\r\n}\r\n\r\nlib.handleNodesClick('#form-btn', e => {\r\n e.preventDefault();\r\n\r\n // antispam, password is actually honeypot\r\n if (xhr || form.password.value) {\r\n return;\r\n }\r\n\r\n xhr = new XMLHttpRequest();\r\n xhr.open(\"POST\", \"https://rbcn.mobi/iiko_biz_submit?short_response=1\");\r\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded;charset=utf-8\");\r\n let data = serialize({\r\n \"email\": form.email.value,\r\n \"phone\": form.phone.value,\r\n \"name\": form.name.value,\r\n \"format\": form.format.value\r\n });\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState == 4) {\r\n const success = JSON.parse(xhr.responseText);\r\n form.style.display = 'none';\r\n if (success) {\r\n successMsg.style.display = 'block';\r\n } else {\r\n errorMsg.style.display = 'block';\r\n }\r\n xhr = null;\r\n }\r\n };\r\n xhr.send(data);\r\n});\r\n\r\nlib.handleNodesClick('#form-return', () => {\r\n form.style.display = 'block';\r\n errorMsg.style.display = 'none';\r\n});","import * as lib from './lib'\r\n\r\nconst popup = lib.getNode('.popup');\r\nfunction showPopup() {\r\n popup.style.display = 'flex';\r\n const body = lib.getNode('body');\r\n body.style.overflowY = 'hidden';\r\n}\r\nfunction hidePopup() {\r\n popup.style.display = 'none';\r\n const body = lib.getNode('body');\r\n body.style.overflowY = 'scroll';\r\n}\r\nlib.handleNodesClick('.popup-close-btn', () => {\r\n hidePopup();\r\n});\r\nlib.handleNodesClick('.popup-container', e => {\r\n e.stopPropagation();\r\n});\r\nlib.handleNodesClick('.popup', () => {\r\n hidePopup();\r\n});\r\nconst popupContent = lib.getNode('.popup-content');\r\n\r\nlib.handleNodesClick('#footer-docs', () => {\r\n popupContent.innerHTML = `\r\n
\r\n Руководство пользователя ПО Rubeacon\r\n Просмотреть\r\n
\r\n\r\n Жизненный цикл ПО Rubeacon\r\n Просмотреть\r\n
\r\n\r\n Документация, содержащая описание технических средств хранения исходного текста и объектного кода программного обеспечения, а также технических средств компиляции исходного текста в объектный код программного обеспечения\r\n Просмотреть\r\n
\r\n\r\n Описание технической архитектуры ПО Rubeacon\r\n Просмотреть\r\n
\r\n\r\n Описание функциональных характеристик ПО Rubeacon\r\n Просмотреть\r\n
\r\n \r\n\r\n Я даю свое Согласие Обществу с ограниченной ответственностью «РуБикон» (ИНН/КПП: 7728881950/771001001, ОГРН\r\n 1147746697075) и организациям, привлекаемым ООО «РуБикон» на договорной основе (далее по тексту – ООО «РуБикон», на\r\n обработку своих персональных данных в сервисе обратной связи и технической поддержки Pyrus, куда заявки попадают\r\n посредством отправки письма по email на адрес help@ru-beacon.ru в соответствии с Федеральным законом от 27.02.2006 №\r\n 152-ФЗ «О персональных данных» (далее по тексту – Согласие на обработку ПД). Мое Согласие на обработку ПД включает в\r\n том числе возможность автоматизированной обработки ООО «РуБикон» моих персональных данных.\r\n
\r\n \r\n\r\n Я ознакомлен(а), что под обработкой персональных данных в указанном законе понимаются действия (операции) с\r\n персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление,\r\n изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание,\r\n блокирование, удаление, уничтожение персональных данных.\r\n
\r\n \r\n\r\n Разрешаю обработку моих персональных данных ООО «РуБикон» в целях:\r\n
\r\n 1. оказания консультаций по программному обеспечению созданного ООО «РуБикон» мобильного приложения и партнерского\r\n программного обеспечения, а также оказания иных услуг, выполнения работ по направляемому мной обращению;\r\n
\r\n 2. возможного информировании меня о продуктах и услугах, предложения мне продуктов и услуг ООО «РуБикон»;\r\n
\r\n 3. в целях участия в опросах/анкетировании, проводимых ООО «РуБикон» для изучения и исследования мнения клиентов о\r\n качестве обслуживания и услугах/работах ООО «РуБикон».\r\n
\r\n Гарантирую, что представленная мной информация является полной, точной и достоверной в запрашиваемых ООО «РуБикон»\r\n пределах, а также, что при представлении информации не нарушаются действующее законодательство Российской Федерации,\r\n законные права и интересы третьих лиц. Вся представленная информация заполнена мною в отношении себя лично.\r\n
\r\n \r\n\r\n Настоящее согласие действует в течение всего периода хранения персональных данных, если иное не предусмотрено\r\n законодательством Российской Федерации.\r\n
\r\n\r\n Политика конфиденциальности персональной информации (далее — Политика) действует в отношении любой информации,\r\n которую Общество с ограниченной ответственностью «РуБикон» (ИНН/КПП: 7728881950/771001001, ОГРН 1147746697075,\r\n расположенное по адресу 123056, Россия, г. Москва, ул. 2-я Брестская, д. 19/18с5) и/или его\r\n контрагенты\r\n в рамках договорных отношений с ООО «РуБикон» (далее по тексту – RuBeacon) может получить во время правомерного\r\n использования Пользователем Приложений, программного обеспечения и компьютерных информационных сервисов RuBeacon\r\n (далее по тексту - ПО RuBeacon), а так же в ходе исполнения RuBeacon любых соглашений, договоров, контрактов с\r\n Пользователем.\r\n
\r\n\r\n Правила настоящей «Политики конфиденциальности персональной информации пользователей» (далее по тексту –\r\n Политика\r\n конфиденциальности или Политика) применяются в отношении любого программного обеспечения, приложений,\r\n публикуемых и\r\n выпускаемых под товарным знаком «RuBeacon», а также любые иные компьютерные сервисы и интернет-сайты, владельцем\r\n которых является ООО «РуБикон».\r\n
\r\n\r\n Согласие Пользователя с настоящей Политикой конфиденциальности, выраженное им в рамках отношений с ООО\r\n «РуБикон»,\r\n распространяется на всех его контрагентов в рамках договорных отношений с ООО «РуБикон», правомерно использующих\r\n Приложения, программное обеспечение и информационные сервисы RuBeacon.\r\n
\r\n\r\n Использование ПО RuBeacon означает безоговорочное согласие Пользователя с настоящей Политикой и указанными в ней\r\n условиями и порядком обработки его персональной информации.\r\n
\r\n\r\n В случае несогласия с этими условиями Пользователь должен отказаться от использования ПО RuBeacon.\r\n
\r\n\r\n Оплата предоставляется без комиссии. Платежи осуществляются перечислением денежных средств с\r\n банковских карт VISA и MASTERCARD при наличии возможности совершения интернет-платежей,\r\n предоставленных Вашим банком, выпустившим банковскую карту. О наличии возможности совершения\r\n интернет-платежей с использованием банковской карты, Вы можете узнать, обратившись в ваш банк.\r\n Ввод данных банковской карты осуществляется на защищенной платежной странице банка-партнера,\r\n предоставляющего услугу. Банком-партнером ООО «РуБикон» является ОАО «Альфа-Банк».\r\n
\r\n \r\nКонфиденциальность
\r\n\r\n 1) Услуга оплаты через интернет осуществляется в соответствии с Правилами международных\r\n платежных систем на принципах соблюдения конфиденциальности и безопасности совершения платежа,\r\n для чего используются самые современные методы проверки, шифрования и передачи данных по\r\n закрытым каналам связи.\r\n
\r\n\r\n 2) Ввод данных банковской карты осуществляется на защищенной платежной странице банка-партнера,\r\n предоставляющего Услугу.\r\n
\r\n \r\nСлучаи отказа в совершении платежа:
\r\n\r\n • банковская карта не предназначена для совершения платежей через интернет, о чем можно узнать,\r\n осведомившись в Вашем Банке;\r\n
\r\n\r\n • данные банковской карты введены неверно;\r\n
\r\n\r\n истек срок действия банковской карты. Срок действия карты, как правило, указан на лицевой\r\n стороне карты (это месяц и год, до которого действительна карта). Подробнее о сроке действия\r\n карты Вы можете узнать, обратившись в банк, выпустивший банковскую карту;\r\n
\r\n\r\n • недостаточно средств для оплаты на банковской карте. Подробнее о наличии средств на\r\n банковской карте Вы можете узнать, обратившись в банк, выпустивший банковскую карту;\r\n
\r\n\r\n • превышен установленный лимит операций за день. Сумма ежедневного лимита для всех операций\r\n определяется банком-партнером.\r\n
\r\n \r\n\r\n Для корректного ввода необходимо внимательно и точно, соблюдая последовательность цифр и\r\n букв, ввести данные так, как они указаны на Вашей карте:\r\n
\r\n\r\n владелец карты (как правило, указан на лицевой стороне банковской карты на английском языке\r\n заглавными буквами. Например, IVANOV IVAN);\r\n
\r\n\r\n 2. номер карты (как правило, указан на лицевой стороне банковской карты и состоит из 16-и\r\n цифр. Например: 0123 4567 8901 2345);\r\n
\r\n\r\n 3. срок действия карты (как правило, указан на лицевой стороне банковской карты - месяц и\r\n год, до которого действительна карта. Срок действия карты вводится цифрами. Например, 12\r\n (вводится в поле месяца) и 13 (вводится в поле года), что означает, что карта действительна\r\n до декабря 2013 года);\r\n
\r\n\r\n 4. CVV2 или CVC2 код карты (как правило, указан на обратной стороне банковской карты и\r\n состоит из 3-х цифр. Например, 123).\r\n
\r\nООО “Рубикон” - российская ИТ-компания, работающая с 2014 года. Мы разрабатываем ПО для заведений общественного питания и служб доставки, состоим в списке непрерывно действующих организаций и осуществляем техническую ИТ-поддержку организаций общественного питания, обеспечивающих население продуктами питания и товарами первой необходимости.
\r\nРеализуем экземпляры программного продукта, разработанные ООО “Рубикон”, и предоставляем права на использование, в том числе путем предоставления удаленного доступа к программам и базам данных, включая их обновление и дополнительные функциональные возможности через информационно-телекоммуникационную сеть \"Интернет\".
\r\nВыполняем работы по разработке, адаптации и модификации, а также работы по установке, тестированию и сопровождению программного продукта.
\r\n \r\nО компании:
\r\nОбщество с ограниченной ответственностью «РуБикон»\r\nОГРН 1147746697075 \r\nИНН 7728881950\r\nКПП 771001001\r\nГенеральный директор: Парфенов И.С.
\r\nООО “Рубикон” внесен в список аккредитованных ИТ-компаний № 11012 от 26.12.2019 г.
\r\nОсновной вид деятельности:\r\nОКВЭД: 63.11.1 Деятельность по созданию и использованию баз данных и информационных ресурсов
\r\nДополнительные виды деятельности:\r\n62.01 Разработка компьютерного программного обеспечения\r\n62.09 Деятельность, связанная с использованием вычислительной техники и информационных технологий, прочая\r\n63.11 Деятельность по обработке данных, предоставление услуг по размещению информации и связанная с этим деятельность
\r\n