/***** Fonctions de controles de l'inscription *****/

var DivID_en_erreur = "NO";

function erase_message_erreur_and_warning()
{
	var message = "";
	var obj = document.getElementById("erreur");
	obj.className = "cache";
	obj.innerHTML = '<'+'p'+'>'+'<'+'br'+'>'+'<'+'/p'+'>';

	if ( DivID_en_erreur != "NO" )
	{
		obj = document.getElementById(DivID_en_erreur);
		obj.className = "infoA";
		DivID_en_erreur = "NO";
	}
}

function affiche_mess_erreur_warning(idDiv, message)
{
	// Affiche un message d erreur et place un warning
	DivID_en_erreur = idDiv;
	var obj = document.getElementById(DivID_en_erreur);
	obj.className = "infoA erreur";

	obj = document.getElementById("erreur");
	obj.className = "erreur";
	obj.innerHTML = message;
	window.scrollTo(0,200);
}


// DI 38 REF B 301
// cette fonction est appelée pour initialiser la zone raison sociale en fonction du type
function Init_Type (formulaire,onload) 
{
	formulaire._raison_sociale.disabled = false;
	if ( formulaire._type.value == "part" )
	{
		// il faut indiquer aucune et invalider la zone raison sociale
		formulaire._raison_sociale.value = "Aucune";
		formulaire._raison_sociale.disabled = true;
		// Ne pas afficher l'étoile pour l'obligation du champ raison sociale.
		obj = document.getElementById("etoile_rs");
		obj.className = "etoile_rs";
		obj.innerHTML = "<label for=\"lieuDeLivraison\" class=\"dotted\">"+js_msg_raison_sociale+"&nbsp;:</label>";
		
		// Ne pas afficher le champ Fonction (en fait afficher en grisé sinon avec IE on a des lignes vides)
		formulaire._fonction.value = "0";
		formulaire._fonction.disabled = true;
		// Ne pas afficher le champ Effectif (en fait afficher en grisé sinon avec IE on a des lignes vides)
		formulaire._effectif.value = "0";
		formulaire._effectif.disabled = true;
		// Ne pas afficher le champ Activite (en fait afficher en grisé sinon avec IE on a des lignes vides)
		formulaire._activite.value = "0";
		formulaire._activite.disabled = true;

		// Ne pas afficher le champ Numero client Jouve (en fait afficher en grisé sinon avec IE on a des lignes vides)
		formulaire._numJouve.value = "<n/a>";
		formulaire._numJouve.disabled = true;

	}
	else
	{
		// il faut vider indiquer aucune et invalider la zone raison sociale
		if (onload == false)
		{
			formulaire._raison_sociale.value = "";
		}
		formulaire._raison_sociale.disabled = false;
		// Afficher l'étoile pour l'obligation du champ raison sociale.
		obj = document.getElementById("etoile_rs");
		obj.className = "etoile_rs";
		obj.innerHTML = "<label for=\"lieuDeLivraison\" class=\"dotted\">"+js_msg_raison_sociale+"<span class=\"obligatoire\">*</span>&nbsp;:</label>";
		// Ne pas afficher le champ Fonction
		formulaire._fonction.disabled = false;
		// Ne pas afficher le champ Effectif
		formulaire._effectif.disabled = false;
		// Ne pas afficher le champ Activite
		formulaire._activite.disabled = false;

		// Afficher le champ Numero client Jouve
		// NCI 19/09/2006 : uniquement si formulaire._numJouve.value = "<n/a>"
		if(formulaire._numJouve.value == "<n/a>")
		{
			formulaire._numJouve.value = "";
			formulaire._numJouve.disabled = false;
		}
	}
}

// DI 38 REF B 301
// cette fonction est appelée sur le Onchange du type 
// elle initialise la zone raison sociale
function Valider_Type (formulaire) 
{
	var ok = Valider_Type_for_Valider_Inscription (formulaire) ;
	if ( ok == 1)
	{
		Init_Type (formulaire,false);
	}
	return ok;
}

// DI 38 REF B 301
// cette fonction est appelée for la validation du formulaire
function Valider_Type_for_Valider_Inscription (formulaire) 
{
	erase_message_erreur_and_warning();
	if( formulaire._type.selectedIndex == 0)
    {
		affiche_mess_erreur_warning("OUV_01", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_type);
		return 0;
	}
	return 1;
}

// DI 38 REF B 301
// cette fonction est appelée sur le Onchange et sur la validation du formulaire
function Valider_Raison_sociale (formulaire) 
{
	erase_message_erreur_and_warning();
	if( formulaire._raison_sociale.value == "" && formulaire._type.value !="part")
    {
		affiche_mess_erreur_warning("OUV_02", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_raison_sociale);
		return 0;
	}
	return 1;
}

