/*******************/
/*   register.js   */
/*******************/

/////// LANG ////////
if(langGlobal == "fr"){
  var reg_msg_pseudo_vide = "Le nom d'utilisateur ne peut pas être vide...";
  var reg_msg_pseudo_taille = "Le nom d'utilisateur doit faire entre 3 et 15 caractères";
  var reg_msg_pseudo_spec = "Le nom d'utilisateur comporte des espaces ou des carractères spéciaux";
  var reg_msg_pseudo_prit = "Ce nom d'utilisateur est déjà utilisé";
  var reg_msg_email_valid = "Merci d'entrer une adresse email valide (en minuscule)";
  var reg_msg_email_prit = "Cette adresse e-mail est déjà prise !";
  var reg_msg_pass_petit = "Le mot de passe est trop court (5 caractères minimum)";
  var prb_msg_mail_nok = "Cette adresse email est invalide ou n'existe pas !";
}else{
  var reg_msg_pseudo_vide = "Your username can't be empty";
  var reg_msg_pseudo_taille = "Your username should be between 3 and 15 characters";
  var reg_msg_pseudo_spec = "You can't use special characters or spaces in your username";
  var reg_msg_pseudo_prit = "This username is already in use !";
  var reg_msg_email_valid = "Please provide a valid email address";
  var reg_msg_email_prit = "This e-mail address is already in use !";
  var reg_msg_pass_petit = "Password is too short (5 characters min)";
  var prb_msg_mail_nok = "This e-mail address is incorrect or doesn't exist";
}

////// END LANG ///////

	function open_sign_up_box() {
		window.document.getElementById("hejoramaSignup").style.display="block";
		window.document.getElementById("hejoramaLogin").style.display="none";
		window.document.getElementById("probLogin").style.display="none";
	}
	function close_sign_up_box() {
		window.document.getElementById("hejoramaSignup").style.display="none";
	}
	function open_login_up_box() {
		window.document.getElementById("hejoramaLogin").style.display="block";
		window.document.getElementById("hejoramaSignup").style.display="none";
		window.document.getElementById("probLogin").style.display="none";
	}
	function close_login_up_box() {
		window.document.getElementById("hejoramaLogin").style.display="none";
	}	
	function open_prob_up_box() {
		window.document.getElementById("probLogin").style.display="block";
		window.document.getElementById("hejoramaSignup").style.display="none";
		window.document.getElementById("hejoramaLogin").style.display="none";
	}
	function close_prob_up_box() {
		window.document.getElementById("probLogin").style.display="none";
	}	

function validate_registration() {
	var div_main = window.document.getElementById("signup_form");	
	var div_loading = window.document.getElementById("loadingSignup");	
	var div_confirm = window.document.getElementById("confirmSignup");
		
	var input_email=window.document.getElementById("reg_email");
	var input_user=window.document.getElementById("reg_user");
	var input_pass=window.document.getElementById("reg_pass");
				
	var div_err_email=window.document.getElementById("reg_err_email");
	var div_err_user=window.document.getElementById("reg_err_user");
	var div_err_pass=window.document.getElementById("reg_err_pass");
		
	mail_state=verifieMail(input_email.value);
	user_state=verifiePseudo(input_user.value);
	pass_state=verifiePassword(input_pass.value);

	if (! mail_state) {
		div_err_email.style.display="block";
		input_email.style.border="solid 1px #f09";
	} else {
		div_err_email.style.display="none";
		input_email.style.border="solid 1px #ccc";
	}
	if (! user_state) {
		div_err_user.style.display="block";
		input_user.style.border="solid 1px #f09";
	} else {
		div_err_user.style.display="none";
		input_user.style.border="solid 1px #ccc";
	}
	if (! pass_state) {
		div_err_pass.style.display="block";
		input_pass.style.border="solid 1px #f09";
	} else {
		div_err_pass.style.display="none";
		input_pass.style.border="solid 1px #ccc";
	}
	
	if(mail_state && user_state && pass_state) {
		
		div_main.style.display="none";
		div_loading.style.display="block";

		/* Tout est ok cote client, on envoi la requete au serveur !*/
		registerRequestServerAsynch('includes/ajax_create_user.php?email='+input_email.value+'&user='+input_user.value+'&password='+input_pass.value);

	}
	
	
}



