/////////////////////////////////////////////////////////////
//// MAIN FUNCTION 
////////////////////////////////////////////////////////////
function validateEmail(addr) {

	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';

	for (i=0; i<invalidChars.length; i++) {
	   if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
		  return false;
	   }
	}

	for (i=0; i<addr.length; i++) {
	   if (addr.charCodeAt(i)>127) {
		  return false;
	   }
	}


	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
	   return false;
	}
	if (atPos == 0) {
	   return false;
	}

	if (addr.indexOf('@', atPos + 1) > - 1) {
		return false;
	}

	if (addr.indexOf('.', atPos) == -1) {
	   return false;
	}

	if (addr.indexOf('@.',0) != -1) {
	   return false;
	}

	if (addr.indexOf('.@',0) != -1){
	   return false;
	}
	if (addr.indexOf('..',0) != -1) {
	   return false;
	}

	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
	   return false;
	}
return true;
}
/////////////////////////////////////////////////////////////////////
/// MAIN FUNCTION
/////////////////////////////////////////////////////////////////////
//-------------------------------------------------------------------
// isInteger(value)
//   Returns true if value contains all digits
//-------------------------------------------------------------------
function isInteger(val){
	if (isBlank(val)){return false;}
	if (isZero(val)){return false;}
	for(var i=0;i<val.length;i++){
			if(!isDigit(val.charAt(i))){return false;}
	}
	return true;
}
//-------------------------------------------------------------------
// Trim functions
//   Returns string with whitespace trimmed
//-------------------------------------------------------------------
function LTrim(str){
	if (str==null){return null;}
	for(var i=0;str.charAt(i)==" ";i++);
	return str.substring(i,str.length);
}

function RTrim(str){
	if (str==null){return null;}
	for(var i=str.length-1;str.charAt(i)==" ";i--);
	return str.substring(0,i+1);
}
function Trim(str){return LTrim(RTrim(str));}
function LTrimAll(str) {
	if (str==null){return str;}
	for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
	return str.substring(i,str.length);
}
function RTrimAll(str) {
	if (str==null){return str;}
	for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
	return str.substring(0,i+1);
}
function TrimAll(str) {
	return LTrimAll(RTrimAll(str));
}
//-------------------------------------------------------------------
// isNull(value)
//   Returns true if value is null
//-------------------------------------------------------------------
function isNull(val){return(val==null);}

//-------------------------------------------------------------------
// isBlank(value)
//   Returns true if value only contains spaces
//-------------------------------------------------------------------
function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
	}


//-------------------------------------------------------------------
// isInteger(value)
//   Returns true if value contains all digits
//-------------------------------------------------------------------
function isZero(val){
	if (val == null){return false;}
	if (val == '0')
	{
		return true;
	}
	return false;
}
//-------------------------------------------------------------------
// isNumeric(value)
//   Returns true if value contains a positive float value
//-------------------------------------------------------------------
function isNumeric(val){return(parseFloat(val,10)==(val*1));}

//-------------------------------------------------------------------
// isDigit(value)
//   Returns true if value is a 1-character digit
//-------------------------------------------------------------------
function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}


