//function:  add item
//parameters:
    //formName,objName,desName:窗体和html控件的名字
    //arrayShow:    option的显示
    //arrayValue:   option的value
function Do_po_Change(objName, desName,formName,arrayShow,arrayValue) {
    //GET OBJECT ID AND DESTINATION OBJECT
    ObjID    = GetObjID(objName,formName);
    DesObjID = GetObjID(desName,formName);

    var num,n, i, m;

    m = formName.elements[ObjID].selectedIndex-1;
    n = formName.elements[DesObjID].length;
    for(i = n - 1; i >0; i--)
    formName.elements[DesObjID].options[i] = null;

    if (m>=0) {
        for(i = 0; i < arrayShow[m].length; i++){
            NewOptionName = new Option(arrayShow[m][i], arrayValue[m][i]);
            formName.elements[DesObjID].options[i] = NewOptionName;
        }

        //formName.elements[DesObjID].options[0].selected = true;
        formName.elements[DesObjID].focus();
    }
}

//function:  get objid
//parameters:
    //formName,objName:窗体和html控件的名字
function GetObjID(objName,formName) {
    for (var ObjID=0; ObjID < formName.elements.length; ObjID++)
    if ( formName.elements[ObjID].name == objName ) {
        return(ObjID);
        break;
    }
    return(-1);
}

//function:   check ,must exist one or more  item
//parameters:
    //formName,objName:窗体和html控件(select)的名字
function CheckItemExist(ObjName,formname) {
    ObjID = GetObjID(ObjName,formname);

    if (ObjID != -1){
        if(formName.elements[ObjID].length>=1){return true;}
    }
    return false;
}

//function:   check text length
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //len: 最大长度限制(字结数)
    //noNull:不许为空的标志
    //noBlank:字符串中不能有空格
function lenCheck(formName,objName,title,len,noNull,noBlank) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);

    formName.elements[ObjID].value=str;//trim input

    //null judge
    if(str=="" && noNull){
        alert(title+"不能为空!");
        formName.elements[ObjID].focus();
        return false;
    }
    //no blank
    if(noBlank){
        var bBlank=noBlankIn(str);
        if(bBlank==false){
            alert(title+"中不能有空格!");
            formName.elements[ObjID].select();
            return false;
        }
    }
    //lens judge
    var lens=trueLen(str);

    if(lens>len){
        alert(title+"的长度超过了"+len/2+"个汉字");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end fun


//function:     check select,must select one item (but not the first one)
//parameters:
    //formName,objName:窗体和html控件(select)的名字
    //title:提示信息
    //noNull:不许选择的标志
function selectCheck(formName,objName,title,noNull) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    if(!noNull){return true;}

    //not select judge
    if(formName.elements[ObjID].selectedIndex<=0){
        alert("请选择"+title+"!");
        formName.elements[ObjID].selectedIndex=0;
        formName.elements[ObjID].focus();
        return false;
    }
    return true;

}//end fun

//对于复选框的情况
function listSelectCheck(formName,objName,title,noNull) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    if(!noNull){return true;}

    //not select judge
    if(formName.elements[ObjID].selectedIndex<0){
        alert("请选择"+title+"!");
        formName.elements[ObjID].selectedIndex=0;
        formName.elements[ObjID].focus();
        return false;
    }
    return true;

}



//function      //用于判断一个数字型字符串是否为long型，非float
                //还可判断是否是正数或负数，返回值为true或false
//parameters:
    //formName,objName:窗体和文本框的名字
    //title:提示信息
    //str: 需要判断的字符串
    //len: 最大长度限制
    //min: 最小
    //max：最大
function isLong(formName,objName,title,len,noNull,min,max) {
    ObjID  = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //null judge
    if(str=="" && noNull) {
        alert(title+"不能为空!");
        formName.elements[ObjID].focus();
        return false;
    }
    //naN judge
    var number= new Number(str);
    if (isNaN(number)) {
        alert(title+"为非法数字!");
        formName.elements[ObjID].select();
        return false;
    }

    //小数点
    if(str.indexOf('.')!=-1){
        alert(title+"的输入中不能有小数点!");
        formName.elements[ObjID].select();
        return false;
    }
    //大小
    if(min!=null && number<min){
        alert(title+"的最小值应为 "+min+" !");
        formName.elements[ObjID].select();
        return false;
    }else if(max!=null && number>max){
        alert(title+"的最大值应为 "+max+" !");
        formName.elements[ObjID].select();
        return false;
    }
    //长度
    str=number.toString(10);
    var bRe=lenCheck(formName,objName,title,len,noNull);
    return(bRe);
}//end function

//function      //用于判断一个数字型字符串是否为float
                //还可判断是否是正数或负数，返回值为true或false
