var validatedInfo		= "<font color='#999999'>填写正确。</font>";
var requireErrorInfo	= "<font color='#ff0000'>此项为必填项。</font><br>";
var msgInfo	= new Array();
msgInfo[0]	= new Array('5-20个字符(包括小写字母、数字)<br><font color=red>昵称，用于管理维护网站,也是您登陆网站的唯一帐号。</font>',
'<span >您的填写有误。</span>帐号5-20个字符(包括字母、数字)。',
'<img src="/images/pic_error.gif">&nbsp;&nbsp;对不起,此<font color=red>帐号</font>已经存在!',
'<img src="/images/pic_error.gif">&nbsp;&nbsp;验证失败!!',
'<img src="/images/pic_error.gif">&nbsp;&nbsp;网站的空间不足了，不能注册了!!');
msgInfo[1]	= new Array('密码由6-12个英文字母(区分大小写)或数字组成：a-z;A-Z;0-9的字母数字组合。',
'您设置的密码有误。密码由6-12个英文字母(区分大小写)或数字组成。');
msgInfo[2] = new Array('请再输入一遍您上面填写的密码。','两次输入的密码不一致！请再输入一遍您上面填写的密码。');
msgInfo[3] = new Array('为了业务需要，请填写真实有效信息。','单位名称不能少于5个字');
msgInfo[4] = new Array('单位名称是你网站实名的标志，你以后可以利用实名到达您的网站。','实名的名称不可少于3个字。');
msgInfo[5] = new Array('联系人为网站的联系管理人员，有什么通知就通知您。','联系人的名字必须是2个或两个以上的字。');
msgInfo[6] = new Array('一旦注册成功，不可自行修改。','姓名(英文)只能是英文字母、数字！');
msgInfo[7] = new Array('例如：1980-10-10','您填写的出生日期有错误！');
msgInfo[8] = new Array('一旦注册成功，并且是您网站所有权的身份认证之一。','您填写的身份证号码的格式有错误！');
msgInfo[9] = new Array('给您开具发票时，此项为付款单位或个人。');
msgInfo[10] = new Array('<FONT color=red>非常重要</FONT>：请填写您常用电子邮件，密码丢失、通知都会发往该邮箱。');
msgInfo[11] = new Array('格式：区号电话号分机号。','号码不小于7个数字,请填写您的电话号码，我们将拨打这个电话来与您联络，包括业务到期前的电话提醒等。');
msgInfo[12] = new Array('请正确填写推荐人的帐号,没有人推荐,不要填写,帐号如:tling');
msgInfo[13] = new Array('网站说明填写不够完整，说明字数不少于5个。');
msgInfo[14] = new Array('请正确填写手机号码，手机将是你重要的认证工具。','手机号码为11位的数字。');
msgInfo[15] = new Array('填写您的联系地址。','输入不少于5个字，请填写您现在的通信地址，并保证能够收到信件，我们会将业务到期通知信和发票邮寄到这个地址。');
msgInfo[16] = new Array('填写您的邮政编码。','邮政编码为6位数字。');
msgInfo[17] = new Array('填写您的网址。','正确的网址是以http://开头，如“http://www.infoser.cn”。');
msgInfo[18] = new Array('按旁边图片内的字符填写，如果看不清楚请刷新页面','验证码填写不对，其仔细观察后再填写。');
msgInfo[19] = new Array('<img src="/images/pic_right.gif">&nbsp;&nbsp;恭喜你，此昵称未被使用!');

var xmlHttp;
var userid=false;

