function CFloatValidator(){	
}

CFloatValidator.inherits(CBaseValidator);
CFloatValidator.registerMethod("validate", CFloatValidator_validate);
CFloatValidator.registerMethod("isFloat",  CFloatValidator_isFloat);

function CFloatValidator_validate(){
	if(this.oElement == null){
		this.oElement = arguments[0];
	}
	if(!this.superMethod("validate")){
		return false;
	}
	if(!this.isFloat(this.oElement.value)){
		this.sErrorInfo += (this.sErrorInfo.length>1?"\n\n":"")+"您輸入的 ["+this.oElement.elname+"] 不是一個浮點數！";
		return false;
	}
	return true;
}

function CFloatValidator_isFloat(_sCode){
	_sCode = TRSString.trim(_sCode);
	var nLen = _sCode.length;
	if(nLen==0)return true;

	var nLen = _sCode.length;
	//get int part length of a float
	var nPose = _sCode.indexOf(".");
	var myReg ;
	if(nPose<1){
		myReg = new RegExp("^[1-9][0-9]{0,}");
	}else{
		if(nPose==1){
			myReg = new RegExp("^[0-9]\.[0-9]{"+(nLen-nPose-1)+"}"); 	
		}else{
			myReg = new RegExp("^[1-9][0-9]{"+(nPose-1)+"}\.[0-9]{"+(nLen-nPose-1)+"}"); 
		}
	}
	if(myReg.test(_sCode)) return true;
	
	return false; 
}