function verifmail(){
	adrMail = document.form0.email.value;
	adrMailLength=adrMail.length;
	caractOk="_.-0123456789abcdefghijklmnopqrstuvwxyz"; // caratères corect d'une adresse mai
	var posArrobas=adrMail.indexOf('@',1); // position du premier Arrobas
	var posPoint=adrMail.lastIndexOf('.',adrMailLength); // position du dernier point
	var posCaractFaux=adrMail.indexOf('..',posArrobas+1); // position d'un caractère faux ('..' ou ' ')
	var caract=0; // caractère extrait de la chaîne adrMail (utilisée par les boucles while)
	var caractFaux=adrMail.charAt(0)+adrMail.charAt(posArrobas-1)+adrMail.charAt(posArrobas+1)+adrMail.charAt(posPoint-1);
	var posCaract=0; // position du caractère à extraire de la chaîne adrMail (utilisée par les boucles while)
	var posCaractOk=0; // position du caractère extrait de la chaîne adrMail (utilisée par les boucles while)
	var posCaractNon=-1;
	var retour=false; // l'adresse e-mail est considérée comme fausse au début

	// début du test
	// s'il n'existe pas de caractère '..' alors on teste s'il existe un espace dans la chaîne adrMail
	if (posCaractFaux!=-1 || adrMail.indexOf(' ',0)!=-1 || adrMail.indexOf('--',0)!=-1 || adrMail.indexOf('__',0)!=-1) {
	   posCaractFaux=0;
	}

	// Teste les points ou - ou _ au début de l'adrMail, autour de l'arrobas et autour du dernier point
	for (posCaract;posCaract<4;posCaract++) {
	     caract=caractFaux.charAt(posCaract);
	     posCaractNon=caractOk.lastIndexOf(caract,2);
	     if (posCaractNon!=-1) {
	        posCaractFaux=0;
	        break;
	     }
	}
	// si l'adresse mail contient au moins 1 caractère et qu'elle comporte un arrobas
	// et qu'elle comporte un point et que l'arrobas est avant le dernier point
	// et qu'elle ne contient pas de '..' ou d'espace et que après le dernier point il y est 2,3 ou 4 caractères
	// et qu'il n'y est pas de point autour de l'arrobas et que l'adresse ne commence pas par un point
	// Alors
	if (adrMailLength>0 && posArrobas!=-1 && posPoint!=-1 && posArrobas<posPoint && posCaractFaux==-1 && adrMailLength-posPoint-1>=2 && adrMailLength-posPoint-1<=4) {

	    // extraction d'un caractère et teste s'il existe dans la chaîne "_.-0123456789abcdefghijklmnopqrstuvwxyz"
	    // S'il n'existe pas alors posCaract=-1 donc au prochain 'tour' on passe aux autres boucles (qui ne s'effecturont pas)
	    // Si il existe on continue la boucle jusqu'au caractère avant l'arrobas et on passe à la boucle while suivante

	    adrMail=adrMail.toLowerCase();
	    posCaract=0;
	    while (posCaract<posArrobas && posCaractOk!=-1) {
	          caract=adrMail.charAt(posCaract);
	          posCaractOk=caractOk.indexOf(caract,0);
	          posCaract++;
	    }
	    posCaract++; // on passe l'arrobas

	    // sur le même principe qu'au dessus mais pour la partie entre l'arrobas et le dernier point
	    // le test ce fait sur les caractères ".-0123456789abcdefghijklmnopqrstuvwxyz"
	    // caractOk.indexOf(caract,1) on ne teste plus l'underscore
	    while (posCaract<posPoint && posCaractOk!=-1) {
	          caract=adrMail.charAt(posCaract);
	          posCaractOk=caractOk.indexOf(caract,1);
	          posCaract++;
	    }
	    posCaract++; // on passe le point

	    // sur le même principe qu'au dessus mais pour la partie entre le dernier point et la fin
	    // le test ce fait sur les caractères "abcdefghijklmnopqrstuvwxyz"
	    // caractOk.indexOf(caract,13) on ne teste plus que des lettres
	    while (posCaract<adrMailLength && posCaractOk!=-1) {
	          caract=adrMail.charAt(posCaract);
	          posCaractOk=caractOk.indexOf(caract,13);
	          posCaract++;
	    } // fin de la boucle while

	    // durant le parcour de l'adresse mail si n'y avait pas de caractère interdit
	    // posCaractOk a changer plusieurs fois de valeur mais na jamais eu la valeur -1
	    // donc l'adresse est bonne
	    if (posCaractOk!=-1) {
	       retour=true;
	    }
	}
 return retour; // renvoi le résultat (true ou false)
}

