var TestForm=Class.create();TestForm.prototype={initialize:function(a){this.formu=document.body.getElementsByTagName("FORM")[0];this.container=a.id?$(a.id):this.formu;this.useBlurEvent=a.useBlurEvent?a.useBlurEvent:true;this.testType=["IsEmpty","IsDate","IsNumber","IsMail","IsSelected","IsMail","IsMailVerif","IsPwdVerif","IsSize","IsChecked"];this.className=a.className?a.className:"champcontact";this.errorClassName=a.errorClassName?a.errorClassName:"champerreur";if(a.button){$(a.button).observe("click",function(b){this.formu.onsubmit=a.onSubmit?a.onSubmit:function(){return this.testFormulaire()}.bind(this);return this.testFormulaire()}.bind(this))}this.items=new TestFormItems(this);this.getItems()},getItems:function(){for(var i=0;i<this.testType.length;i++){if(typeof eval(this.testType[i])=="function"){var t=this.container.getElementsByClassName(this.testType[i]);if(t.length>0){for(var y=0;y<t.length;y++){var d=this.items.addItem(t[y],eval(this.testType[i]))}}}}},testFormulaire:function(){var b=true;for(var a=0;a<this.items.length;a++){if(!this.items[a].test(this.items[a])){b=false}}if(this.onSubmit){this.onSubmit(b)}return b}};var TestFormItems=Class.create();TestFormItems.prototype={initialize:function(c){var b=new Array();Object.extend(this,$A(b));this["push"]=b.push;this["length"]=b.length;this["indexOf"]=b.indexOf;this["splice"]=b.splice;if(c){this.parent=c}},addItem:function(b,c){var a=new TestFormItem(b,c,this.parent);this.push(a);return a},removeItem:function(b){var a=this.getIndex(b);this.splice(a,1)},getIndex:function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return a}}return}};var TestFormItem=Class.create();TestFormItem.prototype={initialize:function(a,c,b){this.element=a;this.parent=b;this.test=c;this.className=this.element.getAttribute("className")?this.element.getAttribute("className"):this.parent.className;this.errorClassName=this.element.getAttribute("errorClassName")?this.element.getAttribute("errorClassName"):this.parent.errorClassName;if(this.element.getAttribute("idError")){this.idError=this.element.getAttribute("idError");$(this.idError).hide()}else{this.idError=null}this.msg=this.element.getAttribute("msg")?this.element.getAttribute("msg"):null;if(this.parent.useBlurEvent){this.element.observe("blur",function(d){this.test(this)}.bind(this))}},addError:function(b){if(this.msg){if(this.idError){var a=$(this.idError);a.update(this.msg);a.show()}}else{if(b){if(this.idError){var a=$(this.idError);a.update(b);a.show()}}}this.element.addClassName(this.errorClassName);this.element.removeClassName(this.className)},removeError:function(){if(this.idError){var a=$(this.idError);a.update("");a.hide()}this.element.addClassName(this.className);this.element.removeClassName(this.errorClassName)}};function IsEmpty(a){var c=a.element;var b=" ";if(!c.getValue()){a.addError(b);return false}else{a.removeError();return true}}function IsMail(a){var c=a.element;var b=" ";if(!IsEmpty(a)){return false}else{if(c.getValue().search(/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)==-1){a.addError(b);return false}else{a.removeError();return true}}}function IsNumber(a){var b=a.element;if(!IsEmpty(a)){return false}else{if((isNaN(b.getValue()))){return false}else{a.removeError();return true}}}function IsSize(b){var c=b.element;var a=parseInt(b.element.getAttribute("minSize"));if(!IsEmpty(b)){return false}else{if(c.getValue().toString().length<a){b.addError("Ce champs doit faire au moins "+a+" caracteres");return false}else{b.removeError();return true}}}function IsMailVerif(b){var a=$(b.element.getAttribute("idMail"));if(!IsEmpty(b)){return false}else{if(!IsMail(b)){return false}else{if(a.getValue()!=b.element.getValue()){b.addError("La confimation de l'email est differente");return false}else{b.removeError();return true}}}}function IsPwdVerif(b){var a=$(b.element.getAttribute("idPwd"));if(!IsEmpty(b)){return false}else{if(!IsSize(b)){return false}else{if(a.getValue()!=b.element.getValue()){b.addError("La confimation du mot de passe est differente");return false}else{b.removeError();return true}}}}function IsSelected(a){var c=a.element;var b=" ";if(!c.getValue()){a.addError(b);return false}else{if(c.getValue()=="0"){a.addError(b);return false}else{a.removeError();return true}}}function IsChecked(b){var f=b.element;if(f.tagName!="INPUT"){f=f.down("INPUT")}var d=" ";if(f.name!=""){var e=document.getElementsByName(f.name);var a=false;for(var g=0;g<e.length;g++){if(e[g].checked==true){a=true}}if(a){b.removeError();return true}else{b.addError(d);return false}}else{if(f.checked==true){b.removeError();return true}else{b.addError(d);return false}}}function IsDate(k){var e=k.element;var l=e.getValue();var c=1900;var i=2008;var f="/";var h=(l.substring(0,2));var g=(l.substring(3,5));var o=(l.substring(6));var n=true;e.addClassName(k.className);e.removeClassName(k.errorClassName);k.addError("&nbsp;");if(((isNaN(h))||(h<1)||(h>31))&&(n==true)){k.addError("Le jour n'est pas correct.");n=false}if(((isNaN(g))||(g<1)||(g>12))&&(n==true)){k.addError("Le mois n'est pas correct.");n=false}if(((isNaN(o))||(o<c)||(o>i))&&(n==true)){k.addError("L'ann�e n'est pas correcte.");n=false}if(((l.substring(2,3)!=f)||(l.substring(5,6)!=f))&&(n==true)){k.addError("Les s�parateurs doivent �tre des "+f);n=false}if(n==1){var b=new Date(o,g-1,h);j2=b.getDate();m2=b.getMonth()+1;a2=b.getFullYear();if(a2<=100){a2=1900+a2}if((h!=j2)||(g!=m2)||(o!=a2)){k.addError("La date "+l+" n'existe pas !");n=false}}return n};