//Déclaration de variables
var EtatChamps;
var testform;
var ErreurMessage;
var bOverAvisPb;

//Affiche la fenêtre d'identification en overlayer
function affiche_overlayer_avis(bOverAvisPb)
{

	if(bOverAvisPb == '1') //Retour client non existant
	{
		document.getElementById('divErreurEncart').innerHTML = "ATTENTION : Identification incorrecte";
		document.getElementById('divErreurEncart').style.display='block';
	}
	else if(bOverAvisPb == '2')
	{
		document.getElementById('divErreurCompte').innerHTML = "ATTENTION : Ce compte client existe déjà. Veuillez vous connecter ou créer un nouveau compte.";
		document.getElementById('divErreurCompte').style.display='block';
	}
	else if(bOverAvisPb == '3')
	{
		document.getElementById('divErreurCompte').innerHTML = "ATTENTION : Ce pseudo existe déjà. Veuillez renseigner un autre pseudo.";
		document.getElementById('divErreurCompte').style.display='block';
	}
		
	// griser la fenêtre principale
	//document.getElementById('main').className = 'maindisabled_bv';
		
	// afficher la fenêtre overlayer
	//alert('toto');
	document.getElementById('overlayerAvis').style.display = 'block';

}

//Cache la fenêtre d'identification 
function cache_overlayer_avis()
{

	// cacher la fenêtre overlayer
	document.getElementById('overlayerAvis').style.display = 'none';
	//document.getElementById('DivOverlayerBackground').className = '';

}

//Vérifie la saisie du compte Déjà Client
function checkpass()
{
		var testform = 0;
		var emailtrim;
		var email_init;

		//On teste la validité de l'email
		var re;

		re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/;

		//emailtrim = trim(document.PASSWORD.email.value);
		emailtrim = document.PASSWORD.i_email.value;

		if (re.test(emailtrim) == false ) 
			{
			document.PASSWORD.i_email.focus();
			alert("Entrez un email valide sous la forme nom_utilisateur@nom_domaine");
			testform = 1 ;
			}

		if (testform == 0 && document.PASSWORD.i_mdp.value == "") 
			{
			document.PASSWORD.i_mdp.focus();
			alert("Vous devez saisir un mot de passe");
			testform = 1 ;
			}

      if (testform == 0)
		{document.PASSWORD.submit();}
}

//Vérifie la saisie de création de compte
function checkdetail()
{
		var action = document.DETAILCLIENT.bvaction.value;
		var testform = 0;
		
		if (action == "CREATION") 
		{		
			if (testform == 0 && document.DETAILCLIENT.c_email.value == "") {
				document.DETAILCLIENT.c_email.focus();
				alert("Vous devez saisir votre email");
				testform = 1 ;
			}
			if (testform == 0 && document.DETAILCLIENT.c_email_copy.value == "") {
				document.DETAILCLIENT.c_email_copy.focus();
				alert("Vous devez confirmer votre email");
				testform = 1 ;
			}			
			if (testform == 0 && document.DETAILCLIENT.c_mdp.value == "") {
				document.DETAILCLIENT.c_mdp.focus();
				alert("Vous devez saisir un mot de passe");
				testform = 1 ;
			}			
			if (testform == 0 && document.DETAILCLIENT.c_mdp_copy.value == "") {
				document.DETAILCLIENT.c_mdp_copy.focus();
				alert("Vous devez confirmer votre mot de passe");
				testform = 1 ;
			}				
			if (testform == 0 && document.DETAILCLIENT.c_nom.value == "") {
				document.DETAILCLIENT.c_nom.focus();
				alert("Vous devez saisir votre nom");
				testform = 1 ;
			}			
			if (testform == 0 && document.DETAILCLIENT.c_prenom.value == "") {
				document.DETAILCLIENT.c_prenom.focus();
				alert("Vous devez saisir votre prenom");
				testform = 1 ;
			}			
			if (testform == 0 && document.DETAILCLIENT.c_pseudo.value == "") {
				document.DETAILCLIENT.c_pseudo.focus();
				alert("Vous devez saisir un pseudo");
				testform = 1 ;
			}					
			if (testform == 0) {
				verifValiditeChamps('picto_c_email',''+document.getElementsByName('c_email')+'','c_email','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_email_copy',''+document.getElementsByName('c_email_copy')+'','c_email_copy','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_mdp',''+document.getElementsByName('c_mdp')+'','c_mdp','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_mdp_copy',''+document.getElementsByName('c_mdp_copy')+'','c_mdp_copy','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_pseudo',''+document.getElementsByName('c_pseudo')+'','c_pseudo','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_nom',''+document.getElementsByName('c_nom')+'','c_nom','divErreurCompte');
				testform=EtatChamps;
			}
			if (testform == 0) {
				verifValiditeChamps('picto_c_prenom',''+document.getElementsByName('c_prenom')+'','c_prenom','divErreurCompte');
				testform=EtatChamps;
			}
		}else if (action== "MODIFICATION")
		{
			if (testform == 0 && document.DETAILCLIENT.m_pseudo.value == "") {
				document.DETAILCLIENT.m_pseudo.focus();
				alert("Vous devez saisir un pseudo");				
				testform = 1 ;
			}					
			if (testform == 0) {
				verifValiditeChamps('picto_m_pseudo',''+document.getElementsByName('m_pseudo')+'','m_pseudo','divErreurCompte');
				testform=EtatChamps;
			}		
		}

		if (testform == 0 && document.DETAILCLIENT.bActivationJeu.value == "1") {
			if (document.DETAILCLIENT.CheckParticiper.checked=="" ) {
				if(document.DETAILCLIENT.CheckAnomnyme.checked==""){
					var question = confirm("Voulez-vous participer à notre jeu concours ?\nIl vous suffit de cocher la case de participation.");
					if (question==true) {
						testform = 1;
					}else{
						testform = 0;
					}			
				}else{
					alert("Pour que votre participation soit prise en compte, cochez la case de participation");
					testform = 1 ;
				}
			}		
		}	
		
		if (testform == 0)
		{document.DETAILCLIENT.submit();}		
		
}


