/* admin/includes/javascript/text-util.js*/
function remplacerHtml(el, texte) {
	//alert('el : '+el);
  if (el != null) {
	//alert('remplacerHtml ('+el+')');
    effacerTexte(el);
   	var nouveauNoeud = document.createTextNode(texte);
    el.appendChild(nouveauNoeud);
		el.innerHTML = texte;
  }
}

function remplacerTexte(el, texte) {
  if (el != null) {
    effacerTexte(el);
    var nouveauNoeud = document.createTextNode(texte);
    el.appendChild(nouveauNoeud);
  }
}

function effacerTexte(el) {
  if (el != null) {
    if (el.childNodes) {
      for (var i = 0; i < el.childNodes.length; i++) {
        var noeudFils = el.childNodes[i];
				//alert('el : '+el+' ; noeudFils : '+noeudFils);

        el.removeChild(noeudFils);
      }
    }
		//else alert(el+" n'a pas de noeud enfant");
  }
	//else alert(el+" est nul");
}

function getTexte(el) {
  var texte = "";
  if (el != null) {
    if (el.childNodes) {
      for (var i = 0; i < el.childNodes.length; i++) {
        var noeudFils = el.childNodes[i];
        if (noeudFils.nodeValue != null) {
          texte = texte + noeudFils.nodeValue;
        }
      }
    }
  }
  return texte;
}

function ucFirst(str) {
  if (str.length > 0) {
    return str[0].toUpperCase() + str.substring(1);
  } else {
    return str;
  }
}
function getRep(){
	var Parts  = GetBaseName() ;
	var Rep='admin/';
	var partsi='';
	for(var i=0;i<Parts.length;i++) {
		partsi += ' - '+i+' : '+Parts[i]+"\n";
		if(Parts[i]=='admin') Rep='';
	}
	//alert(partsi);
	return Rep;
}
function GetBaseName(){
	return GetBaseName(location.href);
}
function GetBaseName(file){
	if(!file)
	var	file=location.href;
	var partsi='';
	var Parts = file.split('\\');
	//alert('Parts  : '+Parts +' ; length : '+Parts.length);
	if( Parts.length < 2 )
		Parts = file.split('/');
	return Parts;
} 
function getQueryString(){
	var Parts  = GetBaseName() ;
	var nbreParts=Parts.length;
	
	var QueryString=new Array();
	var action_url='';
	var qString='';
	var top='';
	
	var Parts2=Parts[(nbreParts-1)];
	var Parts3=Parts2.split('?');
	action_url=Parts3[0];
	var nbreParts3=Parts3.length;
	
	if(nbreParts3>1){
		var Parts4=Parts3[(nbreParts3-1)].split('#');
			qString=Parts4[0];
		var nbreParts4=Parts4.length;
		if(nbreParts4==2)
			top=Parts4[1];
	}
	QueryString['action_url']=action_url;
	QueryString['qString']=qString;
	QueryString['top']=top;
	
	//alert('action_url : '+action_url+'\n qString : '+qString);
	return QueryString;
}

function get_ModuleContent(){
	if(!document.getElementsByTagName('input')) return false;
	
	var inputs=document.getElementsByTagName('input');
	var nbre_inputs = inputs.length;
	//alert('nbre_inputs : '+ nbre_inputs);
	var module_content='';
	var cle_main='';
	var id='';
	var chaineCtrl='';
	var array=Array(); 
	for(var a=0; a<nbre_inputs; a++) {
		if(inputs[a].getAttribute('name')=='module_content'){
			//chaineCtrl=inputs[a].getAttribute('name')+"\n";
			module_content=inputs[a].value;
		}
		if(inputs[a].getAttribute('name')=='cle_main'){
			//chaineCtrl=inputs[a].getAttribute('name')+"\n";
			cle_main=inputs[a].value;
		}
		if(inputs[a].getAttribute('name')== module_content+'__'+cle_main){
			//chaineCtrl=inputs[a].getAttribute('name')+"\n";
			id=inputs[a].value;
		}
	}
	array['module_content']=module_content;
	array['cle_main']=cle_main;
	array['id']=id;
	
	//alert('module_content : '+ module_content);
	//alert('cle_main : '+ cle_main);
	//alert('id : '+ id);
	//alert('chaineCtrl : '+ chaineCtrl);
	return array;
}
function getModules(){
	var modules = new Array();
	var m=new Object();

	if(document.forms['form_new_and_edit'] && document.forms['form_new_and_edit'].elements['module[]']) {
		m=document.getElementsByName('module[]');
		//alert('m : '+m);
	}
	var nM=m.length;
	if(nM>0) {
		for(var i=0; i<nM; i++) {
			 modules[i]=m[i].value;
			//alert('modules['+i+'] : '+modules[i]);
		}
	}
	else {
		modules[0]='';
		//pre_fields[0] = '';
	}
	return modules;
}


