﻿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(yyyy<1754) 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 validateDateTime(dateStr) {
	//检查日期有效性
	//日期格式：YYYY-MM-DD
	var timeParts = dateStr.split(" ");
	
	if(!validateDate(timeParts[0])) return false;
	var timeArr = timeParts[1].split(":");
	
	var hh=timeArr[0];
	var mm=timeArr[1];
	var ss=timeArr[2];
	
	if(!isInteger(hh) || !isInteger(mm) || !isInteger(ss)) return false;
	
	if(hh <0 || hh > 59 || mm<0||mm>59 || ss<0||ss>59 ) 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 validateYear(str){
   if (str.length!=4) return false;
   if (!isInteger(str)) 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; 
}

/*
[功能] 检验输入的字符串是否合法
[参数] field obj,fieldName 中文名称,lengths 长度,flag 是否必填
[作者] yhw 2007/11/18
*/
// 去掉字符串的头空格（左空格）
    function LTrim(str){ 
        var i;
        for(i=0;i<str.length; i++) {
            if(str.charAt(i)!=" ") break;
        }
        str = str.substring(i,str.length);
        return str;
    }
    
    // 去掉字符串的尾空格（右空格）
    function RTrim(str){
        var i;
        for(i=str.length-1;i>=0;i--){
            if(str.charAt(i)!=" ") break;
        }
        str = str.substring(0,i+1);
        return str;
    }
    
    // 去掉字符串的头尾空格（左右空格）
    function Trim(str){
        return LTrim(RTrim(str));
    }


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;
}