function Info_Check(){

	if (!Customer_autocheck('Customer')){
		document.getElementById("CustomerID").focus();
		return false;
	}

	if(!trans_check('translatedID')){
		document.getElementById("translated").focus();
		return false;
	}

	if(!cname_check("c1_name_gid")){
		document.getElementById("c1_name_g").focus();
		return false;
	}

	if(!password_check('PWDID')){
		document.getElementById("PWD").focus();
		return false;
	}

	if(!PasswordAffirm_check('PWDCID')){
		document.getElementById("PWDC").focus();
		return false;
	}

	if(!Trim_check('c_name_gid')){
		document.getElementById("c_name_g").focus();
		return false;
	}

	if(!Description_check('Descriptionid')){
		document.getElementById("Description").focus();
		return false;
	}
	
	if(!email1_check('email1id')){
		document.getElementById("email1").focus();
		return false;
	}
	
	if(!handtel_check('handtelid')){
		document.getElementById("handtel").focus();
		return false;
	}
	if(!personal_check('personalid')){
		document.getElementById("personal").focus();
		return false;
	}
	
	if(!tel_check('telid')){
		document.getElementById("tel").focus();
		return false;
	}
	
	if(!fax_check('faxid')){
		document.getElementById("fax").focus();
		return false;
	}
	
	if(!address_check('addressid')){
		document.getElementById("address").focus();
		return false;
	}
	
	if(!post_check('postid')){
		document.getElementById("post_id").focus();
		return false;
	}
	if(!company_check('c_name_mid')){
		document.getElementById("c_name_m").focus();
		return false;
	}
	
	if(!RealName_check('RealNameid')){
		document.getElementById("RealName").focus();
		return false;
	}
	
	if(!WebAddress_check('url2id')){
		document.getElementById("url2").focus();
		return false;
	}
	
	if(!rndimg_check('Vimage')){
		document.getElementById("rndimg").focus();
		return false;
	}
	
	if (!document.mainform.agree.checked)
	{			  
		window.alert("只有阅读并接受协议，才能注册成为会员!");
		return false;
	}
	document.mainform.submit();
	return true;
}
///////////////////
function Customer_autocheck(infobox){
	if (document.getElementById("CustomerID1").value!="YES"){
		formErr(infobox,"昵称长度不符和规定，昵称长度5-20个字符！！");
		return false;
	}
	return true;
}
function Customer_check(infobox){
	document.getElementById("CustomerID1").value="NO";
	var str =document.mainform.CustomerID.value;
	if (nocn(infobox)) return false;
	if(!ValidateUserName(str,infobox)) return false;
	showHint(document.mainform.CustomerID.value);
	return true;
}
//判断输入的不能是中文
function nocn(infobox){
	for(i=0;i<document.getElementById("CustomerID").value.length;i++){
		var c = document.getElementById("CustomerID").value.substr(i,1);
		var ts = escape(c);
		if(ts.substring(0,2) == "%u"){
			formErr(infobox,"这里不能输入中文/全角字符");
			return true;
		}
	}
	return false;
}
function ValidateUserName(argValue,infobox) 
{
  var flag1=true;
  errInfo="";
  if(argValue.length<5||argValue.length>20)
  {	
	formErr(infobox,"昵称长度不符和规定，昵称长度5-20个字符！！");
    flag1=false;
  }
  else
  {
    var compStr="~`!*()+=[]{};':\"<>?,.//\\| ";
    var length2=argValue.length;
    for (var iIndex=0;iIndex<length2;iIndex++)
    {
      var temp1=compStr.indexOf(argValue.charAt(iIndex));
      if(temp1>=0) 
      {
        errInfo=errInfo+argValue.charAt(iIndex);
        flag1=false;
      }
    }
    if(!flag1) formErr(infobox,"您的昵称中包含非法字符：\n" +errInfo);
  }
  return flag1;
}
//网站名称检查
function cname_check(infobox){
	var str =Trim(document.mainform.c1_name_g.value);
	if ( str=="" || str.length <2){
		formErr(infobox,msgInfo[5][1]);
		return false;
	}	
	formSucc(infobox);
	return true;
}
//验证密码是否有效
function password_check(infobox){
	var str =Trim(document.mainform.PWD.value);
	if (str.length<6 || str.length > 12 || !isEnKongPWD(str)) {
		formErr(infobox,msgInfo[1][1]);
		return false;
	}
	formSucc(infobox);
	return true;
}
//判断输入密码的是不是合法的字符的函数2
function isEnKongPWD(argValue) {
	var flag1=false;
	var compStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-1234567890";
	var length2=argValue.length;

	for (var iIndex=0;iIndex<length2;iIndex++){
		var temp1=compStr.indexOf(argValue.charAt(iIndex));
		if(temp1==-1) {
				flag1=false;
				break;							
			}
		else
			flag1=true;
	}
	return flag1;
}

//验证第二次密码是否有效 
function PasswordAffirm_check(infobox){
	with (document.mainform) {
		if (Trim(PWD.value) != PWDC.value) {
			formErr(infobox,msgInfo[2][1]);
			return false;
		}
	}
	formSucc(infobox);
	return true;
}
//推荐帐号检查
function trans_check(infobox){
	var ls =Trim(document.getElementById("translated").value);
	if (ls=="") return true;
	var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
	if (patrn.exec(ls)) {
		formErr(infobox,msgInfo[12][0]);
		return false;
	}
	formSucc(infobox);
	return true;
}
//联系人检测
function Trim_check(infobox){
	with (document.mainform) {
		var str =Trim(c_name_g.value);
		if ( str=="" || str.length <2){
			formErr(infobox,msgInfo[5][1]);
			return false;
		}	
		formSucc(infobox);
	}
	return true;
}
//公司名称检测
function company_check(infobox){
	/*with (document.mainform) {
		var str =Trim(c_name_m.value);
		if ( str=="" || str.length <3){
			formErr(infobox,msgInfo[3][1]);
			return false;
		}	
		formSucc(infobox);
	}
	*/
	return true;
}