Email.prototype.validerMail=validerMail;
function Email(e){
	this.emailAddr=e;
	this.message=" ";
	this.valid=false;
}
function validerMail(){
	this.message='';
	if(this.emailAddr==null || this.emailAddr.length==0 || this.emailAddr.indexOf(".")==-1 || this.emailAddr.indexOf("@")==-1 || this.emailAddr.indexOf(" ")!=-1){
		this.message+="Assurez-vous que l'adresse e-mail ne contienne pas d'espace et soit bien valide. ";
		//alert('this.message :'+this.message);
		this.valid=false;
		return;
	}
	regex=/(^\w{2,}\.?\w{2,})@/;
	_match=regex.exec(this.emailAddr);
	if(_match){
		user=RegExp.$1;
	}
	else {
		this.message+="Assurez-vous que le nom d'utilisateur contienne plus de 2 caractères, ne commence pas ou ne se termine pas par un point et ne soit pas invalide. ";
		this.valid=false;
		return;
	}
	regex=/@(\w{2,}\.(\w{2,}\.)?[a-zA-Z]{2,3})$/;
	_match=regex.exec(this.emailAddr);
	if(_match){
		domain=RegExp.$1;
	}
	else {
		this.message+="Le domaine de l'adresse e-mail contient moins de 2 caractères ou n'est pas valide. ";
		this.valid=false;
		return;
	}
	this.valid=true;
}
function verifierAdresse(val, module_content, val_cle_main) {

	var result = '';
	var msgErreur='';
	var eml=new Email(val);
	var url;
	eml.validerMail();
	//alert('eml.valid : '+eml.valid+' ; eml.message : '+eml.message);
	if(!eml.valid){
		//return eml.message;
		//alert(eml.message);
		messageStack("form_new_and_edit", eml.message, 'msg_mail');
	}
	else{
		// rechercher dans la bdd si le mail existe déjà ... ou pas
		if(module_content!=''){
			//alert('module_content : '+module_content);
			var Rep=getRep();
			var admin='0'; if(Rep=='') admin='1';
			var qString='';
			var QueryString = getQueryString();
			if(QueryString){
				var q_string =QueryString['qString'];
				if(q_string!="") {
					//alert('q_string : '+q_string);
					qString="&"+q_string;
					var actionUrl=QueryString['action_url'];
				}
			}
			//alert('q_string : '+q_string);
			var file = 'ajax-getEmailInTableContent.php';
			//getEmailInTableContent($mail, $module_content, $val_cle_main='')
			qString+="&mail="+val+"&module_content="+module_content+"&val_cle_main="+val_cle_main;
			var requete = creerRequete();
			if(requete!=null) {
				url = Rep+"includes/"+file+"?ajax=1&admin="+admin+qString+"&time="+new Date().getTime();
				//alert("url : "+url);
				
				requete.open("GET", url, true);
				requete.onreadystatechange = function() {
					if(requete!=null & requete.readyState == 4) {
						if(requete.status == 200) {
							var result = requete.responseText;
							//if(result=='') return true;
							if(result!=''){
								//alert('result verif mail : '+result);
								msgErreur+=result;
								messageStack("form_new_and_edit", msgErreur, 'msg_mail');
							}
						}	
					}	
				} 
				requete.send(null);
			}
		}
	}
}

