<?php
error_reporting(0);
ini_set('display_errors', 'off');

require_once(__DIR__ . '/utils.php');

configure_session_lifetime(12);

if (session_status() == PHP_SESSION_NONE) {
	session_start();
}

$error_msg = "";
$show_connect_auth_note = false;

if((isset($_GET['signin'])) && ($_GET['signin'] == 'connect')){
	//Demande d'identification
	$_SESSION = array();
	session_destroy();
	if (session_status() == PHP_SESSION_NONE) { session_start(); }
	$show_connect_auth_note = true;
}else if ((isset($_GET['signin'])) && ($_GET['signin'] == 'logout')){
	//Deconnexion
	$_SESSION = array();
	session_unset ();
	session_destroy();
	if (session_status() == PHP_SESSION_NONE) {
		session_start();
	}
	$error_msg = "<span class='user_msg user_msg-success'><span class='glyphicon glyphicon-ok-sign' aria-hidden='true'></span>You are disconnected.</span>";
}else if ((isset($_GET['signin'])) && ($_GET['signin'] == 'error')){
	//Erreur de connexion
	$error_msg = "<span class='user_msg user_msg-error'><span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span>Identifiant et/ou mot de passe incorrect.</span>";
}else if ((isset($_GET['signin'])) && ($_GET['signin'] == 'noaccess')){
	$error_msg = "<span class='user_msg user_msg-error'><span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span>Access denied. Your account is not authorized for this platform.</span>";
}else if((isset($_POST['action_mode'])) && ($_POST['action_mode'] == 'recover')){
	$mailexist = 0;
	//$subject = iconv("UTF-8", "CP1252//TRANSLIT", "Récupération mot de passe");
	$subject = "Récupération mot de passe";

	$raw_email = trim($_POST['recupmail'] ?? '');
	if($raw_email == ""){
		$error_msg = "<span class='user_msg user_msg-error'><span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span>Email is required.</span>";
	}else if(!filter_var($raw_email, FILTER_VALIDATE_EMAIL)){
		$error_msg = "<span class='user_msg user_msg-error'><span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span>Invalid email format.</span>";
	}else{
	    $body = "#cmd:get_user_pass;<br/>#key:0007;<br/>#email:".$raw_email.";";

		$link = connect_db();
	    $email = mysqli_real_escape_string($link, $raw_email);
	    close_db($link); 	

	    $rowcount = check_email_exist($email);

	    if($rowcount >= 1){
			$mailexist = 1;
			$error_msg = "<span class='user_msg user_msg-success'><span class='glyphicon glyphicon-ok-sign' aria-hidden='true'></span>Email sent with your login details.</span>";
			send_mail($subject, $body, "guillaume.therin+api_cmd@gmail.com");
		}else{
			$mailexist = 0;
			$error_msg = "<span class='user_msg user_msg-error'><span class='glyphicon glyphicon-warning-sign' aria-hidden='true'></span>Email not found.</span>";
		}
	}
}
if((isset($_POST['action_mode'])) && ($_POST['action_mode'] == 'login') && !empty($_POST['logmail']) && !empty($_POST['pass'])) {
  $logmail = $_POST['logmail'];
  $pass = $_POST['pass'];

  $link = connect_db();
  $logmail = mysqli_real_escape_string($link, $logmail);
  close_db($link);
   
  $sql = "SELECT u.usid, u.lastname, u.firstname, u.pass, u.allowed_dbs, "
       . "  (SELECT 1 FROM user_products WHERE usid=u.usid AND product='epineia') AS epineia "
       . "FROM users u WHERE u.email='".$logmail."'";
  $req = do_query($sql);

  $data = mysqli_fetch_assoc($req);

  if(isset($data)) {
	  $stored_password = (string)$data['pass'];
	  $password_info = password_get_info($stored_password);
	  $is_hashed_password = isset($password_info['algoName']) && $password_info['algoName'] !== 'unknown';
	  $is_valid_password = $is_hashed_password ? password_verify($pass, $stored_password) : ($stored_password === $pass);

	  if(!$is_valid_password) {
		header("location:index.php?signin=error");
	    exit;
	  }
	  else if(intval($data['epineia'] ?? 0) < 1) {
		header("location:index.php?signin=noaccess");
	    exit;
	  }
	  else {
	  	if (session_status() == PHP_SESSION_NONE) {
	  		session_start();
	  	}
	    $_SESSION['usid'] = $data['usid'];
	    $_SESSION['email'] = $logmail;
		$_SESSION['lastname'] = $data['lastname'];
		$_SESSION['firstname'] = $data['firstname'];
		$_SESSION['allowed_dbs'] = $data['allowed_dbs'] ?? '';

		header("location:home.php");
	  }
	}
  else{
  		header("location:index.php?signin=error");
	}  
}
if(isset($_GET) && !empty($_GET['email'])) {
	$reponse = 0;
	$rowcount = 0;
   	$link = connect_db();
  	$email = mysqli_real_escape_string($link, $_GET['email']);
  	close_db($link);
	
	$rowcount = check_email_exist($email);

	if($rowcount >= 1){
		$reponse = 0;
	}else{
		$allowed_fields = array('lastname', 'firstname', 'tva_intra', 'address', 'zipcode', 'city', 'country', 'email', 'phone', 'website', 'accept_cgv');

		$mail_content = "Bonjour Stealth, <br/><br/> Un nouveau compte client professionnel est a valider sous 24h/48h !<br/><br/>";

		$sql_fields = "";
		$sql_values = "";
		$link = connect_db();
		foreach($allowed_fields as $field){
			if($field === 'accept_cgv'){
				$val = (isset($_GET[$field]) && $_GET[$field] == '1') ? '1' : '0';
			}else{
				$val = isset($_GET[$field]) ? mysqli_real_escape_string($link, $_GET[$field]) : '';
			}
			$sql_fields .= "`".$field."`, ";
			$sql_values .= "'".$val."', ";

			$mail_content .= $field.": ";
			$mail_content .= $val."<br/>";
		}
		close_db($link);

		$sql_fields = substr($sql_fields, 0, -2);
		$sql_values = substr($sql_values, 0, -2);

		$sql = "INSERT INTO `users` (".$sql_fields.") VALUES (".$sql_values.")";
		do_query($sql);

		$sql = "SELECT  `usid` FROM `users` WHERE email='".$email."'";
		$res = do_query($sql);
		while(($row = mysqli_fetch_assoc($res)) != NULL) {
			$iduser = $row['usid'];
		}

		$mail_content .= "<br/><br/><a href='mailto:guillaume.therin+api_cmd@gmail.com?subject=[Stealth]%20-%20Validation%20de%20compte&body=%23cmd:set_user_sageid;%0D%0A%23key:0007;%0D%0A%23iduser:".$iduser.";%0D%0A%23idsage:DISTRIBxxxxxxx;'>Enregistrement ID Sage</a>";
		$mail_content .= "<br/><br/><a href='mailto:guillaume.therin+api_cmd@gmail.com?subject=[Stealth]%20-%20Activation%20de%20compte&body=%23cmd:activate_user;%0D%0A%23key:0007;%0D%0A%23iduser:".$iduser.";'>Activation du compte client</a>";

		$user_mail_content = "Bonjour, <br/><br/>Votre demande d'ouverture de compte est en cours de traitement. <br/><br/>Vous recevrez sous 24h/48h un email contenant vos informations de connexion. <br/><br/>Cordialement, <br/><br/>Stealth — Gateka";

		send_mail("[Stealth] Ouverture de compte", $user_mail_content, $email);
		send_mail("Ouverture de compte", $mail_content, "guillaume.therin+user_infos@gmail.com");

		$reponse = 1;
	}

	echo $reponse;
		exit;
}
function check_email_exist($email){
	$rowcount = 0;

	$sql = "SELECT `usid` FROM `users` WHERE email='".$email."'";
	$res = do_query($sql);
	$rowcount = mysqli_num_rows($res);
	
	return $rowcount;
}
function get_featured_products($type, $total){
	// promo new
	$dbres0 = do_query("SELECT reference FROM products WHERE `".$type."`='OUI' AND (`img_url` is not null AND `img_url` <> '') ORDER BY RAND() LIMIT 0, ".$total);

	$close_ok = false;
    $res = Array();


    while(($row0 = mysqli_fetch_assoc($dbres0)) != NULL){
    	$res[] = $row0['reference'];
    }

	$i = 0;
	$total_tmp = 0;
    //crawl all featured products
    foreach($res as $v){
    	if($i == 0){
    		echo "<div class='row'>";
    	 	$close_ok = false;
    	}

    	//get infos for each fetaured product
        $dbres2 = do_query("SELECT  name, img_url FROM `products` WHERE `reference`='".$v."'");
        while(($row2 = mysqli_fetch_assoc($dbres2)) != NULL){
        	echo "<div class='col-md-2 col-sm-3 col-xs-3 featured_items'>";

			$img = "img/logo.png";
			$origin = $row2['img_url'] ?? '';
			if (!empty($origin)) {
				if (strpos($origin, "img/") === 0) {
					$img = $origin;
				} elseif (!empty($origin) && strpos($origin, "http") === false) {
					$img = "../" . $origin;
				} elseif (!empty($origin)) {
					// Remove query string
					$imageUrl = explode('?', $origin)[0];
					// Extract filename
					$imageFileName = basename($imageUrl);
					if ($imageFileName !== 'No-Picture.gif') {
						$img = "img/lorvert/" . $imageFileName;
					}
				}
			}

        	echo "<div class='featured_product_img_div'><img src='".$img."' /></div>";
        	//echo "<div class='featured_product_title_div'>".utf8_encode($row2["name"])."</div>";
        	echo "<div class='featured_product_title_div'>".$row2["name"]."</div>";
        	echo "</div>";
        	$i++;
        	$total_tmp++;
        }

	    if(($i - 1) == 5){
			echo "</div>";
			$close_ok = true;
			$i = 0;
	    }

	    if(($total_tmp - 1) == ($total - 1))
	    	break;  
    }

    //close block in case last row with less 5 items
    if($close_ok === false){
    	$empties = 5 - ($i - 1);
    	for ($j=1; $j<= $empties; $j++){
    		echo "<div class='col-md-2'></div>";
    	}
    	echo "</div>";
    }
}

