var myArray = new Array();
function freeIndex(o)
{
  var i;
  for (i=0; i<o.length; i++)
  {
    if (o[i] == null) return i;
  }
  if (i>0) i++;
  o[i] = null;
  return i;
}

// Jelszó erősségének ellenőrzése
// ==============================
function checkpwd(o)
{
  var idx = freeIndex(myArray);
  myArray[idx] = o;
  setTimeout("checkpwd2(" + idx + ")", 10);
}

function checkpwd2(idx)
{
  var o = myArray[idx];
  myArray[idx] = null;

  var checkdata = o.value;

  if (checkdata.length > 4)
  {
    var strong = getPwdStrength(checkdata);

    if (strong < 3) { document.getElementById('pwdtext').innerHTML = 'Gyenge jelszó';  }
    else if (strong >= 3 && strong < 5)  document.getElementById('pwdtext').innerHTML = 'Közepes jelszó';
    else document.getElementById('pwdtext').innerHTML = 'Erős jelszó';

    var w = 110;
    if (strong > 1) w += 40;
    if (strong > 2) w += 70;
    if (strong > 3) w += 1;
    if (strong > 4) w += 32;
    if (strong > 5) w += 29;
    document.getElementById('pwdcontainer').style.width = w + 'px';
  }
  else
  {
    document.getElementById('pwdtext').innerHTML = '';
    document.getElementById('pwdcontainer').style.width = '0px';
  }
}
// Beállítjuk, hogy milyen erős a jelszó
// =====================================
function getPwdStrength(pwd)
{
  var check1 = new RegExp('[0-9]');
  var check2 = new RegExp('[a-záéíóöőúüű]');
  var check3 = new RegExp('[A-ZÁÉÍÓÖŐÚÜŰ]');
  var check4 = new RegExp('[^0-9a-záéíóöőúüűA-ZÁÉÍÓÖŐÚÜŰ]');

  var num = false;
  var string = false;
  var stringbig = false;
  var other = false;

  var strong = 0;
  for (i=0; i < pwd.length; i++)
  {
    if ((!num) && (pwd.charAt(i).match(check1))) { num = true; strong++; }
    if ((!string) && (pwd.charAt(i).match(check2))) { string = true; strong++; }
    if ((!stringbig) && (pwd.charAt(i).match(check3))) { stringbig = true; strong++;  }
    if ((!other) && (pwd.charAt(i).match(check4))) { other = true; strong++; }
  }
  if (pwd.length>7) strong++;
  if (pwd.length>9) strong++;
  return strong;
}
