function lynx(form)
{
// recherche du mot lynx
var maReg = new RegExp("lynx ", "gi") ;
// boucle tous les champs du formulaire
for (var i = 0; i < form.elements.length; i++) {
if(form.elements[i].name == "des" || form.elements[i].name == "det"){
ctr_fck(form.elements[i]);
}
var text = form.elements[i].value.toString() ;
var resultat = text.replace(maReg, "lynx, ") ;
//si le mot est trouve on retourne la nouvelle valeur du champ
form.elements[i].value = resultat;
}


}

function ctr_fck(form)
{
var api = FCKeditorAPI.GetInstance(form.name);
var maReg = new RegExp("lynx ", "gi") ;
var text = api.GetHTML();
var resultat = text.replace(maReg, "lynx, ");
api.SetHTML(resultat);
if ( text.search( maReg ) > -1 )
alert("Mot lynx modifié");

}

function verif_champs(l_mail, l_objet, l_text)
{

   // l'adresse minimum est xx@yy.zz
   var point=document.forml.email.value.lastIndexOf('.');

   // La position du dernier point de l'adresse email
   var arob=document.forml.email.value.lastIndexOf('@');

   // La position du dernier @ de l'adresse email
   var longu=document.forml.email.value.length;

   var message="";
 // La longueur de l'adresse
 if((longu-point < 3) || (longu-arob) < 6 || arob > point || point == -1 || arob == -1){

 message += [l_mail]+"\n";}

 if(document.forml.objet.value == ""){

 message += [l_objet]+"\n";}

 if(document.forml.text.value == ""){

 message += [l_text]+"\n";}

 if (message.length > 0){

 alert(message);
 return false;

 }

}


