--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-admin/js/about.js Wed Nov 06 03:21:17 2013 +0000
@@ -0,0 +1,80 @@
+(function($){
+ var password = 'Gosh, WordPress is grand.',
+ $input = $('#pass'),
+ shouldAnimate = true,
+ timesForAnimation = [280, 300, 305, 310, 315, 325, 330, 345, 360, 370, 380, 400, 450, 500, 600],
+ resultsCache = {},
+ indicatorString = $('#pass-strength-result').text();
+
+ function updateResult(){
+ var strength;
+
+ if ( typeof( resultsCache[ $input.val() ]) === 'undefined') {
+ strength = wp.passwordStrength.meter($input.val(), [], $input.val());
+ resultsCache[ $input.val() ] = strength;
+ } else {
+ strength = resultsCache[ $input.val() ];
+ }
+
+ $('#pass-strength-result').removeClass('short bad good strong');
+ switch ( strength ) {
+ case 2:
+ $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
+ break;
+ case 3:
+ $('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
+ break;
+ case 4:
+ $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
+ break;
+ default:
+ $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
+ }
+ }
+ function resetMeter(){
+ $input.val('');
+ $('#pass-strength-result').text(indicatorString);
+ $('#pass-strength-result').removeClass('short bad good strong');
+ }
+
+ function animate(){
+ if (shouldAnimate === false)
+ return;
+ if ($input.val().length < password.length){
+ $input.val( password.substr(0, $input.val().length + 1) );
+ updateResult();
+
+ // Look like real typing by changing the speed new letters are added each time
+ setTimeout( animate, ( timesForAnimation[ Math.floor( Math.random() * timesForAnimation.length ) ] ) );
+ } else {
+ resetMeter();
+
+ // When we reset, let's wait a bit longer than normal to start again
+ setTimeout(animate, 700);
+ }
+
+ }
+
+ function begin(){
+ // we async load zxcvbn, so we need to make sure it's loaded before starting
+ if (typeof(zxcvbn) !== 'undefined')
+ animate();
+ else
+ setTimeout(begin,800);
+ }
+
+ // Turn off the animation on focus
+ $input.on('focus', function(){
+ shouldAnimate = false;
+ resetMeter();
+ });
+
+ // Act like a normal password strength meter
+ $input.on('keyup', function(){
+ updateResult();
+ });
+
+ // Start the animation
+ begin();
+
+})(jQuery);