﻿// JScript 文件

/* 随机时间 */
function getDataTime()
{
	var strDate,strTime;
	strDate = new Date();
	strTime = strDate.getTime();
	return strTime;
}

/* 正则表达表 */
function RegTest(TestStr, RegExpStr)
{
	return RegExpStr.test(TestStr)
}

/* 截取固定长度子字符串 sSource为字符串iLen为长度 */
function getInterceptedStr(sSource, iLen)
{
    if(sSource.replace(/[^\x00-\xff]/g,"xx").length <= iLen)
    {
        return sSource;
    }
    var str = "";
    var l = 0;
    var schar;
    for(var i=0; schar=sSource.charAt(i); i++)
    {
        str += schar;
        l += (schar.match(/[^\x00-\xff]/) != null ? 2 : 1);
        if(l >= iLen)
        {
            break;
        }
    }
    return str;
}



/* 检测用户名 */
function checkUserName(ActionFlag)
{
    var Element = document.getElementById('username');
    var Elements = document.getElementById("unamespan");
    if (ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 用户名由5-20个英文字母或数字组成。';
    }
    else
    {
        if(!RegTest(Element.value, /^[0-9a-zA-Z]{5,20}$/))
        {
            Element.keytype = 'No';
	        Elements.className = 'noteerror';
            Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 用户名由5-20个英文字母或数字组成。';
	    }
        else
        {
            requestSimpleService = UserService.getUser(Element.value, OnRequestUser);
        }
    }
}

/* 验证用户名结果 */
function OnRequestUser(result)
{
    var Element = document.getElementById('username');
    var Elements = document.getElementById("unamespan");
    if(result)
    {
        Element.keytype = 'No';
        Elements.className = 'noteerror';
        Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 对不起，该用户名已经存在。';
    }
    else
    {
        Element.keytype = 'Yes';
        Elements.className = 'note';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，该用户名可以注册。'; 
    }
}

/* 检测昵称 */
function checkNickName(ActionFlag)
{
    var Element = document.getElementById('nickname');
    var Elements = document.getElementById("nickspan");
    if (ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 字母、数字、特殊符号组成，长度最大 20 位。';
    }
    else
    {
        if(!RegTest(Element.value, /^[_A-Za-z0-9\u4e00-\u9fa5]{2,20}$/))
        {
            Element.keytype = 'No';
	        Elements.className = 'noteerror';
            Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 字母、数字、特殊符号组成，长度最大 20 位。';
	    }
        else
        {
            requestSimpleService = UserService.getUserNick(Element.value, OnRequestNick);
        }
    }
}

/* 验证用户昵称结果 */
function OnRequestNick(result,result1)
{
    var Element = document.getElementById('nickname');
    var Elements = document.getElementById("nickspan");
    if(result)
    {
        Element.keytype = 'No';
        Elements.className = 'noteerror';
        Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 对不起，该用户昵称已经存在。';
    }
   
    else if(result1 == true ) 
    {
        Element.keytype = 'No';
        Elements.className = 'noteerror';
        Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 对不起，此用户昵称已被系统禁止注册。'; 
    }
    
     else
    {
        Element.keytype = 'Yes';
        Elements.className = 'note';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，该用户昵称可以注册。'; 
    }
}

//用户形象
function checkShowHtml(strValue)
{
    strTime = getDataTime();
    var Element = document.getElementById('UShow');
    var Elements = document.getElementById('ListShow');
    //Element.src = 'UserShow.aspx?sex=' + strValue;
    //加上strTime,解决分页出错问题
    Element.src = 'UserShow.aspx?sex=' + strValue + '&strTime=' + strTime;
    Elements.style.display = 'block';
    checkShow("0");
}

 //获取用户形象
function getShow(strValue)
{
    parent.document.all.zaoxing.value = strValue;
} 


/* 检测密码 */
function checkPW(ActionFlag)
{
    var Element = document.getElementById('password');
    var Elements = document.getElementById("pwspan");
    if(ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 密码由6-20个英文字母或数字组成。';
    }
    else
    {
        if(!RegTest(Element.value, /^[0-9a-zA-Z]{6,20}$/))
        {
            Element.keytype = 'No';
	        Elements.className = 'noteerror';
            Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 密码由6-20个英文字母或数字组成。';
	    }
        else
        {
            Element.keytype = 'Yes';
	        Elements.className = 'note';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，密码检测通过。';
        }  
    }
}

