var Validator={
	
	$:function(id){
		var obj=document.getElementById(id);
		if(!obj){
			obj=document.getElementsByName(id);
			if(!obj&&obj.length>0){
				obj=obj[0];
			}
		}
		return obj?obj:null;
	},
	
	isEmpty:function(str){
		return str==null||str.replace(/^\s*$/,'')=='';
	},
	
	isEmail:function(str){
		if(Validator.isEmpty(str)){
			return false;
		}
		var reg=new RegExp("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$","gi");
		return reg.test(str);
	},
	
	isEmailList:function(str,delim){
		if(Validator.isEmpty(str)){
			return false;
		}
		str=str.replace(/^\s*$/,'')
		var delimstr=delim;
		if(delim==undefined||delim==''){
			delimstr=',';
		}
		var list=str.split(delimstr);
		for(var i=0;i<list.length;i++){
			if(Validator.isEmpty(list[i])){
				continue;
			}
			if(!Validator.isEmail(list[i])){
				return false;
			}
		}
		return true;
	},
	
	length_CN:function(str){
		if(str==undefined||str==null||str==""){
			return 0;
		}
		var regex=new RegExp("[^\x00-\xff]","g");
		tmp=str.replace(regex,"xx");
		return parseInt((tmp.length+1)/2);
	},
	
	length_EN:function(str){
		if(str==null||str==""){
			return 0;
		}
		var regex=new RegExp("[^\x00-\xff]","g");
		tmp=str.replace(regex,"xx");
		return parseInt(tmp.length);
	},
	
	hasENCharOnly:function(str){
		if(str==null||str==""){
			return true;
		}		
		var regex=new RegExp("[^(a-zA-Z0-9_)]","g");
		return !regex.test(str);
	},
	
	endWith:function(str,suffix){
		return str.indexOf(suffix)==str.length-suffix.length;
	},
	
	startWith:function(str,prefix){
		return str.indexOf(prefix)==0;
	},
	
	isUrl:function(str){
		if(Validator.isEmpty(str)){
			return false;
		}
		var reg = new RegExp("[http://]?([\\w-]+\\.)+[\\w-]+(/[\\w-.\/?%&=]*)?","gi");
		return reg.test(str);
	},
	
	isPositiveNumber:function(str){
		if(Validator.isEmpty(str)){
			return false;
		}
		var reg = new RegExp("^[1-9][0-9]*$","gi");
		return reg.test(str);
	},
	
	isPositiveFloat:function(str){
		if(Validator.isEmpty(str)){
			return false;
		}
		var reg = new RegExp("^[1-9][0-9]+\\.*[0-9]*$","gi");
		return reg.test(str);
	},	
	
	isFloat:function( num )
	{
		if(Validator.isEmpty(num)){
			return false;
		}
		var reg = new RegExp("^(-?\\d+)(\\.\\d+)?$","gi");
		return reg.test(num);
	}
		
}