﻿// JScript 文件

function String.prototype.Trim() {return   this.replace(/(^\s*)|(\s*$)/g,"");}
//jb函数会根据不同的浏览器初始化个xmlhttp对象
function jb()
{
    var A=null;
    try 
    { 
        A=new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch(e)
    { 
        try 
        { 
            A=new ActiveXObject("Microsoft.XMLHTTP"); 
        }
        catch(oc)
        {
            A=null
        } 
    } 
    if ( !A && typeof XMLHttpRequest != "undefined" ) 
    { 
        A=new XMLHttpRequest();
    }
    return A
}

//下面Go函数是父列表框改变的时候调用，参数是选择的条目
function Go()
{
    var str=document.getElementById("txtNum").value;
    //定义要处理数据的页面
    var weburl = "register_fir.aspx?strNum="+str;
    //初始化个xmlhttp对象
    var xmlhttp = jb();
    //提交数据，第一个参数最好为get，第三个参数最好为true
    xmlhttp.open("get",weburl,true);
       
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4)//4代表成功返回数据
        {            
            var numStr=xmlhttp.responseText;
            if(numStr=="true")
            {
                spaNum.innerHTML="<img src='image/icon_Right.gif'/>";
                form1.btn.value="true";
            }
            else
            {
                spaNum.innerHTML="已有此用户！";
                form1.btn.value="false";
            }
        }
    }
    //发送数据，请注意顺序和参数，参数一定为null或者""
    xmlhttp.send("");
}

function CharMode(iN){
	    if (iN>=65 && iN <=90) //大写字母
	    return 2;
	    if (iN>=97 && iN <=122) //小写
	    return 4;
	    else
	    return 1; //数字
}
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
	    modes=0;
	    for (i=0;i<3;i++){
			    if (num & 1) modes++;
			    num>>>=1;
	    }
	    return modes;
    }
