var regName = "";
var regNickName = "";
var regQuest = "";
var regAnswer = "";
var userExists = false;
var emailExists = false;

function setCurrentItem(row_id) {
	document.getElementById("row_user").style.backgroundColor = "";
	document.getElementById("row_pass").style.backgroundColor = "";
	document.getElementById("row_pass_confirm").style.backgroundColor = "";
	document.getElementById("row_sex").style.backgroundColor = "";
	document.getElementById("row_age").style.backgroundColor = "";
	document.getElementById("row_mail").style.backgroundColor = "";
	document.getElementById("row_area").style.backgroundColor = "";
	//document.getElementById("row_yzm").style.backgroundColor = "";
	
	document.getElementById(row_id).style.backgroundColor = "#EDF2F7";
}

function checkUserName(checkExist) {
	var user_name = document.getElementById("User_Account").value.toLowerCase();
	if (regName != user_name) {
		getObject("username_explain").className = "red";
		getObject("recommend_user").style.display = "none";
		
		var pattern=/^[a-zA-Z][a-zA-Z0-9_]{1,14}[a-zA-Z0-9]$/i;
		var patternLastChar = /^[a-zA-Z0-9_]{1,15}_$/i;
		var patternFirstChar = /^[0-9_][a-zA-Z0-9_]{1,14}$/i;
		if (user_name.indexOf("xx", 0) != -1) { // 注册用户名中不能包含xx
			regName = document.form2.User_Account.value;
			getObject("username_explain").innerHTML = '<img src="/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">为防止被部分防火墙屏蔽，用户名中不能带有 xx';
		} else if (user_name.length < 2)	{ // 用户名长度不能小于3
			regName = document.form2.User_Account.value;
			getObject("username_explain").innerHTML = '<img src="/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">用户名不能少于2位';
		} else if (user_name.length > 10) {// 用户名长度不能大于16
			regName = document.form2.User_Account.value;
			getObject("username_explain").innerHTML = '<img src="/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">用户名不能大于14位';
		} else if (patternLastChar.test(user_name)) { // 末字符不能是下划线
			regName = document.form2.User_Account.value;
			getObject("username_explain").innerHTML = '<img src="/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">下划线(_)不能放在末尾';
		}  else {
			if (checkExist) { // 是否检查用户名是否存在
				getObject("username_explain").innerHTML = "正在检查...";
				getObject("username_explain").className = "bd2";
				regName = document.form2.User_Account.value;
				validateUserName();
			} else {
				getObject("username_explain").innerHTML = "只能是最少2位、最大14位的数字或字母或汉字";
				getObject("username_explain").className = "h12";
			}
		}
	} else {
		getObject("username_explain").className = "h12";
	}
}

function userNameFocus() {
	getObject("username_explain").innerHTML = "&nbsp;只能是最少2位、最大14位的数字或字母或汉字(<font color=red>唯一的 不能修改</font>)";
	getObject("username_explain").className = "h12";
}

function sexFocus() {
	getObject("sex_explain").innerHTML = "&nbsp;<span class='red' style='font-weight:bold'>保存后将不可修改</span>";
	getObject("sex_explain").className = "h12";
}

function ageFocus() {
	getObject("age_explain").innerHTML = "&nbsp;请一定选择真实年份，<span class='red' style='font-weight:bold'>保存后将不可修改</span>";
	getObject("age_explain").className = "h12";
}

function userPwdFocus(id) {
	getObject(id).innerHTML =  '&nbsp;密码要至少6位以上';
	getObject(id).className = "h12";
}

function emailFocus() {
	getObject("mail_explain").innerHTML = "<font color=red>(请认真填写你可以使用的信箱，注册以后将无法修改信箱)</font>";
	getObject("mail_explain").className = "h12";
}

function changeAuthCode() {
	var num = 	new Date().getTime();
	var rand = Math.round(Math.random() * 10000);
	num = num + rand;
	document.getElementById("yzm").src = "authCode.php?tag=" + num;
	// 设置唯一标识
	document.getElementById("identifier").value = num;
	
	return false;	
}