function keyEnter(s) 
{
      if (event.keyCode == 13) {
			if (s == "PASS") {
				checkpass();
			}
		}
}

//verfie la validite des champs, s'occuppe de changer les pictos et d'afficher les messages d'erreurs
function verifValiditeChamps(nomChampsImage,texte,nomChampsATester,divBlock)
{
	this.nomChampsImage=nomChampsImage;
	this.texte=texte;
	this.nomChampsATester=nomChampsATester;
	this.divBlock=divBlock;

	//Etat Champs prend 4 valeur : -1(indefini),0(ok),1(faux),2(obligatoire)
	EtatChamps=-1;

	if(this.texte.value=='')
	{
		EtatChamps=2;
		modifPictoChamps(this.nomChampsImage,EtatChamps);
	}

	else
	{

		switch(this.nomChampsATester)
		{
			// IDENTIFICATION
			case 'i_email'   	: EtatChamps=Check_email('i');break;
			case 'i_mdp'     	: EtatChamps=Check_mdp('i');break;

			//CREATION
			case 'c_email'      : EtatChamps=Check_email('c');break;
			case 'c_email_copy' : EtatChamps=Check_email('copy');break;
			case 'c_mdp'        : EtatChamps=Check_mdp('c');break;
			case 'c_mdp_copy'   : EtatChamps=Check_mdp('copy');break;
			case 'c_pseudo'     : EtatChamps=Check_pseudo('c');break;
			case 'c_nom'        : EtatChamps=Check_nom();break;
			case 'c_prenom'     : EtatChamps=Check_prenom();break;

			//MODIFICATION
			case 'm_pseudo'     : EtatChamps=Check_pseudo('m');break;	

			default             : break;
		}

		if(this.divBlock!='aucun')
		{
			document.getElementById(this.divBlock).innerHTML = "ATTENTION : "+ErreurMessage

		  if(EtatChamps==1)
			{
				document.getElementById(this.divBlock).style.display='block';
			}
		  else
			{
				document.getElementById(this.divBlock).style.display='none';
			}

		}

	}

	modifPictoChamps(this.nomChampsImage,EtatChamps);

}

function Check_email(action)
{
      testform=0;

      //Check de l'intégrité de l'adresse email
      var re;

      re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/;
	  
	  if (action =="i") //IDENTIFICATION
		{
			if (testform == 0 && re.test(document.PASSWORD.i_email.value) == false) {
				ErreurMessage="Entrez un email valide sous la forme nom_utilisateur@nom_domaine";
				testform = 1 ;
			}
		}
	  else if (action =="c") //CREATION
		{
			if (testform == 0 && re.test(document.DETAILCLIENT.c_email.value) == false) {
				ErreurMessage="Entrez un email valide sous la forme nom_utilisateur@nom_domaine";
				testform = 1 ;
			}
		}
	  else if (action =="copy") // CREATION confirmation d'email
		{
			if (testform == 0 && document.DETAILCLIENT.c_email.value != document.DETAILCLIENT.c_email_copy.value) {	
				ErreurMessage="Les deux emails saisis ne correspondent pas";
				testform = 1;
			}
		}		
	
      return testform;
}

