﻿var checkClass = new Array("Tips","Correct","error","Tips","error");

//二维数组后位规则
//0表示提示、1表示正确、2表示错误、3表示正在(数据库)检测、4表示(数据库)检测出错
var TipStr = new Array();
for(var i=0;i<16;i++)
{
    TipStr[i] = new Array();
}
//用户名
TipStr[0][0] = "用户名由6-20位英文字母或数字组成，不支持中文，注册成功后不可修改。"
TipStr[0][1] = "此用户名可以注册。"
TipStr[0][2] = "填写错误，用户名由6-20位英文字母或数字或下划线组成，不支持中文。";
TipStr[0][3] = "正在检测，请稍候...";
TipStr[0][4] = "此用户名已经存在，请尝试填写其他用户名。";
//密码
TipStr[1][0] = "由6-20位字母(区分大小写)或数字组成。";
TipStr[1][1] = "填写正确。";
TipStr[1][2] = "密码填写错误，密码由6-20位字母(区分大小写)或数字组成。";
//重复密码
TipStr[2][0] = "请再重复输入一遍您上面输入的密码。";
TipStr[2][1] = "填写正确。";
TipStr[2][2] = "输入错误，两次输入的密码不一致。";
TipStr[2][4] = "密码长度错误。";
//联系人
TipStr[3][0] = "请输入联系人。";
TipStr[3][1] = "输入正确。";
TipStr[3][2] = "没有输入联系人。";
//性别
TipStr[4][0] = "请选择性别。";
TipStr[4][1] = "填写正确。";
TipStr[4][2] = "没有选择性别。";
//职位
TipStr[5][0] = "请输入您的职位。"
TipStr[5][1] = "输入正确。";
TipStr[5][2] = "没有输入职位信息。";
//邮件地址
TipStr[6][0] = "请填写您的邮件地址。"
TipStr[6][1] = "此邮件地址可以进行注册。";
TipStr[6][2] = "邮件地址格式错误。";
TipStr[6][3] = "正在检测，请稍候...";
TipStr[6][4] = "邮件地址已经存在，请填写其他邮件地址。";
//固定电话
TipStr[7][0] = "请用“/”分隔多个号码，用“－”分隔分机号码。";
TipStr[7][1] = "填写正确。"
TipStr[7][2] = "区号或号码填写有误。";
//传真号码
TipStr[8][0] = "请填写传真号码，只能填写一个号码，只允许填写数字。";
TipStr[8][1] = "填写正确。";
TipStr[8][2] = "传真区号或号码填写有误。";
//手机号码
TipStr[9][0] = "请填写您的联系手机。";
TipStr[9][1] = "填写正确。";
TipStr[9][2] = "手机号码格式填写有误。";
//公司名称
TipStr[10][0] = "企业请填写工商局注册的全称，个体经营请标注个体经营，如李四（个人经营）。";
TipStr[10][1] = "公司名可以注册。";
TipStr[10][2] = "没有填写公司名称。";
TipStr[10][3] = "正在检测，请稍候...";
TipStr[10][4] = "该公司名已被注册，如果您的公司名被他人注册，请与客服人员联系核实，或重新填写您的公司名。";
TipStr[10][5] = "公司名称不能包含阿拉伯数字。";
//免费二级域名
TipStr[11][0] = "商务宝为您免费提供二级域名服务，您可以通过http://abcd.ecsino.com直接访问您的公司，由4-20位英文字母、数字或中划线组成，填写后不可修改。";
TipStr[11][1] = "该二级域名可以注册。";
TipStr[11][2] = "二级域名填写错误。";
TipStr[11][3] = "正在检测，请稍候...";
TipStr[11][4] = "您填写的域名已被注册，请选择填写其他域名。";
//公司所在地
TipStr[12][0] = "请选择公司所在地。";
TipStr[12][1] = "已选择。";
TipStr[12][2] = "没有选择公司所在地。";
//公司地址
TipStr[13][0] = "请详细填写公司的经营地址，如：南山区国兴大厦七楼。";
TipStr[13][1] = "填写正确。";
TipStr[13][2] = "没有填写公司地址。";
//主营行业
TipStr[14][0] = "请选择公司地主营行业。";
TipStr[14][1] = "已选择。";
TipStr[14][2] = "没有选择公司主营行业。";
//验证码
TipStr[15][0] = "请填写验证码，如果看不清请点击图片重新获取新验证码。";
TipStr[15][1] = "";
TipStr[15][2] = "没有填写验证码。";