$isLoggedIn = !empty($_SESSION['email']);
?>
<?php if ($isLoggedIn): ?>
<?php
  // Load header variables for the navbar
  $avatarUrl = '';
  $hasJupyter = false;
  $dbres = do_query("SELECT u.avatar_url, (SELECT 1 FROM user_products WHERE usid=u.usid AND product='jupyter') AS jupyter FROM users u WHERE u.usid=" . intval($_SESSION['usid'] ?? 0));
  if ($row = mysqli_fetch_assoc($dbres)) { $avatarUrl = $row['avatar_url'] ?? ''; $hasJupyter = intval($row['jupyter'] ?? 0) > 0; }
  $userFullName = trim($_SESSION['firstname'] ?? '');
  $userUsername = strtolower(trim($_SESSION['firstname'] ?? ''));
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <script>(function(){var t=localStorage.getItem('gk-theme')||'dark';document.documentElement.setAttribute('data-theme',t);})()</script>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Stealth — Gateka</title>
    <link rel="icon" href="img/favicon.ico" />
    <link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link href="connect/connect.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
  </head>
  <body style="padding-top:56px;">
    <div
      id="chakra_header_root"
      data-profile-name="<?php echo htmlspecialchars($userFullName !== '' ? $userFullName : 'User', ENT_QUOTES, 'UTF-8'); ?>"
      data-avatar-url="<?php echo htmlspecialchars($avatarUrl, ENT_QUOTES, 'UTF-8'); ?>"
      data-username="<?php echo htmlspecialchars($userUsername, ENT_QUOTES, 'UTF-8'); ?>"
      data-has-jupyter="<?php echo $hasJupyter ? '1' : '0'; ?>"
    ></div>
    <script type="module" src="js-build/header_root.js?v=<?php echo urlencode((string)(@filemtime(__DIR__ . '/js-build/header_root.js') ?: time())); ?>"></script>
