var whitespace = " \t\n\r";	

function isNotNull(aFieldValue) {
	var foundChar= false;
	if(aFieldValue.length != 0)
	{
		for (var i=1; i<=aFieldValue.length && foundChar==false;i++)
		{
			if (aFieldValue.substr(i-1,1) != " ")
			{
				foundChar=true;
			}
		}
		return(foundChar);
	}
	else
		return false;
}

	function isValidEmail (emailStr) {
		return validateEmail(emailStr);
	}

	function validateEmail (emailStr) {

		var emailPat=/^(.+)@(.+)$/


		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"

	
		var validChars="\[^\\s" + specialChars + "\]"


		var quotedUser="(\"[^\"]*\")"


		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/


		var atom=validChars + '+'


		var word="(" + atom + "|" + quotedUser + ")"

		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")

		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {
		 
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		
		if (user.match(userPat)==null) {
		
			return false
		}

		
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
				
				return false
				}
			}
			return true
		}

	
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			
			return false
		}

	
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2) {
		 
		   return false
		}
		if(domArr[domArr.length-1].length>3){
		   if(!((domArr[domArr.length-1].toLowerCase()=="aero")||(domArr[domArr.length-1].toLowerCase()=="coop")||(domArr[domArr.length-1].toLowerCase()=="info")||(domArr[domArr.length-1].toLowerCase()=="museum")||(domArr[domArr.length-1].toLowerCase()=="name"))){
		       return false;
		   }
		}

		
		if (len<2) {
		 
		   return false
		}

		
		return true;
	}


function trim(strText) {
	if (strText==null){
		strText = "";
	}
	while (strText.substring(0,1) == ' ')
		strText	= strText.substring(1, strText.length);
	while (strText.substring(strText.length-1,strText.length) == ' ')
		strText	= strText.substring(0, strText.length-1);
	return strText;
}

function leftTrim(str) {
	var i=0;
	len = str.length;
	for(i=0;i<len;i++)
	{
		if(whitespace.indexOf(str.charAt(i)) == -1) break;
	}
	str = str.substr(i);
	return str;
}

function rightTrim(str) {
	var i = 0;
	len = str.length;
	for(i=len-1;i >= 0;i--)
	{
		if(whitespace.indexOf(str.charAt(i)) == -1) break;
	}
	if( i != len-1 ) str = str.substr(i);
	return str;
}	

function isAlpha(aFieldValue) {
	var fieldValueString = aFieldValue + "";
	for (var i = 0; i < fieldValueString.length; i++)
	{
		if(fieldValueString.charCodeAt(i) == 60 || fieldValueString.charCodeAt(i) == 62)
		{
			return false;
		}
	}
	return true;
}

function isInteger(aFieldValue) {
	var fieldValueString = aFieldValue + "";
	for (var i = 0; i < fieldValueString.length; i++)
	{
		if (fieldValueString.charAt(i) < "0" || fieldValueString.charAt(i) > "9")
		{
			return false;
		}
	}
	return true;
}

function getRadioValue(radio)
{
	for (i= 0; i < radio.length; i++)
	{
		if (radio[i].checked == true)
			return(radio[i].value);
	}
	return("");
}

function isValidDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 
	var matchArray = dateStr.match(datePat); 
	if (matchArray == null) 
	{
		return false;
	}
	day = matchArray[3]; 
	month = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12) 
	{ 
		return false;
	}
	if (day < 1 || day > 31) 
	{
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		return false;
	}
	if (month == 2) { 
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) 
	{
		return false;
	   }
	}
	return true;
}