function quelAbonnement(){

	$('#divTexteAvisEtSite').addClass('cache'); // on cache
	$('#divTexteAvis').addClass('cache'); // on cache
	$('#divTexteSite').addClass('cache'); // on cache

	if ( $('#boxSite:checked').val()==undefined ) {
		// pas d'abonnement SITE
		cocheVertOuRouge('Site','rouge');
		if ( $('#boxAvis:checked').val()==undefined ) {
			// pas d'abonnement AVIS
			$("#form0").attr("action",'membre.php5') ; // AUCUN
			$('[name=hosted_button_id]').val(''); // AUCUN
			cocheVertOuRouge('Avis','rouge');
		} else {
			// abonnement AVIS
			$("#form0").attr("action",'https://www.paypal.com/cgi-bin/webscr') ;
			$('[name=hosted_button_id]').val('E9E7YG5LQ9M26'); // AVIS seulement
			$('#divTexteAvis').removeClass(); // on affiche le prix
			cocheVertOuRouge('Avis','vert');
		}
	} else {
		// abonnement SITE
		cocheVertOuRouge('Site','vert');
		if ( $('#boxAvis:checked').val()==undefined ) {
			// pas d'abonnement AVIS
			$("#form0").attr("action",'https://www.paypal.com/cgi-bin/webscr') ;
			$('[name=hosted_button_id]').val('8972780'); // SITE seulement
			$('#divTexteSite').removeClass(); // on affiche le prix
			cocheVertOuRouge('Avis','rouge');
		} else {
			// abonnement AVIS et SITE
			$("#form0").attr("action",'https://www.paypal.com/cgi-bin/webscr') ;
			$('[name=hosted_button_id]').val('6101506'); // SITE ET AVIS
			$('#divTexteAvisEtSite').removeClass(); // on affiche le prix
			cocheVertOuRouge('Avis','vert');
		}
	}
}


function cocheVertOuRouge(quoi, couleur){
	// permet de changer les images pour mettre des coches vertes ou rouges pour les abonnements
	var avis = '#tdCoche'+quoi;
	if (couleur == 'rouge') {
		$(avis).children().attr("src", '/themes/theme1/images/x_rouge.gif') ;
		$(avis).children().attr("alt", 'NON') ;
	}
	if (couleur == 'vert') {
		$(avis).children().attr("src", '/themes/theme1/images/v_vert.gif') ;
		$(avis).children().attr("alt", 'OK') ;
	}
}