//parameters:
    //formName,objName:窗体和文本框的名字
    //title:提示信息
    //str: 需要判断的字符串
    //len: 最大长度限制
    //min: 最小
    //max：最大
function isFloat(formName,objName,title,len,noNull,min,max) {
    ObjID  = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //null judge
    if(str=="" && noNull){
        alert(title+"不能为空!");
        formName.elements[ObjID].focus();
        return false;
    }
    //naN judge
    var number= new Number(str);
    if (isNaN(number)) {
        alert(title+"为非法数字!");
        formName.elements[ObjID].select();
        return false;
    }

    //大小
    if(min!=null && number<min){
        alert(title+"的最小值应为 "+min+" !");
        formName.elements[ObjID].select();
        return false;
    }else if(max!=null && number>max){
        alert(title+"的最大值应为 "+max+" !");
        formName.elements[ObjID].select();
        return false;
    }
    //长度
    str=number.toString(10);
    var bRe=lenCheck(formName,objName,title,len,noNull);
    return(bRe);
}//end function

//function      //用于判断一个数字型字符串是否为 double
                //还可判断是否是正数或负数，返回值为true或false
//parameters:
    //formName,objName:窗体和文本框的名字
    //title:提示信息
    //str: 需要判断的字符串
    //len: 最大长度限制
    //min: 最小
    //max：最大
function isDouble(formName,objName,title,len,noNull,min,max) {
    ObjID  = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //null judge
    if(str=="" && noNull){
        alert(title+"不能为空!");
        formName.elements[ObjID].focus();
        return false;
    }

    //naN judge
    var number= new Number(str);
    if (isNaN(number)) {
        alert(title+"为非法数字!");
        formName.elements[ObjID].select();
        return false;
    }

    //大小
    if(min!=null && number<min){
        alert(title+"的最小值应为 "+min+" !");
        formName.elements[ObjID].select();
        return false;
    }else if(max!=null && number>max){
        alert(title+"的最大值应为 "+max+" !");
        formName.elements[ObjID].select();
        return false;
    }
    //长度
    str=number.toString(10);
    var bRe=lenCheck(formName,objName,title,len,noNull);
    return(bRe);
}//end function

//======================================
//Purpose: Trim left spaces
//======================================
function lTrim(str){
    var rtnStr;
    rtnStr=""
    for (var i=0;i<str.length;i++){
      if (str.charAt(i)!=" "){
        rtnStr=str.substr(i);
        break;
      }
    }
return rtnStr;
}

//======================================
//Purpose: trim right spaces
//======================================
function rTrim(str){
    var rtnStr;
    rtnStr=""
    for (var i=str.length-1;i>=0;i--){
        if (str.charAt(i)!=" "){
            rtnStr=str.substring(0,i+1);
            break;
        }
    }
    return rtnStr;
}

//======================================
//Purpose: trim both left and right spaces
//======================================
function trim(str){
    return(lTrim(rTrim(str)));
}

//是否是null
function isNull(formName,objName) {
    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
//        formName.elements[ObjID].value=str;//trim input

      //naN judge
    if (str=="") {
//      alert(title+"为非法数字!");
//  formName.elements[ObjID].select();
        return true;
    }
    return false;
}//end function


