var g_path = "";
function InitPath(v_path)
{
	g_path = v_path;
}

function body_onload()
{
	if(!window.ActiveXObject)
		document.getElementById("scriptXmlHttp").src = g_path+"../js/xmlhttprequest.js";
		
	ResetSubmitFlag();
}

function AjaxRequest(v_url)
{
	var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	xmlHTTP.open("POST", v_url, false);
	xmlHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHTTP.send("");

	return xmlHTTP.responseText;
}

function openWindow(v_url, v_name, v_features)
{
	window.open(v_url, v_name, v_features);
}

// 显示输入框上方的错误提示
function SpanAlert(v_id, v_msg)
{
	var obj = document.getElementById(v_id);
	if (obj==null || obj.innerHTML==null)
		return;

	if(v_msg==null || v_msg=="")
		v_msg = "";
	else
		v_msg = v_msg + "<BR>";

	obj.innerHTML = v_msg;
}

// 显示右侧帮助框
function DisplayHelp(v_idx)
{
	if (document.getElementById("help1")!=null)	document.getElementById("help1").style.display = "none";
	if (document.getElementById("help2")!=null) document.getElementById("help2").style.display = "none";
	if (document.getElementById("help3")!=null) document.getElementById("help3").style.display = "none";
	//document.getElementById("help4").style.display = "none";

	var obj = document.getElementById("help" + v_idx);
	if (v_idx>0 && obj!=null)
		obj.style.display = "";
}

// 显示推荐对话框
function DisplayRecommendDlg(v_dis, v_step)
{
	document.getElementById("login").style.visibility  = "hidden";
	document.getElementById("tbFloatWait").style.display = "none";
	document.getElementById("tbFloatMain").style.display = "none";

	if (v_dis)
	{
		document.getElementById("login").style.visibility  = "visible";

		if (v_step == 1)
			document.getElementById("tbFloatWait").style.display = "";
		else
			document.getElementById("tbFloatMain").style.display = "";
	}
}

// 检查通行证是否存在
function isExistPtid()
{
	//if (!CheckPtid())
	//	return false;

	var sPtid = document.getElementById("username").value;
	var sSid = (document.getElementById("sessionid")!=null)?document.getElementById("sessionid").value:"";
	var url = "/RegisterNew/ExistPtid.aspx?username="+sPtid+"&sid="+sSid+"&new=1";
	var sRet = AjaxRequest(url);

	if(sRet.indexOf("EXIST") >= 0)
		return true;
	else
		return false;
}

// 点击检查通行证按钮
function RecommendPtid()
{
	if (!CheckPtid())
		return false;

	DisplayRecommendDlg(true, 1);

	var sPtid = document.getElementById("username").value;
	var sSid = (document.getElementById("sessionid")!=null)?document.getElementById("sessionid").value:"";
	var sFrom = document.getElementById("txtRegisterFrom").value;
	var url = "/RegisterNew/GetRecommendUsername.aspx?username="+sPtid+"&sid="+sSid+"&from="+sFrom;
	var sRet = AjaxRequest(url);
	SpanAlert("desc", sRet);

	if(sRet.indexOf("[RECOMMENDED]") >= 0)
	{
		DisplayRecommendDlg(true, 2);
		DealRecommendFloat(sRet);
	}
	else if(sRet.indexOf("CONGRATULATIONS") >= 0)
	{
		DisplayRecommendDlg(false);
		SpanAlert("errPtid", "恭喜您，这个帐号还没有被注册！");
		return true;
	}
	else
	{
		DisplayRecommendDlg(false);
		SpanAlert("errPtid",  "该通行证已存在，请重新选择合适的盛大通行证。建议在通行证后加后缀来尝试，比如加上您的生日："+sPtid+"0828，或是您的电话区号：" +sPtid+"021，或是您所在地区的邮编："+sPtid+"201203！");
	}

	return false;
}

