var validation=new Array();var validation_message=" est requis ou invalide";var basics=new Hash({r:".+",e:"^[\\w._-]+@[\\w._-]+$"});window.addEvent("domready",validateforms);function validateforms(){$$("form.valid").each(function(a){var b=a.getProperty("id");a.addEvent("submit",function(c){if(!validator(a,false)){new Event(c).stop()}});a.getElements("input").each(function(c){if(c.value){checkfield(c,b)}c.addEvent("keyup",function(d){checkfield(c,b)})});a.getElements("textarea").each(function(c){if(c.value){checkfield(c,b)}c.addEvent("keyup",function(d){checkfield(c,b)});c.addEvent("focus",function(d){c.setProperty("rows",c.getProperty("rows")*2)});c.addEvent("blur",function(d){c.setProperty("rows",c.getProperty("rows")/2)})});a.getElements("select").each(function(c){c.addEvent("change",function(d){checkfield(c,b);c.getElements("option").each(function(e){if(e.hasClass("preciser")&&e.selected){$("r"+e.getProperty("value")).setStyle("display","block")}else{if(e.hasClass("preciser")){$("r"+e.getProperty("value")).setStyle("display","none")}}})});c.fireEvent("change")})});if(window.Calendar){Calendar._DN.length=Calendar._DN.length-1;Calendar.dayNames=Calendar._DN;Calendar.format=Calendar._TT.DEF_DATE_FORMAT.replace("%Y","yyyy").replace("%d","dd").replace("%m","mm");Calendar.monthNames=Calendar._MN;Calendar.startDay=Calendar._FD}$$("form.valid div.date input").each(function(a){new DatePicker(a,Calendar)})}function validator(d,a){var g=Array();var e=d.getProperty("id");for(var c=0;c<d.elements.length;c++){champ=$(d.elements[c]);if(["text","textarea","file","password","select-one","select-multiple"].contains(champ.type)){if(!checkfield(champ,e)){if(g.length==0){champ.focus()}label=champ.getProperty("title")||getLabelForId(champ.name).textContent||champ.name.replace(/_/g," ");g.push('<label for="'+champ.id+'">'+label.substring(0,1).toUpperCase()+label.substring(1)+"</label> "+validation_message)}}}if(g.length>0){if(!a){var b='<h3 class="message error">Votre formulaire comporte des erreurs</h3><ul class="errors"><li>'+g.join("</li><li>")+"</li></ul>";minipopup(b)}return false}return true}function getLabelForId(d){var a,c=document.getElementsByTagName("label");for(var b=0;(a=c[b]);b++){if(a.htmlFor==d){return a}}return false}function checkfield(c,a){c=$(c);var b=c.retrieve("MooEditable");if(b){b.saveContent()}value=c.get("value");valid=true;regexps=new Array();if(validation[a]&&validation[a][c.getProperty("id")]){regexps=$A(validation[a][c.getProperty("id")])}c.className.split(" ").each(function(d){if(basics.has(d)){regexps.push(basics.get(d))}});if(!c.hasClass("r")&&value==""){valid=true}else{regexps.each(function(d){if(d.indexOf("=")==0){field=$(d.substring(1));if(!field||!field.get||field.get("value")!=value){valid=false}}else{if(!new RegExp(d).test(value)){valid=false}}})}if(valid){c.removeClass("missing")}else{c.addClass("missing")}return valid};
