/**
 *  Branch Tag  : BMS 1.1
 *  Branch Time : 2002-04-19
 *
 *  Change History :
 *
 *     changed by    :
 *     change time   :
 *     change reason :
 *     change action :
**/

/**
 *	New a error message localizer in jsp file here.
 *	So the variable "errorLocalizer" is system reserved.
 */
	function myIntCheck(obj,intCheck,int,posCheck,name){
		var regTextFloat =/^(-?\d+)(\.\d+)?$/;
		var rexTextInt = /^(-?\d+)$/;
		var num=obj.value;
		if (!regTextFloat.exec(num)) {
			alert(name+"格式错误");
			obj.focus();
			return true;
		}		
		if (!rexTextInt.exec(num)) {
			alert(name+"请输入整数");
			obj.focus();
			return true;
		}
		if(myFloatCheck(obj,intCheck,int,false,0,posCheck,name)){return true;}
		return false;
	
	}
	function myFloatCheck(obj,intCheck,int,decCheck,dec,posCheck,name){
		var regTextFloat =/^(-?\d+)(\.\d+)?$/;
		var rexTextInt = /^(-?\d+)$/;
		var num=obj.value;	
		var mod=10;
		if (!regTextFloat.exec(num)) {
			alert(name+"格式错误");
			obj.focus();
			return true;
		}

		if(posCheck){
			if (num<0) {
				alert(name+"必须为正数");
				obj.focus();
				return true;
			}
		}

		if(intCheck){
			mod=Math.pow(10, int);
			if (num/mod >1){
				alert(name+"整数部分必须为"+int+"位");
				obj.focus();
				return true;
			}
		}

		if(decCheck){
			mod=Math.pow(10,dec);
			if (!rexTextInt.exec( num*mod )){
				alert(name+"小数部必须分为"+dec+"位");
				obj.focus();
				return true;
			}
		}
		return false;
	}
	
	
function regmatch (s1, s2)
{
//	eval ("re = /^" + s2 + "$/");
	re = new RegExp ('^' + s2 + '$')
	return s1.match (re);
//	return s1.match (s2);
}

//	client side validation code
function getErrormessage( errormsg )
{
	//	should define a suffix filter array
	var suffix = "<br>";
	var index = errormsg.lastIndexOf(suffix);

	if (index!=-1)
		return errormsg.substring(0,index);
	else
		return errormsg;
}


/**
 *	email格式校验
 *	参数：被校验的字符串
 */
function isEmail ( js_value )
{
	var	pos ;
	var	re ;
	re = /^\s*$/ ;

	if ( js_value.match(re) )
	{
		return true ;
	}

	pos = js_value.indexOf( '@',0 ) ;
	if ( js_value.length <= 5 ) return false ;
	if ( pos==-1 || pos==0 || pos==(js_value.length-1) ) return false ;

	pos = js_value.indexOf( '.',0 ) ;
	if ( pos<=0 || pos==(js_value.length-1) ) return false ;

	return true ;
}

function	isPhone (js_value)
{
		var	re = /^[0-9\*\-( )]*$/;

		if (js_value.match (re))
				return	true;
		return	false;

}

function isMobilephone(js_value)
{
		var	re = /^[0-9\s]*$/;

		if (js_value.match (re))
			return	true;
		return	false;
}


//	used by isPostCode
function	is_natural ( js_value )
{
		var	re ;
		re = /^\s*$/ ;

		if ( js_value.match(re) )
		{
			return true ;
		}

		re = /^\+{0,1}[0-9]*$/ ;
		if ( !js_value.match(re) ) return false ;
		return true ;
}

function isURL(js_value)
{

		var pos, posdot ;
		var	re ;
		re = /^\s*$/ ;

		if ( js_value.match(re) )
		{
			return true ;
		}

		pos = js_value.indexOf('://',0) ;
		if ( pos<0 ) return false ;
		posdot = js_value.lastIndexOf('.') ;
		if ( posdot<pos ) return false ;
		if ( posdot == js_value.length-1 ) return false ;
		return true ;
}

function isNumber(js_value)
{

	if ( isNaN(js_value))
	{
		return false ;
	}
	return true ;

}


function isPositive(js_value)
{
	if	(isNumber(js_value)&&js_value>0)
		return	true;
}

