
////////////////////////////////////////////////////////////////////
//
function isEmpty(str) {
  return str.match(/^\s*$/) != null;
}

////////////////////////////////////////////////////////////////////
//
function isEmptyIter(val, index) {
	
	if (typeof($F(val)) != 'string') return false;
	return $F(val).match(/^\s*$/);
}

////////////////////////////////////////////////////////////////////
//
function isAlpha(str) {
  return str.match(/^[a-zA-Z]+$/) != null;
}


////////////////////////////////////////////////////////////////////
//
function isAlphaNum(str) {
  return str.match(/^\w+$/) != null;
}


////////////////////////////////////////////////////////////////////
//
function isEmail(str) {
  // pattern from bugzilla editparams.cgi
  return str.match(/^[\w\.\+\-=]+@[\w\.\-]+\.[\w\-]+$/) != null;
}

////////////////////////////////////////////////////////////////////
//
function isNum(str) {
  return str.match(/^\d+$/) != null;
}

////////////////////////////////////////////////////////////////////
// money format: 1,234,567.00 or 1234567.00 or 123456
function isCurr(str) {
  return str.match(/^(\d{1,3}(\,\d{3})*|\d+)(\.\d{2})?$/) != null;
}


////////////////////////////////////////////////////////////////////
// ex: OnKeyPress="return(currencyFormat(this, ',', '.', 12, event))"
function currencyFormat(fld, milSep, decSep, TamMax, e)
{
   valor_campo = eval(fld);
   valor_campo = valor_campo.value.length;
   max_campo = eval(TamMax);

   if (valor_campo < max_campo)
   {
      var sep = 0;
      var key = '';
      var i = j = 0;
      var len = len2 = 0;
      var strCheck = '0123456789';
      var aux = aux2 = '';
      var whichCode = (window.Event) ? e.which : e.keyCode;
      if (whichCode == 13)
         return true;  // Enter
      key = String.fromCharCode(whichCode);  // Get key value from key code
      if (strCheck.indexOf(key) == -1)
         return false;  // Not a valid key
      len = fld.value.length;
      for(i = 0; i < len; i++)
         if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep))
            break;
      aux = '';
      for(; i < len; i++)
         if (strCheck.indexOf(fld.value.charAt(i))!=-1)
            aux += fld.value.charAt(i);
      aux += key;
      len = aux.length;
      if (len == 0)
         fld.value = '';
      if (len == 1)
         fld.value = '0'+ decSep + '0' + aux;
      if (len == 2)
         fld.value = '0'+ decSep + aux;
      if (len > 2)
      {
         aux2 = '';
         for (j = 0, i = len - 3; i >= 0; i--)
         {
            if (j == 3)
            {
               aux2 += milSep;
               j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
         }
         fld.value = '';
         len2 = aux2.length;
         for (i = len2 - 1; i >= 0; i--)
            fld.value += aux2.charAt(i);
         fld.value += decSep + aux.substr(len - 2, len);
      }
      return false;
   }
   else
   {
      return false;
   }
}
