checkInfoTime=20000;    //信息显示时间



/*
[功能] 检验字符串长度
[参数] str 要检验字符串
[作者] yhw 2007/11/18
*/
function codeLength(str){
	len2=0;
	for (var ci=0;ci<str.length;ci=ci+1){
		var code= str.charCodeAt(ci);
		if (code<128)
		        len1=1;
		else
			len1=2;
		len2=len2+len1;
    	}
	return len2;
}

/*
[功能] 检验输入是否数字
[参数] inputVal 检验内容
[作者] yhw 2007/11/18
*/
function isFloat(inputVal) {
	if (inputVal=="") return false;
	if(isNaN(inputVal)) return false;
	if (inputVal.indexOf(" ")!=-1) return false;
	return true;
}

/*
[功能] 检验输入的内容是否整数
[参数] inputVal 检验内容
[作者] yhw 2007/11/18
*/
function isInteger(inputVal) {
	if (inputVal.indexOf(" ")!=-1) return false;
	if((inputVal.indexOf('.') != -1) || (isNaN(inputVal))) return false;
	return true;
}

/*
[功能] 检验日期的有效性
[参数] inputVal 检验内容
[作者] yhw 2007/11/18
*/
function validateDate(dateStr) {
	//检查日期有效性
	//日期格式：YYYY-MM-DD
	var monthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var dateArr = dateStr.split("-");
	if(dateArr.length!=3) return false;
	var yyyy = dateArr[0];
	var mm = dateArr[1];
	var dd = dateArr[2];
	if (yyyy.length!=4) return false;
	
	if(!isInteger(yyyy) || !isInteger(mm) || !isInteger(dd)) return false;
	if(((yyyy % 4 == 0) && (yyyy % 100 != 0)) || (yyyy % 400 == 0)) monthDays[1] = 29;
	if(mm < 1 || mm > 12 || dd > monthDays[mm-1] || dd <1 ) return false;
	return true;
}


/*
[功能] 检验日期的有效性
[参数] inputVal 检验内容
[作者] yhw 2007/11/18
*/
function validateMonth(dateStr) {
	//检查日期有效性
	//日期格式：YYYY-MM-DD
	var dateArr = dateStr.split(".");
	if(dateArr.length!=2) return false;
	var yyyy = dateArr[0];
	var mm = dateArr[1];
	if (yyyy.length!=4) return false;
	
	if(!isInteger(yyyy) || !isInteger(mm)) return false;
	if(mm < 1 || mm > 12) return false;
	return true;
}


function validateMonth2(dateStr) {
	//检查日期有效性
	//日期格式：YYYY-MM-DD
	var dateArr = dateStr.split(".");
	if(dateArr.length!=2 && dateArr.length!=1) return false;
	if (dateArr.length==2) {
		var yyyy = dateArr[0];
		var mm = dateArr[1];
		if (yyyy.length!=4) return false;
	
		if(!isInteger(yyyy) || !isInteger(mm)) return false;
		if(mm < 1 || mm > 12) return false;
		return true;
	}
	else {
		var yyyy = dateArr[0];
		if (yyyy.length!=4) return false;
	
		if(!isInteger(yyyy)) return false;
		return true;		
	}
}

/*
[功能] 比较2个日期的大小
[参数] dateStr1开始日期，dateStr2 结束日期
[作者] yhw 2007/7/21
*/
function dateCompare(dateStr1,dateStr2)
{
    var dateArr1=dateStr1.split("-");
    var dateArr2=dateStr2.split("-");
    
    var startDate=new Date(dateArr1[0],dateArr1[1],dateArr1[2]); 
    var endDate=new Date(dateArr2[0],dateArr2[1],dateArr2[2]);
    
    if(startDate<=endDate)
        return true;
    else
        return false; 
}