function messageStack(form_name, msgErreur, id_p){
	//alert('messageStack('+form_name+', '+msgErreur+', '+id_p+')');
	var emplaceErreur = document.getElementById(id_p) ? document.getElementById(id_p) : null;
	if(emplaceErreur==null){
		// créer un noeud
		var div_msgErreur = document.createElement('p');
		div_msgErreur.setAttribute('id',id_p);
		var emplaceErreur = document.getElementById(form_name).appendChild(div_msgErreur);
		if(document.getElementById('form_submits')) {
			var emplaceErreur = document.getElementById('form_submits').parentNode.insertBefore(div_msgErreur, document.getElementById('form_submits'));
		}
		else {
			//alert("controle :   pas trouvé document.getElementById('form_submits')");
		}
	}
	remplacerHtml(emplaceErreur, msgErreur);

	return false;
}

String.prototype.trim = function(){
	return (this.replace(/^[\s\xA0]+/, "").replace(/[\sxA0]+$/, ""));
}

function verifieJit() {
	var f='';
	if(f=document.getElementById("form_new_and_edit")) {
		f.onsubmit=function(event) {
			var presenceAdherentsGroups=false;
			//detecter les iframe id="frame_Upload[]"
			//getUploadedImage();
			
			//alert('verifieJit');
			//alert(event.type);
			var inputs=new Array;
			var selects=new Array;
			var textareas=new Array;
			

			var nInputs1=0;
			var nInputs2=0;
			var nInputs3=0;
			
			var nInputs=0;
			var nSelects=0;
			var nTextareas=0;
			
			var listFields=new Array;
			var nlistFields=0;
			
				var controle='';
			if(this.getElementsByTagName('SELECT')) {
				selects=this.getElementsByTagName('SELECT');
				nSelects=selects.length;
				nInputs1=nlistFields+nSelects;
				var k = -1;
				for(var j=nlistFields; j<nInputs1; j++) {
					k++;
					listFields[j]=selects[k];
					controle+= "\n"+selects[k].name+" = "+selects[k].value+" class : "+selects[k].className ;
				}
				//inputs=listFields;
				nlistFields=listFields.length;
			}

			if(this.getElementsByTagName('INPUT')) {
				var inputs=this.getElementsByTagName('INPUT');
				var nInputs=inputs.length;
				nInputs2=nlistFields+nInputs;
				var k = -1;
				for(var j=nlistFields; j<nInputs2; j++) {
					k++;
					listFields[j]=inputs[k];
					controle+= "\n"+inputs[k].name+" = "+inputs[k].value+" class : "+inputs[k].className ;
				}
				nlistFields=listFields.length;
			}
			if(this.getElementsByTagName('TEXTAREA')) {
				textareas=this.getElementsByTagName('TEXTAREA');
				nTextareas=textareas.length;

				nInputs3=nlistFields+nTextareas;
				var k = -1;
				for(var j=nlistFields; j<nInputs3; j++) {
					k++;
					listFields[j]=textareas[k];
					controle+= "\n"+textareas[k].name+" = "+textareas[k].value+" class : "+textareas[k].className ;
				}
				nlistFields=listFields.length;
			}
			//	alert('controle : '+controle);
				inputs=listFields;
				nInputs=inputs.length;
			//alert('nInputs : '+nInputs);
			var main_module_content=get_ModuleContent();
			var module_content=main_module_content['module_content']; // adherents
			var cle_main=main_module_content['cle_main']; // adherents
			var val_cle_main=main_module_content['id']; // adherents
			var module='';
			var messageAverts= new Array();
			var messageAvert = '';
			var msgErreur = "";
			var j=0;
			var j2=0;
			var lang='french';
			var pre_field='';
			//var controle = ''; 
			var ctl_fields=new Array();
			var ctl_fields_true=new Array();
			for(var i=0; i<nInputs; i++) {
				var inputName=inputs[i].name;
				//alert('inputName : '+inputName);
				if(inputName=='module[]') {
					module=inputs[i].value;
					//alert('module : '+module);
					if(module=='adherents_groups' || module=='contacts_groups' || module=='contacts_groups_entreprise_public' || module=='contacts_groups_association_public') 
						presenceAdherentsGroups=true;
					pre_field=module+'__';
				}
				
				if(inputName=='contacts_groups__id_contacts_groups'){
					presenceAdherentsGroups=true;
				}

				//var inputClass=inputs[i].getAttribute('class');// non reconnu par IE ????
				var inputType=inputs[i].type;
				var inputClass=inputs[i].className;
				var inputValue=inputs[i].value;
				var champLabel_unique = '';
				//controle+= "\nNom:"+inputName+" ; Type:"+inputType+" ; Class:"+inputClass+" ; Valeur:"+inputValue ;
				
				var inputNameArray=inputName.split('__');
				if(inputNameArray) {
					var inputNameSplit=inputNameArray[1];
				}
				if(inputNameSplit){
					if((inputNameSplit=='email') && inputValue!=''){
						//alert('inputNameSplit : '+inputNameSplit);
						var message_mail = verifierAdresse(inputValue, module_content, val_cle_main);
						//alert('message_mail : '+message_mail);
					}
				}
				if(inputType=='radio' || inputType=='checkbox') {
					var hiddenInputArray=inputName.split('__');
					//alert('hiddenInputArray : '+hiddenInputArray);
					if(hiddenInputArray) {
						var hiddenInputId=hiddenInputArray[1];
						if(hiddenInputId) {
						//	alert('hiddenInputId : '+hiddenInputId);
							// enlever les crochets de l'array checkbox
							var hiddenInput2Array=hiddenInputId.split('[');
							if(hiddenInput2Array)
								var hiddenInputId=hiddenInput2Array[0];
							if(document.getElementById(hiddenInputId)) {
								//alert('document.getElementById('+hiddenInputId+'): '+document.getElementById(hiddenInputId));
								if(!hiddenInputIdArray) {
									var hiddenInputIdArray= new Array;
								}
								if(! hiddenInputIdArray[hiddenInputId] ) {
									hiddenInputIdArray[hiddenInputId]=new Array;
								}
								var hiddenInputIdValue='';
								if(inputs[i].checked==true) {
									hiddenInputIdArray[hiddenInputId][hiddenInputIdArray[hiddenInputId].length]=inputs[i].value+', ';
								}
								else {
									hiddenInputIdArray[hiddenInputId][hiddenInputIdArray[hiddenInputId].length]='';
								}
								for(var hi=0;hi<hiddenInputIdArray[hiddenInputId].length;hi++){
									if(!hiddenInputIdArray[hiddenInputId][hi-1] || (hiddenInputIdArray[hiddenInputId][hi]!=hiddenInputIdArray[hiddenInputId][hi-1])){
										hiddenInputIdValue+=hiddenInputIdArray[hiddenInputId][hi];
									}
								}
								//alert(hiddenInputId+' = hiddenInputIdValue : '+hiddenInputIdValue);
								document.getElementById(hiddenInputId).value = hiddenInputIdValue;
							}
						}
					}
				}
				
				if(inputClass=='requis') {
					var sObj = new String(inputValue);
					inputValue = sObj.trim();
					var inputValueBoolean=Boolean(inputValue);
					if(!inputValueBoolean) {
						// passer en revue tous les champs
						//alert('['+j+']    pre_field : '+pre_field+' ; inputName requis : '+inputName+' ; valeur : '+inputValue);
						ctl_fields[j]=inputName;
						j++;
						
						if(inputNameSplit){
							if(inputNameSplit=='email') {
								messageStack("form_new_and_edit", ' ', 'msg_mail');
							}
						}
					}
					else { // valeurs ok
						// verifier email
						if(inputNameSplit){
							if(inputNameSplit=='email') {
								//alert('verifierAdresse('+inputValue+', '+module_content+', '+val_cle_main+')');
								var message_mail = verifierAdresse(inputValue, module_content, val_cle_main);
							}
						}
						ctl_fields_true[j2]=inputName;
						j2++;
					}
				}
			}
			
			/*
			var str_ctl_false='';
			for(var a=0; a<ctl_fields.length; a++) {
				str_ctl_false+= "["+a+"] : "+ctl_fields[a]+"\n";
			}
			alert("str_ctl_false : \n"+str_ctl_false);

			var str_ctl_true='';
			for(var a=0; a<ctl_fields_true.length; a++) {
				str_ctl_true+= "["+a+"] : "+ctl_fields_true[a]+"\n";
			}
			alert("str_ctl_true : \n"+str_ctl_true);
			*/
			var nbre_ctl_fields=ctl_fields.length;
			var champLabel='';
			
			for(var k=0; k<nbre_ctl_fields; k++) {
				
				//alert('ctl_fields['+k+'] : '+ctl_fields[k]);
				champLabel='';
				switch(ctl_fields[k]) {
					case pre_field+'designation': case pre_field+'designation[0]':
						switch(module) {
							case 'pages' : 
								champLabel = 'le nom du fichier sans l\'extension' ;
							break;
							case 'contacts':
								champLabel = 'votre nom' ;
							break;
							case 'motivations':
								champLabel = 'le motif d\'adhésion' ;
							break;
							case 'contacts_statuts':
								champLabel = 'la désignation du statut' ;
							break;
							case 'contacts_statuts_categories':
								champLabel = 'la désignation de la catégorie de statut' ;
							break;
							case 'commissions':
								champLabel = 'la désignation de la commission' ;
							break;
							case 'menus':
								champLabel = 'le nom du menu' ;
							break;
							default:
								champLabel = 'la désignation';
								//alert('champLabel_unique : '+champLabel_unique);	
							break;
						}
					break;
					case 'contacts_groups__designation': 
						champLabel = 'le nom de l\'entité' ;
					break;
					case 'contacts_groups_entreprise_public__designation':
						champLabel = 'la raison sociale de l\'entreprise' ;
					break;
					case 'contacts_groups_association_public__designation':
						champLabel = 'le nom de l\'association' ;
					break;
					case 'contacts_groups__id_contacts_statuts_categories':
						champLabel = 'la catégorie de statut' ;
					break;
					case 'contacts__lastname': case 'lastname': case 'contacts_public__lastname':
					case 'adherents__lastname' : 
						champLabel = 'le nom' ;
					break;
					case 'customers__lastname' : 
						champLabel = '' ;
					break;
					case 'dirigeants__lastname':
						champLabel = 'le nom du dirigeant' ;
					break;
					case 'contacts__email': case 'email': case 'contacts_public__email':
					case 'adherents__email':
						champLabel = 'l\'adresse électronique';
					break;
					case 'contacts__street_1': case 'contacts_public__street_1':
						//reset(ctl_fields_true);
						var erreur=true;
						if(presenceAdherentsGroups) erreur=false;
						if(erreur)
						champLabel = 'n° et nom de rue';
					break;
					case 'contacts_groups__street_1': 
						champLabel = 'n° et nom de rue pour le groupe';
					break;
					case 'contacts_groups_entreprise_public__street_1':
						champLabel = 'n° et nom de rue pour l\'entreprise';
					break;
					case 'contacts_groups_association_public__street_1':
						champLabel = 'n° et nom de rue pour l\'association';
					break;
					case 'customers__street_1':
						champLabel = 'n° et nom de rue';
					break;
					case 'contacts_groups__cities_code': case 'adherents_groups__cities_code':
						champLabel = 'le code de la ville pour le groupe';
					break;
					case 'contacts_groups_entreprise_public__cities_code':
						champLabel = 'le code de la ville pour l\'entreprise';
					break;
					case 'contacts_groups_association_public__cities_code':
						champLabel = 'le code de la ville pour l\'association';
					break;
					case 'contacts_groups__cities_name': case 'adherents_groups__cities_name':
						champLabel = 'le nom de la ville pour le groupe';
					break;
					case 'contacts_groups_entreprise_public__cities_name':
						champLabel = 'le nom de la ville pour l\'entreprise';
					break;
					case 'contacts_groups_association_public__cities_name':
						champLabel = 'le nom de la ville pour l\'association';
					break;
					case 'contacts__new_password':
						champLabel = 'la confirmation de votre mot de passe';
					break;
					case 'contacts__passwrd': case 'passwrd':
						champLabel = 'le mot de passe';
					break;
					case 'motivations__designation':
						champLabel = 'le motif d\'adhésion' ;
					break;
					case 'contacts__id_commissions': case 'id_commissions':
						champLabel = 'la commission' ;
					break;
					case 'contacts__id_contacts':
						champLabel = 'l\'adhérent' ;
					break;

					case 'contacts__gender': case 'gender':
						champLabel = 'la civilité' ;
					break;
					case 'contacts__id_contacts_statuts': case 'id_contacts_statuts':
						champLabel = 'le statut d\'adhésion' ;
					break;
					case 'contacts_groups__id_contacts_groups_statuts':
						champLabel = 'le statut du groupe de contacts' ;
					break;
					case 'adherents_groups__zone_code':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='adherents_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code du département pour le groupe' ;
					break;
					case 'contacts_groups__zone_code':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code du département pour le groupe' ;
					break;
					case 'contacts_groups_entreprise_public__zone_code':
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups_entreprise_public__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code du département pour l\'entreprise' ;
					break;
					case 'contacts_groups_association_public__zone_code':
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups_association_public__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code du département pour l\'association' ;
					break;
					case 'products_groups__zone_code':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='products_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code du département pour le groupe' ;
					break;
					case 'products_groups__zone_name':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='products_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom du département pour le groupe' ;
					break;
					case 'products_groups__cities_code':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='products_groups__id_cities') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le code postal pour le groupe' ;
					break;
					case 'products_groups__cities_name':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='products_groups__id_cities') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom de la ville pour le groupe' ;
					break;					
					case 'adherents_groups__zone_name':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='adherents_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom du département pour le groupe' ;
					break;
					case 'contacts_groups__zone_name':
						//reset(ctl_fields_true);
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom du département pour le groupe' ;
					break;
					case 'contacts_groups_entreprise_public__zone_name':
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups_entreprise_public__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom du département pour l\'entreprise' ;
					break;
					case 'contacts_groups_association_public__zone_name':
						var erreur=true;
						for(var k2=0; k2<ctl_fields_true.length; k2++) {
							if(ctl_fields_true[k2]=='contacts_groups_association_public__id_zones') {
								var erreur = false;
							}
						}
						if(erreur)
						champLabel = 'le nom du département pour l\'association' ;
					break;					
					case 'contacts__zone_code': case 'contacts_public__zone_code':
					case 'adherents__zone_code' :
						//reset(ctl_fields_true);
						var erreur=true;
						if(presenceAdherentsGroups) erreur=false;
						if(erreur)
							champLabel = 'le code du département' ;
					break;
					case 'customers__zone_code':
						champLabel = 'le code du département' ;
					break;
					case 'customers__zone_name':
						champLabel = 'le nom du département' ;
					break;	
					case 'customers__cities_code':
						champLabel = 'le code de ville' ;
					break;				
					case 'customers__cities_name':
						champLabel = 'le nom de la ville' ;
					break;				
					case 'contacts__zone_name': case 'contacts_public__zone_name':
					case 'adherents__zone_name' : 
						//reset(ctl_fields_true);
						var erreur=true;
						if(presenceAdherentsGroups) erreur=false;
						if(erreur)
							champLabel = 'le nom du département' ;
					break;					
					case 'contacts__cities_code': case 'contacts_public__cities_code':
					case 'adherents__cities_code' :
						//reset(ctl_fields_true);
						var erreur=true;
						if(presenceAdherentsGroups) erreur=false;
						if(erreur)
						champLabel = 'le code de la ville' ;
					break;
					case 'contacts__cities_name': case 'contacts_public__cities_name':
					case 'adherents__cities_name':
						//reset(ctl_fields_true);
						var erreur=true;
						if(presenceAdherentsGroups) erreur=false;
						if(erreur)
							champLabel = 'le nom de la ville' ;
					break;
					case 'adherents__id_adherents_statuts':
					
					break;
					case 'contacts__id_adherents_statuts_details':
						champLabel = 'le statut' ;
					break;
					case 'adherents_statuts_details__valeur':
						champLabel = 'la valeur' ;
					break;
					case 'messageries__subject': 
					case 'subject':
						champLabel = 'l\'objet du message' ;
					break;
					case 'messageries__message_corps':
						champLabel = 'le contenu du message' ;
					break;
					case 'id_contacts_roles':
						champLabel = 'le role du contact' ;
					break;
					default:
						champLabel = '*    '+ctl_fields[k];
						//alert('champLabel_unique : '+champLabel_unique);	
					break;
				}
				//alert('ctl_fields['+k+'] : '+ctl_fields[k]+' : '+champLabel);
				if(champLabel)
					messageAverts[k] = champLabel;
				//alert('messageAverts['+k+'] : '+messageAverts[k]);
			}
			//alert('inputName : '+inputName+' ; inputClass : '+inputClass+' ; inputValue : '+inputValue);

			//	alert(controle);
			var nbre_messageAverts=messageAverts.length;
			//	alert('nbre_messageAverts : '+nbre_messageAverts);
			if(nbre_messageAverts>0) {
				for(var l=0; l<=nbre_messageAverts; l++) {
					if(messageAverts[l]) {
						//alert("messageAverts["+l+"] : "+messageAverts[l]+"\n");
						messageAvert += messageAverts[l];
						var et_and = lang=='french' ? ' et ' : ' and ';
						messageAvert += l<(nbre_messageAverts-2) ? ', ' : (l==(nbre_messageAverts-2) ? et_and : '');
					}
				}
			}
			//alert("messageAvert : "+messageAvert+"\n");

			if(messageAvert!='') {
				//alert("messageAvert : "+messageAvert+"\n");
				msgErreur += (lang=='french' ? "Veuillez renseigner " : "Please select ")+" "+messageAvert+'.' ;
			}
			if(msgErreur!=''){
				alert(msgErreur);

				messageStack("form_new_and_edit", msgErreur, 'msg_erreur');
				return false;
			}
			if(champLabel_unique!='') {
				msgErreur = champLabel_unique ;
				//alert('msgErreur : '+msgErreur);
				var emplaceErreur = document.getElementById("message_erreur");
				if(emplaceErreur==null){
					// créer un noeud
					var div_msgErreur = document.createElement('span');
					div_msgErreur.setAttribute('id','message_erreur');
					var emplaceErreur = this.appendChild(div_msgErreur);
				}
				remplacerHtml(emplaceErreur, msgErreur);
			
				return false;
			}
		};
	}
	else
		return true;
}


