	var PP_MIN_LEN=3;
	var PP_MAX_LEN=16;
	var PWD_MIN_LEN=6;
	var PWD_MAX_LEN=20;
	var PWDA_MIN_LEN=5;
	var PWDA_MAX_LEN=16;

//Check user input

function RegPassport(){
	
	var email = $F("u_email");
    var password     = $F("u_pass");
	var password2    = $F("u_pass2");
	var username   = $F("u_code");
	var mobile  = $F("u_mobile");
	var cnname =$F("u_name");

	if(!checkEmail('u_email', email, 'u_email_ERR')) return false;
	
	if(!checkAccount('u_code', username, 'u_code_ERR')) return false;
	
	if(!checkPassword('u_pass', password, 'u_pass_ERR')) return false;
	
	if(!checkPassword2('u_pass2', password2, 'u_pass2_ERR')) return false;

	if(!checkMobile('u_mobile', mobile, 'u_mobile_ERR')) return false;

	if(!CheckCnName('u_name', cnname, 'u_name_ERR')) return false;
    
	return true;
	
	
}

function UpdatePassport(){
	
    var Pwd     = $F("Pwd");
	var Pwd1    = $F("Pwd1");
	
	
	if(!checkPassword('Pwd', Pwd, 'Pwd_ERR')) return false;
	
	if(!checkPassword2('Pwd1', Pwd1, 'Pwd1_ERR')) return false;
	

}




function CheckPPValid(CheckFlag)
{	
	var Account;
	if (CheckFlag==0){
		Account = $F("u_email");	
	}else if (CheckFlag==1)
	{   Account = $F("u_code");	
	}else{
		Account = $F("u_mobile");	
	}
	result=getAjax("&ajax_type=regCheck&CheckFlag="+CheckFlag+"&Passport="+decodeURI(Account));
	var oDoc = new ActiveXObject("MSXML2.DOMDocument");
	oDoc.loadXML(result);
	if (oDoc.selectSingleNode("//Save").nodeTypedValue==1){
		return false;
	}else
	{	
		return true;
  	    }	
		
	
}

//以下为输入自动判断
function input(obj)
{
	var id = obj.id;
	var val = obj.value;
	var infoid= id +'_ERR';
	//Element.addClassName(id, "InputNO");
	
	switch(id)
	{
		case "u_code":
			checkAccount(id, val, infoid);
			break;
		case 'u_pass':
			checkPassword(id, val, infoid);
			break;
		case 'u_pass2':
			checkPassword2(id,val, infoid);
			break;
		case 'u_email':
			checkEmail(id, val, infoid);
			break;
		case 'u_mobile':
			checkMobile(id, val, infoid);	
		    break;
		case 'u_name':
			CheckCnName(id, val, infoid);	
		    break;
		default:
			break;
	}
}

function checkAccount(id, val, infoid)
{
	var Msg = new Array(2);
	Msg[0] = "用户名限制2-20个字符（汉字、字母、数字），中间不能包含空格！ ";
	Msg[1] = "用户名：该用户名已被注册！";
	
	if(!LimitLen(val,PP_MIN_LEN,PP_MAX_LEN))
        return Focus(id, infoid, Msg[0], 400);
		
	else if(!CheckPPValid(1))
	    return Focus(id, infoid, Msg[1],400);
	else
		return setInput(id, infoid,  'OK');
}

function checkPassword(id, val, infoid)
{
	var Msg = new Array(3);
	Msg[0] = "（"+ PWD_MIN_LEN +"-"+ PWD_MAX_LEN +"）个字符（字母、数字），区分大小写！";
	Msg[1] = "密码:密码不能包含中文或全角符号！"
	Msg[2] = "密码:两次输入的密码不一致！"
	
	if(!LimitLen(val, PWD_MIN_LEN, PWD_MAX_LEN))
        return Focus(id, infoid, Msg[0], 340);
		
    else if(IsHasCnChar(val))
        return Focus(id, infoid, Msg[1], 340);
	
	if(LimitLen($F('u_pass2'), PWD_MIN_LEN, PWD_MAX_LEN))
	{
		if(Trim($F('u_pass'))!=Trim($F('u_pass2')))
			return Focus(id, infoid, Msg[2], 340);
		else
		{
			setInput(id, infoid,  'OK');
			setInput('u_pass2', 'u_pass2_ERR',  'OK');
			return true;
		}
	}
	else
		return setInput(id, infoid,  'OK');
}

