Skip to Content

JavaScript File

URL: https://astramedika.com.ua/assets/modules/feedback_module/js/fbmodule.min.js?v=1.06
HTTP Status: 200 OK
MIME Type: application/javascript
Last Modified: Mon, 03 Feb 2025 17:45:37 GMT
Download Time: Less than a second
Cookies: None
Size: 10 KB
HTTP Headers:  6 headers
Links In:  1 pages
Links Out:  0 links
Images:  0 images
CSS:  0 files
JavaScript:  0 files
OK Issues: No issues found

1const FBmodule={version:"3.2",ignore:"submit|button|hidden",errClass:"__invalid",url:"/assets/modules/feedback_module/ajax.php",buzy:!1,init(e=null){FBmodule.dialog.init(e&&"string"==typeof e.dialog?e.dialog:""),FBmodule.maskInput.init()}

2,dialog:{modal:null,content:null,places:{header:1,body:2,footer:3}

3,layout:"PGRpdj48ZGl2IG9uY2xpY2s9InRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmNsaWNrKCkiPjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2Pg==",css:"LmN1c3RvbS1kaWFsb2ctZWxlbWVudHtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTk5OTtpbnNldDowO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tb2RhbC1iYWNrZHJvcCwgcmdiYSgwLCAwLCAwLCAwLjUzMzMzMzMzMzMpKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uOnZhcigtLW1vZGFsLWR1cmF0aW9uLCAyNTBtcykgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjp2YXIoLS1tb2RhbC1kdXJhdGlvbiwgMjUwbXMpIGVhc2UtaW4tb3V0fS5jdXN0b20tZGlhbG9nLWVsZW1lbnQ+ZGl2e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6YXV0byAxZnIgYXV0bzt3aWR0aDo5MCU7bWF4LXdpZHRoOnZhcigtLW1vZGFsLXdpZHRoLCB1bnNldCk7bWF4LWhlaWdodDo5MCU7bWFyZ2luOmF1dG87Ym9yZGVyLXJhZGl1czp2YXIoLS1tb2RhbC1yYWRpdXMsIDApO2JhY2tncm91bmQtY29sb3I6dmFyKC0tbW9kYWwtYmcsICNmZmYpO3BhZGRpbmc6MTVweCAwIDE1cHggMzBweDstd2Via2l0LXRyYW5zaXRpb246aW5oZXJpdDt0cmFuc2l0aW9uOmluaGVyaXQ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtOnNjYWxlKDApfS5jdXN0b20tZGlhbG9nLWVsZW1lbnQ+ZGl2PmRpdntwYWRkaW5nLXJpZ2h0OjMwcHh9LmN1c3RvbS1kaWFsb2ctZWxlbWVudD5kaXY+ZGl2Om50aC1jaGlsZCgxKXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHg7b3BhY2l0eTouNTstd2Via2l0LXRyYW5zaXRpb246aW5oZXJpdDt0cmFuc2l0aW9uOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9LmN1c3RvbS1kaWFsb2ctZWxlbWVudD5kaXY+ZGl2Om50aC1jaGlsZCgxKTo6YmVmb3JlLC5jdXN0b20tZGlhbG9nLWVsZW1lbnQ+ZGl2PmRpdjpudGgtY2hpbGQoMSk6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjBweDtoZWlnaHQ6MnB4O3RvcDpjYWxjKDUwJSAtIDFweCk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tb2RhbC1jbG9zZSwgIzAwMCl9LmN1c3RvbS1kaWFsb2ctZWxlbWVudD5kaXY+ZGl2Om50aC1jaGlsZCgxKTo6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LmN1c3RvbS1kaWFsb2ctZWxlbWVudD5kaXY+ZGl2Om50aC1jaGlsZCgxKTo6YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5jdXN0b20tZGlhbG9nLWVsZW1lbnQ+ZGl2PmRpdjpudGgtY2hpbGQoMSk6aG92ZXJ7b3BhY2l0eToxfS5jdXN0b20tZGlhbG9nLWVsZW1lbnQ+ZGl2PmRpdjpudGgtY2hpbGQoMyl7bWFyZ2luLWJsb2NrOjE1cHg7bWF4LWhlaWdodDoxMDAlO292ZXJmbG93OmF1dG99LmN1c3RvbS1kaWFsb2ctZWxlbWVudC5vcGVue29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LmN1c3RvbS1kaWFsb2ctZWxlbWVudC5vcGVuPmRpdnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9",esc:null,init(e=""){if(FBmodule.dialog.modal)return void(e.length&&(FBmodule.dialog.modal.style=e));let t=document.createElement("div");t.innerHTML=atob(FBmodule.dialog.layout),t.className="custom-dialog-element",t.setAttribute("onclick","FBmodule.dialog.close(event)"),e.length&&(t.style=e),FBmodule.dialog.modal=t,FBmodule.dialog.content=t.children[0],document.body.appendChild(t),document.head.insertAdjacentHTML("beforeend",`<style>${atob(FBmodule.dialog.css)}

4</style>`),document.body.addEventListener("keydown",e=>{FBmodule.dialog.esc=e.key}

5),document.body.addEventListener("keyup",e=>{"Escape"===FBmodule.dialog.esc&&"Escape"===e.key&&FBmodule.dialog.modal.classList.contains("open")&&FBmodule.dialog.close()}

6)}

7,open(e){if(FBmodule.dialog.modal&&!FBmodule.dialog.modal.classList.contains("open"))if(FBmodule.dialog.modal.classList.add("open"),document.body.style.overflow="hidden","object"==typeof e)for(let t in FBmodule.dialog.places)FBmodule.dialog.set(t,"string"==typeof e[t]?e[t]:"");else for(let e in FBmodule.dialog.places)FBmodule.dialog.set(e,"")}

8,close(e){if(FBmodule.dialog.modal){if(void 0!==e&&e.target!==FBmodule.dialog.modal)return;FBmodule.dialog.modal.classList.remove("open");for(let e in FBmodule.dialog.places)FBmodule.dialog.set(e);document.body.style.overflow=""}

9}

10,set(e,t=""){FBmodule.dialog.modal&&"number"==typeof FBmodule.dialog.places[e]&&(FBmodule.dialog.content.children[FBmodule.dialog.places[e]].innerHTML=t)}

11,get(e,t=null){if(!FBmodule.dialog.modal)return null;let l=FBmodule.dialog.places[e];if("number"!=typeof l)return null;let a=FBmodule.dialog.content.children[l];return t?a.querySelector(t):a}

12}

13,maskInput:{init(e=null){(e?e.querySelectorAll("input[data-mask]"):document.querySelectorAll("input[data-mask]")).forEach(e=>{e.setAttribute("oninput","FBmodule.maskInput.input(event)"),e.setAttribute("onfocus","FBmodule.maskInput.focus(this)"),e.setAttribute("onblur","FBmodule.maskInput.blur(this)"),e.getAttribute("placeholder")||e.setAttribute("placeholder","+38 0__ ___ ____"),e.setAttribute("pattern",FBmodule.maskInput.pattern(e.getAttribute("placeholder"))),e.setAttribute("inputmode","numeric")}

14)}

15,input(e){let t=e.target.getAttribute("placeholder"),l=t.indexOf("_"),a=t.substring(0,l),o=t.substring(l),d=e.target.selectionStart,n="0123456789".indexOf(e.data)>=0,s=n?e.data:"",r="",i="",u=!1;"insertText"===e.inputType?e.target.selectionStart<=l?(l++,i=s+e.target.value.substring(l).replace(/\D/g,""),d=l-~~!n):(i=e.target.value.substring(l).replace(/\D/g,""),d-=~~!n,u=!0):"deleteContentBackward"!==e.inputType&&"deleteContentForward"!==e.inputType||(e.target.selectionStart<l&&l--,i=e.target.value.substring(l).replace(/\D/g,""));for(let e=0,t=0;e<o.length;e++)r+="_"===o[e]&&t<i.length?i[t++]:o[e];e.target.value=a+r,u&&(d=FBmodule.maskInput.next(e.target.value,d)),e.target.setSelectionRange(d,d)}

16,focus(e){e.value.length||(e.value=e.placeholder);let t=e.value.indexOf("_");setTimeout(()=>{e.setSelectionRange(t,t)}

17,10)}

18,blur(e){e.value===e.placeholder&&(e.value="")}

19,next(e,t){if(t<e.length){for(let l=t;l<e.length;l++)if("_"===e[l]||"0123456789".indexOf(e[l])>-1){t=l;break}

20}

21else(t=e.indexOf("_"))<0&&(t=e.length);return t}

22,placeholder(e=null,t=null){if(e&&t){let l="object"==typeof e?e:document.querySelector(e);if(l){let e=l.getAttribute("type");if(e&&"tel/text".indexOf(e)>-1&&"string"==typeof l.dataset.mask){l.value="";let e=FBmodule.maskInput.pattern(t);l.setAttribute("placeholder",t),l.setAttribute("pattern",e)}

23}

24}

25}

26,pattern(e){let t="";for(let l=0;l<e.length;l++)switch(e[l]){case"_":t+="\\d";break;case"+":t+="\\+";break;case"(":t+="\\(";break;case")":t+="\\)";break;case" ":t+="\\s";break;case"-":t+="-";break;default:t+=e[l]}

27return t}

28}

29,sendForm(e){(e=e||window.event).preventDefault();const t=e.target;if(t.classList.contains("__wait"))return;t.classList.add("__wait");const l=t.querySelector("[data-response]");if(l.innerHTML="","function"==typeof window[t.dataset.before])try{window[t.dataset.before](t)}

30catch(e){return void console.warn(`FBmodule: function «${t.dataset.before}

31» failed`,e)}

32let a=new FormData(t);a.get("lang")&&a.get("lang").length||a.append("lang","string"==typeof lang&&lang.length?lang:"ua"),a.get("page")&&a.get("page").length||a.append("page",window.location.pathname),FBmodule.dataFl(t,a),fetch(FBmodule.url+"?action="+t.dataset.action,{method:"POST",body:a,credentials:"include"}

33).then(e=>e.text()).then(e=>{if("ok"===e){if(t.dataset.redirect&&t.dataset.redirect.length)window.location.assign(t.dataset.redirect);else if(l&&(l.classList.add("__success"),l.classList.remove("__error"),FBmodule.typeWriter(l,t.querySelector("[data-success]").innerHTML),FBmodule.__err_state(t),t.reset(),t.setAttribute("disabled",""),"function"==typeof window[t.dataset.after]))try{window[t.dataset.after](t)}

34catch(e){console.warn("FBmodule: onAfterFormSend handler is undefined, ignored",e)}

35}

36else{let a=FBmodule.isJSON(e);l.classList.add("__error"),l.classList.remove("__success"),l&&FBmodule.typeWriter(l,a.msg),FBmodule.__err_state(t,a.fl)}

37setTimeout(e=>{t.classList.remove("__wait")}

38,1e3)}

39).catch(e=>{t.classList.remove("__wait")}

40)}

...

</html>