﻿// JScript File
function CheckIsPIC(FilePath)
{
     var i=FilePath.lastIndexOf(".");
    if(i<0)
        return false;
        
    var FileExtension=FilePath.substring(i+1).toLowerCase();
     if(FileExtension=="jpg" || FileExtension=="gif" ) return true;
   return false;
}

function CheckIsEmpty(obj)
{
    var txt="";
    try{
    txt=obj.value;
    }catch(e)
    {
    }
   if( txt.replace(/\ /g,"").length==0) return true;
   return false;
}

function GetIntgerPartLength(num)
{
    var i = (num+"").indexOf(".");
    
    if(i<0)
        return (num+"").length;
    else
        return i;    
    
}

function CheckIsIntNumber(obj,Msg)
{
    
    if(obj.value.replace(/[^0-9^+-]/g,'').length<obj.value.replace(/\ /g,"").length  )
    {
        obj.scrollIntoView(false);
        obj.select();
        if(Msg)
            alert(Msg);
        else
             alert("不能为空且必须是个正整数");
        return false;
		obj.focus();
    }
    
    if( GetIntgerPartLength(obj.value)>18)
    {
        obj.focus();
        alert("数字不能太大");
        return false;
    }
     
    return true;
}

function CheckIsPositiveIntNumber(obj,Msg)
{
    
    if(obj.value.replace(/[^0-9]/g,'').length<obj.value.replace(/\ /g,"").length  )
    {
        obj.scrollIntoView(true);
        obj.select();
        if(Msg)
            alert(Msg);
        else
             alert("数字不能为空，也不能小于0");
        return false;
		obj.focus();
    }
    
    if( GetIntgerPartLength(obj.value)>18)
    {
        obj.focus();
        alert("数字不能太大");
        return false;
    }
     
    return true;
}


function CheckIsPositiveNumber(obj,Msg)
{
   
    if(obj.value.replace(/[^0-9^.+]/g,'').length<obj.value.replace(/\ /g,"").length )
    {
    	obj.scrollIntoView(false);
        obj.select();
        if(Msg)
            alert(Msg);
        else
             alert("数字不能为空，数字不能小于0");
        obj.focus();
        return false;
    }
    
    if(GetIntgerPartLength(obj.value)>16)
    {
        obj.focus();
        alert("数字不能太大");
        return false;
    }
     
    return true;
}

function CheckIsNumber(obj,Msg)
{
    
      
    if(obj.value.replace(/[^0-9^.+-]/g,'').length<obj.value.replace(/\ /g,"").length )
    {
    	obj.scrollIntoView(false);
        obj.select();
        if(Msg)
            alert(Msg);
        else
             alert("不能为空且必须是个数字");
        obj.focus();
        return false;
    }
    
    if(GetIntgerPartLength(obj.value)>16)
    {
        obj.focus();
        alert("数字不能太大");
        return false;
    }
     
    return true;
}

function CheckCheckBoxListIsEmpty(CheckBoxName,alertMsg)
{
    var objs=document.getElementsByName(CheckBoxName);
    if(!alertMsg) alertMsg="请先选择！"; 
    if(objs==null || objs.length==0) 
    {
          alert(alertMsg);
          return true;
    }
    for(var i=0;i<objs.length;i++)
    {
        if(objs[i].checked) return false;
    }
    alert(alertMsg);
    return true;
}
 function CheckCheckBoxListIsEmpty2(CheckBoxListObj,alertMsg)
{
    
    var objs=CheckBoxListObj.getElementsByTagName ("input");
    if(!alertMsg) alertMsg="请先选择！"; 
    if(objs==null || objs.length==0) 
    {
        alert(alertMsg);
        return true;
        
    }
    for(var i=0;i<objs.length;i++)
    {
         
      if( objs[i].checked) return false;
          
    }
    try{objs[0].focus();  }catch(e){}
    objs[0].scrollIntoView(true);
    alert(alertMsg);
     try{objs[0].focus();  }catch(e){}
    return true;
}

