/**
 * Validation de formulaire via Ajax
 * afin d'eviter de doubler les controles
 * formulaires
 *
 * Inspire par http://tetlaw.id.au/view/javascript/really-easy-field-validation
 * et http://particletree.com/features/degradable-ajax-form-validation/
 *
 * @author atissier@altima.fr
 * @author jnoel@altima.fr
 */
 
// Cette classe va permettre d'etendre le comportement dans une page
// a de la simple verification de type. Cela permettra par 
// exemple de controler qu'une methode d'identification et une seule
// a ete renseignee, ou que deux mots de passe sont identiques.
// Ancienne methode : on associe a une classe CSS une fonction cote client.

var AjaxValidator = Class.create();
AjaxValidator.prototype = {
	// Constructeur
		
	initialize : function(className, test) {
		this.className  = className;
		this._test      = test;
	},
	// Controle a effectuer sur le champ
	test : function(v, elm, action,codeLangue) {
		return this._test(v,elm,action,codeLangue);
	}
}

// Nouvelle methode : on associe a une classe CSS un ensemble de champs a envoyer
// au serveur. des options permettent de specifier le comportement attendu.
var AjaxControl = Class.create();
AjaxControl.prototype = {
	// Constructeur

	initialize : function(className, fields, option) {
		this.className  = className;
		this.fields     = fields;
		this.option     = option;
	}
}
// Classe principale appelee depuis la page
var AjaxValidation = Class.create();
var global_form = "";
//Constructeur
AjaxValidation.prototype = {
	// Constructeur
 	initialize : function(form, options){
 		this.options = Object.extend({
			onSubmit : true,
			onPasSubmit : false,
			onPasSubmitfunction : false,
			immediate : false,
			onBlurMsg : true,
			codeLangue : 'fr'
		}, options || {});
		this.form = $(form);
		global_form = this.form;
		Form.enable(this.form);
		this.form.writeAttribute('onSubmit','return false');
		// On ne donne pas le choix du pays pour calendanet
		/*if(document.getElementById('id-form-createClient_idCountry')){
			document.getElementById('id-form-createClient_idCountry').disabled = "disabled";
		}
		if(document.getElementById('id-form-modifCompte_idCountry')){
			document.getElementById('id-form-modifCompte_idCountry').disabled = "disabled";
		}*/
		if(document.getElementById('id-form-modifPass_idDisableLogin')){
			document.getElementById('id-form-modifPass_idDisableLogin').disabled = "disabled";
		}
		
		// Formulaire process Wimax Etape 1
		if(document.getElementById('id-form-wimaxEtape1_idCountry')){
			document.getElementById('id-form-wimaxEtape1_idCountry').disabled = "disabled";
		}
		
		// Formulaire: Nous contacter 
		// On désactive les champs nom utilisateur et email pour les clients connectés
		if(document.getElementById('id-form-client-online_idNomUtilisateur')){
			document.getElementById('id-form-client-online_idNomUtilisateur').disabled = "disabled";
		}
		if(document.getElementById('id-form-client-online_idEmail')){
			document.getElementById('id-form-client-online_idEmail').disabled = "disabled";
		}			
		
		if($$('.input-disabled')) {
			inputsDisabled = $$('.input-disabled');
			inputsDisabled.each(function(inputDisabled) {
				inputDisabled.disabled="true";
			});
		}
		
		// Si on demande une validation ajax lors de la soumission formulaire
		// on observe l'evenement

		// Fonction trim pour échapper les espaces et caractères
		String.prototype.trim = function() { return this.replace(/^\s*|\s*$/g, ''); };
		
		if(this.options.onSubmit || this.options.onPasSubmit) {
			
			var toto = $(this.form.id+"-submit");
			var toto_2 = this;
			
			Event.observe(this.form.id+"-submit",'click', function() {
				toto_2.onSubmit_2();
			},false);
			
			Event.observe(this.form.id,'keypress', function(evKeyCode) {
				if(evKeyCode.keyCode == 13 ) {
					var target =  evKeyCode.target || evKeyCode.srcElement;
					if(target.type) {
						if(target.type!="textarea") {
							toto_2.onSubmit_2();
						}}
				}
			}
			,false);
			//Event.observe(this.form,'submit',this.onSubmit.bind(this),false);
		}
		// Si on demande une validation immediate a chaque sortie de champs
		// on observe l'evements onblur
 		if(this.options.immediate) {
			var action = this.form.readAttribute('action');
			var codeLangue = this.options.codeLangue;
			var onBlurMsg = this.options.onBlurMsg;
			Form.getElements(this.form).each(function(input) {
				Event.observe(input, 'load', function(ev) { 
					AjaxValidation.validate(
						Event.element(ev),
						{},
						action,
						codeLangue,
						onBlurMsg
					);
				});				
				
				Event.observe(input, 'blur', function(ev) {				
					input.value = input.value.trim();
					AjaxValidation.validate(
						Event.element(ev),
						{},
						action,
						codeLangue,
						onBlurMsg
					);
				});
			});
						
		}
 	},
 	
 	// Methode appelee lors de la soumission d'un formulaire
 	onSubmit_2 :  function(){ 
 		
 		//Sauvegarde du formulaire actif
 		AjaxValidation.activeForm = this.form;
 		var formulaire_active = this.form.id;
		// Initialisation des parametres POST a envoyer au serveur
		var parameters = {};		
		parameters ['ajaxRequestCodeLangue'] = this.options.codeLangue;
		parameters ['ajaxRequestMode'] = 'onSubmit'; 
		parameters ['ajaxRequestOnBlurMsg'] = this.options.onBlurMsg; 
		
		
		var subForm = "";
		var subformFunction = "";
		if(this.options.onSubmit) {
			subForm = true;
		} else {
			if(this.options.onPasSubmit) {
				subForm = false;
				if(this.options.onPasSubmitfunction) {
					subFormFunction = this.options.onPasSubmitfunction;
					parameters ['subFormFunction'] = subFormFunction; 
					this.form.writeAttribute('onSubmit','return false;');
				}
			}
		}
		
		parameters ['subForm'] = subForm; 
		
		// Expression reguliere permettant de n'observer que les classes de controles
		var filtre = /^checkAjax/;
		// Construction des parametres a envoyer pour chacun des inputs
		Form.getElements(this.form).each(function(element){
			parameters = AjaxValidation.generateParameters(element,parameters, filtre);
		});
		$(formulaire_active).disabled=true; 
				
		// Envoi de la requete AJAX
	 	// gestion de la couleur de l'ensemble des champs par defaut
		if((this.form).getElementsByTagName('label_rouge')) {
			var tabLabel = (this.form).getElementsByTagName('label_rouge');
			
		}

		new Ajax.Request(this.form.readAttribute('action'),
			{				
			    parameters: parameters,			
				method:'post',				  
				requestHeaders: {Accept: 'application/json'},
				onSuccess: function(transport){	
				  //Initalisation du message d'erreurs
				  var messageErreur = '';				  
				  var titleErreur = '';				  
				  var introErreur = '';
				  var messageErreur_idn = "";
				  // Initialisation du compteur d'erreurs
				  var nbErreurs = 0;
				  // Recuperation des reponses
					  if (transport.responseText != "") {
						 var reponsesJson = transport.responseText.evalJSON(true);
					  	//Traitement de chacune des reponses
					  	
					  	/* AJOUT IDN */
					  	var messageNDD = "";
							if(parameters['ajaxRequestTests[id_extension][0]']!=undefined || parameters['ajaxRequestTests[id-form-preRequis_checkNDD_idNDD_flap_idextension][0]']!=undefined){

				           /* Domaine format ACE */
				           /*if( $('domainACEFormat') && $('id-form-preRequis_checkNDD_idNDD') || $('domainACEFormat') && $('id-form-preRequisFLAP_checkNDD_idNDD') ) {
				                if ($('id-form-preRequis_checkNDD_idNDD'))
				                  myDomain = $('id-form-preRequis_checkNDD_idNDD').value;
				                else if($('id-form-preRequisFLAP_checkNDD_idNDD'))
				                  myDomain = $('id-form-preRequisFLAP_checkNDD_idNDD').value;
				                var myACEDomain = encodeACE(myDomain);
				                if (myACEDomain.substring(4,myACEDomain.length-1) == myDomain)
				                myACEDomain = myDomain;
				                $('domainACEFormat').value = myACEDomain;
												}*/
								
								if(formulaire_active=='id-form-preRequisFLAP_checkNDD')						
									messageNDD = requeteNDD.checkDomain("retour",'id-form-preRequisFLAP_checkNDD_idNDD');
								else
									messageNDD = requeteNDD.checkDomain("retour",'id-form-preRequis_checkNDD_idNDD');															
								
								if(messageNDD!="OK" && messageNDD!=undefined) {
									messageErreur_idn += '<li>' + messageNDD+ '</li>';
									//nbErreurs++;
								}
							}
					  	
					  	/* Fin AJOUT IDN */
					  	
						reponsesJson.each(function(reponse){
							
							if (reponse.response == "title" && nbErreurs > 0) {
								titleErreur = reponse.message;
                btnFermer = reponse.btnFermer;
							}
							if (reponse.response == "intro" && nbErreurs > 0) {
								introErreur = reponse.message;								
							}
							if (tabLabel.size>0) {
									tabLabel.each(function(elmtLabel){
										$(elmtLabel).removeClassName("label_rouge");
										$(elmtLabel).addClassName("label_noir");
										
									});
							}
													
							/** ajout */
							if (reponse.response <= 0) {
								nbErreurs++;
								if (reponse.message != "") {
									messageErreur += '<li>' + reponse.message+'</li>;';
								}
								// gestion de la couleur de l'ensemble des champs errones
								
								var inputsData = reponse.inputs;
								inputsData.each(function(inputData){
									if ($(inputData + "_label")) {
										$(inputData + "_label").removeClassName("AjaxValidationPassed_label");
										$(inputData + "_label").addClassName("AjaxValidationFailed_label");
									}
								});
								
							}
							var buttonFalse = '<img src="/images/img-picto04-true.gif" />';
							var buttonTrue = '<img src="/images/img-picto04-bis.gif" />';
							
							if (reponse.response > 0) {
								var inputsData = reponse.inputs;
								inputsData.each(function(inputData){
								
									if ($(inputData + 'Message')) {
										$(inputData + 'Message').innerHTML = buttonTrue;
									}
								});
							}
							else {
								if (reponse.response <= 0)   // Si ca n'a pas marche
								{
									
									var inputsData = reponse.inputs;
									
									inputsData.each(function(inputData){
										
										if ($(inputData + 'Message')) {
											
											
											$(inputData + 'Message').innerHTML = buttonFalse;
											
											if (parameters['ajaxRequestOnBlurMsg']) {
												
												$(inputData + 'Message').innerHTML = buttonFalse + " " + reponse.messageOnBlur;
											}
										}
									});
								}
							}
						
						});
						
					}
				  // S'il y a eu des erreurs
				  if (nbErreurs>0){
				
				  	 // Filtre des msg en doublons
				  	 var reg=new RegExp(";", "g");
				  	 var tab_msgErreur = messageErreur.split(reg);
				  	 tab_msgErreur = tab_msgErreur.uniq();
				  	 messageErreur = "<ul>"+tab_msgErreur.join(" ")+messageErreur_idn+"</ul>";

				  	 // On affiche une popup
					 // Reactivation du formulaire
			      	 Form.enable(AjaxValidation.activeForm);
			      	 $(formulaire_active).disabled=false;
			      	 if($$('.input-disabled')) {
							inputsDisabled = $$('.input-disabled');
							inputsDisabled.each(function(inputDisabled) {
								inputDisabled.disabled="true";
							});
					}
					// Formulaire process Wimax Etape 1
					if(document.getElementById('id-form-wimaxEtape1_idCountry')){
						document.getElementById('id-form-wimaxEtape1_idCountry').disabled = "disabled";
					}
				 	return overlib_erreur(titleErreur,introErreur+messageErreur,2,btnFermer);
				  
				  }	else { // Si il n'y a pas d'erreur, on soumet le formulaire
     
     
    			  /**
    			  * Test pour la page renouvellement ndd de la vue nordnet.net
    			  * Test qui permet de ne pas recharger un formulaire
    			  */
    			  if($('no_recharge_form')){
     			   if(($('no_recharge_form').value)=='ok'){
       				   addDomainToRenewList();
       				   $(formulaire_active).disabled=false;
       				   return false;
  				    }
   				   }

       				$(formulaire_active).disabled=false;
 			 		if(subForm) {
 						showFiltre(true);
 			 		}

 					// Si le bouton submit a encore son id, alors c'est la première fois qu'on soumet le formulaire
 			 		if(document.getElementById(formulaire_active+"-submit")){
 			 			// On désactive le bouton submit pour ne pas pouvoir envoyer plusieurs fois le formulaire
 			 			document.getElementById(formulaire_active+"-submit").style.cursor = 'text';
 			 			document.getElementById(formulaire_active+"-submit").id = '';
 			 		}

 			 		if(subForm) {
 						return $(formulaire_active).submit();
 			 		}
 			 		if(!subForm) {
 			 			eval(subFormFunction);
 			 		}
     
				  }		
				  
			    }
			    /*,
				onException: function(request,error) {
					alert('Exception: '+error.message);
				},
				onFailure: function(request,error) {
					alert('Failure: '+error.message);
				}*/

		}); 		 	
		// On fait un return false quoi qu'il arrive en attendant la reponse du serveur
		//Event.stop(ev);
	}
	
 }