function SetFocus() {
  if (document.forms.length > 0) {
		if(document.getElementsByTagName('INPUT')) {
			var fieldInputs=document.getElementsByTagName('INPUT');
			//alert('fieldInputs : '+fieldInputs);
			for (var i=0; i<fieldInputs.length; i++) {
				if ( (fieldInputs[i].type != "image") &&
						 (fieldInputs[i].type != "hidden") &&
						 (fieldInputs[i].type != "reset") &&
						 (fieldInputs[i].type != "submit") ) {
	
					fieldInputs[i].focus();
	
					if ( (fieldInputs[i].type == "text") ||
							 (fieldInputs[i].type == "password") )
						fieldInputs[i].select();
	
					break;
				}
			}
		}
	}
}
function hideBoutonJs() {
	var formulaires = document.getElementsByTagName('form');
	var nbreForms=formulaires.length;
	for(var i=0; i<nbreForms; i++) {
		var boutonsAcacher=formulaires[i].getElementsByTagName("input");
		var nbreBoutons=boutonsAcacher.length;
		//alert('nbreBoutons : '+nbreBoutons);
		for(var j=0; j<nbreBoutons; j++) {
			if(boutonsAcacher[j].className=="hiddenByJs") {
				boutonsAcacher[j].style.display="none";
			}
		}
	}
}