//显示提示信息
//objid：对象编号
//mainid：数组第一个组编号
//subid：数组第二个组编号
function showTips(mainid,subid)
{
    var obj = document.getElementById("tips_"+mainid);
    obj.innerHTML = TipStr[mainid][subid];
    obj.className = checkClass[subid];
}

//获取焦点时显示提示
function inputfocus(id)
{
    showTips(id,0);
}

//getCityItem();

//检测通用函数
function Detection(id)
{
    switch(id)
    {
        case 0:
            checkUserName(id);
            return;
        case 1:
            checkPass(id);
            return;
        case 2:
            checkCfmPass(id);
            return;
        case 3:
            checkLinkman(id);
            return;
        case 4:
            checkSex(id);
            return;
        case 5:
            checkPosts(id);
            return;
        case 6:
            checkemail(id);
            return;
        case 7:
            checkphone(id);
            return;
        case 8:
            checkfax(id);
            return;
        case 9:
            checkmobile(id);
            return;
        case 10:
            checkCorpname(id);
            return;
        case 11:
            checkdomain(id);
            return;
        case 12:
            checkcitys(id);
            return;
        case 13:
            checkAddress(id);
            return;
        case 14:
            checkTades(id);
            return;
        case 15:
            checkCode(id);
            return;
    }
}

//提交前检测
function SubmitCheck()
{
    var rt;

    rt = checkUserName(0) ? true : false ;
    rt = checkPass(1) ? formatbool(rt) : false ;
    rt = checkCfmPass(2) ? formatbool(rt) : false ;
    rt = checkLinkman(3) ? formatbool(rt) : false ;
    rt = checkSex(4) ? formatbool(rt) : false ;
    rt = checkPosts(5) ? formatbool(rt) : false ;
    rt = checkemail(6) ? formatbool(rt) : false ;
    rt = checkphone(7) ? formatbool(rt) : false ;
    if(document.getElementById("txtFaxCode").value.length!=0 && document.getElementById("txtFaxNo").value.length!=0)
        rt = checkfax(8) ? formatbool(rt) : false ;
    if(document.getElementById("txtMobile").value.length!=0)
        rt = checkmobile(9) ? formatbool(rt) : false ;
    rt = checkCorpname(10) ? formatbool(rt) : false ;
    //rt = checkdomain(11) ? formatbool(rt) : false ;
    rt = checkcitys(12) ? formatbool(rt) : false ;
    rt = checkAddress(13) ? formatbool(rt) : false ;
    rt = checkTades(14) ? formatbool(rt) : false ;
    rt = checkCode(15) ? formatbool(rt) : false ;
    
    
    if(rt==true)
    {
        var obj = document.getElementById("btnRegiste");
        obj.value = "正在提交，请稍候..."
        //obj.disabled = true;
    }
    else
    {
        alert("提交失败：数据填写有误，请重新检查后再提交！");
    }    
    return rt;
}
//保存城市编号
function SaveCityid()
{
    document.getElementById("hdfCityid").value = document.getElementById("ddlCitys").value;
}
//如果当前值为true返回
function formatbool(bool)
{
    if(bool==false)
        return false;
    else
        return true;
}


//检测用户名
function checkUserName(id)
{
    var retrunValue = false;
    var obj = document.getElementById("txtLoginName");
    showTips(0,3);//提示用户正在检测
    if(obj.value=="" || obj.value==null)
    {
        showTips(id,2);//没有填写内容
    }
    else if(!isUserName(obj.value))
    {
        showTips(id,2);//正则验证失败
    }
    else if(getXML("/BehindPage/Detection.aspx?t=username&v="+encodeURI(obj.value))=="1")
    {
        showTips(id,4);//数据库中检测出现同名
    }
    else
    {   
        showTips(id,1);//成功(其他都失败)
        retrunValue = true;
    }
    return retrunValue; //返回，如果成功为1，失败为0
}

//检测密码
function checkPass(id)
{
    var obj = document.getElementById("txtPass");
	if(!isPassword(obj.value))
	{
	    showTips(id,2);
		return false;
	}
	else
	{
	    showTips(id,1);
		return true;
	}
}