<?php else: ?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <script>(function(){var t=localStorage.getItem('gk-theme')||'dark';document.documentElement.setAttribute('data-theme',t);})()</script>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Stealth — Gateka</title>
    <link rel="icon" href="img/favicon.ico" />
    <link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="connect/connect.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
  </head>
  <body>
	<button id="theme-toggle-btn" onclick="var t=document.documentElement.getAttribute('data-theme')==='dark'?'light':'dark';document.documentElement.setAttribute('data-theme',t);localStorage.setItem('gk-theme',t);this.querySelector('i').className=t==='dark'?'fa-solid fa-sun':'fa-solid fa-moon'" style="position:fixed;top:12px;right:16px;z-index:9999;background:transparent;border:1px solid var(--color-border-subtle,#3a3f49);border-radius:8px;width:32px;height:32px;color:var(--color-text-muted,#b8c2d1);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s" title="Toggle theme"><i class="fa-solid fa-sun"></i></button>
	<script>var _ti=document.querySelector('#theme-toggle-btn i');if(_ti)_ti.className='fa-solid '+((localStorage.getItem('gk-theme')||'dark')==='dark'?'fa-sun':'fa-moon');</script>
<?php endif; ?>

    <script>
    /* Vanilla Bootstrap 3 collapse + modal */
    document.addEventListener("click", function(e) {
        var btn;
        btn = e.target.closest("[data-toggle='collapse']");
        if (btn) { var target = document.querySelector(btn.getAttribute("data-target")); if (target) { target.classList.toggle("in"); } e.preventDefault(); return; }
        btn = e.target.closest("[data-dismiss='modal']");
        if (btn) { var modal = btn.closest(".modal"); if (modal) { modal.classList.remove("in"); modal.style.display = "none"; } document.body.classList.remove("modal-open"); var bd = document.querySelector(".modal-backdrop"); if (bd) bd.remove(); e.preventDefault(); return; }
        btn = e.target.closest("[data-toggle='modal']");
        if (btn) { var modal = document.querySelector(btn.getAttribute("data-target")); if (modal) { modal.style.display = "block"; setTimeout(function(){ modal.classList.add("in"); }, 10); document.body.classList.add("modal-open"); var bd = document.createElement("div"); bd.className = "modal-backdrop fade in"; document.body.appendChild(bd); } e.preventDefault(); }
    });
    </script>

