﻿var form_check_ok = true;		
var login_availability;

function check_login(login){
	modele_lettres = /^[a-z]{1}/i; 
	client_input_check = modele_lettres.test(login);
	if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Doit commencer par une lettre';
	else {
		modele_lettres = /^[a-z0-9]+$/i; 
		client_input_check = modele_lettres.test(login);
		if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Caractères sp&eacute;ciaux interdits';
		else{
			modele_lettres = /^[a-z0-9]{4,}$/i; 
			client_input_check = modele_lettres.test(login);
			if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo trop court';
			else {
				modele_lettres = /^[a-z0-9]{4,25}$/i; 
				client_input_check = modele_lettres.test(login);
				if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo trop long';
				else check_unicity_login();
			}
		}
	}
	login_ok = false;
	
	if(client_input_check){
		if(document.getElementById('loading_login').innerHTML == '1') { 
			login_ok = true;
		}
		else if(document.getElementById('loading_login').innerHTML == '0'){ 
			login_ok = false;
			document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo d&eacute;j&agrave; pris !';						
		}
	}
	if(!login_ok) return false;
	return true;
}
function check_pass(pass){
	regexp_4car = /^.{4,}$/i; 
	client_input_check = regexp_4car.test(pass); 
	if(!client_input_check) return false;
	return true;
}
function check_cgu(){
	if(!document.forms[1].elements[3].checked)
	{
		document.getElementById('chk_rslt_cgu').innerHTML = '<img src="images/nok_15.gif" alt="Erreur CGU" /> Veuillez accepter les conditions g&eacute;n&eacute;rales';
	}
}
function reset_cgu(){
	document.getElementById('chk_rslt_cgu').innerHTML = '';
}

function check_mail(mail){
	modele_mail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[A-Za-z]{2,4}$/i;
	client_input_check = modele_mail.test(mail);
	mail_ok = false;
	if(client_input_check){
		check_unicity_mail();
		if(document.getElementById('loading_mail').innerHTML == '1') { 
			mail_ok = true;
		}
		else if(document.getElementById('loading_mail').innerHTML == '0') {
			mail_ok = false; 
			document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur l\'Adresse e-Mail :(" /> Adresse e-mail d&eacute;j&agrave; prise';
		}
	} else document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur l\'Adresse e-Mail :(" /> Adresse e-Mail incorrecte';
	if(!mail_ok) return false;
	return true;
}			

function check_all(formulaire){
	if(document.getElementById('loading_login').innerHTML != '1') testinput('login');
	if(document.getElementById('loading_mail').innerHTML != '1' && document.forms[1].elements[2].value == '') testinput('mail');
	testinput('pass');
	check_cgu();
	// On ne vérifie tout sauf la case qui vient d'&ecirc;tre vérifiée.
	checking_ok = false;
	if(document.getElementById('loading_login').innerHTML == '1') checking_ok = true;
	else checking_ok = false;
	if(checking_ok){
		checking_ok = check_pass(document.forms[1].elements[1].value);
	}	
	if(checking_ok){
		if(document.getElementById('loading_mail').innerHTML == '1') checking_ok = true;
		else checking_ok = false;
	}
	if(checking_ok) checking_ok = document.forms[1].elements[3].checked;
	if(checking_ok) {
		document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/ok_15.gif" alt="Adresse e-Mail ok :)" /> <span style="color: #008e47;">OK</span>'; 
		document.getElementById('submit_button').disabled = true;
		open_reg_form(1);
	}
}

