Ext.onReady(function(e){
	
var modifUtilisateur = function (){
tab = Ext.Ajax.serializeForm("FormulaireUtilisateur");
tab += '&mode=ajax';

var f = Ext.get("utilisateur_form_url");

//tab += '&utilisateur_mode=modification';

if(Ext.get("conditions_ok")){
	var v = Ext.get("conditions_ok").getValue();
	if(v == "nook"){
		 Ext.MessageBox.alert('Attention',"Vous devez valider les conditions g&eacute;n&eacute;rales ! ");
		 return; 
	}
}

/**
 * on valide le formulaire d'inscription
 */
 var tabObligatoire = new Array("FormDataMail","FormDataCivilite","FormDataNom","FormDataPrenom","FormDataNaissance","FormDataVilleID","FormDataAdresse");
 var tabParam = tab.split("&");
 /**
  * il faut un traitement particulier pour le lieu
  */
 var follow = true;
 var ville;
 var message = "Au moins un des champs obligatoires n'est pas renseign&eacute;s !";
 var telephoneGsm;
 var telephone;
 var datenaissance;
 
 for(var i =0; i < tabParam.length ; i++){
 	var tabNom = tabParam[i].split("=");
 	if(tabObligatoire.indexOf(tabNom[0]) != -1){
 		var nom = "label_"+tabNom[0];
// 		alert(nom+" :: valeur :: "+tabNom[1]);
// 		if(Ext.get(nom)) Ext.get(nom).update("fin");
 		
			
		if(tabNom[1] == "" || tabNom[1] == "choose"){
			follow = false;
			if(Ext.get(nom))
			Ext.get(nom).addClass("cObligatoire_nvalide");
		}else{
			if(Ext.get(nom))
			Ext.get(nom).removeClass("cObligatoire_nvalide");
		}
 		
 	}
 	if(tabNom[0] == "isfind") ville = tabNom[1];
 	if(tabNom[0] == "FormDataGSM") telephoneGsm = tabNom[1];
 	if(tabNom[0] == "FormDataTelephone") telephone = tabNom[1]; 
 	if(tabNom[0] == "FormDataNaissance") datenaissance = tabNom[1];
 }

 if(ville){
 	if(Ext.get("label_Lieu")) Ext.get("label_Lieu").removeClass("cObligatoire_nvalide");
 }else{
 	follow = false;
 	message = "Vous devez renseigner votre lieu de r&eacute;sidence";
 	Ext.get("label_Lieu").addClass("cObligatoire_nvalide");
 }
 
 if(!telephone && !telephoneGsm){
 	follow = false;
 	message = "Au moins un des champs t&eacute;l&eacute;phone doit &ecirc;tre renseign&eacute;";
 	Ext.get("label_FormDataTelephone").addClass("cObligatoire_nvalide");
 	Ext.get("label_FormDataGSM").addClass("cObligatoire_nvalide");
 }else{
 	Ext.get("label_FormDataTelephone").removeClass("cObligatoire_nvalide");
 	Ext.get("label_FormDataGSM").removeClass("cObligatoire_nvalide");
 }
 
 if(datenaissance){
 	
 	var tabDatenaissance = datenaissance.split("%2F");
 	var date = new Date(tabDatenaissance[1]+"/"+tabDatenaissance[0]+"/"+tabDatenaissance[2]);
 	
 	var dateDeb = new Date("01/01/1900");
 	var dateFin = new Date();
 	
 	if(Date.parseDate(tabDatenaissance[1]+"/"+tabDatenaissance[0]+"/"+tabDatenaissance[2],"m/d/Y") == undefined || !date.between(dateDeb,dateFin)){
 		message = "La date de naissance renseign&eacute;e n'est pas valide !";
 		Ext.get("label_FormDataNaissance").addClass("cObligatoire_nvalide");
 		follow = false;
 	}
 }
 
if(follow){
/**
 * on valide le formulaire d'inscription
 */
 Ext.Ajax.request({
	//url : '/Utilisateurs/index/insert' ,
	url : '/Utilisateurs/index/insertAndAuthenticate',
	params : tab,
	success: function( result, request ) {
				json = JSON.parse(result.responseText);
				c = Ext.get("bloc_inscription");
				if(json.status == 1){				
					document.location.href = f.dom.value;
				}else if(json.status == 2 || json.status == 0){
					//Ext.Msg.alert('Failed',"Il y a des erreurs dans le formulaires d'inscription");
					Ext.Msg.alert('Failed',json.message,function(){
						var container = Ext.get("container_erreur");
						if(container){
							container.update("<p style='color:red;'>"+json.message+"</p>");
						}
					}); 
				}else if(json.status == 4){
					// on redirige vers la page d'accueil
					document.location.href = "/";
				}else{
					Ext.Msg.alert('Failed',/*"ces identifiants ne sont pas disponibles!"*/"un compte avec ces identifiants existe d&eacute;j&agrave;");
				}
			},
			
	failure: function ( result, request) { 
				Ext.MessageBox.alert('Failed',"une erreur est survenue"); 
			},
			
	callback: function (result , request){
//				valideAnnonce(); 
			}				 
		});
//}
}else{
	Ext.Msg.alert('Attention',message); 
} 
}

	Ext.get("button_submit").on("click",modifUtilisateur);
});