function setRecommendUserName(name) {
	userExists = false;
	getObject("User_Account").value = name;
	regName = name;
	getObject("username_explain").innerHTML = "√";
	getObject("username_explain").className = "lv";
	getObject("username_explain").style.color = "green";
    getObject("recommend_user").style.display = "none"; 
}

function checkPassword() {
	var password1 = getObject("User_Password").value;
	var userName = getObject("User_Account").value;
	var password2 = getObject("User_RePassword").value;
	
	var numericPattern = /^[0-9]{1,7}$/i;
	var repeatPattern = /^[\w]*(\w)\1{3,}[\w]*$/i;
	if (password1 == "") {
		getObject("pass_explain").className = "h12";
		getObject("pass_explain").innerHTML = '&nbsp;密码要至少6位以上';
	} else if (password1.indexOf(" ", 0) != -1) {
		getObject("pass_explain").style.color = "red";
		getObject("pass_explain").innerHTML = '<img src="http://ok.wo99.com/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;不能包含空格';
	} else if (password1.length < 6) {
		getObject("pass_explain").style.color = "red";
		getObject("pass_explain").innerHTML = '<img src="http://ok.wo99.com/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;至少要6位以上';
	} else if (numericPattern.test(password1)) {
		getObject("pass_explain").style.color = "black";
		getObject("pass_explain").innerHTML = '&nbsp;最好不要使用7位以下的纯数字，这样容易被人猜到';
	} else if ((password1.indexOf(userName, 0) != -1) && (password1.length - userName.length < 3)) {
		getObject("pass_explain").style.color = "black";
		getObject("pass_explain").innerHTML = '&nbsp;不能和用户名太相似，这样容易被人猜到';
	} else if (repeatPattern.test(password1)) {
		getObject("pass_explain").style.color = "black";
		getObject("pass_explain").innerHTML = '&nbsp;太多连续或重复的字符(如：1234、abcd、3333、ssss等)';
	} else {
		getObject("pass_explain").style.color = "green";
		getObject("pass_explain").innerHTML = "√";
        getObject("pass_explain").className = "lv";
	}
}

function checkPasswordConfirm()
{
	var password1 = getObject("User_Password").value;
	var password2 = getObject("User_RePassword").value;
	
	if (password2 != "") {
		if (password1 != password2) {
			getObject("pass_confirm_explain").innerHTML = '<img src="http://ok.wo99.com/images/x.gif" width="15" height="15" align="absmiddle" /> &nbsp; 与上次输入的密码不一致';
			getObject("pass_confirm_explain").style.color = "red";
		} else if (password2.length > 0) {
			getObject("pass_confirm_explain").innerHTML = "√";
            getObject("pass_confirm_explain").className = "lv";
            getObject("pass_confirm_explain").style.color = "green";
			getObject("pass_explain").innerHTML = "√";
            getObject("pass_explain").className = "lv";
            getObject("pass_explain").style.color = "green";
		}
	}
}

function getObject(id) {
	if (document.getElementById(id)) {
		return document.getElementById(id);
	} else if(document.all) {
		return document.all[id];
	} else if(document.layers) {
		return document.layers[id];
	}
}

function checkMail() {
	var email = getObject("User_Email").value;
	
	if (email.length > 100 || email.length < 8)
	{
		getObject("mail_explain").innerHTML = "<font color=red>mail地址长度太长或太短！</font>";
		return false;
	}
	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 (email.search(re) != -1) {
		getObject("mail_explain").style.color = "green";
		getObject("mail_explain").innerHTML = "√";
		return true;
	}else{
		getObject("mail_explain").innerHTML = "<font color=red>请输入有效合法的E-mail地址！</font>";
		return false;
	}
	return true;
}

/**
 * 检查用户输入的email是否合法，并且是否被其他用户绑定
 */
