/* * Copyright (C) GebIT, Gert Egede Boggild 2016 - 2025, - All Rights Reserved. * Unauthorized copying or derivative works of this file, via any medium is strictly prohibited. * This software is proprietary and is solely owned by the coypright holder with exclusive rights! * Last updated by Gert Egede Boggild , 12 June 2025. */ "use strict";window.onerror=function(e,t,n,o,r){console.log(typeof r,"Uncaught",r)};const GebITcomm={browser:null},GebIThomepage={userlogon:async function(e){var t=GebIThomepage.scripts1.data.jsonslist.names.indexOf("winpage.object.homepage-logon.json"),t=JSON.parse(GebIThomepage.scripts1.data.jsonslist.files[t]);t.winDef.openerObject="";await GebITpage.loadWindow(e,t)},fetchFromServer:async function(e){return(await fetch("/frt/",{method:"POST",mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"application/json"},redirect:"follow",referrerPolicy:"no-referrer",body:JSON.stringify(e)})).text()},errorTimer:null,userErrorElement:null,userNameElement:null,userErrorTimer:null,userErrorCount:null,onEnterKey:async function(e,t){if("uname"===t){var n={data:{action:"getsystemfiles",uname:btoa(await GebIThomepage.generateHash(GebITpage.helpContainer.value))},meta:{action:"filefetch"}},n=await GebIThomepage.fetchFromServer(n);try{GebIThomepage.testUserNameOnEnter(n)}catch(e){console.log("ERROR\n",e,"\nDATA:\n",n)}}},testUserNameOnEnter:function(e){var o=null;if((o=JSON.parse(e)).data.hasOwnProperty("fileslist")&&o.data.confirm)GebIThomepage.setScript(o.data.fileslist,0);else if(!o.data.confirm){let n=GebITpage.helpContainer;for(;!n.getAttribute("data-object")&&"window"!=n.getAttribute("data-type");)n=n.parentNode;var r=document.querySelector('div[data-type="section"][name="timer"]');GebITpage.helpContainer.getAttribute("bord")||GebITpage.helpContainer.setAttribute("bord",n.style.border);GebITpage.helpContainer.style.border="1px solid red";n.getAttribute("disp")||n.setAttribute("disp",n.style.display);GebIThomepage.userNameElement=n;GebIThomepage.userErrorElement=r;if(o.data.hasOwnProperty("timer")){GebIThomepage.userErrorCount=o.data.timer;n.style.display="none";r.style.display="flex";let e="Efter tre forgæves forsøg må du vente ",t=" sekunder";GebIThomepage.userErrorElement.innerText=e+GebIThomepage.userErrorCount+t;GebIThomepage.errorTimer=setInterval(function(){GebIThomepage.userErrorCount--;GebIThomepage.userErrorElement.innerText=e+GebIThomepage.userErrorCount+t;if(GebIThomepage.userErrorCount<=0){clearInterval(GebIThomepage.errorTimer);GebIThomepage.userNameElement.style.display=GebIThomepage.userNameElement.getAttribute("disp");GebITpage.helpContainer.style.border=GebITpage.helpContainer.getAttribute("bord");GebIThomepage.userErrorElement.style.display="none"}},1e3)}}},generateHash:async function(e){return crypto.subtle.digest({name:"SHA-512"},GebIThomepage.stringToArrayBuffer8(e)).then(function(e){return GebIThomepage.arrayBufferToString8(e)}).catch(function(e){console.error("Error: Hash "+e)})},stringToArrayBuffer8:function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),o=0;oGebIThomepage.textsParas[n]&&(i.firstChild.children[t].style.display="none")}GebIThomepage.innerContents.appendChild(r)}},setTextInWin:async function(e){var n=e.currentTarget,o=GebIThomepage.scripts1.data.jsonslist.names.indexOf("winpage.object.homepage-window.json"),o=JSON.parse(GebIThomepage.scripts1.data.jsonslist.files[o]);o.winDef.name="window-"+n.getAttribute("name").substring(7);await GebITpage.loadWindow(e,o);o.objDef.winTableContent.firstChild.style.backgroundColor="rgb(255 255 255)";var r=GebITpage.winDefs.objDef.winTableContent.querySelector('div[data-type="page"]');if(0==r.firstChild.children.length){r.firstChild.style.position="relative";r.firstChild.style.overflowY="auto";var i=n.parentNode.parentNode.firstChild.cloneNode(!0);i.style.position="absolute";i.style.top="-14px";i.style.left="0px";for(let t=0;t{o.objDef.window.style.width=e.getBoundingClientRect().width+20+"px";o.objDef.window.style.height=e.getBoundingClientRect().height+34+"px";r.firstChild.style.width="100%";r.firstChild.style.minHeight="";r.firstChild.style.minWidth=""},800,n)},scripts1:null,texts:null,textsIsSet:null,textsArray:null,textsParas:null,homepage:null};window.onload=async function(){GebIThomepage.textsIsSet=!1;document.body.style.justifyContent="center";document.body.style.alignItems="center";document.body.style.backgroundRepeat="no-repeat";document.body.style.backgroundPosition="center top";document.body.style.backgroundAttachment="fixed";document.body.style.backgroundSize="100% 100%";document.body.style.backgroundImage="url('/images/20210129_081647.jpg')";GebITcomm.browser=GebIThomepage.testBrowser();GebIThomepage.homepage=document.createElement("div");GebIThomepage.homepage.style.display="inline-flex";GebIThomepage.homepage.style.justifyContent="center";GebIThomepage.homepage.style.width="100%";GebIThomepage.homepage.style.height="100%";GebIThomepage.homepage.style.alignItems="baseline";GebIThomepage.homepage.style.filter="opacity(100%)";GebIThomepage.homepage.style.backdropFilter="blur(0px)";document.body.appendChild(GebIThomepage.homepage);var e=await GebIThomepage.fetchFromServer({data:{action:"getpagetexts"},meta:{action:"filefetch"}});try{var t=JSON.parse(e);GebIThomepage.texts=t.data.files;"undefined"!=typeof GebITdomObjects&&GebITdomObjects.domCreator&&!GebIThomepage.textsIsSet&&GebIThomepage.setContent()}catch(e){console.log("ERROR\n",e,"\nDATA:\n",n)}let n=await GebIThomepage.fetchFromServer({data:{action:"getpagefiles"},meta:{action:"filefetch"}});try{GebIThomepage.scripts1=JSON.parse(n);GebIThomepage.setScript(GebIThomepage.scripts1.data.fileslist,0)}catch(e){console.log("ERROR\n",e,"\nDATA:\n",n)}};GebIThomepage.freezeObjectsFirst=function(){var e,t=[GebITdomObjects,GebIThomepage,GebITidb,GebITpageButtonDom,GebITpageButtonDom,GebITpageDesign,GebITpageGetDomElemFunc,GebITpageImageDom,GebITpages,GebITpageSetHelpObjects,GebITpageSpinnerDom,GebITpageTextDom];for(e in t)this.deepFreeze(t[e],0,e)};GebIThomepage.deepFreeze=function(t,n,o){n++;Object.getOwnPropertyNames(t).forEach(function(e){"function"==typeof t[e]&&Object.defineProperty(t,e,{writable:!1,enumerable:!1,configurable:!1,value:t[e]});!(null===t[e]||isNode(t[e])||Array.isArray(t[e])||-1!=["preloadScripts","noloadScripts","scriptLists","appsList","modules"].indexOf(e)||"object"!=typeof t[e]&&"function"!=typeof t[e])&&n<2&&GebIThomepage.deepFreeze(t[e],n,o)});isNode(t)||Object.seal(t)};GebIThomepage.testBrowser=function(){ //! copy from https://stackoverflow.com/questions/55411704/how-to-get-os-version-in-pc-in-javascript var e="",t=(screen.width&&(e+=(screen.width||"")+" x "+(screen.height||"")),navigator.appVersion),n=navigator.userAgent,o=navigator.appName,r=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10);if(-1!=(a=n.indexOf("Opera"))){o="Opera";r=n.substring(a+6);-1!=(a=n.indexOf("Version"))&&(r=n.substring(a+8))}if(-1!=(a=n.indexOf("OPR"))){o="Opera";r=n.substring(a+4)}else if(-1!=(a=n.indexOf("Edge"))){o="Microsoft Edge";r=n.substring(a+5)}else if(-1!=(a=n.indexOf("MSIE"))){o="Microsoft Internet Explorer";r=n.substring(a+5)}else if(-1!=(a=n.indexOf("Chrome"))){o="Chrome";r=n.substring(a+7)}else if(-1!=(a=n.indexOf("Safari"))){o="Safari";r=n.substring(a+7);-1!=(a=n.indexOf("Version"))&&(r=n.substring(a+8))}else if(-1!=(a=n.indexOf("Firefox"))){o="Firefox";r=n.substring(a+8)}else if(-1!=n.indexOf("Trident/")){o="Microsoft Internet Explorer";r=n.substring(n.indexOf("rv:")+3)}else if((s=n.lastIndexOf(" ")+1)<(a=n.lastIndexOf("/"))){o=n.substring(s,a);r=n.substring(a+1);o.toLowerCase()==o.toUpperCase()&&(o=navigator.appName)}-1!=(s=(r=-1!=(s=(r=-1!=(s=r.indexOf(";"))?r.substring(0,s):r).indexOf(" "))?r.substring(0,s):r).indexOf(")"))&&(r=r.substring(0,s));i=parseInt(""+r,10);if(isNaN(i)){r=""+parseFloat(navigator.appVersion);i=parseInt(navigator.appVersion,10)}var a=/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(t),s=!!navigator.cookieEnabled;if(void 0===navigator.cookieEnabled&&!s){document.cookie="testcookie";s=-1!=document.cookie.indexOf("testcookie")}var d,l="-",p=[{s:"Windows 10",r:/(Windows 10.0|Windows NT 10.0)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows 95",r:/(Windows 95|Win95|Windows_95)/},{s:"Windows NT 4.0",r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 3.11",r:/Win16/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Linux",r:/(Linux|X11)/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OS X",r:/Mac OS X/},{s:"Mac OS",r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"Search Bot",r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for(d in p){var g=p[d];if(g.r.test(n)){l=g.s;break}}var c="-";if(/Windows/.test(l)){c=/Windows (.*)/.exec(l)[1];l="Windows"}switch(l){case"Mac OS X":c=/Mac OS X (10[\.\_\d]+)/.exec(n)[1];break;case"Android":c=/Android ([\.\_\d]+)/.exec(n)[1];break;case"iOS":c=(c=/OS (\d+)_(\d+)_?(\d+)?/.exec(t))[1]+"."+c[2]+"."+(0|c[3])}var m="no check";return{browser:o,majorVersion:i,version:r,mobile:a,flash:m="undefined"!=typeof swfobject?0<(o=swfobject.getFlashPlayerVersion()).major?o.major+"."+o.minor+" r"+o.release:"-":m,cookies:s,screenSize:e,os:l,pointerType:null,"user Agent":navigator.userAgent}};GebIThomepage.buttonObject={type:"button",system:!1,id:"",name:"",label:"",labelPlace:"inside",widthOuter:"125px",heightOuter:"30px",width:"110px",height:"24px",alignV:"center",alignH:"left",click:""};