function getPasswordStrength(h){var d=(h.length);if(d>5){d=5}var f=h.replace(/[0-9]/g,"");var g=(h.length-f.length);if(g>3){g=3}var a=h.replace(/\W/g,"");var c=(h.length-a.length);if(c>3){c=3}var b=h.replace(/[A-Z]/g,"");var i=(h.length-b.length);if(i>3){i=3}var e=((d*10)-20)+(g*10)+(c*15)+(i*10);if(e<0){e=0}if(e>100){e=100}return e}var tip_box_has_focus=0;var pw_box_has_focus=0;var attached_form;var pwstrapp;var attached_pwbox={};var password_str_handle_validate=1;var pwminstrength=0;var pwminstrength_fail_txt="Sorry, the password you selected cannot be used because it is too weak and would be too easy to crack.  Please select a password with strength rating of % or higher.";var pwminstrength_tip='You can increase the strength of your password by adding UPPER CASE, numbers, and symbol characters.  You should avoid using words that are in the dictionary as <a href="http://en.wikipedia.org/wiki/Password_cracking" target="_blank">crackers</a> usually start with these first.  Currently the system requires you use a password with a strength rating of % or greater.';function hide_password_tip_panel_if_no_box_focus(){if(!tip_box_has_focus&&!pw_box_has_focus){hide_password_tip_panel()}}function ensurePwStrength(c,a){var b=""+a.value;var d=getPasswordStrength(b);if(d<pwminstrength){YAHOO.util.Event.stopEvent(c);alert(pwminstrength_fail_txt.replace("%",pwminstrength))}}function updatePasswordStrength_new(g,j,o,s){var f=""+g.value;if(attached_pwbox[g.id]!=1){YAHOO.util.Event.addFocusListener(g,function(i){pw_box_has_focus=1});YAHOO.util.Event.addBlurListener(g,function(i){pw_box_has_focus=0;setTimeout(hide_password_tip_panel_if_no_box_focus,250)});attached_pwbox[g.id]=1}if(pwstrapp&&pwminstrengthapps[pwstrapp]){pwminstrength=pwminstrengthapps[pwstrapp]}if(!attached_form){init_passtip_dialog();var k=g.form;if(k&&k.action&&k.action.length>3){if(self.register_validator){register_validator("func",function(i){var w=i[0];var x=""+w.value;var y=getPasswordStrength(x);if(y<pwminstrength){return false}else{return true}},[g],pwminstrength_fail_txt.replace("%",pwminstrength))}else{YAHOO.util.Event.addListener(k,"submit",function(i){ensurePwStrength(i,g)},this,true)}}var r=document.getElementById("password_tip_panel");if(r){YAHOO.util.Event.addBlurListener(r,function(i){tip_box_has_focus=0});YAHOO.util.Event.addListener(r,"click",function(i){tip_box_has_focus=1});YAHOO.util.Event.addFocusListener(r,function(i){tip_box_has_focus=1});var n=r.getElementsByTagName("a");for(var u=0;u<n.length;u++){YAHOO.util.Event.addBlurListener(n[u],function(i){tip_box_has_focus=0});YAHOO.util.Event.addListener(n[u],"click",function(i){tip_box_has_focus=1});YAHOO.util.Event.addFocusListener(n[u],function(i){tip_box_has_focus=1})}}attached_form=1}var l=getPasswordStrength(f);var q=(parseInt(l/10)*10);var e=document.getElementById(j);if(!e){return;alert("Password Strength Display Element Missing")}var p=e.getElementsByTagName("div");var a=p[0].getElementsByTagName("div");var t=pwminstrength>0?pwminstrength:100;var m=l<t?l:t;var d=parseInt((m/t)*3);a[0].className="pass_bar_base pass_bar_"+q+" pass_bar_color_"+(d?d:1);var c=1;if(o&&o.text>-1){c=o.text}var b=p[c];if(b&&self.pass_strength_phrases){if(pwminstrength>50&&l>=50&&l<pwminstrength){q=40}b.innerHTML=pass_strength_phrases[q]+" ("+l+"/100)"}var v;if(o&&o.rating>-1){v=o.rating}var h=p[v];if(h&&self.pass_strength_phrases){h.innerHTML="Strength: ("+l+")"}if(l<pwminstrength){if(!s){show_password_tip_panel()}if(password_str_handle_validate){YAHOO.util.Dom.addClass(g,"formverifyfailed")}}else{hide_password_tip_panel();if(password_str_handle_validate){YAHOO.util.Dom.removeClass(g,"formverifyfailed")}}}function updatePasswordStrength(f,e,c){var d=""+f.value;var h=getPasswordStrength(d);var i=(parseInt(h/10)*10);var a=document.getElementById(e);if(!a){return;alert("Password Strength Display Element Missing")}var g=a.getElementsByTagName("div");var b=0;var j=1;if(c&&c.text>-1){j=c.text}if(c&&c.image>-1){b=c.image}var l=g[b];l.id="ui-passbar-"+i;var k=g[j];if(k&&self.pass_strength_phrases){k.innerHTML=pass_strength_phrases[i]}}var password_tip_panel;var password_tip_panel_initted=0;var password_gen_panel;var password_gen_panel_initted=0;var password_use_panel;var password_use_panel_initted=0;var password_gen_pwbox;var password_gen_update_func;var did_password_gen=0;var chrsets={uppercase:[{start:65,end:90}],lowercase:[{start:97,end:122}],numbers:[{start:48,end:57}],symbols:[{start:33,end:47},{start:58,end:64},{start:123,end:126}]};var defaultallowedtxt=["lowercase","uppercase","numbers","symbols"];function get_chr_string(d){var a="";if(!chrsets[d]||!chrsets[d].length){return""}for(var c=0;c<chrsets[d].length;c++){for(var b=chrsets[d][c]["start"];b<=chrsets[d][c]["end"];b++){a+=String.fromCharCode(b)}}return a}function getrand(a){return Math.floor(Math.random()*a)}function generate_password(a,e,d){var c="";if(!e.length){e=defaultallowedtxt}for(var b=0;b<e.length;b++){c+=get_chr_string(e[b])}var g=d.split("");for(var b=0;b<g.length;b++){c=c.replace(g[b],"")}if(c.length==0){return""}var f="";while(f.length<a){f+=c.charAt(getrand(c.length))}return f}function open_usepass_dialog(a){init_usepass_dialog();document.getElementById("password_use_newpass").innerHTML=html_encode_str(a);password_use_panel.show()}function open_passgen_dialog(b,a){init_passgen_dialog();password_gen_pwbox=a;password_gen_update_func=b;password_gen_panel.show();if(!did_password_gen){dialogGeneratePass()}}function handlePassCancel(){password_gen_panel.hide()}function handlePassSubmit(){password_gen_panel.hide();var e=document.getElementById("dialogPassword");var f=document.getElementById(password_gen_pwbox);f.value=e.value;var a=[f];if(f.type=="password"){var c=0;var b=document.getElementsByTagName("input");for(var d=0;d<b.length;d++){if(c){if(b[d].type=="password"){a.push(b[d]);b[d].value=e.value;break}else{if(b[d].type=="text"){break}}}else{if(b[d].id==password_gen_pwbox){c=1}}}}password_gen_update_func();if(self.do_validate){for(var d=0;d<a.length;d++){if(a[d].form&&a[d].form.id){do_validate(a[d].form.id,0,0,a[d].id)}}}open_usepass_dialog(e.value)}function init_passtip_dialog(){if(password_tip_panel_initted){return}password_tip_panel_initted=1;password_tip_panel=new YAHOO.widget.Panel("password_tip_panel",{width:"300px",fixedcenter:false,constraintoviewport:false,close:true,draggable:true,modal:false,visible:false});password_tip_panel.setBody(pwminstrength_tip.replace("%",pwminstrength));var a=document.getElementById("sdiv");if(!a){a=document.body}password_tip_panel.render(a);password_tip_panel.hide();document.getElementById("password_tip_panel").style.display=""}function closeUsePass(){password_use_panel.hide()}function init_usepass_dialog(){if(password_use_panel_initted){return}password_use_panel_initted=1;password_use_panel=new YAHOO.widget.Dialog("password_use_panel",{width:"400px",fixedcenter:true,constraintoviewport:true,close:true,draggable:false,modal:false,buttons:[{text:"Close",handler:closeUsePass,isDefault:true}],visible:false});var a=document.getElementById("sdiv");if(!a){a=document.body}password_use_panel.render(a);password_use_panel.hide();document.getElementById("password_use_panel").style.display=""}function init_passgen_dialog(){if(password_gen_panel_initted){return}password_gen_panel_initted=1;password_gen_panel=new YAHOO.widget.Dialog("password_gen_panel",{width:"400px",fixedcenter:true,constraintoviewport:true,close:true,draggable:true,modal:false,buttons:[{text:"Use Password",handler:handlePassSubmit,isDefault:true},{text:"Cancel",handler:handlePassCancel}],visible:false});var a=document.getElementById("sdiv");if(!a){a=document.body}password_gen_panel.render(a);password_gen_panel.hide();document.getElementById("password_gen_panel").style.display=""}function handle_hide_passtip(){if(password_tip_panel.cfg.getProperty("visible")){password_tip_panel.hide()}}function hide_password_tip_panel(){handle_hide_passtip()}function handle_hide_passgen(){}function show_password_tip_panel(){var f=document.getElementById("password");var b=YAHOO.util.Region.getRegion(f);var c=document.getElementById("passwdGen");if(c){var a=YAHOO.util.Region.getRegion(c);if(a.bottom>b.bottom){b.bottom=a.bottom}}password_tip_panel.moveTo(b.right+5,b.bottom+10);if(!password_tip_panel.cfg.getProperty("visible")){password_tip_panel.show();if(f){try{f.focus()}catch(d){}}}}function dialogGeneratePass(){did_password_gen=1;var c=document.getElementById("dialogPassword");var f=document.getElementById("pwlength");var a=parseInt(f.value);if(!a||a<8){a=8}c.setAttribute("size",a);for(var b=0;b<10;b++){c.value=generate_password(a,[document.getElementById("uppercase").checked?"uppercase":"",document.getElementById("lowercase").checked?"lowercase":"",document.getElementById("numbers").checked?"numbers":"",document.getElementById("symbols").checked?"symbols":""],"'oO0\"");var d=c.value+"";var e=getPasswordStrength(d);if(e>=100){break}}updatePasswordStrength_new(c,"Dialog_passwdRating",{text:2,rating:3},1);password_gen_panel.show()}function html_encode_str(a){return a.replace(/\&/g,"&amp;").replace(/\</g,"&lt;").replace(/\>/g,"&gt;").replace(/\"/g,"&quot;")};