function spamMail(mail) {
    if (mail == "") {
        emailExists = false;
        return false;
    }
    var oXmlHttp = XHConn();
    var request_url = "/reg/emailCheck.php?email=" + mail + "&id=" + Math.random() * 10000;

    try {
        oXmlHttp.open("GET", request_url, true);
        oXmlHttp.onreadystatechange = function() {
            if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200) {
                var result = oXmlHttp.responseText;
                if (result == 1 || result == 2) {
                    //alert("您输入的邮箱已经被别人使用，请更换一个!推荐使用<a href='http://mail.163.com/' target='_blank' style='text-decoration:underline;color:#0000ff'>163邮箱</a>、<a href='http://mail.cn.yahoo.com/?id=40000' target='_blank' style='text-decoration:underline;color:#0000ff'>yahoo.cn无限容量邮箱</a>");
                    getObject("mail_explain").innerHTML = "<img src='http://ok.wo99.com/images/x.gif' width='15' height='15' align='absmiddle' />推荐使用<a href='http://mail.163.com/' target='_blank' style='text-decoration:underline;color:#0000ff'>163邮箱</a>、<a href='http://mail.cn.yahoo.com/?id=40000' target='_blank' style='text-decoration:underline;color:#0000ff'>yahoo.cn无限容量邮箱</a>";
                    //getObject("User_Email").focus();
                    emailExists = true;
                    return false;
                } else { // 邮件可用
                    emailExists = false;
                }
                return true;
            }
        }
        oXmlHttp.send(null);
    } catch (e) {
        return true;
    }
}

function isMail(mail)  { 
    return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); 
}

function changeProvince() {
	gpm.initCity1(document.getElementById('User_Town'), gpm.getSelValue(document.getElementById('User_Shen')));
	gpm.initCity2(document.getElementById('User_City'), '', '');
}

function changeTown() {
	gpm.initCity2(document.getElementById('User_City'), gpm.getSelValue(document.getElementById('User_Shen')), gpm.getSelValue(document.getElementById('User_Town')));
}

function validateUserName() {
	var oXmlHttp = XHConn();
	var request_url = "userCheck.php?uname=" + regName + "&id=" + Math.random() * 10000;

	try {
		oXmlHttp.open("GET", request_url, true);
		oXmlHttp.onreadystatechange = function() {
			if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200) {
				var tmp = oXmlHttp.responseText.split("|");
				if (tmp[0] == "false") {
					getObject("username_explain").innerHTML = "√"
					getObject("username_explain").className = "lv";
					getObject("username_explain").style.color = "green";
					userExists = false;
				} else if(tmp[0] == "true") {
					userExists = true;
                    getObject("regname_tip").innerHTML = regName;
					getObject("username_explain").innerHTML = "";
                    getObject("recommend_user").style.display = ""; 
					if (tmp.length == 2) {
						var available_user = tmp[1].split(",");
						getObject("user_text_1").innerHTML = available_user[0];
						getObject("user_text_2").innerHTML = available_user[1];
						getObject("user_text_3").innerHTML = available_user[2];
                        getObject("radioname1").checked = false;
                        getObject("radioname2").checked = false;
                        getObject("radioname3").checked = false;
					}
				}
			}
		}
		oXmlHttp.send(null);
	} catch (e) {
		// do nothing
	}
}

function XHConn() {
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) { 
  	    try {
  		    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  	    } catch (e) {
  		    try {
  			    xmlhttp = new XMLHttpRequest();
  		    } catch (e) {
  			    xmlhttp = false;
  		    }
  	    }
    }
  
    return xmlhttp;
}

function trim(obj){
	str = obj.split(/^\s+|\s+$/)[0];
	return str;
}