function CheckEmptyObjsListWithPrefix(PrefixID,IDList,alertMsg)
{
    var arr=IDList.split(",");
    for(var i=0;i<arr.length;i++)
    {
        if(arr[i].length>0)
        {
            var obj=document.getElementById(PrefixID+arr[i]);
            if(obj && CheckIsEmpty(obj))
            {
                if(alertMsg)
                    alert(alertMsg);
                try{
                obj.focus();
                obj.scrollIntoView(true);
                }catch(e){}
                return false;
            } 
            
        }
    }
    return true;

}


function CheckEmptyObjsList(IDList,alertMsg)
{
     return CheckEmptyObjsListWithPrefix('',IDList,alertMsg);
}

function checkfileext(filename,fileExts)
{
	if(filename.length==0)
	{
	    alert("上传文件不能为空");
	    return false;
	 }
    var arr1=fileExts.toLowerCase().split(',');
    var j=filename.lastIndexOf("." );
    if(j<0 || j==filename.length-1 ){
	    alert("文件格式不准确，上传文件的后缀名必须为“"+fileExts+"”");
	    return false;
	 }
    
    var ext =filename.substring(j+1).toLowerCase();
   
   for(var i=0;i<arr1.length;i++)
   {
   		if(arr1[i]==ext ) return true;
   }
   alert("文件格式不准确，上传文件的后缀名必须为“"+fileExts+"”");
   return false;
} 

function checkfileext2(filename,fileExts)
{
	if(filename.length==0)
	{	    
	    return true;
	}
    var arr1=fileExts.toLowerCase().split(',');
    var j=filename.lastIndexOf("." );
    if(j<0 || j==filename.length-1 ){
	    alert("文件格式不准确，上传文件的后缀名必须为“"+fileExts+"”");
	    return false;
	 }
    
    var ext =filename.substring(j+1).toLowerCase();
   
   for(var i=0;i<arr1.length;i++)
   {
   		if(arr1[i]==ext ) return true;
   }
   alert("文件格式不准确，上传文件的后缀名必须为“"+fileExts+"”");
   return false;
} 

function validinputlengthSpan(obj,length,spanid)
{
	var c= obj;//document.getElementById(inputID);
	var spaninfo;
	var c_length = c.value.replace(/[^\x00-\xff]/g,"**").length; 
	var spans =spanid;
	spaninfo=document.getElementById(spanid);
	spaninfo.style.display="block";
	if(c_length<=length)
	{
		spaninfo.style.color="#999";
		spaninfo.innerHTML="最多输入"+length+"个字符，已经输入 "+c_length+" 个字符";
	}
	else
	{
		spaninfo.innerHTML="最多输入"+length+"个字符，输入已超过 "+ c_length +" 个字符";
		spaninfo.style.color="red";
		
		c.value= mySubstring(c.value,length);
		
	}
}


function mySubstring(s,length)
{
	 var jj = s.length> length?length:s.length ;
	while( jj>0 &&  s.substring(0,jj).replace(/[^\x00-\xff]/g,"**").length>length )
	{
		jj--;
	}
	s=s.substring(0,jj); 
 	return s;
	
} 

function   GetByteLength2( s)   
  {   
	  
	  var   l=   s.length;   
	  var   i=0;   
	  var   c=0;   
	  var   actLength=l;   
	  while(i<l){   
	  c=s.charCodeAt(i);   
	  if(c>255)   
	  actLength++;   
	  i++;   
	  }   
	  return actLength ;   
  }   

  function   GetByteLength(s)   
  {   
	 ///[\u4E00-\u9FA5]/g; chinese
 	 return s.replace(/[^\x00-\xff]/g,"**").length; ;   
  }   