/*
[功能] 比较2个日期的大小，返回相差的天数
[参数] dateStr1开始日期，dateStr2 结束日期
[作者] zhanglg 2010/2/2
*/
function dateCompare2(dateStr1,dateStr2)
{
    var dateArr1=dateStr1.split("-");
    var dateArr2=dateStr2.split("-");
    
    var startDate=new Date(dateArr1[0],dateArr1[1],dateArr1[2]); 
    var endDate=new Date(dateArr2[0],dateArr2[1],dateArr2[2]);
    
    var cha= (startDate - endDate) / 86400000; 
//    alert("day=" + cha);
    return cha;//Math.abs(cha); 
}

/*
[功能] 检验输入的字符串是否合法
[参数] field obj,fieldName 中文名称,lengths 长度,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkString(field,fieldName,lengths,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if ((flag!=0) && (trim(field.value)=="")) {
		alert("『"+fieldName+"』内容不能为空，请重新输入。");
		field.focus();
		return false;
	}
	if ((lengths>0) && (codeLength(field.value)>lengths)) {
		alert("『"+fieldName+"』的长度不能超过"+lengths.toString(10)+"字节，请重新输入。");
		field.focus();
		return false;
	} 
	return true;
}


/*
[功能] 检验输入的字符串是否合法 (不能输入汉字)
[参数] field obj,fieldName 中文名称,lengths 长度,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkString2(field,fieldName,lengths,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if ((flag!=0) && (field.value=="")) {
		alert("『"+fieldName+"』内容不能为空，请重新输入。");
		field.focus();
		return false;
	}
	for (i=0;i<field.value.length;i=i+1)
	{
		var code= field.value.charCodeAt(i);
		if (code>128){
			alert("『"+fieldName+"』填写了非法字符，不允许填写汉字。");
			field.focus();
			return false;
		}
	}
	if ((lengths>0) && (codeLength(field.value)>lengths)) {
		alert("『"+fieldName+"』的长度不能超过"+lengths.toString(10)+"字节，请重新输入。");
		field.focus();
		return false;
	} 

	return true;
}

/*
[功能] 检验输入的字符串是否合法 (只能输入英文和数字)
[参数] field obj,fieldName 中文名称,lengths 长度,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkString3(field,fieldName,lengths,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if ((flag!=0) && (field.value=="")) {
		alert("『"+fieldName+"』内容不能为空，请重新输入。");
		field.focus();
		return false;
	}
	if (/[^a-z0-9A-Z]/.test(field.value)){
		alert("『"+fieldName+"』填写了非法字符，只允许输入a-z,A-Z,0-9字符。");
		field.focus();
		return false;			
	}

	if ((lengths>0) && (codeLength(field.value)>lengths)) {
		alert("『"+fieldName+"』的长度不能超过"+lengths.toString(10)+"字节，请重新输入。");
		field.focus();
		return false;
	} 
	return true;
}

/*
[功能] 检验输入的字符串是否合法 (只能输入数字)
[参数] field obj,fieldName 中文名称,lengths 长度,flag 是否必填
[作者] zhanglg 2010/1/28
*/
function checkString4(field,fieldName,lengths,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if ((flag!=0) && (field.value=="")) {
		alert("『"+fieldName+"』内容不能为空，请重新输入。");
		field.focus();
		return false;
	}
	if (/[^0-9]/.test(field.value)){
		alert("『"+fieldName+"』填写了非法字符，只允许输入0-9字符。");
		field.focus();
		return false;			
	}

	if ((lengths>0) && (codeLength(field.value)>lengths)) {
		alert("『"+fieldName+"』的长度不能超过"+lengths.toString(10)+"字节，请重新输入。");
		field.focus();
		return false;
	} 
	return true;
}

