﻿function initErr() {
    $('#pwderr').html('');
    $('#ckpwderr').html('');
    $('#keycodeerr').html('');
}
function emailOrNameIsOk() {
    //邮箱和昵称验证成功
    //if (emailIsOk && nameIsOk && mobileIsOk && mobileCheckIsOK) {
    if (emailIsOk && nameIsOk && mobileIsOk) {
        return true;
    }
    return false;
}
function checkSubmit() {




    

    if (!emailOrNameIsOk()) {
        return;
    }
    initErr();
    //密码
    var pwd = $('#pwd');
    var pwdval = $.trim(pwd.val());
    if (checkEmpty(pwdval) || pwdval.toString().length < 6) {
        $('#pwderr').html("<img src='/images/zone/no_icon.gif' />密码不能少于6个字符！");
        pwd.focus();
        return;
    }
    //验证密码
    var ckpwd = $('#ckpwd');
    var ckpwdval = $.trim(ckpwd.val());
    if (pwdval != ckpwdval) {
        $('#ckpwderr').html("<img src='/images/zone/no_icon.gif' />两次输入的密码不正确！");
        ckpwd.focus();
        return;
    }
    //验证验证码
    var keycode = $('#keycode');
    var keycodeval = $.trim(keycode.val());
    if (checkEmpty(keycodeval)) {
        $('#keycodeerr').html("<img src='/images/zone/no_icon.gif' />验证码不能为空！");
        keycode.focus();
        return;
    }
    if ($('#ckbAgree')[0].checked == false) {
        $('#errAgree').html("<img src='/images/zone/no_icon.gif' />您还未同意条款，不能注册！");
        return;
    }
    //验证城市选择
    var city = $('#selectcity');
    var keycity = $.trim(city.val());
    if (keycity=="0")
     {
        $('#keycodeerr').html("<img src='/images/zone/no_icon.gif' />请选择城市！");
        return;
     }
    
         var identity="";
        var Identitycard = $('#Identitycard');
     
        identity = $.trim(Identitycard.val());
     
        if (identity!="")
         {   
            if(!isIdCardNo(identity))
            {   
              alert("输入的身份证号长度不对，或者号码不符合规定！\n15位号码应全为数字，18位号码末位可以为数字或X。");  
               return;
            }   
           
        }
       
    
    checkCheckCode(keycodeval, submitUser);
}
//验证邮箱地址
function checkRegEmail() {
    var email = $('#email');
    var emailval = $.trim(email.val());
    if (checkEmpty(emailval)) {
        $('#emailerr').html("<img src='/images/zone/no_icon.gif' />邮箱地址不能为空！");
        emailIsOk = false;
        return;
    }
    if (!checkEmail(emailval)) {
        $('#emailerr').html("<img src='/images/zone/no_icon.gif' />邮箱地址错误！");
        emailIsOk = false;
        return;
    }
    //还需要验证139的邮箱
    if (!check139Email(emailval)) {
        $('#emailerr').html("<img src='/images/zone/no_icon.gif' />139的邮箱请输入手机号邮箱！");
        emailIsOk = false;
        return;
    }
    //验证是否有邮箱
    if (!emailIsOk) {
        hasEmailInDC(emailval);
    }
}
//验证邮箱是否注册过
function hasEmailInDC(email) {
    var url = "/Check/HasEmail";
    var data = "val=" + escape(email);
    var emailerr = $('#emailerr');
    emailerr.html(getWaitCode());
    $.ajax({
        type: "Get",
        url: url,
        data: data,
        dataType: "json",
        success: function(json) {
            if (json.R == "s") {
                //有会员
                emailerr.html("<img src='/images/zone/no_icon.gif' />邮箱已经被注册！");
                emailIsOk = false;
            }
            else {
                if (json.M == "") { emailIsOk = true; emailerr.html("<img src='/images/zone/ok_icon.gif' />"); }
                else { alert(json.M); }
            }
        },
        error: function() {
        }
    });
}
//匿名验证
function checkRegName() {
    //昵称
    var name = $('#name');
    var nameval = $.trim(name.val());
    if (checkEmpty(nameval) || nameval.toString().length < 4) {
        $('#nameerr').html("<img src='/images/zone/no_icon.gif' />昵称不能少于4个字符！");
        nameIsOk = false;
        return;
    }
    if (!checkChinaEnglishNumber(nameval)) {
        $('#nameerr').html("<img src='/images/zone/no_icon.gif' />昵称只有由中文，英文和数字组成！");
        nameIsOk = false;
        return;
    }
    if (!nameIsOk) {
        hasNameInDC(nameval);
    }
}
//匿名验证是否重复
function hasNameInDC(nameVal) {
    var url = "/Check/HasName";
    var data = "val=" + escape(nameVal);
    var nameerr = $('#nameerr');
    nameerr.html(getWaitCode());
    $.ajax({
        type: "Get",
        url: url,
        data: data,
        dataType: "json",
        success: function(json) {
            if (json.R == "s") {
                //有会员
                nameerr.html("<img src='/images/zone/no_icon.gif' />昵称已经注册！");
                nameIsOk = false;
            }
            else {
                if (json.M == "") { nameIsOk = true; nameerr.html("<img src='/images/zone/ok_icon.gif' />"); }
                else { nameerr.html(json.M); }
            }
        },
        error: function() {
        }
    });
}
//修改了email
function changeRegEmail() {
    emailIsOk = false;
}
//修改了昵称
function changeRegName() {
    nameIsOk = false;
}
//修改了手机号码
function changeRegMobile() {
    mobileIsOk = false;
}
function submitUser(result) {
    switch (result) {
        case "s":
            $('#RegForm').submit();
            break;
        case "e":
            $('#keycodeerr').html("<img src='/images/zone/no_icon.gif' />验证码错误！");
            break;
        case "a":
            $('#keycodeerr').html("<img src='/images/zone/no_icon.gif' />验证码失效，请点击图片重新刷新！");
            break;
    }
}
//获取等待代码
function getWaitCode() {
    return '<img src="/images/user/hig_wait.gif" />正在执行...';
}

