/**
 *
 *	  JavaScript数据校验常规代码（0.02）
 *
 *    创建时间：2002-1-20
 *    修改时间：2002-11-1
 *	  作者：	   黄文杰
 *				Zj
 *
 *	  功能函数
 *
 *				函数名										描述
 *
 *	 isDate(year,month,day,sStr)			|		是否是有效的日期值
 *	 isMailBox(objName,sStr)				|		是否是有效的Mail地址
 *	 isNumeric(objName,sStr)				|       是否是有效的数值（一）入口参数为对象名称
 *	 isNumeric2(data,sStr)					|       是否是有效的数值（一）入口参数为字符串
 *	 isPostID(objName,sStr)					|	    是否是有效的身份证代码
 *	 isNull(objName,sStr)					|		是否为空（一）入口参数为对象名称
 *	 isNull2(data,sStr)						|		是否为空（二）入口参数为字符串
 *	 isSelected(objName,sStr)				|		是否是有选项被选中(从第二项起)		相关函数：GetObjID(ObjName)
 *	 isTSelected(objName,sStr)				|		是否是有选项被选中(选择的值不为-1)	相关函数：GetObjID(ObjName)
 *   isLength(objName,num,sStr)				|		长度是否等于指定长度
 *	 maxValue(objName,min,max,sStr)			|		输入的数值是否在指定的范围内
 *	 isChecked(objName,sStr)				|		是否有选项选中
 *	 isChecked2(objName,i,sStr)				|		是否有选项或有指定的选项选中（数组）
 *	 
**/


function isDate(year,month,day,sStr)						//是否是有效的日期值
{
	tmpYear=document.all.item(year).value;
    tmpMonth=document.all.item(month).value;
	tmpDay=document.all.item(day).value;
	tmp=isDateNum(tmpYear,tmpMonth,tmpDay);
	if (tmp==-1)
	{
		alertStr(year,sStr,true);							//提示错误
		return false
	}

	if (tmp==-2)
	{
		alertStr(month,sStr,true);							//提示错误
		return false
	}

	if (tmp==-3)
	{
		alertStr(day,sStr,true);							//提示错误
		return false
	}
	return true;
}

function isDateNum(year,month,day)						//是否是有效的日期值
{
	if (!isNumeric2(year,""))								//检验输入的年份是否是数值类型的		
		return -1;

	if (!isNumeric2(month,""))
		return -2;

	if (!isNumeric2(day,""))
		return -3;

	tmpYear=year;
    tmpMonth=month;
	if (parseInt(tmpMonth.substring(0,1))==0)
	{
		tmpMonth=parseInt(tmpMonth.substring(1,2))
	}
	tmpDay=day;
	if (parseInt(tmpDay.substring(0,1))==0)
	{
		tmpDay=parseInt(tmpDay.substring(1,2))
	}
	
	if (tmpYear<1940 )		//检验输入的年份是否是四位
		return -1;
	//alert(tmpMonth +"    "+ tmpDay)
	if (tmpMonth>12 || tmpMonth<1 )	 //检验输入的月份是否合法
		return -2;
	//alert("start   " +(parseInt(tmpMonth/8)+parseInt(tmpMonth))%2)
	if ((parseInt(tmpMonth/8)+parseInt(tmpMonth))%2==1)
	{
		
		if (tmpDay<1 || tmpDay>31 || (tmpDay%parseInt(tmpDay))!=0)	    //检验输入的日期是否合法
			return -3;
	}
	else
	{
		if (tmpDay<1 || tmpDay>30 || (tmpDay%parseInt(tmpDay))!=0)						//检验输入的日期是否合法
			return -3;
	}

	if (tmpMonth==2)
	{
		if ((tmpYear%4==0 && tmpYear%100!=0) || (tmpYear%400==0))
		{
			if (tmpDay<1 || tmpDay>29 || (tmpDay%parseInt(tmpDay))!=0)								
				return -3;
		}
		else
		{
			if (tmpDay<1 || tmpDay>28 || (tmpDay%parseInt(tmpDay))!=0)								
				return -3;
		}
	}
	return true;
}	

function isMailBox(objName,sStr)							//是否是有效的Mail地址
{
	var data;
	data=document.all.item(objName).value;				
	if (data=="") return true;
	if (data.indexOf('@')==-1)								//查找字符串中的'@'
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}

	var i;
	i=data.indexOf('@');									//标示出字符串中的'@'的位置

	if (data.indexOf('.',i)==-1 || data.lastIndexOf('.')==data.length-1) //查找出'.'的位置且位置不为最后一位
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}

	return true;
}

