var sErrColor="#FDDBFB";

/*----------------------------------------------------------
  -- 目的： 检查Text是否有值
  -- 输入： obj 字符串对象
  -- 返回： 
-----------------------------------------------------------*/ 
function hasValue(obj,sMsg) {
 if (obj.value.length==0) {
  document.all(obj.name).style.backgroundColor=sErrColor;
  return "\n"+sMsg;
 }
 return "";
}

/*----------------------------------------------------------
  -- 目的： 检查Select是否有值
  -- 输入： obj 字符串对象
  -- 返回： 
-----------------------------------------------------------*/ 
function hasValueS(obj,sMsg) {
	var i=0;
	var i=0;
	for (i=0; i < obj.length; i++) {
		if (obj.options[i].selected)	{
			return "";
			}
		}
   document.all(obj.name).style.backgroundColor=sErrColor;
	return "\n"+sMsg;
}

/*----------------------------------------------------------
  -- 目的： 检查是Check,Radio否有值
  -- 输入： obj Check,Radio对象 
  -- 返回： 
-----------------------------------------------------------*/ 
function hasValueRc(obj,sMsg) {
	var iSingle=1;
	if (obj.checked)
		return "";

	var i=0;
	for (i=0; i < obj.length; i++) {
		iSingle=0;
		if (obj[i].checked)	{
			return "";
			}
		}
	if (iSingle==1) {
		document.all(obj.name).style.backgroundColor=sErrColor;
	} else {
		document.all(obj[0].name).style.backgroundColor=sErrColor;
	}	
	return "\n"+sMsg;
} 


/*----------------------------------------------------------
  -- 目的： 检查用户帐号
  -- 输入： frm form对象
  -- 返回： 
-----------------------------------------------------------*/ 

function ChkUserAccount(frm) {
	hasValue(frm.sAccount,'帐号');
	hasValue(frm.sPwd,'密码');
   if (!chkValidChar(frm.sAccount.value)) return false;
   if (!chkValidChar(frm.sPwd.value)) return false;
   
	if (frm.sAccount.value.length<5){
      alert("帐号字符太少，应该为5-32个字符！");
	   document.all("trsAccount").style.backgroundColor=sErrColor;
      frm.sAccount.focus();
      return false;
	 } 
	   
	 if (frm.sPwd.value.length<5){
      alert("密码字符太少，应该为5-32个字符！");
	   document.all("trsPwd").style.backgroundColor=sErrColor;
      frm.sPwd.focus();
      return false;
	 } 

	 if (frm.sRpwd.value  != frm.sPwd.value){
      alert("您输入的密码和确认密码不相同！");
	   document.all("trsPwd").style.backgroundColor=sErrColor;
	   document.all("trsRpwd").style.backgroundColor=sErrColor;
      frm.sRpwd.focus();
      return false;
     }
	  return true;
}