function isDate(strTmpDate)
{
	 if(strTmpDate.indexOf('-') <= 0){
	   return false;
     }
     else{
       var strSubDate = strTmpDate.split("-");
	   if((strSubDate.length != 3)||(strSubDate[0].length != 4)||(strSubDate[1].length != 2) || (strSubDate[2].length != 2)){
	     return false;
	   }else{
 	     var strYear = strSubDate[0];
		 var strMonth = strSubDate[1];
		 var strDay = strSubDate[2];

		 /*
		 *year
		 */
    	 var intYear = parseInt(strYear);
		 //if( isNaN(intYear) || (intYear < 2000))
		 if( isNaN(intYear) )
		   return false;

	     /*
		 *month
		 */
		 if(strMonth.substr(0,1) == "0")
  		   intMonth = parseInt(strMonth.substr(1,1));
         else
		   intMonth = parseInt(strMonth);
	     if( isNaN(intMonth) || (intMonth < 1 || intMonth > 12))
		   return false;

        /*
		 *day
		 */
		 if(strDay.substr(0,1) == "0")
  		   intDay = parseInt(strDay.substr(1,1));
         else
	       intDay = parseInt(strDay);
	     if( !isNaN(intDay) && (intDay >= 1)){
	       switch(intMonth){
		     case 1:
			 case 3:
			 case 5:
			 case 7:
			 case 8:
			 case 12:
			   if(intDay > 31)
				 return false;
	           break;
		     case 4:
			 case 6:
			 case 9:
			 case 11:
	   		   if(intDay > 30)
			     return false;
	           break;
			 case 2:
	           if((intYear % 4 == 0) && (intMonth > 29)||(intYear % 4 != 0) && (intMonth > 28))
			     return false;
	           break;
		   }
		 }
		 else{
		   return false;
	     }
       }
     }

	 return true;
}


function	isEmpty (js_value)
{
	var re;
	re = /^\s*$/;
	if(js_value.match (re))
	{
		return true;
	}
	return	false;
}


function strlength(s1,minsize,maxsize)
{
	if (minsize == Number.MAX_VALUE)
		minsize = 0;

	var len = 0;

	for(var i = 0;i < s1.length;i ++)
	{
		// Ascii码大于255是双字节的字符
		if(s1.charCodeAt(i) > 255) len += 2;
		else len += 1;
	}

	if (len>=minsize && len <= maxsize )
		return true;
	else
		return false;
}

function date_compare(date1, date2)
{
	if (!isDate(date1))
		return false;
	if (!isDate(date2))
		return false;
	if (date1 > date2)
		return false;
	return true;
}

function string_compare(str1, str2)
{
	var len1 = str1.length;
	var len2 = str2.length;

	var n;
	if (len1 > len2) n = len2;
		else n = len1;

	var i = 0;
	var j = 0;

	while (n-- != 0)
	{
	    var c1 = str1.charCodeAt(i++);
	    var c2 = str2.charCodeAt(j++);
	    if (c1 != c2)
	    {
			return c1 - c2;
	    }
	}

	return len1 - len2;

}















/**=================================================================================*/


/**
 *	取得对象值
 *	参数：对象名
 */
function	getValue (js_obj)
{
	if (null == js_obj)
		return	'';

	var	re, i;
	re = /^\s*$/ ;

  	if (js_obj.length)
  	{
		if (js_obj[0].type == "checkbox")
		{
			for (i=0; i<js_obj.length; i++)
				if (js_obj[i].checked == true)
					return	js_obj[i].value;
			return	'';
		}
		else if (js_obj[0].type == "radio")
		{
			for (i=0; i<js_obj.length; i++)
				if (js_obj[i].checked == true)
					return	js_obj[i].value;
			return	'';
		}
  	}
 	else
  	{
		if (js_obj.type == "select-multiple")
		{
			if (js_obj.selectedIndex < 0)
				return	'';
			else
				return	js_obj[js_obj.selectedIndex].value;
		}
		else if (js_obj.type == "select-one")
		{
			if (js_obj.selectedIndex < 0)
				return	'';
			else
				return	js_obj[js_obj.selectedIndex].value;
		}
		else if (js_obj.type == "text")
		{
		}
		else if (js_obj.type == "checkbox")
		{
			if (js_obj.checked == false)
				return	'';
		}
		else if (js_obj.type == "radio")
		{
			if (js_obj.checked == false)
				return	'';
		}

		return	js_obj.value;
  	}

	return	js_obj.value;
}








