var updateStrength = function(pw) {
	var strength = getStrength(pw);
	var width = Math.ceil( 2.03 * strength );
	new Effect.Morph('psStrength', {style:'width:'+width+'px', duration:'0.4'});
}

var getStrength = function(passwd) {

	intScore = 0;
	if (passwd.match(/[a-z]/)) { // [verified] at least one lower case letter
	    intScore = (intScore+5);
	}
    if (passwd.match(/[A-Z]/)) { // [verified] at least one upper case letter
		intScore = (intScore+5);
	} // NUMBERS
    if (passwd.match(/\d+/)) { // [verified] at least one number
		intScore = (intScore+5);
	}
    if (passwd.match(/(\d.*\d.*\d)/)) { // [verified] at least three numbers
    	intScore = (intScore+5);
	} // SPECIAL CHAR
	if (passwd.match(/[!,@#$%^&*?_~]/)) { // [verified] at least one special character
		intScore = (intScore+5);
	}
    if (passwd.match(/([!,@#$%^&*?_~].*[!,@#$%^&*?_~])/)) { // [verified] at least two special characters
		intScore = (intScore+5);
	} // COMBOS
    if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/)) { // [verified] both upper and lower case
		intScore = (intScore+5);
	}
    if (passwd.match(/\d/) && passwd.match(/\D/)) { // [verified] both letters and numbers
    	intScore = (intScore+5);
	} // [Verified] Upper Letters, Lower Letters, numbers and special characters
	if (passwd.match(/[a-z]/) && passwd.match(/[A-Z]/) && passwd.match(/\d/) && passwd.match(/[!,@#$%^&*?_~]/))
	{
	    intScore = (intScore+5);
	}
	intScore = (intScore+(2*passwd.length));
	if ( intScore >= 65 ) {
	    intScore = 65;
	}
	return intScore;
}
