/**
* jQuery jPassword plugin
* @licenses	Creative Commons BY-SA [ http://creativecommons.org/licenses/by-sa/2.0/deed.fr ]
*
* @name		jPassword
* @desc		Plugin jQuery that provides you to detect strength of password. It gives help messages to write a strong password and generates on demand personnalized password. Help can be localized and shown in a tooltip or directly after input.
* @author	Hervé GOUCHET [ contact(at)rvdevsign(dot)net ]
* @version	1.0
* @date		2009/01/24
* @doc		http://www.rvdevsign.net/ressources/javascript/jpassword-plugin-jquery.html
* @requires jQuery v1.2.6+
*/

eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(7($){$.11.q=7(k){6 l=1H;6 k=$.1I({},$.11.q.1a,k);6 n=\'<I 12="q"><I><p 12="q-1b">&1c;</p><p 12="q-1d">&1c;</p></I></I>\';y l.1J(7(){4($(l).1K("1L")){1e($(l))}});7 1e(a){6 b="1M"+1N(z.1f()*1O);6 c=$(n).1P("1Q",b);4(k.B==C){6 d=a.1R();6 f=1g();6 g="1S";6 h=d.D;6 i=(d.E+a.v());c.1T(r.F);4((i+c.v())>(f.E+f.v)){i-=(c.v()+a.v());g="E"}4((h+c.G())>(f.D+f.G)){h-=(c.G()-(a.G()*1.5));g+="1U"}9{g+="D"}c.w({E:i+"1h",D:h+"1h",1i:"1V"});c.1j("q-"+g)}9{c.1W(a);c.w({H:"1X",1i:"1Y"});c.1j("q-B")}a.J("1Z",7(e){K(a,c)});a.J("20",7(e){K(a,c);4(k.B==C){13(c,"1k")}4($.L(k.14)){k.14(a,c)}});a.J("21",7(e){4(k.B==C){13(c,"22")}4($.L(k.15)){k.15(a,c)}});6 j=$("#"+k.1l);4(j){j.J("23",7(e){a.x(1m());K(a,c);y C})}4($.L(k.16)){k.16(a,c)}}7 K(a,b){6 c=a.x();6 d=b.1n(".q-1b");6 e=b.1n(".q-1d");6 f=1o(c);6 g="";4(f.M<2){g=k.o.M}9 4(f.N<2){g=k.o.N}9 4(f.O<2){g=k.o.O}9 4(f.P<2){g=k.o.P}9 4(f.u<2){g=k.o.u}4(c.t<k.t&&f.Q<10&&g==""){g=k.o.t.1p(/-X-/g,k.t)}4(f.x==""){d.w("R-H","0 0");e.S(k.o.1q)}9 4(f.Q<5){d.w("R-H","0 -24");e.S(k.o.1r+" "+g)}9 4(f.Q<10){d.w("R-H","0 -25");e.S(k.o.1s+" "+g)}9{d.w("R-H","0 -26");e.S(k.o.1t)}a.x(f.x);4($.L(k.17)){k.17(a)}}7 1o(a){a=a.1p(/(^\\s+)|(\\s+$)/g,"");6 b=T=U=V=W=1;6 d=a.t;1u(6 c=0;c<d;c++){6 e=a.27(c);4(e<28){4(e>1v&&e<1w){b+=1}9 4(e>1x&&e<1y){T+=1}9 4(e>1z&&e<1A){U+=1}9{V+=2}}9{W+=3}}6 f=(b*T*U*V*W);f=z.1B(z.29((f*f)));y{x:a,Q:f,O:b,N:T,M:U,P:V,u:W}}7 1m(){6 a="";1u(c=0;c<k.t;c++){6 b=z.1B(32+z.1f()*2a);6 d=0;4((b>1v&&b<1w)||(b>1x&&b<1y)||(b>1z&&b<1A)){d=1}4(k.18==1&&b<2b){d=1}4(k.18==2){d=1}4(k.u&&(b==2c||b==2d||b==2e||b==2f||b==2g||b==2h||b==2i||b==2j||b==2k||b==2l||b==2m||b==2n||b==2o||b==2p||b==2q||b==2r||b==2s||b==2t||b==2u||b==2v||b==2w||b==2x||b==2y||b==2z||b==2A||b==2B||b==2C||b==2D||b==2E||b==2F||b==2G||b==2H||b==2I||b==2J||b==2K||b==2L)){d=0}4(d==1){a+=2M.2N(b)}9{c--}}y a}7 13(a,b){4(b=="1k"){a.2O()}9{a.2P()}}7 1g(){6 m=r.2Q=="2R";y{E:(Y.2S||(m?r.Z.1C:r.F.1C)),D:(Y.2T||(m?r.Z.1D:r.F.1D)),v:(Y.2U||(m?r.Z.1E:r.F.1E)),G:(Y.2V||(m?r.Z.1F:r.F.1F))}}};$.11.q.1a={o:{1q:"A 2W 2X...",1r:"2Y 19.",1s:"2Z 19.",1t:"30 19.",t:"-X- 1G 31 33 a 34.",O:"35 36 37?",N:"38 39?",M:"3a 3b?",P:"3c?",u:"3d, u 1G?"},t:8,B:C,18:1,u:0,1l:3e,14:7(){},15:7(){},17:7(){},16:7(){}}})(3f);',62,202,'||||if||var|function||else|||||||||||||||lang||jpassword|document||length|special|width|css|val|return|Math||flat|false|top|left|body|height|position|div|bind|verifPsw|isFunction|lowercase|uppercase|number|punctuation|level|background|html|cCap|cMin|cPct|cSpe||window|documentElement||fn|class|tooltip|onShow|onHide|onComplete|onKeyup|type|security|defaults|meter|nbsp|info|jPassword|random|getWindow|px|display|addClass|show|generate|newPsw|find|securPsw|replace|please|low|correct|high|for|47|58|64|91|96|123|round|scrollLeft|scrollTop|clientWidth|clientHeight|characters|this|extend|each|is|input|jpassword_|parseInt|1000|attr|id|offset|right|appendTo|bottom|none|insertAfter|relative|block|keyup|focus|blur|hide|click|10px|20px|30px|charCodeAt|128|log|222|127|48|49|50|53|54|56|57|66|67|68|71|73|75|79|80|81|83|85|86|87|88|90|99|104|105|107|108|111|112|113|115|117|118|119|120|122|String|fromCharCode|fadeIn|fadeOut|compatMode|CSS1Compat|pageXOffset|pageYOffset|innerWidth|innerHeight|strong|password|Low|Correct|High|would||be|plus|Why|not|numbers|And|caps|Some|tiny|Punctuations|Best|null|jQuery'.split('|'),0,{}));