var AbstractFormulaire=Class.create();AbstractFormulaire.prototype={form:null,listeServices:null,fieldCity:null,fieldZipCode:null,cityDft:"Ville, CP, département",initialize:function(){},initForm:function(idForm,idListe){this.form=$(idForm);if(idListe!=null){this.listeServices=$(idListe)}this.form.reset();this.form.observe("submit",this.submit.bindAsEventListener(this))},initLocalisation:function(idInputCity,idInputZipCode,idAutocompletion,idLoader){this.fieldCity=$(idInputCity);if(idInputZipCode){this.fieldZipCode=$(idInputZipCode);var urlGetCityList="/utilisateur/getVillesDepartementsAjax/1/1.html"}else{var urlGetCityList="/utilisateur/getVillesDepartementsAjax/1/0.html"}if(this.fieldCity.value==this.cityDft){this.fieldCity.observe("focus",this.focusOnLocalisation.bindAsEventListener(this));this.fieldCity.observe("blur",this.blurOnLocalisation.bindAsEventListener(this))}new Ajax.Autocompleter(idInputCity,idAutocompletion,urlGetCityList,{minChars:3,frequency:0.1,indicator:idLoader,paramName:"input",updateElement:this.updateInputFields.bindAsEventListener(this)})},focusOnLocalisation:function(ev){if(ev.element().value==this.cityDft){ev.element().value=""}},blurOnLocalisation:function(ev){if(ev.element().value.strip()==""){ev.element().value=this.cityDft}},submit:function(ev){if(ev.explicitOriginalTarget.className!="infosLink"){if(!ev.target.down("input.js_cat_id").value){Event.stop(ev);alert("Veuillez sélectionner un service.");return false}}},updateInputFields:function(item){var zipCode=item.firstDescendant().remove().innerHTML.strip().substr(1,5);var city=item.innerHTML.strip();if(this.fieldZipCode){this.fieldCity.value=city;this.fieldZipCode.value=zipCode;if($("ats_cp_bulle_alerte")&&$("ats_cp_bulle_alerte").visible()){Effect.Fade($("ats_cp_bulle_alerte"),{duration:0.5})}}else{this.fieldCity.value=city+" ("+zipCode+")"}}};
