//=============== FUNÇÕES DE VALIDAÇÃO DURANTE A DIGITAÇÃO ================================================

/*----------------------------------------------------------------------------------------------------
Verifica se o parâmetro passado é numérico
----------------------------------------------------------------------------------------------------*/
function isDigit( chDado )
{
	return ( "0123456789".indexOf(chDado) != -1 );
}

/*----------------------------------------------------------------------------------------------------
Não deixa o cara digitar nada além de números
----------------------------------------------------------------------------------------------------*/
function fnNumerico(tecla)
{
   if ((tecla > 0 && tecla < 48) || tecla > 57) event.returnValue = false;
}

/*----------------------------------------------------------------------------------------------------
Não deixa o cara digitar nada além de números, e formata o campo como Valor Monetário
----------------------------------------------------------------------------------------------------*/
function fnValor(fld, milSep, decSep, e, tamMax) {
   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 > tamMax) return false;
   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;
}

/*----------------------------------------------------------------------------------------------------
Não deixa o cara digitar nada além de números, e formata o campo como CEP
----------------------------------------------------------------------------------------------------*/
function fnCEP(fld, e) {
   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;
   if (len < 9) {
      for(i = 0; i <= len; i++)
      if (fld.value.charAt(i) != "-") break;
      aux = '';
      for(i = 0; i < len; i++)
      //pega o conteúdo do campo e retira os caracteres
      if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
      //acrescenta ao que havia antes, o que foi digitado
      aux += key;
      len = aux.length;
      if (len >= 0 && len <= 5) fld.value = aux;
      if (len == 6) fld.value = aux.substring(0, 5) + "-" +	key;
      //if (len >= 7) fld.value = aux.substring(0, 5) + "-" +	aux.substring(7, aux.length);
		if (len >= 7) {
		   aux2 = aux;
		   fld.value = '';
		   fld.value += aux.substring(0,5);
		   fld.value += "-" + aux.substring(5, len-1) + key;
		}
   }
   return false;
}