Form.Validator.Inline=new Class({Extends:Form.Validator,options:{showError:function(a){if(a.reveal){a.reveal()}else{a.setStyle("display","block")}},hideError:function(a){if(a.dissolve){a.dissolve()}else{a.setStyle("display","none")}},scrollToErrorsOnSubmit:true,scrollToErrorsOnBlur:false,scrollToErrorsOnChange:false,scrollFxOptions:{transition:"quad:out",offset:{y:-20}}},initialize:function(b,a){this.parent(b,a);this.addEvent("onElementValidate",function(g,f,e,h){var d=this.getValidator(e);if(!g&&d.getError(f)){if(h){f.addClass("warning")}var c=this.makeAdvice(e,f,d.getError(f),h);this.insertAdvice(c,f);this.showAdvice(e,f)}else{this.hideAdvice(e,f)}})},makeAdvice:function(d,f,c,g){var e=(g)?this.warningPrefix:this.errorPrefix;e+=(this.options.useTitles)?f.title||c:c;var a=(g)?"warning-advice":"validation-advice";var b=this.getAdvice(d,f);if(b){b=b.set("html",e)}else{b=new Element("div",{html:e,styles:{display:"none"},id:"advice-"+d.split(":")[0]+"-"+this.getFieldId(f)}).addClass(a)}f.store("$moo:advice-"+d,b);return b},getFieldId:function(a){return a.id?a.id:a.id="input_"+a.name},showAdvice:function(b,c){var a=this.getAdvice(b,c);if(a&&!c.retrieve("$moo:"+this.getPropName(b))&&(a.getStyle("display")=="none"||a.getStyle("visiblity")=="hidden"||a.getStyle("opacity")==0)){c.store("$moo:"+this.getPropName(b),true);this.options.showError(a);this.fireEvent("showAdvice",[c,a,b])}},hideAdvice:function(b,c){var a=this.getAdvice(b,c);if(a&&c.retrieve("$moo:"+this.getPropName(b))){c.store("$moo:"+this.getPropName(b),false);this.options.hideError(a);this.fireEvent("hideAdvice",[c,a,b])}},getPropName:function(a){return"advice"+a},resetField:function(a){a=document.id(a);if(!a){return this}this.parent(a);a.get("validators").each(function(b){this.hideAdvice(b,a)},this);return this},getAllAdviceMessages:function(d,c){var b=[];if(d.hasClass("ignoreValidation")&&!c){return b}var a=d.get("validators").some(function(g){var e=g.test("^warn-")||d.hasClass("warnOnly");if(e){g=g.replace(/^warn-/,"")}var f=this.getValidator(g);if(!f){return}b.push({message:f.getError(d),warnOnly:e,passed:f.test(),validator:f})},this);return b},getAdvice:function(a,b){return b.retrieve("$moo:advice-"+a)},insertAdvice:function(a,c){var b=c.get("validatorProps");if(!b.msgPos||!document.id(b.msgPos)){if(c.type&&c.type.toLowerCase()=="radio"){c.getParent().adopt(a)}else{a.inject(document.id(c),"after")}}else{document.id(b.msgPos).grab(a)}},validateField:function(g,f,b){var a=this.parent(g,f);if(((this.options.scrollToErrorsOnSubmit&&b==null)||b)&&!a){var c=document.id(this).getElement(".validation-failed");var d=document.id(this).getParent();while(d!=document.body&&d.getScrollSize().y==d.getSize().y){d=d.getParent()}var e=d.retrieve("$moo:fvScroller");if(!e&&window.Fx&&Fx.Scroll){e=new Fx.Scroll(d,this.options.scrollFxOptions);d.store("$moo:fvScroller",e)}if(c){if(e){e.toElement(c)}else{d.scrollTo(d.getScroll().x,c.getPosition(d).y-20)}}}return a},watchFields:function(a){a.each(function(b){if(this.options.evaluateFieldsOnBlur){b.addEvent("blur",this.validationMonitor.pass([b,false,this.options.scrollToErrorsOnBlur],this))}if(this.options.evaluateFieldsOnChange){b.addEvent("change",this.validationMonitor.pass([b,true,this.options.scrollToErrorsOnChange],this))}},this)}});