var base64DecodeChars = new Array(
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
    52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
    -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,
    15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
    -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
    41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

function base64decode(str) {
    var c1, c2, c3, c4;
    var i, len, out;
    len = str.length;
    i = 0;
    out = "";
    while(i < len) {
    /* c1 */
    do {
        c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
    } while(i < len && c1 == -1);
    if(c1 == -1) {
    	break;
    }
    /* c2 */
    do {
        c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
    } while(i < len && c2 == -1);
    if(c2 == -1) {
        break;
    }
    out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
    /* c3 */
    do {
        c3 = str.charCodeAt(i++) & 0xff;
        if(c3 == 61)
        return out;
        c3 = base64DecodeChars[c3];
    } while(i < len && c3 == -1);
    if(c3 == -1) {
        break;
    }
    out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
    /* c4 */
    do {
        c4 = str.charCodeAt(i++) & 0xff;
        if(c4 == 61)
        return out;
        c4 = base64DecodeChars[c4];
    } while(i < len && c4 == -1);
    if(c4 == -1) {
        break;
    }
    out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
    }
    return out;
} 

function del_yq_s2mCookie()
{
	if (confirm('提示：使用本受邀信箱注册，参与群组（或活动）、与邀请人成为朋友，一步到位。确定更换吗？')) {
		var arrCookie = document.cookie.split(';');
		for(var i=0;i<arrCookie.length;i++) {
			var arrName = arrCookie[i].split('=');
			if(arrName[0].indexOf('yq_s2m') != -1) {
				var cookieValue = unescape(base64decode(arrName[1]));
				var emailValue = $('mail').value;
				if(cookieValue.indexOf(emailValue) != -1) {
					var date = new Date();
					date.setTime(date.getTime()-10000);
					document.cookie = arrName[0] + "=0;expires=" + unescape(date.toGMTString());
					window.location = window.location.href;
					break;
				}
			} else {
				
			}
		}
	}
}

//去掉左右空格
function trim(s)
{
	return s.replace(/(^[\s|　]*)|([\s|　]*$)/g,"");
}
function getstrsize(src, strType)
{
	var ret = 0;
	for(var i = 0;i < src.length;i ++)
	if(strType == "w")
		ret += (src.charCodeAt(i) > 255) ? 1 : 0.5;
	else
		ret += (src.charCodeAt(i) > 255) ? 2 : 1;
	return parseFloat(ret);
}
function CheckEmail(Field)
{
   // there must be >= 1 character before @, so we
   // start looking at character position 1
   // (i.e. second character)
   var i = 1;
   var len = Field.length;
	if (len > 50)
	{
		return false;
	}
	pos1 = Field.indexOf("@");
	pos2 = Field.indexOf(".");
	pos3 = Field.lastIndexOf("@");
	pos4 = Field.lastIndexOf(".");
	//check '@' and '.' is not first or last character
	if ((pos1 <= 0)||(pos1 == len-1)||(pos2 <= 0)||(pos2 == len-1))
	{
		return false;
	}
	else
	{
		//check @. or .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)
		  || ( pos1 != pos3 )  //find two @
		  || ( pos4 < pos3 ) ) //. should behind the '@'
		{
			return false;
		}
	}
	return true;
}

function login_check()
{
	var oEmail = $("email");
	var strEmail = oEmail.value;
	var oPassword = $("pwd");
	var strPassword = oPassword.value;
	if(trim(strEmail)=="" || trim(strPassword)=="")
	{
		var error = escape("请填写邮箱和密码！");
		window.location = "/login.php?ty=e&error="+error;
	}
	else
		$("loginsubmit").submit();
}

function add_check()
{
	var oText = document.getElementById('content');
	var nSize = getstrsize(trim(oText.value),"b");
	if(nSize == 0)
	{
		showerror("请输入叽歪内容！");
		oText.focus();
		return false;
	}
	else if(nSize > 280)
	{
		showerror("叽歪内容不能超过140字！");
		oText.focus();
		return false;
	}
	else
		$('formpublic').submit();
}

