var FormBuilderValidate={textValidator:function(b,c){var a={fieldset:b,message:"",fields:[]};c.fields.each(function(d,c){d.isRequired&&b.fields[c].field.value==""&&a.fields.push(c)},this);return a.fields.length>0?a:null},multValidator:function(a){var b=false;a.fields[0].field.select("input").each(function(a){if(a.checked)b=true},this);return b?null:{fieldset:a,message:"",fields:[0]}},validators:[{fieldType:"email",validate:function(b){var a=null,c=b.fields[0].field.value.match(/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);if(!c&&b.fields[0].field.value!=""){a={fieldset:b,message:"",fields:[0]};a.message="Please enter a valid email address"}return a}},{fieldType:"date",validate:function(a){var b={fieldset:a,message:"",fields:[]};!isFinite(Number(a.fields[0].field.value))&&a.fields[0].field.value!=""&&b.fields.push(0);!isFinite(Number(a.fields[1].field.value))&&a.fields[1].field.value!=""&&b.fields.push(1);(!isFinite(Number(a.fields[2].field.value))||a.fields[2].field.value.length!=4)&&a.fields[2].field.value!=""&&b.fields.push(2);if(b.fields.length>0)b.message="Invalid Date, please follow specified format";return b.fields.length>0?b:null}},{fieldType:"time",formatTypes:[{type:"Hour and Minutes,",validate:function(b){var a={fieldset:b,message:"",fields:[]};!isFinite(Number(b.fields[0].field.value))&&b.fields[0].field.value!=""&&a.fields.push(0);!isFinite(Number(b.fields[1].field.value))&&b.fields[1].field.value!=""&&a.fields.push(1);if(a.fields.length>0)a.message="Invalid Time, please follow specified format";return a.fields.length>0?a:null}},{type:"Hour, Minutes, and Second,",validate:function(b){var a={fieldset:b,message:"",fields:[]};!isFinite(Number(b.fields[0].field.value))&&b.fields[0].field.value!=""&&a.fields.push(0);!isFinite(Number(b.fields[1].field.value))&&b.fields[1].field.value!=""&&a.fields.push(1);!isFinite(Number(b.fields[2].field.value))&&b.fields[2].field.value!=""&&a.fields.push(2);if(a.fields.length>0)a.message="Invalid Time, please follow specified format";return a.fields.length>0?a:null}}]},{fieldType:"price",validate:function(a){var b=null;a.fields[0].field.value=a.fields[0].field.value.strip();if(a.fields[0].field.value!="")if(!isFinite(Number(a.fields[0].field.value))){b={fieldset:a,message:"",fields:[0]};b.message="Invalid Number"}return b}},{fieldType:"number",validate:function(b){var a=null;if(b.fields[0].field.value!="")if(!isFinite(Number(b.fields[0].field.value))){a={fieldset:b,message:"",fields:[0]};a.message="Invalid Number"}return a}},{fieldType:"fileupload",allowExt:["zip","txt","html","htm","htc","js","css","ico","xml","swf","gif","jpg","jpeg","bmp","png","psd","tif","ics","aif","aifc","aiff","asf","asx","au","avi","class","flv","m1v","m3u","m4a","m4v","mid","midi","mov","mp2","mp2v","mp3","mpa","mpe","mpeg","mpg","mpv2","mvr","rm","rma","rmi","rmv","snd","wav","wax","wm","wma","wmp","wmv","wmx","wvx","doc","docx","pdf","vcs","xls","xlsx","xspf","ppt","pptx","pub","pubx","rtf"],validate:function(c){var a=c.fields[0].field.value;if(a!=""){for(var d=a.substring(a.lastIndexOf(".")+1,a.length).toLowerCase(),b=0;b<this.allowExt.length;b++)if(this.allowExt[b]==d)return null;return{fieldset:c,message:"This file type is not supported. Please contact the system administrators if you have any questions.",fields:[0]}}return null}}],initialize:function(){},Validate:function(a){this.RemoveErrors(a);var b=null;a.elements.each(function(c,d){if(c.isRequired)if(c.fieldType=="multiplechoice"||c.fieldType=="checkbox")b=this.multValidator(a.fieldsets[d]);else b=this.textValidator(a.fieldsets[d],c);if(!b){var e=this.SelectValidator(c.fieldType,c.formatType);if(e)b=e.validate(a.fieldsets[d])}if(b){a.fldErrors=a.fldErrors.concat(b);b=null}},this);if(a.fldErrors.length>0){this.AddErrors(a);return false}else{a.errorSummary.hide();return true}},SelectValidator:function(c,b){for(vIndex=0;vIndex<this.validators.length;vIndex++)if(this.validators[vIndex].fieldType==c){var a=this.validators[vIndex];if(a.formatTypes){for(fIndex=0;fIndex<a.formatTypes.length;fIndex++)if(a.formatTypes[fIndex].type.indexOf(b+",")>-1)return a.formatTypes[fIndex]}else return a}},RemoveErrors:function(a){a.errorSummary.select("p")[0].update("Please enter the required information");a.fldErrors.each(function(a){a.fieldset.removeClassName("fieldItemError");a.fields&&a.fieldset.select(".fieldBlockError").each(function(a){a.removeClassName("fieldBlockError")},this)},this);a.fldErrors=[]},AddErrors:function(a){a.fldErrors.each(function(b){b.message!=""&&a.errorSummary.select("p")[0].update(b.message);b.fieldset.addClassName("fieldItemError");if(b.fields)var c=b.fieldset.select(".fieldBlock");b.fields.each(function(a){c[a].addClassName("fieldBlockError")},this)},this);a.errorSummary.show();formSubmitted=false;a.errorSummary.scrollTo()}}