function checkPassword2(id, val, infoid)
{
	var Msg = new Array(3);
	Msg[0] = "确认密码（"+ PWD_MIN_LEN +"-"+ PWD_MAX_LEN +"位)！";
	Msg[1] = "确认密码:密码不能包含中文或全角符号！"
	Msg[2] = "确认密码:两次输入的密码不一致！"
	
	if(!LimitLen(val, PWD_MIN_LEN, PWD_MAX_LEN))
        return Focus(id, infoid, Msg[0], 340);
		
    else if(IsHasCnChar(val))
        return Focus(id, infoid, Msg[1], 340);
	
	else if(Trim($F('u_pass'))!=Trim($F('u_pass2')))
		return Focus(id, infoid, Msg[2], 340);
		
	else
	{
		setInput(id, infoid,  'OK');
		setInput('u_pass', 'u_pass_ERR',  'OK');
		return true;
	}
}


function checkMobile(id, val, infoid)
{
	var Msg = new Array(2);
	Msg[0] = '请填写有效手机号码，以方便确认您的订单！';
	Msg[1] = '手机：该手机号已注册过了！！';
	
    if(!IsMobile(val))
        return Focus(id, infoid, Msg[0], 400);
    else if(!CheckPPValid(2))
	    return Focus(id, infoid, Msg[1],400);
	else
		return setInput(id, infoid,  'OK');
}

function CheckCnName(id, val, infoid)
{

	var Msg = new Array(2);
	Msg[0] = "请填写您的真实姓名。";
	
	if(!LimitLen(val,2,20))
        return Focus(id, infoid, Msg[0], 400);
		
	else
		return setInput(id, infoid,  'OK');

}

function checkEmail(id, val, infoid)
{
	var Msg = new Array(1);
	Msg[0] = '请填写有效邮箱，作为找回密码的唯一凭证。';
	Msg[1] = '错误：邮件格式不正确！';
	Msg[2] = '错误：该邮箱已经注册过了！';	
	
	if(val.length<5)
        return Focus(id, infoid, Msg[0], 400);
	else if(!IsEmail(val))
        return Focus(id, infoid, Msg[1], 400);
	else if(!CheckPPValid(0))
	    return Focus(id, infoid, Msg[2],400);		
	else
		return setInput(id, infoid,  'OK');
}



//
function SetForm(Status)
{
    var form=document.FromUserReg;
    for(var i=0;i<form.elements.length; i++)
    {
        if(Status.toLowerCase()=="yes")
            form.elements[i].disabled = false;
        else
            form.elements[i].disabled = true;
    }
}

//获取表单的值 
	function $F(emid) {
	  return $(emid).value;
	}
//新建一个HTML对象
	function $new(tag){
		return document.createElement(tag);
	}

//去掉空格
	function Trim(str)
	{
		var StrLen=str.length;
		if(str.charAt(0) == " ")
		{
			str = str.slice(1);
			str = Trim(str); 
		}
		if(str.charAt(StrLen) == " ")
		{
			str = str.slice(0,StrLen-1);
			str = Trim(str); 
		}
		return str;
	}

	function LimitLen(theValue,Min,Max)
	{
		theValue=Trim(theValue);
		if(theValue=="") return false;
		if((theValue.length<Min)||(theValue.length>Max))
			return false;
		else
			return true;
	}
	
	//是否护照允许的字符
	//字母数字开头，允许3-16字节，允许字母数字下划线中线
	//因为旧的护照可能是2-3个字节
	function IsAccountChar(str)
	{
		var reg = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,15}$/;
		if (!reg.test(str))
			return false;
		else
			return true;
	}

 function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1) 
      return element;

    elements.push(element);
  }

  return elements;
  }

	