//网站实名检测
function RealName_check(infobox){
	var str =Trim(document.mainform.RealName.value);
	if (str=="" ) return true;
	if ( str.length <3){
		formErr(infobox,msgInfo[4][1]);
		return false;
	}	
	formSucc(infobox);
	return true;
}

//网站说明检测
function Description_check(infobox){
	with (document.mainform) {
		if (Trim(Description.value) =="" || Description.value.length <6){
			formErr(infobox,msgInfo[13]);
			return false;
		}	
		formSucc(infobox);
	}
	return true;
}
//邮箱确认
function email1_check(infobox){
	with (document.mainform) {
		if (Trim(email1.value) == ""){
			formErr(infobox,requireErrorInfo);
			return false;
		}
		if (!emailCheck(email1.value,infobox)) 
			return false;
	}
	formSucc(infobox);
	return true;
}
//手机验证
function handtel_check(infobox){
	var ls =Trim(document.getElementById("handtel").value);
	if (ls == ""){
		formErr(infobox,requireErrorInfo);
		return false;
	}
	if(ls != ""){
		if(isNaN(ls) || ls.length != 11){
			formErr(infobox,msgInfo[14][1]);
			return false;
		}
		formSucc(infobox);
	}
	return true;
}
//http:check
function WebAddress_check(infobox){
	var testr=Trim(document.mainform.url2.value);
	if (testr=="")	return true;
	var urlpatern = /^http:\/\/.+$/i;
	if(!urlpatern.test(testr)){
		formErr(infobox,msgInfo[17][1]);
		return false;
	}
	formSucc(infobox);
	return true;
}
/*校验出生日期与身份证号码中的出生日期是否一致*/
function personal_check(infobox) {
	with (document.mainform) {
		var re;
		var strt =Trim(personal.value);
		if (strt.length == 0 ){
			formErr(infobox,requireErrorInfo);
			return false;
		}
		switch (strt.length) {
			case 15: {
				re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
				break;
			}
			case 18: {
				re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
				break;
			}
			default:{
				formErr(infobox,"输入的位数不正确。");
				return false;
			}
		}
		var ss =strt.substr(0,14);
		if(isNaN(ss) ){
			formErr(infobox,'您输入的证件编号不对，请仔细检查。');
			return false;
		}
		var a = strt.match(re);
		if (a != null){
			if (strt.length==15){
				var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
				var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
			}
			else{
				var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
				var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
			}
			if (!B) {
				formErr(infobox,"您输入身份证编号的有误，检查是否输入错误。");
				return false;
			}
		}
		formSucc(infobox);
	}
	return true;
}
//检验电话
function tel_check(infobox){
	var lsstr =Trim(document.mainform.tel.value);
	if(lsstr=="")	{
		formErr(infobox,msgInfo[11][1]);
		return false;
	}
	if(isNaN(lsstr))	{
		formErr(infobox,"电话号码应为数字！");
		return false;
	}
	if(lsstr.length <7){
		formErr(infobox,"电话号码位数不对！");
		return false;
	}
	formSucc(infobox);
	return true;
}
function fax_check(infobox){
	var lsstr =Trim(document.mainform.fax.value);
	if(lsstr=="") 
		return true;
	else if(isNaN(lsstr)){
		formErr(infobox,"传真号码应为数字！");
		return false;
	}
	formSucc(infobox);
	return true;
}
//通讯地址确认
function address_check(infobox){
	var lsstr =Trim(document.mainform.address.value);
	if (lsstr==""){
		formErr(infobox,requireErrorInfo);
		return false;
	}
	if(lsstr.length <6){
		formErr(infobox,msgInfo[15][1]);
		return false;
	}
	formSucc(infobox);
	return true;
}
//通讯邮编确认
function post_check(infobox){
	with (document.mainform) {
		var lsstr =Trim(post_id.value);
		if (lsstr=="") {
			formErr(infobox,requireErrorInfo);
			return false;
		}
		if(isNaN(lsstr) || lsstr.length !=6) {
			formErr(infobox,msgInfo[16][1]);
			return false;
		}
		formSucc(infobox);
	}
	return true;
}