function isNumeric(objName,sStr)						   //是否是有效的数值（一）入口参数为对象名称
{
	if (isNaN(document.all.item(objName).value) || trim(document.all.item(objName).value)=="")
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}
	return true;
}

function isNumeric2(data,sStr)							//是否是有效的数值（二）入口参数为字符串
{
	data=trim(data);
	if (isNaN(data) || data=="")
	{
		if (sStr!="") 
			alert(sStr);
		return false;
	}
	return true;
}


function isPostID(objName,sStr)							//是否是有效的身份证代码
{
	//if (!isNumeric(objName,sStr)) return false;
	if (document.all.item(objName).value.length==15 || document.all.item(objName).value.length==18)
		return true;
	if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
	return false;
}

function isNull(objName,sStr)							//是否为空（一）入口参数为对象名称
{
	if (LTrim(document.all.item(objName).value)=="")
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}
	return true;
}

function isNull2(data,sStr)								//是否为空（二）入口参数为字符串
{
	data=trim(data)
	if (data=="")
	{
		if (sStr!="") 
			alert(sStr);
		return false;
	}
	return true;
}


function GetObjID(ObjName)							  //得到对象名称所对应的数组下标
{ for ( var ObjID=0; ObjID < window.form1.elements.length; ObjID++ )
      if (window.form1.elements[ObjID].name == ObjName )
      {  return(ObjID);
         break;
      }
  return(-1);
}

function isSelected(objName,sStr)					  //是否是有选项被选中
{
	j=document.all.item(objName).length;
	ObjID=GetObjID(objName);
	for(i=1;i<j;i++)
	{
		if (document.form1.elements[ObjID].options[i].selected)
			return true;
	}
	if (sStr!="") alert(sStr);
	document.all.item(objName).focus();
	return false;
}

function isTSelected(objName,sStr)					//是否是有选项被选中
{
	j=document.all.item(objName).length;
	ObjID=GetObjID(objName);
	for(i=1;i<j;i++)
	{
		if (document.form1.elements[ObjID].options[i].selected && document.form1.elements[ObjID].options[i].value!=-1)
			return true;
	}
	if (sStr!="") alert(sStr);
	document.all.item(objName).focus();
	return false;
}

function isLength(objName,num,sStr)				  //长度是否等于指定长度
{
	var tmpstr
	tmpstr=trim(document.all.item(objName).value)
	if (tmpstr.length!=num)
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}
	return true;
}

function maxLength(objName,num,sStr)			//长度是否小于等于指定长度
{
	var tmpstr
	tmpstr=trim(document.all.item(objName).value);
	if (tmpstr.length<num)
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}
	return true;
}

function maxValue(objName,min,max,sStr)		  //输入的数值是否在指定的范围内
{
	if (!isNumeric(objName,sStr))
		return false;
	if (parseFloat(document.all.item(objName).value)<min || parseFloat(document.all.item(objName).value)>max)
	{
		if (sStr!="") 
		{
			alert(sStr);
			document.all.item(objName).select();
		}
		return false;
	}
	return true;
}

function isChecked(objName,sStr)			//是否有选项选中
{
	if (document.all.item(objName).checked==false)
	{
		if (sStr!="") alert(sStr);
		return false;
	}
	return true;
}

function isChecked2(objName,i,sStr)		   //是否有选项或有指定的选项选中（数组）
{
	var j,flag,sFlag;
	j=document.all.item(objName).length;
	flag=false;
	sFlag=false;
	if (i==-1) sFlag=true;
	for (w=0;w<j;w++)
	{
		if (document.all.item(objName)[w].checked==true)
			flag=true;
		if (w==i && document.all.item(objName)[w].checked==true)
			sFlag=true;
	}
	if (!(flag & sFlag))
	{
		if (sStr!="") alert(sStr);
		return false;
	}

	return true;
}

function trim(str)
{
	var tmpstr
	tmpstr=LTrim(str)
	return str;
}

function IsChinese(str,sStr)  
{
	if(escape(str).indexOf("%u")!=-1)
	  	return true;
	else
		return false;
}

function SeleVal(objName)
{
	ObjID=GetObjID(objName);
	j=document.form1.elements[ObjID].length;
	for(i=0;i<j;i++)
	{
		if (document.form1.elements[ObjID].options[i].selected)
			return document.form1.elements[ObjID].options[i].value;
	}
	return false;
}

