﻿/// <reference path="jquery-vsdoc.js" />

var islocal = true;

$.ajaxSetup({
    type: "POST",
    contentType: "application/json",
    dataType: 'json'
});

function showWarning(id) {
    var msg = "";
    if (id == "name") {
        msg = "请输入您企业的名称，名称字符数位3-32个";
    }
    else if (id == "area") {
        msg = "请选择您企业的所在地";
    }
    else if (id == "address") {
        msg = "请输入您企业的地址";
    }
    else if (id == "linkman") {
        msg = "请输入您企业的联系人";
    }
    else if (id == "phone") {
        msg = "请输入您企业的联系电话";
    }
    else if (id == "email") {
        msg = "请输入您企业的Email地址";
    }
    else if (id == "username") {
        msg = "用户名字符数在2-32位之间，建议使用email";
    }
    else if (id == "password") {
        $("#repassword").val("");
        $("#info_repassword").attr("class", "defaultmsg");
        $("#info_repassword").html("请输入用户登陆的安全密码");
        msg = "请输入用户登陆的安全密码";
    }
    else if (id == "repassword") {
        msg = "请再次输入用户登陆的安全密码";
    }
    else if (id == "validate") {
        msg = "请输入左边图片上的验证码，看不清图片，请点击图片以刷新图片";
    }
    else if (id == "agree") {
        msg = "需同意服务协议才能享受我们为您提供的服务";
    }
    $("#info_" + id).attr("class", "warningmsg");
    $("#info_" + id).html(msg);
}


function showSuccess(id) {
    var msg = "输入完整";
    $("#info_" + id).attr("class", "successmsg");
    $("#info_" + id).html(msg);
}

function showFailed(id, msg) {
    $("#info_" + id).attr("class", "failedmsg");
    $("#info_" + id).html(msg);
}

function check(id, ajax) {
    var isajax = false;
    isajax = ajax;
    if (id == "name") {
        return checkName(isajax);
    }
    else if (id == "area") {
        return checkArea();
    }
    else if (id == "address") {
        return checkAddress();
    }
    else if (id == "linkman") {
        return checkLinkman();
    }
    else if (id == "phone") {
        return checkPhone();
    }
    else if (id == "email") {
        return checkEmail(isajax);
    }
    else if (id == "username") {
        return checkUsername(isajax);
    }
    else if (id == "password") {
        return checkPassword();
    }
    else if (id == "repassword") {
        return checkRePassword();
    }
    else if (id == "validate") {
        return checkValidate();
    }
    else if (id == "agree") {
        return checkAgree();
    }
    return true;
}


function checkUsername(ajax) {
    var str = $.trim($("#username").val());
    var flag = true;
    if (str.length == 0) {
        showFailed("username", "用户名不能为空，请输入！");
        return false;
    }
    if (str.length < 2 || str.length > 32) {
        showFailed("username", "用户名字符数要在2-32之间！");
        return false;
    }
    var re = /^([_0-9a-zA-Z\u4e00-\u9fa5]*)$/;
    if (str.search(re) == -1 && !isEmail(str)) {
        showFailed("username", "用户名只能是字母,数字，中文，下划线（_），或整体是Email！");
        return false;
    }
    if (ajax == true) {
        $.ajax({
            url: "WebService/WebServiec_Register.asmx/CheckUserName",
            async: false,
            data: "{username:'" + str + "'}",
            success: function(result) {
                if (result.d == false) {
                    showFailed("username", "该用户名已被使用，请重新填写其他用户名！");
                    flag = false;
                }
                if (result.d == true) {
                    showSuccess("username");
                    flag = true;
                }
            }
        });
    }
    return flag;
}

function checkPassword() {
    var str = $("#password").val();
    if (str.length == 0) {
        showFailed("password", "密码不能为空，请输入！");
        return false;
    }
    if (str.length < 6 || str.length > 32) {
        showFailed("password", "密码字符数要在6-32之间！");
        return false;
    }
    var re = /^([_0-9a-zA-Z]*)$/;
    if (str.search(re) == -1 && !isEmail(str)) {
        showFailed("password", "密码字符只能是字母,数字，下划线，Email，前后不能使用空格！");
        return false;
    }
    showSuccess("password");
    return true;
}

