
function verification_enter(url,accountId,type){
    $('.answer').focus();
    $(".chkAnswer").focus();
    // enter keycode = 13
    $('.verification_overlay').keydown(function(e){
        if(e.keyCode == 13){
            if(type == set_up){
                verification_set(url,accountId);
            }else{
                verification_checkPost(url,accountId);
            }
        }
    })
}

function verification_closer() {
    $('.QuestionForm :text,.QuestionForm :password').val('');
    $('.question').removeClass('add');
    $("#set_up").css("display", "none");
    $("#chk").css("display", "none");
}

function verification_reset(){
    $('.QuestionForm :text,.QuestionForm :password').val('');
    $('.question').removeClass('add');
}

function verification_qa(url,accountId){
    $.ajax({
        url: base + "/getQuestionList.do",
        type: "get",
        success: function(data){
            if(data.success){
                if($("#set_up").length === 0){
                    $('body').append(
                        `<div id="set_up" class="verification_overlay">
              <div class="QuestionForm">
                <span class="close" onclick="verification_closer()">✘</span>
                <fieldset>
                  <legend>二次验证</legend>
                  <div>
                    <h3 class="qaBtn_h3">请选择安全问题：</h3>
                    <div class="qaBtn">
                    </div>
                  </div>
                  <h3>请设置安全问题答案：</h3>
                  <input class="answer" placeholder="安全问题答案" type="text" />
                  <h3>再次确认安全问题答案：</h3>
                  <input class="reAnswer" placeholder="再次确认安全问题答案" type="text" />
                  <div style="text-align: center;">
                    <button class="formBtn" type="button" onclick="verification_reset()";>重填</button>
                    <button class="formBtn sendBtn" type="button">送出</button>
                  </div>
                </fieldset>
              </div>
            </div>`);

                    $(".sendBtn").click(function(){
                        verification_set(url,accountId);
                    })

                    verification_enter(url,accountId,set_up)

                    for(let j = 0; j < data.questionList.length; j++){
                        $('.qaBtn').append(`<button type="button" value="`+data.questionList[j]+`" class="question"><span>`+data.questionList[j]+`</span></button>`)
                    }

                    $('.question').on('click',function(){
                        $('.question').removeClass('add');
                        $(this).addClass('add');
                    })


                }else{
                    $("#set_up").css("display", "block");
                    verification_enter(url,accountId,set_up)
                }
            }else{
                utils.tip(data.msg + ', 请联系客服', '#ff0000', function() {});
            }
        }
    })
}

function verification_set(url,accountId){
    let question = $(".question.add").val();
    let answer = $(".answer").val();
    let reAnswer = $(".reAnswer").val();

    let param = {};
    param["question"] = question;
    param["answer"] = answer;
    param["accountId"] = accountId;

    if(question == null || question == ""){
        utils.tip('请选择安全问题！', '#ff0000', function() {});
        return false;
    }if(answer == ""){
        utils.tip('请设置安全问题答案！', '#ff0000', function() {});
        return false;
    }if(reAnswer == ""){
        utils.tip('请再次确认安全问题答案！', '#ff0000', function() {});
        return false;
    }if(answer !== reAnswer){
        utils.tip('请确认安全问题答案是否相同！', '#ff0000', function() {});
        return false;
    }else{
        $.ajax({
            url: base + "/setQuestionAndAnswer.do",
            type: "post",
            data: param,
            success: function(data){
                if(data && data.success){
                    window.location.href = url;
                }else{
                    utils.tip('设定问题失败！' + data.msg , '#ff0000', function() {});
                }
            }
        })
    }
}

function verification_check(url,accountId){
    $.ajax({
        url: base + "/getQuestionByMember.do",
        type: "post",
        data:{accountId},
        success: function(data){
            if($("#chk").length === 0){
                $('body').append(
                    `<div id="chk" class="verification_overlay">
          <div class="QuestionForm">
            <span class="close" onclick="verification_closer()">✘</span>
            <fieldset>
              <legend>二次验证</legend>
              <div>
                <h3>安全问题：</h3>
                <p class="qa">`+data.question+`</p>
              </div>
              <h3>安全问题答案：</h3>
              <input class="chkAnswer" placeholder="安全问题答案" type="text"/>
              <div style="text-align: center;">
              <button class="formBtn" type="reset"  onclick="verification_reset()";>重填</button>
              <button class="formBtn chkBtn" type="button">送出</button>
              </div>
            </fieldset>
          </div>
        </div>`
                )

                $(".chkBtn").click(function(){
                    verification_checkPost(url,accountId);
                })

                verification_enter(url,accountId,chk)

            }else{
                $("#chk").css("display", "block");
                verification_enter(url,accountId,chk)
            }
        }
    })
}

function verification_checkPost(url,accountId){
    let answer = $(".chkAnswer").val();

    let param = {};
    param["answer"] = answer;
    param["accountId"] = accountId;

    if(answer == ""){
        utils.tip('请回答问题！', '#ff0000', function() {});
        return false;
    }else{
        $.ajax({
            url: base + "/checkAnswer.do",
            type: "post",
            data: param,
            success: function(data){
                if(data && data.success){
                    window.location.href = url;
                }else if(data.code) {
                    switch (data.code) {
                        case "444":
                            utils.tip('答案错误！', '#ff0000', function() {});
                            break;
                        case "999":
                            utils.tip(data.msg, '#ff0000', function() {
                                window.location.href = url;
                            });
                            break;
                    }
                } else {
                    utils.tip(data.msg, '#ff0000', function() {});
                }
            }
        })
    }
}