function checkYear(field,fieldName,flag) {
    if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	
	
	if ((flag!=0) && (field.value=="")) {
		alert("『"+fieldName+"』内容不能为空，请重新输入。");
		field.focus();
		return false;
	}

    if(!validateYear(field.value))
    {
       alert("『"+fieldName+"』填写不合法,请重新输入。");
       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 中文名称,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<0) {
		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.value="";
		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.value="";
		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;
}

function validateDateTimes(datefiled)
{
    var dateArr1=datefiled.split("-");
    if(dateArr1.length<0) return false;
   
}


function checkDateTime(field,fieldName,flag) {
	if (!isVarDefined(field)) {
		alert('类型未定义，可能网页没有完全载入或者程序错误。');
		return false;
	}	

	if ((flag==1) && (field.value=='')) {
		alert("『"+fieldName+"』的内容不能为空。");
		field.focus();
		return false;
		
	}
	if (field.value!=""){
		if (validateDateTimes(field.value)) {
			alert("『"+fieldName+"』日期格式错误，正确格式“2006-01-01”。");
			field.value="2006-01-01";
			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'&&fmName.elements[i].id!='CklSelectAll')
    {
        fmName.elements[i].checked=fmName.CklSelectAll.checked;
    }
  }
  
   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,"");
}	

function ShowCode(typeName,StrCurrentValue,columns,width,height){
 	var abc;
 	var tempHeight
 	if (window.XMLHttpRequest) 
 	{ //Mozilla, Safari,IE7 
        if(!window.ActiveXObject){ // Mozilla, Safari,
                //alert('Mozilla, Safari');
                tempHeight=height;
               window.open('../../controls/showcode.aspx?typeName='+typeName+'&CurrentValue='+StrCurrentValue+'&columns='+columns,'newWin','modal=yes,width='+width+'px,height='+tempHeight+'px,resizable=no,scrollbars=no'); 
        } 
        else {
                //alert('IE7');
                tempHeight=height;
                abc=window.showModalDialog('../../controls/showcode.aspx?typeName='+typeName+'&CurrentValue='+StrCurrentValue+'&columns='+columns,'SomeWin',"dialogWidth:"+width+"px;dialogHeight:"+tempHeight+"px;center=no'");
        }
    } 
    else {
            //alert('IE6');
            tempHeight=parseInt(height)+51;
            abc=window.showModalDialog('../../controls/showcode.aspx?typeName='+typeName+'&CurrentValue='+StrCurrentValue+'&columns='+columns,'SomeWin',"dialogWidth:"+width+"px;dialogHeight:"+tempHeight+"px;center=no'");
            
    }
	if (typeof(abc)=="undefined"){
	abc=""}
	return abc;
}	

function  CheckDateTime(str){
       var  reg  =  /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
       var  r  =  str.match(reg);
       if(r==null)return  false;
       r[2]=r[2]-1;
       var  d=  new  Date(r[1],  r[2],r[3],  r[4],r[5],  r[6]);
       if(d.getFullYear()!=r[1])return  false;
       if(d.getMonth()!=r[2])return  false;
       if(d.getDate()!=r[3])return  false;
       if(d.getHours()!=r[4])return  false;
       if(d.getMinutes()!=r[5])return  false;
       if(d.getSeconds()!=r[6])return  false;
       if (str.length!=19) return false;
       return  true;

  }
	
	
function selectData(typeName,StrCurrentValue,width,height){
	var abc;
	
	var tempHeight
 	if (window.XMLHttpRequest) 
 	{ //Mozilla, Safari,IE7 
        if(!window.ActiveXObject){ // Mozilla, Safari,
                //alert('Mozilla, Safari');
                tempHeight=height;
        } 
        else {
                //alert('IE7');
                tempHeight=height;
        }
    } 
    else {
            //alert('IE6');
            tempHeight=parseInt(height)+51; 
    }
    
	abc=window.showModalDialog('../../controls/select_data.aspx?typeName='+typeName+'&CurrentValue='+StrCurrentValue,'SomeWin',"dialogWidth:"+width+"px;dialogHeight:"+tempHeight+"px;center=no'");
	if (typeof(abc)=="undefined"){
	abc=""}
	return abc;
	return false;
}

function selectData2(typeName,StrCurrentValue,width,height){
	var abc;
	
	var tempHeight
 	if (window.XMLHttpRequest) 
 	{ //Mozilla, Safari,IE7 
        if(!window.ActiveXObject){ // Mozilla, Safari,
                //alert('Mozilla, Safari');
                tempHeight=height;
        } 
        else {
                //alert('IE7');
                tempHeight=height;
        }
    } 
    else {
            //alert('IE6');
            tempHeight=parseInt(height)+51; 
    }
	abc=window.showModalDialog('../../controls/select_data2.aspx?typeName='+typeName+'&CurrentValue='+StrCurrentValue,'SomeWin',"dialogWidth:"+width+"px;dialogHeight:"+tempHeight+"px;center=no'");
	if (typeof(abc)=="undefined"){
	abc=""}
	return abc;
	return false;
}

function selectData3(StrCurrentValue,width,height){
	var abc;
	
	var tempHeight
 	if (window.XMLHttpRequest) 
 	{ //Mozilla, Safari,IE7 
        if(!window.ActiveXObject){ // Mozilla, Safari,
                //alert('Mozilla, Safari');
                tempHeight=height;
        } 
        else {
                //alert('IE7');
                tempHeight=height;
        }
    } 
    else {
            //alert('IE6');
            tempHeight=parseInt(height)+51; 
    }
	abc=window.showModalDialog('../../controls/select_data3.aspx?CurrentValue='+StrCurrentValue,'SomeWin',"dialogWidth:"+width+"px;dialogHeight:"+tempHeight+"px;center=no'");
	if (typeof(abc)=="undefined"){
	abc=""}
	return abc;
	return false;
}

//判断变量V是否为空值
function IsEmpty(v){ 
switch (typeof v){ 
case 'undefined' : return true; 
case 'string' : if(trim(v).length == 0) return true; break; 
case 'boolean' : if(!v) return true; break; 
case 'number' : if(0 === v) return true; break; 
case 'object' : 
if(null === v) return true; 
if(undefined !== v.length && v.length==0) return true; 
for(var k in v){return false;} return true; 
break; 
} 
return false; 
}