//检测重复密码
function checkCfmPass(id)
{
    var objpass = document.getElementById("txtPass");
    var objcfmpass = document.getElementById("txtCfmPass");
    if(objpass.value.length<6)
    {
        showTips(id,4);
        return false;
    }
    else if(objpass.value!=objcfmpass.value)
    {
        showTips(id,2);
        return false;
    }
    else
    {
        showTips(id,1);
        return true;
    }
}

//检测联系人
function checkLinkman(id)
{   
    var obj = document.getElementById("txtLinkMan");
    if(obj.value.length==0)
    {
        showTips(id,2);
         return false;
    }
    else
    {
        showTips(id,1);
         return true;
    }
}

//检测性别填写
function checkSex(id)
{
    var obj0 = document.getElementById("rdbSex_0");
    var obj1 = document.getElementById("rdbSex_1");
    if(obj0.checked || obj1.checked)
    {
        showTips(id,1);
        return true;
    }
    else
    {
        showTips(id,2);
        return false;
    }
}

//检测岗位
function checkPosts(id)
{   
    var obj = document.getElementById("txtPosts");
    if(obj.value.length==0)
    {
        showTips(id,2);
         return false;
    }
    else
    {
        showTips(id,1);
         return true;
    }
}

//检测邮件地址
function checkemail(id)
{
     var retrunValue = false;
    showTips(id,3);
    var obj = document.getElementById("txtMail");
    if(obj.value.length==0)
    {
        showTips(id,2);
    }
    else if(!isEmail(obj.value))
    {
        showTips(id,2);
    }
    else if(getXML("/BehindPage/Detection.aspx?t=email&v="+encodeURI(obj.value))=="1")
    {
        showTips(id,4);
    }
    else
    {
        showTips(id,1);
        retrunValue = true;
    }
    return retrunValue;
}

//检测电话号码
function checkphone(id)
{
    var objCode = document.getElementById("txtPhoneCode");
    var objNo = document.getElementById("txtPhoneNo");
    if((!isCode(objCode.value))||(!IsPhoneNo(objNo.value)))
    {
        showTips(id,2);
        return false;
    }
    else
    {
        showTips(id,1);
        return true;
    }
}

//检测传真号码
function checkfax(id)
{
    var retrunValue = false;
    var objCode = document.getElementById("txtFaxCode");
    var objNo = document.getElementById("txtFaxNo");
    if(objCode.value.length==0 && objNo.value.length==0)    //传真号码为可选填写
    {
        document.getElementById("tips_"+id).className = "";
        document.getElementById("tips_"+id).innerHTML = "";
         retrunValue = true;
    }
    else if((!isCode(objCode.value))||(!IsFaxNo(objNo.value)))
    {
        showTips(id,2);
        retrunValue = false;
    }
    else
    {
        showTips(id,1);
        retrunValue = true;
    }
    return retrunValue;
}

//检测手机号码
function checkmobile(id)
{
    var retrunValue = false;
    var obj = document.getElementById("txtMobile");
    if(obj.value.length==0)                             //手机号码可选
    {
        document.getElementById("tips_"+id).className = "";
        document.getElementById("tips_"+id).innerHTML = "";
        retrunValue = true;
    }
    else if(!IsMobile(obj.value))
    {
        showTips(id,2);
        retrunValue = false;
    }
    else
    {
        showTips(id,1);
        retrunValue = true;
    }
    return retrunValue;
}

//检测公司名
function checkCorpname(id)
{
    var retrunValue = false;
    var numberRegex = /[0-9]+/gi;
    showTips(id,3);
    var obj = document.getElementById("txtCorpName");
    if(obj.value.length==0)
    {
        showTips(id,2);
    }
    else if (numberRegex.test(obj.value))
    {
        showTips(id, 5);
    }
    else if(getXML("/BehindPage/Detection.aspx?t=corpname&v="+encodeURI(obj.value))=="1")
    {
        showTips(id,4);
    }
    else
    {
        showTips(id,1);
        retrunValue = true;
    }
    return retrunValue;
}