function check(theform) {
	//检查用户名是否合法：
	//if (!ifusername(theform.User_Account.value)){
	//	theform.User_Account.focus();
	//	return false;
	//}
	//检查邮件地址是否合法：
	if (!isemail(theform.User_Email.value)){
		theform.User_Email.focus();
		return false;
	}
	//检查密码是否为空：
	if (Jtrim(theform.User_Password.value)=="")
	{
		alert("密码不能由空格组成！");
		theform.User_Password.focus();
		theform.User_Password.select();
		return false;
	}
	//检查带*号的项目有没有输入：
	if (theform.User_Account.value=="" || theform.User_Password.value==""|| theform.User_RePassword.value==""|| theform.User_Email.value==""|| theform.User_Nick.value==""|| theform.question.value==""|| theform.answer.value=="") {
		alert("错误! 必须认真填写所有带*标志的项目!");
		return false;
	}
	//检查两次输入的密码是否相同：
	if (theform.User_Password.value!=theform.User_RePassword.value) {
		alert("两次输入的密码必须相同！请重新输入。");
		theform.User_Password.focus();
		theform.User_Password.select();
		return false;
	}
    return true;
}

function isemail(s)	//验证E-MAIL格式函数
{
	if (s.length > 100 || s.length < 8)
	{
		window.alert("E-mail地址长度太长或太短!");
		return false;
	}
	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{
		window.alert ("请输入有效合法的E-mail地址 ！")
		return false;
	}
}

function ifusername(s)	//验证用户名是否非中文的函数
{
	if (s.length > 10 || s.length < 4)
	{
		window.alert("用户名长度太长或太短!");
		return false;
	}
	var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))$"
	var re = new RegExp(regu);
	if (s.search(re) != -1) {
		return true;
	}else{
		window.alert ("请输入有效合法的用户名 ！")
		return false;
	}
}

function Jtrim(str) //去空隔函数
{
	var i = 0;
	var len = str.length;
	if ( str == "" ) return( str );
	j = len -1;
	flagbegin = true;
	flagend = true;
	while ( flagbegin == true && i< len)
	{
		if ( str.charAt(i) == " " ){
			i=i+1;
			flagbegin=true;
		}else{
			flagbegin=false;
		}
	}
	while (flagend== true && j>=0)
	{
		if (str.charAt(j)==" "){
			j=j-1;
			flagend=true;
		}else{
			flagend=false;
		}
	}

	if ( i > j ) return ("")

	trimstr = str.substring(i,j+1);
	return trimstr;
}

function encodeParse(obj) {
    if ((obj == null) || (obj.value == "")) {
    	return false;
    }
    var str = obj.value;
    var result = "";
    for(var i = 0; i < str.length; i++) {
        var c = str.charCodeAt(i);
        if(c == 12288) {
            result += String.fromCharCode(32);
            continue;
        }
        if (c > 65280 && c < 65375) {
            result += String.fromCharCode(c - 65248);
            continue;
        }
        result += String.fromCharCode(c);
    }
    obj.value = result;
    
    return true;
}

function CharMode(iN) {  
	if (iN>=48 && iN <=57) {
		return 1;
	}
	
	if (iN>=65 && iN <=90) {
		return 2; 
	}
	
	if (iN>=97 && iN <=122) {
		return 4; 
	} else  {
		return 8;
	}
}  

function bitTotal(num) {  
	var modes=0;  
	for (i = 0; i < 4; i++) {  
		if (num & 1) {
			modes++; 
		}
		num>>>=1;  
	}
	return modes;  
}  

function checkStrong(sPW){  
	if (sPW.length<=4) {
		return 0;
	}
	var Modes = 0;
	for (i = 0; i < sPW.length; i++) {
		Modes |= CharMode(sPW.charCodeAt(i));
	} 
	
	return bitTotal(Modes);  
}