// 显示推荐的用户名
function DealRecommendFloat(v_ret)
{
	v_ret = v_ret.replace("[RECOMMENDED]", "");
	var arrRet = v_ret.split(",");
	var recname1 = arrRet[0];
	var recname2 = arrRet[1];
	var sdidname = arrRet[2];

	document.getElementById("hidRecName001").value = GetDescryptedUserName(recname1);
	document.getElementById("hidRecName002").value = GetDescryptedUserName(recname2);
	document.getElementById("hidRecRule001").value = GetUserNameCreateReasonNum(recname1);
	document.getElementById("hidRecRule002").value = GetUserNameCreateReasonNum(recname2);

	document.getElementById("trname0").style.display = "none";
	document.getElementById("trname1").style.display = "none";
	document.getElementById("trname2").style.display = "none";

	if(recname1 != "")
	{
		document.getElementById("trname1").style.display = "";
		document.getElementById("floatname1").innerHTML = GetDescryptedUserName(recname1);
		document.getElementById("floatnameDesc1").innerHTML = "　（" + GetUserNameCreateReason(recname1) + "）";
	}

	if(recname2 != "")
	{
		document.getElementById("trname2").style.display = "";
		document.getElementById("floatname2").innerHTML = GetDescryptedUserName(recname2);
		document.getElementById("floatnameDesc2").innerHTML = "　（" + GetUserNameCreateReason(recname2) + "）";
	}

	if(sdidname!="" && sdidname!="0[0]")
	{
		var sdid = GetDescryptedUserName(sdidname);
		document.getElementById("trname0").style.display = "";
		document.getElementById("floatname0").innerHTML = sdid+".sdo";
		document.getElementById("floatnameDesc0").innerHTML = "　（" + GetUserNameCreateReason(sdidname) + "）";

		document.getElementById("regsdid").value = sdid;
		document.getElementById("chksdid").value = "false";
	}

	document.getElementById("floatUserName").innerHTML = document.getElementById("username").value;
	document.getElementById("radioname1").checked = true;
	document.getElementById("customname").value = "";
	document.getElementById("customname").disabled = true;
}

// 点击推荐单选按钮
function ClickRadioName()
{
	if (document.getElementById("radioname0").checked)
		document.getElementById("chksdid").value = "true";
	else
		document.getElementById("chksdid").value = "false";

	if(document.getElementById("radioname3").checked)
		document.getElementById("customname").disabled = false;
	else
		document.getElementById("customname").disabled = true;
}

// 点击推荐对话框“确认”按钮
function AcceptRecname()
{
	DisplayRecommendDlg(false);
	var type = GetCheckedRadio("radioname").value;

	switch(type)
	{
		case "0":
			sPtid = document.getElementById("floatname0").innerHTML;
			document.getElementById("username").disabled = true;
			document.getElementById("check").disabled = true;
			break;

		case "1":
			sPtid = document.getElementById("floatname1").innerHTML;
			break;

		case "2":
			sPtid = document.getElementById("floatname2").innerHTML;
			break;

		case "3":
			sPtid = document.getElementById("customname").value;
			document.getElementById("username").value = sPtid;
			RecommendPtid();
			return;

		default:
			return;
	}

	document.getElementById("username").value = sPtid;
}

// 点击推荐好友注册
function OnChkRecEmail()
{
	if (document.getElementById("chkRecommend").checked)
	{
		document.getElementById("tbOptionRec").style.display = "";
		document.getElementById("txtEmailFrom").value = document.getElementById("username").value;
	}
	else
		document.getElementById("tbOptionRec").style.display = "none";
}

function OnMoreEmail(v_idx)
{
	if(v_idx == 1)
	{
		for (i=2; i<=5; i++)
		{
			if(document.getElementById("trEmailTo"+i).style.display == "none")
			{
				document.getElementById("trEmailTo"+i).style.display = "";
				break;
			}
		}
	}
	else
	{
		document.getElementById("txtEmailTo"+v_idx).value = "";
		document.getElementById("trEmailTo"+v_idx).style.display = "none";
		SpanAlert("errEmailTo"+v_idx, "");
	}
}

function CheckEmailTo(v_idx)
{
	var reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
	var sEmail = trim(document.getElementById("txtEmailTo"+v_idx).value);
	document.getElementById("txtEmailTo"+v_idx).value = sEmail;

	if (!reg.test(sEmail))
		SpanAlert("errEmailTo"+v_idx, "请输入有效邮箱地址！");
	else
		SpanAlert("errEmailTo"+v_idx, "");
}