var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "-";
var vDateType = 2;
var vYearType = 4;
var vYearLength = 2;
var err = 0;
if(navigator.appName == "Netscape") {
if (navigator.appVersion < "5") {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4") {
isNav4 = false;
isNav5 = true;
   }
}
else {
isIE4 = true;
}
function DateFormat(vDateName, emptyCheck,dateCheck, dateType, e,objTitle) {
vDateType = dateType;
alertMsg = '格式无效';
emptyMsg = '不能为空';
if (objTitle!=null){
	alertMsg = objTitle + alertMsg ;
}
if (objTitle!=null){
	emptyMsg = objTitle + emptyMsg ;
}
if (vDateName==null){
	alert("input object is null!")
	return true;
}

if (vDateValue == "~") {
	alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
	vDateName.value = "";
	vDateName.focus();
	return true;
}
var vDateValue = getValue(vDateName);




if (emptyCheck){
	var re = /^\s*$/;
	if(vDateValue.match (re)){
		if (emptyMsg!=null){
			alert(emptyMsg);
		}
		return true;
	}
}else{
	var re = /^\s*$/;
	if(vDateValue.match (re)){
		return false;
	}

}


if(!vDateValue.match (re)){
	if (vDateValue=='0000-00-00'||vDateValue.indexOf(".") >= 1){

		if (alertMsg!=null){
			alert(alertMsg);
		}
vDateName.value = "";
vDateName.focus();
vDateName.select();
		return true;
	}
/*
	if(vDateValue.indexOf('-') <= 0){
		if (alertMsg!=null){
		alert(alertMsg);
		}
vDateName.value = "";
vDateName.focus();
vDateName.select();
		return true;
	}
	else{
		var strSubDate = vDateValue.split("-");
		if((strSubDate.length != 3)||(strSubDate[0].length != 4)||(strSubDate[1].length != 2) || (strSubDate[2].length != 2)){
			if (alertMsg!=null){
			alert(alertMsg);
			}
vDateName.value = "";
vDateName.focus();
vDateName.select();
			return true;
		}
	}
	*/
}



var whichCode = (window.Event) ? e.which : e.keyCode;
//alert(whichCode);
if (vDateValue.length > 8 && isNav4) {
	if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
	return true;
}
var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
if (alphaCheck.indexOf(vDateValue) >= 1) {
	if (isNav4) {
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
	}
	else {
		vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
		return false;
	}
}
	//alert("=====whichCode===="+whichCode);

if (whichCode == 8)
return false;
else {

	var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
	//alert(strCheck.indexOf(whichCode) != -1);
	if (strCheck.indexOf(whichCode) != -1) {
		//alert(isNav4);
		if (isNav4) {
			if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
				if (alertMsg!=null) alert(alertMsg);
				vDateName.value = "";
				vDateName.focus();
				vDateName.select();
				return true;
			}


			if (vDateValue.length == 6 && dateCheck) {
				var mDay = vDateName.value.substr(2,2);
				var mMonth = vDateName.value.substr(0,2);
				var mYear = vDateName.value.substr(4,4)
				if (mYear.length == 2 && vYearType == 4) {
					var mToday = new Date();
					var checkYear = mToday.getFullYear() + 30;
					var mCheckYear = '20' + mYear;
					if (mCheckYear >= checkYear)
					mYear = '19' + mYear;
					else
					mYear = '20' + mYear;
				}




				var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
				if (!dateValid(vDateValueCheck)) {
					if (alertMsg!=null) alert(alertMsg);
					vDateName.value = "";
					vDateName.focus();
					vDateName.select();
					return true;
				}
				return false;
			}
			else {
				if (vDateValue.length >= 8  && dateCheck) {
					if (vDateType == 1) {
						var mDay = vDateName.value.substr(2,2);
						var mMonth = vDateName.value.substr(0,2);
						var mYear = vDateName.value.substr(4,4)
						vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
					}
					if (vDateType == 2)
					{
						var mYear = vDateName.value.substr(0,4)
						var mMonth = vDateName.value.substr(4,2);
						var mDay = vDateName.value.substr(6,2);
						vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
					}
					if (vDateType == 3)
					{
						var mMonth = vDateName.value.substr(2,2);
						var mDay = vDateName.value.substr(0,2);
						var mYear = vDateName.value.substr(4,4)
						vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
					}
					var vDateTypeTemp = vDateType;
					vDateType = 1;
					var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;



					if (!dateValid(vDateValueCheck)) {
						if (alertMsg!=null) alert(alertMsg);
						vDateType = vDateTypeTemp;
						vDateName.value = "";
						vDateName.focus();
						vDateName.select();
						return true;
					}
					vDateType = vDateTypeTemp;
					return false;
				}
				else {
					if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
						if (alertMsg!=null) alert(alertMsg);
						vDateName.value = "";
						vDateName.focus();
						vDateName.select();
						return true;
					}
				}
			}


		}else {

	//alert("=====111====");

			if (((vDateValue.length < 8 && dateCheck)
			|| (vDateValue.length == 9 && dateCheck))
			&& (vDateValue.length >=1)) {
				if (alertMsg!=null) alert(alertMsg);
				vDateName.value = "";
				vDateName.focus();
				return true;
			}
	//alert("=====222====");
			if (vDateValue.length >= 8 && dateCheck) {

				if (vDateType == 1)
				{
					var mMonth = vDateName.value.substr(0,2);
					var mDay = vDateName.value.substr(3,2);
					var mYear = vDateName.value.substr(6,4)
				}
				if (vDateType == 2)
				{
					var mYear = vDateName.value.substr(0,4)
					var mMonth = vDateName.value.substr(5,2);
					var mDay = vDateName.value.substr(8,2);
				}
				if (vDateType == 3)
				{
					var mDay = vDateName.value.substr(0,2);
					var mMonth = vDateName.value.substr(3,2);
					var mYear = vDateName.value.substr(6,4)
				}
				if (vYearLength == 4) {
					if (mYear.length < 4) {
						if (alertMsg!=null) alert(alertMsg);
						vDateName.value = "";
						vDateName.focus();
						return true;
					}
				}

				var vDateTypeTemp = vDateType;
				vDateType = 1;
				var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
				var tmpvDateValueCheck = mYear+strSeperator+mMonth+strSeperator+mDay;
				if (mYear.length == 2 && vYearType == 4 && dateCheck) {
					var mToday = new Date();
					var checkYear = mToday.getFullYear() + 30;
					var mCheckYear = '20' + mYear;
					if (mCheckYear >= checkYear)
						mYear = '19' + mYear;
					else
						mYear = '20' + mYear;
						vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
					if (vDateTypeTemp == 1)
					vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
					if (vDateTypeTemp == 3)
					vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
				}
				//alert("=====vDateValueCheck===="+vDateValueCheck);
				//alert("=====tmpvDateValueCheck===="+tmpvDateValueCheck);

				if (!dateValid(vDateValueCheck)) {

					if (alertMsg!=null) alert(alertMsg);
					vDateType = vDateTypeTemp;
					vDateName.value = "";
					vDateName.focus();
					return true;
				}

				vDateType = vDateTypeTemp;
				vDateName.value = tmpvDateValueCheck;
				return false;
			}else {
				if (vDateType == 1) {
					if (vDateValue.length == 2) {
						vDateName.value = vDateValue+strSeperator;
					}
					if (vDateValue.length == 5) {
						vDateName.value = vDateValue+strSeperator;
					}
				}
				if (vDateType == 2) {
					if (vDateValue.length == 4) {
						vDateName.value = vDateValue+strSeperator;
					}
					if (vDateValue.length == 7) {
						vDateName.value = vDateValue+strSeperator;
					}
				}
				if (vDateType == 3) {
					if (vDateValue.length == 2) {
						vDateName.value = vDateValue+strSeperator;
					}
					if (vDateValue.length == 5) {
						vDateName.value = vDateValue+strSeperator;
					}
				}
				return false;
			}
		}
if (vDateValue.length == 10&& dateCheck) {
				//alert("=====4444====");
	if (!dateValid(vDateName)) {
		if (alertMsg!=null) alert(alertMsg);
		vDateName.focus();
		vDateName.select();
		return true;
	}
}
return false;
}
else {
// If the value is not in the string return the string minus the last
// key entered.
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return true;
}
else
{
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
         }
      }
   }
}
function dateValid(objName) {
	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var intday;
	var intMonth;
	var intYear;
	var booFound = false;
	var datefield = objName;
	var strSeparatorArray = new Array("-"," ","/",".");
	var intElementNr;
	var strMonthArray = new Array(12);
	strMonthArray[0] = "Jan";
	strMonthArray[1] = "Feb";
	strMonthArray[2] = "Mar";
	strMonthArray[3] = "Apr";
	strMonthArray[4] = "May";
	strMonthArray[5] = "Jun";
	strMonthArray[6] = "Jul";
	strMonthArray[7] = "Aug";
	strMonthArray[8] = "Sep";
	strMonthArray[9] = "Oct";
	strMonthArray[10] = "Nov";
	strMonthArray[11] = "Dec";
	strDate = objName;
	if (strDate.length < 1) {
		return true;
	}

	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
			strDateArray = strDate.split(strSeparatorArray[intElementNr]);
			if (strDateArray.length != 3) {
				err = 1;
				return false;
			}
			else {
				strDay = strDateArray[0];
				strMonth = strDateArray[1];
				strYear = strDateArray[2];
			}
			booFound = true;
		}
	}
	if (booFound == false) {
		if (strDate.length>5) {
			strDay = strDate.substr(0, 2);
			strMonth = strDate.substr(2, 2);
			strYear = strDate.substr(4);
		}
	}
	if (strYear.length == 2) {
		strYear = '20' + strYear;
	}
	strTemp = strDay;
	strDay = strMonth;
	strMonth = strTemp;
	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
		err = 2;
		return false;
	}
	intMonth = parseInt(strMonth, 10);
	if (isNaN(intMonth)) {
		for (i = 0;i<12;i++) {
			if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
				intMonth = i+1;
				strMonth = strMonthArray[i];
				i = 12;
			}
		}
		if (isNaN(intMonth)) {
			err = 3;
			return false;
		}
	}
	intYear = parseInt(strYear, 10);
	if (isNaN(intYear)) {
		err = 4;
		return false;
	}
	if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
	}
	if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
		err = 6;
		return false;
	}
	if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
		err = 7;
		return false;
	}
	if (intMonth == 2) {
		if (intday < 1) {
			err = 8;
			return false;
		}
		if (LeapYear(intYear) == true) {
			if (intday > 29) {
				err = 9;
				return false;
			}
		}
		else {
			if (intday > 28) {
				err = 10;
				return false;
			}
		}
	}
	return true;
}
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
function DateFormat3(vDateName,emptyCheck, objTitle) {
	if (DateFormat(vDateName, emptyCheck,true, '2', event,objTitle)){
		return true;
	}
	return false;
}
function DateFormat2(vDateName,objTitle) {
	if (DateFormat(vDateName, true,true, '2', event,objTitle)){
		return true;
	}
	return false;
}









