/*
	Cette librairie s'occupe du test à l'envoie des formulaires
*/


/*
	PRE-CONDITION : 	* champEmail est l'objet de type input text
						* champEmail.value contient la valeur saisie par l'utilisateur
						* testerVide est initialisé et est true si l'utilisateur veut que 
						  	la fonction teste si l'utilisateur a bien saisi une adresse email
						* messageErreur est initialisé et contient le message d'erreur qui 
							sera affiché à l'utilisateur en cas d'erreur
	POST-CONDITION : 	testEmail est true si la valeur du champ champEmail respecte la synthaxe des adresses emails sinon false
*/
function testEmail(champEmail,testerVide,couleurTrue,couleurFalse){
	var validite=true;
	if(testerVide && champEmail.value.search(/\w/) == -1) validite=false;
	
	if(champEmail.value.search(/\w/) != -1){
		var Email = champEmail.value;
		var place = Email.indexOf("@",1);
		var point = Email.indexOf(".",place+1);									
		if ((place <= -1) ||(Email.length <=2)||(point <= 1) || ((point+1)==Email.length)) validite=false;						
	}
			
	if(!validite) champEmail.style.border=couleurFalse;	
	else champEmail.style.border=couleurTrue;

	return validite;
}


/*
	PRE-CONDITION :		* champ est l'objet de type input text
						* champ.value contient la valeur saisie par l'utilisateur dont la fonction doit tester si le champ est vide
						* couleurTrue est initialisé 
	POST-CONDITION :	* testerVide est true si le champ.value est différent du vide sinon false
						* champ.style.border vaut couleurTrue si champ.value est différent du vide sinon il vaut couleurFalse
*/
function testerVide(champ,couleurTrue,couleurFalse){
	var validite=true;
	
	if(champ.value.search(/\w/)==-1){
		validite=false;
		champ.style.border=couleurFalse;
	}
	else{
		champ.style.border=couleurTrue;
	}
	return validite;
}


/*
	PRE-CONDITION : * champ est l'objet de type select à tester
	                * couleurTrue est la propriété de la bordure du select si le champ "champ" n'est pas vide
					* couleurFalse est la propriété de la bordure du select si le champ "champ" est vide
					* messageErreur est le message d'erreur affiché. Si vous ne souhaitez pas de message d'erreur laissez le vide
	POST-CONDITION : * testerVide_select est true si on a sélectionné un élément (différent du vide) sinon false
*/
function testerVide_select(champ,couleurTrue,couleurFalse,messageErreur){
	var validite=true;
	
	if(champ.options.selectedIndex==-1){
		validite=false;	
		champ.style.border=couleurFalse;
	}
	else champ.style.border=couleurTrue;
	
	if(messageErreur.length>0 && !validite)	alert(messageErreur);

	return validite;
}




function TestCommande(){
	var couleurTrue = '1px solid #cccccc';
	var couleurFalse = '1px solid #FF0000';
	var Error = "";
	
	if(!testEmail(document.formulaire.Mail,true,couleurTrue,couleurFalse))
		Error += "       - L'adresse eMail\n";
		
	if(!testerVide(document.formulaire.Nom,couleurTrue,couleurFalse))
		Error += "       - Le Nom\n";
		
	if(!testerVide(document.formulaire.Tel,couleurTrue,couleurFalse))
		Error += "       - Le numéro de téléphone\n";
		
	if(!document.formulaire.cond_vente.checked == true){
		Error += "       - Vous devez accepter les conditions de vente\n";
	}
		
	if(Error.length>0){
		alert("Veuillez verifier les donnees suivantes :\n"+Error);
	}
	else{
		if(confirm('Etes vous sur de vouloir commander les articles ?'))
			document.formulaire.submit();
			
	}
}

function TestContact(){
	var couleurTrue = '1px solid #cccccc';
	var couleurFalse = '1px solid #FF0000';
	var Error = "";
	
	document.formulaire.action=document.formulaire.action+'&valid=1';
	
	if(!testEmail(document.formulaire.Mail,true,couleurTrue,couleurFalse))
		Error += "       - L'adresse eMail\n";
		
	if(!testerVide(document.formulaire.Nom,couleurTrue,couleurFalse))
		Error += "       - Le Nom\n";
		
	if(Error.length>0){
		alert("Veuillez verifier les donnees suivantes :\n"+Error);
	}
	else{
			document.formulaire.submit();
	}
}

function TestClub(){
	var couleurTrue = '1px solid #cccccc';
	var couleurFalse = '1px solid #FF0000';
	var Error = "";
	
	if(!testEmail(document.formulaire.Mail,true,couleurTrue,couleurFalse))
		Error += "       - L'adresse eMail\n";
		
	if(!testerVide(document.formulaire.Nom,couleurTrue,couleurFalse))
		Error += "       - Le Nom\n";
		
	if(!document.formulaire.Email_Check.checked == true)
		Error += "       - Pour vous inscrire au club privilège, vous devez autoriser Sobelvin à vous envoyer les emails d'informations\n";
		
	if(Error.length>0){
		alert("Veuillez verifier les donnees suivantes :\n"+Error);
	}
	else{
			document.formulaire.submit();
	}
}