<?php if (!$isLoggedIn): ?>
		<div class="connect-topbar">
			<div class="container connect-topbar-main">
				<div class="connect-topbar-error" style="text-align:center;">
	      	<?php echo $error_msg; ?>
				</div>
				<div class="row connect-topbar-row">
					<div class="col-sm-1 connect-topbar-icon-col">
						<a href="http://grodt.bulkhours.fr/">
							<img src="img/logo.png" alt="Stealth" class="connect-logo-icon">
						</a>
						<div class="connect-logo-title">Stealth</div>
					</div>
					<div class="col-sm-11 connect-topbar-menu-col">
					<nav class="navbar navbar-inverse connect-login-nav">
							<div class="navbar-header">
								<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
									<span class="sr-only">Toggle navigation</span>
									<span class="icon-bar"></span>
									<span class="icon-bar"></span>
									<span class="icon-bar"></span>
								</button>
							</div>
							<div id="navbar" class="navbar-collapse collapse connect-login-collapse">
								<form id="connect_login_form_inline" action="index.php" method="post" class="connect-auth-actions">
									<input type="hidden" id="connect_action_mode" name="action_mode" value="login">
									<input type="hidden" id="connect_inline_recupmail" name="recupmail" value="">
									<div class="form-group connect-auth-field">
										<input id="connect_inline_logmail" class="form-control" name="logmail" type="text" maxlength="50" placeholder="Email">
									</div>
									<div class="form-group connect-auth-field">
										<input id="connect_inline_pass" class="form-control" name="pass" type="password" maxlength="20" placeholder="Password">
									</div>
									<div class="connect-auth-submit">
										<button type="submit" class="btn navbar-btn connect-auth-primary" onclick="document.getElementById('connect_action_mode').value='login';document.getElementById('connect_inline_recupmail').value='';"><i class="fa-solid fa-right-to-bracket" aria-hidden="true"></i>&nbsp;Login</button>
										<button type="submit" class="btn navbar-btn connect-auth-secondary" onclick="document.getElementById('connect_action_mode').value='recover';document.getElementById('connect_inline_recupmail').value=document.getElementById('connect_inline_logmail').value;document.getElementById('connect_inline_pass').value='';"><i class="fa-solid fa-key" aria-hidden="true"></i>&nbsp;Forgotten password</button>
									</div>
								</form>
								<?php if ($show_connect_auth_note) { ?>
									<div class="connect-auth-note"><span class="glyphicon glyphicon-lock" aria-hidden="true"></span>&nbsp;Please log in to access your account.</div>
								<?php } ?>
							</div>
					</nav>
					</div>
				</div>
			</div>
		</div>