function soumettre ( choix ) {

	if ( choix == 'ETAPE1' ) {

		if ($('#boxUtilisation:checked').val()==undefined) {
			$('#divErreur').html("Vous devez accepter les conditions d'utilisation");
			$('#boxUtilisation').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ( $('#password').val() == ""  ) {
			$('#divErreur').html("Le mot de passe n'est pas renseigné");
			$('#password').effect("highlight", {}, 800);
			$('#password').focus();
			return estErreur($('#divErreur'), false) ;
		}
		if ( $('#password').val() != $('#password2').val()) {
			$('#divErreur').html("Le mot de passe n'a pas été correctement confirmé");
			$('#password').effect("highlight", {}, 800);
			$('#password2').effect("highlight", {}, 800);
			$('#password').focus();
			return estErreur($('#divErreur'), false) ;
		}
		if ( verifmail() == false  ) {
			$('#divErreur').html("L'email indiqué n'est pas valide");
			$('#email').effect("highlight", {}, 800);
			$('#email').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ( $('#email').val() != $('#email2').val()) {
			$('#divErreur').html("L'email n'a pas été correctement confirmé");
			$('#email').effect("highlight", {}, 800);
			$('#email2').effect("highlight", {}, 800);
			$('#email').focus();
			return estErreur($('#divErreur'), false) ;
		}

		$('#finaliser').attr("disabled", 'disabled'); // on désactive le bouton pour éviter que l'internaute clique encore dessus
		var lien = 'membre.php5' ;
		emailPost = $('#email').val() ;
		passwordPost = $('#password').val() ;
		hosted_button_idPost = $('[name=hosted_button_id]').val() ;

		if ( $('[name=hosted_button_id]').val() != '' ) {
			// abonnement vers paypal
			// on récupère l'id du membre créé
			$.post(lien,{ email:emailPost , password:passwordPost , hosted_button_id:hosted_button_idPost }, function(data){
				if ( isNaN(data) == false && data != '' ) {
					// c'est un nombre
					$('[name=custom]').val(data);
					$("#form0").submit();
				} else {
					$('#divErreur').html(data);
					return estErreur($('#divErreur'), false) ;
				}
			});
		} else {
			// on envoie le formulaire
			$("#form0").attr("action",'membre.php5') ; // Normalement déjà fait mais par précaution
			$("#form0").submit();

		}
	}

	if ( choix == 'ETAPE2' ) {

		cocheCivilite = 0;
		cocheCivilite = document.form0.civilite[0].checked + document.form0.civilite[1].checked + document.form0.civilite[2].checked;

		if (cocheCivilite == 0) {
			$('#divErreur').html("La civilité n'est pas renseignée");
			$('#civilite').effect("highlight", {}, 800);
			return estErreur($('#divErreur'), false) ;
		}

		if ($('#nom').val() == '') {
			$('#divErreur').html("Le nom n'est pas renseigné");
			$('#nom').effect("highlight", {}, 800);
			$('#nom').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ($('#prenom').val() == '') {
			$('#divErreur').html("Le prénom n'est pas renseigné");
			$('#prenom').effect("highlight", {}, 800);
			$('#prenom').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ($('#dateNaissance').val() == '' || $('#dateNaissance').val()=='JJ/MM/AAAA' || !dateNaissance($('#dateNaissance').val())) {
			$('#divErreur').html("La date de naissance n'est pas renseignée correctement. Elle doit être au format JJ/MM/AAAA.<br />Vous devez avoir plus de 16 ans (et moins de 100) pour vous inscrire.");
			$('#dateNaissance').effect("highlight", {}, 800);
			$('#dateNaissance').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ($('#adr1').val() == '') {
			$('#divErreur').html("L'adresse n'est pas renseignée");
			$('#adr1').effect("highlight", {}, 800);
			$('#adr1').focus();
			return estErreur($('#divErreur'), false) ;
		}

		if ($('#codePostal').val() == '') {
			$('#divErreur').html("Le code postal n'est pas renseigné");
			$('#codePostal').effect("highlight", {}, 800);
			$('#codePostal').focus();
			return estErreur($('#divErreur'), false) ;
		}

	document.forms['form0'].method = "post";
	document.forms['form0'].action="moncompte.php5" ;
	document.forms['form0'].submit () ;

	}
}


$(function() {
	var Maintenant = new Date();
	var anneeMaintenant = Maintenant.getFullYear();
	// l'inscription est ouverte aux membres de plus de 16 ans
	var anneeMaxInscrit = anneeMaintenant-16;
	var anneeMinInscrit = anneeMaintenant-100;

	$('#dateNaissance').datepicker({
		changeMonth: true,
		changeYear: true,
		mandatory: true,
		yearRange: anneeMinInscrit+':'+anneeMaxInscrit,
		dayNamesShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
		dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
		monthNamesShort: ['Janv','Fev','Mars','Avr','Mai','Juin','Juil','Aout','Sept','Oct','Nov','Dec'],
		dateFormat: 'dd/mm/yy'
	});
});


function dateNaissance(dateNaissance){
	if ( dateNaissance.search(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/) ){
		return false;
	}

	var jour = dateNaissance.substring(0,2);
	var mois = dateNaissance.substring(3,5);
	var annee = dateNaissance.substring(6,10);
	var Maintenant = new Date();
	var anneeMaintenant = Maintenant.getFullYear();
	// l'inscription est ouverte aux membres de plus de 16 ans
	var anneeMaxInscrit = anneeMaintenant-16;
	var anneeMinInscrit = anneeMaintenant-100;
	if (jour<1 || jour>31) {
		return false;
	}
	if (mois<1 || mois>12) {
		return false;
	}
	if (annee<anneeMinInscrit || annee>anneeMaxInscrit ) {
		return false;
	}

	return true ;
}


function affichePseudoArtistique(){
	if(document.form0.cacherNom.checked){
		$('#pseudoArtistique').removeClass();
		$('#pseudoArtistique').show();
	} else {
		$('#pseudoArtistique').val('');
		$('#pseudoArtistique').hide();
	}
}


function changePays(){
	// changement de pays : codepostal et ville remis à zéro et on cache ces champs
	// France = 9
	var paysId = $('#pays').val();
	if (paysId != '9') {
		$('#codePostal').val('00000');
		$('#spanVille').html('<input name="ville" id="ville" size="20" value="Entrer le code postal" disabled="disabled" />');
		$('#adresseFrance').hide();
	} else {
		$('#codePostal').val('');
		$('#adresseFrance').show();
	}
}