function stateImages() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") 
		document.getElementById("Vimage").innerHTML= xmlHttp.responseText ;
	else
		return false;
	return true;
} 
//剔除两边的空格
function Trim(info)
{
	return info.replace(/(^\s*)|(\s*$)/g, "");
}
//点击提示
function formEle(infobox,errormsg){
	document.getElementById(infobox).innerHTML= errormsg;
	document.getElementById(infobox).className = "ss1";
}

//错误提示
function formErr(infobox,errormsg){
	document.getElementById(infobox).innerHTML="<img src='/images/pic_error.gif' width='12' height='12'>&nbsp;&nbsp;" + errormsg;
	document.getElementById(infobox).className = "ss2";
}

//正确提示
function formSucc(infobox){
	document.getElementById(infobox).innerHTML="<img src='/images/pic_right.gif'>&nbsp;&nbsp;" + validatedInfo;
	document.getElementById(infobox).className = "";
}

/*判断Email是否合法的函数*/
function emailCheck(emailStr,infobox)
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var emailPat=/^(.+)@(.+)$/;
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null){
		formErr(infobox,"邮件地址错误！ (请检查@ 和 .)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++){
		if (user.charCodeAt(i)>127){
			formErr(infobox,"邮件包含非法字符！");
			return false;
		}
	}
	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			formErr(infobox,"邮件包含非法字符！");
			return false;
		}
	}
	if (user.match(userPat)==null){
		formErr(infobox,"邮箱不存在！");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null){
		for (var i=1;i<=4;i++){
			if (IPArray[i]>255){
				formErr(infobox,"IP地址不正确！");
				return false;
			}
		}
		return true;
	} 
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++){
		if (domArr[i].search(atomPat)==-1)
		{
			formErr(infobox,"您输入的邮件域名不正确！");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1){
		formErr(infobox,"邮件地址必须是已知域名或是两个字母 " + "国家。");
		return false;
	}
	if (len<2){
		formErr(infobox,"这个邮件地址没有主机名！");
		return false;
	}
	return true;
}
function showHint(str){ 
	if (str.length > 0)
	{ 
		Customer.innerHTML="验证昵称....";
		var url="/checkuser.aspx?account=" + document.getElementById("account").value + "&Customer=" + str
		xmlHttp=GetXmlHttpObject(stateChanged)
		xmlHttp.open("GET", url , true)
		xmlHttp.send(null)
	} 
	else
		document.getElementById("Customer").innerHTML=""
} 

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
		if (xmlHttp.responseText =="true"){
			document.getElementById("Customer").innerHTML= msgInfo[19];
			document.getElementById("CustomerID1").value= "YES";
		}
		else if(xmlHttp.responseText =="false"){
			document.getElementById("Customer").innerHTML=msgInfo[0][2];
			document.getElementById("Customer").className = "ss2";
			return false;
		}
		else if(xmlHttp.responseText =="nodiskspace"){
			document.getElementById("Customer").innerHTML=msgInfo[0][4];
			document.getElementById("Customer").className = "ss2";
			return false;
		}
		else  {
			document.getElementById("Customer").innerHTML=msgInfo[0][3];
			document.getElementById("Customer").className = "ss2";
			return false;
		}
	} 
	else
		return false;

	return true;
} 

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null;

	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This example doesn't work in Opera") ;
		return; 
	}
	if (navigator.userAgent.indexOf("MSIE")>=0){ 
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
			strName="Microsoft.XMLHTTP";
		try{ 
			objXmlHttp=new ActiveXObject(strName);
			objXmlHttp.onreadystatechange=handler;
			return objXmlHttp;
		} 
		catch(e){ 
			alert("Error. Scripting for ActiveX might be disabled");
			return ;
		} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0){
		objXmlHttp=new XMLHttpRequest();
		objXmlHttp.onload=handler;
		objXmlHttp.onerror=handler ;
		return objXmlHttp;
	}
}
//验证码确认
function rndimg_check(infobox){
	with (document.mainform) {
		var ls =Trim(rndimg.value);
		if(ls ==""){
			formErr(infobox,requireErrorInfo);
			return false;
		}
		var lsy =GetCookie("VerifyCode");
		if (ls.toLowerCase()!=lsy.toLowerCase()){
			formErr(infobox,"您输入的数字或字母，与图中显示的不一致，请重新填写！");
			return false;
		}
	}
	formSucc(infobox);
	return true;
}
//获得Cookie的原始值
function GetCookie(name){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen){
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return GetCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
//获得Cookie解码后的值
function GetCookieVal(offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}  
