//'*********************************************************
// ' Purpose: 判断输入是否为整数字
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function onlynumber(str,altstr)
{
var i,strlength,tempchar;
var xflag = true ;
        str=CStr(str);
        if(str=="") return true;
        strlength=str.length;
        for(i=0;i<strlength;i++)
        {
                tempchar=str.substring(i,i+1);
                if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'))
                {
                alert(altstr+"项只能输入数字　");
                xflag = false;
                break;
                }
        }
        return xflag;
}
//验证是否为手机格式
function isMobile(s)
{ 　　　　　　
	 	var patrn=/^1[3,5]\d{9}$/;　　
		if (!patrn.exec(s) || s.length!=11){
			alert("手机格式不正确"); 
	 		return false; 
	 	}else{
	 		return true;
	 	} 　　
} 
function onlynumberHead(str,altstr)
{
var i,strlength,tempchar;
var xflag = true ;
        str=CStr(str);
        if(str=="") return true;
        strlength=str.length;
        for(i=0;i<strlength;i++)
        {
                tempchar=str.substring(i,i+1);
                if((tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'))
                {
                alert(altstr+"不能以数字开头");
                xflag = false;
                break;
                }
        }
        return xflag;
}
//'*********************************************************


//'*********************************************************
// ' Purpose: 判断输入是否为数值(包括小数点)
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function isfloat(str,altstr)
{
var tmp, temp, i;
var xflag = true;
        tmp =str;
        for(i=0;i<tmp.length;i++)
        {
                temp=tmp.substring(i,i+1);
                if((temp>='0'&& temp<='9')||(temp=='.')){} //check input in 0-9 and '.'
                else
                {
                        alert(altstr + "项只能输入数字和小数点");
                        xflag = false;
                        break;
                }
        }
        return xflag;
}



//'*********************************************************
// ' Purpose: 判断输入是否为电话号码
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function isphonenumber(str,stralt)
{
   var i,strlengh,tempchar;
   var xflag = true;

   str=CStr(str);
   strlength=str.length;
   for(i=0;i<strlength;i++)
   {
        tempchar=str.substring(i,i+1);
        if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'||tempchar==','||tempchar==" "||tempchar=="，"))
        {
        alert(stralt+"只能输入数字、逗号和中划线");
        xflag = false;
        break;
        }
   }
   return xflag;
}
//'*********************************************************

//'*********************************************************
// ' Purpose: 判断输入是否为Email
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function isemail(str,altstr)
{
    var bflag=true  ;

    if (str.indexOf("'")!=-1) {
        bflag=false
    }
    if (str.indexOf("@")==-1) {
        bflag=false
    }
    else if(str.charAt(0)=="@"){
            bflag=false
    }
    var dot=str.substring(str.indexOf("@"),str.length);
    if(dot.indexOf(".")==-1){
    	bflag=false
    }
    if(str.charAt(str.length-1)=="."){
    	bflag=false;
    }
    if (! bflag) alert(altstr + "项填写不正确！");
    return bflag ;
}

//'*********************************************************
// ' Purpose: 判断输入是否含有为中文
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function isenglish(str,altstr)
{
  var xflag= true;
  if(escape(str).indexOf("%u")!=-1)
  {
    alert (altstr + "项不可以有中文！");
    xflag = false;
  }
  return xflag;
}
//'*********************************************************


//'*********************************************************
// ' Purpose: 判断输入是否含有空格
// ' Inputs:   String
// ' Returns:  True, False
//'*********************************************************
function checkblank(str)
{
var strlength;
var k;
var ch;
strlength=str.length;
for(k=0;k<=strlength;k++)
  {
     ch=str.substring(k,k+1);
     if(ch==" ")
      {
      alert("对不起　不能输入空格　");
      return false;
      }
  }
return true;
}
//'*********************************************************




//'*********************************************************
// ' Purpose: 去掉Str两边空格
// ' Inputs:   Str
// ' Returns:  去掉两边空格的Str
//'*********************************************************
function trim(str)
{
    var i,strlength,t,chartemp,returnstr;
    str=CStr(str);
    strlength=str.length;
    t=str;
    for(i=0;i<strlength;i++)
    {
        chartemp=str.substring(i,i+1);
        if(chartemp==" ")
        {
            t=str.substring(i+1,strlength);
        }
        else
        {
               break;
        }
    }
    returnstr=t;
    strlength=t.length;
    for(i=strlength;i>=0;i--)
    {
        chartemp=t.substring(i,i-1);
        if(chartemp==" ")
        {
            returnstr=t.substring(i-1,0);
        }
        else
        {
            break;
        }
    }
    return (returnstr);
}

//'*********************************************************


//'*********************************************************
// ' Purpose: 将数值类型转化为String
// ' Inputs:   int
// ' Returns:  String
//'*********************************************************
function CStr(inp)
{
    return(""+inp+"");
}
//'*********************************************************


//'*********************************************************
// ' Purpose: 去除不合法字符,   ' " < >
// ' Inputs:   String
// ' Returns:  String
//'*********************************************************
function Rep(str)
{var str1;
str1=str;
str1=replace(str1,"'","`",1,0);
str1=replace(str1,'"',"`",1,0);
str1=replace(str1,"<","(",1,0);
str1=replace(str1,">",")",1,0);
return str1;
}
//'*********************************************************

//'*********************************************************
// ' Purpose:  替代字符
// ' Inputs:   目标String,欲替代的字符,替代成为字符串,大小写是否敏感,是否整字代替
// ' Returns:  String
//'*********************************************************
function replace(target,oldTerm,newTerm,caseSens,wordOnly)
{ var wk ;
  var ind = 0;
  var next = 0;
  wk=CStr(target);
  if (!caseSens)
   {
      oldTerm = oldTerm.toLowerCase();
      wk = target.toLowerCase();
    }
  while ((ind = wk.indexOf(oldTerm,next)) >= 0)
  {
         if (wordOnly)
              {
                var before = ind - 1;
                var after = ind + oldTerm.length;
                  if (!(space(wk.charAt(before)) && space(wk.charAt(after))))
                    {
                      next = ind + oldTerm.length;
                       continue;
                   }
          }
     target = target.substring(0,ind) + newTerm + target.substring(ind+oldTerm.length,target.length);
     wk = wk.substring(0,ind) + newTerm + wk.substring(ind+oldTerm.length,wk.length);
     next = ind + newTerm.length;
     if (next >= wk.length) { break; }
  }
  return target;
}


//'*********************************************************
// ' Purpose:  判断输入字串是否为合法日期
// ' Inputs:   String,objname
// ' Returns:  String
//'*********************************************************
function CheckDate(str,altstr)
{
        var temp,s;

        temp=str;
        s=new String("");

        for(var i=0;i<=temp.length-1;i++)
        {
                if(temp.charAt(i)=="-" || temp.charAt(i)=="/")
                        s=s+"/";
                else
                {

                        if(isNaN(Number(temp.charAt(i))))
                        {
                                alert("在" + altstr +"中输入的日期格式不对，应为（YYYY-MM-DD）");
                                return false;
                        }
                        else
                                s=s+temp.charAt(i);
                }
        }
        d=new Date(s);
        if(d.toString()=="NaN")
        {
                alert("在" + altstr +"中输入的日期格式不对，应为（YYYY-MM-DD）")
                return false;
        }

        arydate = s.split("/");

        if(d.getFullYear()!=arydate[0] || d.getMonth()+1!=arydate[1] || d.getDate()!=arydate[2])
        {
                alert(altstr + "项数据不正确！");
                return false;
        }



        return true  ;

}

function checkNull(value,alt){
	if (trim(value)==""){
	  alert(alt+"不能为空");
	  return false;
	}
	return true;
}
function checkNulls(value){
	if (trim(value)==""){
	  return false;
	}
	return true;
}

function ifcheck(objname,objalt){
var xobj;
var selflag = false;
        if (objname != ''){

                xobj = document.all.item(objname);
                if(xobj!=null){
                        for(j=0;j<xobj.length;j++)
                        {
                                if(xobj(j).checked){  selflag=true; break;   }
                        }
                        if (! selflag){  alert(objalt+" 未被填写!");   }

                }
         }
         return selflag;
}

function loopcheck (group,l){

        var xname = "";
        var xalt = "";
        var xtype = "";
        var xneed = "";
        var ifallok = true;
        var xobj ;

        for (ip=0;ip<l;ip++)
        {

                xname = group[ip][0];
                xalt  = group[ip][1];
                xtype = group[ip][2];
                xneed = group[ip][3];

                //alert (xname+":"+xalt+":"+xtype+":"+xneed);

                //---------checkbox & radio 类控件检查
                 if ("checkbox"==xtype)
                 {
                        if ("yes" == xneed)
                        {
                            ifallok = ifcheck(xname,xalt);

                        }

                }
                //---------text & textarea & file 等类控件检查
                else
                {
                        xobj=document.all.item(xname);
                        //-----测试不为空的要求是否被满足
                        if ("yes" == xneed && ""==trim(xobj.value))
                        {
                                alert(xalt+"项不可为空！");
                                ifallok = false;
                                break;
                        }
                        xobj.value= Rep(trim(xobj.value));


                        //-----测试特别要求是否满足
                        if ("tel"==xtype)
                        { //-----电话号码------
                                if (""!= xobj.value)  ifallok = isphonenumber(xobj.value,xalt)  ;
                        }
                        else if("email"==xtype)
                        { //-----电子邮件地址----
                                if (""!= xobj.value) ifallok = isemail(xobj.value,xalt);
                        }
                        else if("float"==xtype)
                        { //-----整数或小数-------
                                if (""!= xobj.value) ifallok = isfloat(xobj.value,xalt);
                        }
                        else if("int"==xtype)
                        { //-----整数字--------
                                if (""!= xobj.value) ifallok = onlynumber(xobj.value,xalt)  ;
                        }
                        else if("eng"==xtype)
                        { //-----没有汉字------
                                if (""!= xobj.value) ifallok = isenglish(xobj.value,xalt);
                        }
                        else if("date"==xtype)
                        { //-----日期-----------
                                if (""!= xobj.value) ifallok = CheckDate(xobj.value,xalt);
                        }
                        else{
                          //-----xtype默认为text-------
                                ifallok = true;
                        }
                }
                if (! ifallok){
                        break;
                }

        }
        return  ifallok;

}

//级联下拉框
function qswhXml(num,xmldata,arrSel,param){

var i,arrTemp=[],arrTemp1=[];
for(i=0;i<num;i++){
arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
arrTemp1[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].value
}
if(num==arrSel.length){//这里处理最后的数据。
//alert(param);
return;
}

with(document.all(arrSel[num])){
length=0
length1=0
length2=0
var obj=xmldata.XMLDocument.childNodes[0];
for(i=0;i<num;i++){
  obj=obj.selectSingleNode(arrSel[i]+'[@text="'+arrTemp[i]+'"]');
}
for(i=0;i<obj.childNodes.length;i++){
  options[length++].text=obj.childNodes[i].getAttribute("text");
  options[length1++].value=obj.childNodes[i].getAttribute("value");
  options[length2++].selected=obj.childNodes[i].getAttribute("selected");
}
onchange=new Function("qswhXml("+(num+1)+","+param+",\""+param+"\")");
onchange();
}

}
//'*********************************************************
// ' Purpose: 判断小时时间的准确性,不可以为空
// ' Inputs:
// ' Returns:
//'*********************************************************
function checkhour(ftext,alt){
	var errorstime="";
	var flag=true;
      if(ftext.value=="")
       {
		  flag=false;
       errorstime=alt+"不能为空"
       }
	   else
       {
              if(ftext.value.length==1){
             ftext.value='0'+ftext.value
              }
              var hour=ftext.value.substring(0,1);
              if(hour!='0'&&hour!='1'&&hour!='2'){
				     flag=false;
                      errorstime=alt+"输入不合法";
              }
              else if(hour=='2'){
                      var hour1=ftext.value.substring(1);
                      if(hour1!='0'&&hour1!='1'&&hour1!='2'&&hour1!='3'){
                      flag=false;
               errorstime=alt+"输入不合法";
                      }

              }
              else if(hour=='0'||hour=='1'){
               var hour1=ftext.value.substring(1);
                      if(hour1!='0'&&hour1!='1'&&hour1!='2'&&hour1!='3'&&hour1!='4'&&hour1!='5'&&hour1!='6'&&hour1!='7'&&hour1!='8'&&hour1!='9'){
                       flag=false;
                      errorstime=alt+"输入不合法";
                      }
              }
       }
	   if(!flag){
		   alert( errorstime);
	   }
	   return flag;
}
//'*********************************************************


//'*********************************************************
// ' Purpose: 判断分钟时间的准确性,不可以为空
// ' Inputs:
// ' Returns:
//'*********************************************************
function checkminute(ftext,alt){
	  var errorstime="";
	  var flag=true;
      if(ftext.value=="")
       {
		  flag=false;
        errorstime=alt+"不能为空"
       }else
       {
            if(ftext.value.length==1){
           ftext.value='0'+ftext.value
            }
            var minute=ftext.value.substring(0,1);
            if(minute!='0'&&minute!='1'&&minute!='2'&&minute!='3'&&minute!='4'&&minute!='5'){
                      flag=false;
                      errorstime=alt+"输入不合法";

            }
            var minute1=ftext.value.substring(1);
            if(minute1!='0'&&minute1!='1'&&minute1!='2'&&minute1!='3'&&minute1!='4'&&minute1!='5'&&minute1!='6'&&minute1!='7'&&minute1!='8'&&minute1!='9'){
              flag=false;
                      errorstime=alt+"输入不合法";
                    }
       }
	   if(!flag){
		   alert( errorstime);
	   }
	   return flag;
}

