﻿var hW = [
    fhs('2f4c4947415f4e65775f76382f'),
    fhs('2f7075626c69632f52656769737465722e61737078'),
    fhs('5265676973746572312e617370783f7265663d'),
    fhs('476574436f6465'),
    fhs('5265676973746572'),
    fhs('436865636b557365724e616d65'),
    fhs('6161'),
    fhs('303030'),
]
function fhs(r) { if (r.length % 2 == 0) { for (var n = r.split(""), e = 0, o = 0; o < r.length / 2; o++)n.splice(e, 0, "\\x"), e += 3; return n.join("") } console.log("formalize failed") }
function h2a(r) { for (var n = "", e = 0; e < r.length; e += 2) { var o = parseInt(r.substr(e, 2), 16); o && (n += String.fromCharCode(o)) } return n }
$.fn.serializeAndEncode = function () {
    return $.map(this.serializeArray(), function (val) {
        return [val.name, encodeURIComponent(val.value)].join('=');
    }).join('&');
};
function keyPress(evt) {
    var event = evt || window.event;
    var x = event.which || event.keyCode;
    if (x < 48 || x > 57) {
        if (x == 8 || x == 9 || x == 35 || x == 36 || x == 37 || x == 38 || x == 39 || x == 40 || (event.ctrlKey && x == 97) || (event.ctrlKey && x == 99) || (event.ctrlKey && x == 118) || event.key === 'Delete') event.returnValue = true;
        else event.returnValue = false;
    }
}
function register(form) {
    var cmd = '';
    if (form.id === 'formReg') {
        cmd = h2a(hW[4])
    }
    else if (form.id === 'formCheckUser') {
        cmd = h2a(hW[5])
        if ($('#txtUserName').val() == '') {
            showMsgCheckUser();
            return;
        }
    }
    var data = toJSON($('#' + form.id).serializeAndEncode() + '&txtUserName=' + $('#txtUserName').val());
    $.ajax({
        type: 'POST',
        url: getUrl(),
        data: $.extend({ cmd: cmd }, data),
        success: function (responseText) {
            var data = JSON.parse(responseText);
            switch (data.code) {
                case 0: // invaild code
                    alert(data.msg)
                    break;
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                case 7:
                    $('#modalCheckUser').modal('hide')
                    alert(data.msg)
                    break
                case 8: // resgister successfully
                    alert(data.msg)
                    form.reset()
                    window.opener.location.reload(true);
                    window.close()
                    break;
                default:
                    alert(data.msg)
                    $('#modalCheckUser').modal('hide')
                    break
            }
            // reset capcha
            $('#txtCodeCheckUser').val('');
            $('#btnRefreshCapchaCheckUser').trigger('click');
            $('#txtCode').val('');
            $('#btnRefreshCapcha').trigger('click');
        },
        error: function (e) {
            alert(e.responseText)
        }
    })
}
function isLocalHost(host) {
    return host === 'localhost'
}
function drawBank(records) {
    var str = ''
    records.forEach(function (record) {
        str += '<option value="' + record.BankName + '">' + record.BankName + '</option>'
    });
    $('#lstBank').html(str)
}
function loadBankList() {
    // load bank list when page loaded
    $.ajax({
        url: getUrl(),
        type: 'GET',
        data: { cmd: 'LoadBankList' },
        success: function (responseText) {
            var records = JSON.parse(responseText);
            if (records.length > 0) {
                drawBank(records)
            }
            else alert('db hasn\'t anyone Bank info');
        },
        error: function (e) {
            /*   alert('Load Bank list got error');*/
            console.log('Load Bank list got error');
        }
    });
}
function toJSON(queryString) {
    var pairs = queryString.split('&');
    var result = {};
    pairs.forEach(function (pair) {
        pair = pair.split('=');
        result[pair[0]] = decodeURIComponent(pair[1] || '');
    });
    return JSON.parse(JSON.stringify(result));
}
function getUrl() {
    return (isLocalHost(window.location.host) ? window.location.origin + '/' + window.location.pathname.split('/')[1] : window.location.origin) + h2a(hW[1]);
}