function trim(s)
{
	if (typeof(s)=='string'){
		var i,len=s.length;
		for (i=len-1;i>=0 && s.charAt(i)<=' ';--i){}
		len=i+1;
		for (i=0;i<len && s.charAt(i)<=' ';++i){}
		if (i<len) s=s.substring(i,len);
		else s="";
	}
	return s;
}


function isNumber(str,allowFP)
{
	if (typeof(allowFP)=='undefined') allowFP=false;

	if (typeof(str)=='number'){
		if (allow_fp) return true;
		else return str==Math.floor(str);
	}

	if (typeof(str)!='string') return false;

 	str=trim(str);
	if (str.length==0) return false;

	var result=true;
	if (window.RegExp){
		var regstr="^[+-]?[0-9]*";
		if (allowFP) regstr+="\\.?[0-9]*([eE][+-]?[0-9]+)?";
		regstr+="$";
		var reg = new RegExp(regstr);
		result=reg.test(str);
	}else{
		result=false;
	}
	return result;
}

function isDate(str)
{
	var milliseconds=Date.parse(str);
	return !(isNaN(milliseconds));
}

function isZIPCode(str)
{
	return isValidText(str,"^\\d{5}(-\\d{4})?$");
}


function isExpirationDate(str)
{
	if (isValidText(str,"^\\d{1,2}/\\d{2}$"))
	{
		var month=parseInt(str.substring(0,2));
		var year=parseInt(str.substring(3));
		if (month>=1 && month<=12 && year>=0 && year<=99) return true;
		else return false;
	}else return false;
}

function isCreditCardNumber(str)
{
	return isValidText(str,"^\\d{12}(\\d{4})?$");
}


function isEMailAddress(str)
{
	return isValidText(str,"^([\\w\\._-]+)@([\\w_-]+\\.)+([\\w_]+)$");
}


function isPhoneNumber(str)
{
	return isValidText(str,"^\\(?\\d{3}\\)?[-\\. ]?\\d{3}[-\\. ]?\\d{4}$");
}


function isAlpha(str)
{
	return isValidText(str.toUpperCase(),"^[ABCDEFGHIJKLMNOPQRSTUVWXYZ]+$");
}



function isAlphaNumeric(str)
{
	return isValidText(str.toUpperCase(),"^[ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890]+$");
}


function isValidText(str,regex)
{
	if (window.RegExp){
		if (typeof(regex)=='string')
			regex=new RegExp(regex);
		return regex.test(str);
	}else{
		window.alert("RegExp not available!");
		return true;
	}
}


function isDefined(obj)
{
    if (obj==null || (""+eval("obj"))=="undefined"){
		return false;
	}else{
		return true;
	}
}

function isPresent(obj)
{
	if (trim(obj) == "") {
		return false;
		}
	else {
		return true;
		}
}



