// whitespace characters
var whitespace = " \t\n\r";
function isEmpty(sval)  {
    str = sval;
    for (i = 0; i < str.length; i++) {
        chr = str.substring(i, i + 1);
        if (chr != ' ') {
           return false;
        }
    }
    return true;
}
function isWhitespace(s) {
  var i;
    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++)    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}
// trim leading and trailing spaces
function trim(s) {
	for (var i = 0; i < s.length; i++)    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);        
		if (whitespace.indexOf(c) == -1) {
		    s = s.substring(i,s.length);
			break;
		}
    }
	// check for trailing spaces etc
    for (var i = s.length -1; i > -1; i--)    {   
        var c = s.charAt(i); 
		if (whitespace.indexOf(c) == -1) {
     		s = s.substring(0,i+1);
			break;
		}
    }	
   return s;
}
function strip_whitepace(s) {
   var l_result=''; 
	for (var i = 0; i < s.length; i++)    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);        
		if (whitespace.indexOf(c) == -1) {
		    l_result += c;
		}
    }
	return (l_result);
}
function isNumeric (sValue,refstring) {
   // trim input a7 compare to ref string
   inStr = trim(sValue);
   inLen = inStr.length;
   if(inLen==0) return (false);
   
   for (count=0; count <  inLen; count++)  {
       var TempChar = inStr.substring (count, count+1)
        if (refstring.indexOf (TempChar, 0)==-1)        
             return false;
   }
   return (true);
}
// email
function isEmail (s) {   
    // is s whitespace?
    if (isWhitespace(s)) return false;
	s = strip_whitepace(s);
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;
    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))  {
	       i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))   {
	    i++
    }
    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
