﻿/// <reference path="jquery-1.3.2.min.js" />
/// <reference path="jquery.jmsajax.js" />

function initCmbEdit(id, isPassword, maxLength) {
    var ctl = $("#" + id)[0];
    if (ctl == null) return;
    if (!isPassword)
        ctl.PasswdCtrl = isPassword;
    ctl.MaxLength = maxLength;
}

function initCmbEditValidator(id, validator, arg, message) {
    var elm = $("#" + id);
    if (elm == null) return;
    
    var next = elm.next();
    if (next.is('.xnorfield') || next.is('.xerrfield') || next.is('.xsucfield') || next.is('.xlodfield')) next.remove();

    switch (validator) {
        case 'required':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "IsCmbEditEmpty",
                    data: { value: this.value },
                    success: function(data) {
                        elm.next().removeClass().addClass(data ? 'xerrfield' : 'xsucfield').text(data ? message : '');
                    }
                });
            });
            break;
        case 'passwordLevel':
            $("<label for='" + id + "'></div>").addClass('xnorfield').addClass("plv0").insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "EvaluatePasswordLevel",
                    data: { passwordType: arg, password: this.value },
                    success: function(data) {
                        elm.next().removeClass().addClass(data < 2 ? 'xerrfield' : 'xsucfield').addClass("plv" + data).attr('src', "Images/passwdlevel" + data + ".gif");
                    }
                });
            });
            break;
        case 'passwordConfirm':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "IsCmbEditEquals",
                    data: { value1: this.value, value2: $("#" + arg).val() },
                    success: function(data) {
                        elm.next().removeClass().addClass(data ? 'xsucfield' : 'xerrfield').text(data ? '' : message);
                    }
                });
            });
            break;
        case 'checkLoginName':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "CheckLoginName",
                    data: { loginName: this.value },
                    success: function(data) {
                        elm.next().show().removeClass().addClass(data[0] != '00' ? 'xerrfield' : 'xsucfield').text(data[0] != '' ? data[1] : '');
                    }
                });
            });
            break;
        case 'checkNickName':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "CheckNickName",
                    data: { nickName: this.value, loginName: $("#" + arg).val() },
                    success: function(data) {
                        elm.next().show().removeClass().addClass(data[0] != '00' ? 'xerrfield' : 'xsucfield').text(data[0] != '' ? data[1] : '');
                    }
                });
            });
            break;
        case 'isAccountNoValid':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "IsAccountNoValid",
                    data: { accountNo: this.value },
                    success: function(data) {
                        elm.next().show().removeClass().addClass(data[0] != 0 ? 'xerrfield' : 'xsucfield').text(data[0] != 0 ? data[1] : '');
                    }
                });
            });
            break;
        case 'isAccountPasswordValid':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "IsAccountPasswordValid",
                    data: { password: this.value },
                    success: function(data) {
                        elm.next().show().removeClass().addClass(data[0] != 0 ? 'xerrfield' : 'xsucfield').text(data[0] != 0 ? data[1] : '');
                    }
                });
            });
            break;
        case 'isCvvCodeValid':
            $("<label for='" + id + "'></label>").addClass('xnorfield').insertAfter(elm);
            elm.unbind().blur(function() {
                $.jmsajax({
                    url: "Service/EAUser.asmx",
                    method: "IsCvvCodeValid",
                    data: { cvvCode: this.value },
                    success: function(data) {
                        elm.next().show().removeClass().addClass(data[0] != 0 ? 'xerrfield' : 'xsucfield').text(data[0] != 0 ? data[1] : '');
                    }
                });
            });
            break;
    }
}

function setupCmbEdit(id, isPassword, maxLength, validator, arg, message) {
    initCmbEdit(id, isPassword, maxLength);
    initCmbEditValidator(id, validator, arg, message);
}

function isCmbEditReady(elementIds) {
    var ready = true;
    for (var i = 0; i < elementIds.length; i++) {
        var elm = $("#" + elementIds[i]);
        var next = elm.next();
        if (next.is('.xnorfield')) {
            ready = false;
            elm.trigger('blur');
        } else if (next.is('.xerrfield')) {
            ready = false;
        }
    }
    return ready;
}

