FormValidator={validate:function(b){var a=$(b);return a!=null&&this.validateList(a.elements);},validateList:function(b){if(b!=null){for(var d=0;d<b.length;d++){if(b[d]==null){continue;}var c=b[d].tagName;if(c==null){continue;}c=c.toLowerCase().strip();if(c!="input"&&c!="select"&&c!="textarea"){continue;}if(b[d].type!=null&&(b[d].type=="radio"||b[d].type=="checkbox")&&this.validateGroup(b[d].name)==false){return FormValidator.throwError(b[d],formvalidator_mandatory_field,true);}var a=b[d].value.strip();if(Element.hasClassName(b[d],"fv_mandatory")&&a==""){return FormValidator.throwError(b[d],formvalidator_mandatory_field,true);}if(Element.hasClassName(b[d],"fv_integer")&&a!=""&&FormValidator.validateInteger(a)==false){return FormValidator.throwError(b[d],formvalidator_integer_field,true);}if(Element.hasClassName(b[d],"fv_positive_integer")&&a!=""&&(FormValidator.validateInteger(a)==false||a<1)){return FormValidator.throwError(b[d],formvalidator_positiveinteger_field,true);}if(Element.hasClassName(b[d],"fv_not_integer")&&a!=""&&FormValidator.validateInteger(a)==true){return FormValidator.throwError(b[d],formvalidator_notinteger_field,true);}if(Element.hasClassName(b[d],"fv_double")&&a!=""&&FormValidator.validateDouble(a)==false){return FormValidator.throwError(b[d],formvalidator_double_field,true);}if(Element.hasClassName(b[d],"fv_positive_double")&&a!=""&&(FormValidator.validateDouble(a)==false||a<=0)){return FormValidator.throwError(b[d],formvalidator_positivedouble_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_email")&&a!=""&&FormValidator.validateEmail(a)==false){return FormValidator.throwError(b[d],formvalidator_email_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_multiple_emails")&&a!=""&&FormValidator.validateMultipleEmails(a,b[d].id)==false){return FormValidator.throwError(b[d],formvalidator_email_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_url")&&a!=""&&FormValidator.validateUrl(a)==false){return FormValidator.throwError(b[d],formvalidator_url_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_business_id")&&a!=""&&FormValidator.validateBusinessId(a)==false){return FormValidator.throwError(b[d],formvalidator_business_id_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_social_sec_number")&&a!=""&&FormValidator.validateSocialSecNumber(a)==false){return FormValidator.throwError(b[d],formvalidator_social_security_number_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_business_id_social_sec_number")&&a!=""&&FormValidator.validateBusinessId(a)==false&&FormValidator.validateSocialSecNumber(a)==false){return FormValidator.throwError(b[d],formvalidator_business_id_social_security_number_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_date")&&a!=""&&FormValidator.validateDatetime(a)==false){return FormValidator.throwError(b[d],formvalidator_date_field,true);}if(b[d]!=null&&Element.hasClassName(b[d],"fv_password")&&a!=""){var f=$(b[d].id+"2");if($(f)&&f.value!=a){Element.addClassName(f,"fv_error");return FormValidator.throwError(b[d],formvalidator_password_equals,false);}if($(f)&&a.length<6){Element.addClassName(f,"fv_error");return FormValidator.throwError(b[d],formvalidator_password_length,false);}}if(b[d]!=null&&Element.hasClassName(b[d],"fv_less_than_second")&&a!=""){var e=$(b[d].id+"2");if($(e)&&e.value!=""&&parseInt(e.value)<=parseInt(a)){Element.addClassName(e,"fv_error");return FormValidator.throwError(b[d],formvalidator_less_than_second,false);}}if(Element.hasClassName(b[d],"fv_xml_friendly")&&FormValidator.validateXmlFriendly(a)==false){return FormValidator.throwError(b[d],formvalidator_xml_friendly_field,true);}Element.removeClassName(b[d],"fv_error");}}return true;},validateGroup:function(e){var c=true;if(e==null){return c;}var b=document.getElementsByName(e);if(b!=null&&b.length>0){var d=false;var a=true;for(i=0;i<b.length;i++){if(b[i].checked==true){d=true;}if(Element.hasClassName(b[i],"fv_mandatory")==false){a=false;break;}}c=!a||d;}return c;},throwError:function(d,b,c){Element.addClassName(d,"fv_error");d.focus();d.scrollTo();var e="";var a=d.getAttribute("title");if(c==true&&a!=null&&a!=""){e=a+": ";}alert(e+b);return false;},validateUrl:function(a){var b=/^([\w\-.]+)$/;var c=/([a-zA-Z]+)/;return b.test(a)&&c.test(a);},validateBusinessId:function(b){var a=/^([0-9]{7}-[0-9]{1})$/;return a.test(b);},validateSocialSecNumber:function(b){var a=/^((0[1-9]|[12]\d|3[01])(0[1-9]|1[0-2])\d{2}[-+aA]\d{3}\w)$/;return a.test(b);},validateMultipleEmails:function(c,f){var a=true;var d=",";if(f!=null&&f=="mailinglist_addresses"){d="\n";}var e=c.split(d);for(var b=0;b<e.length;b++){if(!FormValidator.validateEmail(e[b])){a=false;break;}}return a;},validateMultipleEmailsByRegex:function(a){var b=/^([a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})[,]?\s?)+$/;return b.test(a);},validateEmail:function(b){var a=/^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$/;return a.test(b);},validateInteger:function(b){var a=/(^-?\d(\d\s?)*$)/;return a.test(b);},validateDouble:function(b){var a=/(^-?(\d\s?)*\.?\,?\d*$)/;return a.test(b);},validateDatetime:function(b){var a=/^(\d{1,2}(\.)\d{1,2}(\.)\d{4}|\d{1,2}(\/)\d{1,2}(\/)\d{2,4}|\d{4}(\-)\d{1,2}(\-)\d{1,2})(\s(0?[0-9]|1[0-9]|2[0-3]):[0-5]\d(\s(AM|PM))?)?$/;return a.test(b);},validateXmlFriendly:function(b){var a=/([<,>,&,',"])/;return !a.test(b);}};
