// JavaScript Document

function trim (stringToTrim)
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim (stringToTrim)
{
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim (stringToTrim)
{
	return stringToTrim.replace(/\s+$/,"");
}

function isEmpty(s)
{
	s1 = trim(s);
	return( (s1 == null) || (s1.length == 0) )
}

function isEmailAddr(email)
{
	var check = /^.+@.+\..{2,4}$/;
	
	if ( check.test(email) )
		return true;
	else
		return false;
}

function isChar (sText)
{
	var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
	var isChar=true;
	var Char;

	for (n = 0; n < sText.length && isChar == true; n++) 
	{
		Char = sText.charAt(n); 
		if (validChars.indexOf(Char) == -1) 
			isChar = false;
	}

	return isChar;
}

function isNumber (sText)
{
	var validChars = "0123456789";
	var isChar=true;
	var Char;

	for (n = 0; n < sText.length && isChar == true; n++) 
	{
		Char = sText.charAt(n); 
		if (validChars.indexOf(Char) == -1) 
			isChar = false;
	}

	return isChar;
}

function isFloatNumber (sText)
{
	var validChars = "0123456789.,";
	var isChar=true;
	var hasDight=false;
	var Char;

	for (n = 0; n < sText.length && isChar == true; n++) 
	{
		Char = sText.charAt(n); 
		if (validChars.indexOf(Char) == -1)
			return false;
		if (Char == ".")
		{
			if (hasDight == true)
				return false;
			else
				hasDight=true;
		}
	}

	return isChar;
}


function isDate(dateStr) {
	var datePat = /^(\d{4})(\/|-)(\d{1,2})(\/|-)(\d{1,2})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (matchArray == null) {
		//alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
		return false;
	}
	
	month = matchArray[3]; // p@rse date into variables
	day = matchArray[5];
	year = matchArray[1];
	
	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		return false;
	}
	
	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn`t have 31 days!")
		return false;
	}
	
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			//alert("February " + year + " doesn't have " + day + " days!");
			return false;
		}
	}
	return true; // date is valid
}

function validateURL(txtURL)
{
	var j = new RegExp();
	j.compile("^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+");
	if (!j.test(trim(txtURL)))
		return false;
	else
		return true;
}