/* 校验密码 */
function checkPWS(ActionFlag)
{
    var Element = document.getElementById('passwrods');
    var Elements = document.getElementById("pwsspan");
    var Elementss = document.getElementById('password');
    //alert(Elementss);
    
    if(Elementss.value.length < 6)
    {
        Elementss.focus();
    }
    else
    {
        if(ActionFlag == 0)
        {
            Element.keytype = 'No';
            Elements.className = 'notetrue';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 密码由6-20个英文字母或数字组成。';
        }
        else
        {
            if(Element.value != Elementss.value)
            {
                Element.keytype = 'No';
                Elements.className = 'noteerror';
                Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 两次输入密码不一至，请重新输入。';
            }
            else
            {
                Element.keytype = 'Yes';
                Elements.className = 'note';
                Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，密码检测通过。';
            }
      }
    }
        
       
}


/* 二级密码 */
function check2PW(ActionFlag)
{
    var Element = document.getElementById('pass2word');
    var Elements = document.getElementById("pws2pan");
    if(Element.value.length > 0)
    {
        if(ActionFlag == 0)
        {
            Element.keytype = 'No';
            Elements.className = 'notetrue';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 二级密码由6-20个英文字母或数字组成。';
        }
        else
        {
            if(!RegTest(Element.value, /^[0-9a-zA-Z]{6,20}$/))
            {
                Element.keytype = 'No';
                Elements.className = 'noteerror';
                Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 二级密码由6-20个英文字母或数字组成。';
            }
            else
            {
                Element.keytype = 'Yes';
                Elements.className = 'note';
                Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，二级密码检测通过。';
            }  
            
        }
     }
        else
        {
            Element.keytype = 'No';
            Elements.className = 'note';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 二级密码为选填项，可以不填写。';
        }
}


/* 校验二级密码 */
function check2PWS(ActionFlag)
{
    var Element = document.getElementById('pass2wrods'); //二次二级密码
    var Elements = document.getElementById("pws2pan2");
    var Elementss = document.getElementById('pass2word'); //第一次二级密码
    //alert(Element);
   if(Elementss.value.length > 0)
    {
//        if(Elementss.value.length < 6)
//        {
//            Elementss.focus();
//        }
//        else
//        {
//            if(ActionFlag == 0)
//            {
//                Element.keytype = 'No';
//                Elements.className = 'notetrue';
//                Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 二级密码由6-20个英文字母或数字组成。';
//            }
//            else
//            {
                if(Element.value != Elementss.value)
                {
                    Element.keytype = 'No';
	                Elements.className = 'noteerror';
                    Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 两次二级输入密码不一至，请重新输入。';
	            }
                else
                {
                    Element.keytype = 'Yes';
	                Elements.className = 'note';
                    Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，二级密码检测通过。';
                }
//            }
//        }
      }
       else
        {
            Element.keytype = 'No';
            Elements.className = 'note';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 二级密码为选填项，可以不填写。';
        }
}

/* 邮箱检测 */
function checkEmail(ActionFlag)
{
    var Element = document.getElementById('email');
    var Elements = document.getElementById("emailspan");
    if(ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 请按正确格填写电子邮箱。';
    }
    else
    {
        if(!RegTest(Element.value, /^[-_A-Za-z0-9]+@([_A-Za-z0-9\u4e00-\u9fa5]+\.)+[A-Za-z0-9]{2,4}$/))
        {
            Element.keytype = 'No';
	        Elements.className = 'noteerror';
            Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 请按正确格填写电子邮箱。';
	    }
        else
        {
            requestSimpleService = UserService.getEmail(Element.value, OnRequestEmail);
        }
    }
}

/* 验证电子邮箱结果 */
function OnRequestEmail(result)
{
    var Element = document.getElementById('email');
    var Elements = document.getElementById("emailspan");
    if(result)
    {
        Element.keytype = 'No';
        Elements.className = 'noteerror';
        Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 对不起，该电子邮箱已被注册。';
    }
    else
    {
        Element.keytype = 'Yes';
        Elements.className = 'note';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，电子邮箱检测通过。'; 
    }
}

