const utilGlobal=function(){let uid;let finalCall;const mediaQueries={maxMobile:"(max-width: 1024px)"};function handleError(response,errorText,responseType="json"){if(!response.ok){if(uiGlobal&&uiGlobal.toggleLoader&&uiGlobal.globalSwal&&errorText){uiGlobal.showGlobalSwalError(errorText)}throw Error(`${errorText} ||| ${response.statusText}`)}}function clearOrderStorage(){if(dataModelGlobal.isOrder){return}const ignoredSessionStorageData=["authData"];Object.keys(sessionStorage).forEach((key=>{if(ignoredSessionStorageData.indexOf(key)!==-1){return}sessionStorage.removeItem(key)}))}const changeOrderLink=(serverPlan,instantType,params)=>{if(serverPlan==="D104a"){serverPlan="D104"}return`/newOrder/dedicated/config/?type=${serverPlan}${instantType?`&instantType=${instantType}`:""}${params?`${params}`:""}`};function calculateServerPrice(array){return array.reduce(((currentCount,total)=>{const count=!currentCount?0:currentCount;return total+=count}),0)}function getServerDefaultComponents(serverInitialData,componentsArr){let object={};const{DefaultConfig:DefaultConfig}=serverInitialData;componentsArr.forEach((key=>{let formattedKey=key;if(formattedKey==="HDD"||formattedKey==="OS"){formattedKey=DefaultConfig.hasOwnProperty("JBOD")?"JBOD":"EmbeddedRAID"}if(DefaultConfig.hasOwnProperty(formattedKey)){const defaultConfigValue=DefaultConfig[formattedKey];let formattedValue=serverInitialData[key].filter((item=>item.Value===defaultConfigValue))[0];if(key==="HDD"){formattedValue=serverInitialData[key].filter((item=>item.SubItem===defaultConfigValue[0].SubItem))[0]}if(key==="OS"){formattedValue=serverInitialData[key].filter((item=>item.Value===defaultConfigValue[0].OS))[0]}if(key==="CPU"){formattedValue=serverInitialData[key].filter((item=>item.SubItem===defaultConfigValue.SubItem))[0]}if(key==="IPv"){formattedValue=serverInitialData[key].filter((item=>item.SubItem===defaultConfigValue[0].SubItem))[0]}object[key]=formattedValue?formattedValue:serverInitialData[key][0]}else{object[key]=serverInitialData[formattedKey][0]}}));return object}function getDiscountPrice(discount,price){const discountDifference=discount/100*price;const discountPrice=price-discountDifference;return discountPrice}function OTP(){var html=`\n \n
\n `;document.body.insertAdjacentHTML("beforeend",html);if(document.getElementById("close")){document.getElementById("close").addEventListener("click",closeTwoFAWindow)}if(document.getElementById("code")){document.getElementById("code").addEventListener("keypress",(function(event){if(event.key==="Enter"&&document.getElementById("submit")){event.preventDefault();document.getElementById("submit").click()}}))}if(document.getElementById("submit")){document.getElementById("submit").addEventListener("click",verifyCode)}if(document.getElementById("golden-1"))document.getElementById("golden-1").classList.add("lower-opacity");if(document.getElementsByClassName("login-container")[0])document.getElementsByClassName("login-container")[0].classList.add("lower-opacity")}function closeTwoFAWindow(){if(document.getElementById("golden-1"))document.getElementById("golden-1").classList.remove("lower-opacity");if(document.getElementsByClassName("login-container")[0])document.getElementsByClassName("login-container")[0].classList.remove("lower-opacity");document.getElementById("modal").remove();document.getElementById("overlay").remove();uiGlobal.toggleLoader("hide")}function verifyCode(){code=document.getElementById("code").value;fetch("/api/otp/verify/"+utilGlobal.uid,{method:"POST",headers:{"Content-type":"application/json","X-Website":Website},body:code}).then((response=>{if(response.status!=200)return response.status;return response.text()})).then((data=>{if(data==="True"){if(typeof utilGlobal.finalCall=="function")utilGlobal.finalCall()}else{Swal.fire("Sorry, the code is wrong. Check if it didn't expire.")}}))}return{handleError:handleError,clearOrderStorage:clearOrderStorage,mediaQueries:mediaQueries,changeOrderLink:changeOrderLink,getServerDefaultComponents:getServerDefaultComponents,calculateServerPrice:calculateServerPrice,getDiscountPrice:getDiscountPrice,OTP:OTP,closeTwoFAWindow:closeTwoFAWindow,verifyCode:verifyCode}}();