if (!('eRegistratorLib' in window)) {window['eRegistratorLib'] = {};} window.eRegistratorLib.scrPassportVerify = { messages: { wndSuccess: `
Результат проверки: #result#
`, wndFail: `
Серия:
Номер:

Цифры с картинки:
  
`, error: `

Внимание! Ошибки:

#error#`, }, key: '1', url: 'https://www.srv4you.ru/api/v1/passport_verify/ajax/ajax.php', verify: function(t) { window.eRegistratorLib.scrPassportVerify.getCookieCaptcha({ DOC_SERIE: ((document.getElementById(t.dataset.serie)) ? document.getElementById(t.dataset.serie).value : '').replace(/[^0-9]/gim, ''), DOC_NUMBER: ((document.getElementById(t.dataset.number)) ? document.getElementById(t.dataset.number).value : '').replace(/[^0-9]/gim, ''), }); }, getCookieCaptcha: function (data, callbackSuccess, callbackError){ let that = window.eRegistratorLib.scrPassportVerify; let formData = new FormData(); formData.append('action', 'getCookiCaptcha'); that.go(formData, (result) => { if ( ('code' in result) && (result.code == '200') ){ if ('error' in result) { showWrapWin.show({content: result.error}, 'small'); } showWrapWin.show({content: that.messages.wndFail .replace(/#cookie#/gim, result.cookie) .replace(/#captchaImg#/gim, result.capchaImg) .replace(/#DOC_SERIE#/gim, data.DOC_SERIE) .replace(/#DOC_NUMBER#/gim, data.DOC_NUMBER) }, 'small'); let sendForm = document.getElementById('sendPassportVerify'); if ('error' in data) { let divResult = sendForm.querySelector('div[data-id="result"]'); if (divResult) { divResult.style.display = 'block'; divResult.innerHTML = data.error; } } let captchaInput = sendForm.querySelector('input[name="captcha-input"]'); if (captchaInput) { captchaInput.focus(); } if (callbackSuccess) { callbackSuccess(result); } } else { if (callbackError) { callbackError(result); } } }, (error) => { if ( (error) && ('ERRORS' in error) && ('length' in error.ERRORS) && (error.ERRORS.length > 0) ) { showWrapWin.show({ content: that.messages.error, error: '
  • ' + error.ERRORS.join('
  • ') + '
  • ', }, 'middle'); } }); }, getResult: function (t){ let that = window.eRegistratorLib.scrPassportVerify; let sendForm = document.getElementById('sendPassportVerify'); if (!sendForm) return false; let divResult = sendForm.querySelector('div[data-id="result"]'); if (divResult) { divResult.style.display = 'none'; } let formData = new FormData(sendForm); formData.append('action', 'getResult'); let error = []; if (!formData.get('cookie')) error.push('Сервис проверки в настоящее время неработоспособен. Повторите проверку позднее'); if ( (!formData.get('captcha-input')) ||(formData.get('captcha-input').length != 6) ) { error.push('Цифры с картинки. Не указаны'); } if ( (!formData.get('DOC_SERIE')) ||(formData.get('DOC_SERIE').length != 4) ) { error.push('Серия паспорта. Не указана'); } if ( (!formData.get('DOC_NUMBER')) ||(formData.get('DOC_NUMBER').length != 6) ) { error.push('Номер паспорта. Не указан'); } if (error.length > 0) { showWrapWin.show({ content: that.messages.error, error: '
  • ' + error.join('
  • ') + '
  • ', }, 'small'); } else { that.go(formData, (result) => { showWrapWin.closeWindow(t); if ( ('code' in result) && (result.code == '200') && ('result' in result) ){ if ( ('code' in result.result) &&('res' in result.result) ) { showWrapWin.closeWindow(t); if (result.result.code == 500) { window.eRegistratorLib.scrPassportVerify.getCookieCaptcha({ DOC_SERIE: formData.get('DOC_SERIE'), DOC_NUMBER: formData.get('DOC_NUMBER'), 'error': result.result.res, }); } if (result.result.code == 200) { showWrapWin.closeWindow(t); showWrapWin.show({content: that.messages.wndSuccess .replace(/#result#/gim, result.result.res) }, 'small'); } } } }, (error) => { if ( (error) && ('ERRORS' in error) && ('length' in error.ERRORS) && (error.ERRORS.length > 0) ) { showWrapWin.show({ content: that.messages.error, error: '
  • ' + error.ERRORS.join('
  • ') + '
  • ', }, 'middle'); } } ); } }, go: async function(formData, callback, callbackError, urlMy){ let url = this.url; if (urlMy) url = urlMy; formData.append('key', this.key); try { const res = await fetch(url, { method: 'POST', body: formData, cache: 'no-cache', } ); const contentType = res.headers.get('content-type'); if (!contentType || !contentType.includes('application/json')) { throw new TypeError("Ошибка JSON!"); } if (!res.ok) { throw new TypeError("Запрос завершился с ошибкой!"); } let data = await res.json(); if ((callback) && (typeof callback == 'function')){ callback(data); } } catch (error) { console.log('Ошибка:' + error); if ((callbackError) && (typeof callbackError == 'function')){ callbackError({ "ERRORS": [error], "STATUS": 400 }); } } }, };