function fill(thisValue) {
	$('inputString').val(thisValue);
	setTimeout("$('suggestions').hide();", 200);
}

function lookup(inputString) {
	var Rep=getRep();
	if(inputString.length == 0) {
		// Hide the suggestion box.
		$('suggestions').hide();
	} 
	else {
		//alert("url : "+Rep+"includes/ajax-getValuesMain.php ; inputString : "+inputString);
		$.post(Rep+"includes/ajax-getValuesMain.php", 
			{queryString: ""+inputString+""}, 
			function(data){
				//alert('data : '+data);
				if(data.length >0) {
					$('suggestions').show();
//					$('autoSuggestionsList').html(data);
					remplacerHtml(document.getElementById('autoSuggestionsList'), data);
				}
			}
		);
	}
} // lookup


function majDefautSelected(SelectObject){
	var nb=SelectObject.length;
	//alert('nb : '+nb);
	for(var i=0;i<nb;i++) {
		if(SelectObject.options[i].getAttribute('selected')) {
			SelectObject.options[i].defaultSelected=false;
			SelectObject.options[i].removeAttribute("selected");
		}
	}
	SelectObject.options[SelectObject.selectedIndex].defaultSelected=true;
	SelectObject.options[SelectObject.selectedIndex].setAttribute('selected','selected');
			/*
				var nb=0;
				var strings='';
				for(propriete in i_span) {
					strings+= 'propriete '+nb+' : '+propriete+' = '+eval("i_span."+propriete)+" ; \n";
					nb++;
				}
				alert('strings : '+strings);
			*/
}


