	async function checkDuplicate() {
		var url='https://lab.ilot.io/api/v4/projects/99/issues';
        var email = document.getElementById("email").value;

		const response = await fetch(url, {
		headers: {
			'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
			'Content-Type': 'application/json',
		},
		})
		const result = await response.json();
		let index = result
		.findIndex(item => item.title === email);

		if (index !== -1) {
			return true;
		} else {
			return false;
		}
	}

	async function createIssue() {
	  	var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request';
        var mathspamtrap = document.getElementById("math-spam-trap").value;
        var agreetoterms = document.getElementById("agree-to-terms").checked;
        var email = document.getElementById("email").value;

		if(!agreetoterms) {
			alert("Registration requires agreement of Code of Conduct");
			return false;
		}

		if(!email) {
			alert("Email cannot be empty");
			return false;
		}

		if(mathspamtrap != "9") {
			alert("Wrong math answer");
			return false;
		}

		if(await checkDuplicate(email) === true) {
			alert("This email address has already requested an account");
			return false;
		}

        var name = document.getElementById("name").value;
		var name = name.replace (/^/,'Name: ');
        var aboutme = document.getElementById("about-me").value;
		var aboutme = aboutme.replace (/^/,'About me: ');
		var aboutme = aboutme.replace(/\r?\n/g, "%0A%0A");
        var howfound = document.getElementById("how-found").value;
		var howfound = howfound.replace (/^/,'How I found ilot: ');
		var howfound = howfound.replace(/\r?\n/g, "%0A%0A");
        var ocuser = document.getElementById("oc-user").value;
		var ocuser = ocuser.replace (/^/,'OpenCollective Profile: ');
		var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser;
		var url = baseurl.concat("&title=", email, "&description=", description);
		console.log('Description:', description);

		fetch(url, {
		method: 'POST',
		headers: {
			'PRIVATE-TOKEN': 'glpat-RaoZSW_3XMhkGr19k6Wv',
			'Content-Type': 'application/json',
		},
		})
		.then(response => response.json())
		.then(result => {
			console.log('Success:', result);
			alert("Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io");
		})
		.catch(error => {
			console.error('Error:', error)
		});
	}