function DateCompare(vDateName1, vDateName2,emptyCheck,dateCheck, dateType,e,objTitle1,objTitle2){
	if (DateFormat(vDateName1,emptyCheck,dateCheck,dateType,e,objTitle1))
		return true;
	if (DateFormat(vDateName2,emptyCheck,dateCheck,dateType,e,objTitle2))
		return true;
	var objValue1='';
	var objValue2='';
	var alertMsg='必须早于';
	if (objTitle1 != null && objTitle2 != null){
		alertMsg = objTitle1 +alertMsg+ objTitle2;
	}
	if (vDateName1!=null){
		objValue1=getValue(vDateName1);
	}else{
		alert("input object is null!")
		return true;
	}
	if (vDateName2!=null){
		objValue2=getValue(vDateName2);
	}else{
		alert("input object is null!")
		return true;
	}
	if (objValue1&&objValue2&&objValue1 > objValue2){
		alert(alertMsg);
		return true;
	}

	return false;
}

function DateCompare2(vDateName1, vDateName2){
	if (DateCompare(vDateName1, vDateName2,false,true, '2',event,'开始日期','结束日期')){
		return true;
	}
	return false;
}

function DateCompare3(vDateName1, vDateName2,objTitle1,objTitle2){
	if (DateCompare(vDateName1, vDateName2,false,true, '2',event,objTitle1,objTitle2)){
		return true;
	}
	return false;
}

