﻿			var __XmlHttpPool__ = 
			{ 
			m_MaxPoolLength : 10, 
			m_XmlHttpPool : [], 
		     
			__requestObject : function() 
			{ 
				var xmlhttp = null; 
				var pool = this.m_XmlHttpPool; 
				for ( var i=0 ; i < pool.length ; ++i ) 
				{ 
					if ( pool[i].readyState == 4 || pool[i].readyState == 0 ) 
					{ 
						xmlhttp = pool[i]; 
						break; 
					} 
				} 
				if ( xmlhttp == null ) 
				{ 
					return this.__extendPool(); 
				} 
				return xmlhttp; 
			}, 
		     
			__extendPool : function() 
			{ 
				if ( this.m_XmlHttpPool.length < this.m_MaxPoolLength ) 
				{ 
					var xmlhttp = null; 
					try 
					{ 
						xmlhttp = new ActiveXObject('MSXML2.XMLHTTP'); 
					} 
					catch(e) 
					{ 
						try 
						{ 
							xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 
						} 
						catch(e2) {} 
					} 
					if ( xmlhttp ) 
					{ 
						this.m_XmlHttpPool.push(xmlhttp); 
					} 
					return xmlhttp; 
				} 
			}, 
		     
			GetRemoteData : function(url, callback) 
			{ 
				this.__receiveRemoteData(url, callback, 'GET', null); 
			}, 
		     
			PostRemoteData : function(url, callback, data) 
			{ 
				this.__receiveRemoteData(url, callback, 'POST', data); 
			}, 
		     
			__receiveRemoteData : function(url, callback, httpmethod, data) 
			{ 
				var xmlhttp = this.__requestObject(); 
				if ( !xmlhttp ) 
				{ 
					return null; 
				} 
				xmlhttp.open(httpmethod, url, true); 
				xmlhttp.onreadystatechange = function() 
				{ 
					if ( xmlhttp.readyState == 4 || xmlhttp.readyState == 'complete' ) 
					{ 
						callback(xmlhttp.responseText); 
					} 
				}; 
				xmlhttp.send(data); 
			} 
		}; 

		var profile_username_toolong = '用户名超过 20 个字符。';
		var profile_username_tooshort = '用户名小于3个字符。';
		var profile_username_pass = "可用";
		var cansub=true;
		function checkusername(code) 
		{	
			var unlen = code.replace(/[^\x00-\xff]/g, "**").length;

			if(unlen < 3 || unlen > 20) {
				document.getElementById("usernameErr").innerHTML = (unlen < 3 ? profile_username_tooshort : profile_username_toolong);
				return;
			}
			
			var url = document.location.href;
			var data;	
			url = url.substring(0,url.lastIndexOf("en"))+"Common/ajax.aspx?types=username&code="+code;
			__XmlHttpPool__.PostRemoteData(url, RenderUsermsg, data);
		}
		
		function RenderUsermsg(string) 
		{
			if (string) 
			{ 
				var xmlStates =string;				
				var objXmlDom = new ActiveXObject("Microsoft.XMLDOM");
				if (!objXmlDom.loadXML(xmlStates))
				{
					var sErr = "读取ＸＭＬ数据出错";
					alert(sErr);
				}
				else
				{
					var nodes = objXmlDom.selectNodes("/errors/error");		
					var resContainer = document.getElementById("usernameErr");
					if(nodes[0].text=="")
					{
						resContainer.innerHTML=profile_username_pass;
					}
					else
					{
						resContainer.innerHTML = nodes[0].text+"。";
					}
			
				}				 
			} 
		}
		
		function checkemail(code) 
		{	
			var url = document.location.href;
			var data;				
			url = url.substring(0,url.lastIndexOf("en"))+"Common/ajax.aspx?types=email&code="+code;	
			__XmlHttpPool__.PostRemoteData(url, RenderEmailmsg, data);
		}
		
		function RenderEmailmsg(string) 
		{
			if (string) 
			{ 
				var xmlStates =string;				
				var objXmlDom = new ActiveXObject("Microsoft.XMLDOM");
				if (!objXmlDom.loadXML(xmlStates))
				{
					var sErr = "读取ＸＭＬ数据出错";
					alert(sErr);
				}
				else
				{
					var nodes = objXmlDom.selectNodes("/errors/error");		
					var resContainer = document.getElementById("emailErr");
					if(nodes[0].text=="")
						resContainer.innerHTML=profile_username_pass;
					else
					{
						resContainer.innerHTML = nodes[0].text+"。";
					}
			
				}				 
			} 
		}
		function checkPWD()
		{
			var obj1 =document.getElementById("password");
			var obj2 =document.getElementById("password2");
			if(obj1.value!="" && obj2.value!="")
			{
				if(obj1.value!=obj2.value)
				{
					document.getElementById("pwdErr").innerHTML="密码不一致！";
					cansub=false;
				}
				else
				{
					document.getElementById("pwdErr").innerHTML="";
				}	
			}
		}
		//验证电话号码是否填写正确
		function chkTel()
		{
			var phone=document.getElementById('phone');
			document.getElementById('phoneErr').innerHTML="";
			if(phone.value!='')
			{
				if(phone.value.search(/^\+?[0-9]+\-?[0-9]+$/gi) < 0)  //Regex.IsMatch(tmpphone, @"^[\d|-]+$")
				{
					document.getElementById('phoneErr').innerHTML="电话号码不正确！";
					cansub=false;
				}
			}
		}
		//验证手机号码是否正确
		function chkmobile()
		{
			var mobile=document.getElementById('mobile');
			document.getElementById('mobileErr').innerHTML="";
			if(mobile.value!='')
			{
				if(mobile.value.search(/^(13\d{9}|15[3|8|9]\d{8})$/gi) < 0)
				{
					document.getElementById('mobileErr').innerHTML="手机号码不正确！";
					cansub=false;
				}
			}
		}
		
		
		function chkpostcode()
		{
			var postcode=document.getElementById('postcode');
			document.getElementById('postcodeErr').innerHTML="";
			if(postcode.value!='')
			{
				if (postcode.value.length!=6 || isNaN(postcode.value))
				{
					document.getElementById('postcodeErr').innerHTML="邮编不正确！";
					cansub=false;
				}
			}	
		}
		function chkidcard()
		{
			var idcard=document.getElementById('idcard');
			document.getElementById('idcardErr').innerHTML="";
			if(idcard.value!='')
			{
				if(idcard.value.search(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/gi) < 0)
				{
					document.getElementById('idcardErr').innerHTML="身份证不正确！";
					cansub=false; 
				}
			}
		}
		
		function chkbday()
		{
			var bday_y=document.getElementById('bday_y');
			var bday_m=document.getElementById('bday_m');
			var bday_d=document.getElementById('bday_d');
			var today=new Date();
			var nowYear=today.getFullYear();
			document.getElementById('bdayErr').innerHTML="";
			if(bday_y.value==''&&bday_m.value==''&&bday_d.value=='')
				document.getElementById('bdayErr').innerHTML="";
			else if(bday_y.value!=''&&bday_m.value!=''&&bday_d.value!='')
			{
				
				if (bday_y.value<1920||bday_y.value>nowYear||bday_y.value.length!=4 || isNaN(bday_y.value))
				{
					document.getElementById('bdayErr').innerHTML="年份不对！";
					cansub=false;
				}
				if (isNaN(bday_m.value)||parseInt(bday_m.value)<1||parseInt(bday_m.value)>12)
				{
					document.getElementById('bdayErr').innerHTML+=" 月份不对！";
					cansub=false;
				}
				if (isNaN(bday_d.value)||bday_d.value<1||bday_d.value>31)
				{ 
					document.getElementById('bdayErr').innerHTML+="日期不对！";
					cansub=false;
				}
			}
			else
			{
				document.getElementById('bdayErr').innerHTML="年月日要同时填!";
				if (bday_y.value!=''&&(bday_y.value<1920||bday_y.value>nowYear||bday_y.value.length!=4 || isNaN(bday_y.value)))
				{
					document.getElementById('bdayErr').innerHTML+=" 年份不对！";
					cansub=false;
				}
				if (bday_m.value!=''&&(isNaN(bday_m.value)||parseFloat(bday_m.value)<1||parseFloat(bday_m.value)>12))
				{
					document.getElementById('bdayErr').innerHTML+=" 月份不对！";
					cansub=false;
				}
				if (bday_d.value!=''&&( isNaN(bday_d.value)||parseFloat(bday_d.value)<1||parseFloat(bday_d.value)>31))
				{ 
					document.getElementById('bdayErr').innerHTML+="日期不对！";
					cansub=false;
				}
				cansub=false;
			}
		}
		
		
		function isBadWord(name)
		{
			var badwords = '妈的|你妈|妈b|妈比|fuck|shit|我日|法轮';
			if (badwords.indexOf('|') != -1)
			{
				return false;
			}
			var badword = badwords.split('|');
			for(i=0; i<=badword.length; i++)
			{
				if (name.toLowerCase().indexOf(badword[i]) != -1)
				{
					return true;
				}
			}
			return false;
		}
		
		function foundSpecialChars(str)
		{
			var chars = "~!@#$%^&*()+=|\/?<>,.:;'\"`[]{} ";
			for (var i=0; i<chars.length; i++)
			{
				if ( str.indexOf(chars.substring(i, i+1)) != -1 )
				{
					return true;
				}
			}
			return false;
		}

		function chkString(str,len,isnull,spanErr)//字符串，长度，isnull为true表示允许为空，false不允许为空,错误输出地方
		{
			document.getElementById(spanErr).innerHTML="";
			if(isnull)//表示允许为空
			{
				if(str!=""&&str.length>len)
				{
					document.getElementById(spanErr).innerHTML="长度不能超过"+len/2+"个汉字或"+len+"个字母";
					cansub=false;
				}
			}
			else
			{
				if(str=="")
				{
					document.getElementById(spanErr).innerHTML="不能为空！";
					cansub=false;
				}
				else if(str.length>len)
				{
					document.getElementById(spanErr).innerHTML="长度不能超过"+len/2+"个汉字或"+len+"个字母";
					cansub=false;
				}
			}
		}
		
		
		
		function checkpostaddr(str)
		{
			if(str==""&&str.length<3)
			{
				document.getElementById(postaddrErr).innerHTML="请填写详细地址,否则你没有办法参加报名/申请资料等一切活动！";
				cansub=false;
			}
		}
		

		function chkReg()
		{
			cansub=true;
			checkusername(document.all.username.value);
			if(document.getElementById("usernameErr").innerHTML!="可用")
				cansub=false;
			if(document.all.password.value==""||document.all.password.value.length<6 || document.all.password.value.length>20)
			{
				document.getElementById("passwordErr").innerHTML="密码6到20位";
				cansub=false;
			}
			checkPWD();
			chkString(document.all.nickname.value,8,false,"nicknameErr")
			
			var a = document.getElementsByName("gender");
			if(a[0].checked==false&&a[1].checked==false)
			{
				document.getElementById("genderErr").innerHTML="请选择性别";
				cansub=false;
			}
			
			
			
			checkpostaddr(document.all.postaddr.value)
			
			
			checkemail(document.all.email.value);
			if(document.getElementById("emailErr").innerHTML!="可用")
				cansub=false;
			chkString(document.all.realname.value,8,true,"realnameErr")
			chkTel();
			chkmobile();
			chkpostcode();
			chkidcard();
			chkbday();
			if(cansub)
				document.all.btCreateUser.click();
		}
		function chkEdit()
		{
			cansub=true;
			chkString(document.all.nickname.value,8,false,"nicknameErr")
			checkemail(document.all.email.value);
			if(document.getElementById("emailErr").innerHTML!="可用")
				cansub=false;
			chkString(document.all.realname.value,8,true,"realnameErr")
			
			var a = document.getElementsByName("gender");
			if(a[0].checked==false&&a[1].checked==false)
			{
				document.getElementById("genderErr").innerHTML="请选择性别";
				cansub=false;
			}
			
			chkTel();
			chkmobile();
			chkpostcode();
			chkidcard();
			chkbday();
			if(cansub)
				document.all.btCreateUser.click();
		}