var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
/*
////////////// changer l'opacité d'un TAG
function setupOpacity(tagName, tagNameId){
	var theobjs=new Array();
	theelements=document.getElementsByTagName(tagName);
	for(var i=0; i<theelements.length; i++) {
		var obj=theelements[i];
		if(obj.id){
			theobjs[obj.id]=new DivObj(obj);
		}
	}
	if(tagNameId) {
		theobjs[tagNameId].objSetOpacity(1);
	}
	return theobjs;
}
function DivObj(obj){
	this.obj=obj;
	this.objGetOpacity=getOpacity;
	if(obj.style.filter) {
		this.objSetOpacity = alphaOpacity;
	}
	else {
		this.objSetOpacity=cssOpacity;
	}
}
function getOpacity(){
	if(this.obj.style.filter) {
		var filterString = this.obj.style.filter;
		var derivedVal = filterString.substring(filterString.indexOf(':')+1, filterString.indexOff(')'));
		return derivedVal/100;
	}
	else {
	 return this.obj.style.opacity;
	}
}

function changeOpacity(tagName, tagNameId, incremente){
	var theobjs= setupOpacity(tagName, tagNameId);
	var currentOpacity=parseFloat(theobjs[tagNameId].objGetOpacity());
	alert('currentOpacity :'+currentOpacity);
	currentOpacity+=incremente;
	theobjs[tagNameId].objSetOpacity(currentOpacity);
}
*/
/********************/