/* 检测手机 */
function checkmobile(ActionFlag)
{
    var Element = document.getElementById('mobile');
    var Elements = document.getElementById("mobilespan");
    if(ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 请按正确格填写您的手机号码，例如:13800138000。';
    }
    else
    {
        if(Element.value.length > 0)
        {
            if(!RegTest(Element.value, /^[0-9]{11}$/))
            {
                Element.keytype = 'No';
	            Elements.className = 'noteerror';
                Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 请按正确格填写您的手机号码，例如:13800138000。';
	        }
            else
            {
                Element.keytype = 'Yes';
                Elements.className = 'note';
                Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，手机号码检测通过。'; 
            }
        }
        else
        {
            Element.keytype = 'No';
            Elements.className = 'note';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 手机号码为选填项，可以不填写。';  
        }
    }
}


function checkAddress(ActionFlag)
{
    var Element = document.getElementById('Address');
    var Elements = document.getElementById("addressspan");
    if(ActionFlag == 0)
    {
        Element.keytype = 'No';
        Elements.className = 'notetrue';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/>请正确输入推荐人用户名。';
    }
    else
    {
        //        if(Element.value.length > 0)
        //        {
        //           
        //                Element.keytype = 'Yes';
        //                Elements.className = 'note';
        //                Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，推荐人输入成功。'; 
        //        }
        //        else
        //        {
        //            Element.keytype = 'No';
        //            Elements.className = 'note';
        //            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 没有推荐人，可以不填写。';  
        //        }
        if(Element.value.length > 0)
        {
           if(!RegTest(Element.value, /^[0-9a-zA-Z-_]{5,20}$/))
            {
                Element.keytype = 'No';
	            Elements.className = 'noteerror';
                Elements.innerHTML = '<img src="images/b1.gif" class="regimg"/> 推荐人名称由5-20个英文字母或数字组成。';
	        }
            else
            {
                requestSimpleService = UserService.getAddress(Element.value, OnRequestAddress);
            }
        }
        else
        {
            Element.keytype = 'No';
            Elements.className = 'note';
            Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/>推荐人为选填项，可以不填写。';
        }
    }
}

/* 验证用户名结果 */
function OnRequestAddress(result)
{
    var Element = document.getElementById('address');
    var Elements = document.getElementById("addressspan");
    if(result)
    {
        Element.keytype = 'Yes';
        Elements.className = 'note';
        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 恭喜，该推荐人存在。';
    }
      else
        {
             Element.keytype = 'Yes';
             Elements.className = 'note';
             Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/> 对不起，推荐人不存在。'; 
    //        Element.keytype = 'NO';
    //        Elements.className = 'noteerror';
    //        Elements.innerHTML = '<img src="images/b2.gif" class="regimg"/>请正确填写推荐人用户名。'; 
        }
}



 //显示隐藏

function checkShow(ActionFlag)
{
    var Element = document.getElementById('showspan');
    var Elements = document.getElementById('ListShow');
    if(ActionFlag != 0)
    {
        Element.innerHTML = '<img src="images/dx2.gif" width="206" height="19" border="0" onmouseover="this.src = \'images/dx.gif\';" onmouseout="this.src = \'images/dx2.gif\';" style="cursor: hand;" onclick="checkShow(\'0\');" />';
        Elements.style.display = 'none';
    }
    else
    {
        Element.innerHTML = '<img src="images/dxs2.gif" width="206" height="19" border="0" onmouseover="this.src = \'images/dxs.gif\';" onmouseout="this.src = \'images/dxs2.gif\';" style="cursor: hand;" onclick="checkShow(\'1\');" />';
        Elements.style.display = 'block';
    }
}


/*---------------验证身份证------------------*/
function chkidcard(ActionFlag){
		var txt = document.getElementById('idcard');
        var tip = document.getElementById("spanidcard");
        if(ActionFlag=="1")
        {
			 if(!idcard())
			 {
				txt.keytype="No";
				tip.className="noteerror";
				tip.innerHTML='<img src="images/b1.gif" class="regimg"/> 身份证号无效！';
				return false;
			 }
			 else
			 {
				txt.keytype="Yes";
				tip.className="note";
				tip.innerHTML='<img src="images/b2.gif" class="regimg"/> 恭喜，身份证号通过验证。'; 
				return true;
			 }
		}else{
			tip.keytype="No";
			tip.className="notetrue";
			tip.innerHTML='<img src="images/b2.gif" class="regimg"/> 为了您账户的安全，请填写真实的身份证号码！'
		}
	}   
