/**
 *  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.
 */

//	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;
	}
	
}
var whichCode = (window.Event) ? e.which : e.keyCode;
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;
   }
}
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';
if (strCheck.indexOf(whichCode) != -1) {
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 {
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
if (alertMsg!=null) alert(alertMsg);
vDateName.value = "";
vDateName.focus();
return true;
}
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;
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;
} 
if (!dateValid(vDateValueCheck)) {
if (alertMsg!=null) alert(alertMsg);
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
return true;
}
vDateType = vDateTypeTemp;
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) {
	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,'开始日期','结束日期')){
		vDateName1.focus();
		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;
}







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!")
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			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);
			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)){
		objStr.focus();
		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!")
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			return false;
		}
		
	}
	var numberD = getValue (objStr);
	if (numberCheck){
		
		if (isNaN(TrimString(objValue,','))) {
			alert(alertDigit);
			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); return true}
				}else{
					if (numberD.substring(0,numberD.indexOf('.')-1).length>integer)
					{ alert(alertLen); return true}
				}
			}
		}
	}
	objStr.value = numberD;
	return false;


}
function ValidDigit2(objStr,objTitle){
	if (ValidDigit(objStr,false,true,false, false, false,0,0,objTitle)){
		objStr.focus();
		return true;
	}
	return false;
}
function ValidDigit2a(objStr,objTitle){
	if (ValidDigit(objStr,true,true,false, false, true,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);
			}
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			return false;
		}
		
	}
	if (formatCheck){
		if ( ValidDigit(objStr,emptyCheck,true,true,false,numberLength,0,objTitle)){
			return true ;
		}else if (objValue.length!=numberLength){
			alert(alertPostcode);
			return true ;
		}
	}
	return false ;
}
function ValidPostcode2(objStr,objTitle){
	if (ValidSpecialNumber(objStr,false,true,6,objTitle)){
		return true;
	}
	return false;
}
function ValidPostcode(objStr,emptyCheck,objTitle){
	if (ValidSpecialNumber(objStr,emptyCheck,true,6,objTitle)){
		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!")
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(objValue.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(objValue.match (re)){
			return false;
		}
		
	}
	if (formatCheck){
		var pos ;
		pos = objValue.indexOf( '@',0 ) ;
		if ( objValue.length <= 5 ) return true ;
		if ( pos==-1 || pos==0 || pos==(objValue.length-1) ) return true ;

		pos = objValue.indexOf( '.',0 ) ;
		if ( pos<=0 || pos==(objValue.length-1) ) 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!")
		return true;
	}
	if (emptyCheck){
		var re = /^\s*$/;
		if(value.match (re)){
			if (alertEmpty != null){
				alert(alertEmpty);
			}
			return true;
		}
	}else{
		var re = /^\s*$/;
		if(!value.match (re)){
			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); return true;
			 }
		  }
		  if (ch == ':') { colonCount++; }
		  if ( (ch == 'p') || (ch == 'P') || (ch == 'a') || (ch == 'A') ) { hasMeridian = true; }
		}
		if ( (colonCount < 1) || (colonCount > 2) ) {alert(alertTime); return true; }
		var hh = value.substring(0, value.indexOf(":"));
		if ( (parseFloat(hh) < 0) || (parseFloat(hh) > 23) ) {alert(alertTime); return true; }
		if (hasMeridian) {
		  if ( (parseFloat(hh) < 1) || (parseFloat(hh) > 12) ) {alert(alertTime); 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); 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); 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;
}

/**=================================================================================*/