/*
[功能] 判断输入数字是否合法(整数)
[参数] field obj,fieldName 中文名称,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkInteger(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if (!isInteger(field.value)) {
		alert("『"+fieldName+"』填写了非法字符，只能填写整数。");
		field.focus();
		return false;
	}
	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
	}
	if (field.value>100000000 || field.value<-100000000) {
		alert("『"+fieldName+"』填写的整数值超过了可处理范围。");
		field.focus();
		return false;
	}

	return true;
}


/*
[功能] 判断输入数字是否合法(小数)
[参数] field obj,fieldName 中文名称,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkFloat(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	if (!isFloat(field.value)&& (field.value!='')) {
		alert("『"+fieldName+"』填写了非法字符，只能填写数字。");
		field.focus();
		return false;
	}
	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
	}
	if (field.value>10000000000 || field.value<-10000000000) {
		alert("『"+fieldName+"』填写的数值超过了可处理范围。");
		field.focus();
		return false;
	}

	return true;
}


/*
[功能] 判断输入日期是否合法
[参数] field obj,fieldName 中文名称,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkDate(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	

	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
		
	}
	if (field.value!=""){
		if (!validateDate(field.value)) {
			alert("『"+fieldName+"』日期格式错误，正确格式“yyyy-mm-dd”。");
			field.focus();
			return false;
		}
	}

	return true;
}

/*
[功能] 判断输入日期是否合法
[参数] field obj,fieldName 中文名称,flag 是否必填
[作者] yhw 2007/11/18
*/
function checkMonth(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	

	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
		
	}
	if (field.value!=""){
		if (!validateMonth(field.value)) {
			alert("『"+fieldName+"』日期格式错误，正确格式(例如）“2003.03”。");
			field.focus();
			return false;
		}
	}

	return true;
}

function checkMonth2(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	

	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
		
	}
	if (field.value!=""){
		if (!validateMonth2(field.value)) {
			alert("『"+fieldName+"』日期格式错误，正确格式“yyyy.mm”或者“yyyy”。");
			field.focus();
			return false;
		}
	}

	return true;
}

/*
[功能] 判断输入日期是否合法
[参数] field obj,fieldName 中文名称,flag 是否必填
[作者] yhw 2007/11/18
*/
function Em(str){return(/^([\.\w-]){3,}@([\w-]){3,}(\.([\w]){2,4}){1,2}$/.test(str))}

function checkEmail(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}
	if (field.value!="") {
		if (!Em(field.value)) {
			alert("『"+fieldName+"』Email格式错误，正确格式“xxxx@yyyy.zzz”。");	
			field.focus();
			return false;
		}
	}
	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
	}
	return true;
}

/*
[功能] 全选当前form的checkbox
[参数] fmName form名称
[作者] yhw 2007/11/18
*/
function selectAll(fmName)
{
  for (var i=0;i<fmName.elements.length;i++)
  {
    if (fmName.elements[i].type=='checkbox')
    {
      fmName.elements[i].checked = true;
    }
  }
return false;
}

/*
[功能] 全选当前form的checkbox
[参数] fmName form名称
[作者] yhw 2007/11/18
*/
function selectReverse(fmName)
{
  for (var i=0;i<fmName.elements.length;i++)
  {
    if (fmName.elements[i].type=='checkbox')
    {
//        if (fmName.elements[i].checked == true)
//        {
          fmName.elements[i].checked=false;
//        }
//        else
//        {
//          fmName.elements[i].checked=true;
//        }
    }
  }
return false;
}

function selectCount(fmName)
{
	var count=0;
	for (var i=0;i<fmName.elements.length;i++)
	{
		if (fmName.elements[i].type=='checkbox')
		{
			if (fmName.elements[i].checked == true)
			{
				count++;
			}
		}
	}
	return count;
}

function selectCount1(fmName)
{
    var count=0;
    for (var i=0;i<fmName.elements.length;i++)
    {
	    if (fmName.elements[i].type=='checkbox'||fmName.elements[i].id!='CklSelectAll')
	    {
		    if (fmName.elements[i].checked == true)
		    {
			    count++;
		    }
	    }
    }
    return count;
}

function selectReverse1(fmName)
{
	for (var i=0;i<fmName.elements.length;i++)
	{
		if (fmName.elements[i].type=='checkbox'||fmName.elements[i].id!='CklSelectAll')
		{
			if (document.getElementById("CklSelectAll").checked == true)
			{
				fmName.elements[i].checked=true;
			}
			else
			{
				fmName.elements[i].checked=false;
			}
		}
	}
	return false;
}

function checkGoPage(txtNewPage)
{
   if(!checkInteger(txtNewPage,'页码',1)) return false;
}

function trim(str)
{
    return str.replace(/^\s*|\s*$/g,"");
}			