//设置对象的可见，可操作属性
	function setElement(emid,status)
	{
		status = status.toLowerCase();
		var E = $(emid);
		
		if((typeof(E)!='object')||(E==null)) return false;
		switch(status)
		{
			case 'yes':
				E.disabled=false;
				break;
			case 'no':
				E.disabled=true;
				break;
			case 'show':
				E.style.display='block';
				break;
			case 'hide':
				E.style.display='none';
				break;
		}
	}

	//设置输入框的状态，true or false
	function setInput(emid, emid2, status)
	{
		
		if(status.toLowerCase()=="ok")
		{
			$(emid2).innerHTML = '<font color=green>填写正确</font>';
			return true;
		}else{
			return false;
		}
	}
	//显示提示文字，并获焦点
	function Focus(FormName, FormInfoName, MSG, Width)
	{
		var obj = $(FormName);
		var Info = $(FormInfoName);

		if(obj!=null)
			obj.focus();
		if(Info!=null)
		{
			Info.innerHTML = "<font color=red>"+MSG+"</font>";				
				
			if(IsNum(Width)&&(Width!=0))
			{
				Info.style.width = Width + 'px';
			}
		}
		return (false);
	}

		//显示提示文字
	function Warning(emid,MSG,Width)
	{
		var obj = $(emid);
		
		if(obj!=null)
		{
			obj.innerHTML = MSG;
			obj.className = "Warning";
			if(IsNum(Width)&&(Width!=0))
			{
				obj.style.width = Width + 'px';
			}
		}
	}
	
	function Warning2(emid,msg,Width)
	{
		var obj = $(emid);
		
		if(obj!=null)
		{
			obj.innerHTML = msg;
			obj.className = "Warning2";
			if(IsNum(Width)&&(Width!=0))
			{
				obj.style.width = Width + 'px';
			}
		}
	}	


		//判断是否正确EMAIL
	function IsEmail(val)
	{
		var mail=/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.){1,4}[a-z]{2,3}$/i; 
		if(!mail.test(val)){ 
			return (false);
		} else	{
			return (true);
		}
	}
	
	//匹配网址,包括 xxx://
	//未完成
	function IsURL(val)
	{
		var reg = /[a-zA-z]+[://][^\s]*/;
		if(!reg.test(val)){ 
			return (false);
		} else	{
			return (true);
		}
	}
	
	//判断是否数字
	function IsNum(val)
	{
	  var intStr=/^\d+$/; 
	  if(!intStr.test(val))
		  return (false);
	  else
	  {
			return (true);
	  }
	}
	
	//是否IP地址
	//还不能正确判断第一个为0
	function IsIP(str)
	{
		var re = /^([01]?\d{1,2}|2[0-4]\d|25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/;
		
		if(re.test(str))
			return true;
		else
			return false;
	}	
	
	//是否中文
	function IsCnChar(str)
	{
		var reg = /^[\u4E00-\u9FA5]+$/;
		if (!reg.test(str))
		{
			return false;
		}
		return true;
	}
	
	//是否英文
	function IsEnChar(str)
	{
		var reg = /^[a-zA-Z]+$/;
		if (!reg.test(str))
		{
			return false;
		}
		return true;
	}
	
	//是否双字节（包括中文）
	function IsDoubleChar(str)
	{
		var reg = /^[^\x00-\xff]+$/;
		if (!reg.test(str))
		{
			return false;
		}
		return true;
	}
	
	//是否包含中文
	function IsHasCnChar(str)
	{
		var reg = /[^\x00-\xff]/;
		if (reg.test(str))
		{
			return true;
		}
		return false;
	}
	
	//判断是否有效手机号码
	function IsMobile(str)
	{
		var reg = /(^[1][3][0-9]{9}$)|(^[1][8][0-9]{9}$)|(^[1][5][0-9]{9}$)/;
		if (!reg.test(str))
		{
			return false;
		}
		return true;				
	}
	
	//是否为空
	function IsNullOrEmpty(str)
	{
		var bCheck = true;
		str = Trim(str);
		if(str=='')
			bCheck = false;
		
		return bCheck;
	}


	var GetNodeValue = function(obj)
{
	var str = "";
	if(window.ActiveXObject)    //IE
	{
		str = obj.text;
	}
	else //Mozilla
	{
		try
		{
			str = obj.childNodes[0].nodeValue;
		}
		catch(ex)
		{
			str = "";
		}
	}
	return str;
}

if(document.implementation && document.implementation.createDocument)
{
	XMLDocument.prototype.loadXML = function(xmlString)
	{
		var childNodes = this.childNodes;
		for (var i = childNodes.length - 1; i >= 0; i--)
			this.removeChild(childNodes[i]);

		var dp = new DOMParser();
		var newDOM = dp.parseFromString(xmlString, "text/xml");
		var newElt = this.importNode(newDOM.documentElement, true);
		this.appendChild(newElt);
	};

	// check for XPath implementation
	if( document.implementation.hasFeature("XPath", "3.0") )
	{
	   // prototying the XMLDocument
	   XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
	   {
		  if( !xNode ) { xNode = this; } 
		  var oNSResolver = this.createNSResolver(this.documentElement)
		  var aItems = this.evaluate(cXPathString, xNode, oNSResolver, 
					   XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
		  var aResult = [];
		  for( var i = 0; i < aItems.snapshotLength; i++)
		  {
			 aResult[i] =  aItems.snapshotItem(i);
		  }
		  return aResult;
	   }

	   // prototying the Element
	   Element.prototype.selectNodes = function(cXPathString)
	   {
		  if(this.ownerDocument.selectNodes)
		  {
			 return this.ownerDocument.selectNodes(cXPathString, this);
		  }
		  else{throw "For XML Elements Only";}
	   }
	}

	// check for XPath implementation
	if( document.implementation.hasFeature("XPath", "3.0") )
	{
	   // prototying the XMLDocument
	   XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
	   {
		  if( !xNode ) { xNode = this; } 
		  var xItems = this.selectNodes(cXPathString, xNode);
		  if( xItems.length > 0 )
		  {
			 return xItems[0];
		  }
		  else
		  {
			 return null;
		  }
	   }
	   
	   // prototying the Element
	   Element.prototype.selectSingleNode = function(cXPathString)
	   {    
		  if(this.ownerDocument.selectSingleNode)
		  {
			 return this.ownerDocument.selectSingleNode(cXPathString, this);
		  }
		  else{throw "For XML Elements Only";}
	   }
	}
}