function DateCompareA2(vDateName1, vDateValue1, vCurrent){
	if (DateCompareA(vDateName1, vCurrent, false,true, '2',event,vDateValue1,'当前日期')){
		return true;
	}
	return false;
}

function DateCompareA3(vDateName1, vDateName2,vCurrent){
	if (DateCompareA2(vDateName1, '开始日期', vCurrent)){
		return true;
	}
	if (DateCompareA2(vDateName2, '结束日期', vCurrent)){
		return true;
	}
	if (DateCompare2(vDateName1, vDateName2)){
		return true;
	}
	return false;
}
function DateCompareA(vDateName1, vDateName2,emptyCheck,dateCheck, dateType,e,objTitle1,objTitle2){
	if (DateFormat(vDateName1,emptyCheck,dateCheck,dateType,e,objTitle1))
		return true;
	if (DateFormat(vDateName2,emptyCheck,dateCheck,dateType,e,objTitle2))
		return true;
	var objValue1='';
	var objValue2='';
	var alertMsg='必须晚于';
	if (objTitle1 != null && objTitle2 != null){
		alertMsg = objTitle1 +alertMsg+ objTitle2;
	}
	if (vDateName1!=null){
		objValue1=getValue(vDateName1);
	}else{
		alert("input object is null!")
		return true;
	}
	if (vDateName2!=null){
		objValue2=getValue(vDateName2);
	}else{
		alert("input object is null!")
		return true;
	}
	if (objValue1&&objValue2&&objValue1 < objValue2){
		alert(alertMsg);
		return true;
	}
	return false;
}







/*
  objstr
  emptycheck
  lengthCheck
  iminsize
  imaxsize
  objTitle
*/
function ValidString(objStr,emptyCheck,lengthCheck,iminsize,imaxsize,objTitle){
	//minsize=2*iminsize;
	//maxsize=2*imaxsize

	var objValue='';
	var alertLen='';
	var alertEmpty='不能为空';
	if (objTitle != null){
		alertLen = objTitle + alertLen;
	}
	if (objTitle != null){
		alertEmpty = objTitle + alertEmpty;
	}

	if (objStr!=null){
		objValue=getValue(objStr);
	}else{
		alert("input object is null!")
		objStr.focus();
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			objStr.focus();
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			objStr.focus();
			return false;
		}

	}

	minsize=iminsize;
	maxsize=imaxsize
	var len = objValue.length;


	if (lengthCheck){
		if (minsize == Number.MAX_VALUE)
			minsize = 0;



		//var len = 0;
		//alert("objValue==="+objValue.length)
		//for(var i = 0;i < objValue.length;i ++)
		//{
		//alert("charCodeAt==="+objValue.charCodeAt(i))
			// Ascii码大于255是双字节的字符
			//if(objValue.charCodeAt(i) > 255) len += 2;
			//else len += 1;
		//}

		//alert("len==="+len)
		var tmpsize = false;
		if (minsize!=null&&len < minsize){
			alertLen = alertLen + '不得少于' + iminsize +'个字 ';
			tmpsize=true;
		}else if (maxsize!=null&&len > maxsize){
			alertLen = alertLen + '不得超过' + imaxsize +'个字';
			tmpsize=true;
		}
		if (tmpsize&&alertLen!=null){
			alert(alertLen);
			objStr.focus();
			return true;
		}
	}
	return false;
}


