PageSourceSearch

https://multiformb24.mfua.ru/remote/fetch/9a15eae3-141d-4955-9bba-2faab75cb765/

js mfua.ru collected 2026-10-02 11:56:35 UTC 16,234 bytes, 299 lines download raw bytes

1(function() {
2    const html = 'PGZvcm0gY2xhc3M9ImZvcm0tcXVlc3Rpb25uYWlyZSBmb3JtLXF1ZXN0aW9ubmFpcmUtLW1haW4tbGVhcm4iIG9uc3VibWl0PSJ5bSgxMDkyMDI3LCAncmVhY2hHb2FsJywgJ2FwcGxpY2F0aW9uX3RyYWluaW5nJyk7IF90bXIucHVzaCh7IHR5cGU6ICdyZWFjaEdvYWwnLCBpZDogMzMwOTI4NSwgZ29hbDogJ2FwcGxpY2F0aW9uX3RyYWluaW5nJ30pOyByZXR1cm4gdHJ1ZTsiPg0KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBlcnNfZGF0YSIgdmFsdWU9Im9uIj4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwcm9nbmFtZSIgdmFsdWU9IiI+DQogICAgPGRpdiBjbGFzcz0iZm9ybS1xdWVzdGlvbm5haXJlX19pbnB1dC1ncm91cCI+DQogICAgICAgIDxkaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwIj4NCiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImludHJvLWZvcm1fX2lucHV0IiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0i0JLQsNGI0LUg0LjQvNGPIiBuYW1lPSJ1bmFtZSIgaWQ9Im1haW4tbGVhcm4tbmFtZSIgcmVxdWlyZWQ+DQogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0ibWFpbi1sZWFybi1uYW1lIj7QktCw0YjQtSDQuNC80Y88L2xhYmVsPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvciI+0KLQtdC60YHRgiDQvtGI0LjQsdC60Lg8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXAiPg0KICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iaW50cm8tZm9ybV9faW5wdXQganMtdGVsLWlucHV0IiB0eXBlPSJ0ZWwiIHBsYWNlaG9sZGVyPSLQndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LAiIG5hbWU9Im1haW5fcGhvbmUiIGlkPSJtYWluLWxlYXJuLXBob25lIiBtYXhsZW5ndGg9IjE4IiByZXF1aXJlZD4NCiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJtYWluLWxlYXJuLXBob25lIj7QndC+0LzQtdGAINGC0LXQu9C10YTQvtC90LA8L2xhYmVsPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvciI+0KLQtdC60YHRgiDQvtGI0LjQsdC60Lg8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXAganMtbWFpbi1sZWFybi1zZWxlY3Qtd3JhcCIgZGF0YS1wbGFjZWhvbGRlcj0i0JrQsNGC0LXQs9C+0YDQuNGPIj4NCiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJtYWluLWxlYXJuLXNlbGVjdF9fbmF0aXZlIGpzLW1haW4tbGVhcm4tbmF0aXZlLXNlbGVjdCIgbmFtZT0iY2F0ZWdvcnkiIGlkPSJtYWluLWxlYXJuLWNhdGVnb3J5IiByZXF1aXJlZD4NCiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBwbGFjZWhvbGRlciB2YWx1ZT0iIj7QmtCw0YLQtdCz0L7RgNC40Y88L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ic3BvIj7Qn9C+0YHRgtGD0L/QsNGOINCyINC60L7Qu9C70LXQtNC2PC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InZ1eiI+0J/QvtGB0YLRg9C/0LDRjiDQsiDQstGD0Lc8L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iY2hhbmdlIiBzZWxlY3RlZD7Qn9C10YDQtdCy0L7QttGD0YHRjCDQuNC3INC00YDRg9Cz0L7Qs9C+INCy0YPQt9CwPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImNvbnN1bHQiPtCc0L3QtSDQvdGD0LbQvdCwINC60L7QvdGB0YPQu9GM0YLQsNGG0LjRjzwvb3B0aW9uPg0KICAgICAgICAgICAgICAgIDwvc2VsZWN0Pg0KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Im1haW4tbGVhcm4tY2F0ZWdvcnkiPtCa0LDRgtC10LPQvtGA0LjRjzwvbGFiZWw+DQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yIj7QotC10LrRgdGCINC+0YjQuNCx0LrQuDwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8YnV0dG9uIGNsYXNzPSJidG4gbW9kYWxfX2J0biBtb2RhbF9fYnRuLS1hc2stcXVlc3Rpb24ganMtZm9ybS1zdWJtaXQtYnRuIiB0eXBlPSJzdWJtaXQiPtCf0L7QtNCw0YLRjCDQt9Cw0Y/QstC60YM8L2J1dHRvbj4NCiAgICA8ZGl2IGNsYXNzPSJmb3JtLXF1ZXN0aW9ubmFpcmVfX3ByaXZhY3kiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJhZ3JlZW1lbnQgYWdyZWVtZW50LS1tYWluLWxlYXJuIj4NCiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0ianMtYWdyZWVtZW50LWNoZWNrYm94IGNoZWNrYm94IGNoZWNrYm94LS0iIGlkPSJhZ3JlZW1lbnQtbWFpbi1sZWFybi0zIiBuYW1lPSJhZ3JlZW1lbnQiIGF1dG9jb21wbGV0ZT0ib2ZmIiB0eXBlPSJjaGVja2JveCIgcmVxdWlyZWQgdmFsdWU9IlkiPg0KICAgICAgICAgICAgPGxhYmVsIGZvcj0iYWdyZWVtZW50LW1haW4tbGVhcm4tMyIgY2xhc3M9ImNoZWNrYm94X19sYWJlbCBjaGVja2JveF9fbGFiZWwtLXNtYWxsIGFncmVlbWVudF9fbGFiZWwiPg0KICAgICAgICAgICAgICAgIDxzcGFuPg0KICAgICAgICAgICAgICAgICAgICAg0K8g0LTQsNGOJm5ic3A70YHQvtCz0LvQsNGB0LjQtSDQvdCwINC+0LHRgNCw0LHQvtGC0LrRgyDQvNC+0LjRhSDQv9C10YDRgdC+0L3QsNC70YzQvdGL0YUg0LTQsNC90L3Ri9GFLiDQn9C+0LTRgNC+0LHQvdC10LUg0L7QsSDQvtCx0YDQsNCx0L7RgtC60LUg0LTQsNC90L3Ri9GFINCyJm5ic3A7PGENCiAgICAgICAgICAgICAgICAgICAgaHJlZj0iL2RvY3MvcGVyc29uYWwucGRmIg0KICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYWdyZWVtZW50X19saW5rIGFncmVlbWVudF9fbGluay0tIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciI+0J/QvtC70LjRgtC40LrQtSDQutC+0L3RhNC40LTQtdC90YbQuNCw0LvRjNC90L7RgdGC0Lg8L2E+Lg0KICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgIDwvbGFiZWw+DQogICAgICAgICAgICA8c3BhbiAgY2xhc3M9ImVycm9yIj4NCiAgICAgICAgICAgICAgICDQntCx0Y/Qt9Cw0YLQtdC70YzQvdC+0LUg0L/QvtC70LUNCiAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Zvcm0+';
3    const css = '';
4    const js = '';
5    const data = {"formId":"9a15eae3-141d-4955-9bba-2faab75cb765","actionUrl":"https:\/\/multiformb24.mfua.ru\/remote\/submit\/9a15eae3-141d-4955-9bba-2faab75cb765\/","sendToCommission":true,"commissionHost":"https:\/\/pk.mfua.ru","commissionSubmitUrl":"https:\/\/pk.mfua.ru\/ajax\/registration"};
6
7    const answers = {
8        success: [2, 7], // 2 или 7 - клиент направляется в ЭПК
9        errors: [0] // 0 - ошибка, клиент остаётся на сайте
10    };
11
12    document.writeln('<style type="text/css">' + 
13        decodeURIComponent(escape(window.atob(css))) +
14    '</style>'
15    );
16
17    document.writeln(
18    '<section data-form-id="' + data.formId + '">' + 
19        decodeURIComponent(escape(window.atob(html))) +
20    '</section>'
21    );
22
23    document.writeln(
24    '<script type="application/javascript">' +
25        'document.addEventListener("DOMContentLoaded", function() {' +
26            decodeURIComponent(escape(window.atob(js))) +
27        '});' + 
28    '</script>'
29    );
30
31    if (!window.remoteForms) {
32        window.remoteForms = {};
33    }
34
35    if (!window.remoteForms[data.formId]) {
36        window.remoteForms[data.formId] = {};
37    }
38
39    if (typeof window.getRemoteFormData === "undefined") {
40        window.getRemoteFormData = function(formId) {
41            if (formId) {
42                return window.remoteForms[formId];
43            } else if (Object.keys(window.remoteForms).length) {
44                return window.remoteForms[Object.keys(window.remoteForms)[0]];
45            } else {
46                return false;
47            }
48        };
49    }
50
51    if (typeof window.setRemoteFormValue === "undefined") {
52        window.setRemoteFormValue = function(key, value, formId) {
53            if (formId) {
54                window.remoteForms[formId][key] = value;
55            } else if (Object.keys(window.remoteForms).length) {
56                window.remoteForms[Object.keys(window.remoteForms)[0]][key] = value;
57            } else {
58                return false;
59            }
60        };
61    }
62
63    if (typeof window.getRemoteFormValue === "undefined") {
64        window.getRemoteFormValue = function(key, formId) {
65            if (formId) {
66                return window.remoteForms[formId][key];
67            } else if (Object.keys(window.remoteForms).length) {
68                return window.remoteForms[Object.keys(window.remoteForms)][key];
69            } else {
70                return false;
71            }
72        };
73    }
74
75    function getCookie(name) {
76        const value = `; ${document.cookie}`;
77        const parts = value.split(`; ${name}=`);
78        if (parts.length === 2) return parts.pop().split(';').shift();
79    }
80
81    // Получить UTM метки из url
82    function getUTMParams() {
83        const urlParams = new URLSearchParams(window.location.search);
84        return {
85            "utm_source": urlParams.get("utm_source"),
86            "utm_medium": urlParams.get("utm_medium"),
87            "utm_campaign": urlParams.get("utm_campaign"),
88            "utm_content": urlParams.get("utm_content"),
89            "utm_term": urlParams.get("utm_term")
90        }
91    }
92
93    function isSimpleType(value) {
94        return ["number", "string", "boolean"].includes(typeof value);
95    }
96
97    function stripHtml(html) {
98        let tmp = document.createElement("DIV");
99        tmp.innerHTML = html;
100        return tmp.textContent || tmp.innerText || "";
101    }
102
103    function showModal(modalType, title = "", subtitle = "") {
104        const modal = document.querySelector(
105            `.js-modal[data-modal="${modalType}"]`
106        );
107        if (!modal) {
108            if (title) {
109                alert(stripHtml(title));
110            } else if (subtitle) {
111                alert(stripHtml(subtitle));
112            }
113            return;
114        }
115        const titleNode = modal.querySelector(".js-modal-title");
116        const subtitleNode = modal.querySelector(".js-modal-subtitle");
117        const tryAgain = modal.querySelector(".js-modal-try-again");
118
119        if (titleNode && title) {
120            titleNode.innerHTML = title;
121        }
122
123        if (subtitleNode && subtitle) {
124            subtitleNode.innerHTML = subtitle;
125        }
126
127        if (tryAgain) {
128            tryAgain.classList.add("hidden");
129        }
130
131        modal.classList.add("shown");
132        document.dispatchEvent(new CustomEvent("disableScroll", {
133            detail: modal
134        }));
135    }
136
137    function getRedirectUrlLink(redirectUrl) {
138        const objUrl = URL.parse(redirectUrl);
139        if (!objUrl) {
140            return redirectUrl;
141        }
142        return '<a href="' + redirectUrl + '">' + objUrl.hostname + '</a>';
143    }
144
145    document.addEventListener("DOMContentLoaded", function() {
146        const sections = document.querySelectorAll('[data-form-id="' + data.formId + '"]');
147
148        if (!sections) {
149            console.log('Контейнер формы ' + data.formId + 'не найден.');
150
151            return;
152        }
153
154        [...sections].forEach(function(section) {
155            if (section.matches("[data-bound-form]")) {
156                return;
157            }
158
159            const form = section.querySelector("form");
160
161            if (!form) {
162                console.log('В контейнер формы ' + data.formId + 'не найдена форма.');
163            }
164
165            const formToJson = function(form) {
166                const object = {};
167                const formData = new FormData(form);
168
169                formData.forEach(function(value, key) {
170                    if (typeof object[key] !== "undefined") {
171                        object[key] = [object[key]];
172                    }
173
174                    if (Array.isArray(object[key])) {
175                        object[key].push(value);
176                    } else {
177                        object[key] = value;
178                    }
179                });
180
181                return object;
182            };
183
184            const getExternalData = function() {
185                return window.remoteForms[data.formId];
186            };
187
188
189            /**
190             * @param {Event} event
191             */
192            const onSubmit = function(event) {
193                if (event) {
194                    event.preventDefault();
195                    event.stopPropagation();
196                }
197
198		const buttons = form.querySelectorAll("input[type=submit], button[type=submit]");
199
200		[...buttons].forEach(function(button) { button.style.pointerEvents = "none"; });
201
202                const payload = formToJson(form);
203                payload["dynamicData"] = getExternalData();
204                payload["roistat_visit"] = getCookie("roistat_visit") || "";
205                payload["ym_uid"] = getCookie("_ym_uid") || "";
206                payload["utm"] = getUTMParams() || {};
207                payload["lid"] = location.hostname;
208                payload["uri"] = location.origin + location.pathname;
209
210                const xhr = new XMLHttpRequest();
211                // noinspection JSUnresolvedVariable
212                xhr.open('POST', data.actionUrl.replace("{value}", data.formId), true);
213                xhr.setRequestHeader("Content-Type", "application/json");
214                xhr.send(JSON.stringify(payload));
215
216                xhr.onerror = function() {
217                    console.log('Ошибка отправки формы ' + data.formId + '.');
218                };
219
220                xhr.onload = function() {
221                    console.log('Загружено: ' + xhr.status + ' ' + xhr.response);
222                    const response = JSON.parse(xhr.response);
223                    if (data.sendToCommission) {
224                        const response = JSON.parse(xhr.response);
225                        let redirectUrl;
226
227                        if (response) {
228                            if (response.error === 'false' && answers.success.includes(response.answercode)) {
229                                if (response.redirectUrl) {
230                                    redirectUrl = response.redirectUrl;
231                                } else {
232                                    redirectUrl = data.commissionHost + response.newpage_after;
233                                }
234                                try {
235                                    form.reset();
236                                    const modal = form.closest('.js-modal');
237                                    if (modal?.classList.contains("shown")) {
238                                        modal.classList.remove("shown");
239                                    }
240                                } catch (e) {
241                                    console.log('error ', e);
242                                }
243
244                                showModal(
245                                    "success",
246                                    'Спасибо! Мы свяжемся с Вами для консультации.<br>' +
247                                    'Сейчас Вы будете перенаправлены на сайт ' + getRedirectUrlLink(redirectUrl),
248                                    response.message
249                                );
250                                setTimeout(() => {
251                                    window.location.href = redirectUrl;
252                                }, 3000);
253                            } else {
254                                if (response.hasOwnProperty('message')) {
255                                    showModal("error", "", 'Ошибка регистрации. ' + response.message);
256                                } else {
257                                    if (response.hasOwnProperty('text')) {
258                                        showModal("error", "", 'Ошибка регистрации. ' + response.text);
259                                    } else {
260                                        showModal("error", "", 'Ошибка регистрации. Попробуйте повторить позднее.');
261                                    }
262                                }
263                            }
264                        } else {
265                            showModal("error", "", 'Ошибка регистрации. Попробуйте повторить позднее.');
266                        }
267                    } else {
268                        if (response.success === true) {
269                            if (response.redirectUrl) {
270                                window.location.href = response.redirectUrl;
271                            } else {
272                                try {
273                                    form.reset();
274                                    const modal = form.closest('.js-modal');
275                                    if (modal?.classList.contains("shown")) {
276                                        modal.classList.remove("shown");
277                                    }
278                                } catch (e) {
279                                    console.log('error ', e);
280                                }
281                                showModal("success", 'Спасибо! Мы свяжемся с Вами в ближайшее время');
282                            }
283                        } else {
284                            if (response.hasOwnProperty('message')) {
285                                showModal("error", "", 'Ошибка отправки. ' + response.message);
286                            } else {
287                                showModal("error", "", 'Ошибка отправки. Попробуйте повторить позднее.');
288                            }
289                       }
290                    }
291                    [...buttons].forEach(function(button) { button.style.pointerEvents = "auto"; });
292                };
293            };
294
295            section.dataset.boundForm = "1";
296            form.addEventListener("submit", onSubmit);
297        });
298    });
299})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.