// DI 38 REF B 301
// fonction appelée pour initialiser la zone raison sociale avant le submit
function Init_champs_interdits_for_submit (formulaire) 
{
	// la raison sociale peut être invalisée pour particulier 
	// initialiser avant le POST
	formulaire._raison_sociale.disabled = false;
	if ( formulaire._type.value == "part" )
	{
		// On initialise a vide car raison sociale interdite
		formulaire._raison_sociale.value = "";
	}
}

// DI 38 REF B 301
// fonction appelée sur le onload pour initialiser les zones interdites
function Invalide_les_zones (formulaire)
{
	Init_Type (formulaire,true);
}

function Valider_Civilite (formulaire) 
{
	erase_message_erreur_and_warning();
	if( formulaire._civilite.selectedIndex == 0)
    {
		affiche_mess_erreur_warning("OUV_03", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_civilite);
		return 0;
	}
	return 1;
}

function Valider_nom (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._nom.value == "")
    {
		affiche_mess_erreur_warning("OUV_04", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_nom);
		return 0;
	}
	return 1;
}

function Valider_prenom (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._prenom.value == "")
    {
		affiche_mess_erreur_warning("OUV_05", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_prenom);
		return 0;
	}
	return 1;
}

function Valider_adresse (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._adresse.value == "")
    {
		affiche_mess_erreur_warning("OUV_06", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_adresse);
		return 0;
	}
	return 1;
}

function Valider_code_postal (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._code_postal.value == "")
    {
		affiche_mess_erreur_warning("OUV_07", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_codepostal);
		return 0;
	}
	
   // si pays = france contrôler le CP
    if ( formulaire._pays.value == "fr" )
    {
    	if ( !IsValid_code_postal( formulaire._code_postal.value ) )
    	{
    		affiche_mess_erreur_warning("OUV_07", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_cp);  	
		    return 0;
		}
    }
    else
    { 
    	// Laisser un code postal non français complètement libre au niveau du format de saisie
/*
    	if( !IsValid_all_Tel(formulaire._code_postal.value))
    	{
	   		affiche_mess_erreur_warning("OUV_07", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_cp);
	    	return 0;    			
    	}
*/
    }
	
	return 1;
}

function Valider_ville (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._ville.value == "")
    {
		affiche_mess_erreur_warning("OUV_08", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_ville);
		return 0;
	}
	return 1;
}

function Valider_pays (formulaire) 
{
	erase_message_erreur_and_warning();
	 if( formulaire._pays.value == "")
    {
		affiche_mess_erreur_warning("OUV_09", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_pays);
		return 0;
	}
	return 1;
}

function Valider_tele_fixe (formulaire) 
{
	erase_message_erreur_and_warning();
	
	if( formulaire._tele_fixe.value == "")
	{
	 		affiche_mess_erreur_warning("OUV_10", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_telephone_fix);
		return 0;
	
	}
	 else
	{
	   if ( formulaire._pays.value == "fr" )
	   {
		
		  if( !IsValid_Tel(formulaire._tele_fixe.value))
		   {
	     		affiche_mess_erreur_warning("OUV_10", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_telephone);
			return 0;
	   		}
		}
		else
		{
	   		if( !IsValid_all_Tel(formulaire._tele_fixe.value))
	   		{
	 			affiche_mess_erreur_warning("OUV_10", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_telephone);
				return 0;
	    	}
	  	}
	}
	return 1;
}

function Valider_fax (formulaire) 
{
	erase_message_erreur_and_warning();
    if(formulaire._fax.value !="" )
       {
    	   	if(formulaire._pays.value == "fr")
    	   	{
	    	   	if( !IsValid_Tel(formulaire._fax.value))
	    	   	{
				 	affiche_mess_erreur_warning("OUV_11", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_fax);
					return 0;
				}
    	   	}
    	   	else
	    	{
    			if( !IsValid_all_Tel(formulaire._fax.value))
    			{
				 	affiche_mess_erreur_warning("OUV_11", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_fax);
					return 0;
    			}
    		}
       }
	return 1;
}

function Valider_tele_port (formulaire) 
{
	erase_message_erreur_and_warning();
   
   if(formulaire._portable.value != "")
   {
	   	if(formulaire._pays.value == "fr")
	   	{
    	   	if( !IsValid_Tel(formulaire._portable.value))
    	   	{
			 	affiche_mess_erreur_warning("OUV_12", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_portable);
				return 0;
    		}
	   	}
	   	else
    	{
			if( !IsValid_all_Tel(formulaire._portable.value))
			{
			 	affiche_mess_erreur_warning("OUV_12", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mauvais_portable);
				return 0;
			}
		}
    }
	return 1;
}