function checkRePassword() {
    var str = $("#password").val();
    var restr = $("#repassword").val();
    if (restr.length == 0) {
        showFailed("repassword", "请输入确认密码！");
        return false;
    }
    else if (str == restr) {
        showSuccess("repassword");
        return true
    }
    else {
        showFailed("repassword", "确认密码不正确！");
        return false;
    }
    return true;
}

function checkEmail(ajax) {
    var str = $.trim($("#email").val());
    var flag = true;
    if (str.length == 0) {
        showFailed("email", "联系Email不能为空，如果没有邮箱请先注册  <a target='_blank' href='http://mail.163.com'>网易邮箱</a>");
        return false;
    }
    if (str.length > 128) {
        showFailed("email", "Email的字符数不能大于128！");
        return false;
    }
    if (!isEmail(str)) {
        showFailed("email", "Email格式不正确，请重新输入！");
        return false;
    }
    if (ajax == true) {
        $.ajax({
            url: "WebService/WebServiec_Register.asmx/CheckUserEmail",
            async: false,
            data: "{email:'" + str + "'}",
            success: function(result) {
                if (result.d == false) {
                    showFailed("email", "该Email已被使用，请重新填写其他Email，有问题请联系客服！");
                    flag = false;
                }
                if (result.d == true) {
                    showSuccess("email");
                    flag = true;
                }
            }
        });
    }
    return flag;
}

function checkName(ajax) {
    var str = $.trim($("#name").val());
    var flag = true;
    if (str.length == 0) {
        showFailed("name", "企业名称不能为空，请填写您的企业名称！");
        return false;
    }
    if (str.length < 3 || str.length > 32) {
        showFailed("name", "企业名称字符数要大于3小于32！");
        return false;
    }
    if (ajax == true) {
        $.ajax({
            url: "WebService/WebServiec_Register.asmx/CheckComName",
            async: false,
            data: "{name:'" + str + "'}",
            success: function(result) {
                if (result.d == false) {
                    showFailed("name", "该企业名称已经被注册，如有问题请联系客服！");
                    flag = false;
                }
                if (result.d == true) {
                    showSuccess("name");
                    flag = true;
                }
            }
        });
    }
    return flag;
}

function checkArea() {
    var str = $.trim($("#area").val());
    if (str.length == 0) {
        showFailed("area", "请选择您的所属地区！");
        return false;
    }
    showSuccess("area");
    return true;
}

function checkAddress() {
    var str = $.trim($("#address").val());
    if (str.length == 0) {
        showFailed("address", "联系地址不能为空，请填写您的联系地址！");
        return false;
    }
    if (str.length < 5) {
        showFailed("address", "联系地址字符数要大于5！");
        return false;
    }
    if (str.length > 60) {
        showFailed("address", "联系地址字符数要小于60！");
        return false;
    }
    showSuccess("address");
    return true;
}

function checkPhone() {
    var str = $.trim($("#phone").val());
    if (str.length == 0) {
        showFailed("phone", "联系电话不能为空，请填写您的联系电话！");
        return false;
    }
    if (str.length < 5) {
        showFailed("phone", "联系电话字符数要大于6！");
        return false;
    }
    if (str.length > 32) {
        showFailed("phone", "联系电话字符数要小于32！");
        return false;
    }
    var re = /^([\d,，-]*)$/;
    if (str.search(re) == -1) {
        showFailed("phone", "联系电话只能填写数字，中间可以使用'，'或'-'隔开！");
        return false;
    }
    showSuccess("phone");
    return true;
}

function checkLinkman() {
    var str = $.trim($("#linkman").val());
    if (str.length == 0) {
        showFailed("linkman", "必须要填写一个联系人！");
        return false;
    }
    if (str.length < 2) {
        showFailed("linkman", "联系人字符数要大于2！");
        return false;
    }
    if (str.length > 30) {
        showFailed("linkman", "联系人字符数要小于30！");
        return false;
    }
    var re = /^([,，\sa-zA-Z\u4e00-\u9fa5]*)$/;
    if (str.search(re) == -1) {
        showFailed("linkman", "联系地址格式不正确，联系人中间使用'，'隔开！");
        return false;
    }
    showSuccess("linkman");
    return true;
}

function checkValidate() {
    var str = $("#validate").val();
    var flag = true;
    $.ajax({
        url: "WebService/WebServiec_Register.asmx/CheckValidate",
        data: "{validate:'" + str + "'}",
        async: false,
        success: function(result) {
            if (result.d != true) {
                showFailed("validate", "验证码输入不真确，请重新输入，点击图片可以重新获取验证码！");
                flag = false;
            }
            else {
                showSuccess("validate");
                flag = true;
            }
        }
    });
    return flag;
}

