/////////////////////////密码强度开始/////////////////////////////////
function evaluatePassword(word)
{
    //1. 密码长度小于或等于四位.或者密码只有一种组合
    //2. 密码长度大于四位, 且有两种组合.
    //3. 密码长度大于四位, 且有三种组合.
    //4. 密码长度大于四位, 且有四种组合.
    return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
}

/////////////////////////密码强度结束/////////////////////////////////


//////////////////////////////////////////////////////////
function initPasswordStrengthHTML(containerId) {
    var containerIdElement = document.getElementById(containerId);
    var weakDiv = document.getElementById("weakDiv");
    var middleDiv = document.getElementById("middleDiv");
    var highDiv = document.getElementById("highDiv");

    if (weakDiv == null) {
        weakDiv = document.createElement("weakDiv");
        weakDiv.id = "weakDiv";
        weakDiv.innerHTML = "弱";
        containerIdElement.appendChild(weakDiv);
    }

    if (middleDiv == null) {
        middleDiv = document.createElement("middleDiv");
        middleDiv.id = "middleDiv";
        middleDiv.innerHTML = "一般";
        containerIdElement.appendChild(middleDiv);
    }

    if (highDiv == null) {
        highDiv = document.createElement("highDiv");
        highDiv.id = "highDiv";
        highDiv.innerHTML = "高";
        containerIdElement.appendChild(highDiv);
    }

}

function changePasswordStrengthState(levelValue) {
    var weakDiv = document.getElementById("weakDiv");
    var middleDiv = document.getElementById("middleDiv");
    var highDiv = document.getElementById("highDiv");
    //window.status = levelValue;
    switch (levelValue) {
        case 0:
        //低
            weakDiv.style.background = "red";
            weakDiv.style.color = "white";

            middleDiv.style.background = "#eee";
            highDiv.style.background = "#eee";
            middleDiv.style.color = "#999";
            highDiv.style.color = "#999";
            break;
        case 1:
        //低
            weakDiv.style.background = "red";
            weakDiv.style.color = "white";

            middleDiv.style.background = "#eee";
            highDiv.style.background = "#eee";
            middleDiv.style.color = "#999";
            highDiv.style.color = "#999";
            break;
        case 2:
        //中
            middleDiv.style.background = "#F8B90E";
            middleDiv.style.color = "white";

            weakDiv.style.background = "#eee";
            highDiv.style.background = "#eee";
            weakDiv.style.color = "#999";
            highDiv.style.color = "#999";
            break;
        case 3:
        //高
            highDiv.style.background = "#18BD0B";
            highDiv.style.color = "white";

            weakDiv.style.background = "#eee";
            middleDiv.style.background = "#eee";
            weakDiv.style.color = "#999";
            middleDiv.style.color = "#999";
            break;
        case 4:
        //高
            highDiv.style.background = "#18BD0B";
            highDiv.style.color = "white";

            weakDiv.style.background = "#eee";
            middleDiv.style.background = "#eee";
            weakDiv.style.color = "#999";
            middleDiv.style.color = "#999";
            break;
        default:
            weakDiv.style.background = "#eee";
            middleDiv.style.background = "#eee";
            highDiv.style.background = "#eee";

            weakDiv.style.color = "#999";
            middleDiv.style.color = "#999";
            highDiv.style.color = "#999";
    }

}

function onPasswordChange(password, containerId) {
    var containerIdElement = document.getElementById(containerId);
    if (containerIdElement = null) {
        //alert("密码强度容器不存在！");
    } else {
        changePasswordStrengthState(evaluatePassword(password));
    }

}