function isEditReady(elementIds) {
    return isCmbEditReady(elementIds);
}

$().ready(function() {
    var btnSearch = $("#btnSearch");
    var btnSearchPoint = $("#btnSearchPoint");
    var btnSearchKeyPoint = $("#btnSearchKeyPoint");
    var typesel = $("#typesel");
    var searchKey = $("#searchKey");
    var subtype = $("#subtype");

    typesel.change(function() {
        if ("no" == typesel.val()) {
            subtype.get(0).options[0].selected = true;
            subtype.attr("disabled", "disabled");
        } else {
            subtype.attr("disabled", "");
        }
    });

    btnSearchKeyPoint.click(function() {
        if (searchKey.val() == "") {
            alert("请输入搜索关键字"); return false;
        }
        window.open("ShopSearch.aspx?c=" + typesel.val() + "&&key=" + escape(searchKey.val()));
        return false;
    });

    btnSearch.click(function() {
        if ("i" == typesel.val() && "" == searchKey.val()) {
            window.open("Category.aspx?categoryId=" + subtype.val());
        } else {
            if ("" == searchKey.val()) {
                alert("请输入正确的商品编号"); return false;
            } else {
                window.open("ShopSearch.aspx?c=" + typesel.val() + "&&categoryId=" + subtype.val() + "&&key=" + escape(searchKey.val()));
            }
        }
        return false;
    });

    btnSearchPoint.click(function() {
        if (-1 == $("#RangeSearchPoint").val()) {
            alert("请选择积分范围"); return false;
        }
        var range_index = $("#RangeSearchPoint").get(0).selectedIndex;
        var range = $("#RangeSearchPoint").get(0).options[range_index].text.split('-');
        if (2 == range.length) {
            window.open("PointSearch.aspx?min=" + range[0] + "&max=" + range[1]);
        } else {
            window.open("PointSearch.aspx?min=" + range[0].replace('>', '') + "&max=");
        }
        return false;
    });
});

var wnds = new Array();

function OpenWnd(url, w, h, n, s, loc) {
    var nWinLeft, nWinTop;
    if (loc == 1) {
        nWinLeft = event.screenX;
        nWinTop = event.screenY;
    } else {
        nWinLeft = (screen.width - w) / 2;
        nWinTop = (screen.height - h) / 2;
    }

    if (n == null || n == '') {
        return window.open(url, '_blank', 'resizable=1,scrollbars=' + s + ',width=' + w + ',height=' + h + ',top=' + nWinTop + ',left=' + nWinLeft);
    }
    else if (n.charAt(0) != '_' && wnds[n] != null)
        wnds[n].close();
    wnds[n] = window.open(url, n, 'resizable=1,scrollbars=' + s + ',width=' + w + ',height=' + h + ',top=' + nWinTop + ',left=' + nWinLeft);
    return wnds[n];
}

function SendSMS(obj) {
    OrderNo = $(obj).attr("oOrderNo");
    GoodsId = $(obj).attr("oGoodsId");

    $.jmsajax({
        url: "Service/Mall.asmx",
        method: "SendSMS",
        data: { OrderNo: OrderNo, GoodsId: GoodsId },
        success: function(data) {
            if (data[0] == "1") {
                alert("短信发送成功");
            }
            else {
                alert(data[1]);
            }
        },
        beforeSend: function() {
            $("input").attr('disabled', true);
            $("select").attr('disabled', true);
            $(this).attr("disabled", true);
            $("body").css("cursor", "wait");
        },
        complete: function() {
            $("input").removeAttr("disabled");
            $("select").removeAttr("disabled");
            $(this).removeAttr("disabled");
            $("body").css("cursor", "auto");
        },
        error: function(data) { alert('(' + data.status + ')' + data.statusText); }
    });
}

function OpenPrintBond(obj) {
    OrderNo = $(obj).attr("oOrderNo");
    GoodsId = $(obj).attr("oGoodsId");
    strHref = "MyBond.aspx?oid=" + OrderNo + "&gid=" + GoodsId;
    OpenWnd(strHref, 915, 500, null, 1, 0);
}
