var aUsage = 
	{
		"pnr":"[a-zA-Z0-9]{5}",
        "officecode":"^[A-Z]\{3}\\d{3}$|^[A-Z]\{3}\\d{6}$",//3个大写字母加3个或6个数字
		"int":"^([+-]?)\\d+$",//整数
		"int+":"^[1-9]{1}\\d*$|^0$",//无符整数
		"int-":"^-\\d+$",//负整数
		"num":"^\\d+$",//数字
		"num+":"^\\d*\\.?\\d+$",//无符号数字
		"num-":"^-\\d*\\.?\\d+$",//负数
		"float":"^([+-]?)\\d*\\.\\d+$",//浮点数
		"float+":"^([+]?)\\d*\\.\\d+$",//正浮点数
		"float-":"^-\\d*\\.\\d+$",//负浮点数
		"email":"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$",//邮件	
		"color":"^#[a-fA-F0-9]{6}",//颜色
		"url":"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",//联接
		"chinese":"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",//仅中文
		"nonchinese":"^[^\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",//非汉字
		"ascii":"^[\\x00-\\xFF]+$",//仅ACSII字符
		"zipcode":"^\\d{6}$",//邮编
		"mobile":"^0?[1-9]\\d{10}$",//手机
		"ip4":"^\((1\\d{0,2})|([1-9]\\d{0,1})|(2[0-5]{0,2})|\\d)\\.((1\\d{0,2})|([1-9]\\d{0,1})|(2[0-5]{0,2})|\\d)\\.((1\\d{0,2})|([1-9]\\d{0,1})|(2[0-5]{0,2})|\\d)\\.((1\\d{0,2})|([1-9]\\d{0,1})|(2[0-5]{0,2})|\\d)$",//ip地址
		"picture":"(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",//图片
		"rar":"(.*)\\.(rar|zip|7zip|tgz)$",//压缩文件
		"date":"^\\d{4}\\-\\d{2}\\-\\d{2}$",		//日期
		"chinesenumenglish":"^([^\x00-\x80\uFE30-\uFFA0]|[\uFE30-\uFFA0]|[a-zA-Z0-9])*$",//中英文和数字
		"numenglish":"^([a-zA-Z0-9])*$", //英文和数字
		"english":"^([a-zA-Z])*$", //仅英文
		"chnengspace":"^([\u4E00-\u9FA5]|[a-zA-Z]|[ ])*$",//需要验证的类型是中英文（含空格）
		"chneng":"^([\u4E00-\u9FA5]|[a-zA-Z])*$", //需要验证的类型是中英文（不含空格）
		"float2":"^(0\\.\\d{0,2})$|^[01]$|^(1\\.[0]{0,2})$",//大于0小于1的浮点数
		"bfloat2":"^[1-9]{1}\\d{0,9}\\.\\d{1,2}$|^[1-9]{1}\\d{0,9}$|^0$|^0\\.\\d{1,2}$",//只允许最多两位小数的浮点数
		"numminus":"^\\d[\\-\\d]*$",//数字和负号
		"password":"^[a-zA-Z0-9\\@\\#\$\%\\^\\&\\*\\(\\)\\\\|\\{\\}\\[\\]\\.\\,\\?\\/\\:\\;\\~\\!\\+\\_\\=\\-\\+\\`\\<\\>\\'\\\"]+$", //不能是汉字和空格
		"accountNum":"^[a-zA-Z]{1}+[a-zA-Z0-9\\_\\-\\.]*$",//帐号:半角的英文、数字、点、中划线、下划线,以英文字母开头		
		"string":"^[(\u4E00-\u9FA5\uF900-\uFA2D)a-zA-Z0-9 １２３４５６７８９０ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ(\\~\\!\\@\\#\$\%\\^\\&\\*\\(\\)\\_\\+\\{\\}\\|\\:\\\"\\<\\>\\?\\`\\-\\=\\[\\]\\\\\\;\\'\\,\\.\\/)(\\~\\！\\·\\#\\￥\%\\…\\…\\—\\*\\（\\）\\—\\—\\+\\{\\}\\|\\：\\“\\”\\《\\》\\？\\`\\-\\=\\[\\]\\、\\；\\‘\\’\\，\\。\\/)(\\～\\！\\＠\\＃\\＄\\％\\︿\\＆\\＊\\（\\）\\＿\\＋\\｛\\｝\\｜\\：\\＂\\＜\\＞\\？\\｀\\－\\＝\\［\\］\\＼\\；\\＇\\，\\．\\／)(\\～\\！\\·\\＃\\￥\\％\\…\\…\\—\\＊\\（\\）\\—\\—\\＋\\｛\\｝\\｜\\：\\“\\”\\《\\》\\？\\`\\－\\＝\\［\\］\\、\\；\\‘\\’\\，\\。\\／)\\×\\【\\】]+$",//字符串
	    "shortkey":   "^[(\u4E00-\u9FA5\uF900-\uFA2D)a-zA-Z0-9 １２３４５６７８９０ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ(\\~\\!\\@\\#\$\%\\^\\*\\(\\)\\_\\+\\{\\}\\|\\:\\<\\>\\?\\`\\-\\=\\[\\]\\\\\\;\\,\\.\\/)(\\~\\！\\·\\#\\￥\%\\…\\…\\—\\*\\（\\）\\—\\—\\+\\{\\}\\|\\：\\“\\”\\《\\》\\？\\`\\-\\=\\[\\]\\、\\；\\‘\\’\\，\\。\\/)(\\～\\！\\＠\\＃\\＄\\％\\︿\\＆\\＊\\（\\）\\＿\\＋\\｛\\｝\\｜\\：\\＂\\＜\\＞\\？\\｀\\－\\＝\\［\\］\\＼\\；\\＇\\，\\．\\／)(\\～\\！\\·\\＃\\￥\\％\\…\\…\\—\\＊\\（\\）\\—\\—\\＋\\｛\\｝\\｜\\：\\“\\”\\《\\》\\？\\`\\－\\＝\\［\\］\\、\\；\\‘\\’\\，\\。\\／)\\×\\【\\】\\n\\r]+$" //黑屏的命令格式	  
	};	
	