function verifieMail(mail){
	var div_err_email=window.document.getElementById("reg_err_email");
	
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
	if(! reg.test(mail)) {
		div_err_email.innerHTML=reg_msg_email_valid;
		return(false);
	}
	
	/* Vérifie l'unicité du mail */
	var mail_unique = registerRequestServer('includes/ajax_verifmail.php?mail='+escape(mail));
	if (mail_unique == 1){
		div_err_email.innerHTML=reg_msg_email_prit;
		return(false);
	} else if (mail_unique == 2) {
		return (true)
	}	
	
	
}

function verifiePseudo(pseudo){
	var div_err_user=window.document.getElementById("reg_err_user");
	
	if(pseudo.length<3 || pseudo.length > 15 || pseudo == '') {
		div_err_user.innerHTML=reg_msg_pseudo_taille;
		return(false);
	}

	var reg = new RegExp('^[a-z0-9]{3,15}$', 'i');
	if(! reg.test(pseudo)) {
		div_err_user.innerHTML=reg_msg_pseudo_spec;
		return(false);
	}	
		
	/* Vérifie l'unicité du pseudo */
	var pseudo_unique = registerRequestServer('includes/ajax_verifpseudo.php?pseudo='+escape(pseudo));
	if (pseudo_unique == 1){
		div_err_user.innerHTML=reg_msg_pseudo_prit;
		return(false);
	} else if (pseudo_unique == 2) {
		return (true);
	}
}

function verifiePassword(password) {
	var div_err_pass=window.document.getElementById("reg_err_pass");
	
	if(password.length<5) {
		div_err_pass.innerHTML=reg_msg_pass_petit; 
		return(false);
	}
	return (true);
}


function registerRequestServer(fichier){
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
		else return(false);
}


function registerRequestServerAsynch(fichier){
	
	var div_loading = window.document.getElementById("loadingSignup");	
	var div_confirm = window.document.getElementById("confirmSignup");
	var div_error = window.document.getElementById("errorSignup");
	
	
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
	xhr_object.open("GET", fichier, true);
	
	
	xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) {
				
				//alert(xhr_object.responseText);
				if(xhr_object.responseText=="OK") {
					div_loading.style.display="none";
					div_confirm.style.display="block";				
				} else {
					div_loading.style.display="none";
					div_error.style.display="block";						
				}
			} else { 
				return(false);
			}	
	}
	xhr_object.send(null);
	
}


function validate_problem() {
	
	var input_email=window.document.getElementById("prob_email");
	var prob_err_email=window.document.getElementById("prob_err_email");
	var div_loading = window.document.getElementById("loadingProb");
	var div_main = window.document.getElementById("prob_form");
	
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
	if(! reg.test(input_email.value)) {
		prob_err_email.innerHTML=prb_msg_mail_nok;
		prob_err_email.style.display="block";
		input_email.style.border="solid 1px #f09";
		return(false);
	}
	
	var mail_unique = registerRequestServer('includes/ajax_verifmail.php?mail='+escape(input_email.value));
	if (mail_unique == 2){
		prob_err_email.innerHTML=prb_msg_mail_nok;
		prob_err_email.style.display="block";
		input_email.style.border="solid 1px #f09";
	} else if (mail_unique == 1) {
		prob_err_email.style.display="none";
		input_email.style.border="solid 1px #ccc";
		
		div_main.style.display="none";
		div_loading.style.display="block";

		probRequestServerAsynch('includes/ajax_send_password.php?email='+input_email.value);
	}
}


function probRequestServerAsynch(fichier){
	var div_loading = window.document.getElementById("loadingProb");	
	var div_confirm = window.document.getElementById("confirmProb");
	var div_error = window.document.getElementById("errorProb");
	
			
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
	xhr_object.open("GET", fichier, true);
	
	
	xhr_object.onreadystatechange = function() {
			if(xhr_object.readyState == 4) {
				//alert(xhr_object.responseText);
				if(xhr_object.responseText=="OK") {
					
					div_loading.style.display="none";
					div_confirm.style.display="block";				
				} else {
					div_loading.style.display="none";
					div_error.style.display="block";						
				}
			} else { 
				return(false);
			}	
	}
	xhr_object.send(null);
	
}
