var whitespace = " \t\n\r";
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;
}
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}
function ForceNumber(objField, FieldName)
{
	var strField = new String(objField.value);
	
	if (isWhitespace(strField)) return true;

	var i = 0;

	for (i = 0; i < strField.length; i++)
		if ((strField.charAt(i) < '0' || strField.charAt(i) > '9') && strField.charAt(i) != '(' && strField.charAt(i) != ')' && strField.charAt(i) != '-' && strField.charAt(i) != ',' && strField.charAt(i) != '+' ) {
			alert(FieldName + " must be a valid numeric entry.\nPlease do not use symbols, alphabets or whitespaces.\n\n(Commas ',', Plus '+', Hyphen '-' and braces '()' are also allowed)");
			objField.focus();
			return false;
		}

	return true;
}
function isEmail(str) {
  // are regular expressions supported?
  temp = str.split('@');
  if(temp.length > 2) return false;
  var supported = 0;
  if (window.RegExp) {
   var tempStr = "a";
   var tempReg = new RegExp(tempStr);
   if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0) ;

  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function IsTime(strTime)
{
	var strTestTime = new String(strTime);
	strTestTime.toUpperCase();

	var bolTime = false;

	if (strTestTime.indexOf("PM",1) != -1 || strTestTime.indexOf("AM",1))
		bolTime = true;

	if (bolTime && strTestTime.indexOf(":",0) == 0)
		bolTime = false;

	var nColonPlace = strTestTime.indexOf(":",1);
	if (bolTime && ((parseInt(nColonPlace) + 5) < (strTestTime.length - 1) || (parseInt(nColonPlace) + 4) > (strTestTime.length - 1)))
		bolTime = false;


	return bolTime;
}

function names()
{
	f = document.forms[0];
	var w = window.open("");
	for (i=0;i<f.elements.length;i++)
	{
		w.window.document.write(f.elements[i].name + "\n");
	}
	w.document.close();
}