var errorMessage = 
	{
	    "pnr":"中不是有效pnr号",
		"officecode":"中格式不对",
		"int"	:"中请输入整数",									//整数
		"int+"	:"中请输入无符号整数",								    //无符整数
		"int-"	:"中请输入负整数",								    //负整数
		"num"	:"中请输入无符号数字",									//数字
		"num+"	:"中请输入无符号数字",									//正数
		"num-"	:"中请输入负整数",								    //负数
		"float"	:"中请输入浮点数",								    //浮点数
		"float+":"中请输入正浮点数",								//正浮点数
		"float-":"中请输入负浮点数",                               //负浮点数
		"float2":"中请输入0和1之间最大精度为2的浮点数",				//0和1之间最大精度为2的浮点数			
		"bfloat2":"中请输入整数位不大于10位，小数位不大于2位的数",                    //最大精度为2的浮点数			
		"email"	:"中请输入正确的邮箱地址",							//邮件
		"color"	:"中请输入正确的颜色",								//颜色
		"url"	:"中请输入正确的连接地址",							//联接
		"chinese":"中请输入中文",		                            //中文
		"nonchinese":"中请输入非汉字",							    //非汉字
		"ascii"	:"中请输入ascii字符",								//仅ACSII字符
		"zipcode":"中请输入正确的邮政编码",							//邮编
		"mobile":"中请输入正确的手机号码",							//手机
		"ip4"	:"中请输入正确的IP地址",							//ip地址
		"notempty":"中不能为空",									//非空
		"picture":"中请选择图片",									//图片
		"rar"	:"中请输入压缩文件",								//压缩文件
		"date"	:"中请输入正确的日期,格式为yyyy-mm-dd，如1999-12-31",	//日期
		"chinesenumenglish":"中请输入中英文或数字(不能有空格)",
		"numenglish":"中请输入英文或数字(不能有空格)",
		"english":"中请输入英文(不能有空格)",
		"chnengspace":"中请输入中英文(含空格)）",
		"chneng":"中请输入中英文(不含空格)",
		"numminus":"中格式不正确",//电话和传真
		"password":"中格式不正确",
		"accountNum":"应该由半角的英文、数字、点、中划线、下划线组成，且必须以英文字母开头!",
		"string":"中格式不正确",
		"shortkey":"中格式不正确"
	};
/*
 *	取得对象的值（对于单选多选框把其选择的个数作为需要验证的值）
 */
function getValue(el)
	{
	
		//取得表单元素的类型
		var sType = el.type;
		switch(sType)
		{
			//文本输入框,直接取值el.value
			case "text":
			case "hidden":
			case "password":
			case "file":
			case "textarea": return el.value;
			//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个，"00"表示选中两个
			case "checkbox":
			case "radio": return getRadioValue(el);
			case "select-one":
			case "select-multiple": return getSelectValue(el);
		}
		//取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
		function getRadioValue(el)
		{
			var sValue = "";
			//取得第一个元素的name,搜索这个元素组
			var tmpels = document.getElementsByName(el.name);
			for(var i=0;i<tmpels.length;i++)
			{
				if(tmpels[i].checked)
				{
					sValue += "0";
				}
			}
			return sValue;
		}
		//取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
		function getSelectValue(el)
		{
			var sValue = "";
			for(var i=0;i<el.options.length;i++)
			{
				//单选下拉框提示选项设置为value=""
				if(el.options[i].selected && el.options[i].value!="")
				{
					sValue += "0";
				}
			}
			return sValue;
		}
	}	
	
function check(obj,flag)
{
	var error = checkFields(obj,flag);
	if(error != "")
	{
		alert(error);
		return false;
	}
	
//	obj.submit();
	return true;
}