<?php endif; ?>

		<div class="modal fade" id="connectRegisterModal" tabindex="-1" role="dialog" aria-labelledby="connectRegisterModalLabel">
			<div class="modal-dialog" role="document">
				<div class="modal-content">
					<div class="modal-header">
						<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
						<h4 class="modal-title" id="connectRegisterModalLabel"><i class="fa-solid fa-user-plus" aria-hidden="true"></i>&nbsp;Créer un compte</h4>
					</div>
					<div class="modal-body" id="connectRegisterModalBody">
						<div class="text-center"><i class="fa-solid fa-spinner fa-spin" aria-hidden="true"></i>&nbsp;Chargement...</div>
					</div>
				</div>
			</div>
		</div>


    <script>
    	var CALC_RES = 0;

    	function validate_form(form_id){
		    var form = document.getElementById(form_id);
		    var inputs = form.querySelectorAll("input");
		    var return_val = true;

		    document.querySelectorAll(".form_error_msg").forEach(function(el){ el.remove(); });

		    inputs.forEach(function(input) {
		    	var field_id = input.id;
		    	var field_val = input.value;
		    	var field_format = input.getAttribute("field-format");
		    	var field_required = input.getAttribute("field-required");
		    	var return_tmp = true;

		    	if(field_required == "yes"){
		    		return_tmp = check_field_format(field_format, field_val, field_id, false);
		    	}else if(field_required == "no"){
		    		return_tmp = check_field_format(field_format, field_val, field_id, true);
		    	}

		    	if(return_val == true)
		    		return_val = return_tmp;
		    });

		    return return_val;
		}

		function insertAfter(el, html){
		    el.insertAdjacentHTML("afterend", html);
		}

		function check_field_format(format, value, field_id, allow_empty){
		    var text_regx = /^[A-Za-zÀ-ÖØ-öø-ÿ0-9\-\. ,'&()\/]+$/;
		    var email_regx = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;

		    var empty_error = "<span class='form_error_msg' style='color:var(--color-accent-link);font-style:italic;'>Champ obligatoire<br/></span>";
		    var text_error = "<span class='form_error_msg' style='color:var(--color-accent-link);font-style:italic;'>Caractères autorisés: lettres (y compris accentuées), chiffres, espace, - . , ' & ( ) /<br/></span>";
		    var numeric_error = "<span class='form_error_msg' style='color:var(--color-accent-link);font-style:italic;'>Caractères autorisés: 0-9<br/></span>";
		    var email_error = "<span class='form_error_msg' style='color:var(--color-accent-link);font-style:italic;'>Format email non conforme<br/></span>";

		    var el = document.getElementById(field_id);
		    el.style.backgroundColor = "";

			if(value.length == 0){
				if(allow_empty == false){
					el.style.backgroundColor = "var(--color-bg-elevated)";
					insertAfter(el, empty_error);
					return false;
				}
				else{
					return true;
				}
			}

		   	if(format == 'text' && text_regx.test(value) === false){
    			el.style.backgroundColor = "var(--color-bg-elevated)";
    			insertAfter(el, text_error);
    			return false;
		    }else if(format == 'numeric' && !isFinite(value)){
		    	el.style.backgroundColor = "var(--color-bg-elevated)";
		    	insertAfter(el, numeric_error);
    			return false;
		    }else if(format == 'email' && email_regx.test(value) === false){
    			el.style.backgroundColor = "var(--color-bg-elevated)";
    			insertAfter(el, email_error);
    			return false;
		    }

		    return true;
		}

		function replaceElement(id, html){
		    var el = document.getElementById(id);
		    if(el) el.outerHTML = html;
		}

    	function register(){
    		var validation = validate_form('register_form');
    		var human_res = parseInt(document.getElementById("human_calculation").value);
	    	var cgvAccepted = document.getElementById("accept_cgv").checked;

    		if(validation === true){
	    		if(cgvAccepted !== true){
	    			replaceElement("register_error", "<span id='register_error' style='color:var(--color-accent-red);display:block;text-align:center;'>Veuillez accepter les Conditions Générales de Vente.</span>");
	    			return;
	    		}
    			if(human_res == CALC_RES){
		    		var form = document.getElementById("register_form");
		    		var params = new URLSearchParams();
		    		form.querySelectorAll("input").forEach(function(input){
		    		    if(input.name && input.name !== "calculation_res"){
		    		        params.append(input.name, input.value);
		    		    }
		    		});
		    		var registerEmail = (document.getElementById("register_email").value || "").trim();

		    		replaceElement("register_error", "<span id='register_error' style='color:var(--color-text-muted);display:block;text-align:center;'>Envoi de votre demande en cours...</span>");
		    		document.getElementById("register_btn").disabled = true;

		    		fetch("connect.php?" + params.toString(), { credentials: "same-origin" })
		    		.then(function(resp){ return resp.text(); })
		    		.then(function(data){
						document.getElementById("register_btn").disabled = false;
						var payload = data.trim();
						var match = payload.match(/(?:^|\D)(0|1)(?:\D|$)/);
						var response = match ? parseInt(match[1], 10) : NaN;
						if(response == 0)
							replaceElement("register_error", "<span id='register_error' style='color:var(--color-accent-red);display:block;text-align:center;'>Un compte est déjà associé à cet email. Si vous avez déjà fait une demande, elle est peut-être en cours de validation (24/48h). Utilisez \"Password oublié\" si nécessaire.</span>");
						else if(response == 1){
							var countdown = 5;
							var safeEmail = registerEmail.length ? registerEmail : "cette adresse email";
							replaceElement("register_error", "<span id='register_error' style='color:var(--color-success);display:block;text-align:center;'>Votre demande d'ouverture de compte a bien été faite avec l'email : <strong>" + safeEmail + "</strong>.<br/>Cette fenêtre va se fermer dans <strong><span id='register_countdown'>" + countdown + "</span></strong> secondes.</span>");
							document.getElementById("register_btn").disabled = true;

							var countdownInterval = setInterval(function(){
								countdown--;
								var countdownEl = document.getElementById("register_countdown");
								if(countdownEl) countdownEl.textContent = countdown;

								if(countdown <= 0){
									clearInterval(countdownInterval);
									var modal = document.getElementById("connectRegisterModal");
									if(modal){
										modal.classList.remove("in");
										modal.style.display = "none";
										document.body.classList.remove("modal-open");
										var backdrop = document.querySelector(".modal-backdrop");
										if(backdrop) backdrop.remove();
									}
									var regForm = document.getElementById("register_form");
									if(regForm) regForm.reset();
									if(window.opener && !window.opener.closed){
										window.close();
									}
								}
							}, 1000);
						}else{
							replaceElement("register_error", "<span id='register_error' style='color:var(--color-accent-red);display:block;text-align:center;'>Une erreur est survenue. Merci de réessayer.</span>");
						}
		    		});
				}else{
					var calcul_error = "<span class='form_error_msg' style='color:var(--color-accent-link);font-style:italic;'>Le résulat du calcul n'est pas correct<br/></span>";
					document.querySelectorAll(".form_error_msg").forEach(function(el){ el.remove(); });
					var calcEl = document.getElementById("human_calculation");
					calcEl.style.backgroundColor = "";
					insertAfter(calcEl, calcul_error);
					calcEl.style.backgroundColor = "AliceBlue";
					get_random_number(1, 10);
				}
		}
    	}

    	function get_random_number(min, max){
    		var num1 = Math.round(Math.random() * (max - min) + min);
    		var num2 = Math.round(Math.random() * (max - min) + min);

    		CALC_RES = num1 + num2;

    		document.getElementById("num1").textContent = num1;
    		document.getElementById("num2").textContent = num2;
    	}

    	function replace_connect_container(url){
    		fetch(url, { credentials: "same-origin" })
    		.then(function(resp){ return resp.text(); })
    		.then(function(html) {
			  	document.querySelectorAll(".user_msg").forEach(function(el){ el.remove(); });
			  	var container = document.getElementById("connect_container");
			  	container.innerHTML = "";
			  	var serviceEl = document.getElementById("service_container");
			  	if(serviceEl) serviceEl.remove();
			  	var carouselEl = document.getElementById("carousel_container");
			  	if(carouselEl) carouselEl.remove();
			    container.innerHTML = html;
			    get_random_number(1, 10);
			});
    	}

		function load_register_modal_content(){
			fetch("new_account.php", { credentials: "same-origin" })
			.then(function(resp){ return resp.text(); })
			.then(function(html) {
				document.getElementById("connectRegisterModalBody").innerHTML = html;
				get_random_number(1, 10);
			});
		}
    </script>
  </body>
</html>
