﻿        var PasswordStrength ={
            Level : ["Very good","Normal","Weak","Too short"],
            LevelValue : [15,10,5,0],
            Factor : [1,2,5],
            KindFactor : [0,0,10,20],
            Regex : [/[a-zA-Z]/g,/\d/g,/[^a-zA-Z0-9]/g] 
            }
        PasswordStrength.StrengthValue = function(pwd)
        {
            var strengthValue = 0;
            var ComposedKind = 0;
            for(var i = 0 ; i < this.Regex.length;i++)
            {
                var chars = pwd.match(this.Regex[i]);
                if(chars != null)
                {
                    strengthValue += chars.length * this.Factor[i];
                    ComposedKind ++;
                }
            }
            strengthValue += this.KindFactor[ComposedKind];
            return strengthValue;
        } 
        PasswordStrength.StrengthLevel = function(pwd)
        {
            var value = this.StrengthValue(pwd);
            for(var i = 0 ; i < this.LevelValue.length ; i ++)
            {
                if(value >= this.LevelValue[i] )
                    return this.Level[i];
            }
        }
		
		function CheckPassword(o)
		{
			if(o.value.length<6) return "Too short";
			return PasswordStrength.StrengthLevel(o.value);
		}