//根据需要进行验证
function checkFields(obj,flag)
{

	var error="";
	for(var i=0;i<obj.elements.length;i++)
	{
		e = obj.elements[i];
				
		//11.20  李晶修改，增加该段，form中的数据取出后只要不是查询页面，就先将前后空格trim掉
		/***************************/
		
		 if(flag!="q"&&e.validateType!="password"){
		     
	    	e.value=trim(e.value);
	    	
	    	}
	    	
		/***************************/	
				
		//是否必需
		if(e.req == "true")
		{
			if(e.value == "")
				{			
				error=error+""+e.pageShow+"不能为空";
				try{
				obj.elements[i].focus();
				}
				catch(e){
					
				}
				return error;
				}		
		}
		
		if(e.value != '')
		{
		  //11.20  李晶修改，屏蔽掉该段
		   /* if(flag!="q"){
		    
	    	e.value=trim(e.value);
	    	
	    	}*/
	    	
			var sUsage = e.validateType;
			
	 
			var sReg = "";
			
			//如果设置Usage，则使用内置正则表达式，忽略Exp
			if(typeof(sUsage)!="undefined"&&sUsage!=null)
			{
				//如果Usage在表达式里找到，则使用内置表达式；
				if(aUsage[sUsage]!=null)
				{			
					sReg = aUsage[sUsage];				
				
				}
				else
				{
					//如果是身份证检验
					if(sUsage == "personalID")
					{
						var num = e.value;
						var len = num.length, re;
						var numstr;
						if (len == 15)
							{
							re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
							numstr = num;
							}
						else if (len == 18)
							{
							re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
							numstr = num.substring(0,17);
							}
						else
							{
							error = error + "" + e.pageShow + '中输入的数字位数不对！';
							return error; 
							}
						if (isNaN(numstr)) 
							{
							error = error + "" + e.pageShow + '中输入的不是数字！';
							return error; 
							}
						var a = num.match(re);
						if (a != null)
							{
							if (len==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) 
							{
							//alert("输入的身份证号 "+ a[0] +" 里出生日期不对！"); 
							error = error + "" + e.pageShow + '中身份号有误！';
							return error; 
							}
					    }
					if(len == 18 )
					{
					var n = 0; 
					var w = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 加权因子 
					var c = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); // 校验码 
					for (var i = 0; i < 17; i++) 
						{ 
						n += parseInt(num.charAt(i)) * w[i]; 
						} 
	
					if (num.charAt(17).toUpperCase() != c[n % 11]) 
						{
						error = error + "" + e.pageShow + '中身份号有误！';
						return error; 
						}
					}
					error = error + "" + e.pageShow + '中身份号有误!';
					return error;
					
				  }
				}
			}
			
			if(typeof(sReg)!="undefined"&&sReg!=null)
			{
				//取得表单的值,用通用取值函数
				var sVal = getValue(e);
				if(sUsage == "officecode")
				{
					sVal.toUpperCase();
				}
				//字符串->正则表达式,不区分大小写
				var reg = new RegExp(sReg,"i");			
				if(!reg.test(sVal))
				{
					error = error + "" + e.pageShow + errorMessage[sUsage];
					return error;
				}
				//正整数并且不能带有+
				if(sUsage=="int+"){
					if(sVal.indexOf("+")>-1){
					error = error + "" + e.pageShow + "正整数不能带有+号！"
					 return error;
					}
				}
			}        
			
			//最小长度
			if(e.vminlength!= null)
			{
				str = e.value;
				if(str.length < parseInt(e.vminlength))
				{
					error=error+""+e.pageShow+"输入字符数不能小于"+e.vminlength;
					return error;
				}			
			}
			//最大长度
			if(e.vmaxlength!= null)
			{
				str = e.value;
				if(str.length > parseInt(e.vmaxlength))
				{
					error=error+""+e.pageShow+"输入字符数不能大于"+e.vmaxlength;
					return error;
				}
			}	
		}		
		
	}
	return "";
}

/**
   验证两次输入的密码是否一致，一致返回true，否则返回false
*/
 function checkPassword(id1,id2){
       var pwd1 = document.getElementById(id1).value;
       var pwd2 = document.getElementById(id2).value;
       if(pwd1!=pwd2)
       return false;
       else 
        return true;
     }
     
  /**
   验证是否已经选择了配置
  */   
function checkOption(){
  var option=document.forms[0].configId.value;	
  if(option==-1||option==null){
  alert("请选择配置！");
  return false;
  }
  return true;
 }

function checkOffice(){
 var option=document.forms[0].officeno.value;	  
 if(option==-1||option==null){
  alert("请选择Office号!");
  return false;
 }
 return true;
}	 
//去左空格; 
function ltrim(s){ 
	return s.replace( /^\s*/,""); 
} 
//去右空格; 
function rtrim(s){ 
	return s.replace( /\s*$/,""); 
} 
//去左右空格; 
function trim(s){ 
	return ltrim(rtrim(s)); 
}