function testinput(input, ckuni){
	content = document.getElementById(input).value;
	// Vérifications pour colorer les cases.
	checking_ok = true;
	if(ckuni == 0 && input == 'login') checking_ok = check_login2(content);
	else if(input == 'login') checking_ok = check_login(content);
	if(!checking_ok)
	{
		document.getElementById('mail_redir_info').innerHTML = '-';
		document.getElementById('mail_redir_info').style.visibility = 'hidden';
	}
	if(input == 'pass') checking_ok = check_pass(content);
	if(ckuni == 0 && input == 'mail') checking_ok = check_mail2(content);
	else if(input == 'mail') checking_ok = check_mail(content);
	if(checking_ok) {
		if(input == 'pass') 
		{
			document.getElementById('chk_rslt_pass').innerHTML = '<img src="images/ok_15.gif" alt="Mot de passe ok :)" /> <span style="color: #008e47;">OK</span>';		
			document.getElementById(input).style.borderColor = '#00cc00';
		}			
	}
	else {
		if(input == 'pass') document.getElementById('chk_rslt_pass').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Mot de passe :(" /> Mot de passe trop court';						
		document.getElementById(input).style.borderColor = '#cc0000';			
	}
	document.getElementById(input).style.borderStyle = '';		
}

function check_unicity_login(){
	login = document.forms[1].elements[0].value;
	objRequete.open('get', 'tools/datatester.php?login=' + login, true);
	objRequete.onreadystatechange = traiteReponse_login;
	objRequete.send(null);
}

function check_unicity_mail(){
	mail = document.forms[1].elements[2].value;
	objRequete.open('get', 'tools/datatester.php?mail=' + mail, true);
	objRequete.onreadystatechange = traiteReponse_mail;
	objRequete.send(null);
}			

function traiteReponse_login(){
	if(objRequete.readyState == 4){
		login_availability = objRequete.responseText;
		document.getElementById('loading_login').innerHTML = login_availability;
		document.getElementById('loading_login').style.color = 'white';
		if(document.getElementById('loading_login').innerHTML == '1') { 
			login_ok = true;
			document.getElementById('chk_rslt_login').innerHTML = '<img src="images/ok_15.gif" alt="Pseudo ok :)" /> <span style="color: #008e47;">OK</span>';
			document.forms[1].elements[0].style.borderColor = '#00cc00';
			document.getElementById('mail_redir_info').innerHTML = '<strong>' + document.forms[1].elements[0].value.toLowerCase() + '@ruedesremises.com</strong> sera redirig&eacute;e vers votre adresse e-Mail personnelle';
			document.getElementById('mail_redir_info').style.visibility = 'visible';
		}
		else if(document.getElementById('loading_login').innerHTML == '0'){
			login_ok = false;
			document.getElementById('mail_redir_info').innerHTML = '-';
			document.getElementById('mail_redir_info').style.visibility = 'hidden';						
			document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo d&eacute;j&agrave; pris !';
			document.forms[1].elements[0].style.borderColor = '#cc0000';
		}					
	}
	if(objRequete.readyState != 4){
		/*document.getElementById('dial_content').innerHTML = '<p style="text-align: center; width: 490px;"><strong>Chargement...</strong></p>';*/
	}	
}

function traiteReponse_mail(){
	if(objRequete.readyState == 4){
		mail_availability = objRequete.responseText;
		document.getElementById('loading_mail').innerHTML = mail_availability;
		document.getElementById('loading_mail').style.color = 'white';
		if(document.getElementById('loading_mail').innerHTML == '1') { 
			mail_ok = true;
			document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/ok_15.gif" alt="e-Mail ok :)" /> <span style="color: #008e47;">OK</span>';
			document.forms[1].elements[2].style.borderColor = '#00cc00';						
		}
		else if(document.getElementById('loading_mail').innerHTML == '0') { 
			mail_ok = false; 
			document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur l\'Adresse e-Mail :(" /> Adresse e-mail d&eacute;j&agrave; prise';
			document.forms[1].elements[2].style.borderColor = '#cc0000';
		}
	}
	if(objRequete.readyState != 4){
		/*document.getElementById('dial_content').innerHTML = '<p style="text-align: center; width: 490px;"><strong>Chargement...</strong></p>';*/
	}	
}
function focus_info(input){
	document.getElementById(input).style.borderColor = '';
}

function open_reg_form(submit){
	$('cadre_dialog').appear({duration: 1.0});
	//document.getElementById('cadre_dialog').style.display = '';
	if(submit){
		login = document.forms[1].elements[0].value;
		pass = document.forms[1].elements[1].value;
		mail = document.forms[1].elements[2].value;
		code = document.forms[1].elements[4].value;
		objRequete.open('get', 'tools/inscrip_js.php?login=' + login +'&pass=' + pass + '&mail=' + mail + '&rd_cp_code=' + code, true);
	}else objRequete.open('get', 'tools/inscrip_js.php', true);
	objRequete.onreadystatechange = traiteOpeningReg;
	objRequete.send(null);
}

function traiteOpeningReg(){
	if(objRequete.readyState == 4){
		document.getElementById('dial_content').innerHTML = objRequete.responseText;
		objRequete = creeXMLHttpRequestObject();
		reset_captcha();
	}
	if(objRequete.readyState != 4){
		/*document.getElementById('dial_content').innerHTML = '<p style="text-align: center; width: 490px;"><strong>Chargement...</strong></p>';*/
	}
}