function ValidString3(objStr,maxsize,objTitle){
	if (ValidString(objStr,true,true,0,maxsize,objTitle)){
		return true;
	}
	return false;
}
function ValidString3a(objStr,maxsize,objTitle){
	if (ValidString(objStr,false,true,0,maxsize,objTitle)){
		return true;
	}
	return false;
}
function ValidString2(objStr,objTitle){
	if (ValidString(objStr,true,false,0,0,objTitle)){
		return true;
	}
	return false;
}

function ValidDigit(objStr,emptyCheck,numberCheck,lengthCheck,separator,numberFormat,integer,decimal,objTitle){

	var objValue='';
	var alertLen='整数位数';
	var alertEmpty='不能为空';
	var alertDigit='格式不对';
	if (objTitle != null){
		alertLen = objTitle + alertLen;
	}
	if (objTitle != null){
		alertEmpty = objTitle + alertEmpty;
	}
	if (objTitle != null){
		alertDigit = objTitle + alertDigit;
	}

	if (objStr!=null){
		objValue=getValue(objStr);
	}else{
		alert("input object is null!")
			objStr.focus();
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			objStr.focus();
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			objStr.focus();
			return false;
		}

	}
	var numberD = getValue (objStr);
	if (numberCheck){

		if (isNaN(TrimString(objValue,','))) {
			alert(alertDigit);
			objStr.focus();
			return true ;
		}
		else{
			if(numberFormat){
				var numberFormatD = new NumberFormat(getValue (objStr));
				numberFormatD.setPlaces(decimal);
				numberFormatD.setSeparators(separator);
				numberD = numberFormatD.toFormatted();
			}
			//alert(numberD);
			if (lengthCheck && integer!=null){
				var alertLen = alertLen + '不能超过'+integer+'位';
				//alert(numberD.length);
				if (numberD.indexOf('.')<0){
					if (numberD.length>integer)
					{ alert(alertLen);
					objStr.focus();
					return true;}
				}else{
					// wangsl modify 20060731
					//if (numberD.substring(0,numberD.indexOf('.')-1).length>integer)
					if (numberD.substring(0,numberD.indexOf('.')).length>integer)
					{ alert(alertLen);
					objStr.focus();
					return true;
					}
				}
			}
		}
	}
	objStr.value = numberD;
	return false;
}
function ValidDigit2(objStr,objTitle){
	if (ValidDigit(objStr,false,true, false, true,false,0,0,objTitle)){
		return true;
	}
	return false;
}
function ValidDigit2a(objStr,objTitle){
	if (ValidDigit(objStr,true,true, false, true,false,0,0,objTitle)){
		return true;
	}
	return false;
}
function ValidDigit4(objStr,integer,decimal,objTitle){
	if (ValidDigit(objStr,false,true, true, true,true,integer,decimal,objTitle)){
		return true;
	}
	return false;
}
function ValidDigit4a(objStr,integer,decimal,objTitle){
	if (ValidDigit(objStr,true,true, true, true,true,integer,decimal,objTitle)){
		return true;
	}
	return false;
}

//不明
function ValidDigit4b(objStr,integer,decimal,objTitle){
	if (ValidDigit(objStr,true,true, false, true,false,integer,decimal,objTitle)){
		return true;
	}
	return false;
}

//校验整数位小数位 不格式化 可以为空
function ValidDigit4c(objStr,integer,decimal,objTitle){
	if (ValidDigit(objStr,false,true, true, true,false,integer,decimal,objTitle)){
		return true;
	}
	return false;
}
//校验整数位小数位 不格式化 不能为空
function ValidDigit4d(objStr,integer,decimal,objTitle){
	if (ValidDigit(objStr,true,true, true, true,false,integer,decimal,objTitle)){
		return true;
	}
	return false;
}
//只校验整数位 不能为空
function ValidDigit3a(objStr,integer,objTitle){
	if (ValidDigit(objStr,true,true, true, false,false,integer,null,objTitle)){
		return true;
	}
	return false;
}
//只校验整数位 可以为空
function ValidDigit3b(objStr,integer,objTitle){
	if (ValidDigit(objStr,false,true, true, false,false,integer,null,objTitle)){
		return true;
	}
	return false;
}