//Surdefinition de la classe AjaxValidation
Object.extend(AjaxValidation, {
	// Declaraction de la propriete activeForm qui determine le formulaire actif
	activeForm : '',
	// Methode generant les parametres AJAX a envoyer pour un element donne
	generateParameters : function(element,parameters, filtre){
		// Objet control
		var aControl = undefined;
		// Iterateur de classe de controle
		var iClass = 0;
		// Pour chacune des classes de l element
 		element.classNames().each(function(className) {
 			// Si il s'agit d'une classe CSS de controle...
			if (filtre.test(className)){
				// Specification de la classe en cours
				parameters ['ajaxRequestTests[' + element.id + '][' + iClass + ']']  = className;
				
				//Recuperation d'une eventuelle definition de controle (via addControl)
				aControl = AjaxValidation.getControl(className);

				// Si rien n'a ete defini via addControl
				if (aControl === undefined){						 					
					parameters ['ajaxRequestTestsParametersIds['    + element.id + '][' + iClass + '][' + 0 + ']'] = element.id;					
					parameters ['ajaxRequestTestsParametersValues[' + element.id + '][' + iClass + '][' + 0 + ']'] = element.value;				
					parameters ['ajaxRequestTestsParametersName[' + element.id + '][' + iClass + '][' + 0 + ']'] = element.name;
				} else {					
					// On precise les valeurs et les ids des parametres du controle
					// specifie via addControl
					for (var j=0;j<aControl.fields.size();j++){
						parameters ['ajaxRequestTestsParametersIds['    + element.id + '][' + iClass + '][' + j + ']'] = aControl.fields[j];					
						parameters ['ajaxRequestTestsParametersValues[' + element.id + '][' + iClass + '][' + j + ']'] = $F(aControl.fields[j]);				
						parameters ['ajaxRequestTestsParametersName[' + element.id + '][' + iClass + '][' + j + ']'] = $(aControl.fields[j]).name;
					}
				}
				
				
				// Incrementation du compteur de classe de controle
				iClass ++;									
 			}
 		});

 		// On retourne les parametres mis a jour de la requete Ajax
 		return parameters;
 		
	},
	//Validation d'un element de formulaire (lors d'un evt onblur)
	validate : function(elm, options,action,codeLangue,onBlurMsg){
		
		// Initialisation des parametres Ajax a envoyer
		var parameters = {};
		parameters ['ajaxRequestCodeLangue'] = codeLangue;
		parameters ['ajaxRequestMode'] = 'immediate';
		
		//Definition du filtre permettant de determiner si une classe CSS est une classe d'apparence ou de controle
		var filtre = /^checkAjax/;
	
		// Generation des parametres Ajax pour l'element en cours	
		parameters = AjaxValidation.generateParameters(elm,parameters, filtre);
		
		//TODO : gerer egalement les AjaxValidator => implique l'utilisation de la requete ci-dessous
		//AjaxValidation.get(value).test(value, elm, action,codeLangue);
		
						
		// Envoi de la requete Ajax
			  
		new Ajax.Request(action,
			{				    
			    parameters: parameters,
				onSuccess: function(transport){	   
					var json = transport.responseText.evalJSON();
					AjaxValidation.displayResult(elm, json[0].response, json[0].messageOnBlur, {optionBlur : onBlurMsg});		
					//alert(transport.responseText);			  
				}
		});
	},
	
	// Permet d'enrichir le controle avec des tests
	// propre a la page, avec des tests metiers 
	// qui ne se limitent pas a la verification d'un type....
	add : function(className, test) {
		var nv = {};
		nv[className] = new AjaxValidator(className, test);
		Object.extend(AjaxValidation.methods, nv);
	},
	
	// Permet de lie une classe CSS a un ensemble de champs
	addControl : function (className, fields, options){
		var nv={};
		nv[className] = new AjaxControl(className, fields, options);		
		Object.extend(AjaxValidation.controls,nv);
	},
	// Retourne la methode a appliquer pour la classe donnee en parametre
	get : function(name) {
		return  AjaxValidation.methods[name] ? AjaxValidation.methods[name] : AjaxValidation.methods['_LikeNoIDIEverSaw_'];
	},
	// Retourne un element AjaxValidationControls d'apres le nom de la CSS
	getControl : function(name) {
		return AjaxValidation.controls[name] ? AjaxValidation.controls[name] : undefined;
	},
	// Affichage du resultat : utilise lors des tests immediat lie a l'evt onblur
	displayResult : function (elm, response, message, options){
		// Les options permettront de determiner comment le message doit etre affiche
		// (popup...)
		
		/**
		if ($(elm.id + 'Message')){
			$(elm.id + 'Message').innerHTML = ;
		}*/
		
		/** bouton radio affichage 
		var idElmt = elm.id;
		if($(elm.id).type=="radio") {
			var name = $(elm).id;
			var long = name.length;
			idElmt = name.substring(0,long-2);
		}
		bouton radio affichage */

		var buttonFalse = "<img src='/images/img-picto04-true.gif' />";
		var buttonTrue = "<img src='/images/img-picto04-bis.gif' />";
		if (response==1){
		   	elm.removeClassName ('AjaxValidationFailed');
		   	elm.addClassName    ('AjaxValidationPassed');
			if($(elm.id +"_label")){
				$(elm.id +"_label").removeClassName("AjaxValidationFailed_label");
		   		$(elm.id +"_label").addClassName("AjaxValidationPassed_label");	
			}
			if ($(elm.id + 'Message')){
				$(elm.id+ 'Message').innerHTML = buttonTrue+" "+message;
			}
		} else 
		// Si ca n'a pas marche
		{
		   	elm.removeClassName ('AjaxValidationPassed');			      						      	
		   	elm.addClassName    ('AjaxValidationFailed');;
		   	if($(elm.id +"_label")) {
		   		$(elm.id +"_label").removeClassName("AjaxValidationPassed_label");
				$(elm.id +"_label").addClassName("AjaxValidationFailed_label");
			}
			if ($(elm.id + 'Message')){
				$(elm.id + 'Message').innerHTML = buttonFalse;
				if(options.optionBlur) {
					$(elm.id + 'Message').innerHTML = buttonFalse+" "+message;
				}
			}
		}
	},
	//Liste des methodes gerees via Ajax. La methode a par defaut un nom barbare qui ne se recontrera jamais
	//Cette methode n'est actuellement plus utilisee tout comme la methode get et add
	methods : {
		'_LikeNoIDIEverSaw_' : new AjaxValidator(
			'_LikeNoIDIEverSaw_',
			function (v, elm, action,codeLangue) {
				
				var parameters = Object.extend({ajaxRequestCodeLangue: codeLangue, mode: 'immediate'},
					{
						'ajaxRequestTests[0]' : v,
						'ajaxRequestTestsParametersIds[0][0]' : elm.id,
						'ajaxRequestTestsParametersValues[0][0]' : elm.value
					}				
				);
				
				new Ajax.Request(action,
				{				    
				    parameters: parameters,
				    onSuccess: function(transport){				    
					  var json = transport.responseText.evalJSON();					  
					  AjaxValidation.displayResult(elm, json[0].response, json[0].message, {});					  
				    },
				    onFailure: function(){
				    }
				});
			}
		)
		
		
		
	},
	// initialisation des controles
	controls : {
		
			
	},
	
	autoFill_formTreatment : function (json_response) {
		/** remplissage automatique  */
			var nameForm = (global_form.id);
			if($('treatment_handle')){
				Event.observe($('treatment_handle'),'change',function(e) {
					var elt = Event.element(e);
					var id = elt.value;
					preremplir_formTreatment(id,nameForm,json_response);
				});
			}
			preremplir_formTreatment(0,nameForm,json_response);
			
			
	},
	
	autoFill_formTreatmentPackRelais : function (json_response,json_response_proprio) {
		/** remplissage automatique  */
			var nameForm = (global_form.id);
			if($('treatment_handle')){
				Event.observe($('treatment_handle'),'change',function(e) {
					var elt = Event.element(e);
					var id = elt.value;
					preremplir_formTreatment(id,nameForm,json_response);
				});
			}
			preremplir_formTreatment(0,nameForm,json_response_proprio);
	}
});