function open_renew_form(submit){
	$('cadre_dialog').appear({duration: 1.0});
	//document.getElementById('cadre_dialog').style.display = '';
	if(submit){
		login = document.forms[1].elements[0].value;
		mail = document.forms[1].elements[2].value;
		objRequete.open('get', 'tools/auth.php?mail=' + mail + '&login=' + login + '&renew=' + 1, true);
	}else objRequete.open('get', 'tools/auth.php?renew=' + 1, true);
	objRequete.onreadystatechange = traiteOpeningReg;
	objRequete.send(null);
}

function traiteOpeningrenew(){
	if(objRequete.readyState == 4){
		document.getElementById('dial_content').innerHTML = objRequete.responseText;
		objRequete = creeXMLHttpRequestObject();
	}
	if(objRequete.readyState != 4){
		/*document.getElementById('dial_content').innerHTML = '<p style="text-align: center; width: 490px;"><strong>Chargement...</strong></p>';*/
	}
}

function check_login2(login){
	modele_lettres = /^[a-z]{1}/i; 
	client_input_check = modele_lettres.test(login);
	if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Doit commencer par une lettre';
	else {
		modele_lettres = /^[a-z0-9]+$/i; 
		client_input_check = modele_lettres.test(login);
		if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Caractères sp&eacute;ciaux interdits';
		else{
			modele_lettres = /^[a-z0-9]{4,}$/i; 
			client_input_check = modele_lettres.test(login);
			if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo trop court';
			else {
				modele_lettres = /^[a-z0-9]{4,25}$/i; 
				client_input_check = modele_lettres.test(login);
				if(!client_input_check) document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo trop long';
				else 
				{
					document.getElementById('loading_login').innerHTML = '1'
					document.getElementById('loading_login').style.color = 'white';
					document.getElementById('chk_rslt_login').innerHTML = '<img src="images/ok_15.gif" alt="Pseudo ok :)" /> <span style="color: #008e47;">OK</span>';
					document.forms[1].elements[0].style.borderColor = '#00cc00';
				}
			}
		}
	}
	login_ok = false;
	
	if(client_input_check){
		if(document.getElementById('loading_login').innerHTML == '1') { 
			login_ok = true;
		}
		else if(document.getElementById('loading_login').innerHTML == '0'){ 
			login_ok = false;
			document.getElementById('chk_rslt_login').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur le Pseudo :(" /> Pseudo d&eacute;j&agrave; pris !';						
		}
	}
	if(!login_ok) return false;
	return true;
}

function check_mail2(mail){
	modele_mail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[A-Za-z]{2,4}$/i;
	client_input_check = modele_mail.test(mail);
	mail_ok = false;
	if(client_input_check){
		document.getElementById('loading_mail').innerHTML = '1'
		if(document.getElementById('loading_mail').innerHTML == '1') { 
			mail_ok = true;	
			document.getElementById('loading_mail').style.color = 'white';
			document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/ok_15.gif" alt="e-Mail ok :)" /> <span style="color: #008e47;">OK</span>';
			document.forms[1].elements[2].style.borderColor = '#00cc00';	
		}
		else if(document.getElementById('loading_mail').innerHTML == '0') {
			mail_ok = false; 
			document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur l\'Adresse e-Mail :(" /> Adresse e-mail d&eacute;j&agrave; prise';
		}
	} else document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/nok_15.gif" alt="Erreur sur l\'Adresse e-Mail :(" /> Adresse e-Mail incorrecte';
	if(!mail_ok) return false;
	return true;
}

function check_renew(formulaire){
	if(document.getElementById('loading_login').innerHTML != '1') testinput('login', 0);
	if(document.getElementById('loading_mail').innerHTML != '1' && document.forms[1].elements[2].value == '') testinput('mail', 0);
	// On ne vérifie tout sauf la case qui vient d'&ecirc;tre vérifiée.
	checking_ok = false;
	if(document.getElementById('loading_login').innerHTML == '1') checking_ok = true;
	else checking_ok = false;	
	if(checking_ok){
		if(document.getElementById('loading_mail').innerHTML == '1') checking_ok = true;
		else checking_ok = false;
	}
	if(checking_ok) {
		document.getElementById('chk_rslt_mail').innerHTML = '<img src="images/ok_15.gif" alt="Adresse e-Mail ok :)" /> <span style="color: #008e47;">OK</span>'; 
		document.getElementById('submit_button').disabled = true;
		open_renew_form(1);
	}
}

function reset_captcha(){
	document.images.cryptogram.src='/tools/captcha/captcha.php?cfg=&&'+Math.round(Math.random(0)*1000)+1;
}