/*----------------------------------------------------------
  -- 目的： 检查email格式
  -- 输入： sObjValue 值
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkEmail(sObjValue) {
 if (sObjValue.length <7 )  {
      alert("您输入的电子邮件不符合规范\n请重新输入您的电子邮件！");
      return false;
 }

    var strEmail = sObjValue;
    if  (strEmail.indexOf("@") == -1 || strEmail.indexOf(".") == -1)
    {
      alert("您输入的电子邮件地址不符合规范，请您重新输入您的电子邮件地址！");
      return false;
    }

    if  (strEmail.indexOf("@") == 0 || strEmail.indexOf("@") == strEmail.length-1 ||
	 		strEmail.indexOf(".") == 0 || strEmail.indexOf(".") == strEmail.length-1
	      )
    {
      alert("邮件地址格式不正确，请您重新输入您的电子邮件地址！");
      return false;
    }
	 return true;
}

/*----------------------------------------------------------
  -- 目的： 检查邮政编码
  -- 输入： sObjValue 邮政编码字串
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkZip(sObjValue) {
 var i,iLen=0;
 for ( i=0; i<sObjValue.length; i++ ) {
	if (sObjValue.charAt(i) >= '0' && sObjValue.charAt(i) <= '9') {iLen++;}
  }
 if (iLen<6) {
 	alert("邮政编码格式不规范。正确的格式为6位数字");
	return false;
 }
 return true;
}

/*----------------------------------------------------------
  -- 目的： 检查电话号码格式
  -- 输入： sObjValue 电话号码字串
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkTel(sObjValue) {
 var i,iLen=0;
 //var sObjValue=obj.value;
 for ( i=0; i<sObjValue.length; i++ ) {
	if (sObjValue.charAt(i) >= '0' && sObjValue.charAt(i) <= '9') {iLen++;}
  }
 if (iLen<6) {
 	alert("电话号码格式不规范。");
	return false;
 }
 return true;
}

/*----------------------------------------------------------
  -- 目的： 检查日期格式
  -- 输入： sObjValue 日期值 [sFormatChar] 连接字符串
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkDate(sObjValue) {
	var argv = ChkDate.arguments;  
	var argc = ChkDate.arguments.length;  
	var sLink = (argc > 1) ? argv[1] : "-";
	//var sObjValue=obj.value;
   if (sObjValue.length == 0)
      return false;

	iSplit = sObjValue.indexOf(sLink);
	if (iSplit == -1 || iSplit == sObjValue.length)
		return false;

   sYear = sObjValue.substring(0, iSplit);
	if (sYear.length == 0)
      return false;

	iSplit = sObjValue.indexOf(sLink, iSplit + 1);
	if (iSplit == -1 || (iSplit + 1 ) == sObjValue.length)
		return false;

   sMonth = sObjValue.substring((sYear.length + 1), iSplit);
	if (sMonth.length == 0)
      return false;

	sDay = sObjValue.substring(iSplit + 1);
   if (!ChkInteger(sYear)) return false;
	if (!(sYear >= '0001' && sYear <= '9999')) {
		return false;
	} 	
	
   if (!ChkInteger(sMonth)) return false;
	if (!(sMonth >= '01' && sMonth <= '12')) {
		return false;
	}	
	
	if (!ChkInteger(sDay)) return false;
	if (!(sDay >= '01' && sDay <= '31')) {
		return false;
	}	
	
	//**********日期的校验，判断30、31日及2月28、29日  by conan 20030425**********
	y=sYear;
	m=sMonth;
	d=sDay
	if(m<=7)
	{
		if(m==2)
		{
			if(y%4==0)
			{
				if(d>29)
				{
					return false
				}//end of if(d>29)
			}//end of if(y%4==0)
			else
			{
				if(d>28)
				{
					return false
				}//end of if(d>28)
			}//end of else in if(y%4==0)
		}//end of if(m==2)
		if(m%2==0)
		{
			if(d>30)
			{
				return false
			}//end of if(d>30)
		}//end of if(m%2==0)
		else
		{
			if(d>31)
			{
				return false
			}//end of if(d>31)
		}//end of else in if(m%2==0)
	}//end of if(m<=7)
	else
	{
		if(m%2!=0)
		{
			if(d>30)
			{
				return false
			}//end of if(d>30)
		}//end of if(m%2==0)
		else
		{
			if(d>31)
			{
				return false
			}//end of if(d>31)
		}//end of else in if(m%2==0)	
	}//end of else in if(m<=7)
	//*************************end conan 20030425*********************************************
	return true;
}

/*----------------------------------------------------------
  -- 目的： 检查整数
  -- 输入： sObjValue 对象值 
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkInteger(sObjValue) {
	var i;
   for (i=0; i<sObjValue.length; i++ ) {
		if  (!(sObjValue.charAt(i)>= '0' && sObjValue.charAt(i)<= '9')) {
			return false;
			break;
		}	
	}
	return true;
}

/*----------------------------------------------------------
  -- 目的： 检查数字
  -- 输入： sObjValue 对象值 
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkNumber(sObjValue) {
	var i;
	if (sObjValue.length==0) return false;
   for (i=0; i<sObjValue.length; i++ ) {
		if  (! ( (sObjValue.charAt(i)>= '0' && sObjValue.charAt(i)<= '9')  ||
		         (sObjValue.charAt(i)== '.') &&  i !=(sObjValue.length-1)
				 )
		    ) {
			return false;
			break;
		}	
	}
	return true;
}

/*----------------------------------------------------------
  -- 目的： 检查url格式
  -- 输入： sObjValue 值
  -- 返回： 
-----------------------------------------------------------*/ 
function ChkUrl(sObjValue) {
 if (sObjValue.length >0) {	
 if (sObjValue.length <10)  {
      alert("网址(URL)长度不足！");
      return false;
 }
 var sUrl=sObjValue.toLowerCase();
 if  (sUrl.indexOf("http://") == -1 && sUrl.indexOf("http://www.") == -1)
   {
     alert("网址(URL)格式不正确！");
     return false;
   }
 }	
	return true;
}

function chkValidChar(s) {  
  var i,c;
  var badChar = " ><,[]{}?/+=|\\'\":;~!@#$%^&()`";   
  for (i = 0; i < s.length; i++) {   
  	c = s.charAt(i);
	if (badChar.indexOf(c) > -1)	{
    	alert("[ " + c + " ]是非法字符，请重新输入！");
    	return false;
     }
	}  
	return true;	 
}


