﻿// JavaScript Document
var ErrNum=0;
function CheckUserName(){
	var o=$("UserName");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "用户名不能为空");
		return false;
	}
	var re = /[!@#$%\^&\*\(\)'"]/g; 
	var err = "";
	while ((arr = re.exec(o.value)) != null)
       err += arr;
	if (err != "") {
		SetRegMsg(o, false, "用户名不能含有" + err.replace(/&/g, "&amp;"));
		return false;
	} else if (/ /g.test(o.value)) {
		SetRegMsg(o, false, "用户名不能含有空格");
		return false;
	}
	
	if(! /^.{5,20}$/.test( o.value ) ){
		SetRegMsg(o, false, "用户名长度为5～20个字符");
		return false;
	}
	if(! /^([a-z]|[A-Z])[0-9a-zA-Z_]{4,19}$/.test( o.value ) ){
		SetRegMsg(o, false, "用户名的起始字符必须是英文字母，并且由英文字母a～z(不区分大小写)、数字0～9、下划线组成");
		return false;
	}	
	var IsUserMsg=GetAjax(o.parentNode.parentNode.children[2], "正在检测用户名是否可用……", "ajax.asp","action=CheckUserName&UserName="+ escape(o.value))
	if(IsUserMsg!="True"){
		SetRegMsg(o, false, IsUserMsg);
		return false;
	}
	SetRegMsg(o, true, "恭喜：此用户名可用");
}

function CheckNickName(){
	var o=$("NickName");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "昵称不能为空");
		return false;
	}
	var re = /[!@#$%\^&\*\(\)'"]/g; 
	var err = "";
	while ((arr = re.exec(o.value)) != null)
       err += arr;
	if (err != "") {
		SetRegMsg(o, false, "昵称不能含有" + err.replace(/&/g, "&amp;"));
		return false;
	} else if (/ /g.test(o.value)) {
		SetRegMsg(o, false, "昵称不能含有空格");
		return false;
	}
	if(! /^.{2,20}$/.test( o.value ) ){
		SetRegMsg(o, false, "昵称长度为5～20个字符");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckPassWord(){
	var o=$("TruePassWord");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "密码不能为空");
		return false;
	}
	if (/　/g.test(o.value)) {
		SetRegMsg(o, false, "密码不能含有全角空格");
		return false;
	}	
	if(! /^.{6,20}$/.test( o.value ) ){
		SetRegMsg(o, false, "密码长度为6～20个字符");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckqPassWord(){
	var o=$("qpassword");
	if(o.value==""){
		SetRegMsg(o, false, "确认密码不能为空");
		return false;
	}
	if($("TruePassWord").value!=o.value){
		SetRegMsg(o, false, "两次输入密码不相同");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckAnswer(){
	var o=$("answer");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "密码保护答案不能为空");
		return false;
	}
	if(! /^.{2,20}$/.test( o.value ) ){
		SetRegMsg(o, false, "密码保护答案长度为2～20个字符");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckEmail(){
	var o=$("email");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "电子邮件地址不能为空，本站采用E-Mail验证注册，请填写真实可用E-mail");
		return false;
	}
	if(! /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test( o.value ) ){
		SetRegMsg(o, false, "E-mail格式有误，本站采用E-Mail验证注册，请填写真实可用E-mail");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckComefrom(){
	var o=$("comefrom");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "您来自（国家/城市）不能为空");
		return false;
	}
	if(! /^.{2,20}$/.test( o.value ) ){
		SetRegMsg(o, false, "您来自（国家/城市）长度为4～20个字符");
		return false;
	}
	SetRegMsg(o, true, "");
}
function CheckMsn(){
	var o=$("msn");
	o.value=o.value.trim();
	if(o.value!=""){
		if(! /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test( o.value ) ){
			SetRegMsg(o, false, "MSN格式有误");
			return false;
		}
	}
	SetRegMsg(o, true, "");
}

function CheckQQ(){
	var o=$("qq");
	o.value=o.value.trim();
	if(o.value!=""){
		if(! /^[0-9]{5,12}$/.test( o.value ) ){
			SetRegMsg(o, false, "QQ格式有误");
			return false;
		}
	}
	SetRegMsg(o, true, "");
}

function CheckSex(){
	var o=$("girl");
	if($("boy").checked!=true&&$("girl").checked!=true){
		SetRegMsg(o, false, "请选择性别，谢谢");
		return false;
	}
	SetRegMsg(o, true, "");
}

function CheckCause(){
	var o=$("cause");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "请叙述您和【七仙女】（不少于20字），谢谢");
		return false;
	}
	if(o.value.length<20){
		SetRegMsg(o, false, "不能少于20字，谢谢");
		return false;
	}
	SetRegMsg(o, true, "");
}
function CheckCode(){
	var o=$("checkcode");
	o.value=o.value.trim();
	if(o.value==""){
		SetRegMsg(o, false, "验证码不能为空");
		return false;
	}
	if(! /^[0-9]{4}$/.test( o.value ) ){
		SetRegMsg(o, false, "验证码输入有误");
		return false;
	}
	var IsRightCode=GetAjax(o.parentNode.parentNode.children[2], "正在检测验证码是否正确……", "ajax.asp","action=CheckCode&CheckCodeStr="+ escape(o.value))
	if(IsRightCode!="True"){
		SetRegMsg(o, false, IsRightCode);
		$("checkcodeImg").click();
		return false;
	}
	SetRegMsg(o, true, "");
}

