/*
 *      inscription.js
 *      
 *      Auteur : Marc FREREBEAU <marc.frerebeau@agama.fr>
 *      Société : AGAMA
 *      Licence : GPL
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 *      
 *      
 *      Application : Monplannnig
 *      Version : 2.0 
 *      
 *      Nom module : inscription
 *      Description :
 *      	Fonctions de validation de l'inscription	
 *      Nécessite : 
 *      	lib_validation.js
 * 			prototype.js
 *      Date : 29/03/2010
 *      Version : 0.1
 * Commentaires
 * Reste à faire :
 */

Event.observe( window, 'load', gerer_decouverte_mp_detail, false );

//////////////////////////////////////////////////////////////////////
// Fonction valider_formulaire_inscription
//
// Description :
//		Valide le formulaire d'inscription et crypte le mot de 
//		passe en MD5
// Entrées :
//		@form (object) : formulaire d'inscription
// Sorties :
//		@Néant
// Valeur de retour :
//		* true : formulaire valide
//		* false : formulaire non valide
// Auteurs : Marc FREREBEAU
// Date dernière modification : 29/03/2010
// Commentaires :
//		
//////////////////////////////////////////////////////////////////////
function valider_formulaire_inscription( form )
{
	erreur_format = false;
	erreur_cgu = false;


	if( ( $F('nom') == '' ) || !lib_validation_est_nom( $F('nom') ) )
	{
		erreur_format = true;
		$('nom').className = 'erreur';
	}
	else
		$('nom').className = '';
		
	if( ( $F('prenom') == '' ) || !lib_validation_est_nom( $F('prenom') ) )
	{
		erreur_format = true;
		$('prenom').className = 'erreur';
	}
	else
		$('prenom').className = '';

	if( ( $F('identifiant_connexion') == '' ) || !lib_validation_est_identifiant( $F('identifiant_connexion') ) )
	{
		erreur_format = true;
		$('identifiant_connexion').className = 'erreur';
	}
	else
		$('identifiant_connexion').className = '';

	if( $('civilite').selectedIndex == 0 )
	{
		erreur_format = true;
		$('civilite').className = 'erreur';
	}
	else
		$('civilite').className = '';
		
	if( $F('email') != $F('email_confirm') )
	{
		erreur_format = true;
		$('email_confirm').className = 'erreur';
	}
	else
		$('email_confirm').className = '';

	if( ( $F('email') == '' ) || !lib_validation_est_email_majuscules( $F('email') ) )
	{
		erreur_format = true;
		$('email').className = 'erreur';
		$('email_confirm').className = 'erreur';
	}
	else
		$('email').className = '';
	
	if( $F('mot_de_passe1') == '' )
	{
		erreur_format = true;
		$('mot_de_passe1').className = 'erreur';
		$('mot_de_passe2').className = 'erreur';
	}
	else
	{
		$('mot_de_passe1').className = '';
		if( $F('mot_de_passe1') != $F('mot_de_passe2') )
		{
			erreur_format = true;
			$('mot_de_passe2').className = 'erreur';
		}
		else
			$('mot_de_passe2').className = '';
	}

	// decouverte_mp obligatoire
	if( $('decouverte_mp').selectedIndex == 0 )
	{
		erreur_format = true;
		$('decouverte_mp').className = 'erreur';
	}
	else
		$('decouverte_mp').className = '';

	// decouverte_mp_detail obligatoire pour certaines options de decouverte_mp
	if( $F('decouverte_mp_detail') == '' && ( 
		$('decouverte_mp').selectedIndex == 3 ||
		$('decouverte_mp').selectedIndex == 4 ||
		$('decouverte_mp').selectedIndex == 7 ||
		$('decouverte_mp').selectedIndex == 8 ||
		$('decouverte_mp').selectedIndex == 9 ) )
	{
		erreur_format = true;
		$('decouverte_mp_detail').className = 'erreur';
	}
	else
		$('decouverte_mp_detail').className = '';
		
		
	if( !$('accept_conditions').checked )
	{
		erreur_cgu = true;
		$( 'cadre_accept_conditions' ).className = 'erreur';
	}
	else
		$( 'cadre_accept_conditions' ).className = '';

	if( erreur_format )
		Element.show('notification_format');
	else
		Element.hide('notification_format');
		
	if( erreur_cgu )
		Element.show('notification_cgu');
	else
		Element.hide('notification_cgu');

	Element.hide('notification_email');
	Element.hide('notification_identifiant_connexion');

	if( erreur_format || erreur_cgu )
		return false;
	
	var mot_de_passe = document.createElement('input');
	mot_de_passe.setAttribute( 'type', 'hidden' );
	mot_de_passe.setAttribute( 'name', 'mot_de_passe' );
	mot_de_passe.setAttribute( 'id', 'mot_de_passe' );
	mot_de_passe.setAttribute( 'value', SHA1($F('mot_de_passe1')) );
	form.appendChild( mot_de_passe );
	
	$('mot_de_passe1').value = '********';
	$('mot_de_passe2').value = '********';

	
	return true;
}

//////////////////////////////////////////////////////////////////////
// Fonction envoyer_formulaire_inscription
//
// Description :
//		Valide le formulaire et l'envoie le cas échéant.
// Entrées :
//		@Néant
// Sorties :
//		@Néant
// Valeur de retour :
//		@Néant
// Auteurs : Marc FREREBEAU
// Date dernière modification : 18/03/2010
// Commentaires :
//		
//////////////////////////////////////////////////////////////////////
function envoyer_formulaire_inscription()
{
	var form = $('formulaire_inscription');
	if( valider_formulaire_inscription( form ) )
		form.submit();
}

/*
* Fonction gerer_decouverte_mp_detail
* 
* 	
* Description :
* Affiche le champ decouverte_mp_detail quand nécessaire
* 
* Entrées :
* @Néant
* 
* Sorties :
* @Néant
* 
* Valeur de retour :
* @Néant
* 
* Auteurs : Marc FREREBEAU
* Date dernière modification : 19/08/2011
* Commentaires :
*		
*/
function gerer_decouverte_mp_detail()
{
	if( $('decouverte_mp').selectedIndex == 3 ||
		$('decouverte_mp').selectedIndex == 4 ||
		$('decouverte_mp').selectedIndex == 7 ||
		$('decouverte_mp').selectedIndex == 8 ||
		$('decouverte_mp').selectedIndex == 9 )
		Element.show( 'decouverte_mp_precisions' );
	else
		Element.hide( 'decouverte_mp_precisions' );
}