function Check_mdp(action)
{
      testform=0;
	  
 	  if (action =="i") //IDENTIFICATION
		{
			return 0;
		}
	  else if (action =="c") //CREATION
		{
			if (testform == 0 && (document.DETAILCLIENT.c_mdp.value.length <= 4 || document.DETAILCLIENT.c_mdp.value.length >= 15)) {
				document.DETAILCLIENT.c_mdp.focus();
				ErreurMessage="Votre mot de passe doit contenir entre 5 et 15 caractères";
				testform = 1;
			}
		}
	  else if (action =="copy") // CREATION confirmation d'email
		{
		    if (testform == 0 && document.DETAILCLIENT.c_mdp.value != document.DETAILCLIENT.c_mdp_copy.value) {
				ErreurMessage="Les deux mots de passe saisis ne correspondent pas";
				testform = 1;
		    }
		}		
      return testform;
 }

function Check_pseudo(action)
{
	testform=0;

    //Check de l'intégrité de l'adresse email
    var re;

    re = /[^\w-_.\s]/;
	  
	if (action =="c") //CREATION
	{
		if (testform == 0 && document.DETAILCLIENT.c_pseudo.value.length >= 50) {
			document.DETAILCLIENT.c_pseudo.focus();
			ErreurMessage="Votre pseudo ne doit pas dépasser 50 caractères";
			testform = 1;
		}
		
		if (testform == 0 && re.test(document.DETAILCLIENT.c_pseudo.value) == true) {
			ErreurMessage="Entrez un pseudo valide";
			testform = 1 ;
		}	
	}
	else if (action =="m") // MODIFICATION
	{
		if (testform == 0 && document.DETAILCLIENT.m_pseudo.value.length >= 50) {
			document.DETAILCLIENT.m_pseudo.focus();
			ErreurMessage="Votre pseudo doit contenir entre 5 et 50 caractères";
			testform = 1;
		}
		
		if (testform == 0 && re.test(document.DETAILCLIENT.m_pseudo.value) == true) {
			ErreurMessage="Entrez un pseudo valide";
			testform = 1 ;
		}			
	}		
	return testform;
 } 
 
function Check_nom()
{
	testform = 0;

	var re=/^[A-Za-zÀ-ÿ]+([\-\'\s]?[A-Za-zÀ-ÿ]+)*$/;

	if (testform == 0 && re.test(document.DETAILCLIENT.c_nom.value) == false) {
		ErreurMessage="Saisie incorrecte du nom";
		testform = 1 ;
	}

	if (testform == 0 && eval('document.DETAILCLIENT.c_nom.value.length') > 35) {
		ErreurMessage="Votre nom ne doit pas faire plus de 35 caractères";
		testform = 1 ;
	}

	return testform;
}

function Check_prenom()
{
	testform=0;

	var re=/^[A-Za-zÀ-ÿ]+([\-\'\s]?[A-Za-zÀ-ÿ]+)*$/;
	
	if (testform == 0 && re.test(document.DETAILCLIENT.c_prenom.value) == false) {
		ErreurMessage="Saisie incorrecte du prénom";
		testform = 1 ;
	}
	

	if (testform == 0 && eval('document.DETAILCLIENT.c_prenom.value.length') > 35) {
		ErreurMessage="Votre prénom ne doit pas faire plus de 35 caractères";
		testform = 1 ;
	}
	
	return testform;
}

//function permettant de modifier le picto d'indication si un champs est bon ou non
function modifPictoChamps(nomChampsImage,valeur)
{
    this.nomChampsImage=nomChampsImage;
    this.valeur=valeur;
	if(this.document.images[this.nomChampsImage]!=null)
	    {
			switch(valeur)
				{
				case 0 : this.document.images[this.nomChampsImage].src="http://ak.cdiscount.com/imagesok/shipping/vosinfosRelook/picto-ok.gif";break;
				case 1 : this.document.images[this.nomChampsImage].src="http://ak.cdiscount.com/imagesok/shipping/vosinfosRelook/picto-faux.gif";break;
				case 2 : this.document.images[this.nomChampsImage].src="http://ak.cdiscount.com/imagesok/shipping/vosinfosRelook/picto-obligatoire.gif";break;
				//default : alert("Erreur de valeur de picto");break;
				}
		}
	  
}

//permet d'ecrire des message d'erreur a partir de n'importe quel endroit du code, sur n'importe quel block
function MessageErreurPerso(nomChampsImage,divBlock,ErreurMessage)
{
      
	this.nomChampsImage=nomChampsImage;
    this.divBlock=divBlock;

    if(this.divBlock!='aucun')
		{
			document.getElementById(this.divBlock).innerHTML = "ATTENTION : "+ErreurMessage
			document.getElementById(this.divBlock).style.display='block';
		}
		
      modifPictoChamps(this.nomChampsImage,1);
}
 
