function updatePasswordMeter(password) {
  var strength_descriptions = new Array();
  strength_descriptions[0] = 'Nagyon gyenge';
  strength_descriptions[1] = 'Gyenge';
  strength_descriptions[2] = 'Jobb';
  strength_descriptions[3] = 'Elég jó';
  strength_descriptions[4] = 'Erős';
  strength_descriptions[5] = 'Nagyon erős';

  var strength = calculatePasswordStrength(password);

  document.getElementById('password_strength_label').innerHTML = strength_descriptions[strength];
  document.getElementById('password_bar').className = 'strength_' + strength;
}

function calculatePasswordStrength(password) {
  var score = 0;

  // Length at least 8 chars long
  if (password.length >= 8)
    score++;

  // both lower and uppercase chars
  if (password.match(/[a-z]/) && password.match(/[A-Z]/))
    score++;

  // at least one num char
  if (password.match(/[0-9]+/))
    score++;

  // at least one special char
  if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)-]/))
    score++;

  // Length at least 12 chars long
  if (password.length >= 12)
    score++;

  return score;
}