/** Specifique a calendanet / Nordnet */

/** Fonction qui permet de rendre inactif ou non le champs societe */
function TestClientType(formId) {

	/** Champs Type de client */	
	if(document.getElementsByName('ClientType') && document.getElementsByName('Company')) {
	
		ClientTypes = document.getElementsByName('ClientType');
		ClientType = ClientTypes[0];
		
		/** Champs Societe pour Firefox (indice 0 ) */
		Companys = document.getElementsByName('Company');
		Company = Companys[0];
	
		/** Champs Societe pour Internet Explorer (indice 1 ) */
		if(Companys[1])
			Company2 = Companys[1];
			
		if(ClientType && Company) {
			if(ClientType.id && Company.id) {
				myClientType = $(ClientType.id);
				myCompany = $(Company.id);
	
				if(Companys[1])
					myCompany2 = $(Company2.id);
				/** Si Type de client == soc */
				if(Company.type != "hidden"){
					if(myClientType.options[myClientType.options.selectedIndex].value=="soc" || myClientType.options[myClientType.options.selectedIndex].value=="societe") {
	
						myCompany.disabled="";
						myCompany.className = "checkAjaxRequired checkAjaxData0 champ" ;
						
						if(Companys[1]){
							myCompany2.disabled="";
							myCompany2.className = "checkAjaxRequired checkAjaxData0 champ" ;
						}
						
						$("asterique_societe").innerHTML  = "*" ;
						if($('Company_label')) {
							myLabel = $('Company_label').firstDescendant();
							myLabel.style.color = "#333333";
						}
					/** Si Type de client != soc */
					} else {
						if(myCompany || myCompany2) {
							myCompany.value = "";
							myCompany.disabled="disabled" ;
							myCompany.className = "checkAjaxData0 champ" ;
	
							if(Companys[1]){
								myCompany2.value = "";
								myCompany2.disabled="disabled" ;
								myCompany2.className = "checkAjaxData0 champ" ;
							}
							
							$("asterique_societe").innerHTML  = "" ;
							$("asterique_societe").style.color  = "" ;
						
							if($(formId+"_idCompanyMessage"))
								$(formId+"_idCompanyMessage").innerHTML  = "" ;
							if($('Company_label')) {
								myLabel = $("Company_label").firstDescendant() ;
								myLabel.style.color = "#aaaaaa" ;
		                    }
						}
					}
				}
			}
		}
	}
}

