function password_strength(y,u){var w=y.length;if(w<=0){return 0}var x=[],t=0,r=0,s=0,p=0;x[0]=1;if(y.charAt(0).match(/[a-z]/)){t++}else{if(y.charAt(0).match(/[A-Z]/)){r++}else{if(y.charAt(0).match(/[0-9]/)){s++}else{p++}}}for(var z=1;z<w;z++){x[z]=1;if((y.charAt(z)+y.charAt(z-1)).match(/^[a-zA-Z0-9]{2}$/)){var v=y.charAt(z).charCodeAt(0)-y.charAt(z-1).charCodeAt(0);if(Math.abs(v)<=1){x[z]/=2}}else{if(y.charAt(z)===y.charAt(z-1)){x[z]/=2}}if(y.charAt(z).match(/[a-z]/)){t++}else{if(y.charAt(z).match(/[A-Z]/)){r++}else{if(y.charAt(z).match(/[0-9]/)){s++}else{p++}}}}if(u!==undefined){if(u.constructor.toString().indexOf("Array")===-1){u=Array(u)}for(z=0;z<u.length;z++){v=u[z];if(v!==""){for(var q=y.indexOf(v);q>=0;){for(var n=v.length,o=q+1;o<q+n;o++){x[o]=0}q=y.indexOf(v,q+n)}}}}for(v=z=0;v<w;v++){z+=x[v]}w=2.5;if(t>0){w+=2}if(r>0){w+=2}if(s>0){w+=0.5}if(p>0){w+=3}z*=w;if(z>100){z=100}return z}function measure_strength(a,c){$(function(){$(a).find("*[name=password]").bind("keyup change",function(){var j=$(this).closest(".field-password");j.removeClass("error");var k=$(this).val(),f=k.length,b=$(a).find("*[name=login]").val(),e=$(a).find("*[name=password2]");e.val()===$(this).val()?e.closest(".field-password").removeClass("error"):e.closest(".field-password").addClass("error");k=password_strength(k,[b]);k=f<8?"short":k<40?"weak":k>70?"strong":"good";f=j.find(".field-hint");k=c.texts.strength+': <strong class="password-strength-'+k+'">'+c.texts[k]+"</strong>";f.size()?f.html(k):j.append('<span class="field-hint">'+k+"</span>")});$(a).find("*[name=password2]").bind("keyup change",function(){var b=$(a).find("*[name=password]").val(),e=$(this).closest(".field-password");b===$(this).val()?e.removeClass("error"):e.addClass("error")})})};