function SeleTxt(objName)
{
	ObjID=GetObjID(objName);
	j=document.form1.elements[ObjID].length;
	for(i=0;i<j;i++)
	{
		if (document.form1.elements[ObjID].options[i].selected)
			return document.form1.elements[ObjID].options[i].text;
	}
	return false;
}

function setValue(source,target)
{
	if (!isNull(target,""))
	{
		document.all.item(target).value=document.all.item(source).value;
	}
	
}

function ChangeOption(ObjName, DesName)
{
  ObjID    = GetObjID(ObjName);
  DesObjID = GetObjID(DesName);
  if ( ObjID != -1 && DesObjID != -1 )
  {
    CatValue = window.form1.elements[ObjID].value.substring(0, 4);
    if ( CatValue == "0" )
      document.form1.elements[DesObjID].length=0;
    else
    { 
      document.form1.elements[DesObjID].length=0;
      var tt = document.form1.AreaCode.value;
      var SubCategory = tt.split(";");
      j=0;
	  document.form1.elements[DesObjID].options[0]= new Option("<--请选择地区-->","");
      for (var i=0; i< SubCategory.length; i++ )
      { pp = SubCategory[i].split(",");
        if ( pp[0].substring(0,4) == CatValue )
        {  if ( pp[0].substring(0,4) == CatValue)
           {  document.form1.elements[DesObjID].options[j+1]= new Option( pp[1], pp[0]);
              j++;
           }
        }
      }
    }
  }
}

	function doLink(link)
	{
		form1.action=link;
		form1.target=""
		form1.submit();
	}

	function doTagLink(link)
	{
		form1.action=link;
		form1.target="_blank"
		form1.submit();
	}
function ChangeItem(sObjName,dObjName)
{
	sObj=GetObjID(sObjName);
	dObj=GetObjID(dObjName);
	var count,j
	count=document.form1.elements[sObj].length;
	j=document.form1.elements[dObj].length;
	if (count==0) return;
	for (i=0;i<count;i++)
	{
		if (document.form1.elements[sObj].options[i].selected)
		{
			Code = document.form1.elements[sObj].options[i].value;
			str = document.form1.elements[sObj].options[i].text;
			document.form1.elements[dObj].options[j] = new Option(str, Code);
			document.form1.elements[sObj].options[i]=null;
			j=j+1;
			i--;
			count--;
		}
	}
}

function TotalItem(sObjName,dObjName)
{
	sObj=GetObjID(sObjName);
	dObj=GetObjID(dObjName);
	var count,j
	count=document.form1.elements[sObj].length;
	j=document.form1.elements[dObj].length;
	if (count==0) return;
	for (i=0;i<count;i++)
	{
		Code = document.form1.elements[sObj].options[i].value;
		str = document.form1.elements[sObj].options[i].text;
		document.form1.elements[dObj].options[j] = new Option(str, Code);
		document.form1.elements[sObj].options[i]=null;
		j=j+1;
		i--;
		count--;
	}
}

function isNumeric3(objName,sStr)						   //是否是有效的数值（一）入口参数为对象名称
{
	if(document.all.item(objName).value!="")
	{
		if (isNaN(document.all.item(objName).value))
		{
			if (sStr!="") 
			{
				alert(sStr);
				document.all.item(objName).select();
			}
			return false;
		}
	}
	return true;
}

function alertStr(objName,sStr,flag)
{
	if (sStr!="")
		alert(sStr);
	if (flag)
		document.all.item(objName).select();
	else
		document.all.item(objName).focus();

}

function isEnglish(objName,sStr)
{
	var strData;
	strData=document.all.item(objName).value;
	if (escape(strData).indexOf("%u")!=-1)	
	{
		alertStr(objName,sStr,false);							//提示错误
		return false;
	}
	return true;
}

function IsChinese(objName,sStr)  
{
	var strData;
	strData=document.all.item(objName).value;
	if(escape(strData).indexOf("%u")!=-1)
	  	return true;
	else
	{
		alertStr(objName,sStr,false);							//提示错误
		return false;
	}
}

function LTrim(strInput)
{
    var i;
    for (i=0; i<strInput.length; i++)
        if (strInput.charAt(i)!=" ")
            break;
    if (i == strInput.Length)
       return "";
    else
       return strInput.substr(i);
}
