﻿function LoginDialog() {
    var stageflag=false;
    var isFromShopBag=false;
    var frg=document.createDocumentFragment();
    var container=$("DIV",frg).css("fm loginDlg");
    var tit=$("UL",container);

    var loginTabTit=$("LI",tit).html("<a href=\"javascript:changecode('__login_checkcode');\">登录</a>").css("current").on("click",function () {

        if(this.className!=="current") {
            loginTabTit.css("current");
            loginBlk.css("current");
            regTabTit.css("");
            regBlk.css("");
        }
    });

    var regTabTit=$("LI",tit).html("<a href=\"javascript:changecode('__reg_checkcode');\">注册</a>").on("click",function () {
        if(this.className!=="current") {
            loginTabTit.css("");
            loginBlk.css("");
            regTabTit.css("current");
            regBlk.css("current");
        }
    });

    var content=$("OL",container);
    var loginBlk=$("LI",content).css("current").css("height: 320px;");
    var regBlk=$("LI",content).css("height: 346px;");

    var loginCon=$("DIV",loginBlk).css("height: 265px;");
    $("DIV",loginBlk).css("s_phone");

    var vld=new $.Validation();

    var dl=$("DL",loginCon);
    $("DT",dl).html("登录名：");
    var dd=$("DD",dl);
    var loginMobile=$("INPUT",dd).css("txt");
    vld.add(loginMobile,{
        emptyAble: false,
        emptyText: "请填写您的登录名",
        regex: /^[a-zA-Z0-9]{11}$|^[-_a-z0-9\.]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$|^[1-9]{1}[0-9]{4,12}$/,
        regexText: "登录名格式不正确"
    });

    dl=$("DL",loginCon);
    $("DT",dl).html("密码：");
    dd=$("DD",dl);
    var loginPassword=$("PASSWORD",dd).css("txt");
    vld.add(loginPassword,{
        emptyAble: false,
        emptyText: "请填写您的密码"
    });

    dl=$("DL",loginCon).css("checkcode");
    $("DT",dl).html("验证码：");
    dd=$("DD",dl);
    var loginCC=$("INPUT",dd).css("txt");
    vld.add(loginCC,{
        emptyAble: false,
        emptyText: "请填写验证码"
    });

    var loginImg=$("IMG",dd).prop({
        id: "__login_checkcode",
        src: "/ValidCode/0.jpg"
    }).on("click",function () {
        changecode('__login_checkcode');
    });
    var loginA=$("A",dd).prop("href","javascript:changecode('__login_checkcode');").html("看不清");

    var findPwdDIV=$("DIV",loginCon).css("line-height: 20px;height: 20px;clear: both;overflow:hidden;margin-top: 15px;").html('<div style="text-align: center;color:#666;">忘记密码?<a href="/FindPwd.html" target="_blank" style="color:#cc0000;">找回密码</span></a></div>');

    loginCon.on("keyup",function (e) {
        if(e.keyCode==13)
            loginBtn.on("click");
    });

    var loginBtn=$("BUTTON",loginCon).css("btn_login").on("click",function () {
        if(!vld.validate())
            return;

        this.disabled=true;
        loginMobile.msg.css("loading").html("");
        loginPassword.msg.css("loading").html("");
        $.post("/User/LoginForCart.ajax",function (res) {
            loginBtn.disabled=false;

            loginMobile.msg.css("hid");
            loginPassword.msg.css("hid");
            loginCC.msg.css("hid");

            if(res.success) {
                if(isFromShopBag)
                    window.location.href=stageflag?"/RegRedirect/1.html?msg=3&refpath=/BagFq.html":"/RegRedirect/1.html?msg=3&refpath=/Order.html";
                else
                    window.location.reload();

            } else if(res.msg=="CHECKCODE_ERROR") {
                loginCC.msg.css("err").html("验证码错误");

            } else if(res.msg=="USER_NOT_EXISTS_ERROR") {
                loginMobile.msg.css("err").html("该用户不存在");

            } else if(res.msg=="PASSWORD_ERROR") {
                loginPassword.msg.css("err").html("密码错误");

            } else if(res.msg=="XPR_NUM_ERROR") {
                var text="";
                for(var i=0;i<res.lst.length;i++) {
                    text+="【"+res.lst[i].PRD_LOCALNAME+"("+res.lst[i].PRD_CODE+") ";
                    text+=res.lst[i].PRD_COLOR+" 】\r\n";
                }
                alert("很抱歉，产品："+text+"库存不足，暂时不能购买！");
                window.location.reload();
            } else if(res.msg=="USER_NAME_ERROR") {
                loginMobile.msg.css("err").html("登录名格式不正确");

            } else {
                alert(res.msg);
            }

            changecode('__login_checkcode');

        },{
            mobile: loginMobile.value,
            password: loginPassword.value,
            checkcode: loginCC.value,
            stageflag: stageflag,
            isFromShopBag: isFromShopBag
        });
    });

    $.post("/User/IsCftLoginUser.ajax",function (res) {
        if(res.success) {
            var _shareLogin="";
            _shareLogin+="<div class=\"cooperater\">使用合作网站帐号登录：<br/><form method=\"post\" id=\"Form1\" action=\"/User/TenpayLogin.ajax\"><input type=\"submit\" id=\"btn_cftlogin\" value=\"\" class=\"btn_cftlogin\" style=\"cursor: pointer;\" /> </form>";
            if(!res.flag) {
                _shareLogin+="<form method=\"post\" id=\"Form2\" action=\"/User/AlipayLogin.ajax\"><input type=\"submit\" id=\"btn_alipay\" value=\"\" class=\"btn_alipay\" style=\"cursor: pointer;\" /></form><form method=\"post\" id=\"Form3\" action=\"/User/CtripLogin.ajax\"><input type=\"submit\" id=\"btn_ctrip\" value=\"\" class=\"btn_ctrip\" style=\"cursor: pointer;\" /></form>";
            }
            _shareLogin+="</div>";
            loginCft.html(_shareLogin)
        }
    });

    var loginCft=$("DIV",loginCon).css("height: 60px;clear: both;overflow:hidden;padding-left:15px;");

    var vldReg=new $.Validation();
    dl=$("DL",regBlk);
    $("DT",dl).html("注册类型：");
    dd=$("DD",dl);
    if($.ie)
        dd.css("padding-top:8px;");
    var isEmail=$("RADIO",dd,"__dlgRegType").prop("value","2").on("click",regTypeChange);
    $("LABEL",dd).html("邮箱");
    var isMobile=$("RADIO",dd,"__dlgRegType").prop({ value: "1" }).on("click",regTypeChange);
    $("LABEL",dd).html("手机");
    var isMobile=$("RADIO",dd,"__dlgRegType").prop({ value: "3" }).on("click",regTypeChange);
    $("LABEL",dd).html("QQ号");

    function regTypeChange() {
        var regType=$$("__dlgRegType").val();
        if(regType==1) {
            regMobBlk.css("");
            regEmailBlk.css("");
            regQQBlk.css("hid");

            regBlk.insertBefore(regEmailBlk,regCheckCode);
            regBlk.insertBefore(regMobBlk,regPwd);

            vldRegEmail.emptyAble=true;
            vldRegQQ.emptyAble=true;
            vldRegMob.emptyAble=false;
        } else if(regType==2) {
            regMobBlk.css("");
            regEmailBlk.css("");
            regQQBlk.css("hid");

            regBlk.insertBefore(regMobBlk,regCheckCode);
            regBlk.insertBefore(regEmailBlk,regPwd);

            vldRegMob.emptyAble=true;
            vldRegQQ.emptyAble=true;
            vldRegEmail.emptyAble=false;
        } else {
            regMobBlk.css("");
            regEmailBlk.css("hid");
            regQQBlk.css("");

            regBlk.insertBefore(regMobBlk,regCheckCode);
            regBlk.insertBefore(regQQBlk,regPwd);

            vldRegMob.emptyAble=true;
            vldRegQQ.emptyAble=false;
            vldRegEmail.emptyAble=true;
        }
        regMobile.msg.css("hid");
        regEmail.msg.css("hid");
        regQQ.msg.css("hid");
        regMobile.value="";
        regEmail.value="";
        regQQ.value="";
    }

    dl=$("DL",regBlk);
    $("DT",dl).html("手机号码：");
    dd=$("DD",dl);
    var regMobile=$("INPUT",dd).css("txt");
    var vldRegMob={
        msg: "您可以填写您的手机号码作为ABS的会员名",
        emptyAble: true,
        emptyText: "请填写手机号码",
        regex: /^1[0-9]{10}$/,
        regexText: "请填写您的真实手机号码",
        success: function () {
            if(regMobile.value!="") {
                regMobile.msg.css("loading").html("");

                $.post("/User/IsLoginNameExists.ajax",function (res) {
                    if(res.success&&!res.exists) {
                        regMobile.msg.css("suc").html("");

                    } else {
                        regMobile.msg.css("err").html("该手机号码已被注册");
                    }

                },{
                    userName: regMobile.value
                });
            }
        }
    };
    vldReg.add(regMobile,vldRegMob);
    var regMobBlk=dl;

    dl=$("DL",regBlk);
    $("DT",dl).html("电子邮箱：");
    dd=$("DD",dl);
    var regEmail=$("INPUT",dd).css("txt");
    var vldRegEmail={
        msg: "您可以填写您的电子邮箱作为ABS的会员名",
        emptyAble: false,
        emptyText: "请填写电子邮箱",
        regex: /^[-_a-z0-9\.]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/,
        regexText: "请填写您的真实电子邮箱",
        success: function () {
            if(regEmail.value!="") {
                regEmail.msg.css("loading").html("");

                $.post("/User/IsLoginNameExists.ajax",function (res) {
                    if(res.success&&!res.exists) {
                        regEmail.msg.css("suc").html("");

                    } else {
                        regEmail.msg.css("err").html("该电子邮箱已被注册");
                    }

                },{
                    userName: regEmail.value
                });
            }
        }
    };
    vldReg.add(regEmail,vldRegEmail);
    var regEmailBlk=dl;

    dl=$("DL",regBlk).css("hid");
    $("DT",dl).html("QQ帐号：");
    dd=$("DD",dl);
    var regQQ=$("INPUT",dd).css("txt");
    var vldRegQQ={
        msg: "您可以填写您的QQ帐号作为ABS的会员名",
        emptyAble: true,
        emptyText: "请填写QQ帐号",
        regex: /^[1-9]{1}[0-9]{4,12}$/,
        regexText: "QQ帐号格式不正确",
        success: function () {
            if(regQQ.value!="") {
                regQQ.msg.css("loading").html("");
                $.post("/User/IsLoginNameExists.ajax",function (res) {
                    if(res.success&&!res.exists) {
                        regQQ.msg.css("suc").html("");

                    } else {
                        regQQ.msg.css("err").html("该QQ帐号已被注册");
                    }

                },{
                    userName: regQQ.value
                });
            }
        }
    };
    vldReg.add(regQQ,vldRegQQ);
    var regQQBlk=dl;

    dl=$("DL",regBlk);
    $("DT",dl).html("密码：");
    dd=$("DD",dl);
    var regPassword=$("PASSWORD",dd).css("txt");
    vldReg.add(regPassword,{
        msg: "6-16位字符，可由英文字母、数字、\"_\"或\"-\组成\"",
        emptyAble: false,
        emptyText: "请填写您的密码",
        regex: /[-_0-9a-zA-Z]{6,16}/,
        regexText: "密码长度只能在6-16位字符之间"
    });
    var regPwd=dl;

    dl=$("DL",regBlk);
    dt=$("DT",dl).html("重复密码：");
    var regComparePassword=$("PASSWORD",$("DD",dl)).css("txt");
    vldReg.add(regComparePassword,{
        emptyAble: false,
        emptyText: "请填写密码",
        compare: regPassword,
        compareText: "两次密码不一致"
    });

    dl=$("DL",regBlk).css("checkcode");
    $("DT",dl).html("验证码：");
    dd=$("DD",dl);
    var regCC=$("INPUT",dd).css("txt");
    vldReg.add(regCC,{
        emptyAble: false,
        emptyText: "请填写验证码"
    });
    var regCheckCode=dl;


    var regImg=$("IMG",dd).prop({
        id: "__reg_checkcode",
        src: "/ValidCode/0.jpg"
    }).on("click",function () {
        changecode('__reg_checkcode');
    });
    $("A",dd).prop("href","javascript:changecode('__reg_checkcode');").html("看不清");

    dl=$("DL",regBlk);
    dt=$("DT",dl);
    var regTMOptin=$("RADIO",dt,"__reg_tmoptin").prop("checked",true);
    $("DD",dl).html("我愿意接受一对一的客服服务");

    dl=$("DL",regBlk).css("padding-top:0px;");
    dt=$("DT",dl).css("padding-top:2px;");
    var regTMOptinFalse=$("RADIO",dt,"__reg_tmoptin");
    $("DD",dl).css("padding-top:0px;").html("暂时不需要，谢谢");
    if($.ie) {
        regTMOptin.css("margin-top:-4px;");
        regTMOptinFalse.css("margin-top:-4px;");
    }

    regBlk.on("keyup",function (e) {
        if(e.keyCode==13) {
            regBtn.on("click");
        }
    });

    var regBtn=$("BUTTON",regBlk).css("btn_register").on("click",function () {
        if(!vldReg.validate()) {
            return;
        }
        this.disabled=true;
        var lstType=$$("__dlgRegType");
        $.post("/User/RegisterForCart.ajax",function (res) {
            regBtn.disabled=false;
            regCC.msg.css("hid").html("");
            regMobile.msg.css("hid").html("");

            if(res.success) {
                if(isFromShopBag)
                    window.location.href=stageflag?"/RegRedirect/4.html?msg=3&refpath=/BagFq.html":"/RegRedirect/4.html?msg=3&refpath=/Order.html";
                else
                    window.location.reload();


            } else if(res.msg=="CHECKCODE_ERROR") {
                regCC.msg.css("err").html("验证码错误");

            } else if(res.msg=="USER_EXISTS_ERROR") {
                regMobile.msg.css("err").html("该用户名已存在");

            } else if(res.msg=="XPR_NUM_ERROR") {
                var text="";
                for(var i=0;i<res.lst.length;i++) {
                    text+="【"+res.lst[i].PRD_LOCALNAME+"("+res.lst[i].PRD_CODE+") ";
                    text+=res.lst[i].PRD_COLOR+" 】\r\n";
                }
                alert("很抱歉，产品："+text+"库存不足，暂时不能购买！");
                window.location.reload();
            } else if(res.msg=="USER_NAME_ERROR") {
                regMobile.msg.css("err").html("会员名格式不正确");

            } else {
                alert(res.msg);
            }
            changecode('__reg_checkcode');

        },{
            regType: lstType.value(),
            email: regEmail.value,
            mobile: regMobile.value,
            qq: regQQ.value,
            password: regPassword.value,
            checkcode: regCC.value,
            stageflag: stageflag,
            isFromShopBag: isFromShopBag,
            tmOptin: regTMOptin.checked
        });
    });

    var dlg=new $.Dialog({
        title: "您尚未登录",
        width: 376,
        content: frg
    });
    isEmail.checked=true;

    this.show=function (isReg,_isFromShopBag,_stageflag) {
        stageflag=_stageflag!=0&&!isUndefined(_stageflag);
        isFromShopBag=_isFromShopBag!=0&&!isUndefined(_isFromShopBag);
        dlg.show();
        if(isReg)
            regTabTit.on("click");
        else
            loginTabTit.on("click");

        regTypeChange();
    };

    this.close=function () {
        dlg.close();
    }
};

var loginDialog;
function login(isReg,isFromShopBag,stageFlag) {
    if(!loginDialog)
        loginDialog=new LoginDialog();
    loginDialog.show(isReg,isFromShopBag,stageFlag)
};


