var inscriptionIsOpen = false;
var connectionIsOpen = false;

function openInscription(){
		var div = document.getElementById('formulaire_inscription');
		new Effect.BlindDown(div);
		inscriptionIsOpen = true;
		//new Effect.Appear(div);
}

function closeInscription(){
	var div = document.getElementById('formulaire_inscription');
	new Effect.BlindUp(div);
	inscriptionIsOpen = false;
	//new Effect.Fade(div);
}

function openConnection(){
		var div = document.getElementById('formulaire_identification');
		new Effect.BlindDown(div);
		connectionIsOpen = true;
		//new Effect.Appear(div);
}

function closeConnection(){
		var div = document.getElementById('formulaire_identification');
		new Effect.BlindUp(div);
		connectionIsOpen = false;
}

function choixInscription(){
	if(connectionIsOpen == true){
		closeConnection();
		openInscription();
	} else if(inscriptionIsOpen == true){
		closeInscription();
	} else {
		openInscription();
	}
}

function choixConnection(){
	if(inscriptionIsOpen == true){
		closeInscription();
		openConnection();
	} else if(connectionIsOpen == true){
		closeConnection();
	} else {
		openConnection();
	}
}

function testAnEmail(champ,champInfo){

	var email = $(champ).value;
	var modele = /^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,5}$/i;
	if (modele.test(email) && email !=""){
		$(champInfo).value=emailMessValid;
		champValid=true;
	}else if (email ==""){
		$(champInfo).value=emailMessEmpty;
		champValid=false;
	}else{
		$(champInfo).value=emailMessNotValid;
		champValid=false;
	}
	return champValid;
}

function testAPass(champ1,champ2,champInfo){
	if($(champ1).value == "" || $(champ2).value == ""){
		$(champInfo).value=passMessEmpty;
		champValid=false;
	}else if($(champ1).value == $(champ2).value){
		$(champInfo).value=passMessValid;
		champValid=true;
	}else{
		$(champInfo).value=passMessNotValid;
		champValid=false;
	}
	return champValid;
}

function newPassFormValid(urlaction){
	if(testAPass('new_pass1','new_pass2','new_pass_info')){
			document.location.href= urlaction + $('new_pass1').value;
	}else{
		alert(passMessNotValid);
	}
}

function contactFormValid(){
	if(testAnEmail('contact_email','contact_email_info')){
		if(
			$('contact_message').value != ""
			|| $('contact_nom').value != ""
			|| $('contact_prenom').value != ""
			|| $('contact_adresse').value != ""
			|| $('contact_telephone').value != ""
		){
			$('form_contact').submit();
		}else{
			alert(defaultText);
		}
	}else{
		alert(emailMessNotValid);
	}
}


var form = 'form_inscription';

var champEmail = 'email';
var champEmailValid = false;
var champEmailInfo = 'email_info';
var emailMessValid = 'Cet email est valide';
var emailMessNotValid = "Cet email n'est pas valide";
var emailMessExist = "Cet email est déjà utilisé par un autre utilisateur";
var emailMessEmpty = 'Inserer un email';


var champLogin = 'login';
var champLoginValid = false;
var champLoginInfo = 'login_info';
var loginMessValid = 'Ce login est valide';
var loginMessNotValid = 'Ce login n\'est pas valide ou existe déjà';
var loginMessEmpty = 'Insérez un login';

var champPass1 = 'password';
var champPass2 = 'password2';
var champPassValid = false;
var champPassInfo = 'pass_info';
var passMessValid = 'Ce mot de passe est valide';
var passMessNotValid = 'Ce mot de passe n\'est pas valide';
var passMessEmpty = 'Insérez un mot de passe';

var champSubmit = 'soumettre';
var defaultText = 'Remplissez tous les champs';
var valideText = 'Validez';


function verifChampsObligatoires(){
	var f = document.form_inscription;
	var isValid = true;
	for(var i = 0; i < f.elements.length-1 ; i++){
		if(
			f.elements[i].name == 'nom' ||
			f.elements[i].name == 'prenom' ||
			f.elements[i].name == 'login' ||
			f.elements[i].name == 'password' ||
			f.elements[i].name == 'password2' ||
			f.elements[i].name == 'email'
			){
				
			if(f.elements[i].value == ""){
				isValid = false;
			}
		}
	}
	
	return isValid;
}


function requeteAsynchrone(url){
	rqt=new Ajax.Request(url, {asynchronous:false,onSuccess:function(t){myVar=t.responseText}});
	return myVar;
}

function testEmail(){

	var email = $(champEmail).value;
	var modele = /^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,5}$/i;
	if (modele.test(email) && email !=""){
		reponse=requeteAsynchrone('inc/php/testEmail.php?email=' + email + '');
		if(reponse=='true'){
			$(champEmailInfo).value=emailMessExist;
			champEmailValid=false;
		}else{
			$(champEmailInfo).value=emailMessValid;
			champEmailValid=true;
		}
		
	}else if (email ==""){
		$(champEmailInfo).value=emailMessEmpty;
		champEmailValid=false;
	}else{
		$(champEmailInfo).value=emailMessNotValid;
		champEmailValid=false;
	}
	
}

function testLogin(){
	var login = $(champLogin).value;
	reponse=requeteAsynchrone('inc/php/testLogin.php?login=' + login + '');
	if(login==""){
		reponse="";
	}
	
	if(reponse=="true"){
		$(champLoginInfo).value=loginMessNotValid;
		champLoginValid=false;
	}else if(reponse=="false"){
		$(champLoginInfo).value=loginMessValid;
		champLoginValid=true;
	}else{
		$(champLoginInfo).value=loginMessEmpty;
		champLoginValid=false;
	}

}

function testPass(){
	if($(champPass1).value==$(champPass2).value){
		$(champPassInfo).value=passMessValid;
		champPassValid=true;
	}else if($(champPass1).value!="" && $(champPass2).value!=""){
		$(champPassInfo).value=passMessNotValid;
		champPassValid=false;
	}else{
		$(champPassInfo).value=passMessEmpty;
		champPassValid=false;
	}

}

function testForm(){
	testEmail();
	testLogin();
	testPass();
	
	if(champLoginValid && champEmailValid && champPassValid && verifChampsObligatoires()){
		var param = "";
		for(var i = 0; i < $('form_inscription').elements.length ; i++){
			if(
				$('form_inscription').elements[i].name == 'nom' ||
				$('form_inscription').elements[i].name == 'prenom' ||
				$('form_inscription').elements[i].name == 'login' ||
				$('form_inscription').elements[i].name == 'password' ||
				$('form_inscription').elements[i].name == 'email' ||
				$('form_inscription').elements[i].name == 'raison_social' ||
				$('form_inscription').elements[i].name == 'adresse' ||
				$('form_inscription').elements[i].name == 'telephone' ||
				($('form_inscription').elements[i].name == 'genre' && $('form_inscription').elements[i].checked == true)
				)
			{
				param = param + "&" + $('form_inscription').elements[i].name + "=" + $('form_inscription').elements[i].value + "";
			}
		}
		retour = requeteAsynchrone('inc/php/inscription.php?valid=true' + param + '');
		alert (retour);
		closeInscription()
	}else{
		alert(defaultText);
	}
}