function checkAgree() {
    var isagree = $("#agree").attr("checked");
    if (isagree == true) {
        showSuccess("agree");
        return true;
    }
    else {
        showFailed("agree", "需同意服务协议才能享受我们为您提供的服务！");
        return false;
    }
}

function clickButton() {
    var sendflag = true;
    $("#btregister").text("注册用户……").attr("disabled", "disabled");
    $("div.inp :text,div.inp :password,#agree")
    .each(function(i, item) {
        if (check(item.id, true) == false)
            sendflag = false;
    });
    $("#btregister").text("注册用户").attr("disabled", "");

    if (sendflag == true) {
        sendRegister();
    }

}

//转换单引号
function quotes(str) {
    var s = "";
    if (str.length == 0) return "";
    for (var i = 0; i < str.length; i++) {
        switch (str.substr(i, 1)) {
            case "\'": s += "’"; break;
            case "\"": s += "“"; break;
            default: s += str.substr(i, 1); break;
        }
    }
    return s;
}

function sendRegister() {
    var datas = "{username:'" + quotes($("#username").val()) + "',password:'" + quotes($("#password").val()) + "',email:'" + quotes($("#email").val()) + "',name:'" + quotes($("#name").val()) + "',relation:'" + quotes($("#linkman").val()) + "',phone:'" + quotes($("#phone").val()) + "',islocal:" + islocal + ",area:'" + quotes($("#area").val()) + "',address:'" + quotes($("#address").val()) + "'}";
    $.ajax({
        url: "WebService/WebServiec_Register.asmx/RegisterCom",
        data: datas,
        beforeSend: function() {
            $("#btregister").text("注册用户……").attr("disabled", "disabled");
        },
        success: function(result) {
            if (result.d.Flag == true) {
                window.location.href = "company/companyinfo.aspx";
                $("#btregister").text("正在跳转……").attr("disabled", "disabled");
            }
            else {
                alert(result.d.Msg);
                $("#btregister").text("注册用户").attr("disabled", "");
            }
        },
        error: function() {
            alert("注册过程出现错误，请联系客服！");
        } 

    });
}


function setArea(area,islocal) {
    $(area).find(".arealist>li").each(function(i, item) {
        var thisli = $(item);
        var overul = $(item).find("ul.dhover"); 
        var overli = overul.find("li");
        thisli
        .hover(
            function() {
                $(this).addClass("high");
            },
            function() {
                $(this).removeClass("high");
                $(this).find("ul").hide();
            }
        )
        .click(function() {
            overul.show();
        });

        overli
        .hover(
        function() {
            $(this).addClass("high");
        }, function() {
            $(this).removeClass("high");
        }
        )
        .click(function() {
            area = thisli.attr("titles") + " " + $(this).text();
            islocal = islocal;
            $("#area").val(area); 
            overul.hide();
            thisli.removeClass("high");
            $.unblockUI(); 
            checkArea();
            return false;
        });
    });
}

//获取全国地区
function getAllArea() {
    $("#liallarea").load("HtmlCommon/ProvinceAndCitys.htm", function() {
        setArea($(this), false);
    });
}

//获取区县地区
function getLocalArea() {
    $("#lilocalarea").load("HtmlCommon/ZoneAndTowns.htm", function() {
        setArea($(this), true);
    });
}

//获取地区
function getArea() {
    getAllArea();
    getLocalArea();
}
 

$(function() { 
    getArea();
    $("div.inp :text,div.inp :password").addClass("textbox");
    $("#validate").addClass("textvalidate");
    $("#imgvalidate").click(function() {
        $(this).attr("src", "Ashx/VerifyImage.ashx?id=" + Math.random());
        $("#validate").val("");
    });
    $("div.inp :text,div.inp :password,#agree")
        .focus(function() {
            showWarning(this.id);
        })
        .blur(function() {
            check(this.id, true);
        });
    $("#btregister").click(function() {
        clickButton();
    });
 

    $('#area').focus(function(event) {
        $.blockUI({ message: $('#areadialog')});
    });

    $(".blockclose").click(function() {
        $.unblockUI();
        checkArea();
        return false;
    }); 
    
    
});