function refKeyCode() {
    url = '/Check/GetCode?' + Math.random();
    $("#ImgCodePng").attr("src", url);
}


//商家优惠点评验证
function Comments() {
    var ptaste = $('#txtDPtaste');
    var ptdval = $.trim(ptaste.val());
    if (ptdval.toString().length > 500) {
        alert("你提交的数据不能超过500字！");
        ptaste.focus();
        return false;
    }
    var keycode = $('#keycode');
    var keycodeval = $.trim(keycode.val());
    if (checkEmpty(keycodeval)) {
        $('#keycodeerr').html("<img src='/images/zone/no_icon.gif' />验证码不能为空！");
        keycode.focus();
        return false;
    }
    //checkCheckCode(keycodeval, submitUser);

    return true;
}

function checkRegMobile() {
    var mobileval =$.trim($("#mobile").val());
    var mobilpat = /^1(4[1-10]|3[4-9]|5[012789]|8[78])\d{8}$/;
    if (mobileval == "" || !mobileval.match(mobilpat)) {
        $('#mobileerr').html("<img src='/images/zone/no_icon.gif' />手机号码不正确！");
        mobileIsOk = false;
        return;
    }
    var url = "/Check/HasMobile";
    var data = "val=" + escape(mobileval);
    var mobileerr = $('#mobileerr');
    mobileerr.html(getWaitCode());
    $.ajax({
        type: "Get",
        url: url,
        data: data,
        dataType: "json",
        success: function(json) {
            if (json.R == "s") {
                //有会员
                mobileerr.html("<img src='/images/zone/no_icon.gif' />该手机号码已经被注册！");
                mobileIsOk = false;
            }
            else {
                if (json.M == "") { mobileIsOk = true; mobileerr.html("<img src='/images/zone/ok_icon.gif' />"); }
                else { alert(json.M); }
            }
        },
        error: function() {
        }
    });
}

function GetMobileCheckCode() {
    if (!mobileIsOk) {
        checkRegMobile();
    }
    if (mobileIsOk) {
        var Mobile = "Mobile=" + $.trim($("#mobile").val());
        $.ajax({
            type: "POST",
            url: "/SMS/SendMobileCode/",
            data: Mobile,
            success: function(msg) {
                if (msg == "S") { alert("已发送信息,请注意查收！"); }
                else {
                    if (msg == "E") { alert("发送失败，请稍后再试！"); }
                    else { alert(msg); }
                }
            }
        });
    } else {
        alert("手机号码不正确，或者该手机号码已经被注册！");
    }
}

function CheckMobileCode() {
    if (mobileIsOk) {
        var data = "mobile=" + $.trim($("#mobile").val()) + "&checkCode=" + $.trim($("#mobileCheckCode").val());
        var mobileCheckCodeErr = $('#mobileCheckCodeErr');
        $.ajax({
            type: "GET",
            url: "/Check/HasMobileCheckCode",
            data: data,
            dataType: "json",
            success: function(json) {
                if (json.R == "s") {
                    mobileCheckIsOK = true;
                    mobileCheckCodeErr.html("<img src='/images/zone/ok_icon.gif' />");
                }
                else {
                    mobileCheckIsOK = false;
                    mobileCheckCodeErr.html("<img src='/images/zone/no_icon.gif' />验证码错误，或者已经过期！");
                }
            },
            error: function() {
            }
        });
    } else {
        alert("手机号码不正确，或者该手机号码已经被注册！");
        $('#mobileCheckCodeErr').html("");
    }
}

//function isIdCardNo(num)
// {    
//        alert(5);
////    num = num.toUpperCase();   
//    alert(7);      
//    if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num)))
//     {    
//     alert(6);
//       return false; 
//     }
//    else
//     { alert(7);
//    
//       return  true;
//     }
//    }
//    
    
    
    
    function isIdCardNo(num){   
    var len = num.length, re; 
     
    if (len == 15)  {
         
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);  
        } 
    else if (len == 18){
          
        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);   
        }
    else{   
        //alert("请输入15或18位身份证号,您输入的是 "+len+ "位");    
        return false;   
    }   
    var a = num.match(re);   
    if (a != null){   
        if (len==15){   
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);   
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];   
        }else{   
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);   
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];   
        }   
        if (!B){   
            //alert("输入的身份证号 "+ a[0] +" 里出生日期不对！");    
            return false;   
        }   
    }   
   
    return true;   
}    