/*---------------验证身份证格式是否合法------------------*/
function idcard(){
	var vl=document.getElementById("idcard").value;
	var tst=/^\d{18}$|^\d{17}(\d|x|X)$|^\d{15}$/;	
	if(!tst.test(vl)){		//验证是否为18位数字或17为数字+X或15位数字	
		return false;
	}
	if(vl.length==15){			
		var address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
		var sf=vl.substring(0,2);
		if(address.indexOf(sf)==-1){	//省份验证
			//alert("地址错误");
			return false;
		}
		var birth="19"+vl.substr(6,6);
		var year=parseInt("19"+vl.substr(6,2));
		var month=vl.substr(8,2);
		var day=parseInt(vl.substr(10,2));
		if(chkdate(birth,year,month,day)==-1){	//生日的验证
			return false;
		}	
		return true;	
	}
	if(vl.length==18){
		var address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91"; //省份验证
		var sf=vl.substring(0,2);			
		if(address.indexOf(sf)==-1){
			//alert("地址错误");
			return false;
		}
		var birth=vl.substr(6,8);	
		var year=parseInt(vl.substr(6,4));
		var month=vl.substr(10,2);
		var day=parseInt(vl.substr(12,2));
		if(parseInt(year)>2010||parseInt<1900){ //年份范围验证
			//alert("年份错误");
			return false;
		}
		if(chkdate(birth,year,month,day)==-1){	 //生日的验证
			return false;
		}
		var rightcode=new Array("1","0","X","9","8","7","6","5","4","3","2"); //有效校正码
		var heft= new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"); //身份证前17位每位占有权重
		var cardarr=vl.substr(0,17).split("");
		var sum=0;
		for(var i=0;i<17;i++){
			sum+=parseInt(cardarr[i])*parseInt(heft[i]);
		}
		sum=sum%11;
		if(rightcode[sum].toUpperCase()!=vl.substr(17)){
			//alert("校正码错误");
			return false;
		}
	}
	//alert("恭喜您,测试通过");
	return true;
}


/*---------------验证身份证中的生日是否合法------------------*/
function chkdate(birth,year,month,day){
	var bigmonth="01x03x05x07x08x10x12";
	var smallmonth="02x04x06x09x11";	
	if(parseInt(month)>12||parseInt(month)<1){	//验证月份是否合法
		//alert("月份错误");
		return -1;
	}
	/*判断日期是否合法*/
	if(bigmonth.indexOf(month)!=-1){			//月份是大月时
		if(day>31||day<1){
			//alert("日期错误,月大");
			return -1;
		}
	}
	if(smallmonth.indexOf(month)!=-1){			//当月份是小月时
		if(day>30||day<1){
			//alert("日期错误，月小");
			return -1;
		}
	}
	if(month=="02"){							//当月份是2月时
		if((year%4==0&&year%100!=0)||year%400==0){
			if(day>28||day<1){
				//alert("日期错误，二月");
				return -1;
			}
		}else{
			if(day>29||day<1){
					//alert("日期错误，二月平年");
					return -1;
			}
		}
	}
}
 

/* 提交检测 */
function GetPost()
{
    var EleUser = document.getElementById('username');
    if(EleUser.keytype != 'Yes')
    {
        EleUser.focus();
        return false;
    }
    var EleNick = document.getElementById('nickname');
    if(EleNick.keytype != 'Yes')
    {
        EleNick.focus();
        return false;
    }
    var ElePw = document.getElementById('password');
    if(ElePw.keytype != 'Yes')
    {
        ElePw.focus();
        return false;
    }
    var ElePwd = document.getElementById('passwrods');
    if(ElePwd.keytype != 'Yes')
    {
        ElePwd.focus();
        return false;
    }
    var EleCard=document.getElementById('idcard');
    if(EleCard.keytype!='Yes')
    {
		EleCard.focus();
		return false;
    }
//    var ElePwd = document.getElementById('pass2word');
//    if(ElePwd.keytype != 'Yes')
//    {
//        ElePwd.focus();
//        return false;
//    }
//     var ElePwd = document.getElementById('pass2words');
//    if(ElePwd.keytype != 'Yes')
//    {
//        ElePwd.focus();
//        return false;
//    }
    var EleEmail = document.getElementById('email');
    if(EleEmail.keytype != 'Yes')
    {
        EleEmail.focus();
        return false;
    }
     var EleIsaccept = document.getElementById('isaccept');
    if(!EleIsaccept.checked)
    {
        alert("您是否接受协议？");
        EleIsaccept.focus();
        return false;
    }
    var Element = document.getElementById('ImageButtonPost');
    Element.style.display = 'none';
    var EleMsg = document.getElementById('LoadingMsg');
    EleMsg.style.display = 'block';
    return true;

}