// 冠军账号 2008-8-18 到 2008-8-31
function CheckPtidFor2008()
{
	var lvNow=new Date();
	var lvStartDate=new Date();
	var lvEndDate=new Date();
	lvStartDate.setFullYear(2008,7,18);
	lvStartDate.setHours(0);
	lvStartDate.setMinutes(0);
	lvStartDate.setSeconds(0);
	lvStartDate.setMilliseconds(1);

	lvEndDate.setFullYear(2008,7,31);
	lvEndDate.setHours(23);
	lvEndDate.setMinutes(59);
	lvEndDate.setSeconds(59);
	lvEndDate.setMilliseconds(999);
	
	return (lvNow>lvStartDate && lvNow<lvEndDate);
}

// 检查用户输入
function CheckPtid()
{
	var sPtid = trim(document.getElementById("username").value);
	var sSdid = document.getElementById("regsdid").value;
	var sChkSdid = document.getElementById("chksdid").value;
	var sFrom = document.getElementById("txtRegisterFrom").value;

	if (sChkSdid=="true" && sPtid==(sSdid+".sdo"))
		return true;
		
	//alert(sPtid.substr(sPtid.length-6, 5));
	if (sFrom=="1" && sPtid.length>5 && sPtid.substr(sPtid.length-6, 6)==".woool")
		return true;
	if (sFrom=="4" && sPtid.length>4 && sPtid.substr(sPtid.length-5, 5)==".mir2")
		return true;
		
	if(sPtid.length>4 && sPtid.substr(sPtid.length-5, 5)==".2008")
	{
		return CheckPtidFor2008();		
	}  		
	
	//document.getElementById("username").value = sPtid.toLowerCase();

	var objDesc = "errPtid";
	SpanAlert(objDesc, "");

	if (sPtid == "")
	{
		SpanAlert(objDesc, "请键入您想要注册的盛大通行证！");
		return false;
	}

	var reg = /^[a-z0-9]{4,16}$/i;
	if (!reg.test(sPtid))
	{
		SpanAlert(objDesc, "用户名长度为4-16位小写字母及数字！");
		return false;
	}

	reg = /^[a-z]{1}/i;
	if (!reg.test(sPtid))
	{
		SpanAlert(objDesc, "用户名必须以小写字母开头！");
		return false;
	}

	return true;
}

function CheckPassword()
{
	var sValue = trim(document.getElementById("password").value);
	document.getElementById("password").value = sValue;

	var objDesc = "errPassword";
	SpanAlert(objDesc, "");

	if (sValue == "")
	{
		SpanAlert(objDesc, "请输入您的密码！");
		return false;
	}

	var reg = /^[A-Za-z0-9]{4,10}$/i;
	if (!reg.test(sValue))
	{
		SpanAlert(objDesc, "密码长度必须为4-10位，由数字或英文字母组成（不区分大小写）！");
		return false;
	}

	var sValue1 = trim(document.getElementById("password").value);
	var sValue2 = trim(document.getElementById("repassword").value);
	if (sValue2 == "")
	{
		SpanAlert(objDesc, "请再次输入您的密码！");
		//document.getElementById("repassword").focus();
		return false;
	}

	//if (sValue1.toLowerCase() != sValue2.toLowerCase())
	if (sValue1 != sValue2)
	{
		SpanAlert(objDesc, "两次密码输入不一致，请再次输入您的密码！");
		return false;
	}

	DisplayHelp(0);
	return true;
}

function CheckExcode()
{
	var sValue = trim(document.getElementById("attcode2").value);
	document.getElementById("attcode2").value = sValue;

	var objDesc = "errExcode";
	SpanAlert(objDesc, "");

	if (sValue == "")
	{
		SpanAlert(objDesc, "请输入验证码！");
		return false;
	}

	var reg = /^\d{6}$/i;
	if (!reg.test(sValue))
	{
		SpanAlert(objDesc, "验证码必须为6个数字！");
		return false;
	}

	return true;
}

