//检查字符是否为空的函数

function isEmpty(s) {
    return((s == null)||(s.length == 0));

}

//如果字符为空或者仅仅包含一些空格符号  就返回真  否则返回假

function isWhitespace(s) {
    var whitespace = "\t\n\r";
    
    //空字符串?
    
    if(isEmpty(s)) return true;
    
    //对目标字符串进行一个一个字符地判断  直到找到一个不是空格的字符
    //如果不存在非空格字符  返回true  否则  返回false
    
    var i;
    for(i = 0;i < s.length;i++)
    {
        //Check that current character isn't whitespace.
        var c = s.charAt(i);
        
        if(whitespace.indexOf(c) != -1)
           continue; 
        else
           return false;   
    }
        
        //所有字符都是空格符
        return true;

}

//判断字符串s是否是一个有效的E_mail地址

function isEmail(s) {
    
    //在字符@前必须有>=1个字符  所以我们从第一个字符开始判断
    
    var i = 1;
    var sLength = s.length;
    
    //找到 @ 的位置
    
    while((i < sLength) && (s.charAt(i) != "@"))
    {
        i++;
    }
     
     //不存在 @  返回false
     
     if((i >= sLength) || (s.charAt(i) != "@")) return false;
     else i+=2;
     
     //找到 . 的位置
     
     while ((i < sLength) && (s.charAt(i) != "."))
     {
         i++;
     }
     
     //如果找不到 . 肯定不是一个有效的E_mail地址
     
     if((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
     else return true;
}

 //提示  请输入
 
 function warnEmpty(theField,s)
 {  alert(s);
    theField.focus();
    return false;
 }
 
 //提示 输入无效
 
 function warnInvalid(theField,s)
 {  alert(s);
    theField.focus();
    theField.select();
    return false;  
    
 }
 
 //检查输入框是否为空
 
 function checkString(theField,s)
 {  //在判断之前  先判断输入框是否存在
    if(theField == null) return true;
    theField.value = Dspace(theField.value);
    if(isWhitespace(theField.value))
       return warnEmpty (theField,s);
    else return true;    
 
 }
 
 //检查E_mail的有效性
 
 function checkEmail(theField,s) {
  
     if(!isEmail(theField.value))
        return warnInvalid(theField,s);
     else return true; 
     return true;
 }
 
 //检查字符串s是否为数值
 
 function isNumbers(s)
 {
     var digits = "0123456789";
     var i=0;
     var sLength = s.length;
     
     while((i < sLength))
     {
        var c = s.charAt(i);
        if(digits.indexOf(c) == -1) return false;
        i++;
     }
     return true;
 }
 
 //检查字符串s是否为小数
 function isDecimal(s)
 {
     var digits = "0123456789.,";
     var i=0;
     var j=0;//小数点计数
     var sLength = s.length;
     
     while((i < sLength))
     {
        var c = s.charAt(i);
        if(digits.indexOf(c) == -1) return false;
        if (c==".")
          j++;
        if (j>1)
          return false;
        i++;
     }
     for(i=0;i<=s.length;i++)
     return true;
 }
 
 //小数检查
 function checkDecimal(theField,s)
 {
     if (theField == null) return true;
     theField.value = Dspace(theField.value);
     if(!isDecimal(theField.value))
     {
		return warnInvalid(theField,s);
     }
     if(isWhitespace(theField.value))
        return warnEmpty(theField,s);
     else return true;   
 }
 
 //检查选择框是否选择
 
 function checkSelect(theSelect,s)
 {
     if(theSelect.options[theSelect.selectedIndex].value != "") return true;
     else
     {
          theSelect.focus();
          warnEmpty(theSelect,s);
          return false;
     }
 }
 
 //检查数值输入
 
 function checkNumber(theField,s)
 {
     if (theField == null) return true;
     theField.value = Dspace(theField.value);
     if(!isNumbers(theField.value))
     {
		return warnInvalid(theField,s);
     }
     if(isWhitespace(theField.value))
        return warnEmpty(theField,s);
     else return true;   
 }
 
 //检查邮政编码
 
 function checkzip(theField,s)
 {
     if (theField == null) return true;
     theField.value = Dspace(theField.value);
     var ss = theField.value;
     var digits = "0123456789";
     var i = 0;
     var sLength = ss.length;
     
     if(sLength < 6)
        return warnInvalid(theField,s);
        
     while((i < sLength))
     {
        var c = ss.charAt(i);
        if(digits.indexOf(c) == -1)
           return warninvalid(theField,s);
        i++;   
     } 
      return true;  
 }
 
 //检查电话号码
 
 function checkPhone(theField,s)
 {
     if (theField == null) return true;
     theField.value = Dspace(theField.value);
     var ss = theField.value;
     var digits = "0123456789 -";
     var i = 0;
     var sLength = ss.length;
     
     while((i < sLength))
     {
        var c = ss.charAt(i);
        if(digits.indexOf(c) == -1)
           return warnInvalid(theField,s);
        i++;   
     }
      c = "--";
     if(ss.indexOf(c) != -1)
         return warnInvalid(theField,s);
     
     return true;    
         
 }
 
 //检查密码设置
 
 function checkPassWord(theField)
 {
   if(theField == null) return true;
   theField.value = Dspace(theField.value);
   if(theField.value.length < 4)
    {
       alert("密码长度小于4");
       theField.focus();
       return false;
    }
    else return true;
 }
 
 function checkFigure(theField,s)
 {
     var vv,ww,xx;
     vv = theField.value;
     var iPos = vv.indexOf(".");
     if(iPos == 0) vv = "0" + vv;
     if(iPos == (vv.length - 1)) vv = vv + "0";
            xx = parseFloat(vv);
            ww = xx.toString(10);
            var i = vv.length - ww.length;
            var j = 0;
            if(i > 0) {
               iPos = ww.indexOf(".");
               if(iPos == -1) {ww = ww + ".";
                               i = i-1;}
               for(j = 0;j < i;j++)
                   ww = ww + "0";
                       }
             if(ww != vv)
                return warnInvalid(theField,s);
             
             return true;                             
 }

function checkDate(theField,s)
{     
     if(!isDate(theField.value))
     {
		return warnInvalid(theField,s);
     }
     return true;   
}

var g_MINY = 1000;var g_MAXY =2500;  

var rgMC=new Array(12);
rgMC[0]=31;
rgMC[1]=28;
rgMC[2]=31;
rgMC[3]=30;
rgMC[4]=31;
rgMC[5]=30;
rgMC[6]=31;
rgMC[7]=31;
rgMC[8]=30;
rgMC[9]=31;
rgMC[10]=30;
rgMC[11]=31;
 
// 字符串到数字  
function atoi(s){  
var t = 0;  
for(var i = 0; i< s.length; i++)  
	{  
	var c = s.charAt(i);  
	if(!isdigit(c)) return t;  
	else t = t*10 + (c-'0');  
	}  
return t;  
	}  
  
//是否数字  
function isdigit(c) {return(c >= '0' && c<= '9');}  
  
// 返回月份天数  
function GetMonthCount(m,y){  
var c = rgMC[m-1];  
if((2 == m) && IsLeapYear(y)) c++;  
return c;}  
  
//是否是润年  
function IsLeapYear(y){  
if(0 == y % 4 && ((y % 100 != 0) || (y % 400 == 0))) return true;  
else return false;  
} 
 
// 获得输入日期  
function isDate(t){  
	var l = t.length;  
	if(0 == l) return false;  
	var cSp = '\0';var sSp1 = "";var sSp2 = ""; 
	if((!isdigit(t.charAt(0)))||(t.charAt(0)==0)) return false
	for(var i = 0; i< t.length; i++)  
{  
var c = t.charAt(i); 
if(isdigit(c)) continue;  
else if(cSp == '\0' && (c == '/' || c == '-' || c == '.'))  
	{  
	cSp = c;  
	sSp1 = t.substring(i+1,l);
	}  
	else if(c == cSp) sSp2 = t.substring(i+1,l);  
else if(c != cSp) return false;  
}
	if(0 == sSp1.length || sSp1.length>5) return false;  
	var m;var d;var y;  
	y = atoi(t); 
	m = atoi(sSp1); 
	d=atoi(sSp2);
	if(0 == sSp2.length || sSp2.length>2 ) return false;
	
	if(m>12||m<1) return false;
	if(d>GetMonthCount(m,y)||d<1) return false;
	if(y<g_MINY||y>g_MAXY) return false;
return true
} 

//去掉字符串两端的空格
function Dspace(str) {
	if (str != "") {
		var i = 0;
		while (str.charAt(i) == " ") {
			i = i + 1;
		}
		str = str.substr(i);
		i = str.length;
		while (str.charAt(i-1) == " ") {
			i = i - 1;
		}
		str = str.substr(0,i)
	}
	else {
		str = "";
	}
	return str;
}

//去掉字符串两端的空格
function DelSpace(str) {
	if (str != "") {
		var i = 0;
		while (str.charAt(i) == " ") {
			i = i + 1;
		}
		str = str.substr(i);
		i = str.length;
		while (str.charAt(i-1) == " ") {
			i = i - 1;
		}
		str = str.substr(0,i)
	}
	else {
		str = "";
	}
	return str;
}

//根据传入的参数设置相应列表控件的显示
//oSelect		控件
//sValue		要显示的项的值
function SetSelectIndex(oSelect, sValue)
{

	var iLength = oSelect.length;
	for (var iIndex = 0; iIndex < iLength; iIndex ++)
	{
		if (oSelect.options(iIndex).value == sValue)
		{
			oSelect.selectedIndex = iIndex;
			break;
		}
	}
}

 //万年历
 function SetDateWC(sURL,objText){
	var sDate = window.showModalDialog(sURL,"","dialogWidth:196px;dialogHeight:230px;center:yes") ;
	if(typeof(sDate)=="undefined"){ 
		sDate = "" ;
	}
	objText.value = sDate ; 
 } 

//检查文件名：文件名只能为如下字符:	a-z,A-Z,_,-,.,0-9
function CheckUploadFileName(sFile){
	if(sFile==""){
		alert("上载文件名不能为空！") ;
		return false ;
	}else{
		var iPos = sFile.lastIndexOf("\\") ;
		var sFileName = sFile.substr(iPos+1,sFile.length-iPos) ;
		var iCode ;
		var Code_a = "a".charCodeAt(0) ;
		var Code_z = "z".charCodeAt(0) ;
		var Code_A = "A".charCodeAt(0) ;
		var Code_Z = "Z".charCodeAt(0) ;
		var Code_0 = "0".charCodeAt(0) ;
		var Code_9 = "9".charCodeAt(0) ;
		var Code_ = "_".charCodeAt(0) ;		
		var Code_sub = "-".charCodeAt(0) ;
		var Code_dot = ".".charCodeAt(0) ;
		for(var i= 0 ;i<sFileName.length;i++){
			iCode = sFileName.charCodeAt(i) ;
			if(!((iCode>=Code_a && iCode<=Code_z) || (iCode>=Code_A && iCode<=Code_Z) || (iCode>=Code_0 && iCode<=Code_9) || iCode==Code_ || iCode==Code_sub || iCode==Code_dot)){
				alert("文件名不能含有中文名称，只能有以下字母组成：a-z,A-Z,0-9,_,-") ;
				return false ;
			}
		}
	}
	return true ;
}