function isEmpty(s){ 
	s=deleteSpaces(s);
	return s.length==0;
}
function deleteSpaces(s){
	var re=/\s/g;
	s=s.replace(re,"");
	return s;
}
function trim(s){
	var re=/^\s+/;
	s=s.replace(re,"");
	re=/\s+$/;
	s=s.replace(re,"");
	return s;
}
function deleteFirstZero(s){
	s=""+s;
	var re=/^0+/;
	s=s.replace(re,"");
	return s;
}
function isNativeNumber(s){
	s = trim(s);
	var re=/[\D]/g;
	var r=s.replace(re,"");
	return r==s && r!="";
}
function isNumber(s){
	s = trim(s);
	return !isNaN(Number(s)) && s!="";
}
function isEmail(s){
	s = trim(s);
	emailPat=/^(.+)@(.+)\.(.+)$/;
	var a=s.match(emailPat);
	if (a==null){
		emailPat = /^(.+)@(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
		a=s.match(emailPat);
	}
	return (a!=null);
}
var const_days = [0,31,28,31,30,31,30,31,31,30,31,30,31];
function isDate(d, m, y){
	d = deleteFirstZero(d);
	m = deleteFirstZero(m);
	y = deleteFirstZero(y);
	b = isNativeNumber(d) && isNativeNumber(m) && isNativeNumber(y) && m>0 && m<13 && d>0 && y>0;
	if (b){
		b = (d<=const_days[m]) || (m==2 && d==29 && (y%4==0))
	}
	return b;
}
/**
* check date and return the right dates
* using: var ret=["","", ""]
* isDMYDate("12-12-2001", ret)
*/
function isDMYDate(s, ret){
	s = deleteSpaces(s);
	var re=/-/g;
	s = s.replace(re, "/");
	dmy=s.split("/");
	b = dmy.length==3
	if (b){
		b = isDate(dmy[0],dmy[1],dmy[2]);
		if (b){
			ret[0] = s;
			ret[1] =dmy[0]+"-"+dmy[1]+"-"+dmy[2];
			ret[2] =dmy[2]+"-"+dmy[1]+"-"+dmy[0];
		}
	}
	return b;
}
/**
* check date and return the right dates
* using: var ret=["","",""]
* isMDYDate("12-12-2001", ret)
*/
function isMDYDate(s, ret){
	s = deleteSpaces(s);
	var re=/-/g;
	s = s.replace(re, "/");
	dmy=s.split("/");
	b = dmy.length==3
	if (b){
		b = isDate(dmy[1],dmy[0],dmy[2]);
		if (b){
			ret[0] = s;
			ret[1] =dmy[0]+"-"+dmy[1]+"-"+dmy[2];
			ret[2] =dmy[2]+"-"+dmy[0]+"-"+dmy[1];
		}
	}
	return b;
}