function PageSubmit() {
	msg1="Veuillez entrer une valeur pour "; msg1_tail=".";
	msg5="Le mot de passe doit contenir 6 caractères au moins..";
	msg6="Le mot de passe entré ne correspond pas au mot de passe de confirmation!.";
	msg7="Veuillez entrer votre prénom en utilisant uniquement des caractères de l'alphabet latin.";
	msg8="Veuillez inscrire votre nom de famille en utilisant uniquement des caractères de l'alphabet latin..";
	msg9="Veuiilez insérer une date de naissance valide dans le format suivant: jour/mois/année.";
	msg10="Veuillez entrer une adresse email correcte.";
	msg11="Veuillez nous excuser, nous n'acceptons pas de membres qui n'acceptent pas nos conditions générales.";
	msg13="Veuillez entrer une valeur pour "; msg13_tail=" utilisant uniquement des caractères de l'alphabet latin .";
	msg16="Le email que vous avez entré ne correspond pas à l'email de confirmation.";
	msg17="Nous vous remercions de l'intérêt que vous portez à notre site mais nous ne pouvons accepter votre enregistrement pour l'instant. .";
	msg18="Veuillez choisir le titre";
	msg19="Veuillez choisir le pays";
	msg20="Veuillez choisir la devise";
	msg21="Veuillez choisir la langue préférée";
	msg22="Veuillez choisir la position"	
	

	lFormReg = document.formRegistration;

	// check for empty fields
	var aryFields = new Array("txtEmail", "txtConfEmail", "txtPassword", "txtConfirmPassword", "txtFirstname", "txtSurname", "txtAddress1", "txtCity", "txtPostcode", "txtBDay", "txtBMonth", "txtBYear");
	
	var aryLabels = new Array("Email", "Confirmer email","Mot de passe", "Confirmer mot de passe", "Prénom", "Nom de famille", "Adresse 1", "Ville/Localité", "Code postal", "Date de Naissance", "Date de Naissance", "Date de Naissance");

	var icnt = aryFields.length;

	for(var i = 0; i < icnt; i++) {
		fld = eval("lFormReg." + aryFields[i]);
		if (trim(fld.value) == "") {
			alert(msg1 + aryLabels[i] + msg1_tail);
			fld.focus();
			fld.select();
			return;
		}
	}
lFormReg.txtPassword.value = trim(lFormReg.txtPassword.value);
	str = lFormReg.txtPassword.value;
	reg0 = /[^a-zA-Z]/

	// check for length and non-alphabetic chars
	if (str.length < 6 || !reg0.test(str)) {
		alert(msg5);
		lFormReg.txtConfirmPassword.value = "";
		lFormReg.txtPassword.focus();
		lFormReg.txtPassword.select();
		return;
	}

	if (trim(lFormReg.txtConfirmPassword.value) != lFormReg.txtPassword.value) {
		alert(msg6);
		lFormReg.txtConfirmPassword.value = "";
		lFormReg.txtPassword.focus();
		lFormReg.txtPassword.select();
		return;
	}
	
	// check length for first name
	if ( trim(lFormReg.txtFirstname.value).length > 20 ) {
		alert('Le prénom ne doit pas excéder 20 caractères');
		lFormReg.txtPhone.focus();
		lFormReg.txtPhone.select();
		return;
	}
	
	// check length for last name
	if ( trim(lFormReg.txtSurname.value).length > 20 ) {
		alert('Le nom de famille ne doit pas excéder 20 caractères');
		lFormReg.txtPhone.focus();
		lFormReg.txtPhone.select();
		return;
	}

	if ( !trim(lFormReg.txtPhone.value) ) {
		alert(msg1 + 'numéro de téléphone' + msg1_tail);
		lFormReg.txtPhone.focus();
		lFormReg.txtPhone.select();
		return;
	}

	if ( lFormReg.dial_prefix.selectedIndex == 0 ) {
		alert(msg1 + 'numéro de téléphone' + msg1_tail);
		lFormReg.dial_prefix.focus();
		return;
	}

	if ( !trim(lFormReg.txtPhone.value) ) {
		alert(msg1 + 'numéro de téléphone' + msg1_tail);
		lFormReg.txtPhone.focus();
		lFormReg.txtPhone.select();
		return;
	}


	//	Validate date of birth
	dummy=lFormReg.txtBDay.value;
	if (dummy.length < 2) { lFormReg.txtBDay.value = "0" + dummy; }
	dummy=lFormReg.txtBMonth.value;
	if (dummy.length < 2) { lFormReg.txtBMonth.value = "0" + dummy; }
	dummy=lFormReg.txtBYear.value;
	if (dummy.length == 2) {
	// need to change this code if after 2017
		lFormReg.txtBYear.value = "19" + dummy;
	}
	dob = lFormReg.txtBDay.value + "/" + lFormReg.txtBMonth.value + "/" + lFormReg.txtBYear.value;

	err = 0;
	err = jscheckdate(lFormReg.txtBDay.value, lFormReg.txtBMonth.value, lFormReg.txtBYear.value);

	var now = new Date();
	var bitch = now.getFullYear() * 365 + (now.getMonth()+1) * 30 + now.getDate();
	var birth = lFormReg.txtBYear.value * 365 + lFormReg.txtBMonth.value * 30 + lFormReg.txtBDay.value*1;

	var age = (bitch-birth)/365;

	if ( age < 18 ) {
		alert(msg17);
		return false;
	}

	if (err!=0) {
		alert(msg9);
		lFormReg.txtBDay.focus();
		lFormReg.txtBDay.select();
		return;
	}

	// validate email address format
	// var reg3 = new RegExp("@.");
	var reg3 = /^[a-zA-Z0-9.@_-]+[@][a-zA-Z0-9_-]+[.][a-zA-Z0-9._-]+$/;
	if (!reg3.test(trim(lFormReg.txtEmail.value))) {
		alert(msg10);
		lFormReg.txtEmail.focus();
		lFormReg.txtEmail.select();
		return;
	}

	if (trim(lFormReg.txtConfEmail.value) != trim(lFormReg.txtEmail.value)) {
		alert(msg16);
		lFormReg.txtConfEmail.value = "";
		lFormReg.txtEmail.focus();
		lFormReg.txtEmail.select();
		return;
	}

	// Check if user has agreed to our terms and conditions
	if (lFormReg.chkValidYears.checked == false) {
		alert(msg11);
		return;
	}

	//check title
	var titleFields = new Array("txtTitle");
	for (var i = 0; i < titleFields.length; i ++) {
		fld = eval("lFormReg." + titleFields[i]);
		if (fld.value == "") {
			alert(msg18);
			fld.focus();
			return;
		}
	}	

	// Check Country

	var aryFields2 = new Array("txtCountry");
	var aryLabels2 = new Array("Pays");

	var icnt = aryFields2.length;

	for(var i = 0; i < icnt; i++) {
		fld = eval("lFormReg." + aryFields2[i]);
		if (fld.value == "") {
			alert(msg19);
			fld.focus();
			return;
		}
	}

	//check currency
	var currencyFields = new Array("txtCurrency");
	for (var i = 0; i < currencyFields.length; i ++) {
		fld = eval("lFormReg." + currencyFields[i]);
		if (fld.value == "") {
			alert(msg20);
			fld.focus();
			return;
		}
	}	

	//check language
	var languageFields = new Array("txtLanguage");
	for (var i = 0; i < languageFields.length; i ++) {
		fld = eval("lFormReg." + languageFields[i]);
		if (fld.value == "") {
			alert(msg21);
			fld.focus();
			return;
		}
	}	

	//check position
	var positionFields = new Array("txtPosition");
	for (var i = 0; i < positionFields.length; i ++) {
		fld = eval("lFormReg." + positionFields[i]);
		if ( fld && fld.value == "") {
			alert(msg22);
			fld.focus();
			return;
		}
	}	


	lFormReg.action = "/app/register.pl";
	lFormReg.submit();
	return;
}

function select_option(fld, key) {
	for ( var i = 0; i < fld.options.length; i++ ) {
		if ( fld.options[i].value == key ) {
			fld.options[i].selected = true;
		}
	}
}

function select_country(country, prefix, currency) {
	document.formRegistration.mobile_prefix.value = '+'+prefix;
	document.formRegistration.dial_prefix.value = '+'+prefix;
		
	switch (country) {
	case 'GBR':	case 'UNI':
		select_option(document.formRegistration.txtLanguage, 'EN');
		break;
	case 'GER': case 'AUT': case 'SWI':
		select_option(document.formRegistration.txtLanguage, 'DE');
		break;
	case 'FRA':	case 'BGM':
		select_option(document.formRegistration.txtLanguage, 'FR');
		break;
	case 'SPA':	case 'AND':
		select_option(document.formRegistration.txtLanguage, 'ES');
		break;

	default:	
		select_option(document.formRegistration.txtLanguage, '');
	}
	
	select_option(document.formRegistration.txtCurrency, currency);
}
