var sCol = new Array('ddd', 'f00', 'b00', 'f90', '0b0', '0e0');

function checkPw(obj) {

 var pw = obj.value, pwl = pw.length, s, n = 0;

 for (var x = 0; x < pwl; x++) { var tmp = pw.substr(x, 1); if (!tmp.match(/[A-Z]/) && !tmp.match(/[a-z]/) && !tmp.match(/[0-9]/)) { n++; x = pwl } }
 if (pw.match(/[A-Z]/)) n++;
 if (pw.match(/[a-z]/)) n++;
 if (pw.match(/[0-9]/)) n++;

 s = (pwl > 8 && n > 3) || (pwl > 13 && n > 2) ? 5 : pwl > 7 && n > 2 ? 4 : (pwl > 7 && n > 1) || (pwl > 3 && n > 2) ? 3 : pwl > 3 || (pwl > 0 && n > 1) ? 2 : pwl > 0 ? 1 : 0;

 for (var x = 0; x < sCol.length -1; x++) document.getElementById("pw_strength").getElementsByTagName("DIV")[x].style.background = "#" + (x < s ? sCol[s] : sCol[0]);

}