//check text length equal a specialed length
//noBlank:字符串中不能有空格
function lenMust(formName,objName,title,len,noBlank) {

    ObjID = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //null judge
    if(str==""){
        alert(title+"不能为空,必须是"+len+"个字节!");
        formName.elements[ObjID].focus();
        return false;
    }
    //no blank
    if(noBlank){
        var bBlank=noBlankIn(str);
        if(bBlank==false){
            alert(title+"中不能有空格!");
            formName.elements[ObjID].select();
            return false;
        }
    }
    //lens judge
    var lens=trueLen(str);
    if(lens!=len){
        alert(title+"的长度必须是"+len+"个字节!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end fun

//价格不允许小于零
//----edit by changchenghu
function isNoZero(formName,objName,title) {
    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //naN judge
    //var number= new Number(str);
    if (str<=0) {
        alert(title+"不能小于等于零!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end function

//是否是不小于0的数字(>=0)
//----edit by xiaoqiao
function isNoLessThanZero(formName,objName,title) {
    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //naN judge
    var number= new Number(str);
    if (isNaN(number)) {
        alert(title+"为非法数字!");
        formName.elements[ObjID].select();
        return false;
    }
    else if (number<0) {
        alert(title+"不能小于零!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end function

//是否是数字
function isNumber(formName,objName,title)
{
    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //naN judge
    var number= new Number(str);
    if (isNaN(number)) {
        alert(title+"为非法数字!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end function

//noBlank:字符串中不能有空格
//限定某一元素的长度必须为len1或len2两种之一
function lenMust2(formName,objName,title,len1,len2,noBlank) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;

    //null judge
    if(str==""){
        alert(title+"不能为空,必须是"+len1+"或者"+len2+"个字节!");
        formName.elements[ObjID].focus();
        return false;
    }
    //no blank
    if(noBlank){
        var bBlank=noBlankIn(str);
        if(bBlank==false){
            alert(title+"中不能有空格!");
            formName.elements[ObjID].select();
            return false;
        }
    }
    //lens judge
    var lens=trueLen(str);
    if(lens!=len1 &&lens!=len2){
        alert(title+"的长度必须是"+len1+"或者"+len2+"个字节!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end fun

//noBlank:字符串中不能有空格
//限定某一元素的长度必须为len1或len2或len3三种之一
function lenMust3(formName,objName,title,len1,len2,len3,noBlank) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;

    //null judge
    if(str==""){
        alert(title+"不能为空,必须是"+len1+"，"+len2+"或者"+len3+"个字节!");
        formName.elements[ObjID].focus();
        return false;
    }
    //no blank
    if(noBlank){
        var bBlank=noBlankIn(str);
        if(bBlank==false){
            alert(title+"中不能有空格!");
            formName.elements[ObjID].select();
            return false;
        }
    }
    //lens judge
    var lens=trueLen(str);
    if(lens!=len1 &&lens!=len2 &&lens!=len3){
        alert(title+"的长度必须是"+len1+"，"+len2+"或者"+len3+"个字节!");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
}//end fun



//check text length
function strMust(formName,objName,strValue) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=formName.elements[ObjID].value;

    //equal judge
    if(str!=strValue){
        return false;
    }
    return true;

}//end fun


//======================================
//Purpose: 字串中不能有空格
//======================================
function noBlankIn(str){
    for (var i=0;i<str.length;i++){
        if (str.charAt(i)==" "){
            return false;
        }
    }
    return true;
}//end fun

//function:   legalStr
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //noBlank:字符串中不能有空格
function legalStr(formName,objName,title,noBlank) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);

    formName.elements[ObjID].value=str;//trim input
    //no blank
    if(noBlank){
        var bBlank=noBlankIn(str);
        if(bBlank==false){
            alert(title+"中不能有空格!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun


//function:   lenGet
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
//desc:得到指定text的字符串长度
function lenGet(formName,objName) {

    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str=trim(formName.elements[ObjID].value);
    formName.elements[ObjID].value=str;//trim input

    //lens judge
    var lens=trueLen(str);

    return lens;

}//end fun

//判断是否时正确年份
function isRightYear(formName,objName) {
    ObjID    = GetObjID(objName,formName);
    if (ObjID == -1){return false;}

    var str1=trim(document.forms[0].elements[ObjID1].value);
    var year= new Number(str1);
    var d=new Date();

    if(isNaN(str1)){
        alert("年份为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID1].select();
        return false;
    }
    if(year<d.getYear()-100){
        alert("年份过小，请重新填写");
        formName.elements[ObjID1].select();
        return false;
    }

    return true;
}

//判断是否为合法的日期段
//allow:  是否可以大于系统日期
//both:   是否都要输入
function ValidDateCompare(formName,objName1,objName2,objName3,objName4,objName5,objName6,allow,both){
	try
	{
	    ObjID1    = GetObjID(objName1,formName);
	    if (ObjID1 == -1){return false;}

	    ObjID2    = GetObjID(objName2,formName);
	    if (ObjID2 == -1){return false;}

	    ObjID3    = GetObjID(objName3,formName);
	    if (ObjID3 == -1){return false;}

	    ObjID4    = GetObjID(objName4,formName);
	    if (ObjID4 == -1){return false;}

	    ObjID5    = GetObjID(objName5,formName);
	    if (ObjID5 == -1){return false;}

	    ObjID6    = GetObjID(objName6,formName);
	    if (ObjID6 == -1){return false;}

	    var str1=trim(formName.elements[ObjID1].value);
	    var str2=trim(formName.elements[ObjID2].value);
	    var str3=trim(formName.elements[ObjID3].value);
	    var str4=trim(formName.elements[ObjID4].value);
	    var str5=trim(formName.elements[ObjID5].value);
	    var str6=trim(formName.elements[ObjID6].value);

	    var date_from=str1+"-"+str2+"-"+str3;
	    var date_to=str4+"-"+str5+"-"+str6;
	    //each
	    if(date_from!="--"){
	        if(!isValidDateFunction(formName,objName1,objName2,objName3,allow)){return false;}
	    }
	    if(date_to!="--"){
	        if(!isValidDateFunction(formName,objName4,objName5,objName6,allow)){return false;}
	    }
	    //both
	    if(both){
	        if(!isValidDateFunction(formName,objName1,objName2,objName3,allow)){return false;}
	        if(!isValidDateFunction(formName,objName4,objName5,objName6,allow)){return false;}
	    }
	    //compare
	    if(date_from!="--" && date_to!="--"){
	        var year_from= new Number(str1);
	        var month_from= new Number(str2);
	        var day_from= new Number(str3);
	        var year_to= new Number(str4);
	        var month_to= new Number(str5);
	        var day_to= new Number(str6);

	        ObjID1    = GetObjID(objName1,formName);
	        if (ObjID1 == -1){return false;}

	        ObjID2    = GetObjID(objName2,formName);
	        if (ObjID2 == -1){return false;}

	        ObjID3    = GetObjID(objName3,formName);
	        if (ObjID3 == -1){return false;}

	        if(year_from>year_to){
	            alert("开始年份大于结束年份!");
	            formName.elements[ObjID1].select();
	            return false;
	        }
	        if(year_from<year_to) return true;//add by wnz 2001.10.8
	        if(month_from>month_to){
	            alert("开始月份大于结束月份!");
	            formName.elements[ObjID2].select();
	            return false;
	        }
	        if(month_from<month_to) return true;//add by wnz 2001.10.8
	        if(day_from>day_to){
	            alert("开始日期大于结束日期!");
	            formName.elements[ObjID3].select();
	            return false;
	        }

	    }
	}catch(ex)
	{
		return false ;
	}
    return true;
}


//判断数值是否为合法的日期值,可以大于系统日期
function isValidDateAllow(formName,objName1,objName2,objName3){
    return isValidDateFunction(formName,objName1,objName2,objName3,true);
}

//判断数值是否为合法的日期值,不可以大于系统日期
function isValidDate(formName,objName1,objName2,objName3){
    return isValidDateFunction(formName,objName1,objName2,objName3,false);
}


//判断数值是否为合法的日期值和时间,必须大于系统日期和时间(年，月，日，时，分)
function isValidDateTimeGreaterSubmit(formName,objName1,objName2,objName3,objName4,objName5){

    ObjID1    = GetObjID(objName1,formName);//年
    if (ObjID1 == -1){return false;}

    ObjID2    = GetObjID(objName2,formName);//月
    if (ObjID2 == -1){return false;}

    ObjID3    = GetObjID(objName3,formName);//日
    if (ObjID3 == -1){return false;}

    ObjID4    = GetObjID(objName4,formName);//时
    if (ObjID4 == -1){return false;}

    ObjID5    = GetObjID(objName5,formName);//分
    if (ObjID5 == -1){return false;}

    var str1=trim(formName.elements[ObjID1].value);
    var str2=trim(formName.elements[ObjID2].value);
    var str3=trim(formName.elements[ObjID3].value);
    var str4=trim(formName.elements[ObjID4].value);
    var str5=trim(formName.elements[ObjID5].value);

    if(isNaN(str1)){
        alert("年份为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID1].select();
        return false;
    }
    if(isNaN(str2)){
        alert("月份为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID2].select();
        return false;
    }
    if(isNaN(str3)){
        alert("日期为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID3].select();
        return false;
    }
    if(isNaN(str4)){
        alert("小时为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID4].select();
        return false;
    }
    if(isNaN(str4)){
        alert("分钟为非法字符!\n请输入合法的数字!");
        formName.elements[ObjID4].select();
        return false;
    }

    var year= new Number(str1);
    var month= new Number(str2);
    var day= new Number(str3);
    var hour= new Number(str4);
    var minute= new Number(str5);

    var d=new Date();

        if(year<d.getYear()){ //处理年
            alert("年份小于当前时间，请重新填写");
            formName.elements[ObjID1].select();
            return false;
        }else if( year==d.getYear() ){ //处理月
	    if( month<(d.getMonth()+1)){
                alert("月份小于当前时间，请重新填写");
                formName.elements[ObjID2].select();
                return false;
            }else if( month==(d.getMonth()+1)){
                if(day < d.getDate()){
                    alert("日期小于当前时间，请重新填写");
                    formName.elements[ObjID3].select();
                    return false;
                }else if( day == d.getDate()){
                    if(hour < d.getHours()){
                        alert("小时小于当前时间，请重新填写");
                        formName.elements[ObjID4].select();
                        return false;
                    }else if( hour == d.getHours()){
			if(minute < d.getMinutes()){
                            alert("分钟小于当前时间，请重新填写");
                            formName.elements[ObjID5].select();
                            return false;
                        }
                    }
                }
            }
        }

    return isValidDateFunction(formName,objName1,objName2,objName3,true);
}


//判断数值是否为合法的日期值
function isValidDateFunction(formName,objName1,objName2,objName3,allow){
	try
	{
	    ObjID1    = GetObjID(objName1,formName);
	    if (ObjID1 == -1){return false;}

	    ObjID2    = GetObjID(objName2,formName);
	    if (ObjID2 == -1){return false;}

	    ObjID3    = GetObjID(objName3,formName);
	    if (ObjID3 == -1){return false;}

	    var str1=trim(formName.elements[ObjID1].value);
	    var str2=trim(formName.elements[ObjID2].value);
	    var str3=trim(formName.elements[ObjID3].value);

	    if(isNaN(str1)){
	        alert("年份为非法字符!\n请输入合法的数字!");
	        formName.elements[ObjID1].select();
	        return false;
	    }
	    if(isNaN(str2)){
	        alert("月份为非法字符!\n请输入合法的数字!");
	        formName.elements[ObjID2].select();
	        return false;
	    }
	    if(isNaN(str3)){
	        alert("日期为非法字符!\n请输入合法的数字!");
	        formName.elements[ObjID3].select();
	        return false;
	    }

	    var year= new Number(str1);
	    var month= new Number(str2);
	    var day= new Number(str3);

	    var d=new Date();

	    if(year<d.getYear()-100){
	        alert("年份过小，请重新填写");
	        formName.elements[ObjID1].select();
	        return false;
	    }

	    if(allow == false){
	        if(year>d.getYear()){
	            alert("年份大于当前时间，请重新填写");
	            formName.elements[ObjID1].select();
	            return false;
	        }
	        if( year==d.getYear() ){
	            if( month==(d.getMonth()+1)){
	                if(day > d.getDate()){
	                    alert("日期大于当前时间，请重新填写");
	                    formName.elements[ObjID3].select();
	                    return false;
	                }
	            }else if( month>(d.getMonth()+1)){
	                alert("月份大于当前时间，请重新填写");
	                formName.elements[ObjID2].select();
	                return false;
	            }
	        }
	    }

	    if(month<1 | month>12 ){
	        alert("月份请输入1至12之间的值");
	        formName.elements[ObjID2].select();
	        return false;
	    }

	    if(month==1 | month==3 |month==5 |month==7 | month==8 |month==10 |month==12){
	        if(day > 31 | day<1) {
	            alert("请输入合法的日期 !");
	            formName.elements[ObjID3].select();
	            return false;
	        }
	    }else if( month==4 |month==6 |month==9 | month==11){
	        if(day > 30 | day<1) {
	            alert("请输入合法的日期 !");
	            formName.elements[ObjID3].select();
	            return false;
	        }
	    }else if (month==2){
	        //若为闰年，则日期不能大于29
	        if((year%400 == 0)|(year%100 !=0 && year%4 == 0)) {
	            if(day > 29 | day<1) {
	                alert("请输入合法的日期 !");
	                formName.elements[ObjID3].select();
	                return false;
	            }
	        } else {//一般月份不可大于28日
	            if(day > 28 | day<1) {
	                alert("请输入合法的日期 !");
	                formName.elements[ObjID3].select();
	                return false;
	            }
	        }
	    }
	}catch(ex)
	{
		return false ;
	}
    return true;
}//end fun

//function:   check phone text
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //len: 最大长度限制(字结数)
    //noNull:不许为空的标志
    //noBlank:字符串中不能有空格
function phoneCheck(formName,objName,title,len,noNull,noBlank) {

    if(!lenCheck(formName,objName,title,len,noNull,noBlank)){return false;}

    //check
    ObjID    = GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="0123456789#, *-()";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title+"为无效电话号码!\n请输入正确的电话号码，如：\n(010) 68731199\n68731199-1234\n68731199#123\n68731199 123\n68731199*123");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;
}//end fun

//function:   check mobilephone
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //len: 最大长度限制(字结数)
    //noNull:不许为空的标志
    //noBlank:字符串中不能有空格
function mobileCheck(formName,objName,title,len,noNull,noBlank) {

    if(!lenCheck(formName,objName,title,len,noNull,noBlank)){return false;}

    //check
    ObjID= GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="0123456789";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title+"为无效手机号码!\n请输入正确的手机号码，如：13901234567。");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;
}//end fun

//function:   判断十进制数字
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //len: 最大长度限制(字结数)
    //noNull:不许为空的标志
function decadeCheck(formName,objName,title,len,noNull) {

    if(!lenCheck(formName,objName,title,len,noNull,null)){return false;}

    //check
    ObjID    = GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="0123456789";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title+"为无效输入!\n正确的输入值是十进制数字!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun


/**
    *  十六进制数字校验
    */
function HexCheck(formName,objName,title,len,noNull) {

    if(!lenCheck(formName,objName,title,len,noNull,null)){return false;}

    //check
    ObjID = GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="0123456789ABCDEFabcdef";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title+"为无效输入!\n正确的输入值是十六进制数字!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun

/**
    *  二进制数字校验
    */
function BinaryCheck(formName, objName, title, len, noNull) {
    if(!lenCheck(formName, objName, title, len, noNull, null)) return false;

    //check
    ObjID = GetObjID(objName, formName);
    var str = trim(formName.elements[ObjID].value);

    var okStr="01";
    for (var i=0; i<str.length; i++){
        if (okStr.indexOf(str.charAt(i)) == -1) {
            alert(title+"为无效输入!\n正确的输入值是二进制数字!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;
}//end fun

//function:   check email
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
    //len: 最大长度限制(字结数)
    //noNull:不许为空的标志
    //noBlank:字符串中不能有空格
function emailCheck(formName,objName,title,len,noNull,noBlank) {

    if(!lenCheck(formName,objName,title,len,noNull,noBlank)){return false;}
    ObjID= GetObjID(objName,formName);

    var str=trim(formName.elements[ObjID].value);
    var str_1="@";
    var str_2=".";
    var bRe=true;

    if(str!=""){
        if(str.indexOf(str_1)==-1 || str.indexOf(str_2)==-1){
            bRe=false;
        }
        if(str=="@."){
            bRe=false;
        }
    }

    if(!bRe){
        alert(title+"为无效EMAIL地址!\n请输入正确的EMAIL地址，如：foo@abc.com。");
        formName.elements[ObjID].select();
        return false;
    }
    return true;

/*
    if(!lenCheck(formName,objName,title,len,noNull,noBlank)){return false;}
    ObjID= GetObjID(objName,formName);

    var email=trim(formName.elements[ObjID].value);
    var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
    flag = pattern.test(email);
    if(!flag){
        alert(title+"为无效EMAIL地址!\n请输入正确的EMAIL地址，如：foo@abc.com !");
        formName.elements[ObjID].select();
        return false;
    }
    return true;
*/
}//end fun


//function:   check legal char-set (a...zA...Z 0...9-_)
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
function legalCharSet65(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    el = formName.elements[ObjID];
    if (typeof(el)=="undefined") return true;
    var str=trim(el.value);

    var pattern = new RegExp("^[a-zA-Z 0-9\-_]*$");

    flag = pattern.test(str);
    if(!flag){
        alert(title + " 包含无效字符\r\n合法的字符只有英文大小写字母、空格符、阿拉伯\r\n数字、减号和下划线。");
        el.select();
        return false;
    }
    return true;
}//end fun

//function:   check legal char-set (a...zA...Z0...9-_)
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
function legalCharSet64(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    el = formName.elements[ObjID];
    if (typeof(el)=="undefined") return true;
    var str=trim(el.value);

    var pattern = new RegExp("^[a-zA-Z0-9\-_]*$");

    flag = pattern.test(str);
    if(!flag){
        alert(title + " 包含无效字符\r\n合法的字符只有英文大小写字母、阿拉伯\r\n数字、减号和下划线。");
        el.select();
        return false;
    }
    return true;
}//end fun

//function:   check legal char-set (0...9)
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
function legalCharSet10(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    el = formName.elements[ObjID];
    if (typeof(el)=="undefined") return true;
    var str=trim(el.value);

    var pattern = new RegExp("^[0-9]*$");

    flag = pattern.test(str);
    if(!flag){
        alert(title + " 包含无效字符\r\n合法的字符只有阿拉伯数字。");
        el.select();
        return false;
    }
    return true;
}//end fun

//function:   check legalLetter
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
function legalLetter(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="~`!@#$%^&*()_-+=|\\{[}]:;<,>.?\"/'";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))!=-1){
            alert(title+"含有非法字符!\n禁止输入的字符集如下：\n"+okStr);
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun

function legalLetter2(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="~`!@#$%^&*()_-+=|{[}];<,>.?\"/'";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))!=-1){
            alert(title+"含有非法字符!\n禁止输入的字符集如下：\n"+okStr);
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun


//function:   trueLen
//parameters:
    //str:字符串
//desc :确切的字符串长度
function trueLen(str) {

    str=trim(str);
    //lens judge
    var lens=0;
    for(i=0;i<str.length;i++){
        if(str.charCodeAt(i)>=0 && str.charCodeAt(i)<=127){
            lens=lens+1;
        }else{
            lens=lens+2;
        }
    }
    return lens;

}//end fun


//function:   numberLetter
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
//desc :输入必须是字母和数字
function numberLetter(formName,objName,title) {

    ObjID= GetObjID(objName,formName);
    var str=trim(formName.elements[ObjID].value);

    var okStr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title+"必须是字母和数字!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;

}//end fun

//function: codeChars
//parameters:
    //formName,objName:窗体和html控件(text,textarea)的名字
    //title:提示信息
//desc: 输入值将用作 code，所以有字符集的限制
function codeChars(formName, objName, title) {
    ObjID = GetObjID(objName, formName);
    var str = trim(formName.elements[ObjID].value);

    var okStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
    for(var i=0;i<str.length;i++){
        if(okStr.indexOf(str.charAt(i))==-1){
            alert(title + "只能由字母、数字、减号或者下划线组成!");
            formName.elements[ObjID].select();
            return false;
        }
    }

    return true;
}//end fun

// 确保两个 text 控件的内容相同且不为空，用于验证“密码与确认密码”的一致性。
// 参数：
//    Form fm - 控件所在的 form
//    String pass - 密码、确认密码控件的名字
//    String title - 提示信息
// 使用限制：
//    必须存在两个由 pass 指定的同名 password 型控件；
function checkPassword2(fm, pass, title) {
    pass1 = fm.elements[pass][0].value;
    pass2 = fm.elements[pass][1].value;
    if (pass1.length < 1) {
        alert(title + '不能为空');
        fm.elements[pass][0].select();
        return false;
    }
    if (pass1 != pass2) {
        alert('两次输入的' + title + '必须一致');
        fm.elements[pass][1].select();
        return false;
    }

    return true;
}

// 把指定控件的值理解为字符串，并强制每个字符都是数字，如果不是数字
// 则变为“0”，同时控制字符串长度。根据 isFull 决定是否补足前导 0
function roundToDigital(el, len, isFull) {
    str1 = el.value;
    str2 = "";
    for (i=0; i<len && i<str1.length; i++) {
        c = str1.charAt(i);
        if (c>='0' && c<='9')
            str2 += c;
        else
            str2 += '0';
    }
    for (; i<len; i++) str2 = '0' + str2;

    if (str2 != el.value)
        el.value = str2;
}

// 把指定控件理解为 int 数值，并约束到指定范围
// 若数值为 0，则清空
// 使用限制：
//    el 所指的是 text 型控件；
function roundTo(el, b1, b2) {
    n = parseInt("0" + el.value, 10);
//  if (n == 0) el.value = "";
//  else {
        if (n < b1) n = b1;
        if (n > b2) n = b2;
        if (el.value != ("" + n)) el.value = n;
//  }
    return n;
}

// 判断给定的年份是否闰年
function isLeapYear(nY) {
    b = false;
    if ((nY % 4) == 0) b = true;
    if ((nY % 100) == 0) b = false;
    if ((nY % 400) == 0) b = true;
    return b;
}

// 根据 year 和 month 的选择情况调整 day 的选择范围
// 参数：
//    Form fm - 控件所在的 form
//    String y, m, d - 分别为年、月、日控件的名字
// 使用限制：
//    三个都是 select 型控件；
//    控件的每个选项的 label 与 value 一致
//    所有选项都是有效值（不能有“--”之类）
function onChangeYearMonth(fm, y, m, d) {
    var theYear = fm.elements[y];
    var theMonth = fm.elements[m];
    var theDay = fm.elements[d];
    // 取得当前选择的 year, month, day
    nY = theYear.options[theYear.selectedIndex].value;
    nM = theMonth.options[theMonth.selectedIndex].value;
    nD = theDay.options[theDay.selectedIndex].value;

    // 根据闰年调整日数
    ar = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    if (isLeapYear(nY)) ar[1] = 29;

    // 调整当前选择的 day
    if (nD > ar[nM-1]) nD = ar[nM-1];

    // 重新生成 day 控件的选项
    for (i=1; i<=ar[nM-1]; i++) {
        theDay.options[i-1] = new Option(i, i, nD==i, nD==i);
    }
    for (j=0; j<4; j++) {
        theDay.options[i-1] = null;
    }
}

// 自动把年、月、日控件的 onchange 指到 onChangeYearMonth
// 使用方法及限制参见 onChangeYearMonth()
function bundleYMD(fm, y, m, d) {
    // 定义一个初始化标志，如果已经 bundle 过，则不再重复
    mark = "_bundleYMD" + y + m + d;
    while (mark.indexOf(".") >= 0) mark = mark.replace(".", "_");
    eval("if (typeof(" + mark + ")==\"undefined\") " + mark + " = false;");
    if (!eval(mark)) {
        eval(mark + " = true;");

        // 对初始状态进行校正
        onChangeYearMonth(fm, y, m, d);

        // 把年、月、日控件的 onchange 指到 onChangeYearMonth
        strFunc = "onChangeYearMonth(this.form, '" + y + "', '" + m + "', '" + d + "')";
        fm.elements[y].onchange = new Function(strFunc);
        fm.elements[m].onchange = new Function(strFunc);
    }
}

// 根据 year 和 month 的输入情况调整 day 的值
// 参数：
//    Form fm - 控件所在的 form
//    String y, m, d - 分别为年、月、日控件的名字
// 使用限制：
//    三个都是 text 型控件；
function onChangeYearMonth_t(fm, y, m, d) {
    var theYear = fm.elements[y];
    var theMonth = fm.elements[m];
    var theDay = fm.elements[d];

    // 首先对 year 和 month 的值进行约束
    nY = roundTo(theYear, 1900, 2900);
    nM = roundTo(theMonth, 1, 12);

    if (nY>0 && nM>0) {
        // 根据闰年调整日数
        ar = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        if (isLeapYear(nY)) ar[1] = 29;

        // 对 day 的值进行约束
        nD = roundTo(theDay, 1, ar[nM-1]);
    }
}

// 自动把年、月、日控件的 onblur 指到 onChangeYearMonth_t
// 使用方法及限制参见 onChangeYearMonth_t()
function bundleYMD_t(fm, y, m, d) {
    // 定义一个初始化标志，如果已经 bundle 过，则不再重复
    mark = "_bundleYMD_t" + y + m + d;
    while (mark.indexOf(".") >= 0) mark = mark.replace(".", "_");
    eval("if (typeof(" + mark + ")==\"undefined\") " + mark + " = false;");
    if (!eval(mark)) {
        eval(mark + " = true;");

        onChangeYearMonth_t(fm, y, m, d);
        strFunc = "onChangeYearMonth_t(this.form, '" + y + "', '" + m + "', '" + d + "')";
        fm.elements[y].onblur = new Function(strFunc);
        fm.elements[m].onblur = new Function(strFunc);
        fm.elements[d].onblur = new Function(strFunc);
    }
}

// 对指定控件的文字进行检查，使其符合 EMail 地址的格式
// 参数：
//    Text el - text 型的 input 控件
//    String title - 错误提示所使用的名称
//    boolean notNull - 控件的文字是否必要
function onBlurEMail(el, title, notNull) {

    var email = el.value;
    if (!notNull && email.length==0) return;

    var pattern = new RegExp("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+");

    flag = pattern.test(email);
    if(!flag){
        alert(" 为无效 EMAIL 地址!\r\n请输入正确的EMAIL地址，如：myname@mycompany.com !");
        el.select();
        return false;
    }
    return true;
}

// 自动把指定的 text 型 input 控件的 onblur 指到 onBlurEMail
// 参数：
//    Form fm - 控件所在的 form
//    String email - 控件的 name
//    String title - 错误提示所使用的名称
//    boolean notNull - 控件的文字是否必要
function forceToEMail(fm, email, title, notNull) {
    onBlurEMail(fm.elements[email], title, notNull);
    strFunc = "onBlurEMail(this, '" + title + "', " + notNull + ")";
    fm.elements[email].onblur = new Function(strFunc);
}

//函数名：checkFileExt
//功能介绍：检查文件扩展名
//参数说明：要检查的字符串
//返回值：文件扩展名,扩展名有误时返回error
function checkFileExt(InputString)
{
    var i;
    var tmpString;
    //如果为空字符串则返回error
    if(InputString==null||InputString==""){
        return true;
    }else{
        //如果为字符串长度<4则返回error
        if (InputString.length<=4){
           alert("文件名长度不能小于4");
            return false;
        }else{
            i=InputString.lastIndexOf(".");
              tmpString=InputString.substring(i+1,InputString.length);
          if((tmpString.indexOf("gif")==-1)&&(tmpString.indexOf("jpg")==-1)){
            alert("只能上载扩展名为.gif或.jpg的文件");
              return false;
           }
        }
    }
   return true;
}

function popWin(url,n,w,h) {
  var l = (window.screen.availWidth-w-6)/2;
  var t = (window.screen.availHeight-h-24)/2;
  var nW = window.open(url,n,'toolbars=0,scrollbars=1,location=0,statusbars=0,menubars=0,resizable=1,width=' + w + ',height=' + h + ',left=' + l + ',top=' + t);
  nW.focus();
}


function getCookieVal(offset) {  
	var endstr = document.cookie.indexOf (";", offset);  
	if (endstr == -1)    
	endstr = document.cookie.length;  
	return unescape(document.cookie.substring(offset, endstr));
}


function GetCookie(name)
{  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  

	while (i < clen) {    
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg)      
			return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

function SetCookie(name, value) 
{  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	//var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	var path = "/"; //allows the tree to remain open across pages with diff names & paths

	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}


function ExpireCookie (name) 
{  
	var exp = new Date();  
	exp.setTime (exp.getTime() - 1);  
	var cval = GetCookie (name);  
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}