function ValidSpecialNumber(objStr,emptyCheck,formatCheck,numberLength,objTitle){
	var objValue='';
	var alertEmpty='不能为空';
	var alertPostcode='格式不对';
	if (objTitle != null){
		alertEmpty = objTitle + alertEmpty;
	}
	if (objTitle != null){
		alertPostcode = objTitle + alertPostcode;
	}
	if (objStr!=null){
		objValue=getValue(objStr);
	}else{
		alert("input object is null!")
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			objStr.focus();
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			objStr.focus();
			return false;
		}

	}
	if (formatCheck){
		if ( ValidDigit(objStr,emptyCheck,true,true,false,numberLength,0,objTitle)){
			objStr.focus();
			return true ;
		}else if (objValue.length!=numberLength){
			alert(alertPostcode);
			objStr.focus();
			return true ;
		}
	}
	return false ;
}
function ValidPostcode2(objStr,objTitle){
	if (ValidSpecialNumber(objStr,false,true,6,objTitle)){
		objStr.focus();
		return true;
	}
	return false;
}
function ValidPostcode(objStr,emptyCheck,objTitle){
	if (ValidSpecialNumber(objStr,emptyCheck,true,6,objTitle)){
		objStr.focus();
		return true;
	}
	return false;
}






function ValidEmail ( objStr,emptyCheck,formatCheck,objTitle ){

	var objValue='';
	var alertEmpty='不能为空';
	var alertEmail='格式不对';
	if (objTitle != null){
		alertEmpty = objTitle + alertEmpty;
	}
	if (objTitle != null){
		alertEmail = objTitle + alertEmail;
	}

	if (objStr!=null){
		objValue=getValue(objStr);
	}else{
		alert("input object is null!")
			objStr.focus();
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			objStr.focus();
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			objStr.focus();
			return false;
		}

	}
	if (formatCheck){
		var pos ;
		pos = objValue.indexOf( '@',0 ) ;
		if ( objValue.length <= 5 ){
			if (alertEmail != null)
			alert(alertEmail);
			objStr.focus();
			return true ;
		}
		if ( pos==-1 || pos==0 || pos==(objValue.length-1) ){
			if (alertEmail != null)
			alert(alertEmail);
			objStr.focus();
			return true ;
		}

		pos = objValue.indexOf( '.',0 ) ;
		if ( pos<=0 || pos==(objValue.length-1) ){
			if (alertEmail != null)
			alert(alertEmail);
			objStr.focus();
			return true ;
		}
	}

	return false ;
}
function ValidEmail2(objStr,objTitle){
	if (ValidEmail(objStr,false,true,objTitle)){
		return true;
	}
	return false;
}
function ValidEmail3(objStr,emptyCheck,objTitle){
	if (ValidEmail(objStr,emptyCheck,true,objTitle)){
		return true;
	}
	return false;
}





