function String.prototype.trim()
{
	var i=0, j=this.length;
	while (i<j && this.charAt(i)<=" ") i++;
	while (j>i && this.charAt(j-1)<=" ") j--;
	return this.substring(i, j);
}

function String.prototype.toBoolean()
{
	var val = this.trim();
	if (val=="false" || val=="0") { return false; }
	return true
}

function String.prototype.toInteger(def)
{
	var val = this.trim();
	if (isNaN(val)){ return def!=null && isNaN(def) ? 0 : def; }
	return parseInt(val);
}

function String.prototype.toFloat(def)
{
	var val = this.trim();
	if (isNaN(val)){ return isNaN(def) ? 0 : def; }
	return parseFloat(val);
}

function String.prototype.endsWith(match)
{
  return ((this.substring(this.length - match.length) == match) ? true : false);
}

function String.prototype.startsWith(match)
{
	return ((this.substring(0, match.length) == match) ? true : false);
}