/** fonction qui permet de cacher l icone warning sur la page preRequis.php */
function hideIcon(){
	if($('warning_icon')){
		$('warning_icon').style.display = "none" ;
	}
}

function preremplir_formTreatment(id,nameForm,json_response) {
	var personnes = json_response;
	if(personnes) {
		var personne = personnes[id];
		/** civilite */
		if ($(nameForm + "_idCivility_1")) {
			switch (personne.civility) {
				case 'Mrs.':
					$(nameForm + "_idCivility_1").checked = true;
					break;
				case 'Miss':
					$(nameForm + "_idCivility_2").checked = true;
					break;
				case 'Mr.':
					$(nameForm + "_idCivility_3").checked = true;
					break;
			}
		}
		listenCheckRedBox(false);
		
		/** statut*/
		if ($(nameForm + "_idStatut")) {
			for (i = 0; i < $(nameForm + "_idStatut").length; i++) {
				if (personne.customerType == $(nameForm + "_idStatut").options[i].value) {
					$(nameForm + "_idStatut").options[i].selected = true;
				}
				if (personne.customerType == 'soc') {
					$(nameForm + "_idCompany").enable();
					$('asterique_societe').innerHTML = "*";
					$(nameForm + "_idCompany_label").style.color  = "#484848" ;
				}
				else {
					$(nameForm + "_idCompany").disable();
					$('asterique_societe').innerHTML = "";
					$(nameForm + "_idCompany_label").style.color  = "#AAAAAA" ;
				}
			}
		}
		
			
		
		/** country*/
		if ($(nameForm + "_idCountry")) {
			for (i = 0; i < $(nameForm + "_idCountry").length; i++) {
				if (personne.country == $(nameForm + "_idCountry").options[i].value) {
					$(nameForm + "_idCountry").options[i].selected = true;
				}
			}
		}
		/** name */			if($(nameForm+"_idName")) $(nameForm+"_idName").value=personne.name;
		/** Firstname */	if($(nameForm+"_idFirstname")) $(nameForm+"_idFirstname").value=personne.firstName;
		/** Company */		if($(nameForm+"_idCompany")) $(nameForm+"_idCompany").value=personne.company;
		/** Adress1 */		if($(nameForm+"_idAdress1")) $(nameForm+"_idAdress1").value=personne.adress1;
		/** Adress2 */		if($(nameForm+"_idAdress2")) $(nameForm+"_idAdress2").value=personne.adress2;
		/** City */			if($(nameForm+"_idCity")) $(nameForm+"_idCity").value=personne.city;
		/** Tel */			if($(nameForm+"_idTel") && personne.tel!=null) $(nameForm+"_idTel").value=personne.tel;
		/** GSM */			if($(nameForm+"_idGsm") && personne.gsm!=null) $(nameForm+"_idGsm").value=personne.gsm;
		
		/** Fax */			if($(nameForm+"_idFax") && personne.fax!=null ) $(nameForm+"_idFax").value=personne.fax;
		/** Email */		if($(nameForm+"_idEmail") && personne.email!=null ) $(nameForm+"_idEmail").value=personne.email;
		/** Postalcode */	if($(nameForm+"_idPostalcode")) $(nameForm+"_idPostalcode").value=personne.postalCode;
		/** Siren */		if($(nameForm+"_idSiren")) $(nameForm+"_idSiren").value=personne.siren;
		/** TvaIntra */		if($(nameForm+"_idTvaintra")) $(nameForm+"_idTvaintra").value=personne.tvaintra;
		if($(nameForm)) {
		TestClientType(nameForm);
		}
	}
}
/** fin : remplissage automatique */

function indicatifTel(formId) {
	alert(formId);
}

/** Evenements */
Event.observe(window,'load',TestClientType);