function checkUserNick(checkExist) {
	var nick_name = document.getElementById("User_Nick").value.toLowerCase();
	if (regNickName != nick_name) {
		getObject("username_explain_nick").className = "red";
		getObject("recommend_user_nick").style.display = "none";
		
		var pattern=/[#&*.\/?;\'\"\<]/;
		if (nick_name.length < 2)	{ // 用户名长度不能小于2
			regNickName = document.form2.User_Nick.value;
			getObject("username_explain_nick").innerHTML = '<img src="http://pic.51.com/i/uc/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">中文用户名不能少于2个汉字';
		} else if (nick_name.length > 10) {// 用户名长度不能大于10
			regNickName = document.form2.User_Nick.value;
			getObject("username_explain_nick").innerHTML = '<img src="http://pic.51.com/i/uc/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">中文用户名不能大于10个汉字';
		} else if (pattern.test(nick_name)) { // 不能含有 #&*.\/?;'\"\<
			regNickName = document.form2.User_Nick.value;
			getObject("username_explain_nick").innerHTML = '<img src="http://pic.51.com/i/uc/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">不能含有 #&*.\/?;\'\"\<';
		}   else {
			if (checkExist) { // 是否检查用户名是否存在
				getObject("username_explain_nick").innerHTML = "正在检查...";
				getObject("username_explain_nick").className = "bd2";
				regNickName = document.form2.User_Nick.value;
				validateUserNick();
			} else {
				getObject("username_explain_nick").innerHTML = "最少2个、最大10个的中文";
				getObject("username_explain_nick").className = "h12";
			}
		}
	} else {
		getObject("username_explain_nick").className = "h12";
	}
}

function userNickFocus() {
	getObject("username_explain_nick").innerHTML = "最好使用你常用的中文名字 如<font color=red>马甲(不能含有 #&*.\/?;'\"\< ) 唯一的 不能修改</font>";
	getObject("username_explain_nick").className = "h12";
}

function validateUserNick() {
	var oXmlHttp = XHConn();
	var request_url = "userCheck.php?nname=" + regNickName + "&id=" + Math.random() * 10000;

	try {
		oXmlHttp.open("GET", request_url, true);
		oXmlHttp.onreadystatechange = function() {
			if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200) {
				var tmp = oXmlHttp.responseText.split("|");
				if (tmp[0] == "false") {
					getObject("username_explain_nick").innerHTML = "√"
					getObject("username_explain_nick").className = "lv";
					getObject("username_explain_nick").style.color = "green";
					userExists = false;
				} else if(tmp[0] == "true") {
					userExists = true;
					getObject("username_explain_nick").innerHTML = "";
                    getObject("recommend_user_nick").style.display = ""; 
				}
			}
		}
		oXmlHttp.send(null);
	} catch (e) {
		// do nothing
	}
}

function userNickFocus() {
	getObject("username_explain_nick").innerHTML = "最好使用你常用的中文名字 如<font color=red>马甲(不能含有 #&*.\/?;'\"\< ) 唯一的 不能修改</font>";
	getObject("username_explain_nick").className = "h12";
}

function userQuestFocus() {
	getObject("quest_explain").innerHTML = "&nbsp;<span class=red>请填写密码保护问题！</span>";
	getObject("quest_explain").className = "h12";
}
function checkQuest(checkExist) {
	var ques_tion = document.getElementById("question").value.toLowerCase();
	if (regQuest != ques_tion) {		
		if (ques_tion.length < 3)	{ // 不能小于3
			regQuest = document.form2.question.value;
			getObject("quest_explain").innerHTML = '<img src="http://pic.51.com/i/uc/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">密码保护问题不能少于3个汉字</span>';
		} else { 
			regQuest = document.form2.question.value;
			getObject("quest_explain").innerHTML = "√";
			getObject("quest_explain").className = "lv";
			getObject("quest_explain").style.color = "green";
		}
	}
}

function userAnswerFocus() {
	getObject("answer_explain").innerHTML = "&nbsp;<span class=red>请填写密码保护答案！</span>";
	getObject("answer_explain").className = "h12";
}
function checkAnswer(checkExist) {
	var ans_wer = document.getElementById("answer").value.toLowerCase();
	if (regAnswer != ans_wer) {		
		if (ans_wer.length < 2)	{ // 不能小于2
			regAnswer = document.form2.answer.value;
			getObject("answer_explain").innerHTML = '<img src="http://pic.51.com/i/uc/x.gif" width="15" height="15" align="absmiddle" /> &nbsp;<span class="red">密码保护问题不能少于2个汉字</span>';
		} else { 
			regAnswer = document.form2.answer.value;
			getObject("answer_explain").innerHTML = "√";
			getObject("answer_explain").className = "lv";
			getObject("answer_explain").style.color = "green";
		}
	}
}