﻿var __cntrst = "cntrst1";
var __iATBM = false;
var __KBD = false;
var __nA = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
var __tP;

function doPW(o) {
    o.blur();



    if (o.id === "Digit_Clean") {
        showKeyBtns(o);
        __tP.value = "";
        ReEnableButtons();
        var TextBox1 = $("input[name$='TextBox1']")[0];
        TextBox1.value = "";
        __iATBM = false;
        return;
    }

    if (__KBD) { return; }

    var btn_ID = parseInt(o.id.split("_")[1]);

    //alert(btn_ID);

    __tP.value += __nA[btn_ID];

    window.setTimeout("DisableKeyBtns();", 100);

}




function showKeyBtns(o) {
    for (var i in __nA) {
        var keyBtn = $("#Digit_" + i.toString())[0];
        keyBtn.className = __cntrst;
        keyBtn.value = (__KBD) ? "" : __nA[i];
        keyBtn.style.display = 'block';
    }
}



function sortF(a, b) {return 0.5 - Math.random();  }

function ReEnableButtons() {




    __KBD = false;

    __nA.sort(sortF);
    ResortNumbers();
    displayShuffledButtons();

    //showKeyBtns(null);
}


function ResortNumbers() {

    
    var needsResorting = true;
    var resortedTimes = 0;

    while (needsResorting) {
        //window.status = resortedTimes.toString();
        resortedTimes++;
        var stillNeedsResorting = false;
        for (var i = 0; i < 10; i++) {
            var orderedPath = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

            // Checks to see if there are consecutive numbers.
            // If so, break and resort
            if (i < 9) {
                var currentNumber = __nA[i];
                if (__nA[i + 1] == (currentNumber + 1)) {
                    stillNeedsResorting = true;
                    break;
                }
            }

            // Checks if current number coincides its normal position with key position.
            // If so, break and resort
            if (orderedPath[i] == __nA[i]) {
                stillNeedsResorting = true;
                break;
            }
        }

        if (stillNeedsResorting) {
            __nA.sort(sortF);
        }
        else {
            needsResorting = false;
        }
    }

}


function displayShuffledButtons() {
    for (var i in __nA) {
        var keyBtn = $("#Digit_" + i.toString())[0];
        keyBtn.value = __nA[i];
        keyBtn.className = __cntrst;
        keyBtn.style.display = 'block';
        keyBtn.disabled = false;
    }

    var Digit_Clean = $("#Digit_Clean")[0];
    Digit_Clean.style.display = "block";
    Digit_Clean.className = "cntrst1";
}



function DisableKeyBtns() {

    if (!__iATBM) {
        MaskAccountTextBox();
    }



    if (__tP.value.length < 4) {
        return;
    }






    for (var i = 0; i < 10; i++) {
        var btn = $("#Digit_" + i.toString());
        btn.disabled = true;
        btn.value = "";

    }


    __KBD = true;
}


function MaskAccountTextBox() {
    var TextBox1 = $("input[id$='TextBox1']")[0];

    if (TextBox1.value.length > 0) {

        var hdnAccount = $("input[name$='hdnAccount']")[0];
        hdnAccount.value = TextBox1.value;

        var newVal = "";

        for (var i = 0; i < TextBox1.value.length; i++) {
            newVal += "*";
        }

        TextBox1.value = newVal;
        __iATBM = true;
    }

}


function setCntrst(o, c) {
    o.blur();
    var currentContrast = "cntrst" + c;
    for (var i = 0; i < 10; i++) {
        $("#Digit_" + i.toString())[0].className = currentContrast;
    }
    __cntrst = currentContrast;
}

function hideKeyBtns(o) {
    if (__KBD) { return; }

    for (var i = 0; i < 10; i++) {
        var btn = $("#Digit_" + i.toString())[0];
        //btn.className = "boldBtn";
        btn.value = "";
        //keyBtnsCells.push(document.getElementById("DigitCell_" + i.toString()));
    }
}


$(document).ready(function() {

//showKeyBtns(null);
    var _TextBox2   =   $("input[id$='TextBox2']");
    _TextBox2.attr('readonly', 'readonly');
    __tP = _TextBox2[0];
    ReEnableButtons();

});		