//检测二级域名
function checkdomain(id)
{
     var retrunValue = false;
    showTips(id,3);
    var obj = document.getElementById("txtSecondDomain");
    if(obj.value.length==0)    //域名可选
    {
        document.getElementById("tips_"+id).className = "";
        document.getElementById("tips_"+id).innerHTML = "";
        retrunValue = true;
    }
    else if(!IsDomail(obj.value))
    {
        showTips(id,2);
    }
    else if(getXML("/BehindPage/Detection.aspx?t=domain&v="+encodeURI(obj.value))=="1")
    {
        showTips(id,4);
    }
    else
    {
        showTips(id,1);
        retrunValue = true;
    }
    return retrunValue;
}

//检测公司所在地
function checkcitys(id)
{
    var objProvinces = document.getElementById("ddlProvinces");
    var objCitys = document.getElementById("ddlCitys");
    
    if(objProvinces.value==0 || objCitys.value==0)
    {
        showTips(id,2);
        return false;
    }
    else
    {
        showTips(id,1);
        return true;
    }
}

//检测公司地址
function checkAddress(id)
{
    var obj = document.getElementById("txtAddress");
    if(obj.value.length==0)
    {
        showTips(id,2);
        return false;
    }
    else
    {
        showTips(id,1);
        return true;
    }
}

//检测主营行业
function checkTades(id)
{
    var obj = document.getElementById("ddlIndustry");
    if(obj.value==0)
    {
        showTips(id,2);
        return false;
    }
    else
    {
        showTips(id,1);
        return true;
    }
}

//检测是否输入验证码
function checkCode(id)
{
    var obj = document.getElementById("txtCheckCode");
    if(obj.value.length==0)
    {
        showTips(id,2);
        return false;
    }
    else        //其他情况不进行检测
    {
        document.getElementById("tips_"+id).className = "";
        document.getElementById("tips_"+id).innerHTML = "";
        return true;
    }
}


//获取城市
function getCityItem()
{
    var obj = document.getElementById("ddlProvinces");
    pid = obj.value;
    var objname = "ddlCitys";
    if(pid==0)
    {
        document.getElementById("ddlCitys").options.length = 0;
        document.getElementById("ddlCitys").options.add(new Option("城市",0)); 
    }
    else
    {
        eval(getXML("/BehindPage/GetCitysAddList.aspx?p="+pid+"&o="+objname));
    }
    document.getElementById("hdfCityid").value = document.getElementById("ddlCitys").value;
}


//用户名检测
function isUserName(s)
{
	var regu="^(([a-zA-Z0-9]|[_]){6,20})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//密码检测
function isPassword(s)
{
	var regu="^(([a-zA-Z0-9]){6,20})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//区号检测
function isCode(s)
{
	var regu="^(([0-9]){3,7})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//电话号码检测
function IsPhoneNo(s)
{
	var regu="^(([0-9]|[-/]){6,255})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//传真号码检测
function IsFaxNo(s)
{
	var regu="^(([0-9]){6,20})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//手机号码检测
function IsMobile(s)
{
	var regu="^((0)?[1][358]([0-9]){9})$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//二级域名检测
function IsDomail(s)
{
	var regu="^([0-9a-zA-Z](([0-9a-zA-Z]|[-]){2,18})[0-9a-zA-Z])$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//邮件地址检测
function isEmail(s)
{
	var regu="^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
	var re=new RegExp(regu);
	if(s.search(re)!= -1)
		return true;
	else
		return false;
}
//获取远程数据(兼容多浏览器)
function getXML(URL) 
{
    var xmlhttp = null;
    URL = URL + "&rid="+Math.random();
	if(window.XMLHttpRequest){
	   xmlhttp = new XMLHttpRequest(); //火狐浏览器。
	}
	else if(window.ActiveXObject){
	   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); //IE浏览器。
	   if(!xmlhttp){xmlhttp = new ActiveXObject("Microsoft.XML"+"HTTP");}
	}
	
	if(xmlhttp)
    {
        xmlhttp.open("GET",URL, false); //加载url对应的远程服务器来处理我们提交的数据。
        xmlhttp.send(null);
	    
	    if(xmlhttp.readyState == 4)
	    {
            if(xmlhttp.status == 200)
            {
                return(xmlhttp.responseText); 
            }
        }
        delete(xmlhttp)
	}
	else
	{
	    alert("对不起，您的浏览器不支持XMLHttpRequest组件，请上google搜索相关解决方案！")
	}
}