function CheckForm(v_ignore)
{
	if (!v_ignore)
		v_ignore = 0;

	if (!CheckPassword())
	{
		alert("请正确输入密码，并确保您两次输入的密码一致！");
		document.getElementById("password").focus();
		return false;
	}

	if (!CheckExcode())
	{
		alert("请正确输入验证码！");
		document.getElementById("attcode2").focus();
		return false;
	}

	if (!CheckPtid() && (v_ignore&0x01)==0)
	{
		alert("请正确输入盛大通行证帐号！");
		document.getElementById("username").focus();
		return false;
	}

	if (isExistPtid() && (v_ignore&0x02)==0)
	{
		alert("该通行证帐号已存在！");
		document.getElementById("username").focus();
		return false;
	}

	var obj = document.getElementById("submitflag");
	if (obj != null)
	{
		if (obj.value == "0")
			obj.value = "1";
		else
			return false;
	}

	var sFrom=document.getElementById("txtRegisterFrom").value;
	if(sFrom=="91")
	{
		//防沉迷身份证检查
		var obj = document.getElementById("ProtectName");
		if (obj!=null && !CheckUsername2(obj.value))
		{
			alert("您的真实姓名未填或者不规范！");
			obj.focus();
			return false;
		}

		obj = document.getElementById("ProtectIdcard");	
		if (obj!=null && !CheckIdcard3(obj.value))
		{
			alert("您的身份证号码未填或者不规范！");
			obj.focus();
			return false;
		}
	}

	return true;
}

function CheckForm2(v_ignore)
{
	if (!v_ignore)
		v_ignore = 0;

	if (!CheckPassword())
	{
		alert("请正确输入密码，并确保您两次输入的密码一致！");
		document.getElementById("password").focus();
		return false;
	}

	//防沉迷身份证检查
	//var obj = document.getElementById("realname");
	var obj = document.getElementById("ProtectName");
	if (obj!=null && !CheckUsername2(obj.value))
	{
		alert("您的真实姓名未填或者不规范！");
		//document.getElementById("realname").focus();
		obj.focus();
		return false;
	}

	//obj = document.getElementById("idcard");
	obj = document.getElementById("ProtectIdcard");	
	if (obj!=null && !CheckIdcard3(obj.value))
	{
		alert("您的身份证号码未填或者不规范！");
		//document.getElementById("idcard").focus();
		obj.focus();
		return false;
	}

	if (!CheckExcode())
	{
		alert("请正确输入验证码！");
		document.getElementById("attcode2").focus();
		return false;
	}

	if (!CheckPtid() && (v_ignore&0x01)==0)
	{
		alert("请正确输入盛大通行证帐号！");
		document.getElementById("username").focus();
		return false;
	}

	if (isExistPtid() && (v_ignore&0x02)==0)
	{
		alert("该通行证帐号已存在！");
		document.getElementById("username").focus();
		return false;
	}

	return true;
}

function CheckPwdLength(v_event)
{
	var key = v_event.keyCode;
	if (key==8 || key==46)
	{
		SpanAlert("errPassword", "");
		return;
	}

	var pwd = myGetValueById("password");
	if (GetStrLen(pwd) >= 10)
	{
		SpanAlert("errPassword", "你试图输入超长密码，盛大通行证的密码长度应为4-10个字符！");
	}
	else
	{
		SpanAlert("errPassword", "");
	}
}

function CheckPwdLength2(v_event)
{
	var key = v_event.keyCode;
	if (key==8 || key==46)
	{
		return;
	}

	var pwd = myGetValueById("password");
	if (GetStrLen(pwd) >= 10)
	{
		alert("你试图输入超长密码，盛大通行证的密码长度应为4-10个字符！");
	}
}

function onBlurRealname()
{
	//var bRet = CheckUsername2(document.getElementById("realname").value);
	var obj = document.getElementById("ProtectName");
	if (obj==null)
	{
			return;		
	}
	var bRet = CheckUsername2(obj.value);
	if (!bRet)
		SpanAlert("errRealname", "您的真实姓名未填或者不规范！");
	else
		SpanAlert("errRealname", "");
}

function onBlurIdcard()
{	
	//var bRet = CheckIdcard3(document.getElementById("idcard").value);
	var obj = document.getElementById("ProtectIdcard");
	if (obj==null)
	{
			return;		
	}
  var bRet = CheckIdcard3(obj.value);
	if (!bRet)
		SpanAlert("errIdcard", "您的身份证号码未填或者不规范！");
	else
		SpanAlert("errIdcard", "");
}

function OpenNewWindow(v_type)
{
	window.open(g_path+"pop_7.asp", "", "width=650,height=300");
}

function ResetSubmitFlag()
{
	var obj = document.getElementById("submitflag");
	if (obj != null)
	{
		obj.value = "0";
	}
	
	//alert(obj.value);
	timerID = setTimeout("ResetSubmitFlag()", 2000);
}