function verif_password(password)
{
    if (password.value.length < 4 ) {    	
    	return false 
    }
    
    if (password.value.match(/(.*[!,@,#,$,%,^,&,*,?,_,~,' ',"'",'"','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�','�'])/))  return false
    else return true    
}

function validForm(myform){
	
	ret = true;
	retv2 = true;			
	writetag('error_nom', '');
	writetag('error_prenom', '');
	writetag('error_adresse', '');
	writetag('error_cp', '');
	writetag('error_ville', '');
	writetag('error_pays', '');
	writetag('error_email', '');
	writetag('error_login', '');
	writetag('error_pass', '');
	writetag('error_confirm_pass', '');
	writetag('error_cp_f', '');
	writetag('error_siret', '');
	writetag('error_naf', '');
	writetag('error_email_f', '');
	writetag('error_main', '');
	writetag('error_professionel', '');
	writetag('error_raison sociale', '');
	
	var list_erreur = '';
	var nom_champ_tmp = '';
	for (k=0;k<myform.elements.length;k++){
		champ = myform.elements.item(k);
		tag = champ.tagName ;
		test =champ.name ;
		//alert(test);
		//alert(test.indexOf('_o'));
		current = champ.name;
		if (test.indexOf('_o')> 0){			
			noColor('titre_'+current);
			switch (tag){
				case "INPUT" :
					if (champ.value.length == 0){
						if (test=="nom_o")		nom_champ_tmp = 'nom';
						if (test=="prenom_o")	nom_champ_tmp = 'pr&eacute;nom';										
						if (test=="adresse_o")	nom_champ_tmp = 'adresse';
						if (test=="cp_o")		nom_champ_tmp = 'code postal';
						if (test=="ville_o")	nom_champ_tmp = 'ville';						
						if (test=="email_o")	nom_champ_tmp = 'email';						
						if (test=="login_o")	nom_champ_tmp = 'identifiant';
						if (test=="pass_o")		nom_champ_tmp = 'mot de passe';
						if (test=="confirm_pass_o")	nom_champ_tmp = 'confirmation mot de passe';						
						writetag('error_'+current.replace('_o',''), '<div class="erreur_formu2">Veuillez remplir le champ '+nom_champ_tmp+'</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+nom_champ_tmp;
						ret = false;
					}else if(test=="email_o"){
						result_mail = verifEmail(champ,'',false);
						if (result_mail == false){
							rougeBord(current);
							rougeColor('titre_'+current);
							if (ret==false)list_erreur = list_erreur+', ';												
							list_erreur = list_erreur+'email';							
							ret = false;								
						}
					}else if (test=="pass_o"){
						result_pass = verif_password(champ);
						if (result_pass == false){
							if (ret==false)list_erreur = list_erreur+', ';												
							list_erreur = list_erreur+'mot de passe';													
							writetag('error_pass', '<div class="erreur_formu2">> 3 caractères, sans accent et sans espace'+'</div>');
							rougeBord(current);
							rougeColor('titre_'+current);
							ret = false;
						}else{
							resultpass = passwordStrength(champ.value);
							result_pass2 = switchpass(resultpass);
							if (result_pass2 == false){
								if (ret==false)list_erreur = list_erreur+', ';												
								list_erreur = list_erreur+'mot de passe';														
								writetag('error_pass', '<div class="erreur_formu2">niveau de protection trop bas'+'</div>');
								rougeBord(current);
								rougeColor('titre_'+current);
								ret = false;
							}
						}
					}else if (test=="login_o"){
						result_login = verif_password(champ);
						if (result_login == false){	
							if (ret==false)list_erreur = list_erreur+', ';												
							list_erreur = list_erreur+'identifiant';
							writetag('error_login', '<div class="erreur_formu2">> 3 caractères, sans accent et sans espace'+'</div>');
							rougeBord(current);
							rougeColor('titre_'+current);
							ret = false;
						}
					}
					break;					
				case  "SELECT" :
					if(champ.options[champ.selectedIndex].value =='' || champ.options[champ.selectedIndex].value =='?'){						
						if (test=="civ_o")	nom_champ_tmp = 'civilit&eacute;';
						if (test=="pays_o") nom_champ_tmp = 'pays';						
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+nom_champ_tmp;						
						writetag('error_'+current.replace('_o',''), '<div class="erreur_formu2">Veuillez remplir le champs '+nom_champ_tmp+'</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						ret = false;
					}
					break;				
			}
		}
		if (test=="cp_o"){
			if (document.getElementById('pays_o').value == 'FRA' ){
				if (champ.value.length > 0){
					if (isNaN(champ.value)){
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+'code postal';
						writetag('error_cp', '<div class="erreur_formu2">Votre code postal est invalide</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						ret = false;
					}else if(champ.value.length != '5'){
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+'code postal';
						writetag('error_cp', '<div class="erreur_formu2">Votre code postal est invalide</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						ret = false;			
					}
				}
			}
		}
		
		
		if (test=="cp_f"){
			noColor('titre_'+current);
			if (document.getElementById('pays_f').value == 'FRA' ){
				if (champ.value.length > 0){
					if (isNaN(champ.value)){
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+'code postal de facturation';
						writetag('error_cp_f', '<div class="erreur_formu2">Votre code postal est invalide</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						ret = false;
					}else if(champ.value.length != '5'){
						if (ret==false)list_erreur = list_erreur+', ';												
						list_erreur = list_erreur+'code postal de facturation';
						writetag('error_cp_f', '<div class="erreur_formu2">Votre code postal est invalide</div>');
						rougeBord(current);
						rougeColor('titre_'+current);
						ret = false;			
					}
				}
			}
		}
		
		if (test=="siret"){
			noColor('titre_'+current);
			if (champ.value.length > 0){
				if (isNaN(champ.value)){
					if (ret==false)list_erreur = list_erreur+', ';												
					list_erreur = list_erreur+'N&deg;Siret';						
					writetag('error_siret', '<div class="erreur_formu2">Votre N&deg;Siret est invalide</div>');
					rougeBord(current);
					rougeColor('titre_'+current);
					ret = false;
				}else if(champ.value.length != '14'){
					if (ret==false)list_erreur = list_erreur+', ';												
					list_erreur = list_erreur+'N&deg;Siret';						
					writetag('error_siret', '<div class="erreur_formu2">Votre N&deg;Siret est invalide</div>');
					rougeBord(current);
					rougeColor('titre_'+current);
					ret = false;			
				}
			}
		}
		
		if (test=="naf"){	
			noColor('titre_'+current);	
			if (champ.value.length > 0){
				if(champ.value.length != '4'){
					if (ret==false)list_erreur = list_erreur+', ';												
					list_erreur = list_erreur+'code NAF';						
					writetag('error_naf', '<div class="erreur_formu2">Votre code NAF est invalide</div>');
					rougeBord(current);
					rougeColor('titre_'+current);
					ret = false;			
				}
			}
		}
		
		if (test=="email_f"){
			noColor('titre_'+current);
			if (champ.value.length > 0){
				result_mail = verifEmail(champ,'',false);
				if (result_mail == true){
					if (document.getElementById('error_email_f').innerHTML.search('invalide')> 0)result_mail = false;
				}
				if (result_mail == false){	
					if (ret==false)list_erreur = list_erreur+', ';												
					list_erreur = list_erreur+'email de facturation';	
					rougeBord(current);
					rougeColor('titre_'+current);													
					ret = false;								
				}
			}
		}
				
		if (test=="confirm_pass_o"){
			if (champ.value.length > 0){
				if (document.getElementById('pass_o') && champ.value != document.getElementById('pass_o').value){
					if (ret==false)list_erreur = list_erreur+', ';												
					list_erreur = list_erreur+'confirmation du mot de passe';														
					writetag('error_confirm_pass', 	'<div class="erreur_formu2">Veuillez rentrer un mot de passe identique</div>');		
					rougeBord(current);
					rougeColor('titre_'+current);
					ret = false;
				}
			}
		}
		
		if (test=="professionel"){
		noColor('titre_'+current);
				if (!(document.getElementById('professionel1').checked || document.getElementById('professionel2').checked)) {
					if(champ.id =="professionel2"){
						if(list_erreur != ""){
							list_erreur = list_erreur+', ';	
						}											
						list_erreur = list_erreur+'type d\'adresse';
					}	
					writetag('error_professionel','<div class="erreur_formu2">Veuillez cocher le type d\'adresse.</div>');		
					rougeColor('titre_'+current);
					ret = false;
				}
		}
		if (test=="raison_sociale"){
			noColor('titre_'+current);
			if(document.getElementById('professionel1').checked && document.getElementById('raison_sociale').value.length == 0){
				if(list_erreur != ""){
				list_erreur = list_erreur+', ';
				}												
				list_erreur = list_erreur+'raison sociale';
				
				writetag('error_raison sociale','<div class="erreur_formu2">Veuillez remplir le champ raison sociale.</div>');		
				rougeColor('titre_'+current);
				ret = false;
			}
		}
		
		if (ret==false && retv2 == true){
			if(list_erreur != '') {
				if(list_erreur.indexOf(",") > 0){
					writetag('error_main', '<div id="error_main_css">Veuillez remplir correctement les champs '+list_erreur+'.</div>');
				}else{
					writetag('error_main', '<div id="error_main_css">Veuillez remplir correctement le champ '+list_erreur+'.</div>');
				}
			}else{
				writetag('error_main', '<div id="error_main_css">Veuillez remplir correctement les champs.</div>');
			}
			window.scrollTo(0,0);
		}
	
		if (test=="restriction" && ret == true){
			if (!(document.getElementById('id_restriction1').checked || document.getElementById('id_restriction2').checked)) {
				writetag('error_main', '<div id="error_main_css">Veuillez choisir de recevoir ou non des offres promotionnelles sur votre adresse e-mail!</div>') ;
				window.scrollTo(0,0);
				ret = false;
				retv2 = false;
			}
		}
		
		if (test=="accepteconditions" && ret == true){
			if (document.getElementById("accepteconditions").checked == false){
				writetag('error_main', '<div id="error_main_css">Vous devez accepter les conditions g&eacute;n&eacute;rales d\'utilisation pour vous inscrire.</div>');
				window.scrollTo(0,0);
				ret = false;
				retv2 = false;
			}
		}
	}
	
	return ret;
}

function disable(disable,enable){
	for (i=0;i< document.forms.form_submit.elements.length ;i++){
		if(document.forms.form_submit.elements[i].id.indexOf(disable) > 0){
			document.forms.form_submit.elements[i].disabled = true;
		}
		if(document.forms.form_submit.elements[i].id.indexOf(enable) > 0){
			document.forms.form_submit.elements[i].disabled = false;
		}
	
	}
}


function rendObligatoire(typeAddress){
	typeAddressValue = typeAddress.value;
	if (typeAddressValue == 0 ){
		noColor('titre_raison_sociale');
		writetag('error_raison sociale', '');
		document.getElementById('raisonSocial').style.display='none';
	
	}else if (typeAddressValue == 1 ){
		document.getElementById('raisonSocial').style.display='inline';
		
	}

}


function affichePort(listepays){
	if (listepays.value !=  'FRA' && listepays.value != 'FXX' ){
		writetag('fraisPort', '+ frais de port &eacute;ventuels');
	}else{
		writetag('fraisPort', '');
	}
}


function multi_liste_submit(id_change){
	//id indice pair, libele indice impair
	var tabService = new Array('-2','-- Précisez de votre fonction --','-1','Autre','1','Acheteur','3','Assistante Commerciale',
			'4','Assistante Marketing','12','Responsable Juridique','13','Commercial','16','Directeur Commercial/Ventes','20','Directeur des Achats',
			'21','Directeur des ressources humaines','24','Directeur du marketing','32','Documentation','35','Directeur général',
			'36','Président directeur général','44','Responsable marketing','50','Responsable informatique/bureautique',
			'51','Responsable des ressources humaines','81','Responsable des achats','82','Assistante de direction','86','Responsable qualité',
			'87','Directeur qualité','90','Responsable logistique','91','Directeur logistique','92','Ingénieur',
			'100','Directeur production/fabrication/atelier','101','Responsable du bureau d\'études','107','Directeur du bureau d\'études',
			'108','Responsable production/fabrication/atelier','117','Etudiant (ENS. SUP.)','118','Enseignant','120','Gerant','121','Proprietaire',
			'124','Directeur établissement/usine','128','Directeur informatique/bureautique','130','Responsable établissement/usine',
			'131','Directeur communication/publicité','132','Responsable communication/publicité','133','Assistante communication',
			'136','Directeur juridique','137','Directeur administratif et financier','140','Directeur services généraux','141','Responsable services généraux',
			'145','Agent général','146','Courtier','147','Banque','153','Directeur de produit','154','Chef de produit','156','Chef de marche',
			'157','Charge d\'études','158','Responsable commercial/ventes','161','Directeur régional/zone','162','Responsable régional/zone',
			'163','Directeur d\'agence/antenne','164','Responsable d\'agence/antenne','165','Directeur technico-commercial',
			'166','Responsable technico-commercial','167','Directeur de clientèle','168','Responsable de clientèle',
			'169','Responsable administratif et financier','170','Directeur administratif','171','Responsable administratif',
			'172','Directeur financier','173','Responsable Financier','174','Directeur gestion/comptabilité','175','Responsable gestion/comptabilité',
			'178','Directeur de la trésorerie/recouvrement','179','Responsable de la trésorerie/recouvrement','182','Directeur technique',
			'183','Responsable technique','188','Directeur de la maintenance','189','Responsable de la maintenance',
			'197','Directeur des opérations/travaux','198','Responsable des opérations/travaux','201','Responsable de l\'entretien','202','Directeur de la sécurité',
			'203','Responsable de la sécurité','204','Directeur environnement','205','Responsable environnement','206','Directeur études/développement/ingénieur',
			'207','Responsable études/développement/ingénieur','210','Directeur de la recherche/innovation','212','Responsable de la recherche/innovation',
			'217','Directeur de projet','218','Chef de projet','219','Directeur de la sous-traitante','220','Responsable de la sous-traitante',
			'223','Directeur scientifique','224','Responsable scientifique','227','Directeur de la diversification',
			'228','Responsable de la diversification','229','Directeur méthodes/normalisation','230','Responsable méthodes/normalisation',
			'233','Directeur des systèmes d\'information','234','Responsable des systèmes d\'information','236','Responsable  Internet/Intranet',
			'243','Directeur Internet/Intranet','249','Directeur de département/décision/services','251','Directeur central','252','Responsable central',
			'253','Directeur de cabinet','255','Directeur du personnel','256','Responsable du personnel','257','Directeur organisation/planning',
			'258','Responsable organisation/planning','259','Directeur du  recrutement','260','Responsable du  recrutement',
			'261','Directeur de la formation','262','Responsable de la formation','263','Directeur de l\'administration du personnel',
			'264','Responsable de l\'administration du personnel','265','Directeur des approvisionnements','266','Responsable des approvisionnements',
			'267','Directeur de la distribution','268','Responsable de la distribution','269','Directeur des stocks','270','Responsable des stocks',
			'271','Directeur conditionnement/emballage','272','Responsable conditionnement/emballage','273','Directeur du transport',
			'274','Responsable  du transport','275','Président du conseil d\'administration','276','Administrateur','277','Président du conseil de surveillance',
			'278','Membre du conseil de surveillance','279','Président du directoire','280','Président','281','Membre comite direction',
			'284','Directeur des relations publiques','285','Responsable des relations publiques','286','Directeur de la promotion des ventes',
			'287','Responsable de la promotion des ventes','288','Directeur création/artistique','289','Responsable création/artistique',
			'290','Directeur international/export','291','Responsable international/export','292','Directeur import','293','Responsable import',
			'298','Directeur matériel','299','Responsable matériel','300','Agent de voyage','302','Agent de comptoir','303','Secrétaire générale',
			'306','Documentaliste','307','Directeur de magasin','310','vendeur','311','Caissière/Hôtesse','312','Chef de rayon','313','Billettiste',
			'314','Forfaitiste','316','Agent de réservation','323','Directeur de site','324','Expert','326','Actuaire','327','Risk manager',
			'328','banquier','330','Chef de département','331','administratif','332','Directeur de réseau','333','Directeur de l\' exploitation',
			'336','Diététicien','337','Chef de cuisine','338','gestionnaire','339','Directeur de restaurant','340','Chef de cuisinr','341','Inspecteur',
			'342','Avocat','343','Greffier','344','Magistrat','345','Notaire','346','Indemnisation','347','Contentieux','348','Souscription',
			'349','Relations clients','350','Directeur exploitation','351','Technicien','352','Chef d\'escale','353','Directeur technique',
			'354','Responsable de département/division/services','355','Chef d\'etablissement','356','Lyceen/Collegien','357','Presse',
			'358','Consultant','359','Analyste','360','Maire','361','Depute','362','Conseiller économique','363','Prêfet','364','Charge de mission',
			'365','Evaluateur risque','366','Directeur d\'enseigne','367','Cuisinier','368','Intendant','369','Econome','370','Bibliothecaire',
			'371','Responsable franchise','372','Direction','373','Acheteur','374','Ouvrier','377','Projeteur','378','Directeur de la prévention',
			'379','Responsable de la prevention','380','Directeur','381','Responsable','382','Directeur de l\'entretien',
			'384','Responsable exploitation','385','Responsable magasin','386','Chomeur','387','Retraite','388','Courtage','390','Assistante',
			'391','Agent assurance','392','Directeur du développement économique','393','Juriste','394','Chef service marches',
			'395','Responsable du développement économique','396','Ingénieur qualité','397','Agent courtage')
	
	var tabLien = new Array('-1','390','-1','-1','-1','386','-1','380','-1','381','-1','387','1','44','1','157','1','156','1','154','1','4','1','153','1','24','2','292','2','290','2','165','2','161','2','3','2','16','2','13','2','163','2','167','2','291','2','162','2','293','2','158','2','164','2','168','2','166','3','179','3','171','3','169','3','175','3','173','3','12','3','178','3','170','3','137','3','136','3','174','3','172','5','197','5','182','5','100','5','271','5','188','5','108','5','198','5','272','5','374','5','189','5','183','5','351','6','228','6','212','6','220','6','377','6','101','6','207','6','224','6','230','6','258','6','210','6','219','6','227','6','218','6','229','6','257','6','223','6','92','6','107','6','217','6','206','7','128','7','243','7','233','7','50','7','234','7','236','8','81','8','20','8','1','9','82','9','249','9','251','9','124','9','35','9','354','9','252','9','130','10','256','10','260','10','51','10','262','10','264','10','255','10','259','10','21','10','261','10','263','11','267','11','269','11','265','11','273','11','91','11','266','11','268','11','274','11','270','11','90','12','121','12','280','12','36','12','275','12','277','12','279','12','120','12','281','12','278','12','276','13','133','13','286','13','288','13','131','13','284','13','132','13','289','13','287','13','285','15','299','15','141','15','298','15','140','24','145','24','391','25','397','25','388','25','146','26','394','26','147','26','328','27','341','27','324','28','343','28','393','28','345','28','344','28','342','30','370','30','355','30','356','30','368','30','369','30','118','30','117','32','327','54','314','61','306','61','32','61','357','62','359','62','358','63','331','63','330','63','312','63','311','63','307','63','385','64','332','64','366','64','333','65','336','65','337','65','323','65','338','66','339','66','340','66','367','70','361','70','362','70','253','70','364','70','392','70','360','70','303','70','395','70','363','71','310','71','313','71','302','71','316','71','300','72','326','73','347','73','346','74','365','75','349','75','348','76','384','76','353','76','350','76','352','78','382','78','202','78','378','78','204','78','205','78','203','78','201','78','379','79','86','79','87','79','396','80','372','80','373','80','371')
	var champs_liste_service = document.form_submit.liste_service;
	var champs_liste_fonction = document.form_submit.liste_fonction;
	champs_liste_fonction.options.length = 0;
	champs_liste_fonction.options[0] = new Option('-- Précisez votre fonction --','-2');
	var j=1;
	
	if(id_change == 'service')
	{
		champs_liste_fonction.length=1;	
		for(i=0;i<tabLien.length;i++)
		{
			if(tabLien[i] == champs_liste_service.value)
			{
				champs_liste_fonction.options[j] = new Option(get_libelle(tabLien[i+1],tabService),tabLien[i+1]);
				j++;
			}
			i=i+1;
		}
	}
}

function get_libelle(id_service,tableau)
{
	var i=0
	var lib=''
	
	while(i < tableau.length && tableau[i] != id_service)
	{
		i=i+2
	}
	
	if(i < tableau.length)
	{
		lib=tableau[i+1]	
	}
	
	return lib;
}

var xmlhttp_check_email;
var xmlhttp_check_email_f;

function writetag(tag, content) {
	var tag = document.getElementById(tag);
	if (tag) tag.innerHTML = content;
}

function check_email() {
	if (xmlhttp_check_email.readyState==4) {
		if (xmlhttp_check_email.status==200) {
			writetag('error_email', xmlhttp_check_email.responseText);
		} 
		else {
			alert("Problem retrieving XML data on check_email(),statut : "+xmlhttp_check_email.status);
		}
	}
	else
		writetag('error_email', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src=\"images/loading.gif\" alt=\"En cours\" width=\"15\" />En cours...</div>');
}

function check_email_f() {
	if (xmlhttp_check_email_f.readyState==4) {
		if (xmlhttp_check_email_f.status==200) {
			writetag('error_email_f', xmlhttp_check_email_f.responseText);
		} 
		else {
			alert("Problem retrieving XML data on check_email(),statut : "+xmlhttp_check_email_f.status);
		}
	}
	else
		writetag('error_email_f', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src=\"images/loading.gif\" alt=\"En cours\" width=\"15\" />En cours...</div>');
}

function createXMLHttpRequest(){
	var xmlhttp;
	
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
		// evite un Bug du navigateur Safari :
		if (xmlhttp.overrideMimeType) xmlhttp.overrideMimeType("text/xml");
	}
	else if (window.ActiveXObject){
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){   
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){return false;}
		}
	}
	return xmlhttp;  
}

function trim(val) {
	var retour = ""
	for(i=0;i < val.length;i++)
		if(val.charAt(i) != " ") {
			retour += val.charAt(i)
		}
	return retour
}

function verifEmail(email,idPerdu,mode) {
	email.value = trim(email.value);
	if (email.name.indexOf('_f')> 0) writetag('error_email_f', '');
	else writetag('error_email', '');
	
	if (email.value.length == 0) {		
		return false;		
	}

	if(email.name.indexOf('_f')> 0){
		xmlhttp_check_email_f = createXMLHttpRequest();
		if (xmlhttp_check_email_f!=null) {
			if (mode == true)
				xmlhttp_check_email_f.onreadystatechange = check_email_f;
			}				
			xmlhttp_check_email_f.open("GET",'/abonnement/?p=3&sp=4&email='+escape(email.value)+'&idPerdu='+idPerdu, mode);
			xmlhttp_check_email_f.send(null);
			if (mode == false) {
				check_email_f();
				if (idPerdu !=""){
					if (document.getElementById('error_email_f').innerHTML.search('invalide')> 0)return false;
				}else{
					
				}
			}
		}
	else{
		xmlhttp_check_email = createXMLHttpRequest();
		if (xmlhttp_check_email!=null) {
			if(mode == true){
				xmlhttp_check_email.onreadystatechange = check_email;
			}
			xmlhttp_check_email.open("GET",'/abonnement/?p=3&sp=4&email='+escape(email.value),mode);
			xmlhttp_check_email.send(null);
			if (mode == false) {
				check_email();
				if (document.getElementById('error_email').innerHTML.search('invalide')> 0)return false;
			}
		}
	}
	
	var modele = /^[a-z0-9\-_\.]+@[a-z0-9.-]{2,}[.][a-z]{2,5}$/i;
	if (!modele.test(email.value)){
		return false;
	}
	return true;
}


function verifEmailDansBase(profil,email) {

	if(email.name.indexOf('_f')> 0){
		xmlhttp_check_email_f = createXMLHttpRequest();
		if (xmlhttp_check_email_f!=null) {
			xmlhttp_check_email_f.onreadystatechange = check_email_f;				
			var test = xmlhttp_check_email_f.open("GET",'/abonnement/?p=3&sp=7&f='+profil.value+'&email_f='+escape(email.value),true);
			xmlhttp_check_email_f.send(null);
		}
	}
	return true;
}




var xmlhttp_check_pwd;
function CheckPassword(id_offre,dispatchPassePerdu){

	ret = true;
	writetag('error_password', '');

	if (document.getElementById('login').value.length == 0){
		writetag('error_password', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Veuillez remplir le champ identifiant.</div>');
		rougeBord('login');
		ret = false;
	}	
	if (document.getElementById('pass').value.length == 0){
		if (document.getElementById('login').value.length == 0){
			writetag('error_password', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Veuillez remplir les champs identifiant et mot de passe.</div>');
		}else{
			writetag('error_password', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Veuillez remplir le champ mot de passe.</div>');
		}
		rougeBord('pass');
		ret = false;
	}	
	if (ret){
		xmlhttp_check_pwd = createXMLHttpRequest();
		
		if (xmlhttp_check_pwd == null) return false;
		xmlhttp_check_pwd.open("GET",'/abonnement/?p=3&sp=5&login='+escape(document.getElementById('login').value)+'&pwd='+escape(document.getElementById('pass').value)+'&a='+escape(document.getElementById('id_parution').value)+'&f='+escape(document.getElementById('id_offre').value), false);
		xmlhttp_check_pwd.send(null);
		if (xmlhttp_check_pwd.readyState!=4)
			return false;
		if (xmlhttp_check_pwd.status != 200) {
			alert("Le site a rencontré un problème technique, merci de faire une nouvelle tentative ultérieurement.");
			return false;
		}
		var rep = xmlhttp_check_pwd.responseText;

		if (rep == 0) {
			writetag('error_password', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Désolé, vos codes d\'accès sont erronés. Veuillez réessayer ou cliquer ci-dessous sur &quot;Mot de passe oublié?&quot;.</div>');
			return false;	
		}else if (rep == 2){
			writetag('error_password', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Vous êtes déjà abonné à ce magazine. Veuillez contacter le service abonnement par mail à <a href=\"mailto:abo@gisi.fr\">abo@gisi.fr</a> ou par téléphone au 01 56 79 41 00.</div>');
			return false;
		}else if (rep == 1) {
			//return true;			
		}
	}
	return ret;
}
/* script pour les abonnement */
function on_submit_profil(id_profil) {
	var id_profil,id_cryte,id_offre;		
	arrayofid=id_profil.split(',');
	document.choix_abo.id_profil.value=arrayofid[0];
	document.choix_abo.id_crypte.value=arrayofid[1];
	document.choix_abo.id_offre.value=arrayofid[2];		

	document.forms.choix_abo.submit();
}


function AJAX_cp(extention_erreur){
	if(extention_erreur=='_o')extention_erreur2='';
	else extention_erreur2 = extention_erreur;
	writetag('error_cp'+extention_erreur2, '');
	var ret = true;
	var champ = document.getElementById('cp'+extention_erreur);
	if ((extention_erreur=='_o' &&	document.getElementById('pays_o').value == 'FRA') || (extention_erreur=='_f' &&	document.getElementById('pays_f').value == 'FRA')){
		if (champ.value.length > 0){
			if (isNaN(champ.value)){
				writetag('error_cp'+extention_erreur2, '<div class="erreur_formu2">Votre code postal est invalide</div>');
				ret = false;
			}else if(champ.value.length != '5'){
				writetag('error_cp'+extention_erreur2, '<div class="erreur_formu2">Votre code postal est invalide</div>');
				ret = false;			
			}
			if (ret) writetag('error_cp'+extention_erreur2, '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src="images/un_valid.gif" alt="CP valide" border="0" /></div>');	
		}
	}
}
	

function AJAX_siret(){
	writetag('error_siret', '');
	var ret = true;
	var champ = document.getElementById('siret');	
	if (champ.value.length > 0){
		if (isNaN(champ.value)){
			writetag('error_siret', '<div class="erreur_formu2">Votre N&deg;Siret est invalide</div>');
			ret = false;
		}else if(champ.value.length != '14'){
			writetag('error_siret', '<div class="erreur_formu2">Votre N&deg;Siret est invalide</div>');
			ret = false;			
		}
		if (ret) writetag('error_siret', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src="images/un_valid.gif" alt="Siret valide" border="0" /></div>');
	}
	
}
		
function AJAX_naf(){
	writetag('error_naf', '');
	var champ = document.getElementById('naf');		
		
	if (champ.value.length > 0){
		if(champ.value.length != '4'){
			writetag('error_naf', '<div class="erreur_formu2">Votre code NAF est invalide</div>');
			ret = false;
		}else{
			writetag('error_naf', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src="images/un_valid.gif" alt="Naf valide" border="0" /></div>');
		}
	}
	
	
}	

function AJAX_login(){		
	writetag('error_login', '');
	var champ = document.getElementById('login_o');
		
	result_login = verif_password(champ);
	if (result_login == false){
		writetag('error_login', '<div class="erreur_formu2">> 3 caractères, sans accent et sans espace</div>');
	}else{
		writetag('error_login', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src="images/un_valid.gif" alt="Login valide" border="0" /></div>');
	}	
}

function AJAX_pass(){		
	writetag('error_pass', '');
	var champ = document.getElementById('pass_o');
			
	result_pass = verif_password(champ);
	if (result_pass == false){
		writetag('error_pass', '<div class="erreur_formu2">> 3 caract�res, sans accent et sans espace</div>');
	}else{
		writetag('error_pass', '<div class="erreur_formu2" style="background:none;padding-left:0px"><img src="images/un_valid.gif" alt="Mot de passe valide" border="0" /></div>');
	}	
}

function switchpass(password){
	var bas = document.getElementById('bas');
	var moyen = document.getElementById('moyen');
	var haut = document.getElementById('haut');
	if (password == 'Bad') {
		if (bas) bas.style.display='block';
		if (moyen) moyen.style.display='none';
		if (haut) haut.style.display='none';
		return false;
	}
	if (password == 'Good') {
		if (bas) bas.style.display='none';
		if (moyen) moyen.style.display='block';
		if (haut) haut.style.display='none';
		return true;
	}
	if (password == 'Strong') {
		if (bas) bas.style.display='none';
		if (moyen) moyen.style.display='none';
		if (haut) haut.style.display='block';
		return true
	}
}

function rougeBord(id) {
	var tag = document.getElementById(tag);
	if (tag) tag.style.borderColor = '#FF0303';
}

function bleuBord(id) {
	var tag = document.getElementById(tag);
	if (tag) tag.style.borderColor = '#60A8B7';
}

function rougeColor(id) {
	var tag = document.getElementById(tag);
	if (tag) tag.style.color = '#FF0303';
}

function noBord(id) {
	var tag = document.getElementById(tag);
	if (tag) tag.style.borderColor = '#ABB1B6';
}

function noColor(id) {
	var tag = document.getElementById(tag);
	if (tag) tag.style.color = '#000';
}

function test_email(idPerdu){
	var champ = document.getElementById('email_f');
	var profil = document.getElementById('f');
	if (champ.value == ''){
		writetag('error_email_f', '<div class="messageError"><img src="images/warning00.gif" alt="" />&nbsp; Veuillez saisir une adresse email.</div>');
		return false;
	}
	result_mail = verifEmail(champ,idPerdu,false);
	if (result_mail){
		result_mail_dans_base = verifEmailDansBase(profil,champ);
	//	document.getElementById('formulaire_mdp_perdu').submit();
	}	
}