{"success":false,"message":"Invalid method"}

<!DOCTYPE html>

<html data-bgs="gainsboro" class="session_login"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 <meta name="color-scheme" content="only light">
 <noscript> <style> html[data-bgs="gainsboro"] { background-color: #d6d6d6; } html[data-bgs="nightRider"] { background-color: #1a1c20; } html[data-bgs="nightRider"] div[data-noscript] { color: #979ba080; } html[data-slider-fixed='1'] { margin-right: 0 !important; } body > div[data-noscript] ~ * { display: none !important; } div[data-noscript] { visibility: hidden; animation: 2s noscript-fadein; animation-delay: 1s; text-align: center; animation-fill-mode: forwards; } @keyframes noscript-fadein { 0% { opacity: 0; } 100% { visibility: visible; opacity: 1; } } </style> <div data-noscript> <div class="fa fa-3x fa-exclamation-triangle margined-top-20 text-danger"></div> <h2>JavaScript is disabled</h2> <p>Please enable javascript and refresh the page</p> </div> </noscript>

 <meta name="msapplication-TileColor" content="#0450ae">
 <meta name="theme-color" content="#0450ae">

<title>ChipInventor</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>document.addEventListener("DOMContentLoaded", function(event) {var a=document.querySelectorAll('input[type="password"]');i=0;
for(length=a.length;i<length;i++){var b=document.createElement("span"),d=30<a[i].offsetHeight?1:0;b.classList.add("input_warning_caps");b.setAttribute("title","Caps Lock");d&&b.classList.add("large");a[i].classList.add("use_input_warning_caps");a[i].parentNode.insertBefore(b,a[i].nextSibling);a[i].addEventListener("blur",function(){this.nextSibling.classList.remove("visible")});a[i].addEventListener("keydown",function(c){"function"===typeof c.getModifierState&&((state=20===c.keyCode?!c.getModifierState("CapsLock"):
c.getModifierState("CapsLock"))?this.nextSibling.classList.add("visible"):this.nextSibling.classList.remove("visible"))})};});function spinner() {var x = document.querySelector('button i.fa-sign-in:not(.invisible)') || document.querySelector('button i.fa-qrcode:not(.invisible)'),s = '<span class="cspinner-icon cspinner_container"></span>';if(x){x.classList.add("invisible"); x.insertAdjacentHTML('afterend', s);x.parentNode.classList.add("disabled");x.parentNode.disabled=true}}setTimeout(function(){if(navigator&&navigator.oscpu){var t=navigator.oscpu,i=document.querySelector("html"),e="data-platform";t.indexOf("Linux")>-1?i.setAttribute(e,"linux"):t.indexOf("Windows")>-1&&i.setAttribute(e,"windows")}});</script> <link href="fonts-roboto.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link href="loginStyle.css" rel="stylesheet">

<style>
	.error-message {
		display: none;
        width: 57%;
        justify-content: center;
		gap: 7px;
		background-color: #ffa6ae;
		margin-bottom: 15px;
		border-radius: 5px;
		align-items: center;
		padding: 0.75em;
	}
	.success-message {
		display: none;
		gap: 7px;
		background-color: #7bdcafb5;
		margin-bottom: 15px;
        margin-top: 30px;
		border-radius: 5px;
		align-items: center;
		padding: 0.75em;
	}
</style>
</head>

<body class="session_login">
<div class="container session_login form-wrapper" data-dcontainer="1">

    <form class="form-signup session_login clearfix" method="POST" role="form" id="createAccount" >

        <div class="logo">
            <img src=ChipInventor.png width=30%>
        </div>

        <p class="form-signin-paragraph signup-content">
        Welcome to ChipInventor Cloud EDA Tool!
        <br>
        Please, provide your information to register to ChipInventor.

        <div class="error-message">
            <i class="bi bi-exclamation-circle-fill" style="width: 17px;height: 17px;color: #db0000;"></i>
            <span class="error-text" style="color: #db0000;"></span>
        </div>

        <div class="success-message">
            <i class="bi bi bi-check-circle-fill" style="width: 17px;height: 17px;color: #198754;"></i>
            <span class="success-text" style="color: #198754;"></span>
        </div>

        <div class="row mb-2 container-row">
            <div class="col-md-6">
                <div class="input-group form-group">
                <span class="input-group-addon input-group-text"><i class="bi bi-person-circle"></i></span>
                <input type="text" name="firstName" class="form-control" placeholder="First name" required>            
                </div>
            </div>

            <div class="col-md-6">
                <div class="input-group form-group">
                <span class="input-group-text"><i class="bi bi-person-circle"></i></span>
                <input type="text" name="lastName" class="form-control" placeholder="Last name" required>
                </div>
            </div>
        </div>

        <div class="row mb-2 container-row">
            <div class="col-md-6">
                <div class="input-group form-group">
                    <span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
                    <input type="text" name="username" class="form-control session_login" placeholder="Username" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" required>
                </div>
            </div>

            <div class="col-md-6">
            <div class="input-group form-group">
                <span class="input-group-text"><i class="fa fa-fw fa-envelope"></i></span>
                <input type="email" name="email" class="form-control session_login" placeholder="Email" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" required>
                </div>
            </div>
        </div>

        <div class="row mb-2 container-row">
            <div class="col-md-6">
                <div class="input-group form-group">
                <span class="input-group-text"><i class="fa fa-fw fa2 fa-key"></i></span>
                <input type="password" id="password" name="password" class="form-control session_login" placeholder="Password" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" required>
                <i class="fa-solid fa-eye" id="show-password"></i>
                </div>
            </div>

            <div class="col-md-6">
                <div class="input-group form-group">
                <span class="input-group-text"><i class="fa fa-fw fa2 fa-key"></i></span>
                <input type="password" id="confirmPassword" name="confirmPassword" class="form-control session_login" placeholder="Confirm your password" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" oninput="validateEntry()" required>
                <i class="fa-solid fa-eye" id="show-confirm-password"></i>
                </div>
            </div>
        </div>

        <div class="row mb-2 container-row">
            <div class="col-md-8">
                <div class="input-group form-group">
                <span class="input-group-text"><i class="fa fa-fw fa-building"></i></span>
                <input type="text" name="institution" class="form-control session_login" placeholder="Workplace / Institution" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" required>
                </div>
            </div>

            <div class="col-md-4">
                <div class="form-group">
                    <select name="goal" class="form-control session_login" placeholder="Your goal" autofocus=" autofocus" autocomplete="off" autocorrect="off" autocapitalize="none" required>
                    <option value="" disabled selected>Choose your purpose</option>
                    <option value="Research">Research</option>
                    <option value="Study">Study</option>
                    <option value="Development">Personal Development</option>
                    <option value="Commercial">Business</option>
                    </select>
                </div>
            </div>
        </div>
            <div class="session_login signup-line signup-content">
        </div>

        <div style="display: flex; justify-content: center; align-items: center; gap: 10px; margin: 5px 0px;" class="input-group form-group signup-content">
            <input type="checkbox" id="terms" name="terms" required>
            <label for="terms">I have read and agree to the <a href=https://drive.google.com/file/d/1Zy-D__FAexU9T9q2snbW7ZeuCr3vbW8T/view?usp=sharing target="_blank">Terms and Conditions</a></label>
        </div>

        <div class="form-group form-signin-group" style="width:100%"><button class="btn btn-primary signup-content" type="submit" style="width: 35%; margin-top: 0.5em; margin-bottom: 0.75em"><i class="fa fa-sign-in"></i>&nbsp;&nbsp;Register</button>

        <br>
        <a id="loginLink" href="https://digital.chipinventor.com/beta/v1/pages/SignIn/index.php">Login</a>
        <br>

    </form>
</div>
<script> let url_analog = 'https://www.chipinventor.com'; </script>
<script>
    const params = new URLSearchParams(window.location.search);
    const origin = params.get('origin')
    sessionStorage.setItem('origin', origin);

    const originAnalog = sessionStorage.getItem('origin');

    if (originAnalog === 'analog') {
        const loginLink = document.getElementById('loginLink');
        loginLink.href = `${url_analog}/landing-page?SignIn=1`;
    }

    
	$(document).ready(function () {
        $("#createAccount").on("submit", function (event) {
            event.preventDefault(); 

            const password = $("#password").val();
            const confirmPassword = $("#confirmPassword").val();

            const errorMessage = document.querySelector('.error-message');
            const successMessage = document.querySelector('.success-message');
            errorMessage.style.display = "none";
            successMessage.style.display = "none"; 

            const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[\W_]).{6,}$/;

            if (!regex.test(password)) {
                errorMessage.querySelector('.error-text').textContent =
                    'Password must be at least 6 characters long, and include an uppercase letter, a lowercase letter, and a special character.';
                errorMessage.style.display = "flex";
                return; 
            }

            if(password !== confirmPassword){
                    errorMessage.querySelector('.error-text').textContent =
                    'Passwords must match';
                errorMessage.style.display = "flex";
                return; 
            }

            spinner(); 

            $.ajax({
                url: '',
                type: 'POST',
                data: $(this).serialize(),
                dataType: 'json',
                success: function (data) {

                    if (data.success) {                        
                        // Redirect to checkout page
                        sessionStorage.setItem('email', data.email);

                        window.location.href = '/beta/v1/payment/checkout.php';
                    }
                    // document.querySelectorAll('.signup-content').forEach(element => {
                    //     element.style.display = 'none';
                    // });
                    // successMessage.querySelector('.success-text').textContent = data.message || 'Success';
                    // successMessage.style.display = "flex";
                    removeSpinner();
                },
                error: function (xhr, status, error) {
                    let message;
                    try {
                        const response = JSON.parse(xhr.responseText);
                        message = response.message || 'An error occurred';
                    } catch (e) {
                        message = 'An error occurred';
                    }
                    console.error(`Error : ${status} - ${error}`);
                    errorMessage.querySelector('.error-text').textContent = message;
                    errorMessage.style.display = "flex";
                    removeSpinner();
                }
            });
        });

    });

	function removeSpinner() {
		var spinnerContainer = document.querySelector('button .cspinner_container');
		var buttonIcon = document.querySelector('button i.fa-sign-in.invisible') || document.querySelector('button i.fa-qrcode.invisible');
		
		if (spinnerContainer && buttonIcon) {
			spinnerContainer.remove();
			buttonIcon.classList.remove("invisible");
			buttonIcon.parentNode.classList.remove("disabled");
			buttonIcon.parentNode.disabled = false;
		}
	}

    const showPassword = document.querySelector("#show-password");
    const passwordField = document.querySelector("#password");
    const showConfirmPassword = document.querySelector("#show-confirm-password");
    const confirmPasswordField = document.querySelector("#confirmPassword");

    showPassword.addEventListener("click", function(){
        const type = passwordField.getAttribute("type") === "password" ? "text" : "password";
        passwordField.setAttribute("type", type);

        if (type === "text") {
            this.classList.remove("fa-eye");
            this.classList.add("fa-eye-slash");
        } else {
            this.classList.remove("fa-eye-slash");
            this.classList.add("fa-eye");
        }
    });

    showConfirmPassword.addEventListener("click", function(){
        const type = confirmPasswordField.getAttribute("type") === "password" ? "text" : "password";
        confirmPasswordField.setAttribute("type", type);

        if (type === "text") {
            this.classList.remove("fa-eye");
            this.classList.add("fa-eye-slash");
        } else {
            this.classList.remove("fa-eye-slash");
            this.classList.add("fa-eye");
        }
    });

</script>
</body></html>

<!-- 