/*
function GetBaseName(){
	return GetBaseName(location.href);
}
function GetBaseName(file){
	if(!file)
	var	file=location.href;
	//alert('file  : '+file );
	var partsi='';
	var Parts = file.split('\\');
	if( Parts.length < 2 )
		Parts = file.split('/');
	return Parts;
} 

function getRep(){
	var Parts  = GetBaseName() ;
	//alert('Parts : '+Parts);
	var Rep='admin/';
	var partsi='';
	for(var i=0;i<Parts.length;i++) {
		partsi += ' - '+i+' : '+Parts[i]+"\n";
		if(Parts[i]=='admin') Rep='';
	}
	//alert(partsi);
	return Rep;
}
*/
/*
function getQueryString(){
	var Parts  = GetBaseName() ;
	var nbreParts=Parts.length;
	
	var QueryString=new Array();
	var action_url='';
	var qString='';
	var top='';
	
	var Parts2=Parts[(nbreParts-1)];
	
	var Parts3=Parts2.split('?');
		
		action_url=Parts3[0];
	
	var nbreParts3=Parts3.length;
	
	if(nbreParts3>1){
		var Parts4=Parts3[(nbreParts3-1)].split('#');
			qString=Parts4[0];
		var nbreParts4=Parts4.length;
		if(nbreParts4==2)
			top=Parts4[1];
	}
	QueryString['action_url']=action_url;
	QueryString['qString']=qString;
	QueryString['top']=top;
	
	return QueryString;
}
*/