﻿var clientid;
function fnSetFocus(txtClientId) {
    clientid = txtClientId;
    setTimeout("fnFocus()", 500);

}

function fnFocus() {
    eval("document.getElementById('" + clientid + "').focus()");
}

function openWindow(url) {
    var mywindow = window.open(url, "mywindow", "status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=1,height=400,width=600");
}

// This function shall be called for client-side validation
function ValidateCreditCardNumber(source, args) {
    args.IsValid = IsValidCardNumber(args.Value);
}

// Luhn check, the JavaScript way
function IsValidCardNumber(cardNumber) {
    var digitsRegex = new RegExp("^[0-9]*$");
    if (!digitsRegex.test(cardNumber)) {
        return false;
    }
    if (cardNumber.length < 12) {
        return false;
    }
    var sum = 0;
    for (var i = 0; i < cardNumber.length - 1; i++) {
        var weight = cardNumber.substr(cardNumber.length -
                (i + 2), 1) * (2 - (i % 2));
        sum += ((weight < 10) ? weight : (weight - 9));
    }
    if (parseInt(cardNumber.substr(cardNumber.length - 1)) ==
                ((10 - sum % 10) % 10)) {
        return true;
    }
    else {
        return false;
    }
}

function IsChecked(source, args) {
    var CustomValidator = source;
    var cb = document.getElementById(CustomValidator.ControlToValidate1);
    args.IsValid = cb.checked;
}