function Valider_email (formulaire) 
{
	erase_message_erreur_and_warning();
    if( formulaire._email.value == "")
    {
	 	affiche_mess_erreur_warning("OUV_13", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_email);
		return 0;
    }
    if(!VerifMail(formulaire._email))
    {
  	 	affiche_mess_erreur_warning("OUV_13", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_valide_email);
		return 0;
    }
	return 1;
}


// Valider inscription
function Valider_Inscription (formulaire) 
{
   //controle sur le type
   var message = "";
	
  	var ok = true;
  
	if( Valider_Type_for_Valider_Inscription (formulaire)== 0)
	{
		return 0;
	} 
	if( Valider_Raison_sociale (formulaire) ==0 )
	{
		return 0;
	}
	if( Valider_Civilite (formulaire) == 0)
	{
		return 0;
	}
	
	if(Valider_nom (formulaire)==0 )
	{
		return 0;
	}
	if(Valider_prenom (formulaire) == 0)
	{
		return 0;
	}
	
	if(Valider_adresse (formulaire)==0 )
	{
		return 0;
	}
	
	if(Valider_code_postal (formulaire) == 0)
	{
		return 0;
	}

	if(!Valider_ville (formulaire) )
	{
		return 0;
	}
	if( Valider_pays (formulaire)==0 )
	{
		return 0;
	}
	if( Valider_tele_fixe (formulaire)==0 )
	{
		return 0;
	}
	if( Valider_tele_port (formulaire)==0 )
	{
		return 0;
	}
	if( Valider_fax (formulaire) == 0 )
	{
		return 0;
	}
	if( Valider_email (formulaire)== 0 )
	{
		return 0;
	}
	if( mot_de_passe_valide (formulaire)==0 )
	{
		return 0;
	}
	if( mot_de_passe_confir (formulaire)==0 )
	{
		return 0;
	}
	
	
  /*   var obj = document.getElementById("erreur_login");
   	if ( ok == true )
   	{
	    obj.className = "cache";
		obj.innerHTML = "";
	   	formulaire._controle.value = "YES";
        formulaire.submit();
   	}
   	else
   	{
	    obj.className = "erreur";
		obj.innerHTML = message;
	} */
	
	// DI 38 B 301
	// on initialise les champs invalidés pour le submit.
	Init_champs_interdits_for_submit (formulaire)	
	formulaire._controle.value = "YES";
	formulaire.submit();
   
   return 1;
}


// n'est pas dans pod_js.js
// car spécifique à cette page et de plus doit être customisée pour les langues
// Cette fonction se retrouve dans la page concours part_conc_04.html
function mot_de_passe_valide(formulaire)
{
	erase_message_erreur_and_warning();

	var valid=true;
	var exp1=new RegExp( "^([0-9]?[A-Za-z]?)+$" );
	var parm = formulaire._password.value;
	
	var numb = '0123456789';
	var lwr = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	
	 var message = "";
	
	var ok = true;
	if(formulaire._password.value == "")
	{
	 	affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_mdp);
		return 0;
	  	
    }
   	if ( ! exp1.test(formulaire._password.value) )
   	{
	 	affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_incorrect_password);
		return 0;
	} 
   	if(formulaire._password.value.length < 6 )
  	{
	 	affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_min_password);
		return 0;
    }  
 	if(formulaire._password.value.length > 15 )
  	{
 	 	affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_max_password);
		return 0;
   	}
   	if(isValid(parm,numb))
	{
	 	affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_incorrect_password);
		return 0;
    }    
	if( isValid(parm,lwr) ) 
	{
		affiche_mess_erreur_warning("OUV_14", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_incorrect_password);
		return 0;
  	}
     //confirmer mot de passe

      return 1;
} 

function mot_de_passe_confir(formulaire)
{
	erase_message_erreur_and_warning();

	if(formulaire._conf_password.value == "" )
  	{
		affiche_mess_erreur_warning("OUV_15", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_conf_mdp);
		return 0;
    }  
    if( formulaire._conf_password.value != formulaire._password.value)
    {
		affiche_mess_erreur_warning("OUV_15", "<strong>"+js_ATTENTION+"</strong><br>"+js_msg_meme_mdp);
		return 0;
     }    

      return 1;
	
}


