CINXE.COM
Order - Simply.com
<!-- We are honoured you clicked "View source" :) --> <!DOCTYPE html> <html lang="en" dir="ltr" class="no-js "> <head> <link rel="preconnect" href="https://static.simply.com" crossorigin> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <title>Order - Simply.com</title> <meta charset="UTF-8"> <meta name="author" content="Tom Sommer"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <meta name="format-detection" content="telephone=no"> <meta name="description" content="Or der product at Simply.com"> <meta name="keywords" content="Webspace, domain, webspaces, cheap webspace, buy domain"> <meta property="fb:pages" content="37207469397"> <meta property="fb:admins" content="630139270"> <meta property="fb:app_id" content="157484727617117"> <meta property="og:type" content="website"> <meta property="og:title" content="Order"> <meta property="og:description" content="Or der product at Simply.com"> <meta property="og:site_name" content="Simply.com"> <meta property="og:url" content="https://www.simply.com/en/order/?id=prosuite"> <!-- <meta property="og:url" content="https://www.simply.com/en/order/">--> <meta property="og:image" content="https://static.simply.com/assets/simply-logo-opengraph.png?8e3f1994187c1f6cd5d1dc368042e6500655021f"> <meta property="og:image" content="https://static.simply.com/assets/simply-logo-opengraph-wide.png?8e3f1994187c1f6cd5d1dc368042e6500655021f"> <!-- <meta property="og:image" content="https://static.simply.com/assets/simply-logo-color-square-text.png"> --> <meta property="og:locale" content="en_US"> <!-- <meta property="og:locale:alternate" content="da_DK"> --> <!-- <meta property="og:locale:alternate" content="nn_NO"> --> <!-- <meta property="og:locale:alternate" content="pl_PL"> --> <!-- <meta property="og:locale:alternate" content="fi_FI"> --> <!-- <meta property="og:locale:alternate" content="sv_SE"> --> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@simplydotcom"> <meta name="twitter:creator" content="@simplydotcom"> <meta name="twitter:title" content="Order"> <meta name="twitter:description" content="Or der product at Simply.com"> <meta name="twitter:domain" content="simply.com"> <meta name="twitter:image" content="https://static.simply.com/assets/simply-logo-twitter.png?8e3f1994187c1f6cd5d1dc368042e6500655021f"> <meta name="apple-mobile-web-app-capable" content="no"> <meta name="apple-mobile-web-app-title" content="Simply.com"> <meta name="application-name" content="Simply.com"> <meta name="theme-color" content="#fff" media="(prefers-color-scheme: light)"> <meta name="theme-color" content="#000" media="(prefers-color-scheme: dark)"> <meta name="XSRF-TOKEN" content="1f03760b01d6f3269560ceb77bd98167e188fee1"> <!-- <link rel="icon" href="data:;base64,iVBORw0KGgo="> --> <link rel="icon" type="image/png" href="https://static.simply.com/assets/simply-favicon-96px.png?8e3f1994187c1f6cd5d1dc368042e6500655021f" sizes="96x96"> <link rel="icon" type="image/png" href="https://static.simply.com/assets/simply-favicon-180px.png?8e3f1994187c1f6cd5d1dc368042e6500655021f" sizes="180x180"> <link rel="icon" type="image/svg+xml" href="https://static.simply.com/assets/simply-favicon.svg?8e3f1994187c1f6cd5d1dc368042e6500655021f"> <link rel="apple-touch-icon" type="image/png" href="https://static.simply.com/assets/simply-favicon-96px.png?8e3f1994187c1f6cd5d1dc368042e6500655021f" sizes="96x96"> <link rel="apple-touch-icon" type="image/png" href="https://static.simply.com/assets/simply-favicon-180px.png?8e3f1994187c1f6cd5d1dc368042e6500655021f" sizes="180x180"> <link rel="mask-icon" href="https://static.simply.com/assets/simply-favicon-maskicon.svg?8e3f1994187c1f6cd5d1dc368042e6500655021f" color="#aa2484"> <!-- <link rel="alternate" hreflang="x-default" href="https://www.simply.com/order/?id=prosuite"> --> <link rel="alternate" hreflang="da" href="https://www.simply.com/dk/order/?id=prosuite"> <link rel="alternate" hreflang="en" href="https://www.simply.com/en/order/?id=prosuite"> <link rel="alternate" hreflang="no" href="https://www.simply.com/no/order/?id=prosuite"> <link rel="alternate" hreflang="pl" href="https://www.simply.com/pl/order/?id=prosuite"> <link rel="alternate" hreflang="fi" href="https://www.simply.com/fi/order/?id=prosuite"> <link rel="alternate" hreflang="sv" href="https://www.simply.com/se/order/?id=prosuite"> <!-- Google Tag Manager --> <script>!function () { "use strict"; function e(e) { return function (e) { for (var t = 0, r = document.cookie.split(";"); t < r.length; t++) { var n = r[t].split("="); if (n[0].trim() === e) return n[1] } }(e) } function t(e) { return localStorage.getItem(e) } function r(e) { return window[e] } function n(e, t) { var r = document.querySelector(e); return t ? null == r ? void 0 : r.getAttribute(t) : null == r ? void 0 : r.textContent } !function (o, i, a, c, u, l, s, v, d, f, g) { var E, I, m, T; try { I = d && (m = navigator.userAgent, (T = new RegExp("Version/([0-9._]+)(.*Mobile)?.*Safari.*").exec(m)) && parseFloat(T[1]) >= 16.4) ? function (o, i, a) { void 0 === i && (i = ""); var c = {cookie: e, localStorage: t, jsVariable: r, cssSelector: n}, u = Array.isArray(i) ? i : [i]; if (o && c[o]) for (var l = c[o], s = 0, v = u; s < v.length; s++) { var d = v[s], f = a ? l(d, a) : l(d); if (f) return f } else console.warn("invalid uid source", o) }(d, "user_id", "") : void 0 } catch (e) { console.error(e) } var _ = o; _[c] = _[c] || [], _[c].push({"gtm.start": (new Date).getTime(), event: "gtm.js"}); var p = i.getElementsByTagName(a)[0], A = I ? "&bi=" + encodeURIComponent(I) : "", N = i.createElement(a), D = I ? "kp" + v : v, R = !I && s ? s : "https://gtm.simply.com"; N.async = !0, N.src = R + "/" + D + ".js?id=GTM-TZV8MD" + A, null === (E = p.parentNode) || void 0 === E || E.insertBefore(N, p) }(window, document, "script", "dataLayer", 0, 0, "", "qwpsducp", "cookie") }();</script> <!-- End Google Tag Manager --> <script> window.dataLayer = window.dataLayer || []; function gtag() { window.dataLayer.push(arguments) } gtag('js', new Date()); </script> <script> var _hsq = window._hsq || []; function hsq() { _hsq.push(arguments); } </script> <script> var translations = []; translations['LabelOkay'] = "Okay"; translations['LabelIAmSure'] = "Yes, I am sure"; translations['LabelNoCancel'] = "Cancel"; translations['LabelAreYouSure'] = "Are you sure?"; translations['TextAreYouSure'] = "Are you sure?"; translations['TextCapsLockEnabled'] = "Caps-Lock is turned on."; </script> <script> document.documentElement.classList.remove('no-js'); document.documentElement.classList.add('js'); </script> <link rel="stylesheet" href="https://static.simply.com/assets/build/app.css?_r=8e3f1994187c1f6cd5d1dc368042e6500655021f"> <script src="https://static.simply.com/assets/build/app.js?_r=8e3f1994187c1f6cd5d1dc368042e6500655021f" defer="defer"></script> <link rel="alternate" type="application/rss+xml" title="Simply.com - Blog (RSS)" href="https://blog.simply.com/feed/rss/"> <link rel="search" type="application/opensearchdescription+xml" href="/en/opensearch-domaincheck.xml" title="Simply.com - Check domain"> <link rel="search" type="application/opensearchdescription+xml" href="/en/opensearch-support.xml" title="Simply.com - Support"> <script> const SimplyComIsUserLoggedIn = false; const SimplyComIsInternalSupport = false; </script> <script> gtag({'VisitorIsLoggedIn': SimplyComIsUserLoggedIn}); gtag({'VisitorIsInternalSupport': SimplyComIsInternalSupport}); </script> <script type="text/javascript"> var _iub = _iub || []; _iub.csLangConfiguration = { 'da': { "cookiePolicyId": 85398683, // "cookiePolicyUrl": "https://www.simply.com/dk/privacy-policy/", }, 'sv': { "cookiePolicyId": 64422143, // "cookiePolicyUrl": "https://www.simply.com/se/privacy-policy/", }, 'no': { "cookiePolicyId": 11901605, // "cookiePolicyUrl": "https://www.simply.com/no/privacy-policy/", }, 'pl': { "cookiePolicyId": 79851764, // "cookiePolicyUrl": "https://www.simply.com/pl/privacy-policy/", }, 'fi': { "cookiePolicyId": 76653875, // "cookiePolicyUrl": "https://www.simply.com/fi/privacy-policy/", }, 'de': { "cookiePolicyId": 40978846, // "cookiePolicyUrl": "https://www.simply.com/de/privacy-policy/", }, 'fr': { "cookiePolicyId": 68648577, //"cookiePolicyUrl": "https://www.simply.com/fr/privacy-policy/", }, }; _iub.csConfiguration = { "askConsentAtCookiePolicyUpdate": false, "cookiePolicyId": 85215963, "floatingPreferencesButtonDisplay": "bottom-left", "localConsentDomain": "www.simply.com", "perPurposeConsent": true, 'cookiePolicyInOtherWindow': false, "purposes": "1,2,3,4,5", 'promptToAcceptOnBlockedElements': true, "preferenceCookie": { "expireAfter": 360 }, "siteId": 3298105, "i18n": { "da": { "banner": { "title": "Du bestemmer over dine data" } }, "en-GB": { "banner": { "title": "You are in control of your data" } }, "sv": { "banner": { "title": "Du har kontroll 枚ver din data" } }, "no": { "banner": { "title": "Du har kontroll over dataene dine" } }, "pl": { "banner": { "title": "Masz kontrol臋 nad swoimi danymi" } }, "fi": { "banner": { "title": "Sin盲 hallitset tietojasi" } }, "de": { "banner": { "title": "Sie haben die Kontrolle 眉ber Ihre Daten" } }, "fr": { "banner": { "title": "Vous 锚tes ma卯tre de vos donn茅es" } } }, // "cookiePolicyUrl": "https://www.simply.com/privacy-policy/", "banner": { "acceptButtonCaptionColor": "var(--bs-white)", "acceptButtonColor": "var(--bs-success)", "acceptButtonDisplay": true, 'applyStyles ': false, "backgroundColor": "var(--bs-white)", 'backgroundOverlay': true, 'brandBackgroundColor': "var(--bs-white)", 'brandTextColor': "var(--bs-black)", "closeButtonDisplay": false, "continueWithoutAcceptingButtonColor": "var(--bs-light)", "customizeButtonCaptionColor": "var(--bs-black)", "customizeButtonColor": "var(--bs-light)", "customizeButtonDisplay": true, "explicitWithdrawal": true, "floatingPreferencesButtonColor": "var(--bs-light)", "fontSizeBody": "14px", "linksColor": "var(--bs-primary)", "listPurposes": true, 'logo': 'https://static.simply.com/assets/simply-logo-color.svg', "position": "float-center", "rejectButtonCaptionColor": "var(--bs-white)", "rejectButtonColor": "var(--bs-success)", "rejectButtonDisplay": true, "showPurposesToggles": true, "textColor": "var(--bs-black)", }, "callback": { "onPreferenceExpressed": function (preference) { console.log('onPreferenceExpressed', preference); }, "onPreferenceExpressedOrNotNeeded": function (preference) { dataLayer.push({ iubenda_ccpa_opted_out: _iub.cs.api.isCcpaOptedOut(), }); var otherPreferences = _iub.cs.api.getPreferences(); if (otherPreferences) { var usprPreferences = otherPreferences.uspr; if (usprPreferences) { for (var purposeName in usprPreferences) { if (usprPreferences[purposeName]) { dataLayer.push({ event: 'iubenda_consent_given_purpose_' + purposeName, }); } } } } if (!preference) { dataLayer.push({ event: 'iubenda_preference_not_needed', }); } else if (preference.consent === true) { dataLayer.push({ event: 'iubenda_consent_given', }); } else if (preference.consent === false) { dataLayer.push({ event: 'iubenda_consent_rejected', }); } else if (preference.purposes) { for (var purposeId in preference.purposes) { if (preference.purposes[purposeId]) { dataLayer.push({ event: 'iubenda_consent_given_purpose_' + purposeId, }); } } } } }, }; </script> <script type="text/javascript" src="https://cs.iubenda.com/autoblocking/3298105.js"></script> <script type="text/javascript" src="//cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Simply.com", "url": "https://www.simply.com/", "logo": "https://www.simply.com/assets/simply-logo-color-square.png", "sameAs": [ "https://www.facebook.com/simplycom", "https://www.instagram.com/simplycom/", "https://www.trustpilot.com/review/simply.com", "https://www.twitter.com/simplydotcom", "https://www.linkedin.com/company/simplycom", "https://da.wikipedia.org/wiki/Simply.com" ], "contactPoint": [ { "@type": "ContactPoint", "telephone": "+45-86515030", "contactType": "customer service", "availableLanguage": [ "English", "Danish" ] }, { "@type": "ContactPoint", "telephone": "+46-776650650", "contactType": "customer service", "availableLanguage": [ "English", "Swedish" ] } ] } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://www.simply.com/", "name": "Simply.com", "potentialAction": [ { "@type": "SearchAction", "target": "https://www.simply.com/support/search/?q={search_term_string}", "query-input": "required name=search_term_string" }, { "@type": "SearchAction", "target": "https://www.simply.com/domains/?q={search_term_string}", "query-input": "required name=search_term_string" } ] } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "url": "https://www.simply.com/", "name": "Simply.com" } </script> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload=onloadTurnstileCallback" defer="defer"></script> <script> window.onloadTurnstileCallback = () => { let element = document.getElementById('cf-turnstile'); if (element) { window.turnstile.render(element, { sitekey: "0x4AAAAAAABQFoXasJ1MPHI3", action: element.dataset.action, 'callback': (token) => { console.log('Captcha success'); if (element.dataset.callback) { eval(element.dataset.callback)(token); } }, 'unsupported-callback': () => { alert('Captcha not supported. Change browser.'); }, 'error-callback': (error) => { // window.turnstile.reset(); if (element.dataset.errorCallback) { eval(element.dataset.errorCallback)(error); } console.log('Turnstile error code: ' + error); window.axios.get('/turnstile-errorlog?error=' + error); alert('Captcha failed. Disable adblockers or try another browser if the problem persists. Error code: ' + error); return false; }, }); if (element.dataset.startCallback) { eval(element.dataset.startCallback)(); } } }; </script> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://gtm.simply.com/ns.html?id=GTM-TZV8MD" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <div class="grid-container"> <div class="grid-header"> <section class="container"> <div class="d-flex flex-column gap-1"> <noscript> <div class="alert alert-warning" id="noscript-warning"> You have disabled JavaScript in your browser, which will cause some things on our website not to function as intended. </div> </noscript> </div> <nav class="header-navbar navbar navbar-expand-xl gap-3 pt-2 py-xl-4 py-xxl-5 " id="mainmenu"> <a class="navbar-brand p-0 pb-xl-1" href="/en/"> <img src="//static.simply.com/assets/simply-logo-color.svg?8e3f1994187c1f6cd5d1dc368042e6500655021f" alt="Simply.com"> </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse p-5 p-xl-0" id="navbarNav"> <!--<div class="d-lg-none pb-5 mb-1 text-end" data-bs-toggle="collapse" data-bs-target="#navbarNav"><i class="fa-duotone fa-xmark fs-6"></i></div> --> <ul class="navbar-nav nav-hover gap-xl-3 me-auto primary-navigation align-items-xl-center text-nowrap"> <li class="nav-item d-xl-none"> <a class="nav-link text-uppercase d-flex justify-content-between d-none" href="/en/"> <span>Home</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item"> <a class="nav-link text-uppercase d-flex justify-content-between" href="/en/domains/"> <span>Domain</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item"> <a class="nav-link text-uppercase d-flex justify-content-between align-items-center" href="/en/hosting/"> <span>Webspace</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item d-xl-none"> <a class="nav-link text-uppercase d-flex justify-content-between align-items-center" href="/en/email/"> <span>Email</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item"> <a class="nav-link text-uppercase d-flex justify-content-between align-items-center" href="/en/websitebuilder/"> <span>Website designer</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item"> <a class="nav-link text-uppercase d-flex justify-content-between align-items-center" href="/en/wordpress/"> <span>WordPress</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> <li class="nav-item d-xl-none"> <a class="nav-link text-uppercase d-flex justify-content-between align-items-center" href="/en/woocommerce/"> <span>WooCommerce</span> <i class="far fa-arrow-right-long d-lg-none"></i> </a> </li> </ul> <ul class="navbar-nav secondary-links mt-3 mt-xl-0 rounded-3 border border-xl-0 px-2 p-xl-0 align-items-xl-center"> <li class="nav-item"> <a class="nav-link fs-xl-7" href="/en/support/"> <i class="far fa-fw fa-life-ring d-xl-none"></i> Support </a> </li> <li class="nav-item"> <a class="nav-link fs-xl-7" href="/en/webmail/"> <i class="far fa-fw fa-envelope"></i> Webmail </a> </li> <li class="nav-item"> <a class="nav-link fs-xl-7" href="/en/controlpanel/"> <i class="far fa-fw fa-lock"></i> Control Panel </a> </li> </ul> </div> </nav> </section> </div> <div class="grid-content"> <style> #footer-asides, #sitemap, #topbanners { display: none; } #menu-services, #menu-products { visibility: hidden; } </style> <div class="container pt-3 pb-4" xmlns:v-on="http://www.w3.org/1999/xhtml" id="app-order" v-cloak> <div id="cf-turnstile" data-action="order" data-callback="turnstileCallback"></div> <div class="row" v-if="order.orderkey"> <div class="col-lg-8"> <h1 class="h2"><i class="fat text-primary text-gradiant fa-fw" v-bind:class="'fa-'+ product.image"></i> Order of {{product.name}}</h1> <div v-if="turnstileAuthed === null" class="text-center my-6"> <h6> <i class="fal fa-spin fa-spinner fa-fw text-primary"></i> Checking browser... please wait </h6> </div> <div v-if="turnstileAuthed === false" class="text-center text-danger my-6"> <h6> Could not check browser!</i> </h6> </div> <div class="card mb-3 shadow-sm" v-show="order.domains.length > 0"> <div class="card-body"> <h3 class="card-title" v-if="multidomain">Selected domains</h3> <div v-show="order.domains.length === 1"> <div v-for="(domain, index) in order.domains"> <div class="text-center"> <h3 class="h2 fw-bold m-0">{{domain.domain}} <a href="#" v-on:click.prevent="order.domains.splice(0, 1)" class="ms-2 position-absolute link-danger fs-6"><i class="far fa-times" title="Change domain"></i></a></h3> <p v-show="domain.transfertype === 'OP'" class="dimmed"> <small>Domain will be registered in your name</small> </p> <p v-show="domain.transfertype === 'RE'" class="dimmed"> <small>The domain will be transferred to Simply.com <i class="fal fa-info-circle fa-fw" data-bs-toggle="tooltip" title="A transfer of the domain starts automatically. You choose when you want to complete the transfer with the last step."></i></small> </p> <p v-show="domain.transfertype === 'EG'" class="dimmed"> <small>The domain will NOT be transferred to Simply.com</small> </p> </div> </div> </div> <div v-show="order.domains.length > 1"> <div class="d-grid gap-2"> <div v-for="(domain, index) in order.domains" class="d-flex align-items-center gap-2"> <div> <i class="fal fa-lg fa-fw text-primary" v-bind:class="'fa-'+ products.find(item => item.id == domain.service_id).image"></i> </div> <div class="flex-grow-1"> <h3 class="h6 fw-bold text-break m-0">{{domain.domain}}</h3> <div v-if="domain.transfertype === 'OP'" class="col-xl-6 text-success small fw-bold"><i class="fas fa-fw fa-check-circle"></i> Registration</div> <div v-if="domain.transfertype === 'RE'" class="col-xl-6 text-success small fw-bold"><i class="fas fa-fw fa-check-circle"></i> Transfer</div> <div v-if="domain.transfertype === 'EG'" class="col-xl-6 text-success small fw-bold"><i class="fas fa-fw fa-check-circle"></i> Without transfer</div> </div> <div> <button v-on:click.prevent="order.domains.splice(index, 1)" class="btn btn-link btn-xs link-danger"><i class="fas fa-times"></i></button> </div> </div> </div> </div> <div class="alert alert-warning text-lg-center" v-if="order.domains.some(item => (/\.no$/.test(item.domain) && item.transfertype === 'OP'))"> <h4>Specifics regarding registration of .no domains</h4> <p>To register a .no domain, you need to have either a Norwegian social security number or Norwegian organization number.</p> </div> </div> </div> <div class="card mb-3 shadow-sm" v-if="(multidomain || order.domains.length <= 0) && turnstileAuthed"> <div class="card-body"> <div v-if="(multidomain && order.domains.length >= 1) && Object.keys(currentSearchResult).length <= 0"> <h5 class="card-title">You can add multiple domains to the same order</h5> <form v-on:submit.prevent="runQuery()"> <div class="input-group"> <input name="domain" id="multidomain" autocapitalize="off" inputmode="url" required autofocus v-model="query" type="text" value="" autocomplete="off" class="form-control form-control-sm border-primary" spellcheck="false" placeholder="Enter domain name"> <button type="submit" name="submit" class="btn btn-sm btn-primary">Add</button> </div> <div v-show="multidomain" class="text-end"> <button type="button" data-bs-toggle="modal" data-bs-target="#bulkdialog" class="btn btn-xs btn-link opacity-75">Bulk order</button> </div> </form> <div v-show="multidomain && order.domains.length >= 1 && domainSuggestions.length > 0"> <h5>These domains are available right now. Reserve them today.</h5> <div class="d-flex flex-column gap-1"> <div class=" justify-content-between align-content-center align-items-center d-flex" v-for="(suggestion, index) in domainSuggestions.slice(0, 4)"> <div class="d-flex align-items-center gap-2"> <small class="badge badge-success d-none d-sm-block"><i class="fal fa-check-circle fa-fw"></i> Available domain</small> <p class="fs-6 m-0 text-break fw-bold">{{suggestion.domain}}</p> <small class="text-break small badge badge-cta">{{suggestion.result.price_currency_formatted}}</small> </div> <div class="text-nowrap"> <button type="button" v-on:click.prevent="addDomainToOrder(suggestion.domain, 'OP'); domainSuggestions.splice(index, 1)" class="btn btn-primary btn-xs">Add</button> <button type="button" v-on:click.prevent="domainSuggestions.splice(index, 1)" class="btn btn-link link-danger btn-xs" title="Remove"><i class="fal fa-times-circle"></i></button> </div> </div> </div> </div> </div> <div v-if="order.domains.length === 0 && Object.keys(currentSearchResult).length <= 0"> <form v-on:submit.prevent="runQuery()"> <div class="row"> <div class="col-lg-10 offset-lg-1"> <h3 class="mb-2">Select domain <i class="fal fa-sm fa-question-circle dimmed fa-fw" data-bs-toggle="tooltip" title="Choose the domain name you want with your product. You can choose a domain you already own, or register a brand new domain in your name."></i> </h3> <div class="input-group"> <input name="domain" id="domain" autocapitalize="off" inputmode="url" required autofocus v-model="query" type="text" value="" autocomplete="off" class="form-control form-control-lg" spellcheck="false" placeholder="Enter domain name"> <button type="submit" name="submit" class="btn btn-primary btn-lg">Select</button> </div> <div class="form-text d-none"> Choose the domain name you want with your product. You can choose a domain you already own, or register a brand new domain in your name. </div> <div v-show="multidomain" class="text-end"> <button type="button" data-bs-toggle="modal" data-bs-target="#bulkdialog" class="btn btn-xs btn-link opacity-75 small">Bulk order</button> </div> </div> </div> </form> </div> <div v-show="currentSearchResult.loading" class="text-center"> <i class="fat fa-spin fa-spin-fast fa-compass fa-fw fa-5x mb-3 text-gradiant"></i> <h3>One moment while we are processing {{query}}</h3> </div> <div v-if="currentSearchResult.result == 1"> <div class="text-center mb-4"> <h2>{{currentSearchResult.domain}} is already taken</h2> <p class="lead">If you are the owner of the domain, we can transfer it to Simply.com</p> <p class="fw-bold text-success" v-if="currentSearchResult.period_transfer > 0 && false">If the domain is moved, it is renewed with {{currentSearchResult.period_transfer}} years extra.</p> <p class="fw-bold text-success" v-if="currentSearchResult.price == 0">It is FREE to transfer the domain to Simply.com.</p> </div> <div v-show="!currentSearchResult.controlled"> <div class="row mt-3"> <div class="col-xl-6 col-sm-12 order-xl-first order-last"> <a href="#" data-bs-target="#notransferdialog" data-bs-toggle="modal" class="btn btn-light btn-block text-start"> <h5 class="h6"><i class="far fa-exclamation-triangle fa-fw fa-lg float-left mr-3"></i> Order with out transfer to Simply.com</h5> <small class="fw-normal fst-italic">{{currentSearchResult.domain}} is my domain</small> </a> </div> <div class="col-xl-6 mb-3 mb-xl-0"> <a href="#" v-on:click.prevent="addDomainToOrder(currentSearchResult.domain, 'RE')" class="btn btn-success btn-block text-start"> <h5><i class="far fa-check fa-fw fa-lg float-left mr-3"></i> Transfer the domain to Simply.com <i class="fal fa-info-circle fa-fw fa-sm" data-bs-toggle="tooltip" title="You decide when you complete the final transfer of the domain."></i></h5> <small class="fw-normal fst-italic">{{currentSearchResult.domain}} is my domain</small> </a> </div> </div> </div> <div v-show="currentSearchResult.controlled"> <div class="row mt-3"> <div class="col-lg-6 offset-lg-3"> <a href="#" v-on:click.prevent="addDomainToOrder(currentSearchResult.domain, 'EG')" class="btn btn-success btn-block text-start"> <h5><i class="far fa-check fa-fw fa-lg float-left mr-3"></i> Continue ordering</h5> <small class="fw-normal fst-italic">{{currentSearchResult.domain}} is my domain</small> </a> </div> </div> </div> <div class="text-center mt-3"> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link link-danger">Select another domain</button> </div> </div> <div v-show="currentSearchResult.result === 4"> <div class="text-center"> <i class="far fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger">{{currentSearchResult.domain}} is already at Simply.com</h3> <p>If you are the owner of the domain, you can manage it through our Control Panel.</p> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</button> </div> </div> <div v-show="currentSearchResult.result === 12"> <div class="text-center"> <i class="far fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger">{{currentSearchResult.domain}} is the subdomain of a domain already at Simply.com</h3> <p>If you are the owner of the domain, you can order {{currentSearchResult.domain}} by having access to the primary domain through the Simply.com control panel.</p> <div class="text-center mt-3"> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</button> </div> </div> </div> <div v-show="currentSearchResult.result === 6 || currentSearchResult.result === 8"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-5x text-warning mb-3"></i> <h2>You have selected a domain that we cannot transfer</h2> <p class="lead">{{currentSearchResult.domain}} is of such a type (TLD) that we can not move it to our custody.</p> <p>This means you have to handle domain administration of {{currentSearchResult.domain}} at the current domain provider.</p> <div class="alert alert-warning mt-3 mb-3 text-start"> <p>You will be responsible for pointing the domain at our servers and/or nameservers, and update any DNS settings yourself, should this need to be changed in the future.</p> <p>The domain will NOT be moved or re-delegated to Simply.com. Simply.com will not be able to renew the domain. </p> </div> <p class="text-center">Do you still wish to choose <strong>{{currentSearchResult.domain}}</strong>?</p> <div class="row"> <div class="col-xl-6 mb-3 mb-xl-0"> <a href="#" v-on:click.prevent="currentSearchResult = {}" class="btn btn-block text-start btn-light"> <i class="far fa-chevron-left fa-fw fa-2x float-left mr-3"></i> <strong> Select another domain </strong> <br> <small style="font-weight: normal; font-style:italic;">{{currentSearchResult.domain}} is NOT my domain</small> </a> </div> <div class="col-xl-6"> <a href="#" v-on:click.prevent="addDomainToOrder(currentSearchResult.domain, 'EG')" class="btn btn-block text-start btn-success"> <i class="far fa-exclamation-triangle fa-fw fa-2x float-left mr-3"></i> <strong> Continue ordering</strong> <br> <small style="font-weight: normal; font-style:italic;">{{currentSearchResult.domain}} is correct</small> </a> </div> </div> </div> </div> <div v-show="currentSearchResult.result === 5"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger">{{currentSearchResult.domain}} is to short</h3> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</button> </div> <hr v-if="order.domains.length > 0"> </div> <div v-if="currentSearchResult.result === 3"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger">{{currentSearchResult.domain}} contains an invalid character</h3> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</button> </div> <hr v-if="order.domains.length > 0"> </div> <div v-show="currentSearchResult.result === 7"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger"> Due to a temporary problem, it is currently unable to collect information about {{currentSearchResult.domain}}. Please try again later.</h3> <button type="button" v-on:click.prevent="runQuery()" class="btn btn-link">Try again</button> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</button> </div> <hr v-if="order.domains.length > 0"> </div> <div v-show="currentSearchResult.result === 11"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger"> Sorry, we can not register the domain {{currentSearchResult.domain}}.</h3> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-link">Select another domain</ > </div> <hr v-if="order.domains.length > 0"> </div> <div v-show="currentSearchResult.result === 10"> <div class="text-center"> <i class="fal fa-exclamation-circle fa-fw fa-6x text-danger mb-3"></i> <h3 class="text-danger">Invalid domain</h3> <p class="lead">"{{currentSearchResult.domain}}" is an invalid domain.</p> <button type="button" v-on:click.prevent="currentSearchResult = {}" class="btn btn-primary">Select another domain</button> <div class="mt-5" v-if="domainSuggestions"> <h4>You can also consider getting one of the following available domains:</h4> <div class="d-flex justify-content-evenly flex-wrap"> <div v-for="(suggestion, index) in domainSuggestions.slice(0, 4)"> <button v-on:click.prevent="addDomainToOrder(suggestion.domain, 'OP')" class="btn btn-sm btn-outline-success btn-block mb-3 text-left text-nowrap"><i class="fal fa-fw fa-check"></i> {{suggestion.domain}}</button> </div> </div> </div> </div> </div> </div> </div> <div class="card mb-3 shadow-sm" v-show="order.domains.length > 0"> <div class="card-body"> <div class="row"> <div class="col-xxl-4"> <div class="card mb-3"> <h4 class="card-header text-center p-2 fs-6"> Do you already have a Simply.com account? </h4> <div class="card-body p-3"> <div class="d-flex flex-column gap-2"> <div class="form-check"> <input class="form-check-input" v-model="selectedAccountType" v-on:click="order.accounttype = ''" id="useNewAccount" name="accounttype" type="radio" value="new"> <label class="form-check-label" for="useNewAccount">Create new account</label> </div> </div> </div> </div> </div> <div class="col-xxl-8"> <div v-show="selectedAccountType === 'existing'"> <h2 class="text-center">Existing account</h2> <p>Use an existing Simply.com-account to gather your products.</p> <div class="alert alert-info"> <p>If you want to order on an existing Simply.com account, you must log in to this before placing an order.</p> <a href="/en/controlpanel/" class="btn btn-primary btn-block">Log in</a> </div> </div> <div v-show="selectedAccountType === 'current'"> <h2 class="text-center">Existing account</h2> <p>Use an existing Simply.com-account to gather your products.</p> <div class="alert alert-info"> <p>If you want to order on an existing Simply.com account, you must log in to this before placing an order.</p> <a href="/en/controlpanel/" class="btn btn-primary btn-block">Log in</a> </div> </div> <div v-show="selectedAccountType === 'new'"> <h2 class="text-center">Contact details</h2> <form name="formNewAccount" data-vv-scope="newaccount" v-on:submit.prevent="checkNewAccount()"> <div class="form-group row"> <label for="data-company" class="col-lg-4 col-form-label">Company name</label> <div class="col-lg-8"> <input name="company" autocomplete="organization" placeholder="(Optional)" type="text" id="data-company" class="form-control" spellcheck="false" v-model="order.account.company" :readonly="order.accounttype == 'new'"> <small class="form-text"> The company name can be omitted, provided you are acting as a private person </small> </div> </div> <div class="form-group row"> <label for="data-name" class="col-lg-4 col-form-label">Contact person</label> <div class="col-lg-8"> <input name="name" autocomplete="name" type="text" class="form-control" id="data-name" required="required" spellcheck="false" v-model="order.account.name" :readonly="order.accounttype === 'new'" pattern="[^.,]{2,} .*[^.,]{2,}"> </div> </div> <div class="form-group row" v-if="!order.account.company.length && countries.find(item => item.id === order.account.country)?.code === 'SE' && order.domains.some(item => /\.(se|nu)$/.test(item.domain))"> <label for="data-personno" class="col-lg-4 col-form-label">Social security number</label> <div class="col-lg-8"> <input name="personno" autocomplete="personno" type="text" class="form-control" id="data-personno" spellcheck="false" v-model="order.account.personno" :readonly="order.accounttype === 'new'"> </div> </div> <div class="form-group row"> <label for="data-address" class="col-lg-4 col-form-label">Address</label> <div class="col-lg-8"> <input name="address" autocomplete="address-line1" type="text" class="form-control" id="data-address" required="required" spellcheck="false" v-model="order.account.address" pattern=".+ .+" :readonly="order.accounttype === 'new'"> </div> </div> <div class="form-group row"> <label for="data-zipcode" class="col-lg-4 col-form-label">Postcode & City</label> <div class="col-lg-8"> <div class="row g-3"> <div class="col-4"> <input name="zipcode" autocomplete="postal-code" inputmode="numeric" type="text" id="data-zipcode" class="form-control" required="required" spellcheck="false" v-model="order.account.zipcode" :readonly="order.accounttype === 'new'"> </div> <div class="col-8"> <input name="city" autocomplete="locality" type="text" class="required form-control" id="data-city" required="required" spellcheck="false" v-model="order.account.city" :readonly="order.accounttype === 'new'"> </div> </div> </div> </div> <div class="form-group row"> <label for="data-phone" class="col-lg-4 col-form-label">Phone no.</label> <div class="col-lg-8"> <div class="row g-3"> <div class="col-4"> <select name="phone_prefix" id="data-phone-prefix" autocomplete="tel-country-code" class="form-select" tabindex="-1" v-model="order.account.phone_prefix" :readonly="order.accounttype === 'new'" required="required"> <option v-for="option in phonePrefixes" v-bind:value="option.prefix">+{{ option.prefix }}</option> </select> </div> <div class="col-8"> <input name="phone" autocomplete="tel-national" type="text" inputmode="tel" class="form-control" id="data-phone" required="required" v-model="order.account.phone" :readonly="order.accounttype === 'new'"> </div> </div> </div> </div> <div class="form-group row"> <label for="email" class="col-lg-4 col-form-label">Email</label> <div class="col-lg-8"> <input name="email" v-validate="'email_remote'" autocomplete="email" inputmode="email" ref="email" type="text" class="form-control" id="email" required="required" spellcheck="false" v-model="order.account.email" :readonly="order.accounttype === 'new'"> </div> </div> <div class="form-group row"> <label for="data-country" class="col-lg-4 col-form-label">Country</label> <div class="col-lg-8"> <select name="country" autocomplete="billing country" id="data-country" class="form-select" v-model="order.account.country" required="required" :readonly="order.accounttype === 'new'"> <option v-for="option in countries" v-bind:value="option.id">{{ option.name }}</option> </select> </div> </div> <div class="form-group"> <button class="btn btn-primary btn-block btn-lg" type="submit" v-show="!order.accounttype"> <!-- Create a Simply.com account --> Continue ordering </button> </div> </form> </div> </div> </div> </div> </div> <div class="card mb-3 shadow-sm" v-if="order.domains.length > 0 && order.accounttype === 'new' && order.account.company.length > 0"> <!-- <h3 class="card-header">Customer relation</h3> --> <div class="card-body"> <h2 class="card-title">I am shopping as ..</h2> <p>To ensure that we invoice you correctly, please indicate which customer relationship you want to have with us.</p> <div class="mb-2"> <div class="form-check"> <input class="form-check-input" name="vatmethod" type="radio" value="private" id="rb_private" v-model="vatmethod" v-on:click="order.account.vatmethod = 'private'"> <label class="form-check-label" for="rb_private"> Private Individual </label> </div> </div> <div class="mb-2" v-if="countries.find(item => item.id === order.account.country).vatpercent > 0"> <div class="form-check"> <input class="form-check-input" name="vatmethod" type="radio" value="hasvat" id="rb_vat" v-model="vatmethod" v-on:click="order.account.vatmethod = null; order.account.vatnumber = null;"> <label class="form-check-label" for="rb_vat"> VAT registered business, organization or institution with a European VAT number </label> </div> </div> <div v-show="vatmethod === 'hasvat'"> <div class="form-group d-flex align-items-center gap-2"> <label class="" for="vatnumber">VAT-number</label> <div> <div class="input-group input-group-sm"> <span class="input-group-text">{{ countries.find(item => item.id === order.account.country)?.code }}</span> <input name="vatnumber" v-model="vatnumber" type="text" id="vatnumber" v-on:blur="validateVAT()" inputmode="numeric" pattern="[0-9A-za-z]+" placeholder="e.g 12345678" class="form-control" :readonly="order.account.vatmethod"> <button type="submit" name="submit" class="btn btn-primary" v-on:click="validateVAT()" v-if="!order.account.vatmethod" :disabled="isValidatingVat"><i class="fas fa-spin fa-spinner fa-fw" v-if="isValidatingVat"></i> Validate</button> </div> </div> <span class="text-success fw-bold" v-if="order.account.vatmethod"><i class="fas fa-check-circle fa-fw"></i> Validated</span> </div> </div> <div class="mb-2"> <div class="form-check"> <input class="form-check-input" name="vatmethod" type="radio" value="novat" id="rb_novat" v-model="vatmethod" v-on:click="order.account.vatmethod = 'novat'; vatmethod = 'novat'"> <label class="form-check-label" for="rb_novat"> Business, organisation or institution WITHOUT European VAT-number </label> </div> </div> <div v-show="vatmethod === 'novat'"> <div class="form-group row"> <label for="orgno" class="col-auto col-form-label col-form-label-sm">Organization number</label> <div class="col-auto"> <input name="orgno" type="text" id="orgno" inputmode="numeric" pattern="[0-9a-zA-Z]*" v-model="order.account.orgno" class="form-control form-control-sm" required> <small class="form-text" v-if="parseInt(countries.find(item => item.id === order.account.country).vatpercent) === 0">Exempt from European VAT</small> </div> </div> </div> </div> </div> <div class="card shadow-sm mb-3" v-if="order.domains.length > 0 && order.accounttype.length > 0"> <div class="card-body"> <h2 class="card-title mb-3">Product details</h2> <form name="config" data-vv-scope="config" v-on:submit.prevent="updateIsOrderComplete()"> <div class="form-group row" v-show="product.webservice"> <label class="col-lg-4 col-form-label">Product type <i class="fal fa-question-circle dimmed fa-sm" data-bs-toggle="tooltip" title="If in doubt, choose PHP."></i></label> <div class="col-lg-8"> <div class="d-flex gap-2 justify-content-between flex-wrap flex-row"> <div class="flex-fill"> <input type="radio" id="type-php" v-model="order.config.style" value="php" name="style" class="btn-check" required> <label class="btn btn-sm btn-block btn-outline-primary" for="type-php" data-bs-toggle="tooltip" title="PHP is used for example with WordPress, Drupal, Typo3 and Joomla. Choose PHP if you have any doubts.">PHP</label> </div> <div class="flex-fill"> <input type="radio" id="type-asp" v-model="order.config.style" value="asp" name="style" class="btn-check" required> <label class="btn btn-sm btn-block btn-outline-primary" for="type-asp" data-bs-toggle="tooltip" title="ASP.NET is used for example with Umbraco.">ASP / ASP.NET</label> </div> </div> </div> </div> <div class="form-group row" v-show="product.initial_months > 0"> <label class="col-lg-4 col-form-label">Payment period</label> <div class="col-lg-8"> <div class="d-flex gap-2 justify-content-between flex-wrap flex-row"> <div class="flex-fill" v-for="months in [product.initial_months, 24, 36, 60]"> <input type="radio" v-model="order.config.period" :value="months" :id="'period-'+ months" name="period" class="btn-check"> <label class="btn btn-xs btn-block btn-outline-primary" :for="'period-'+ months">{{months}} mos</label> </div> </div> </div> </div> <div class="form-group"> <div class="form-check"> <input name="autorenew" type="checkbox" id="autorenew" value="true" v-model="order.config.autorenew" class="form-check-input"> <label class="form-check-label" for="autorenew">Renew automatically on expiration</label> </div> </div> <div class="form-group" v-show="order.accounttype === 'new' || true"> <div class="form-check"> <input name="newsletter" type="checkbox" id="newsletter" value="true" v-model="order.config.newsletter" class="form-check-input"> <label class="form-check-label" for="newsletter">Receive newsletter about new products, functions, and special offers.</label> <div class="form-text">We practically never send out newsletters, but when we finally do, they are both informative and relevant.</div> </div> </div> <button type="submit" id="configSubmit" class="d-none"></button> </form> </div> </div> <!-- <div class="d-none"> <form action="" method="post" ref="orderform" v-on:submit.prevent="submitOrder()" id="orderform"> <div class="mb-3"> <button class="btn btn-success btn-block btn-lg shadow-sm mx-auto" name="submitform" type="submit" :disabled="!isOrderComplete" v-show="order.accounttype.length > 0 && order.domains.length > 0">Continue ordering</button> </div> </form> </div> --> </div> <div class="col-lg-4" id="order-menu"> <div class="sticky-xl-top"> <div v-show="(order.accounttype.length > 0 && order.domains.length > 0) || payment.lines.length > 0 || true"> <h2>Your order</h2> <div class="card shadow-sm mb-3"> <div class="card-body"> <div v-if="order.domains.length <= 0" class="opacity-75 text-center my-md-7"> <p class="small">Enter domain to continue with the order.</p> </div> <div v-show="order.accounttype.length > 0 && order.domains.length > 0"> <form action="" method="post" ref="orderform" v-on:submit.prevent="submitOrder()" id="orderform"> <input type="hidden" v-model="order.orderkey" name="orderkey"> <div class="mb-3"> <div class="form-check"> <input type="checkbox" name="conditions2" v-model="order.terms.unoeuro" id="conditions2" value="yes" required="required" class="form-check-input"> <label for="conditions2" class="form-check-label">I accept the terms for Simply.com <span class="small dimmed fw-normal">(<a href="/en/terms-of-service/" target="_blank" class="dimmed">Read</a>)</span> </label> </div> </div> <div class="mb-3"> <button class="btn btn-block btn-success shadow-sm" type="submit" :disabled="!isOrderComplete">Continue ordering</button> </div> </form> </div> <div v-if="payment.lines.length > 0"> <dl v-for="paymentline in payment.lines.filter((line) => line.price !== null)" class="d-flex justify-content-between m-0 align-items-center"> <dt class="fw-normal small text-break">{{ paymentline.text }} <small class="dimmed small text-nowrap">{{ paymentline.quantity_unit !== 'stk' && paymentline.quantity > 0 ? paymentline.quantity + ' ' + paymentline.quantity_unit_formatted : ''}}</small> </dt> <dd class="text-end small text-nowrap" v-bind:class="{'text-success': paymentline.price_total <= 0}">{{paymentline.price_total == 0 ? 'FREE' : formatMoney(paymentline.price_total_withvat_currency / 100) + ' ' + payment.currency }}</dd> </dl> </div> <div class="d-flex justify-content-between fs-3 border-top border-1 pt-1" v-if="payment.lines.length > 0"> <div class="fw-bold">In total</div> <div class="text-end fw-bold text-nowrap" v-bind:class="{'text-success': payment.total_currency <= 0}"> <!-- <s class="text-danger fs-4 fw-normal d-print-none me-2">{{ formatMoney(payment.lines.reduce((previousValue, paymentline) => paymentline.price_total_currency > 0 ? previousValue + paymentline.price_total_currency : previousValue, 0) / 100) + ' ' + payment.currency }}</s> --> {{ payment.total_currency == 0 ? 'FREE' : formatMoney(payment.total_withvat_currency / 100) + ' ' + payment.currency}} </div> </div> <div class="d-flex justify-content-between text-muted small" v-if="payment.lines.length > 0 && payment.total_vat_currency > 0"> <div class="fw-normal">VAT</div> <div class="text-end text-nowrap">{{formatMoney(payment.total_vat_currency / 100) + ' ' + payment.currency}}</div> </div> <!-- <div class="d-flex justify-content-between mt-2" v-if="payment.lines"> <div class="small fw-normal">Normal price</div> <div class="small text-end text-nowrap">{{ formatMoney(payment.lines.reduce((previousValue, paymentline) => paymentline.price_total_withvat_currency > 0 ? previousValue + paymentline.price_total_withvat_currency : previousValue, 0) / 100) + ' ' + payment.currency }}</div> </div> --> <div class="d-flex justify-content-between text-success mt-2" v-if="payment.lines.length > 0"> <div class="small fw-normal">Total savings</div> <div class="small text-end text-nowrap text-decoration-line-through">{{ formatMoney(payment.lines.reduce((previousValue, paymentline) => paymentline.price_total_withvat_currency < 0 ? previousValue + paymentline.price_total_withvat_currency : previousValue, 0) / 100) + ' ' + payment.currency }}</div> </div> </div> </div> <div v-if="product.upgrade_id && order.domains.length === 1 && parseInt(product.id) === 1" class="mb-3 d-none d-sm-block card border-success"> <h6 class="card-header bg-success text-bg-success"><i class="fas fa-fw fa-star fa-sm"></i> Upgrade to {{product.upgrade_name}}</h6> <div class="card-body"> <p>Get website, email and more on the domain.</p> <button type="button" v-on:click.prevent="setProduct(product.upgrade_id)" class="btn btn-success btn-block btn-sm"><i class="far fa-fw fa-arrow-circle-up"></i> Choose {{product.upgrade_name}}</button> </div> </div> <div class="row" v-if="showCouponField || order.coupon || order.domains.length > 0"> <div class="col"> <div class="form-group row"> <label for="coupon" class="col-form-label-sm col-auto small bg-body dimmed fw-normal">Coupon code</label> <div class="col"> <input name="coupon" type="text" id="coupon" placeholder="" class="form-control form-control-sm" v-bind:class="{'is-valid': payment.coupon_isvalid === true}" v-model="order.coupon" tabindex="-1" autocomplete="off" autocapitalize="off" spellcheck="false"> <!-- <div class="form-text text-danger" v-if="payment.coupon_isusable === false">The coupon code can no longer be used</div> --> </div> </div> <div v-show="order.accounttype === 'new' && order.coupon === '' && false"> <a href="#" v-on:click="order.coupon = '3GRATIS'" class="form-text dimmed small fs-5">Don?t have a coupon code? Let us enter one for you! :)</a> </div> </div> </div> </div> <!-- <div v-for="(product, index) in products" v-if="!payment" class="mb-1 text-center d-none d-sm-block"> <div class="card" v-bind:class="{'bg-success' : product.id == order.service_id}"> <div class="card-body text-center p-2"> <h3><i class="fa fa-fw"></i>{{product.name}}</h3> </div> </div> </div> --> <div class="mt-lg-6"> <div class="mb-3 text-muted d-none d-lg-flex align-items-center"> <i class="fal fa-heart fa-lg fa-fw me-2 text-primary"></i> <h5 class="m-0 fw-normal">Trustpilot 5 stars</h5> <div class="bgimage-trustpilot-stars ms-3 h-100 w-25"> </div> </div> <div class="mb-3 text-muted d-none d-lg-flex align-items-center"> <i class="fal fa-badge-check fa-lg fa-fw me-2 text-primary"></i> <h5 class="m-0 fw-normal">14 days money-back guarantee</h5> </div> <div class="mb-3 text-muted d-none d-lg-flex align-items-center"> <i class="fal fa-wand-magic fa-lg fa-fw me-2 text-primary"></i> <h5 class="m-0 fw-normal">Get started quickly and easily</h5> </div> <div class="mb-3 text-muted d-none d-lg-flex align-items-center"> <i class="fal fa-lock fa-lg fa-fw me-2 text-primary"></i> <h5 class="m-0 fw-normal">Secure online payment</h5> </div> </div> </div> </div> </div> <div class="modal" id="dkhostmaster-dialog" data-bs-keyboard="false" data-bs-backdrop="static"> <div class="modal-dialog modal-lg modal-dialog-scrollable modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Confirm Punktum dk conditions</h2> </div> <div class="modal-body"> <p>To register a .dk domain you must submit to a right of use agreement with Punktum dk A/S. Punktum dk is the administrator of all .dk domains.</p> <p class="fw-bold small"> Punktum dk A/S<br> 脴restads Boulevard 108, 11. etage<br> 2300 K酶benhavn S </p> <div class="fst-italic small"> <p>Jeg accepterer hermed at indg氓 en aftale om brugsret til det angivne .dk-dom忙nenavn p氓 de vilk氓r, der g忙lder herfor. Dette indeb忙rer bl.a., at jeg til enhver tid skal sikre, at mine kontaktoplysninger som registrant er korrekte. Jeg gennemf酶rer Punktum dk A/S' identitetskontrol, n氓r der anmodes herom.</p> <p>Min brugsret til det angivne .dk-dom忙nenavn kan overdrages, suspenderes, slettes og blokeres p氓 de betingelser, der fremg氓r af Punktum dk A/S' vilk氓r.</p> <p>Jeg accepterer, at jeg efter den danske forbrugeraftalelov, 搂 18, stk. 2, nr. 13 giver afkald p氓 retten til at fortryde indg氓else af aftale om brugsret til det angivne .dk-dom忙nenavn.</p> <p>Jeg er indforst氓et med, at Punktum dk A/S som dom忙neadministrator anvender personoplysninger om mig i overensstemmelse med sin persondatapolitik.</p> <p>Jeg er indforst氓et med, at betaling for den f酶rste registreringsperiode af det angivne .dk-dom忙nenavn sker til Simply.com A/S</p> </div> <ul> <li><a href="https://www.punktum.dk/en/terms" target="_blank">Punktum dk terms</a></li> <li><a href="https://www.punktum.dk/en/privacy-policy" target="_blank">Punktum dk Privacy Policy</a></li> </ul> <div v-if="order.accounttype === 'new'"> <h3>Use existing Punktum dk handle</h3> <div class="form-group row"> <label class="col-form-label col-form-label-sm col-lg-6" for="dkhandle"> Existing Punktum dk handle </label> <div class="col-lg-6"> <input type="text" value="" name="dkhandle" id="dkhandle" v-model="order.config.dkhandle" class="form-control form-control-sm" placeholder="E.g. AB1234-UK"> <small class="form-text dimmed small">Optional</small> </div> </div> </div> <h3>Registrar management</h3> <p class="small">By letting Simply.com handle your domain name, you agree that you give Simply.com the right to make payments to Punktum dk, change name servers, change contact information and cancel the domain name on your behalf. You can change this at any time through the Punktum dk self-service. </p> <div class="form-check"> <input type="checkbox" value="" id="dkmanaged" class="form-check-input" v-model="order.config.dkmanaged"> <label for="dkmanaged" class="form-check-label">I accept that Simply.com manages my .dk domain</label> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-success" v-on:click="order.terms.dkhostmaster = true; submitOrder();">Confirm</button> </div> </div> </div> </div> <div class="modal" id="invalidvatdialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Invalid VAT-registered VAT number</h2> </div> <div class="modal-body"> <p>You have entered an invalid VAT number. It is important that you enter an EU VAT registered VAT number.</p> <p>If the VAT number is not EU VAT registered, you can choose to place the order as a private person without entering the VAT number, and then later on enter it through our Control Panel.</p> <p>You can check if your VAT number is VAT registered in the EU by looking it up here: <a href="http://ec.europa.eu/taxation_customs/vies/vatRequest.html" target="_blank">http://ec.europa.eu/taxation_customs/vies/vatRequest.html</a></p> </div> <div class="modal-footer"> <button type="button" class="btn btn-light" data-bs-dismiss="modal">Okay</button> </div> </div> </div> </div> <div class="modal" id="notransferdialog"> <div class="modal-dialog modal-dialog-centered modal-lg"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Deselect domain transfer</h2> </div> <div class="modal-body"> <div class="text-center"> <i class="fal fa-fw fa-exclamation-triangle mb-3 fa-3x"></i> <h3>You are choosing NOT to transfer {{currentSearchResult.domain}} to Simply.com</h3> </div> <p>If you choose not to transfer your domain, you will have to point {{currentSearchResult.domain}} to our nameservers or web servers manually. {{currentSearchResult.domain}} will furthermore NOT be renewable through Simply.com.</p> <p>If you want to order now, but wait with the transfer of {{currentSearchResult.domain}} until later, you should still order a transfer of {{currentSearchResult.domain}} now, and then simply wait approving the transfer request until you are ready.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-light" data-bs-dismiss="modal" v-on:click.prevent="addDomainToOrder(currentSearchResult.domain, 'EG');">Continue without transferring the domain</button> <button type="button" class="btn btn-success" data-bs-dismiss="modal" v-on:click.prevent="addDomainToOrder(currentSearchResult.domain, 'RE');">Transfer {{currentSearchResult.domain}} to Simply.com</button> </div> </div> </div> </div> <div class="modal" id="bulkdialog"> <div class="modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable"> <div class="modal-content"> <div class="modal-header"> <h2 class="modal-title">Bulk entry</h2> </div> <div class="modal-body"> <div v-show="!bulkdomains.length"> <p>Enter a list of domains you want to order, so you can order them all at the same time.</p> <textarea class="form-control" v-model="bulkdata" style="min-height: 150px" placeholder="example1.com,example2.com example3.com"></textarea> </div> <div v-show="bulkdomains.length"> <p>The following domains were found in your entry</p> <table id="domains" class="table table-xs table-hover table-striped"> <thead> <tr> <th width="1"> </th> <th>Domain</th> <th>Domain status</th> <th>Action</th> <th width="1"> </th> </tr> </thead> <tbody> <tr v-for="(item, index) in bulkdomains"> <td> <button v-on:click="bulkdomains.splice(index, 1)" class="btn btn-danger btn-sm"><i class="far fa-fw fa-trash-alt"></i></button> </td> <th>{{item.domain}}</th> <td><i class="fas fa-fw fa-spin fa-spinner" v-if="!item.check"></i> <div v-if="item.check && item.check.result"> <div v-if="item.check.result === 9" class="text-success fw-bold"> <i class="far fa-fw fa-check"></i> Available </div> <div v-else-if="item.check.result === 1" class="text-warning fw-bold"> <i class="far fa-fw fa-exclamation-triangle"></i> Taken </div> <div v-else-if="item.check.result === 6" class="text-danger"> <i class="far fa-fw fa-exclamation-circle"></i> Taken </div> <div v-else-if="item.check.result === 4" class="text-danger"> <i class="far fa-fw fa-exclamation-circle"></i> Hosted with Simply.com </div> <div v-else-if="item.check.result === 11" class="text-danger"> <i class="far fa-fw fa-exclamation-circle"></i> Available </div> <div v-else class="text-danger"> <i class="far fa-fw fa-exclamation-circle"></i> Error </div> </div> </td> <td> <div v-if="item.transfertype === 'OP'" class="text-success fw-bold"> <i class="far fa-fw fa-check"></i> Registration added </div> <div v-else-if="item.transfertype === 'RE'" class="text-success fw-bold"> <i class="far fa-fw fa-check"></i> Transfer added </div> <div v-else-if="item.transfertype === 'EG'" class="text-success fw-bold"> <i class="far fa-fw fa-check"></i> Added without transfer </div> </td> <td class="text-nowrap"> <button type="button" class="btn btn-warning btn-sm btn-block" v-on:click="item.transfertype = 'EG'" v-if="item.transfertype === 'RE' && item.check && item.check.result === 1">Don't move</button> <button type="button" class="btn btn-success btn-sm btn-block" v-on:click="item.transfertype = 'RE'" v-if="item.transfertype === 'EG' && item.check && item.check.result === 1">Transfer</button> </td> </tr> </tbody> </table> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancel</button> <button type="button" class="btn btn-success" data-bs-dismiss="modal" v-show="bulkdomains.length > 0" v-on:click="addBulkDomains()">Add to order</button> <button class="btn btn-primary" v-show="!bulkdomains.length" v-on:click="queryBulkDomains()">Search domains</button> </div> </div> </div> </div> </div> <script> var app; let ajaxTurnstileEndpoint = "\/en\/ajax\/domaincheck-turnstile\/"; let ajaxDomaincheckEndpoint = "\/en\/ajax\/domaincheck\/"; window.turnstileCallback = (token) => { window.axios.post(ajaxTurnstileEndpoint, { turnstileResponse: token }).then((response) => { app.turnstileAuthed = response.data.verified; app.runQuery(); }); }; window.addEventListener('DOMContentLoaded', () => { var defaultCountry = "190"; var defaultPhonePrefix = "65"; var serviceIdFromQueryString = 4; var domainsFromSession = null; var domainsFromQueryString = UnoEuro.getQueryString('domain'); var orderkeyFromQueryString = UnoEuro.getQueryString('order'); var promotedCcTld = ""; app = new Vue({ el: '#app-order', data: { turnstileAuthed: null, products: [{"id":"1","name":"DNS Service","image":"globe","type":"service","price":"0.00","price_creation":"7.00","initial_months":"0","upgrade_name":"Basic Suite","upgrade_id":"2","upgrade_price":"7.00","webservice":"0"},{"id":"2","name":"Basic Suite","image":"home","type":"suite","price":"7.00","price_creation":"0.00","initial_months":"12","upgrade_name":"Standard Suite","upgrade_id":"3","upgrade_price":"11.00","webservice":"10000"},{"id":"3","name":"Standard Suite","image":"building","type":"suite","price":"11.00","price_creation":"0.00","initial_months":"12","upgrade_name":"Pro Suite","upgrade_id":"4","upgrade_price":"15.00","webservice":"20000"},{"id":"4","name":"Pro Suite","image":"industry-alt","type":"suite","price":"15.00","price_creation":"0.00","initial_months":"12","upgrade_name":"Enterprise Suite","upgrade_id":"17","upgrade_price":"25.00","webservice":"100000"},{"id":"17","name":"Enterprise Suite","image":"city","type":"suite","price":"25.00","price_creation":"0.00","initial_months":"12","upgrade_name":null,"upgrade_id":null,"upgrade_price":null,"webservice":"200000"},{"id":"66","name":"Basic Mail","image":"envelope","type":"suite","price":"5.00","price_creation":"0.00","initial_months":"12","upgrade_name":null,"upgrade_id":null,"upgrade_price":null,"webservice":"0"},{"id":"80","name":"Starter Suite","image":"tent","type":"suite","price":"5.00","price_creation":"0.00","initial_months":"12","upgrade_name":"Basic Suite","upgrade_id":"2","upgrade_price":"7.00","webservice":"500"}], currency: "EUR", isOrderComplete: false, isCalculatingPrice: false, isValidatingVat: false, domainSuggestions: [], suggestionTLDs: window.uniq([promotedCcTld, 'dk', 'com', 'store', 'eu', 'nu', 'se', 'online']), selectedAccountType: 'new', vatmethod: 'private', vatnumber: '', bulkdomains: [], bulkdata: '', phonePrefixes: [{"id":"36","prefix":"1"},{"id":"120","prefix":"7"},{"id":"86","prefix":"30"},{"id":"159","prefix":"31"},{"id":"20","prefix":"32"},{"id":"72","prefix":"33"},{"id":"65","prefix":"34"},{"id":"97","prefix":"36"},{"id":"106","prefix":"39"},{"id":"182","prefix":"40"},{"id":"40","prefix":"41"},{"id":"13","prefix":"43"},{"id":"223","prefix":"44"},{"id":"56","prefix":"45"},{"id":"189","prefix":"46"},{"id":"160","prefix":"47"},{"id":"173","prefix":"48"},{"id":"54","prefix":"49"},{"id":"168","prefix":"51"},{"id":"150","prefix":"52"},{"id":"29","prefix":"55"},{"id":"43","prefix":"56"},{"id":"14","prefix":"61"},{"id":"98","prefix":"62"},{"id":"171","prefix":"63"},{"id":"165","prefix":"64"},{"id":"190","prefix":"65"},{"id":"209","prefix":"66"},{"id":"109","prefix":"81"},{"id":"233","prefix":"84"},{"id":"45","prefix":"86"},{"id":"216","prefix":"90"},{"id":"101","prefix":"91"},{"id":"59","prefix":"213"},{"id":"144","prefix":"222"},{"id":"248","prefix":"225"},{"id":"155","prefix":"227"},{"id":"25","prefix":"229"},{"id":"126","prefix":"231"},{"id":"206","prefix":"235"},{"id":"44","prefix":"237"},{"id":"85","prefix":"240"},{"id":"74","prefix":"241"},{"id":"30","prefix":"242"},{"id":"242","prefix":"243"},{"id":"18","prefix":"246"},{"id":"135","prefix":"261"},{"id":"247","prefix":"262"},{"id":"5","prefix":"264"},{"id":"127","prefix":"266"},{"id":"33","prefix":"267"},{"id":"4","prefix":"268"},{"id":"114","prefix":"269"},{"id":"64","prefix":"291"},{"id":"15","prefix":"297"},{"id":"71","prefix":"298"},{"id":"81","prefix":"299"},{"id":"80","prefix":"350"},{"id":"177","prefix":"351"},{"id":"129","prefix":"352"},{"id":"99","prefix":"353"},{"id":"105","prefix":"354"},{"id":"146","prefix":"356"},{"id":"52","prefix":"357"},{"id":"67","prefix":"358"},{"id":"22","prefix":"359"},{"id":"128","prefix":"370"},{"id":"130","prefix":"371"},{"id":"61","prefix":"372"},{"id":"1","prefix":"376"},{"id":"133","prefix":"377"},{"id":"196","prefix":"378"},{"id":"239","prefix":"381"},{"id":"244","prefix":"382"},{"id":"95","prefix":"385"},{"id":"192","prefix":"386"},{"id":"17","prefix":"387"},{"id":"53","prefix":"420"},{"id":"194","prefix":"421"},{"id":"124","prefix":"423"},{"id":"26","prefix":"441"},{"id":"76","prefix":"473"},{"id":"35","prefix":"501"},{"id":"202","prefix":"503"},{"id":"94","prefix":"504"},{"id":"167","prefix":"507"},{"id":"96","prefix":"509"},{"id":"84","prefix":"590"},{"id":"91","prefix":"592"},{"id":"78","prefix":"594"},{"id":"179","prefix":"595"},{"id":"199","prefix":"597"},{"id":"226","prefix":"598"},{"id":"89","prefix":"671"},{"id":"10","prefix":"672"},{"id":"162","prefix":"674"},{"id":"170","prefix":"675"},{"id":"214","prefix":"676"},{"id":"186","prefix":"677"},{"id":"234","prefix":"678"},{"id":"68","prefix":"679"},{"id":"178","prefix":"680"},{"id":"42","prefix":"682"},{"id":"164","prefix":"683"},{"id":"12","prefix":"684"},{"id":"113","prefix":"686"},{"id":"154","prefix":"687"},{"id":"218","prefix":"688"},{"id":"169","prefix":"689"},{"id":"211","prefix":"690"},{"id":"70","prefix":"691"},{"id":"136","prefix":"692"},{"id":"141","prefix":"853"},{"id":"121","prefix":"856"},{"id":"148","prefix":"960"},{"id":"118","prefix":"965"},{"id":"166","prefix":"968"},{"id":"2","prefix":"971"},{"id":"100","prefix":"972"},{"id":"31","prefix":"975"},{"id":"140","prefix":"976"},{"id":"161","prefix":"977"},{"id":"210","prefix":"992"},{"id":"212","prefix":"993"}], countries: [{"id":"59","code":"DZ","name":"Algeria","vatpercent":"0"},{"id":"12","code":"AS","name":"American Samoa","vatpercent":"0"},{"id":"1","code":"AD","name":"Andorra","vatpercent":"0"},{"id":"5","code":"AI","name":"Anguilla","vatpercent":"0"},{"id":"10","code":"AQ","name":"Antarctica","vatpercent":"0"},{"id":"4","code":"AG","name":"Antigua and Barbuda","vatpercent":"0"},{"id":"15","code":"AW","name":"Aruba","vatpercent":"0"},{"id":"14","code":"AU","name":"Australia","vatpercent":"0"},{"id":"13","code":"AT","name":"Austria","vatpercent":"20"},{"id":"30","code":"BS","name":"Bahamas","vatpercent":"0"},{"id":"18","code":"BB","name":"Barbados","vatpercent":"0"},{"id":"20","code":"BE","name":"Belgium","vatpercent":"21"},{"id":"35","code":"BZ","name":"Belize","vatpercent":"0"},{"id":"25","code":"BJ","name":"Benin","vatpercent":"0"},{"id":"26","code":"BM","name":"Bermuda","vatpercent":"0"},{"id":"31","code":"BT","name":"Bhutan","vatpercent":"0"},{"id":"17","code":"BA","name":"Bosnia and Herzegovina","vatpercent":"0"},{"id":"33","code":"BW","name":"Botswana","vatpercent":"0"},{"id":"32","code":"BV","name":"Bouvet Island","vatpercent":"0"},{"id":"29","code":"BR","name":"Brazil","vatpercent":"0"},{"id":"27","code":"BN","name":"Brunei Darussalam","vatpercent":"0"},{"id":"22","code":"BG","name":"Bulgaria","vatpercent":"20"},{"id":"44","code":"CM","name":"Cameroon","vatpercent":"0"},{"id":"36","code":"CA","name":"Canada","vatpercent":"0"},{"id":"119","code":"KY","name":"Cayman Islands","vatpercent":"0"},{"id":"206","code":"TD","name":"Chad","vatpercent":"0"},{"id":"43","code":"CL","name":"Chile","vatpercent":"0"},{"id":"45","code":"CN","name":"China","vatpercent":"0"},{"id":"51","code":"CX","name":"Christmas Island","vatpercent":"0"},{"id":"37","code":"CC","name":"Cocos (Keeling) Islands","vatpercent":"0"},{"id":"114","code":"KM","name":"Comoros","vatpercent":"0"},{"id":"42","code":"CK","name":"Cook Islands","vatpercent":"0"},{"id":"95","code":"HR","name":"Croatia (Hrvatska)","vatpercent":"25"},{"id":"52","code":"CY","name":"Cyprus","vatpercent":"19"},{"id":"53","code":"CZ","name":"Czech Republic","vatpercent":"21"},{"id":"56","code":"DK","name":"Denmark","vatpercent":"25"},{"id":"215","code":"TP","name":"East Timor","vatpercent":"0"},{"id":"202","code":"SV","name":"El Salvador","vatpercent":"0"},{"id":"85","code":"GQ","name":"Equatorial Guinea","vatpercent":"0"},{"id":"64","code":"ER","name":"Eritrea","vatpercent":"0"},{"id":"61","code":"EE","name":"Estonia","vatpercent":"20"},{"id":"71","code":"FO","name":"Faroe Islands","vatpercent":"0"},{"id":"68","code":"FJ","name":"Fiji","vatpercent":"0"},{"id":"67","code":"FI","name":"Finland","vatpercent":"24"},{"id":"72","code":"FR","name":"France","vatpercent":"20"},{"id":"73","code":"FX","name":"France, Metropolitan","vatpercent":"0"},{"id":"78","code":"GF","name":"French Guiana","vatpercent":"0"},{"id":"169","code":"PF","name":"French Polynesia","vatpercent":"0"},{"id":"74","code":"GA","name":"Gabon","vatpercent":"0"},{"id":"54","code":"DE","name":"Germany","vatpercent":"19"},{"id":"80","code":"GI","name":"Gibraltar","vatpercent":"0"},{"id":"86","code":"GR","name":"Greece","vatpercent":"24"},{"id":"81","code":"GL","name":"Greenland","vatpercent":"0"},{"id":"76","code":"GD","name":"Grenada","vatpercent":"0"},{"id":"84","code":"GP","name":"Guadeloupe","vatpercent":"0"},{"id":"89","code":"GU","name":"Guam","vatpercent":"0"},{"id":"91","code":"GY","name":"Guyana","vatpercent":"0"},{"id":"96","code":"HT","name":"Haiti","vatpercent":"0"},{"id":"94","code":"HN","name":"Honduras","vatpercent":"0"},{"id":"97","code":"HU","name":"Hungary","vatpercent":"27"},{"id":"105","code":"IS","name":"Iceland","vatpercent":"0"},{"id":"101","code":"IN","name":"India","vatpercent":"0"},{"id":"98","code":"ID","name":"Indonesia","vatpercent":"0"},{"id":"99","code":"IE","name":"Ireland","vatpercent":"23"},{"id":"100","code":"IL","name":"Israel","vatpercent":"0"},{"id":"106","code":"IT","name":"Italy","vatpercent":"22"},{"id":"248","code":"CI","name":"Ivory Coast","vatpercent":"0"},{"id":"107","code":"JM","name":"Jamaica","vatpercent":"0"},{"id":"109","code":"JP","name":"Japan","vatpercent":"0"},{"id":"120","code":"KZ","name":"Kazakhstan","vatpercent":"0"},{"id":"113","code":"KI","name":"Kiribati","vatpercent":"0"},{"id":"118","code":"KW","name":"Kuwait","vatpercent":"0"},{"id":"121","code":"LA","name":"Laos","vatpercent":"0"},{"id":"130","code":"LV","name":"Latvia","vatpercent":"21"},{"id":"127","code":"LS","name":"Lesotho","vatpercent":"0"},{"id":"126","code":"LR","name":"Liberia","vatpercent":"0"},{"id":"124","code":"LI","name":"Liechtenstein","vatpercent":"0"},{"id":"128","code":"LT","name":"Lithuania","vatpercent":"21"},{"id":"129","code":"LU","name":"Luxembourg","vatpercent":"17"},{"id":"141","code":"MO","name":"Macau","vatpercent":"0"},{"id":"135","code":"MG","name":"Madagascar","vatpercent":"0"},{"id":"148","code":"MV","name":"Maldives","vatpercent":"0"},{"id":"146","code":"MT","name":"Malta","vatpercent":"18"},{"id":"136","code":"MH","name":"Marshall Islands","vatpercent":"0"},{"id":"144","code":"MR","name":"Mauritania","vatpercent":"0"},{"id":"238","code":"YT","name":"Mayotte","vatpercent":"0"},{"id":"247","code":"YT","name":"Mayotte","vatpercent":"0"},{"id":"150","code":"MX","name":"Mexico","vatpercent":"0"},{"id":"70","code":"FM","name":"Micronesia","vatpercent":"0"},{"id":"133","code":"MC","name":"Monaco","vatpercent":"0"},{"id":"140","code":"MN","name":"Mongolia","vatpercent":"0"},{"id":"244","code":"ME","name":"Montenegro","vatpercent":"0"},{"id":"145","code":"MS","name":"Montserrat","vatpercent":"0"},{"id":"153","code":"NA","name":"Namibia","vatpercent":"0"},{"id":"162","code":"NR","name":"Nauru","vatpercent":"0"},{"id":"161","code":"NP","name":"Nepal","vatpercent":"0"},{"id":"159","code":"NL","name":"Netherlands","vatpercent":"21"},{"id":"163","code":"NT","name":"Neutral Zone","vatpercent":"0"},{"id":"154","code":"NC","name":"New Caledonia","vatpercent":"0"},{"id":"165","code":"NZ","name":"New Zealand","vatpercent":"0"},{"id":"155","code":"NE","name":"Niger","vatpercent":"0"},{"id":"164","code":"NU","name":"Niue","vatpercent":"0"},{"id":"156","code":"NF","name":"Norfolk Island","vatpercent":"0"},{"id":"142","code":"MP","name":"Northern Mariana Islands","vatpercent":"0"},{"id":"160","code":"NO","name":"Norway","vatpercent":"25"},{"id":"166","code":"OM","name":"Oman","vatpercent":"0"},{"id":"178","code":"PW","name":"Palau","vatpercent":"0"},{"id":"167","code":"PA","name":"Panama","vatpercent":"0"},{"id":"170","code":"PG","name":"Papua New Guinea","vatpercent":"0"},{"id":"179","code":"PY","name":"Paraguay","vatpercent":"0"},{"id":"168","code":"PE","name":"Peru","vatpercent":"0"},{"id":"171","code":"PH","name":"Philippines","vatpercent":"0"},{"id":"175","code":"PN","name":"Pitcairn","vatpercent":"0"},{"id":"173","code":"PL","name":"Poland","vatpercent":"23"},{"id":"177","code":"PT","name":"Portugal","vatpercent":"23"},{"id":"176","code":"PR","name":"Puerto Rico","vatpercent":"0"},{"id":"181","code":"RE","name":"Reunion","vatpercent":"0"},{"id":"182","code":"RO","name":"Romania","vatpercent":"19"},{"id":"115","code":"KN","name":"Saint Kitts and Nevis","vatpercent":"0"},{"id":"236","code":"WS","name":"Samoa","vatpercent":"0"},{"id":"196","code":"SM","name":"San Marino","vatpercent":"0"},{"id":"200","code":"ST","name":"Sao Tome and Principe","vatpercent":"0"},{"id":"190","code":"SG","name":"Singapore","vatpercent":"0"},{"id":"194","code":"SK","name":"Slovak Republic","vatpercent":"20"},{"id":"192","code":"SI","name":"Slovenia","vatpercent":"22"},{"id":"186","code":"Sb","name":"Solomon Islands","vatpercent":"0"},{"id":"65","code":"ES","name":"Spain","vatpercent":"21"},{"id":"191","code":"SH","name":"St. Helena","vatpercent":"0"},{"id":"174","code":"PM","name":"St. Pierre and Miquelon","vatpercent":"0"},{"id":"199","code":"SR","name":"Suriname","vatpercent":"0"},{"id":"189","code":"SE","name":"Sweden","vatpercent":"25"},{"id":"40","code":"CH","name":"Switzerland","vatpercent":"0"},{"id":"210","code":"TJ","name":"Tajikistan","vatpercent":"0"},{"id":"209","code":"TH","name":"Thailand","vatpercent":"0"},{"id":"245","code":"IO","name":"The British Indian Ocean","vatpercent":"0"},{"id":"211","code":"TK","name":"Tokelau","vatpercent":"0"},{"id":"214","code":"TO","name":"Tonga","vatpercent":"0"},{"id":"217","code":"TT","name":"Trinidad and Tobago","vatpercent":"0"},{"id":"216","code":"TR","name":"Turkey","vatpercent":"0"},{"id":"212","code":"TM","name":"Turkmenistan","vatpercent":"0"},{"id":"205","code":"TC","name":"Turks and Caicos Islands","vatpercent":"0"},{"id":"218","code":"TV","name":"Tuvalu","vatpercent":"0"},{"id":"2","code":"AE","name":"United Arab Emirates","vatpercent":"0"},{"id":"223","code":"GB","name":"United Kingdom","vatpercent":"0"},{"id":"225","code":"US","name":"United States","vatpercent":"0"},{"id":"226","code":"UY","name":"Uruguay","vatpercent":"0"},{"id":"224","code":"UM","name":"US Minor Outlying Islands","vatpercent":"0"},{"id":"234","code":"VU","name":"Vanuatu","vatpercent":"0"},{"id":"233","code":"VN","name":"Viet Nam","vatpercent":"0"},{"id":"235","code":"WF","name":"Wallis and Futuna Islands","vatpercent":"0"},{"id":"63","code":"EH","name":"Western Sahara","vatpercent":"0"},{"id":"239","code":"YU","name":"Yugoslavia","vatpercent":"0"},{"id":"242","code":"ZR","name":"Zaire","vatpercent":"0"}], query: domainsFromQueryString || domainsFromSession || sessionStorage.getItem('domaincheck-lastquery') || '', currentSearchResult: {}, showCouponField: false, multidomain: false, payment: {}, product: {}, order: { accounttype: '', orderkey: '', existingaccount: null, account: { company: '', name: '', address: '', zipcode: '', personno: '', city: '', phone: '', phone_prefix: defaultPhonePrefix, email: '', country: defaultCountry, vatmethod: 'private', vatnumber: '', orgno: '' }, config: { style: 'php', dkhandle: '', dkmanaged: false, period: 12, newsletter: true, promotions: false, autorenew: true }, terms: { unoeuro: false, dkhostmaster: false }, domains: [], coupon: sessionStorage.getItem('coupon') || UnoEuro.getQueryString('coupon') || '', } }, computed: { totalDiscount: function () { let discount = 0; this.payment.lines.forEach((line) => { if (line.price < 0) { discount = discount + line.price; } }); return discount; } }, watch: { order: { handler: function (newValue, oldValue) { if (!this.product) { window.location = '/en/hosting/'; } this.updateIsOrderComplete(); this.debouncedUpdatePayment(); }, deep: true }, 'order.domains': function () { // this.debouncedUpdateSuggestions(); } }, created: function () { this.debouncedUpdateSuggestions = debounce(1000, this.updateSuggestions); this.debouncedUpdatePayment = throttle(1000, this.updatePayment); }, mounted: function () { }, methods: { submitOrder: function () { if (!this.isOrderComplete) { return false; } /* Check if order contains .dk domains */ if (!this.order.terms.dkhostmaster && this.order.domains.some((item) => (/\.dk$/.test(item.domain) && item.transfertype === 'OP'))) { $('#dkhostmaster-dialog').modal('show'); return false; } _hsq.push(['trackCustomBehavioralEvent', { name: "pe25171416_completed_order", properties: {}, }]); return this.$refs.orderform.submit(); }, debouncedUpdateSuggestions: function () { /* Stub */ }, debouncedUpdatePayment: function () { /* Stub */ }, updateIsOrderComplete: function () { this.isOrderComplete = this.order.domains.length > 0 && this.order.accounttype.length > 0 && !this.isCalculatingPrice; if (this.order.accounttype === 'new' && !this.order.account.vatmethod) { this.isOrderComplete = false; } if (this.order.accounttype === 'existing' && !this.order.existingaccount) { this.isOrderComplete = false; } $('form[name="config"]submit').trigger('click'); // Hacky this.$validator.validateAll('config').then((valid) => { if (!valid) { this.isOrderComplete = false; } }); }, formatMoney: function (value) { return value.toFixed(2).toLocaleString(); }, updateSuggestions: function () { if (!this.turnstileAuthed) { return; } this.domainSuggestions = []; let testlistOfDomains = []; let testLabels = []; if (this.query.length > 0) { testlistOfDomains.push(this.query.trim()); testLabels.push(this.query); testLabels.push(this.query); } this.order.domains.forEach((item) => { let split = item.domain.match(/^(.+)\.([a-z]+)$/); if (split) { let label = split[1]; let tld = split[2]; testLabels.push(label); testLabels.push(label.replace(/-/, '')); testLabels.push(label.replace(/忙/, 'ae')); testLabels.push(label.replace(/酶/, 'oe')); testLabels.push(label.replace(/氓/, 'aa')); this.suggestionTLDs.push(tld); } }); testLabels.forEach((label) => { this.suggestionTLDs.forEach((suggestTLD) => { testlistOfDomains.push(label + '.' + suggestTLD); }); }); testlistOfDomains = window.uniq(testlistOfDomains); testlistOfDomains = testlistOfDomains.filter((testDomain) => { if (this.order.domains.find((item) => item.domain === testDomain)) { return false; } if (this.domainSuggestions.find((item) => item.domain === testDomain)) { return false; } return true; }); testlistOfDomains = testlistOfDomains.splice(0, 20); // For performance reasons testlistOfDomains.forEach((testItem) => { window.axios.post(ajaxDomaincheckEndpoint, { domain: testItem, }).then((response) => { if (response.data.result === 9) { this.domainSuggestions.push({ domain: response.data.domain, result: response.data }); } }); }); }, addDomainToOrder: function (domain, transfertype) { domain = domain.trim(); let serviceId = this.order.domains.length === 0 && this.product ? parseInt(this.product.id) : 1; this.order.domains.forEach((item, index) => { if (item.domain === domain) { Vue.delete(this.order.domains, index); } }); this.order.domains.push({ domain: domain, service_id: serviceId, transfertype: transfertype }); this.currentSearchResult = {}; this.query = ''; this.debouncedUpdateSuggestions(); _hsq.push(['trackCustomBehavioralEvent', { name: "pe25171416_added_domain_to_order", properties: { domain: domain, transfertype: transfertype, orderkey: this.order.orderkey, service_id: serviceId, }, }]); }, runQuery: function () { if (this.query.length <= 0) { return; } if (!this.turnstileAuthed) { return; } this.query = this.query.trim(); if (this.query.split(/[,;\n]/).length > 1 && this.multidomain) { this.bulkdata = this.query; $('#bulkdialog').modal('show'); this.queryBulkDomains(); return; } this.currentSearchResult = { loading: true }; sessionStorage.setItem('domaincheck-lastquery', this.query); window.axios.post(ajaxDomaincheckEndpoint, { domain: this.query, extended: true, }).then((response) => { this.currentSearchResult = response.data; if (this.currentSearchResult.result === 9) { this.addDomainToOrder(this.currentSearchResult.domain, 'OP'); } }); this.debouncedUpdateSuggestions(); }, addBulkDomains: function () { this.bulkdomains.forEach((item) => { if (item.transfertype) { this.addDomainToOrder(item.domain, item.transfertype); } }); this.bulkdomains = []; this.bulkdata = ''; }, queryBulkDomains: function () { let domains = this.bulkdata.split(/[,;\n]/); domains.forEach((domain) => { if (!domain.length) { return; } let index = this.bulkdomains.push({ domain: domain }); window.axios.post(ajaxDomaincheckEndpoint, { domain: domain, extended: true, }).then((response) => { let transfertype = ''; if (response.data.result === 9 ) { transfertype = 'OP'; } if (response.data.result === 1 ) { transfertype = 'RE'; } this.bulkdomains.splice(index - 1, 1, { domain: response.data.domain, check: response.data, transfertype: transfertype }); }); }); }, updatePayment: async function () { this.isCalculatingPrice = true; await window.axios.post('/en/ajax/order-update/', {data: this.$data}).then((response) => { this.payment = response.data.payment; this.order.orderkey = response.data.orderkey; if (this.order.orderkey) { window.history.replaceState(null, null, '?order=' + this.order.orderkey); } window.gtag('event', 'begin_checkout', { currency: response.data.payment.currency, value: response.data.payment.total_withvat_currency / 100, items: response.data.payment.lines?.map((item) => { return { item_id: item.iid, item_name: item.text, item_category: item.category, item_category2: this.order.accounttype === 'new' ? 'new' : 'existing', value: item.price_currency / 100, quantity: item.quantity, }; }), }); }).catch((error) => { console.log(error); }).finally(() => { this.isCalculatingPrice = false; this.updateIsOrderComplete(); }); }, validateVAT: function () { this.isValidatingVat = true; window.axios.post('/ajax/order.checkvat.php', { vatno: this.vatnumber, country_id: this.order.account.country, }).then((response) => { if (response.data.valid) { this.order.account.vatmethod = 'hasvat'; this.order.account.vatnumber = this.vatnumber; } else { $('#invalidvatdialog').modal('show'); } }).finally(() => { this.isValidatingVat = false; }); }, checkNewAccount: function () { if (!SimplyComIsUserLoggedIn && !SimplyComIsInternalSupport) { _hsq.push(['identify', { email: this.order.account.email }]); } _hsq.push(['trackCustomBehavioralEvent', { name: "pe25171416_contact_details_during_order", properties: { email: this.order.account.email, orderkey: this.order.orderkey, name: this.order.account.name, phonenumber: '+' + this.order.account.phone_prefix + this.order.account.phone, }, }]); return this.$validator.validateAll('newaccount').then((valid) => { if (valid) { this.order.accounttype = 'new'; this.order.account.vatmethod = 'private'; this.vatmethod = 'private'; } return valid; }); }, setProduct: function (service_id) { this.product = this.products.find((item) => parseInt(item.id) === parseInt(service_id)); if (!this.product) { alert('Unknown product'); window.location = '/en/hosting/'; } this.multidomain = this.product.type === 'service'; if (!this.multidomain && this.order.domains && this.order.domains.length > 1) { this.order.domains = []; } this.order.domains.forEach((item) => item.service_id = parseInt(this.product.id)); this.updatePayment(); } } }); if (orderkeyFromQueryString) { window.axios.get('/ajax/order.load.php?orderkey=' + orderkeyFromQueryString).then((response) => { Object.assign(app.$data, response.data.data); }).catch(() => { window.location = '/en/hosting/'; }); } else { app.setProduct(serviceIdFromQueryString); } app.runQuery(); }); </script> <script> _hsq.push(['trackCustomBehavioralEvent', { name: "pe25171416_started_order", properties: {}, }]); </script> <script> fbq('track', 'InitiateCheckout'); fbq('track', 'Lead'); </script> </div> </div> <footer class="mt-6 pb-6"> <div class="container border-top pt-6"> <div class="row justify-content-between"> <div class="col-md-4 pe-xxl-6"> <a href="/en/?8e3f1994187c1f6cd5d1dc368042e6500655021f"><img class="footer-logo" alt="Simply logo" src="//static.simply.com/assets/simply-logo-color.svg" loading="lazy"></a> <div class="pt-3 fs-7 opacity-75"> Founded back in 2004 - Our goal is to deliver well-functioning technical solutions that satisfy customers both with and without deep technical knowledge. </div> </div> <div class="col-md-7"> <div class="row mt-4 mt-md-0"> <div class="col-lg-3"> <div class="fw-semibold pb-lg-3 pt-lg-1 py-2 d-flex justify-content-between align-items-center collapsed" data-bs-toggle="collapse" data-bs-target="#footerProducts"> <span>Products</span> <i class="fa-regular fa-angle-down d-lg-none"></i> </div> <div class="collapse dont-collapse pb-4" id="footerProducts"> <ul class="list-unstyled"> <li><a href="/en/hosting/">Hosting</a></li> <li><a href="/en/websitebuilder/">Website designer</a></li> <li><a href="/en/">Webspace</a></li> <li><a href="/en/domains/">Domains</a></li> <li><a href="/en/domainprices/">Domain prices</a></li> <li><a href="/en/wordpress/">WordPress</a></li> <li><a href="/en/woocommerce/">WooCommerce</a></li> <li><a href="/en/email/">Email</a></li> <li><a href="/en/iubenda/">iubenda</a></li> </ul> </div> </div> <div class="col-lg-3"> <div class="fw-semibold pb-lg-3 pt-lg-1 py-2 border-top border-top-lg-0 d-flex justify-content-between align-items-center collapsed" data-bs-toggle="collapse" data-bs-target="#footerServices"> <span>Services</span> <i class="fa-regular fa-angle-down d-lg-none"></i> </div> <div class="collapse dont-collapse pb-4" id="footerServices"> <ul class="list-unstyled"> <li><a href="/en/domains/">Check domain</a></li> <li><a href="/en/webmail/">Webmail</a></li> <li><a href="/en/ninja/">Domain ninja</a></li> <li><a href="/en/diagnostics/">Diagnostics</a></li> <li><a href="/en/docs/api/">API documentation</a></li> <li><a href="/en/partner/">Partner</a></li> </ul> </div> </div> <div class="col-lg-3"> <div class="fw-semibold pb-lg-3 pt-lg-1 py-2 border-top border-top-lg-0 d-flex justify-content-between align-items-center collapsed" data-bs-toggle="collapse" data-bs-target="#footerSupport"> <span>Support</span> <i class="fa-regular fa-angle-down d-lg-none"></i> </div> <div class="collapse dont-collapse pb-4" id="footerSupport"> <ul class="list-unstyled"> <li><a href="/en/support/">Contact us</a></li> <li><a href="/en/support/">Knowledge base</a></li> <li><a href="/en/serverstatus/">Server status</a></li> </ul> </div> </div> <div class="col-lg-3"> <div class="fw-semibold pb-lg-3 pt-lg-1 py-2 border-top border-top-lg-0 d-flex justify-content-between align-items-center collapsed" data-bs-toggle="collapse" data-bs-target="#footerAbout"> <span>Simply.com</span> <i class="fa-regular fa-angle-down d-lg-none"></i> </div> <div class="collapse dont-collapse pb-4" id="footerAbout"> <ul class="list-unstyled"> <li><a href="/en/about/">About Simply.com</a></li> <li><a href="https://blog.simply.com">News / Blog</a></li> <!-- <li><a href="/en/podcast/">Podcast</a></li> --> <li><a href="/en/ebook/">E-book</a></li> <li><a href="/en/compliance/">Compliance</a></li> <li><a href="/en/terms-of-service/">Conditions</a></li> <li><a href="/en/privacy-policy/">Personal Data & Cookie Policy</a></li> </ul> </div> </div> </div> </div> </div> <div class="row mb-xxl-7 my-6 pb-1 align-items-end justify-content-between"> <div class="col-lg-auto mb-5 mb-lg-1"> <div class="border rounded-4 p-3 py-lg-4 w-100"> <div class="text-uppercase opacity-75">Safe and secure payment</div> <div class="d-flex align-items-center justify-content-between py-lg-4 gap-lg-2 flex-wrap"> <i class="pf pf-visa pf-2x" data-bs-toggle="tooltip" title="VISA"></i> <i class="pf pf-mastercard-alt pf-2x" data-bs-toggle="tooltip" title="Mastercard"></i> <i class="pf pf-visa-debit pf-2x" data-bs-toggle="tooltip" title="VISA Debit"></i> <i class="pf pf-google-wallet-alt pf-2x" data-bs-toggle="tooltip" title="Google Pay"></i> <i class="pf pf-apple-pay pf-2x" data-bs-toggle="tooltip" title="Apple Pay"></i> </div> <div class="opacity-75"> All prices are EUR excl. VAT </div> </div> </div> <!-- <div class="col-md-auto mb-3"> <a href="/en/podcast/" class="btn btn-link-icon fs-5"> <span>Listen to our entrepreneurship podcast</span><i class="fa-regular fa-circle-arrow-right text-primary"></i> </a> </div> --> <div class="col-lg-auto"> <ul class="list-inline justify-content-evenly d-flex gap-3"> <li class="list-inline-item"><a href="https://www.facebook.com/simplycom" target="_blank" title="Facebook"><i class="fab fa-facebook fa-fw fa-lg text-decoration-none"></i></a></li> <li class="list-inline-item"><a href="https://www.twitter.com/simplydotcom" target="_blank" title="X"><i class="fab fa-x-twitter fa-fw fa-lg text-decoration-none"></i></a></li> <li class="list-inline-item"><a href="https://www.instagram.com/simplycom/" target="_blank" title="Instagram"><i class="fab fa-instagram fa-fw fa-lg text-decoration-none"></i></a></li> <li class="list-inline-item"><a href="https://www.youtube.com/@simplycom" target="_blank" title="YouTube"><i class="fab fa-youtube fa-fw fa-lg text-decoration-none"></i></a></li> <li class="list-inline-item"><a href="https://www.linkedin.com/company/simplycom/" target="_blank" title="LinkedIn"><i class="fab fa-linkedin fa-fw fa-lg text-decoration-none"></i></a></li> </ul> </div> </div> </div> <div class="container fluid-max-width pt-1 pt-xxl-0"> <div class="bg-bright-blue rounded-4 px-1 py-3 px-xxl-5 p-1 py-xxl-5"> <div class="container my-1"> <div class="row justify-content-between align-items-center gap-3"> <nav class="col-12 col-md-7 col-lg-auto"> <ul class="d-flex flex-wrap gap-2 justify-content-between gap-lg-6 list-unstyled m-0"> <li><a href="/en/about/">About</a></li> <li><a href="https://blog.simply.com/">News</a></li> <li><a href="/en/serverstatus/">Server status</a></li> <li><a href="/en/terms-of-service/">Conditions</a></li> </ul> </nav> <nav class="col-12 col-md-5 col-lg-auto pt-2 pt-md-0"> <ul class="d-flex justify-content-start justify-content-md-center flex-wrap gap-2 gap-lg-3 list-unstyled m-0"> <li class="fs-7"> <a href="/dk/order/?id=prosuite" rel="alternate" hreflang="da" class="text-decoration-none"> <span class="fi fi-dk"></span> Dansk </a> </li> <li class="fs-7"> <a href="/en/order/?id=prosuite" rel="alternate" hreflang="en" class="text-decoration-none"> <span class="fi fi-gb"></span> English </a> </li> <li class="fs-7"> <a href="/no/order/?id=prosuite" rel="alternate" hreflang="no" class="text-decoration-none"> <span class="fi fi-no"></span> Norsk </a> </li> <li class="fs-7"> <a href="/pl/order/?id=prosuite" rel="alternate" hreflang="pl" class="text-decoration-none"> <span class="fi fi-pl"></span> Polski </a> </li> <li class="fs-7"> <a href="/fi/order/?id=prosuite" rel="alternate" hreflang="fi" class="text-decoration-none"> <span class="fi fi-fi"></span> Suomeksi </a> </li> <li class="fs-7"> <a href="/se/order/?id=prosuite" rel="alternate" hreflang="sv" class="text-decoration-none"> <span class="fi fi-se"></span> Svenska </a> </li> </ul> </nav> </div> </div> </div> </div> </footer> <div id="fb-root"></div> <div class="modal" id="haveibeenpwned-modal" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"> <div class="modal-dialog modal-dialog-centered modal-lg modal-dialog-scrollable"> <div class="modal-content"> <div class="modal-header"> <div class="h2 modal-title">The password has been compromised</div> </div> <div class="modal-body"> <div class="alert alert-warning text-center"> <i class="fal fa-fw fa-exclamation-triangle mb-3 fa-5x"></i> <p class="h4">We strongly advice you to choose another password</p> </div> <p>The entered password is known in "Have I Been Pwned", which is a public database of leaked passwords on the internet.</p> <p>Probably you (or someone else) used the password before on a website, which is known to have leaked the password. It is not safe to use this password.</p> <p class="fw-bold">We strongly advice you to choose another password.</p> <p>Enter your password here for more information: <a href="https://haveibeenpwned.com/Passwords" target="_blank" class="fw-bold" rel="nofollow">https://haveibeenpwned.com/Passwords</a>.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" data-bs-dismiss="modal">Got it</button> </div> </div> </div> </div> <noscript> <img src="/noscript.png" width="1" height="1" alt=""> </noscript> <script> /* Old IE-compat code */ if (window.document.documentMode) { var el = document.getElementById('ie-warning'); if (el.classList) { el.classList.remove('d-none'); } el.style.cssText = 'display: block;'; el.setAttribute('style', 'display: block'); el.className += " d-block"; } </script> <script> (function () { var mmapiws = window.__mmapiws = window.__mmapiws || {}; mmapiws.accountId = 11830; var loadDeviceJs = function () { var element = document.createElement('script'); element.async = true; element.src = 'https://device.maxmind.com/js/device.js'; document.body.appendChild(element); }; if (window.addEventListener) { window.addEventListener('load', loadDeviceJs, false); } else if (window.attachEvent) { window.attachEvent('onload', loadDeviceJs); } })(); </script> </body> </html>