﻿//CharMode函數 
//測試某個字符是屬於哪一類. 
function CharMode(iN) {
    if (iN >= 48 && iN <= 57) //數字 
        return 1;
    if (iN >= 65 && iN <= 90) //大寫字母 
        return 2;
    if (iN >= 97 && iN <= 122) //小寫 
        return 4;
    else
        return 8; //特殊字符 
}
//bitTotal函數 
//計算出當前密碼當中一共有多少種模式 
function bitTotal(num) {
    modes = 0;
    for (i = 0; i < 4; i++) {
        if (num & 1) modes++;
        num >>>= 1;
    }
    return modes;
}
//checkStrong函數 
//返回密碼的強度級別 

function checkStrong(sPW) {
    if (sPW.length <= 4)
        return 0; //密碼太短 
    Modes = 0;
    for (i = 0; i < sPW.length; i++) {
        //測試每一個字符的類別並統計一共有多少種模式. 
        Modes |= CharMode(sPW.charCodeAt(i));
    }
    return bitTotal(Modes);
}

//    //pwStrength函數 
//    //當用戶放開鍵盤或密碼輸入框失去焦點時,根據不同的級別顯示不同的顏色 
//    function pwStrength(pwd){ 
//        O_color="#e0f0ff"; 
//        L_color="#FF0000"; 
//        M_color="#FF9900"; 
//        H_color="#33CC00"; 
//        if (pwd==null||pwd==''){ 
//            Lcolor=Mcolor=Hcolor=O_color; 
//        } 
//        else
//        { 
//            S_level=checkStrong(pwd); 
//            switch(S_level)
//            { 
//                case 0: 
//                Lcolor=Mcolor=Hcolor=O_color; 
//                document.getElementById("strength_L").style.background=Lcolor; 
//                case 1: 
//                Lcolor=L_color; 
//                Mcolor=Hcolor=O_color; 
//                document.getElementById("strength_M").style.background=Mcolor; 
//                break; 
//                case 2: 
//                Lcolor=Mcolor=M_color; 
//                Hcolor=O_color; 
//                document.getElementById("strength_H").style.background=Hcolor; 
//                break; 
//                default: 
//                Lcolor=Mcolor=Hcolor=H_color; 
//                document.getElementById("strength_L").style.background=Lcolor; 
//            } 
//        } 
//        if (Lcolor != ""){
//        document.getElementById("strength_L").style.background=Lcolor; 
//        document.getElementById("strength_L").value="低";
//        }
//        if (Mcolor != ""){
//        document.getElementById("strength_L").style.background=Mcolor; 
//        document.getElementById("strength_L").value="中";
//        }
//        if (Hcolor != ""){
//        document.getElementById("strength_L").style.background=Hcolor; 
//        document.getElementById("strength_L").value="高";
//        }
//        return; 
//    } 
function pwStrength(pwd) {
    O_color = "#FFFFFF";
    L_color = "#FF0000";
    M_color = "#FF9900";
    H_color = "#33CC00";
    L_test = "低";
    M_test = "中";
    H_test = "高";
    if (pwd == null || pwd == '') {
        Lcolor = Mcolor = Hcolor = O_color;
        test = "請輸入";
    }
    else {
        S_level = checkStrong(pwd);
        switch (S_level) {
            case 0:
                Lcolor = Mcolor = Hcolor = O_color;
                test = L_test = "安全性低";
            case 1:
                Lcolor = L_color;
                Mcolor = Hcolor = O_color;
                test = L_test = "安全性低";
                break;
            case 2:
                Lcolor = Mcolor = M_color;
                Hcolor = O_color;
                test = M_test = "安全性中";
                break;
            default:
                Lcolor = Mcolor = Hcolor = H_color;
                test = H_test = "安全性高";
        }
    }
    document.getElementById("strength_L").style.color = Lcolor;
    //document.getElementById("strength_L").value = test;
    document.getElementById("strength_L").innerHTML = test;
    return;
}

function nofocus(pwd) {
    document.getElementById("strength_L").style.color = "";
    //document.getElementById("strength_L").value="";
    document.getElementById("strength_L").innerHTML = "";
    return;
}


function ckpw(pwd) {
    O_color = "#FFFFFF";
    L_color = "#FF0000";
    M_color = "#FF9900";
    H_color = "#33CC00";
    L_test = "請輸入";
    M_test = "不相同";
    H_test = "相同";
    if (pwd == null || pwd == '') {
        Lcolor = L_color;
        Mcolor = Hcolor = O_color;
        test = L_test = "請輸入";
    }
    else if (document.getElementById("pw1").value == pwd) {
        Lcolor = Mcolor = Hcolor = H_color;
        test = H_test = "相同";
    }
    else {
        Lcolor = Mcolor = L_color;
        Hcolor = O_color;
        test = M_test = "不相同";
    }
    document.getElementById("ckp").style.color = Lcolor;
    //document.getElementById("ckp").value=test;
    document.getElementById("ckp").innerHTML = test;
    return;
}

function cknofocus(pwd) {
    document.getElementById("ckp").style.color = "";
    //document.getElementById("ckp").value="";
    document.getElementById("ckp").innerHTML = "";
    return;
} 