function checkinputvaluelengthOnBlur( )
{
    checkinputvaluelength2();
    window.status="";
}
function checkinputvaluelength2( )
{
 
    try{
        var obj=document.activeElement;
        var maxlength=parseInt(obj.maxLength);
        
        var inputlength=GetByteLength(obj.value);
        if(inputlength>maxlength)
        {
        	setTimeout("document.activeElement.value=mySubstring(document.activeElement.value ,"+maxlength+")",50);
      	 	window.status="最多能输入"+maxlength+"个字符，您已经达到限制，不能再输入了";
       	 }else
      	 {
      	 	 window.status="最多能输入"+maxlength+"个字符，您还可以输入"+(maxlength-inputlength)+"个字符";
      	 }
    }catch(e)
    {
    
    }
    
}

function checkinputvaluelength ( )
{
	try{
        var obj=document.activeElement;
        var maxlength=parseInt(obj.maxLength);
        
        if(obj.value.length>maxlength)
        {
        	setTimeout("document.activeElement.value=(document.activeElement.substring(0 ,"+maxlength+")",50);
      	 	window.status="最多能输入"+maxlength+"个字符，您已经达到限制，不能再输入了";
       	 }else
      	 {
      	 	 window.status="最多能输入"+maxlength+"个字符，您还可以输入"+(maxlength-obj.value.length)+"个字符";
      	 }
    }catch(e)
    {
    
    }

}

function bindanotherfunction(obj,eventname,functionname)
{
    var s=eval("obj."+eventname+".toString()");
   
   if(s.length>10)
   {
        var j= s.indexOf("{");
        if(j<0) return;
        s=s.substring(j,s.length-2);
//        if(functionname.indexOf("(")<0) //可能是程序代码
//            s =s + " ; "+functionname+"(); }";
//        else
            s =s + " ; "+functionname+" ; }";
            
       s="obj."+eventname+"=function() "+s ;
       eval(s);

   }  
}

function bindinputchecklength(obj,maxlength)
{
    if(obj.onkeyup)
    {
        bindanotherfunction(obj,"onkeyup","checkinputvaluelength2();");
    }else
        obj.onkeyup=checkinputvaluelength2;
    
    if(obj.onblur)
        bindanotherfunction(obj,"onblur","checkinputvaluelengthOnBlur();");
    else
        obj.onblur=checkinputvaluelengthOnBlur;
        
    if(obj.onpaste)
        bindanotherfunction(obj,"onpaste","checkinputvaluelength2();");
    else
        obj.onpaste=checkinputvaluelength2;
        
    if(obj.onfocus)
        bindanotherfunction(obj,"onfocus"," window.status='最多能输入"+maxlength+"个字符';");
    else
        obj.onfocus=checkinputvaluelength2;
    
	obj.maxLength=maxlength;
	if(obj.title)	
	    obj.title+="&#10;最多能输入"+maxlength+"个字符"; 
	 else
	    obj.title="最多能输入"+maxlength+"个字符"; 
	//obj.onfocus=new function(){ window.status="最多能输入"+maxlength+"个字符"; }
}

function IsNumber(obj)
{
	var n;
	var b=true;
	if(obj.value.length==0) return true;
	 
	try{
		n =obj.value -1;
		 
		 
		if(n!=0 && isNaN(n)) b=false;
		
	}catch(e)
	{
		b=false;
	}
 
	if(!b)
	{
		alert("不准确的数值!\r\n请输入一个数字!" );
		obj.focus();
		obj.select();
	}
	return b;

}
 
function IsNumberBetween(obj,dMin,dMax)
{
	if(obj.value.length==0) return true;
	if( IsNumber(obj)==false) return false;
	  
	if( (dMin.length>0 && parseInt(obj.value ) < parseInt(dMin)) || (dMax.length>0 && parseInt(obj.value )> parseInt(dMax)))
	{ 
		alert( "不合适的数值!\r\n请输入一个在 "+dMin+" 和 "+dMax+" 之间的数值！" );
		obj.focus();
		return true;
	}
	return true;
}