function actlogin_check()
{
	var oEmail = $("email");
	var strEmail = oEmail.value;
	var oPassword = $("pwd");
	var strPassword = oPassword.value;
	if(trim(strEmail)=="" || trim(strPassword)=="")
	{
		showerror("请填写邮箱和密码");
		oUsername.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}

function startjiwai()
{//启用叽歪
	document.getElementById("tab").value="startjiwai";
	document.getElementById("addjiwai").submit();
}

function canceljiwai()
{//取消叽歪
	document.getElementById("tab").value="canceljiwai";
	document.getElementById("addjiwai").submit();
}

function deljiwai(id)
{//删除叽歪
	if(confirm("确定要删除吗？"))
	{
		document.getElementById("id").value=id;
		document.getElementById("delform").submit();
	}
}

function setreceive1(webServer)
{
	var oCheck;
	var strValue;
	oCheck = document.getElementsByName("setreceive");
	for (i = 0;i < oCheck.length;i ++)
	{
		if(oCheck[i].checked)
			strValue = oCheck[i].value;
	}
	var url = webServer + "editaccount.php?t=ch&action=setreceive&recvalue="+ strValue;
		var mailAjax = new Ajax.Request
							(
							    url,
							    {
							        method: 'get',
							        onComplete: setreceiveResponse
							    }
							);
}
function setreceiveResponse(originalRequest)
{
	var oChk = document.getElementById("chk");
	if(trim(originalRequest.responseText) == "OK")
	{
		showerror("设置成功!",true);
		oChk.focus();
	}
	else
	{
		showerror("设置失败!");
		oChk.focus();
	}
}

function selectradio()
{
	var oChk = document.getElementById("chkdiv");
	if(oChk)
	{
		oChk.style.display = 'none';
		$("chk").innerHTML = "";
	}
}

function del_account(webServer,tabid,actionid)
{
	var url = webServer + "editaccount.php?t="+ tabid +"&action="+ actionid;
	var mailAjax = new Ajax.Request
							(
							    url,
							    {
							        method: 'get',
							        onComplete: del_accountResponse
							    }
							);
}
function del_accountResponse(originalRequest)
{
	if(trim(originalRequest.responseText) == "OK")
	{
		window.location = webServer + "editaccount.php?t=h";
	}
	else if(trim(originalRequest.responseText) == "DOK")
	{
		window.location = webServer + "editaccount.php?t=ch";
	}
	else
	{

	}
}

function handsetbind_check()
{
	//add by zys 08.05.13 验证输入的手机号的正确性




	var oHandsetNumber = $("handset");
	var strHandsetNumber = trim(oHandsetNumber.value);
	var nSize = getstrsize(trim(strHandsetNumber),"b");
	if(nSize == 0 || strHandsetNumber == "请输入您的手机号码")
	{
		showerror("请输入手机号码！");
		oHandsetNumber.focus();
		return false;
	}
	if((nSize>0 && nSize!=11) || !/^[0-9]*$/.test(strHandsetNumber))
	{
		showerror("手机号输入有误，请确认后重新输入！");
		oHandsetNumber.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}

function qq_check(webServer)
{
	//add by zys 08.05.13 验证输入的qq帐号的正确性


	var oQqNumber = $("qq");
	var strQqNumber = trim(oQqNumber.value);
	var nSize = getstrsize(trim(strQqNumber),"b");
	if(nSize == 0 || strQqNumber == "请输入您的QQ帐号")
	{
		showerror("请输入QQ帐号");
		oQqNumber.focus();
		return false;
	}
	if(!/^[0-9]*$/.test(strQqNumber))
	{
		showerror("QQ帐号输入有误，请确认后重新输入！");
		oQqNumber.focus();
		return false;
	}
	else
		$("qqsubmit").submit();
}

function msn_check()
{
	//add by zys 08.05.13 验证输入的msn帐号的正确性


	var oMsn = $("msn");
	var strMsn = trim(oMsn.value);
	var nSize = getstrsize(trim(strMsn),"b");
	if(nSize == 0 || strMsn == "请输入您的MSN帐号")
	{
		showerror("请输入MSN帐号");
		oMsn.focus();
		return false;
	}
	if(!CheckEmail(strMsn))
	{
		showerror("MSN帐号输入有误，请确认后重新输入！");
		oMsn.focus();
		return false;
	}
	else
		$("msnsubmit").submit();
}

function gtalk_check()
{
	//add by zys 08.05.13 验证输入的msn帐号的正确性


	var oGtalk = $("gtalk");
	var strGtalk = trim(oGtalk.value);
	var nSize = getstrsize(trim(strGtalk),"b");
	if(nSize == 0 || strGtalk == "请输入您的Gtalk帐号")
	{
		showerror("请输入Gtalk帐号");
		oGtalk.focus();
		return false;
	}
	if(!CheckEmail(strGtalk))
	{
		showerror("Gtalk帐号输入有误，请确认后重新输入！");
		oGtalk.focus();
		return false;
	}
	else
		$("gtalksubmit").submit();
}

function edit_name()
{
	var oUsername = $("username");
	var strUsername = oUsername.value;
	oUsername.value = trim(strUsername);
	var nSize = getstrsize(trim(strUsername),"b");
	var oChkcode = $("chkcode");
	var strChkcode = oChkcode.value;
	if(nSize<4||nSize>10)
	{
		showerror("真实姓名输入有误，请确认后重新输入！");
		oUsername.focus();
		return false;
	}
	else if(trim(strChkcode)=="")
	{
		showerror("请输入验证码！");
		oChkcode.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}
function edit_account()
{
	var oMail = $("mail");
	var strMail = oMail.value;
	oMail.value = trim(strMail);
	var nSize = getstrsize(trim(strMail),"b");
	var oChkcode = $("chkcode");
	var strChkcode = oChkcode.value;
	if(strMail.indexOf(" ")>-1||strMail==""||!CheckEmail(strMail))
	{
		showerror("邮箱输入有误，请确认后重新输入！");
		oMail.focus();
		return false;
	}
	else if(trim(strChkcode)=="")
	{
		showerror("请输入验证码！");
		oChkcode.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}
function edit_pwd()
{
	var oOldpwd = $("oldpwd");
	var strOldpwd = oOldpwd.value;
	var oPwd1 = $("pwd1");
	var strPwd1 = trim(oPwd1.value);
	var oPwd2 = $("pwd2");
	var strPwd2 = oPwd2.value;
	nSize = getstrsize(trim(strOldpwd),"b");
	var npwd1Size = getstrsize(strPwd1,"b");
	var oChkcode = $("chkcode");
	var strChkcode = oChkcode.value;
	if(nSize<4||nSize>20)
	{
		showerror("旧密码输入有误，请确认后重新输入！");
		oOldpwd.focus();
		return false;
	}
	else if(npwd1Size<4||npwd1Size>20 || !/^[a-zA-Z0-9_]*$/.test(strPwd1)||strPwd1=="")
	{
		showerror("新密码输入有误，请确认后重新输入！");
		oPwd1.focus();
		return false;
	}
	else if(strPwd1!=strPwd2)
	{
		showerror("两次输入密码不一致，请确认后重新输入！");
		oPwd2.focus();
		return false;
	}
	else if(trim(strChkcode)=="")
	{
		showerror("请输入验证码！");
		oChkcode.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}
function edit_weburl()
{
	var oUrl1 = $("url1");
	var strUrl1 = trim(oUrl1.value);
	var oUrl2 = $("url2");
	var strUrl2 = trim(oUrl2.value);
	nSize = getstrsize(trim(strUrl1),"b");
	var oChkcode = $("chkcode");
	var strChkcode = oChkcode.value;
	if(nSize<4||nSize>20 || !/^[a-zA-Z0-9]*$/.test(strUrl1))
	{
		showerror("个人网址输入有误，请确认后重新输入！");
		oUrl1.focus();
		return false;
	}
	else if(strUrl1!=strUrl2)
	{
		showerror("两次输入个人网址不一致，请确认后重新输入！");
		oUrl2.focus();
		return false;
	}
	else if(trim(strChkcode)=="")
	{
		showerror("请输入验证码！");
		oChkcode.focus();
		return false;
	}
	else
		$("loginsubmit").submit();
}
function open_web()
{
	$("loginsubmit").submit();
}
function close_web()
{
	var oForm = $("loginsubmit1");
	$("uid2").value=$("uid").value;
	$("chkcode2").value=$("chkcode").value;
	oForm.submit();
}

//register
function check_register()
{
	var ret1 = check_register_name();
	var ret2 = check_register_email();
	var ret3 = check_register_passwd();
	var ret4 = check_register_repasswd();
	var ret5 = check_register_address();
	//var ret6 = check_register_chcode();
	var ret = ret1 && ret2 && ret3 && ret4 && ret5;
	if(ret)
		$("registersubmit").submit();
	else
		return ret;
}
function setmsg(id, msg, bright)
{
	var omsg = $(id);
	if(omsg)
	{
		if(bright)
		{
			omsg.className = "regok";
			omsg.innerHTML = "&nbsp;";
		}
		else
		{
			omsg.innerHTML = "<font class=\"font-opt\">" + msg + "</font>";
			omsg.className = "regno";
		}
	}
}
function check_register_name()
{
	var ret  = true;
	var oname = $("name");
	if(oname)
	{
		var sname = oname.value;
		oname.value = trim(sname);
		var nsize = getstrsize(oname.value,"b");
		if(nsize<4 || nsize>10)
		{
			oname.focus();
			ret = false;
		}
		var msg = "名字请用2-5个汉字：）";
		setmsg("namemsg", msg, ret);
	}
	return ret;
}

function check_register_email()
{
	var ret = true;
	var omail = $("mail");
	if(omail)
	{
		var smail = trim(omail.value);
		if(smail.length <= 0 || !CheckEmail(smail))
		{
			omail.focus();
			ret = false;
		}
		var msg = "邮箱格式有误，如：nihao@163.com";
		setmsg("mailmsg", msg, ret);
	}
	return ret;
}

function check_register_passwd()
{
	var ret  = true;
	var opwd = $("passwd");
	if(opwd)
	{
		var spwd = trim(opwd.value);
		var nsize = getstrsize(spwd,"b");
		if(!/^[a-zA-Z0-9_]*$/.test(spwd)|| nsize<4 || nsize>20)
		{
			opwd.focus();
			ret = false;
		}
		var msg = "密码格式有误，请用4-20个英文、数字或下划线";
		setmsg("pwdmsg", msg, ret);
	}
	return ret;
}

function check_register_repasswd()
{
	var ret  = true;
	var opwd1 = $("passwd");
	var opwd2 = $("passwd2");
	if(opwd1 && opwd2)
	{
		var spwd1 = trim(opwd1.value);
		var spwd2 = trim(opwd2.value);
		var msg = "";
		if(spwd1 != spwd2   ||  trim(spwd2).length <=0)
		{
			opwd2.focus();
			ret =  false;
			msg = "两次密码不一致，请核实";
		}
		var nsize = getstrsize(spwd2,"b");
		if(!/^[a-zA-Z0-9_]*$/.test(spwd2)|| nsize<4 || nsize>20)
		{
			opwd2.focus();
			ret = false;
			var msg = "密码格式有误，请用4-20个英文、数字或下划线";
		}
		setmsg("repwdmsg", msg, ret);
	}
	return ret;
}
function check_register_address()
{
	var ret = true;
	var oprov = $("homeProvince2");
	var ocity = $("homeCityCode2");

	if((trim(oprov.value)=="") || (trim(ocity.value)==""))
	{
		oprov.focus();
		ret = false;
	}
	var msg = "请选择完整地址";
	setmsg("addressmsg", msg, ret);
	return ret;
}
function check_register_chcode()
{
	var ret = true;
	var ovcode = $("chkcode");
	if(ovcode && trim(ovcode.value)=="")
	{
		//ovcode.focus();
		ret = false;
	}
	var msg = "验证码有误，再试试";
	setmsg("vcodemsg", msg, ret);
	return ret;
}
function btncontrol()
{
	if($("chkservice").checked==false)
	{
		$("regbtn").disabled=true;
		$("regbtn").style.color="gray";
	}
	else
	{
		$("regbtn").disabled=false;
		$("regbtn").style.color="#FFFFFF";
	}
}
function setAddress(val)
{
	if(val==1)
	{
		$("homeProvince2").disabled=true;
		$("homeProvince2").value="";
		$("homeCityCode2").disabled=true;
		$("homeCityCode2").value="";
//		$("postcode").disabled=false;
		$("addressmsg").innerHTML = "";
		$("addressmsg").className = "left";
	}
	else
	{
		$("homeProvince2").disabled=false;
		$("homeCityCode2").disabled=false;
//		$("postcode").disabled=true;
//		$("postcode").value="";
//		$("postcodemsg").innerHTML = "";
//		$("postcodemsg").className = "left";
	}
}
function contact_check()
{
	var errorinfo="";
	var oMsn = $("msn");
	var strMsn = trim(oMsn.value);
	var oMp = $("mobilephone");
	var strMp = trim(oMp.value);
	var nSizeMp = getstrsize(trim(strMp),"b");
	var nSizeMsn = getstrsize(strMsn,"b");
	var oLp = $("landphone");
	var strLp = trim(oLp.value);

	if(nSizeMsn>0)
	{
		if(!CheckEmail(strMsn))
		{
			showerror("MSN输入有误，请确认后重新输入！");
			return false;
		}
		else
		{
			$("contactsubmit").submit();
		}
	}
	else if((nSizeMp>0 && nSizeMp!=11) || !/^[0-9]*$/.test(strMp))
	{
		errorinfo="移动电话号码输入有误，请确认后重新输入！";
		showerror(errorinfo);
		return false;
	}
	else if(!CheckTel(strLp))
	{
		errorinfo="固定电话号码输入有误，请确认后重新输入！";
		showerror(errorinfo);
		return false;
	}
	else
		$("contactsubmit").submit();
}
function CheckTel(Field)
{
	//Telephone NO. can contain '-' or '数字'
	//'-' can't be the first or end of the Telephone NO.
	var len = Field.length;
	if(len > 0)
	{
		var reg = /^([0-9]+)((-)?|(-)[0-9]+(-))([0-9]+)$/;
		return reg.test(Field);
	}
	else
	{
		return true;
	}
}
function checkselfData()
{
	if (trim($("y").value)=="")
	{
		showerror("请你选择生日");
		return false;
	}
	if(trim($("homeProvince2").value)=="" || trim($("homeCityCode2").value)=="" )
	{
		showerror("请输入居住地");
		return false;
	}
}
function checkhightdegree()
{
	if (trim($("hightdegree").value)=="")
	{
		showerror("请你选择最高学历");
		return false;
	}
}