function TrimString(inputString,filter) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == filter) { // Check for spaces at the beginning of the string
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == filter) { // Check for spaces at the end of the string
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf(filter) != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
      retValue = retValue.substring(0, retValue.indexOf(filter)) + retValue.substring(retValue.indexOf(",")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function


/**
 *This JavaScript function will check to see if the passed-in time is valid.
 *The format can be hh:mm or hh:mm:ss and the hour part can be military time
 *(0-23) or meridian format (1-12 with AM/PM at the end).
 *It will return true if the time is valid.
 *The first thing the function does is go through all the characters in the value.
 *If any character is invalid, then we're done.
 *It also counts the number of colons while going through,
 *and if an "a" or "p" (either upper case or lower case) is found,
 *then we set some flags for meridian and optionally PM.

 *Once all the characters are evaluated, the number of colons is looked at.
 *This has to be either 1 or 2. Then things are split up based on the colons.
 *The numbers before the first colon must be in a valid range
 *(0-23, or 1-12 if AM/PM was included).
 *The numbers between the first and second colon
 *(or after the 1st colon if there's only 1) must be between 0 and 59.
 *If there were 2 colons, then the numbers after the 2nd colon must be between 0 and 59.
 *If all those checks pass, then the string is a valid time and true is returned.
 */
function ValidTime(objStr,emptyCheck,formatCheck,objTitle) {

	var value='';
	var alertEmpty='不能为空';
	var alertTime='格式不对';
	if (objTitle != null){
		alertEmpty = objTitle + alertEmpty;
	}
	if (objTitle != null){
		alertTime = objTitle + alertTime;
	}

	if (objStr!=null){
		value=getValue(objStr);
	}else{
		alert("input object is null!")
			objStr.focus();
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(value.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			objStr.focus();
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(!value.match (re)){
			objStr.focus();
			return false;
		}

	}
	if (formatCheck){
		var colonCount = 0;
		var hasMeridian = false;
		for (var i=0; i<value.length; i++) {
		  var ch = value.substring(i, i+1);
		  if ( (ch < '0') || (ch > '9') ) {
			 if ( (ch != ':') && (ch != ' ') && (ch != 'a') && (ch != 'A') && (ch != 'p') && (ch != 'P') && (ch != 'm') && (ch != 'M')) {
				alert(alertTime);
				objStr.focus();
				return true;
			 }
		  }
		  if (ch == ':') { colonCount++; }
		  if ( (ch == 'p') || (ch == 'P') || (ch == 'a') || (ch == 'A') ) { hasMeridian = true; }
		}
		if ( (colonCount < 1) || (colonCount > 2) ) {alert(alertTime);objStr.focus(); return true; }
		var hh = value.substring(0, value.indexOf(":"));
		if ( (parseFloat(hh) < 0) || (parseFloat(hh) > 23) ) {alert(alertTime);objStr.focus(); return true; }
		if (hasMeridian) {
		  if ( (parseFloat(hh) < 1) || (parseFloat(hh) > 12) ) {alert(alertTime);objStr.focus(); return true; }
		}
		if (colonCount == 2) {
		  var mm = value.substring(value.indexOf(":")+1, value.lastIndexOf(":"));
		} else {
		  var mm = value.substring(value.indexOf(":")+1, value.length);
		}
		if ( (parseFloat(mm) < 0) || (parseFloat(mm) > 59) ) {alert(alertTime);objStr.focus(); return true; }
		if (colonCount == 2) {
		  var ss = value.substring(value.lastIndexOf(":")+1, value.length);
		} else {
		  var ss = "00";
		}
		if ( (parseFloat(ss) < 0) || (parseFloat(ss) > 59) ) {alert(alertTime);objStr.focus(); return true; }
	}
   return false;
}
function ValidTime2(objStr,objTitle){
	if (ValidTime(objStr,false,true,objTitle)){
		return true;
	}
	return false;
}
function ValidTime3(objStr,emptyCheck,objTitle){
	if (ValidTime(objStr,emptyCheck,true,objTitle)){
		return true;
	}
	return false;
}
/**=================================================================================*/
/**========================================身份证校验=========================================*/
/**
*CardNo身份证号码
*Sex  性别1：男　0：女
*Birthday 生日　19811010
**/
function CheckIdCard(CardNo,Sex){
if ((CardNo == "")||(!(isNumber(CardNo))&&(CardNo.length == 15))||(!(isNumber(CardNo.substr(0,17)))&&(CardNo.length == 18))||((CardNo.length != 15)&&(CardNo.length != 18)))
{
    alert("您的身份证号码输入有误，必需是15数字或18位,请重新检查并输入!");
    return false;
}
else if (CardNo.length == 15)
{
  if(CardNo.substr(8,2)>12||CardNo.substr(8,2)<1)
  {
    //alert("=========="+CardNo.substr(8,2));
    alert("您身份证的出生“月”输入有误,请重新检查并输入!");
    return false;
  }
  if(CardNo.substr(10,2)>31||CardNo.substr(10,2)<1)
  {
    //alert("=========="+CardNo.substr(8,2));
    alert("您身份证的出生“日”输入有误,请重新检查并输入!");
    return false;
  }
  //if(Birthday!=""&&("19" + CardNo.substr(6,6))!=Birthday)
  //{
  //  alert("您身份证的生日和资料里的生日不符,请重新检查并输入!");
  //  return false;
  //}
  if(Sex!=""&&CardNo.charAt(14)%2!=Sex)
  {
    alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");
    return false;
  }
  return true;
}
else if (CardNo.length == 18)
{
  if(CardNo.substr(6,4)<1900||CardNo.substr(6,4)>2100)
  {
    alert("您身份证的出生“年”输入有误,请重新检查并输入!");
    return false;
  }
  if(CardNo.substr(10,2)>12||CardNo.substr(10,2)<1)
  {
    alert("您身份证的出生“月”输入有误,请重新检查并输入!");
    return false;
  }
  if(CardNo.substr(12,2)>31||CardNo.substr(12,2)<1)
  {
    alert("您身份证的出生“日”输入有误,请重新检查并输入!");
    return false;
  }
  //if(Birthday!=""&&CardNo.substr(6,8)!=Birthday)
 // {
//alert("您身份证的生日和资料里的生日不符,请重新检查并输入!");
 //   return false;
 // }
  if(Sex!=""&&CardNo.charAt(16)%2!=Sex)
  {
    alert("您身份证的性别和资料里的性别不符,请重新检查并输入!");
    return false;
  }

  var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
  var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');

  if (CardNo.charAt(17) == 'x')
  {
    CardNo = CardNo.replace("x","X");
  }

  var checkDigit = CardNo.charAt(17);
  var cardNoSum = 0;

  for (var i=0; i<CardNo.length-1; i++)
  {
    cardNoSum = cardNoSum + CardNo.charAt(i)*Wi[i];
  }

  var seq = cardNoSum%11;
  var getCheckDigit = Ai[seq];

  if (checkDigit != getCheckDigit)
  {
    alert("您的身份证号码校验失败，请重新检查并输入!");
    return false;
  }
  return true;
}
else
{
    return true;
}
}
/**=================================================================================*/


