1(function(jQuery){var ValidationErrors=new Array;jQuery.fn.validate=function(options){options=jQuery.extend({expression:"return true;",validate:"",message:"",error_class:"ValidationErrors",error_field_class:"ErrorField",success_field_class:"SuccessField",live:!0,validations:{notEmpty:function(t){return!!$(t).val()},isEmail:function(t){return!!$(t).val().match(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)},maxLength:function(t){if($(t).val().length<=$(t).attr("maxlength"))return!0},minMaxLength:function(t){if($(t).val().length>=$(t).attr("minlength")&&$(t).val().length<=$(t).attr("maxlength"))return!0},invalidChar:function(t){return!!$(t).val().match(/^[a-zA-Z0-9 ]*$/)},consecutiveSpaces:function(t){return!$(t).val().match(/[ ]{2,}/)},password:function(t){return!!$(t).val().match(/^[a-zA-Z0-9!@#$%^&*]*$/)},sameString:function(t){var i=$(t).data("validate-target");return $(t).val()===$(i).val()}}},options);var SelfID=jQuery(this).attr("id"),unix_time=new Date,unix_time=new Date;unix_time=parseInt(unix_time.getTime()/1e3),jQuery(this).parents("form:first").attr("id")||jQuery(this).parents("form:first").attr("id","Form_"+unix_time);var FormID=jQuery(this).parents("form:first").attr("id");function validate_field(id){var self=jQuery(id).attr("id"),testCondition,expression,validation_state;if(options.validate?testCondition=test(id):(expression="function Validate(){"+options.expression.replace(/VAL/g,"jQuery('#"+self+"').val()")+"} Validate()",validation_state=eval(expression),testCondition=validation_state),testCondition){jQuery(id).addClass(options.success_field_class);for(var i=0;i<ValidationErrors[FormID].length;i++)ValidationErrors[FormID][i]==id&&ValidationErrors[FormID].splice(i,1);return!0}return 0==jQuery(id).next("."+options.error_class).length&&(jQuery(id).after('<span class="'+options.error_class+'">'+options.message+"</span>"),jQuery(id).addClass(options.error_field_class)),-1==ValidationErrors[FormID].join("|").search(id)&&ValidationErrors[FormID].push(id),!1}function test(t){var i=options.validate.trim();if(i)return options.validations[i](t)}"object"==typeof ValidationErrors[FormID]&&ValidationErrors[FormID]instanceof Array||(ValidationErrors[FormID]=new Array),options.live&&(jQuery(this).find("input").length>0?(jQuery(this).find("input").bind("blur",(function(){validate_field("#"+SelfID,options)?options.callback_success&&options.callback_success(this):options.callback_failure&&options.callback_failure(this)})),jQuery(this).find("input").bind("focus keypress click",(function(){jQuery("#"+SelfID).next("."+options.error_class).remove(),jQuery("#"+SelfID).removeClass(options.error_field_class)}))):(jQuery(this).bind("blur",(function(){validate_field(this)})),jQuery(this).bind("focus keypress",(function(){jQuery(this).next("."+options.error_class).fadeOut("fast",(function(){jQuery(this).remove()})),jQuery(this).removeClass(options.error_field_class),jQuery(this).removeClass(options.success_field_class)})))),jQuery(this).parents("form").submit((function(){return!!validate_field("#"+SelfID)}))},jQuery.fn.validated=function(t){jQuery(this).each((function(){"FORM"==this.tagName&&jQuery(this).submit((function(){return 0==ValidationErrors[jQuery(this).attr("id")].length&&t(),!1}))}))}})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.