function EndsWith(theString, value)
{

	if(value.length > theString.length) return false;
	
	return theString.toLowerCase().indexOf(value.toLowerCase())==(theString.length-value.length);

}

function empty(s)
{
	return ((s == null) || (s.length == 0))
}

function isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}


function IsInt(s)
{
	//Check each character
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (!isDigit(c)) 
		{
			return false;
		}
	}

	var val = parseInt(s);
	if (isNaN(val))
	{
		return false;
	}
	else return true;
}

function IsFloat(s)
{
	//Check each character. "." is the decimal separator
	var dotsfound = 0;
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (!isDigit(c)) 
		{
			if(c == "." && dotsfound >= 1)
			{
				return false;	
			}
			else 
			{
				dotsfound++;
			}
			
		}
	}
	
	var val = parseFloat(s);
	if (isNaN(val))
	{
		return false;
	}
	else return true;
}

//Validate YYYY-MM-DD date
function IsDate(s)
{
	if(data.search("-") != -1)
	{
		items = data.split("-");
		Y = items[0];
		M = items[1];
		D = items[2];

		if(Y.length != 4 || M.length != 2 || D.length != 2)
		{
			return false;
		}

		if(!IsInt(Y) || !IsInt(M) || !IsInt(D))
		{
			return false;
		}

		//Check invalid month or date
		if(M > 12 || D > 31)
		{
			return false;
		}

		if(M == 2 && D > 29)
		{
			return false;
		}

		if(M == 4 || M == 6 || M == 9 || M == 11)
		{
			if(D > 30)
			{
				return false;
			}
		}
		//Todo: Check leap years

		//Everything is fine
		return true;
	}
	else return false;
}