function checkRegForm(o){
	CheckUserName()
	CheckPassWord()
	CheckqPassWord()
	CheckNickName()
	CheckAnswer()
	CheckEmail()
	CheckComefrom()
	CheckMsn()
	CheckQQ()
	CheckCode()
	CheckSex()
	CheckCause()
	if(ErrNum!=0){
		return false;
	}else{
		$("regSubmit").style.display="none";
	}
	
	var Data="action=RegUser&";
	Data+="UserName="+ escape($("UserName").value) 
	Data+="&PassWord="+ escape($("TruePassWord").value) 
	Data+="&sex="+ escape($("sex").value) 
	Data+="&NickName="+ escape($("NickName").value) 
	Data+="&answer="+ escape($("answer").value) 
	Data+="&question="+ escape($("question").value) 
	Data+="&email="+ escape($("email").value) 
	Data+="&comefrom="+ escape($("comefrom").value) 
	if($("msn").value!="") Data+="&msn="+ escape($("msn").value) 
	if($("qq").value!="") Data+="&msn="+ escape($("qq").value) 
	Data+="&checkcodeStr="+ escape($("checkcode").value) 
	Data+="&cause="+ escape($("cause").value) 
	var IsRegSucceed=GetAjax($("RegStateMsg"), "<img src='images/loading.gif' width='65' height='45' align='absmiddle'>正在进行注册程序，请稍后……", "ajax.asp", Data)
	if(IsRegSucceed!="True"){
		$("RegStateMsg").innerHTML=IsRegSucceed;
		alert(IsRegSucceed);
		$("regSubmit").style.display="block";
	}else{
		$("RegStateMsg").innerHTML="注册成功,您的帐号需要登录您的邮箱进行激活操作，如果一个星期内没有激活，将自动删除您注册的帐号";
		window.location.href="Message.asp";
	}
	return false;
}


function SetRegMsg(o, isInputPass, content){
	if(isInputPass==true){
		o.parentNode.parentNode.children[2].innerHTML="<span style=\"color:#99CC99\">√"+ content +"</span>";
		if(ErrNum!=0&&o.IsError==true){
			ErrNum-=1;
			o.IsError=false;
		}
	}else{
		o.parentNode.parentNode.children[2].innerHTML="<img src='images/x.gif' width='15' height='15' align='absmiddle'>"+ content;
		if(o.IsError==undefined||o.IsError==false)ErrNum+=1;
		o.IsError=true;
	}
}