//checkStrong函数 返回密码的强度级别
function checkStrong(sPW){
	    Modes=0;
	    for (i=0;i<sPW.length;i++){
			    //测试每一个字符的类别并统计一共有多少种模式.
			    Modes|=CharMode(sPW.charCodeAt(i));
	    }		
	    var btotal = bitTotal(Modes);
	    if (sPW.length >= 10) btotal++;
		
	    switch(btotal) {
			    case 1:
					    return "<div class='pwd_width'><div style='width:50px; background:#FE707E; float:left; font-weight:bold;'>弱</div><div style='width:50px; float:left;border-left:1px solid #999999;border-right:1px solid #999999;'>中</div><div style='width:50px; float:left'>强</div></div>";
					    break;
			    case 2:
					    return "<div class='pwd_width'><div style='width:50px; background:#FCFA93; float:left'>弱</div><div style='width:50px; background:#FCFA93; float:left; font-weight:bold;border-left:1px solid #999999;border-right:1px solid #999999;'>中</div><div style='width:50px; float:left'>强</div></div>";
					    break;
			    case 3:
					    return "<div class='pwd_width'><div style='width:50px; background:#BDFEA6; float:left'>弱</div><div style='width:50px; background:#BDFEA6; float:left;border-left:1px solid #999999;border-right:1px solid #999999;'>中</div><div style='width:50px; background:#BDFEA6; float:left; font-weight:bold'>强</div></div>";
					    break;
			    default:
					    return "";
	    }
}
function ShowStrong(obj,oMsg,status){
	    var obj = obj;
			    if(status==1){
			    document.all.pswstrong.innerHTML = oMsg
	    }else{
			    document.all.pswstrong.innerHTML = ""
	    }
}
function GetFocus(obj)
{
    var nameStr=obj.name;
    var divLast=nameStr.substring(3,nameStr.length);
    if(divLast=="Pwd1"||divLast=="Pwd2"||divLast=="Email1"||divLast=="Email2")
    {
        divStr="div"+divLast.substring(0,divLast.length-1);
        var object=document.getElementById(divStr);
        if(divLast=="Pwd1"||divLast=="Pwd2") object.className="change_right2";
        else object.className="change_right_mail";
    }
    else
    {
        divStr="div"+divLast;
        var object=document.getElementById(divStr);
        if(divLast=="Synopsis") object.className="change_right2";
        else object.className="change";
    }
}
function LoseFocus(obj)
{
    var nameStr=obj.name;    
    var divLast=nameStr.substring(3,nameStr.length);
    var divStr="";
    if(divLast=="Pwd1"||divLast=="Pwd2"||divLast=="Email1"||divLast=="Email2")
    {
        divStr="div"+divLast.substring(0,divLast.length-1);
        var object=document.getElementById(divStr);
        if(divLast=="Pwd1"||divLast=="Pwd2") {object.className="regcon_right2";}
        else if(divLast=="Email1"||divLast=="Email2") {object.className="regcon_right_mail";}
    }
    else
    {
        divStr="div"+divLast;
        var object=document.getElementById(divStr);
        if(divLast=="Synopsis") {object.className="regcon_right2";}
        else {object.className="regcon_right";}
    }   
}
function AllValidate()
{
    
    if(Validate("txtNum")&&Validate("txtName")&&Validate("txtPwd1")&&Validate("txtPwd2")&&Validate("txtPhone")&&Validate("txtMSN")&&Validate("txtEmail1")&&Validate("txtEmail2")&&form1.btn.value)
    {        
        form1.btnNext.disabled="";
    }
    else
    {
        form1.btnNext.disabled="disabled";
    }   
}
function Validate(obj)
{
    switch(obj)
    {
        case "txtNum" :
        {          
            var o=document.getElementById("spaNum");
            var str=document.getElementById("txtNum").value.Trim();
            
            //不能全是数字    /^[\d]{4,16}/
            //alert(/^(?![0-9]+$)[^\s_][a-zA-Z0-9_\s]+[^\s_]{4,16}$/.test(str));
            //alert(/^(?!\d+$)(?!_)[a-z0-9_]{3,15}[a-z0-9]$/.test(str));
            //正则表达式判断
            if(str=="")
            {
                o.innerHTML="帐号不能为空！";
                return false;
            }
            else if(/^(?!\d+$)(?!_)[a-z0-9_]{3,15}[a-z0-9]$/.test(str))//只能输入中、英文、数字，4-16个字符；且下划线空格等不能在开头和结尾
            {
                Go();
                return true;
            }
            else
            {
                o.innerHTML="格式不正确！";
                return false;
            }                 
            break;
        }
        case "txtName" :
        {
            var o=document.getElementById("spaName");//取显示对象
            var str=document.getElementById("txtName").value.Trim();//取判断内容
            //正则表达式判断
            if(str=="")
            {
                o.innerHTML="真实姓名不能为空！";
                return false;
            }
            else if(/^[\u4e00-\u9fa5|a-z|_]{2,15}$/.test(str))//只能输入中、英文，3-15个字符
            {
                o.innerHTML="<img src='image/icon_Right.gif'/>";
                return true;
            }
            else
            {
                o.innerHTML="格式不正确！";
                return false;
            }                 
            break;
        }
        case "txtPwd1" :
        {
            var o=document.getElementById("spaPwd1");//取显示对象
            var str=document.getElementById("txtPwd1").value.Trim();//取判断内容
            //正则表达式判断
            if(str=="")
            {
                o.innerHTML="密码不能为空！";
                return false;
            }
            else if(/^(\w){6,16}$/.test(str))//只能输入英文、数字、下划线
            {
                o.innerHTML="<img src='image/icon_Right.gif'/>";
                return true;
            }
            else
            {
                o.innerHTML="格式不正确！";
                return false;
            }                 
            break;
        }
        case "txtPwd2" :
        {
            var o=document.getElementById("spaPwd2");//取显示对象
            var str1=document.getElementById("txtPwd1").value.Trim();//取判断内容1
            var str2=document.getElementById("txtPwd2").value.Trim();//取判断内容2
            //正则表达式判断
            if(str2=="")
            {
                o.innerHTML="确认密码不能为空！";
                return false;
            }
            else if(!/^(\w){6,16}$/.test(str2))//只能输入英文、数字、下划线
            {
                o.innerHTML="格式不正确！";
                return false;
            }
            else if(str1!=str2)
            {
                o.innerHTML="确认密码不一致！";
                return false;
            }
            else
            {
                o.innerHTML="<img src='image/icon_Right.gif'/>";
                return true;
            }                 
            break;
        }
        case "txtPhone" :
        {
            var o=document.getElementById("spaPhone");//取显示对象
            var str=document.getElementById("txtPhone").value.Trim();//取判断内容
            if(str=="")
            {
                o.innerHTML="电话不能为空！";
                return false;
            }
            //正则表达式判断
            else if(/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/.test(str))//只能数字、“-”
            {
                o.innerHTML="<img src='image/icon_Right.gif'/>";
                return true;
            }
            else
            {
                o.innerHTML="格式不正确！";
                return false;
            }
            break;
        }
        case "txtQQ" :
        {
            var o=document.getElementById("spaQQ");//取显示对象
            var str=document.getElementById("txtQQ").value.Trim();//取判断内容
            if(str!="")
            {
                //正则表达式判断
                if(/^[0-9]{6,12}$/.test(str))//只能数字、“-”
                {
                    o.innerHTML="<img src='image/icon_Right.gif'/>";
                    return true;
                }
                else
                {
                    o.innerHTML="格式不正确！";
                    return false;
                }
            }            
            else
            {
                return true;
            }
            break;
        }
        case "txtMSN" :
        {
            var o=document.getElementById("spaMSN");//取显示对象
            var str=document.getElementById("txtMSN").value.Trim();//取判断内容
            if(str!="")
            {
                //正则表达式判断
                if(/\w+@\w+/.test(str))//只能输入英文、数字、下划线
                {
                    o.innerHTML="<img src='image/icon_Right.gif'/>";
                    return true;
                }
                else
                {
                    o.innerHTML="格式不正确！";
                    return false;
                }   
            }
            else
            {
                return true;
            }
            break;
        }
        case "txtEmail1" :
        {
            //检测油箱
            var o=document.getElementById("spaEmail");//取显示对象
            var str1=document.getElementById("txtEmail1").value.Trim();//取判断内容1
            var str2=document.getElementById("txtEmail2").value.Trim();//取判断内容2
            var str=str1+"@"+str2;            
            if(str2!="")
            {
                //正则表达式判断
                if(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(str))
                {
                    o.innerHTML="<img src='image/icon_Right.gif'/>";
                    return true;
                }
                else
                {
                    o.innerHTML="格式不正确！";
                    return false;
                }  
            }
            else if(str2=="")
            {
                o.innerHTML="邮箱不能为空！";
                return false;
            } 
            break;            
        }
        case "txtEmail2" :
        {
            //检测油箱
            var o=document.getElementById("spaEmail");//取显示对象
            var str1=document.getElementById("txtEmail1").value.Trim();//取判断内容1
            var str2=document.getElementById("txtEmail2").value.Trim();//取判断内容2
            var str=str1+"@"+str2;
            if(str1!="")
            {
                //正则表达式判断
                if(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(str))
                {
                    o.innerHTML="<img src='image/icon_Right.gif'/>";
                    return true;
                }
                else
                {
                    o.innerHTML="格式不正确！";
                    return false;
                }    
            }
            else if(str1=="")
            {
                o.innerHTML="邮箱不能为空！";
                return false;
            }           
            break;            
        }
    }
}