(function(){var e=function(e){var t=this,n=function(){jQuery=e,function(e){var t=new function(){this.countRegexp=function(e,t){var n=e.match(t);return n?n.length:0},this.getStrength=function(e,t){var n=e.length;if(n<t)return 0;var r=this.countRegexp(e,/\d/g),i=this.countRegexp(e,/[a-z]/g),s=this.countRegexp(e,/[A-Z]/g),o=n-r-i-s;if(r==n||i==n||s==n||o==n)return 1;var u=0;return r&&(u+=2),i&&(u+=s?4:3),s&&(u+=i?4:3),o&&(u+=5),n>10&&(u+=1),u},this.getStrengthLevel=function(e,t){var n=this.getStrength(e,t),e=1;return n>0?n>0&&n<=4?e=2:n>4&&n<=8?e=3:n>8&&n<=12?e=4:n>12&&(e=5):e=1,e}};e.fn.password_strength=function(n){var r=e.extend({container:null,minLength:6,texts:{1:"Too weak",2:"Weak password",3:"Normal strength",4:"Strong password",5:"Very strong password"},onCheck:null},n);return this.each(function(){var n=null;r.container?n=e(r.container):(n=e("<span/>").attr("class","password_strength"),e(this).after(n)),e(this).keyup(function(){var i=e(this).val(),s=t.getStrengthLevel(i,r.minLength);if(i.length>0){var o="password_strength_"+s;!n.hasClass(o)&&s in r.texts&&n.text(r.texts[s]).attr("class","password_strength "+o)}else n.text("").attr("class","password_strength");r.onCheck&&r.onCheck.call(this,s)})})}}(jQuery)};n(),t.resolveWith(n)};dispatch("passwordstrength").containing(e).to("Foundry/2.1 Modules")})();